@tamagui/use-element-layout 1.130.2 → 1.130.3

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.
@@ -76,7 +76,7 @@ if (import_constants.isClient) if (rAF) {
76
76
  const supportsCheckVisibility = "checkVisibility" in document.body;
77
77
  let lastFrameAt = Date.now();
78
78
  async function updateLayoutIfChanged(node, frameId) {
79
- if (supportsCheckVisibility && !node.checkVisibility() || IntersectionState.get(node) === !1) return;
79
+ if (IntersectionState.get(node) === !1 || process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility()) return;
80
80
  const onLayout = LayoutHandlers.get(node);
81
81
  if (typeof onLayout != "function") return;
82
82
  const parentNode = node.parentElement;
package/dist/cjs/index.js CHANGED
@@ -65,7 +65,7 @@ if (import_constants.isClient)
65
65
  const supportsCheckVisibility = "checkVisibility" in document.body;
66
66
  let lastFrameAt = Date.now();
67
67
  async function updateLayoutIfChanged(node, frameId) {
68
- if (supportsCheckVisibility && !node.checkVisibility() || IntersectionState.get(node) === !1)
68
+ if (IntersectionState.get(node) === !1 || process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility())
69
69
  return;
70
70
  const onLayout = LayoutHandlers.get(node);
71
71
  if (typeof onLayout != "function") return;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["node"]
6
6
  }
@@ -64,7 +64,7 @@ if (import_constants.isClient)
64
64
  };
65
65
  var layoutOnAnimationFrame2 = layoutOnAnimationFrame, supportsCheckVisibility = "checkVisibility" in document.body, lastFrameAt = Date.now();
66
66
  async function updateLayoutIfChanged(node, frameId) {
67
- if (!(supportsCheckVisibility && !node.checkVisibility()) && IntersectionState.get(node) !== !1) {
67
+ if (IntersectionState.get(node) !== !1 && !(process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility())) {
68
68
  var onLayout = LayoutHandlers.get(node);
69
69
  if (typeof onLayout == "function") {
70
70
  var parentNode = node.parentElement;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "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",
5
- "names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "IntersectionState", "globalIntersectionObserver", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "expectedFrameTime", "numDroppedFramesUntilPause", "startGlobalIntersectionObserver", "isClient", "IntersectionObserver", "entries", "entry", "node", "target", "get", "isIntersecting", "set", "threshold", "layoutOnAnimationFrame", "now", "Date", "timeSinceLastFrame", "lastFrameAt", "frameCount", "RUN_EVERY_X_FRAMES", "hasRecentSyncWork", "updateLayoutIfChanged", "supportsCheckVisibility", "document", "body", "frameId", "checkVisibility", "onLayout", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "event", "getElementLayoutEvent", "process", "env", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "timeStamp", "measureLayout", "relativeTo", "callback", "relativeNode", "HTMLElement", "nodeDim", "relativeNodeDim", "x", "y", "width", "height", "left", "top", "getElementLayoutEventAsync", "measureLayoutAsync", "Error", "a", "b", "useElementLayout", "ref", "ensureWebElement", "current", "host", "useIsomorphicLayoutEffect", "add", "observe", "delete", "unobserve", "res", "nodeType", "io", "disconnect", "boundingClientRect", "getRect", "rect", "offsetWidth", "offsetHeight"]
4
+ "mappings": "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",
5
+ "names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "IntersectionState", "globalIntersectionObserver", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "expectedFrameTime", "numDroppedFramesUntilPause", "startGlobalIntersectionObserver", "isClient", "IntersectionObserver", "entries", "entry", "node", "target", "get", "isIntersecting", "set", "threshold", "layoutOnAnimationFrame", "now", "Date", "timeSinceLastFrame", "lastFrameAt", "frameCount", "RUN_EVERY_X_FRAMES", "hasRecentSyncWork", "updateLayoutIfChanged", "supportsCheckVisibility", "document", "body", "frameId", "process", "env", "TAMAGUI_ONLAYOUT_VISIBILITY_CHECK", "checkVisibility", "onLayout", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "event", "getElementLayoutEvent", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "timeStamp", "measureLayout", "relativeTo", "callback", "relativeNode", "HTMLElement", "nodeDim", "relativeNodeDim", "x", "y", "width", "height", "left", "top", "getElementLayoutEventAsync", "measureLayoutAsync", "Error", "a", "b", "useElementLayout", "ref", "ensureWebElement", "current", "host", "useIsomorphicLayoutEffect", "add", "observe", "delete", "unobserve", "res", "nodeType", "io", "disconnect", "boundingClientRect", "getRect", "rect", "offsetWidth", "offsetHeight"]
6
6
  }
package/dist/esm/index.js CHANGED
@@ -40,7 +40,7 @@ if (isClient)
40
40
  const supportsCheckVisibility = "checkVisibility" in document.body;
41
41
  let lastFrameAt = Date.now();
42
42
  async function updateLayoutIfChanged(node, frameId) {
43
- if (supportsCheckVisibility && !node.checkVisibility() || IntersectionState.get(node) === !1)
43
+ if (IntersectionState.get(node) === !1 || process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility())
44
44
  return;
45
45
  const onLayout = LayoutHandlers.get(node);
46
46
  if (typeof onLayout != "function") return;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,SAAS,UAAU,iCAAiC;AACpD,SAAS,sBAAsB;AAG/B,MAAM,iBAAiB,oBAAI,QAA+B,GACpD,QAAQ,oBAAI,IAAiB,GAC7B,oBAAoB,oBAAI,QAA8B;AAG5D,IAAI,6BAA0D,MAQ1D,WAAsC;AAEnC,SAAS,oBAAoB,OAAwC;AAC1E,aAAW;AACb;AAmBA,MAAM,gBAAgB,oBAAI,QAA8B,GAClD,kBAAkB,oBAAI,QAA8B,GACpD,iBAAiB,oBAAI,QAA6B,GAElD,MAAM,OAAO,SAAW,MAAc,OAAO,wBAAwB;AAG3E,IAAI,eAAe;AACnB,MAAM,gBAAgB,oBAAI,IAA2B;AAE9C,SAAS,SAAe;AAC7B,EAAI,iBACF,eAAe,IACX,kBACF,cAAc,QAAQ,CAAC,OAAO,GAAG,CAAC,GAClC,cAAc,MAAM;AAG1B;AAEA,MAAM,oBAAoB,OACpB,6BAA6B;AAEnC,SAAS,kCAAkC;AACzC,EAAI,CAAC,YAAY,+BAEjB,6BAA6B,IAAI;AAAA,IAC/B,CAAC,YAAY;AACX,cAAQ,QAAQ,CAAC,UAAU;AACzB,cAAM,OAAO,MAAM;AACnB,QAAI,kBAAkB,IAAI,IAAI,MAAM,MAAM,kBACxC,kBAAkB,IAAI,MAAM,MAAM,cAAc;AAAA,MAEpD,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF;AACF;AAEA,IAAI;AACF,MAAI,KAAK;AA6EP,QAAS,yBAAT,WAAkC;AAChC,YAAM,MAAM,KAAK,IAAI,GACf,qBAAqB,MAAM;AAKjC,UAJA,cAAc,KAEd,cAEI,aAAa,uBAAuB,GAAG;AACzC,qBAAa,GACb,IAAK,sBAAsB;AAC3B;AAAA,MACF;AAEA,MAAI,aAAa,UAIb,qBAAqB,oBAAoB,8BAGzC,MAAM,QAAQ,CAAC,SAAS;AACtB,8BAAsB,MAAM,WAAW;AAAA,MACzC,CAAC,IAIL,IAAK,sBAAsB;AAAA,IAC7B;AAvGA,UAAM,0BAA0B,qBAAqB,SAAS;AAE9D,QAAI,cAAc,KAAK,IAAI;AAE3B,mBAAe,sBAAsB,MAAmB,SAAiB;AAKvE,UAJI,2BAA2B,CAAE,KAAa,gBAAgB,KAI1D,kBAAkB,IAAI,IAAI,MAAM;AAElC;AAGF,YAAM,WAAW,eAAe,IAAI,IAAI;AACxC,UAAI,OAAO,YAAa,WAAY;AAEpC,YAAM,aAAa,KAAK;AACxB,UAAI,CAAC,WAAY;AAEjB,UAAI,UACA;AAEJ,UAAI,aAAa,SAAS;AACxB,cAAM,CAAC,IAAI,EAAE,IAAI,MAAM,QAAQ,IAAI;AAAA,UACjC,2BAA2B,IAAI;AAAA,UAC/B,2BAA2B,UAAU;AAAA,QACvC,CAAC;AAOD,YALI,OAAO,MAAS,OAAO,MAKvB,YAAY;AACd;AAGF,mBAAW,IACX,aAAa;AAAA,MACf;AACE,mBAAW,KAAK,sBAAsB,GACtC,aAAa,WAAW,sBAAsB;AAGhD,YAAM,aAAa,cAAc,IAAI,IAAI,GACnC,mBAAmB,cAAc,IAAI,UAAU;AAErD,UACE,CAAC;AAAA;AAAA,MAGA,CAAC,eAAe,YAAY,QAAQ;AAAA,OAElC,CAAC,oBAAoB,CAAC,eAAe,kBAAkB,UAAU,IACpE;AACA,sBAAc,IAAI,MAAM,QAAQ,GAChC,gBAAgB,IAAI,YAAY,UAAU;AAE1C,cAAM,QAAQ,sBAAsB,UAAU,UAAU;AAExD,QAAI,eACF,cAAc,IAAI,MAAM,MAAM,SAAS,KAAK,CAAC,IAE7C,SAAS,KAAK;AAAA,MAElB;AAAA,IACF;AAGA,QAAK,sBAAsB;AAG3B,QAAI,aAAa;AACjB,UAAM,qBAAqB;AAAA,EA8B7B;AACE,IAAI,QAAQ,IAAI,aAAa,iBAC3B,QAAQ;AAAA,MACN;AAAA,IACF;AAKC,MAAM,wBAAwB,CACnC,UACA,gBAEO;AAAA,EACL,aAAa;AAAA,IACX,QAAQ,sBAAsB,UAAU,UAAU;AAAA,IAClD,QAAQ;AAAA,EACV;AAAA,EACA,WAAW,KAAK,IAAI;AACtB,IAGW,gBAAgB,CAC3B,MACA,YACA,aAQS;AACT,QAAM,eAAe,cAAc,MAAM;AACzC,MAAI,wBAAwB,aAAa;AACvC,UAAM,UAAU,KAAK,sBAAsB,GACrC,kBAAkB,aAAa,sBAAsB;AAE3D,QAAI,mBAAmB,SAAS;AAC9B,YAAM,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,QACzC;AAAA,QACA;AAAA,MACF;AACA,eAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG;AAAA,IACzC;AAAA,EACF;AACF,GAEa,6BAA6B,OACxC,WACyB;AACzB,QAAM,SAAS,MAAM,mBAAmB,MAAM;AAC9C,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,cAAI;AAEtB,SAAO;AAAA,IACL,aAAa;AAAA,MACX;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,KAAK,IAAI;AAAA,EACtB;AACF,GAEa,qBAAqB,OAChC,MACA,eACgC;AAChC,QAAM,eAAe,cAAc,MAAM;AACzC,MAAI,wBAAwB,aAAa;AACvC,UAAM,CAAC,SAAS,eAAe,IAAI,MAAM,QAAQ,IAAI;AAAA,MACnD,2BAA2B,IAAI;AAAA,MAC/B,2BAA2B,YAAY;AAAA,IACzC,CAAC;AAED,QAAI,mBAAmB,SAAS;AAC9B,YAAM,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,QACzC;AAAA,QACA;AAAA,MACF;AACA,aAAO,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,IAC1C;AAAA,EACF;AACA,SAAO;AACT,GAEM,wBAAwB,CAAC,GAAoB,MAAuB;AACxE,QAAM,EAAE,QAAQ,MAAM,KAAK,MAAM,IAAI,GAC/B,IAAI,OAAO,EAAE,MACb,IAAI,MAAM,EAAE;AAClB,SAAO,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAC1C;AAEO,SAAS,iBACd,KACA,UACM;AAEN,QAAM,OAAO,iBAAiB,IAAI,SAAS,IAAI;AAC/C,EAAI,QAAQ,YACV,eAAe,IAAI,MAAM,QAAQ,GAGnC,0BAA0B,MAAM;AAC9B,QAAI,CAAC,SAAU;AACf,UAAMA,QAAO,IAAI,SAAS;AAC1B,QAAI,CAACA,MAAM;AAEX,mBAAe,IAAIA,OAAM,QAAQ,GACjC,MAAM,IAAIA,KAAI,GAGd,gCAAgC,GAC5B,+BACF,2BAA2B,QAAQA,KAAI,GAEvC,kBAAkB,IAAIA,OAAM,EAAI;AAIlC,UAAM,aAAaA,MAAK;AACxB,WAAI,cACF;AAAA,MACE;AAAA,QACEA,MAAK,sBAAsB;AAAA,QAC3B,WAAW,sBAAsB;AAAA,MACnC;AAAA,IACF,GAGK,MAAM;AACX,YAAM,OAAOA,KAAI,GACjB,eAAe,OAAOA,KAAI,GAC1B,cAAc,OAAOA,KAAI,GACzB,eAAe,OAAOA,KAAI,GAC1B,kBAAkB,OAAOA,KAAI,GAGzB,8BACF,2BAA2B,UAAUA,KAAI;AAAA,IAE7C;AAAA,EACF,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACtB;AAEA,SAAS,iBAAoB,GAA+B;AAC1D,MAAI,SAAO,cAAgB;AAG3B,WAAO,aAAa,cAAc,IAAI;AACxC;AAEA,MAAM,6BAA6B,CACjC,SAEO,IAAI,QAAiC,CAAC,QAAQ;AACnD,MAAI,CAAC,QAAQ,KAAK,aAAa,EAAG,QAAO,IAAI,EAAK;AAElD,QAAM,KAAK,IAAI;AAAA,IACb,CAAC,aACC,GAAG,WAAW,GACP,IAAI,QAAQ,CAAC,EAAE,kBAAkB;AAAA,IAE1C;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF;AACA,KAAG,QAAQ,IAAI;AACjB,CAAC,GAGG,wBAAwB,CAAC,SAAkD;AAC/E,MAAI,GAAC,QAAQ,KAAK,aAAa;AAC/B,WAAO,KAAK,wBAAwB;AACtC,GAEa,UAAU,CAAC,SAA+C;AACrE,QAAM,OAAO,sBAAsB,IAAI;AACvC,MAAI,CAAC,KAAM;AACX,QAAM,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI;AAC5B,SAAO,EAAE,GAAG,GAAG,OAAO,KAAK,aAAa,QAAQ,KAAK,cAAc,KAAK,KAAK;AAC/E;",
4
+ "mappings": "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",
5
5
  "names": ["node"]
6
6
  }
@@ -44,7 +44,7 @@ if (isClient) if (rAF) {
44
44
  const supportsCheckVisibility = "checkVisibility" in document.body;
45
45
  let lastFrameAt = Date.now();
46
46
  async function updateLayoutIfChanged(node, frameId) {
47
- if (supportsCheckVisibility && !node.checkVisibility() || IntersectionState.get(node) === !1) return;
47
+ if (IntersectionState.get(node) === !1 || process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility()) return;
48
48
  const onLayout = LayoutHandlers.get(node);
49
49
  if (typeof onLayout != "function") return;
50
50
  const parentNode = node.parentElement;
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","IntersectionState","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","startGlobalIntersectionObserver","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","RUN_EVERY_X_FRAMES","updateLayoutIfChanged","supportsCheckVisibility","document","body","frameId","checkVisibility","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","process","env","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","timeStamp","measureLayout","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","x","y","width","height","left","top","getElementLayoutEventAsync","measureLayoutAsync","Error","a","b","useElementLayout","ref","ensureWebElement","current","host","node2","add","observe","delete","unobserve","res","nodeType","io","disconnect","boundingClientRect","getRect","rect","offsetWidth","offsetHeight"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","IntersectionState","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","startGlobalIntersectionObserver","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","RUN_EVERY_X_FRAMES","updateLayoutIfChanged","supportsCheckVisibility","document","body","frameId","process","env","TAMAGUI_ONLAYOUT_VISIBILITY_CHECK","checkVisibility","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","timeStamp","measureLayout","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","x","y","width","height","left","top","getElementLayoutEventAsync","measureLayoutAsync","Error","a","b","useElementLayout","ref","ensureWebElement","current","host","node2","add","observe","delete","unobserve","res","nodeType","io","disconnect","boundingClientRect","getRect","rect","offsetWidth","offsetHeight"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,yBAAA,QAAiC;AACpD,SAASC,cAAA,QAAsB;AAG/B,MAAMC,cAAA,GAAiB,mBAAIC,OAAA,CAA+B;EACpDC,KAAA,GAAQ,mBAAIC,GAAA,CAAiB;EAC7BC,iBAAA,GAAoB,mBAAIH,OAAA,CAA8B;AAG5D,IAAII,0BAAA,GAA0D;EAQ1DC,QAAA,GAAsC;AAEnC,SAASC,oBAAoBC,KAAA,EAAwC;EAC1EF,QAAA,GAAWE,KAAA;AACb;AAmBA,MAAMC,aAAA,GAAgB,mBAAIR,OAAA,CAA8B;EAClDS,eAAA,GAAkB,mBAAIT,OAAA,CAA8B;EACpDU,cAAA,GAAiB,mBAAIV,OAAA,CAA6B;EAElDW,GAAA,GAAM,OAAOC,MAAA,GAAW,MAAcA,MAAA,CAAOC,qBAAA,GAAwB;AAG3E,IAAIC,YAAA,GAAe;AACnB,MAAMC,aAAA,GAAgB,mBAAIC,GAAA,CAA2B;AAE9C,SAASC,OAAA,EAAe;EACzBH,YAAA,KACFA,YAAA,GAAe,IACXC,aAAA,KACFA,aAAA,CAAcG,OAAA,CAASC,EAAA,IAAOA,EAAA,CAAG,CAAC,GAClCJ,aAAA,CAAcK,KAAA,CAAM;AAG1B;AAEA,MAAMC,iBAAA,GAAoB;EACpBC,0BAAA,GAA6B;AAEnC,SAASC,gCAAA,EAAkC;EACrC,CAAC3B,QAAA,IAAYQ,0BAAA,KAEjBA,0BAAA,GAA6B,IAAIoB,oBAAA,CAC9BC,OAAA,IAAY;IACXA,OAAA,CAAQP,OAAA,CAASQ,KAAA,IAAU;MACzB,MAAMC,IAAA,GAAOD,KAAA,CAAME,MAAA;MACfzB,iBAAA,CAAkB0B,GAAA,CAAIF,IAAI,MAAMD,KAAA,CAAMI,cAAA,IACxC3B,iBAAA,CAAkB4B,GAAA,CAAIJ,IAAA,EAAMD,KAAA,CAAMI,cAAc;IAEpD,CAAC;EACH,GACA;IACEE,SAAA,EAAW;EACb,CACF;AACF;AAEA,IAAIpC,QAAA,EACF,IAAIe,GAAA,EAAK;EAgFP,IAASsB,sBAAA,GAAT,SAAAA,CAAA,EAAkC;IAChC,MAAMC,GAAA,GAAMC,IAAA,CAAKD,GAAA,CAAI;MACfE,kBAAA,GAAqBF,GAAA,GAAMG,WAAA;IAKjC,IAJAA,WAAA,GAAcH,GAAA,EAEdI,UAAA,IAEIA,UAAA,GAAaC,kBAAA,KAAuB,GAAG;MACzCD,UAAA,GAAa,GACb3B,GAAA,CAAKsB,sBAAsB;MAC3B;IACF;IAEI5B,QAAA,KAAa,UAIb+B,kBAAA,GAAqBf,iBAAA,GAAoBC,0BAAA,IAGzCrB,KAAA,CAAMiB,OAAA,CAASS,IAAA,IAAS;MACtBa,qBAAA,CAAsBb,IAAA,EAAMU,WAAW;IACzC,CAAC,IAIL1B,GAAA,CAAKsB,sBAAsB;EAC7B;EA1GA,MAAMQ,uBAAA,GAA0B,qBAAqBC,QAAA,CAASC,IAAA;EAE9D,IAAIN,WAAA,GAAcF,IAAA,CAAKD,GAAA,CAAI;EAE3B,eAAeM,sBAAsBb,IAAA,EAAmBiB,OAAA,EAAiB;IAMvE,IALIzC,iBAAA,CAAkB0B,GAAA,CAAIF,IAAI,MAAM,MAKhCkB,OAAA,CAAQC,GAAA,CAAIC,iCAAA,KAAsC,OAChDN,uBAAA,IAA2B,CAAEd,IAAA,CAAaqB,eAAA,CAAgB,GAE5D;IAIJ,MAAMC,QAAA,GAAWlD,cAAA,CAAe8B,GAAA,CAAIF,IAAI;IACxC,IAAI,OAAOsB,QAAA,IAAa,YAAY;IAEpC,MAAMC,UAAA,GAAavB,IAAA,CAAKwB,aAAA;IACxB,IAAI,CAACD,UAAA,EAAY;IAEjB,IAAIE,QAAA,EACAC,UAAA;IAEJ,IAAIhD,QAAA,KAAa,SAAS;MACxB,MAAM,CAACiD,EAAA,EAAIC,EAAE,IAAI,MAAMC,OAAA,CAAQC,GAAA,CAAI,CACjCC,0BAAA,CAA2B/B,IAAI,GAC/B+B,0BAAA,CAA2BR,UAAU,EACtC;MAOD,IALII,EAAA,KAAO,MAASC,EAAA,KAAO,MAKvBX,OAAA,KAAYP,WAAA,EACd;MAGFe,QAAA,GAAWE,EAAA,EACXD,UAAA,GAAaE,EAAA;IACf,OACEH,QAAA,GAAWzB,IAAA,CAAKgC,qBAAA,CAAsB,GACtCN,UAAA,GAAaH,UAAA,CAAWS,qBAAA,CAAsB;IAGhD,MAAMC,UAAA,GAAapD,aAAA,CAAcqB,GAAA,CAAIF,IAAI;MACnCkC,gBAAA,GAAmBrD,aAAA,CAAcqB,GAAA,CAAIqB,UAAU;IAErD,IACE,CAACU,UAAA;IAAA;IAAA;IAGA,CAAC9D,cAAA,CAAe8D,UAAA,EAAYR,QAAQ;IAAA;IAElC,CAACS,gBAAA,IAAoB,CAAC/D,cAAA,CAAe+D,gBAAA,EAAkBR,UAAU,IACpE;MACA7C,aAAA,CAAcuB,GAAA,CAAIJ,IAAA,EAAMyB,QAAQ,GAChC3C,eAAA,CAAgBsB,GAAA,CAAImB,UAAA,EAAYG,UAAU;MAE1C,MAAMS,KAAA,GAAQC,qBAAA,CAAsBX,QAAA,EAAUC,UAAU;MAEpDvC,YAAA,GACFC,aAAA,CAAcgB,GAAA,CAAIJ,IAAA,EAAM,MAAMsB,QAAA,CAASa,KAAK,CAAC,IAE7Cb,QAAA,CAASa,KAAK;IAElB;EACF;EAGAnD,GAAA,CAAKsB,sBAAsB;EAG3B,IAAIK,UAAA,GAAa;EACjB,MAAMC,kBAAA,GAAqB;AA8B7B,OACMM,OAAA,CAAQC,GAAA,CAAIkB,QAAA,KAAa,iBAC3BC,OAAA,CAAQC,IAAA,CACN,2EACF;AAKC,MAAMH,qBAAA,GAAwBA,CACnCX,QAAA,EACAC,UAAA,MAEO;IACLc,WAAA,EAAa;MACXC,MAAA,EAAQC,qBAAA,CAAsBjB,QAAA,EAAUC,UAAU;MAClDzB,MAAA,EAAQwB;IACV;IACAkB,SAAA,EAAWnC,IAAA,CAAKD,GAAA,CAAI;EACtB;EAGWqC,aAAA,GAAgBA,CAC3B5C,IAAA,EACA6C,UAAA,EACAC,QAAA,KAQS;IACT,MAAMC,YAAA,GAAeF,UAAA,IAAc7C,IAAA,EAAMwB,aAAA;IACzC,IAAIuB,YAAA,YAAwBC,WAAA,EAAa;MACvC,MAAMC,OAAA,GAAUjD,IAAA,CAAKgC,qBAAA,CAAsB;QACrCkB,eAAA,GAAkBH,YAAA,CAAaf,qBAAA,CAAsB;MAE3D,IAAIkB,eAAA,IAAmBD,OAAA,EAAS;QAC9B,MAAM;UAAEE,CAAA;UAAGC,CAAA;UAAGC,KAAA;UAAOC,MAAA;UAAQC,IAAA;UAAMC;QAAI,IAAId,qBAAA,CACzCO,OAAA,EACAC,eACF;QACAJ,QAAA,CAASK,CAAA,EAAGC,CAAA,EAAGC,KAAA,EAAOC,MAAA,EAAQC,IAAA,EAAMC,GAAG;MACzC;IACF;EACF;EAEaC,0BAAA,GAA6B,MACxCxD,MAAA,IACyB;IACzB,MAAMwC,MAAA,GAAS,MAAMiB,kBAAA,CAAmBzD,MAAM;IAC9C,IAAI,CAACwC,MAAA,EACH,MAAM,IAAIkB,KAAA,CAAM,cAAI;IAEtB,OAAO;MACLnB,WAAA,EAAa;QACXC,MAAA;QACAxC;MACF;MACA0C,SAAA,EAAWnC,IAAA,CAAKD,GAAA,CAAI;IACtB;EACF;EAEamD,kBAAA,GAAqB,MAAAA,CAChC1D,IAAA,EACA6C,UAAA,KACgC;IAChC,MAAME,YAAA,GAAeF,UAAA,IAAc7C,IAAA,EAAMwB,aAAA;IACzC,IAAIuB,YAAA,YAAwBC,WAAA,EAAa;MACvC,MAAM,CAACC,OAAA,EAASC,eAAe,IAAI,MAAMrB,OAAA,CAAQC,GAAA,CAAI,CACnDC,0BAAA,CAA2B/B,IAAI,GAC/B+B,0BAAA,CAA2BgB,YAAY,EACxC;MAED,IAAIG,eAAA,IAAmBD,OAAA,EAAS;QAC9B,MAAM;UAAEE,CAAA;UAAGC,CAAA;UAAGC,KAAA;UAAOC,MAAA;UAAQC,IAAA;UAAMC;QAAI,IAAId,qBAAA,CACzCO,OAAA,EACAC,eACF;QACA,OAAO;UAAEC,CAAA;UAAGC,CAAA;UAAGC,KAAA;UAAOC,MAAA;UAAQC,IAAA;UAAMC;QAAI;MAC1C;IACF;IACA,OAAO;EACT;EAEMd,qBAAA,GAAwBA,CAACkB,CAAA,EAAoBC,CAAA,KAAuB;IACxE,MAAM;QAAEP,MAAA;QAAQC,IAAA;QAAMC,GAAA;QAAKH;MAAM,IAAIO,CAAA;MAC/BT,CAAA,GAAII,IAAA,GAAOM,CAAA,CAAEN,IAAA;MACbH,CAAA,GAAII,GAAA,GAAMK,CAAA,CAAEL,GAAA;IAClB,OAAO;MAAEL,CAAA;MAAGC,CAAA;MAAGC,KAAA;MAAOC,MAAA;MAAQC,IAAA;MAAMC;IAAI;EAC1C;AAEO,SAASM,iBACdC,GAAA,EACAzC,QAAA,EACM;EAEN,MAAMtB,IAAA,GAAOgE,gBAAA,CAAiBD,GAAA,CAAIE,OAAA,EAASC,IAAI;EAC3ClE,IAAA,IAAQsB,QAAA,IACVlD,cAAA,CAAegC,GAAA,CAAIJ,IAAA,EAAMsB,QAAQ,GAGnCpD,yBAAA,CAA0B,MAAM;IAC9B,IAAI,CAACoD,QAAA,EAAU;IACf,MAAM6C,KAAA,GAAOJ,GAAA,CAAIE,OAAA,EAASC,IAAA;IAC1B,IAAI,CAACC,KAAA,EAAM;IAEX/F,cAAA,CAAegC,GAAA,CAAI+D,KAAA,EAAM7C,QAAQ,GACjChD,KAAA,CAAM8F,GAAA,CAAID,KAAI,GAGdvE,+BAAA,CAAgC,GAC5BnB,0BAAA,KACFA,0BAAA,CAA2B4F,OAAA,CAAQF,KAAI,GAEvC3F,iBAAA,CAAkB4B,GAAA,CAAI+D,KAAA,EAAM,EAAI;IAIlC,MAAM5C,UAAA,GAAa4C,KAAA,CAAK5C,UAAA;IACxB,OAAIA,UAAA,IACFD,QAAA,CACEc,qBAAA,CACE+B,KAAA,CAAKnC,qBAAA,CAAsB,GAC3BT,UAAA,CAAWS,qBAAA,CAAsB,CACnC,CACF,GAGK,MAAM;MACX1D,KAAA,CAAMgG,MAAA,CAAOH,KAAI,GACjB/F,cAAA,CAAekG,MAAA,CAAOH,KAAI,GAC1BtF,aAAA,CAAcyF,MAAA,CAAOH,KAAI,GACzBpF,cAAA,CAAeuF,MAAA,CAAOH,KAAI,GAC1B3F,iBAAA,CAAkB8F,MAAA,CAAOH,KAAI,GAGzB1F,0BAAA,IACFA,0BAAA,CAA2B8F,SAAA,CAAUJ,KAAI;IAE7C;EACF,GAAG,CAACJ,GAAA,EAAK,CAAC,CAACzC,QAAQ,CAAC;AACtB;AAEA,SAAS0C,iBAAoBb,CAAA,EAA+B;EAC1D,IAAI,SAAOH,WAAA,GAAgB,MAG3B,OAAOG,CAAA,YAAaH,WAAA,GAAcG,CAAA,GAAI;AACxC;AAEA,MAAMpB,0BAAA,GACJ/B,IAAA,IAEO,IAAI6B,OAAA,CAAkC2C,GAAA,IAAQ;IACnD,IAAI,CAACxE,IAAA,IAAQA,IAAA,CAAKyE,QAAA,KAAa,GAAG,OAAOD,GAAA,CAAI,EAAK;IAElD,MAAME,EAAA,GAAK,IAAI7E,oBAAA,CACZC,OAAA,KACC4E,EAAA,CAAGC,UAAA,CAAW,GACPH,GAAA,CAAI1E,OAAA,CAAQ,CAAC,EAAE8E,kBAAkB,IAE1C;MACEvE,SAAA,EAAW;IACb,CACF;IACAqE,EAAA,CAAGL,OAAA,CAAQrE,IAAI;EACjB,CAAC;EAGGgC,qBAAA,GAAyBhC,IAAA,IAAkD;IAC/E,IAAI,GAACA,IAAA,IAAQA,IAAA,CAAKyE,QAAA,KAAa,IAC/B,OAAOzE,IAAA,CAAKgC,qBAAA,GAAwB;EACtC;EAEa6C,OAAA,GAAW7E,IAAA,IAA+C;IACrE,MAAM8E,IAAA,GAAO9C,qBAAA,CAAsBhC,IAAI;IACvC,IAAI,CAAC8E,IAAA,EAAM;IACX,MAAM;MAAE3B,CAAA;MAAGC,CAAA;MAAGI,GAAA;MAAKD;IAAK,IAAIuB,IAAA;IAC5B,OAAO;MAAE3B,CAAA;MAAGC,CAAA;MAAGC,KAAA,EAAOrD,IAAA,CAAK+E,WAAA;MAAazB,MAAA,EAAQtD,IAAA,CAAKgF,YAAA;MAAcxB,GAAA;MAAKD;IAAK;EAC/E","ignoreList":[]}
@@ -51,7 +51,7 @@ if (isClient) if (rAF) {
51
51
  supportsCheckVisibility = "checkVisibility" in document.body,
52
52
  lastFrameAt = Date.now();
53
53
  async function updateLayoutIfChanged(node, frameId) {
54
- if (!(supportsCheckVisibility && !node.checkVisibility()) && IntersectionState.get(node) !== !1) {
54
+ if (IntersectionState.get(node) !== !1 && !(process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === "1" && supportsCheckVisibility && !node.checkVisibility())) {
55
55
  var onLayout = LayoutHandlers.get(node);
56
56
  if (typeof onLayout == "function") {
57
57
  var parentNode = node.parentElement;
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","IntersectionState","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","startGlobalIntersectionObserver","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","RUN_EVERY_X_FRAMES","hasRecentSyncWork","updateLayoutIfChanged","layoutOnAnimationFrame2","supportsCheckVisibility","document","body","frameId","checkVisibility","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","process","env","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","timeStamp","measureLayout","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","x","y","width","height","left","top","getElementLayoutEventAsync","measureLayoutAsync","Error","a","b","useElementLayout","ref","_ref_current","ensureWebElement","current","host","_ref_current2","node2","add","observe","delete","unobserve","res","nodeType","io","disconnect","boundingClientRect"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","IntersectionState","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","startGlobalIntersectionObserver","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","RUN_EVERY_X_FRAMES","hasRecentSyncWork","updateLayoutIfChanged","layoutOnAnimationFrame2","supportsCheckVisibility","document","body","frameId","process","env","TAMAGUI_ONLAYOUT_VISIBILITY_CHECK","checkVisibility","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","event","getElementLayoutEvent","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","timeStamp","measureLayout","relativeTo","callback","relativeNode","HTMLElement","nodeDim","relativeNodeDim","x","y","width","height","left","top","getElementLayoutEventAsync","measureLayoutAsync","Error","a","b","useElementLayout","ref","_ref_current","ensureWebElement","current","host","_ref_current2","node2","add","observe","delete","unobserve","res","nodeType","io","disconnect","boundingClientRect"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/use-element-layout",
3
- "version": "1.130.2",
3
+ "version": "1.130.3",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -31,11 +31,11 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/constants": "1.130.2",
35
- "@tamagui/is-equal-shallow": "1.130.2"
34
+ "@tamagui/constants": "1.130.3",
35
+ "@tamagui/is-equal-shallow": "1.130.3"
36
36
  },
37
37
  "devDependencies": {
38
- "@tamagui/build": "1.130.2",
38
+ "@tamagui/build": "1.130.3",
39
39
  "react": "*"
40
40
  },
41
41
  "publishConfig": {
package/src/index.ts CHANGED
@@ -86,14 +86,17 @@ if (isClient) {
86
86
  let lastFrameAt = Date.now()
87
87
 
88
88
  async function updateLayoutIfChanged(node: HTMLElement, frameId: number) {
89
- if (supportsCheckVisibility && !(node as any).checkVisibility()) {
90
- // avoid due to not visible
91
- return
92
- }
93
89
  if (IntersectionState.get(node) === false) {
94
90
  // avoid due to not intersecting
95
91
  return
96
92
  }
93
+ // triggers style recalculation in safari which is slower than not
94
+ if (process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === '1') {
95
+ if (supportsCheckVisibility && !(node as any).checkVisibility()) {
96
+ // avoid due to not visible
97
+ return
98
+ }
99
+ }
97
100
 
98
101
  const onLayout = LayoutHandlers.get(node)
99
102
  if (typeof onLayout !== 'function') return
@@ -1,5 +1,5 @@
1
1
  {
2
- "mappings": "AAEA,cAAc,iBAAiB,OAAO;KASjC,+BAA+B;CAClC;AACD;KAEI,4BAA4B,QAAQ,SAAS;AAIlD,OAAO,iBAAS,oBAAoBA,OAAO;AAI3C,YAAY,cAAc;CACxB;CACA;CACA;CACA;CACA;CACA;AACD;AAED,YAAY,cAAc;CACxB,aAAa;EACX,QAAQ;EACR;CACD;CACD;AACD;AAYD,OAAO,iBAAS;AAkJhB,OAAO,cAAM,wBACXC,UAAU,iBACVC,YAAY,oBACX;AAUH,OAAO,cAAM,gBACXC,MAAM,aACNC,YAAY,oBACZC,WACEC,WACAC,WACAC,eACAC,gBACAC,cACAC;AAkBJ,OAAO,cAAM,6BACXC,QAAQ,gBACP,QAAQ;AAcX,OAAO,cAAM,qBACXT,MAAM,aACNU,aAAa,uBACZ,eAAe;AA0BlB,OAAO,iBAAS,iBACdC,KAAK,UAAU,+BACfC,aAAaC,GAAG;AAiFlB,OAAO,cAAM,UAAWb,MAAM,gBAAc",
2
+ "mappings": "AAEA,cAAc,iBAAiB,OAAO;KASjC,+BAA+B;CAClC;AACD;KAEI,4BAA4B,QAAQ,SAAS;AAIlD,OAAO,iBAAS,oBAAoBA,OAAO;AAI3C,YAAY,cAAc;CACxB;CACA;CACA;CACA;CACA;CACA;AACD;AAED,YAAY,cAAc;CACxB,aAAa;EACX,QAAQ;EACR;CACD;CACD;AACD;AAYD,OAAO,iBAAS;AAqJhB,OAAO,cAAM,wBACXC,UAAU,iBACVC,YAAY,oBACX;AAUH,OAAO,cAAM,gBACXC,MAAM,aACNC,YAAY,oBACZC,WACEC,WACAC,WACAC,eACAC,gBACAC,cACAC;AAkBJ,OAAO,cAAM,6BACXC,QAAQ,gBACP,QAAQ;AAcX,OAAO,cAAM,qBACXT,MAAM,aACNU,aAAa,uBACZ,eAAe;AA0BlB,OAAO,iBAAS,iBACdC,KAAK,UAAU,+BACfC,aAAaC,GAAG;AAiFlB,OAAO,cAAM,UAAWb,MAAM,gBAAc",
3
3
  "names": [
4
4
  "state: LayoutMeasurementStrategy",
5
5
  "nodeRect: DOMRectReadOnly",
@@ -23,7 +23,7 @@
23
23
  "src/index.ts"
24
24
  ],
25
25
  "sourcesContent": [
26
- "import { isClient, useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { isEqualShallow } from '@tamagui/is-equal-shallow'\nimport type { RefObject } from 'react'\n\nconst LayoutHandlers = new WeakMap<HTMLElement, Function>()\nconst Nodes = new Set<HTMLElement>()\nconst IntersectionState = new WeakMap<HTMLElement, boolean>()\n\n// Single persistent IntersectionObserver for all nodes\nlet globalIntersectionObserver: IntersectionObserver | null = null\n\ntype TamaguiComponentStatePartial = {\n host?: any\n}\n\ntype LayoutMeasurementStrategy = 'off' | 'sync' | 'async'\n\nlet strategy: LayoutMeasurementStrategy = 'async'\n\nexport function setOnLayoutStrategy(state: LayoutMeasurementStrategy): void {\n strategy = state\n}\n\nexport type LayoutValue = {\n x: number\n y: number\n width: number\n height: number\n left: number\n top: number\n}\n\nexport type LayoutEvent = {\n nativeEvent: {\n layout: LayoutValue\n target: any\n }\n timeStamp: number\n}\n\nconst NodeRectCache = new WeakMap<HTMLElement, DOMRect>()\nconst ParentRectCache = new WeakMap<HTMLElement, DOMRect>()\nconst LastChangeTime = new WeakMap<HTMLElement, number>()\n\nconst rAF = typeof window !== 'undefined' ? window.requestAnimationFrame : undefined\n\n// prevent thrashing during first hydration (somewhat, streaming gets trickier)\nlet avoidUpdates = true\nconst queuedUpdates = new Map<HTMLElement, Function>()\n\nexport function enable(): void {\n if (avoidUpdates) {\n avoidUpdates = false\n if (queuedUpdates) {\n queuedUpdates.forEach((cb) => cb())\n queuedUpdates.clear()\n }\n }\n}\n\nconst expectedFrameTime = 16.67 // ~60fps\nconst numDroppedFramesUntilPause = 10\n\nfunction startGlobalIntersectionObserver() {\n if (!isClient || globalIntersectionObserver) return\n\n globalIntersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n const node = entry.target as HTMLElement\n if (IntersectionState.get(node) !== entry.isIntersecting) {\n IntersectionState.set(node, entry.isIntersecting)\n }\n })\n },\n {\n threshold: 0,\n }\n )\n}\n\nif (isClient) {\n if (rAF) {\n const supportsCheckVisibility = 'checkVisibility' in document.body\n // track frame timing to detect sync work and avoid updates during heavy periods\n let lastFrameAt = Date.now()\n\n async function updateLayoutIfChanged(node: HTMLElement, frameId: number) {\n if (supportsCheckVisibility && !(node as any).checkVisibility()) {\n // avoid due to not visible\n return\n }\n if (IntersectionState.get(node) === false) {\n // avoid due to not intersecting\n return\n }\n\n const onLayout = LayoutHandlers.get(node)\n if (typeof onLayout !== 'function') return\n\n const parentNode = node.parentElement\n if (!parentNode) return\n\n let nodeRect: DOMRectReadOnly\n let parentRect: DOMRectReadOnly\n\n if (strategy === 'async') {\n const [nr, pr] = await Promise.all([\n getBoundingClientRectAsync(node),\n getBoundingClientRectAsync(parentNode),\n ])\n\n if (nr === false || pr === false) {\n return\n }\n\n // cancel if we skipped a frame\n if (frameId !== lastFrameAt) {\n return\n }\n\n nodeRect = nr\n parentRect = pr\n } else {\n nodeRect = node.getBoundingClientRect()\n parentRect = parentNode.getBoundingClientRect()\n }\n\n const cachedRect = NodeRectCache.get(node)\n const cachedParentRect = NodeRectCache.get(parentNode)\n\n if (\n !cachedRect ||\n // has changed one rect\n // @ts-expect-error DOMRectReadOnly can go into object\n (!isEqualShallow(cachedRect, nodeRect) &&\n // @ts-expect-error DOMRectReadOnly can go into object\n (!cachedParentRect || !isEqualShallow(cachedParentRect, parentRect)))\n ) {\n NodeRectCache.set(node, nodeRect)\n ParentRectCache.set(parentNode, parentRect)\n\n const event = getElementLayoutEvent(nodeRect, parentRect)\n\n if (avoidUpdates) {\n queuedUpdates.set(node, () => onLayout(event))\n } else {\n onLayout(event)\n }\n }\n }\n\n // note that getBoundingClientRect() does not thrash layout if its after an animation frame\n rAF!(layoutOnAnimationFrame)\n\n // only run once in a few frames, this could be adjustable\n let frameCount = 0\n const RUN_EVERY_X_FRAMES = 4\n\n function layoutOnAnimationFrame() {\n const now = Date.now()\n const timeSinceLastFrame = now - lastFrameAt\n lastFrameAt = now\n\n frameCount++\n\n if (frameCount % RUN_EVERY_X_FRAMES === 0) {\n frameCount = 0\n rAF!(layoutOnAnimationFrame)\n return\n }\n\n if (strategy !== 'off') {\n // for both strategies:\n // avoid updates if we've been dropping frames (indicates sync work happening)\n const hasRecentSyncWork =\n timeSinceLastFrame > expectedFrameTime * numDroppedFramesUntilPause\n\n if (!hasRecentSyncWork) {\n Nodes.forEach((node) => {\n updateLayoutIfChanged(node, lastFrameAt)\n })\n }\n }\n\n rAF!(layoutOnAnimationFrame)\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n `No requestAnimationFrame - please polyfill for onLayout to work correctly`\n )\n }\n }\n}\n\nexport const getElementLayoutEvent = (\n nodeRect: DOMRectReadOnly,\n parentRect: DOMRectReadOnly\n): LayoutEvent => {\n return {\n nativeEvent: {\n layout: getRelativeDimensions(nodeRect, parentRect),\n target: nodeRect,\n },\n timeStamp: Date.now(),\n }\n}\n\nexport const measureLayout = (\n node: HTMLElement,\n relativeTo: HTMLElement | null,\n callback: (\n x: number,\n y: number,\n width: number,\n height: number,\n left: number,\n top: number\n ) => void\n): void => {\n const relativeNode = relativeTo || node?.parentElement\n if (relativeNode instanceof HTMLElement) {\n const nodeDim = node.getBoundingClientRect()\n const relativeNodeDim = relativeNode.getBoundingClientRect()\n\n if (relativeNodeDim && nodeDim) {\n const { x, y, width, height, left, top } = getRelativeDimensions(\n nodeDim,\n relativeNodeDim\n )\n callback(x, y, width, height, left, top)\n }\n }\n}\n\nexport const getElementLayoutEventAsync = async (\n target: HTMLElement\n): Promise<LayoutEvent> => {\n const layout = await measureLayoutAsync(target)\n if (!layout) {\n throw new Error(`‼️`) // impossible\n }\n return {\n nativeEvent: {\n layout,\n target,\n },\n timeStamp: Date.now(),\n }\n}\n\nexport const measureLayoutAsync = async (\n node: HTMLElement,\n relativeTo?: HTMLElement | null\n): Promise<null | LayoutValue> => {\n const relativeNode = relativeTo || node?.parentElement\n if (relativeNode instanceof HTMLElement) {\n const [nodeDim, relativeNodeDim] = await Promise.all([\n getBoundingClientRectAsync(node),\n getBoundingClientRectAsync(relativeNode),\n ])\n\n if (relativeNodeDim && nodeDim) {\n const { x, y, width, height, left, top } = getRelativeDimensions(\n nodeDim,\n relativeNodeDim\n )\n return { x, y, width, height, left, top }\n }\n }\n return null\n}\n\nconst getRelativeDimensions = (a: DOMRectReadOnly, b: DOMRectReadOnly) => {\n const { height, left, top, width } = a\n const x = left - b.left\n const y = top - b.top\n return { x, y, width, height, left, top }\n}\n\nexport function useElementLayout(\n ref: RefObject<TamaguiComponentStatePartial>,\n onLayout?: ((e: LayoutEvent) => void) | null\n): void {\n // ensure always up to date so we can avoid re-running effect\n const node = ensureWebElement(ref.current?.host)\n if (node && onLayout) {\n LayoutHandlers.set(node, onLayout)\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!onLayout) return\n const node = ref.current?.host\n if (!node) return\n\n LayoutHandlers.set(node, onLayout)\n Nodes.add(node)\n\n // Add node to intersection observer\n startGlobalIntersectionObserver()\n if (globalIntersectionObserver) {\n globalIntersectionObserver.observe(node)\n // Initialize as intersecting by default\n IntersectionState.set(node, true)\n }\n\n // always do one immediate sync layout event no matter the strategy for accuracy\n const parentNode = node.parentNode\n if (parentNode) {\n onLayout(\n getElementLayoutEvent(\n node.getBoundingClientRect(),\n parentNode.getBoundingClientRect()\n )\n )\n }\n\n return () => {\n Nodes.delete(node)\n LayoutHandlers.delete(node)\n NodeRectCache.delete(node)\n LastChangeTime.delete(node)\n IntersectionState.delete(node)\n\n // Remove from intersection observer\n if (globalIntersectionObserver) {\n globalIntersectionObserver.unobserve(node)\n }\n }\n }, [ref, !!onLayout])\n}\n\nfunction ensureWebElement<X>(x: X): HTMLElement | undefined {\n if (typeof HTMLElement === 'undefined') {\n return undefined\n }\n return x instanceof HTMLElement ? x : undefined\n}\n\nconst getBoundingClientRectAsync = (\n node: HTMLElement | null\n): Promise<DOMRectReadOnly | false> => {\n return new Promise<DOMRectReadOnly | false>((res) => {\n if (!node || node.nodeType !== 1) return res(false)\n\n const io = new IntersectionObserver(\n (entries) => {\n io.disconnect()\n return res(entries[0].boundingClientRect)\n },\n {\n threshold: 0,\n }\n )\n io.observe(node)\n })\n}\n\nconst getBoundingClientRect = (node: HTMLElement | null): undefined | DOMRect => {\n if (!node || node.nodeType !== 1) return\n return node.getBoundingClientRect?.()\n}\n\nexport const getRect = (node: HTMLElement): LayoutValue | undefined => {\n const rect = getBoundingClientRect(node)\n if (!rect) return\n const { x, y, top, left } = rect\n return { x, y, width: node.offsetWidth, height: node.offsetHeight, top, left }\n}\n"
26
+ "import { isClient, useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { isEqualShallow } from '@tamagui/is-equal-shallow'\nimport type { RefObject } from 'react'\n\nconst LayoutHandlers = new WeakMap<HTMLElement, Function>()\nconst Nodes = new Set<HTMLElement>()\nconst IntersectionState = new WeakMap<HTMLElement, boolean>()\n\n// Single persistent IntersectionObserver for all nodes\nlet globalIntersectionObserver: IntersectionObserver | null = null\n\ntype TamaguiComponentStatePartial = {\n host?: any\n}\n\ntype LayoutMeasurementStrategy = 'off' | 'sync' | 'async'\n\nlet strategy: LayoutMeasurementStrategy = 'async'\n\nexport function setOnLayoutStrategy(state: LayoutMeasurementStrategy): void {\n strategy = state\n}\n\nexport type LayoutValue = {\n x: number\n y: number\n width: number\n height: number\n left: number\n top: number\n}\n\nexport type LayoutEvent = {\n nativeEvent: {\n layout: LayoutValue\n target: any\n }\n timeStamp: number\n}\n\nconst NodeRectCache = new WeakMap<HTMLElement, DOMRect>()\nconst ParentRectCache = new WeakMap<HTMLElement, DOMRect>()\nconst LastChangeTime = new WeakMap<HTMLElement, number>()\n\nconst rAF = typeof window !== 'undefined' ? window.requestAnimationFrame : undefined\n\n// prevent thrashing during first hydration (somewhat, streaming gets trickier)\nlet avoidUpdates = true\nconst queuedUpdates = new Map<HTMLElement, Function>()\n\nexport function enable(): void {\n if (avoidUpdates) {\n avoidUpdates = false\n if (queuedUpdates) {\n queuedUpdates.forEach((cb) => cb())\n queuedUpdates.clear()\n }\n }\n}\n\nconst expectedFrameTime = 16.67 // ~60fps\nconst numDroppedFramesUntilPause = 10\n\nfunction startGlobalIntersectionObserver() {\n if (!isClient || globalIntersectionObserver) return\n\n globalIntersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n const node = entry.target as HTMLElement\n if (IntersectionState.get(node) !== entry.isIntersecting) {\n IntersectionState.set(node, entry.isIntersecting)\n }\n })\n },\n {\n threshold: 0,\n }\n )\n}\n\nif (isClient) {\n if (rAF) {\n const supportsCheckVisibility = 'checkVisibility' in document.body\n // track frame timing to detect sync work and avoid updates during heavy periods\n let lastFrameAt = Date.now()\n\n async function updateLayoutIfChanged(node: HTMLElement, frameId: number) {\n if (IntersectionState.get(node) === false) {\n // avoid due to not intersecting\n return\n }\n // triggers style recalculation in safari which is slower than not\n if (process.env.TAMAGUI_ONLAYOUT_VISIBILITY_CHECK === '1') {\n if (supportsCheckVisibility && !(node as any).checkVisibility()) {\n // avoid due to not visible\n return\n }\n }\n\n const onLayout = LayoutHandlers.get(node)\n if (typeof onLayout !== 'function') return\n\n const parentNode = node.parentElement\n if (!parentNode) return\n\n let nodeRect: DOMRectReadOnly\n let parentRect: DOMRectReadOnly\n\n if (strategy === 'async') {\n const [nr, pr] = await Promise.all([\n getBoundingClientRectAsync(node),\n getBoundingClientRectAsync(parentNode),\n ])\n\n if (nr === false || pr === false) {\n return\n }\n\n // cancel if we skipped a frame\n if (frameId !== lastFrameAt) {\n return\n }\n\n nodeRect = nr\n parentRect = pr\n } else {\n nodeRect = node.getBoundingClientRect()\n parentRect = parentNode.getBoundingClientRect()\n }\n\n const cachedRect = NodeRectCache.get(node)\n const cachedParentRect = NodeRectCache.get(parentNode)\n\n if (\n !cachedRect ||\n // has changed one rect\n // @ts-expect-error DOMRectReadOnly can go into object\n (!isEqualShallow(cachedRect, nodeRect) &&\n // @ts-expect-error DOMRectReadOnly can go into object\n (!cachedParentRect || !isEqualShallow(cachedParentRect, parentRect)))\n ) {\n NodeRectCache.set(node, nodeRect)\n ParentRectCache.set(parentNode, parentRect)\n\n const event = getElementLayoutEvent(nodeRect, parentRect)\n\n if (avoidUpdates) {\n queuedUpdates.set(node, () => onLayout(event))\n } else {\n onLayout(event)\n }\n }\n }\n\n // note that getBoundingClientRect() does not thrash layout if its after an animation frame\n rAF!(layoutOnAnimationFrame)\n\n // only run once in a few frames, this could be adjustable\n let frameCount = 0\n const RUN_EVERY_X_FRAMES = 4\n\n function layoutOnAnimationFrame() {\n const now = Date.now()\n const timeSinceLastFrame = now - lastFrameAt\n lastFrameAt = now\n\n frameCount++\n\n if (frameCount % RUN_EVERY_X_FRAMES === 0) {\n frameCount = 0\n rAF!(layoutOnAnimationFrame)\n return\n }\n\n if (strategy !== 'off') {\n // for both strategies:\n // avoid updates if we've been dropping frames (indicates sync work happening)\n const hasRecentSyncWork =\n timeSinceLastFrame > expectedFrameTime * numDroppedFramesUntilPause\n\n if (!hasRecentSyncWork) {\n Nodes.forEach((node) => {\n updateLayoutIfChanged(node, lastFrameAt)\n })\n }\n }\n\n rAF!(layoutOnAnimationFrame)\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n `No requestAnimationFrame - please polyfill for onLayout to work correctly`\n )\n }\n }\n}\n\nexport const getElementLayoutEvent = (\n nodeRect: DOMRectReadOnly,\n parentRect: DOMRectReadOnly\n): LayoutEvent => {\n return {\n nativeEvent: {\n layout: getRelativeDimensions(nodeRect, parentRect),\n target: nodeRect,\n },\n timeStamp: Date.now(),\n }\n}\n\nexport const measureLayout = (\n node: HTMLElement,\n relativeTo: HTMLElement | null,\n callback: (\n x: number,\n y: number,\n width: number,\n height: number,\n left: number,\n top: number\n ) => void\n): void => {\n const relativeNode = relativeTo || node?.parentElement\n if (relativeNode instanceof HTMLElement) {\n const nodeDim = node.getBoundingClientRect()\n const relativeNodeDim = relativeNode.getBoundingClientRect()\n\n if (relativeNodeDim && nodeDim) {\n const { x, y, width, height, left, top } = getRelativeDimensions(\n nodeDim,\n relativeNodeDim\n )\n callback(x, y, width, height, left, top)\n }\n }\n}\n\nexport const getElementLayoutEventAsync = async (\n target: HTMLElement\n): Promise<LayoutEvent> => {\n const layout = await measureLayoutAsync(target)\n if (!layout) {\n throw new Error(`‼️`) // impossible\n }\n return {\n nativeEvent: {\n layout,\n target,\n },\n timeStamp: Date.now(),\n }\n}\n\nexport const measureLayoutAsync = async (\n node: HTMLElement,\n relativeTo?: HTMLElement | null\n): Promise<null | LayoutValue> => {\n const relativeNode = relativeTo || node?.parentElement\n if (relativeNode instanceof HTMLElement) {\n const [nodeDim, relativeNodeDim] = await Promise.all([\n getBoundingClientRectAsync(node),\n getBoundingClientRectAsync(relativeNode),\n ])\n\n if (relativeNodeDim && nodeDim) {\n const { x, y, width, height, left, top } = getRelativeDimensions(\n nodeDim,\n relativeNodeDim\n )\n return { x, y, width, height, left, top }\n }\n }\n return null\n}\n\nconst getRelativeDimensions = (a: DOMRectReadOnly, b: DOMRectReadOnly) => {\n const { height, left, top, width } = a\n const x = left - b.left\n const y = top - b.top\n return { x, y, width, height, left, top }\n}\n\nexport function useElementLayout(\n ref: RefObject<TamaguiComponentStatePartial>,\n onLayout?: ((e: LayoutEvent) => void) | null\n): void {\n // ensure always up to date so we can avoid re-running effect\n const node = ensureWebElement(ref.current?.host)\n if (node && onLayout) {\n LayoutHandlers.set(node, onLayout)\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!onLayout) return\n const node = ref.current?.host\n if (!node) return\n\n LayoutHandlers.set(node, onLayout)\n Nodes.add(node)\n\n // Add node to intersection observer\n startGlobalIntersectionObserver()\n if (globalIntersectionObserver) {\n globalIntersectionObserver.observe(node)\n // Initialize as intersecting by default\n IntersectionState.set(node, true)\n }\n\n // always do one immediate sync layout event no matter the strategy for accuracy\n const parentNode = node.parentNode\n if (parentNode) {\n onLayout(\n getElementLayoutEvent(\n node.getBoundingClientRect(),\n parentNode.getBoundingClientRect()\n )\n )\n }\n\n return () => {\n Nodes.delete(node)\n LayoutHandlers.delete(node)\n NodeRectCache.delete(node)\n LastChangeTime.delete(node)\n IntersectionState.delete(node)\n\n // Remove from intersection observer\n if (globalIntersectionObserver) {\n globalIntersectionObserver.unobserve(node)\n }\n }\n }, [ref, !!onLayout])\n}\n\nfunction ensureWebElement<X>(x: X): HTMLElement | undefined {\n if (typeof HTMLElement === 'undefined') {\n return undefined\n }\n return x instanceof HTMLElement ? x : undefined\n}\n\nconst getBoundingClientRectAsync = (\n node: HTMLElement | null\n): Promise<DOMRectReadOnly | false> => {\n return new Promise<DOMRectReadOnly | false>((res) => {\n if (!node || node.nodeType !== 1) return res(false)\n\n const io = new IntersectionObserver(\n (entries) => {\n io.disconnect()\n return res(entries[0].boundingClientRect)\n },\n {\n threshold: 0,\n }\n )\n io.observe(node)\n })\n}\n\nconst getBoundingClientRect = (node: HTMLElement | null): undefined | DOMRect => {\n if (!node || node.nodeType !== 1) return\n return node.getBoundingClientRect?.()\n}\n\nexport const getRect = (node: HTMLElement): LayoutValue | undefined => {\n const rect = getBoundingClientRect(node)\n if (!rect) return\n const { x, y, top, left } = rect\n return { x, y, width: node.offsetWidth, height: node.offsetHeight, top, left }\n}\n"
27
27
  ],
28
28
  "version": 3
29
29
  }