@tamagui/use-element-layout 1.129.18 → 1.130.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.
@@ -70,7 +70,7 @@ if (import_constants.isClient) if (rAF) {
70
70
  let nodeRect, parentRect;
71
71
  if (strategy === "async") {
72
72
  const [nr, pr] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(parentNode)]);
73
- if (frameId !== lastFrameAt) return;
73
+ if (nr === !1 || pr === !1 || frameId !== lastFrameAt) return;
74
74
  nodeRect = nr, parentRect = pr;
75
75
  } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
76
76
  const cachedRect = NodeRectCache.get(node),
@@ -187,7 +187,7 @@ function ensureWebElement(x) {
187
187
  }
188
188
  const getBoundingClientRectAsync = node => new Promise(res => {
189
189
  if (!node || node.nodeType !== 1) return;
190
- const io = new IntersectionObserver(entries => (io.disconnect(), res(entries[0].boundingClientRect)), {
190
+ const io = new IntersectionObserver(entries => entries[0].isIntersecting ? (io.disconnect(), res(entries[0].boundingClientRect)) : res(!1), {
191
191
  threshold: 0
192
192
  });
193
193
  io.observe(node);
package/dist/cjs/index.js CHANGED
@@ -60,7 +60,7 @@ if (import_constants.isClient)
60
60
  getBoundingClientRectAsync(node),
61
61
  getBoundingClientRectAsync(parentNode)
62
62
  ]);
63
- if (frameId !== lastFrameAt)
63
+ if (nr === !1 || pr === !1 || frameId !== lastFrameAt)
64
64
  return;
65
65
  nodeRect = nr, parentRect = pr;
66
66
  } else
@@ -156,7 +156,7 @@ function ensureWebElement(x) {
156
156
  const getBoundingClientRectAsync = (node) => new Promise((res) => {
157
157
  if (!node || node.nodeType !== 1) return;
158
158
  const io = new IntersectionObserver(
159
- (entries) => (io.disconnect(), res(entries[0].boundingClientRect)),
159
+ (entries) => entries[0].isIntersecting ? (io.disconnect(), res(entries[0].boundingClientRect)) : res(!1),
160
160
  {
161
161
  threshold: 0
162
162
  }
@@ -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
  getBoundingClientRectAsync(node),
65
65
  getBoundingClientRectAsync(parentNode)
66
66
  ]);
67
- if (frameId !== lastFrameAt)
67
+ if (nr === !1 || pr === !1 || frameId !== lastFrameAt)
68
68
  return;
69
69
  nodeRect = nr, parentRect = pr;
70
70
  } else
@@ -173,7 +173,7 @@ var getBoundingClientRectAsync = function(node) {
173
173
  return new Promise(function(res) {
174
174
  if (!(!node || node.nodeType !== 1)) {
175
175
  var io = new IntersectionObserver(function(entries) {
176
- return io.disconnect(), res(entries[0].boundingClientRect);
176
+ return entries[0].isIntersecting ? (io.disconnect(), res(entries[0].boundingClientRect)) : res(!1);
177
177
  }, {
178
178
  threshold: 0
179
179
  });
@@ -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", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "expectedFrameTime", "numDroppedFramesUntilPause", "isClient", "layoutOnAnimationFrame", "now", "Date", "timeSinceLastFrame", "lastFrameAt", "frameCount", "runEveryXFrames", "hasRecentSyncWork", "node", "updateLayoutIfChanged", "frameId", "onLayout", "get", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "set", "event", "getElementLayoutEvent", "process", "env", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "target", "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", "delete", "res", "nodeType", "io", "IntersectionObserver", "entries", "disconnect", "boundingClientRect", "threshold", "observe", "getRect", "rect", "offsetWidth", "offsetHeight"]
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;uBAAoD,+BACpD,0BAA+B,sCAGzBA,iBAAiB,oBAAIC,QAAAA,GACrBC,QAAQ,oBAAIC,IAAAA,GAQdC,WAAsC;AAEnC,SAASC,oBAAoBC,OAAgC;AAClEF,aAAWE;AACb;AAmBA,IAAMC,gBAAgB,oBAAIN,QAAAA,GACpBO,kBAAkB,oBAAIP,QAAAA,GACtBQ,iBAAiB,oBAAIR,QAAAA,GAErBS,MAAM,OAAOC,SAAW,MAAcA,OAAOC,wBAAwBC,QAGvEC,eAAe,IACbC,gBAAgB,oBAAIC,IAAAA;AAEnB,SAASC,SAAAA;AACd,EAAIH,iBACFA,eAAe,IACXC,kBACFA,cAAcG,QAAQ,SAACC,IAAAA;WAAOA,GAAAA;MAC9BJ,cAAcK,MAAK;AAGzB;AAEA,IAAMC,oBAAoB,OACpBC,6BAA6B;AAEnC,IAAIC;AACF,MAAIb,KAAK;AAmEP,QAASc,yBAAT,WAASA;AACP,UAAMC,MAAMC,KAAKD,IAAG,GACdE,qBAAqBF,MAAMG;AAGjC,UAFAA,cAAcH,KAEVI,aAAaC,iBAAiB;AAChCD,sBACAnB,IAAKc,sBAAAA;AACL;MACF;AAIA,UAFAK,aAAa,GAETzB,aAAa,OAAO;AAGtB,YAAM2B,oBACJJ,qBAAqBN,oBAAoBC;AAE3C,QAAKS,qBACH7B,MAAMgB,QAAQ,SAACc,MAAAA;AACbC,gCAAsBD,MAAMJ,WAAAA;QAC9B,CAAA;MAEJ;AAEAlB,UAAKc,sBAAAA;IACP;AA3BSA,QAAAA,0BAAAA,wBAjELI,cAAcF,KAAKD,IAAG;AAE1B,mBAAeQ,sBAAsBD,MAAmBE,SAAe;AACrE,UAAMC,WAAWnC,eAAeoC,IAAIJ,IAAAA;AACpC,UAAI,OAAOG,YAAa,YAExB;YAAME,aAAaL,KAAKM;AACxB,YAAKD,YAEL;cAAIE,UACAC;AAEJ,cAAIpC,aAAa,SAAS;AACxB,gBAAM,CAACqC,IAAIC,EAAAA,IAAM,MAAMC,QAAQC,IAAI;cACjCC,2BAA2Bb,IAAAA;cAC3Ba,2BAA2BR,UAAAA;aAC5B;AAOD,gBALII,OAAO,MAASC,OAAO,MAKvBR,YAAYN;AACd;AAGFW,uBAAWE,IACXD,aAAaE;UACf;AACEH,uBAAWP,KAAKc,sBAAqB,GACrCN,aAAaH,WAAWS,sBAAqB;AAG/C,cAAMC,aAAaxC,cAAc6B,IAAIJ,IAAAA,GAC/BgB,mBAAmBzC,cAAc6B,IAAIC,UAAAA;AAE3C,cACE,CAACU;;UAGA,KAACE,wCAAeF,YAAYR,QAAAA;WAE1B,CAACS,oBAAoB,KAACC,wCAAeD,kBAAkBR,UAAAA,IAC1D;AACAjC,0BAAc2C,IAAIlB,MAAMO,QAAAA,GACxB/B,gBAAgB0C,IAAIb,YAAYG,UAAAA;AAEhC,gBAAMW,QAAQC,sBAAsBb,UAAUC,UAAAA;AAE9C,YAAI1B,eACFC,cAAcmC,IAAIlB,MAAM,WAAA;qBAAMG,SAASgB,KAAAA;iBAEvChB,SAASgB,KAAAA;UAEb;;;IACF;AAGAzC,QAAKc,sBAAAA;AAGL,QAAIK,aAAa,GACXC,kBAAkB;EA8B1B;AACE,IAAIuB,QAAQC,IAAIC,aAAa,iBAC3BC,QAAQC,KACN,2EAA2E;AAM5E,IAAML,wBAAwB,SACnCb,UACAC,YAAAA;AAEA,SAAO;IACLkB,aAAa;MACXC,QAAQC,sBAAsBrB,UAAUC,UAAAA;MACxCqB,QAAQtB;IACV;IACAuB,WAAWpC,KAAKD,IAAG;EACrB;AACF,GAEasC,gBAAgB,SAC3B/B,MACAgC,YACAC,UAAAA;AASA,MAAMC,eAAeF,eAAchC,QAAAA,OAAAA,SAAAA,KAAMM;AACzC,MAAI4B,wBAAwBC,aAAa;AACvC,QAAMC,UAAUpC,KAAKc,sBAAqB,GACpCuB,kBAAkBH,aAAapB,sBAAqB;AAE1D,QAAIuB,mBAAmBD,SAAS;AAC9B,UAAM,EAAEE,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,IAAG,IAAKf,sBACzCQ,SACAC,eAAAA;AAEFJ,eAASK,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,GAAAA;IACtC;EACF;AACF,GAEaC,6BAA6B,eACxCf,QAAAA;AAEA,MAAMF,SAAS,MAAMkB,mBAAmBhB,MAAAA;AACxC,MAAI,CAACF;AACH,UAAM,IAAImB,MAAM,cAAI;AAEtB,SAAO;IACLpB,aAAa;MACXC;MACAE;IACF;IACAC,WAAWpC,KAAKD,IAAG;EACrB;AACF,GAEaoD,qBAAqB,eAChC7C,MACAgC,YAAAA;AAEA,MAAME,eAAeF,eAAchC,QAAAA,OAAAA,SAAAA,KAAMM;AACzC,MAAI4B,wBAAwBC,aAAa;AACvC,QAAM,CAACC,SAASC,eAAAA,IAAmB,MAAM1B,QAAQC,IAAI;MACnDC,2BAA2Bb,IAAAA;MAC3Ba,2BAA2BqB,YAAAA;KAC5B;AAED,QAAIG,mBAAmBD,SAAS;AAC9B,UAAM,EAAEE,GAAGC,GAAGC,OAAOC,QAAQC,MAAMC,IAAG,IAAKf,sBACzCQ,SACAC,eAAAA;AAEF,aAAO;QAAEC;QAAGC;QAAGC;QAAOC;QAAQC;QAAMC;MAAI;IAC1C;EACF;AACA,SAAO;AACT,GAEMf,wBAAwB,SAACmB,GAAoBC,GAAAA;AACjD,MAAM,EAAEP,QAAQC,MAAMC,KAAKH,MAAK,IAAKO,GAC/BT,IAAII,OAAOM,EAAEN,MACbH,IAAII,MAAMK,EAAEL;AAClB,SAAO;IAAEL;IAAGC;IAAGC;IAAOC;IAAQC;IAAMC;EAAI;AAC1C;AAEO,SAASM,iBACdC,KACA/C,UAA4C;MAGd+C,cAAxBlD,OAAOmD,kBAAiBD,eAAAA,IAAIE,aAAO,QAAXF,iBAAAA,SAAAA,SAAAA,aAAaG,IAAI;AAC/C,EAAIrD,QAAQG,YACVnC,eAAekD,IAAIlB,MAAMG,QAAAA,OAG3BmD,4CAA0B,WAAA;QAEXJ;AADb,QAAK/C,UACL;UAAMH,SAAOkD,gBAAAA,IAAIE,aAAO,QAAXF,kBAAAA,SAAAA,SAAAA,cAAaG;AAC1B,UAAKrD,OAELhC;uBAAekD,IAAIlB,OAAMG,QAAAA,GACzBjC,MAAMqF,IAAIvD,KAAAA;AAGV,YAAMK,aAAaL,MAAKK;AACxB,eAAIA,cACFF,SACEiB,sBACEpB,MAAKc,sBAAqB,GAC1BT,WAAWS,sBAAqB,CAAA,CAAA,GAK/B,WAAA;AACL5C,gBAAMsF,OAAOxD,KAAAA,GACbhC,eAAewF,OAAOxD,KAAAA,GACtBzB,cAAciF,OAAOxD,KAAAA,GACrBvB,eAAe+E,OAAOxD,KAAAA;QACxB;;;EACF,GAAG;IAACkD;IAAK,CAAC,CAAC/C;GAAS;AACtB;AAEA,SAASgD,iBAAoBb,GAAI;AAC/B,MAAI,SAAOH,cAAgB;AAG3B,WAAOG,aAAaH,cAAcG,IAAIzD;AACxC;AAEA,IAAMgC,6BAA6B,SACjCb,MAAAA;AAEA,SAAO,IAAIW,QAAiC,SAAC8C,KAAAA;AAC3C,QAAI,GAACzD,QAAQA,KAAK0D,aAAa,IAC/B;UAAMC,KAAK,IAAIC,qBACb,SAACC,SAAAA;AACC,eAAKA,QAAQ,CAAA,EAAGC,kBAGhBH,GAAGI,WAAU,GACNN,IAAII,QAAQ,CAAA,EAAGG,kBAAkB,KAH/BP,IAAI,EAAA;MAIf,GACA;QACEQ,WAAW;MACb,CAAA;AAEFN,SAAGO,QAAQlE,IAAAA;;EACb,CAAA;AACF,GAEMc,wBAAwB,SAACd,MAAAA;MAEtBA;AADP,MAAI,GAACA,QAAQA,KAAK0D,aAAa;AAC/B,YAAO1D,8BAAAA,KAAKc,2BAAqB,QAA1Bd,gCAAAA,SAAAA,SAAAA,4BAAAA,KAAAA,IAAAA;AACT,GAEamE,UAAU,SAACnE,MAAAA;AACtB,MAAMoE,OAAOtD,sBAAsBd,IAAAA;AACnC,MAAKoE,MACL;QAAM,EAAE9B,GAAGC,GAAGI,KAAKD,KAAI,IAAK0B;AAC5B,WAAO;MAAE9B;MAAGC;MAAGC,OAAOxC,KAAKqE;MAAa5B,QAAQzC,KAAKsE;MAAc3B;MAAKD;IAAK;;AAC/E;",
5
+ "names": ["LayoutHandlers", "WeakMap", "Nodes", "Set", "strategy", "setOnLayoutStrategy", "state", "NodeRectCache", "ParentRectCache", "LastChangeTime", "rAF", "window", "requestAnimationFrame", "undefined", "avoidUpdates", "queuedUpdates", "Map", "enable", "forEach", "cb", "clear", "expectedFrameTime", "numDroppedFramesUntilPause", "isClient", "layoutOnAnimationFrame", "now", "Date", "timeSinceLastFrame", "lastFrameAt", "frameCount", "runEveryXFrames", "hasRecentSyncWork", "node", "updateLayoutIfChanged", "frameId", "onLayout", "get", "parentNode", "parentElement", "nodeRect", "parentRect", "nr", "pr", "Promise", "all", "getBoundingClientRectAsync", "getBoundingClientRect", "cachedRect", "cachedParentRect", "isEqualShallow", "set", "event", "getElementLayoutEvent", "process", "env", "NODE_ENV", "console", "warn", "nativeEvent", "layout", "getRelativeDimensions", "target", "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", "delete", "res", "nodeType", "io", "IntersectionObserver", "entries", "isIntersecting", "disconnect", "boundingClientRect", "threshold", "observe", "getRect", "rect", "offsetWidth", "offsetHeight"]
6
6
  }
package/dist/esm/index.js CHANGED
@@ -35,7 +35,7 @@ if (isClient)
35
35
  getBoundingClientRectAsync(node),
36
36
  getBoundingClientRectAsync(parentNode)
37
37
  ]);
38
- if (frameId !== lastFrameAt)
38
+ if (nr === !1 || pr === !1 || frameId !== lastFrameAt)
39
39
  return;
40
40
  nodeRect = nr, parentRect = pr;
41
41
  } else
@@ -131,7 +131,7 @@ function ensureWebElement(x) {
131
131
  const getBoundingClientRectAsync = (node) => new Promise((res) => {
132
132
  if (!node || node.nodeType !== 1) return;
133
133
  const io = new IntersectionObserver(
134
- (entries) => (io.disconnect(), res(entries[0].boundingClientRect)),
134
+ (entries) => entries[0].isIntersecting ? (io.disconnect(), res(entries[0].boundingClientRect)) : res(!1),
135
135
  {
136
136
  threshold: 0
137
137
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA,SAAS,UAAU,iCAAiC;AACpD,SAAS,sBAAsB;AAG/B,MAAM,iBAAiB,oBAAI,QAA+B,GACpD,QAAQ,oBAAI,IAAiB;AAQnC,IAAI,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,IAAI;AACF,MAAI,KAAK;AAmEP,QAAS,yBAAT,WAAkC;AAChC,YAAM,MAAM,KAAK,IAAI,GACf,qBAAqB,MAAM;AAGjC,UAFA,cAAc,KAEV,aAAa,iBAAiB;AAChC,sBACA,IAAK,sBAAsB;AAC3B;AAAA,MACF;AAEA,mBAAa,GAET,aAAa,UAIb,qBAAqB,oBAAoB,8BAGzC,MAAM,QAAQ,CAAC,SAAS;AACtB,8BAAsB,MAAM,WAAW;AAAA,MACzC,CAAC,IAIL,IAAK,sBAAsB;AAAA,IAC7B,GA5FI,cAAc,KAAK,IAAI;AAE3B,mBAAe,sBAAsB,MAAmB,SAAiB;AACvE,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,kBAAkB;AAAA,EA8B1B;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;AAGd,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;AAAA,IAC5B;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;AAClC,QAAM,KAAK,IAAI;AAAA,IACb,CAAC,YACM,QAAQ,CAAC,EAAE,kBAGhB,GAAG,WAAW,GACP,IAAI,QAAQ,CAAC,EAAE,kBAAkB,KAH/B,IAAI,EAAK;AAAA,IAKpB;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;",
5
5
  "names": ["node"]
6
6
  }
@@ -38,7 +38,7 @@ if (isClient) if (rAF) {
38
38
  let nodeRect, parentRect;
39
39
  if (strategy === "async") {
40
40
  const [nr, pr] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(parentNode)]);
41
- if (frameId !== lastFrameAt) return;
41
+ if (nr === !1 || pr === !1 || frameId !== lastFrameAt) return;
42
42
  nodeRect = nr, parentRect = pr;
43
43
  } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
44
44
  const cachedRect = NodeRectCache.get(node),
@@ -155,7 +155,7 @@ function ensureWebElement(x) {
155
155
  }
156
156
  const getBoundingClientRectAsync = node => new Promise(res => {
157
157
  if (!node || node.nodeType !== 1) return;
158
- const io = new IntersectionObserver(entries => (io.disconnect(), res(entries[0].boundingClientRect)), {
158
+ const io = new IntersectionObserver(entries => entries[0].isIntersecting ? (io.disconnect(), res(entries[0].boundingClientRect)) : res(!1), {
159
159
  threshold: 0
160
160
  });
161
161
  io.observe(node);
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","runEveryXFrames","node","updateLayoutIfChanged","frameId","onLayout","get","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","process","env","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","target","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","delete","res","nodeType","io","IntersectionObserver","entries","disconnect","boundingClientRect","threshold","observe","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","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","runEveryXFrames","node","updateLayoutIfChanged","frameId","onLayout","get","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","process","env","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","target","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","delete","res","nodeType","io","IntersectionObserver","entries","isIntersecting","disconnect","boundingClientRect","threshold","observe","getRect","rect","offsetWidth","offsetHeight"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -45,7 +45,7 @@ if (isClient) if (rAF) {
45
45
  var nodeRect, parentRect;
46
46
  if (strategy === "async") {
47
47
  var [nr, pr] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(parentNode)]);
48
- if (frameId !== lastFrameAt) return;
48
+ if (nr === !1 || pr === !1 || frameId !== lastFrameAt) return;
49
49
  nodeRect = nr, parentRect = pr;
50
50
  } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
51
51
  var cachedRect = NodeRectCache.get(node),
@@ -174,7 +174,7 @@ var getBoundingClientRectAsync = function (node) {
174
174
  return new Promise(function (res) {
175
175
  if (!(!node || node.nodeType !== 1)) {
176
176
  var io = new IntersectionObserver(function (entries) {
177
- return io.disconnect(), res(entries[0].boundingClientRect);
177
+ return entries[0].isIntersecting ? (io.disconnect(), res(entries[0].boundingClientRect)) : res(!1);
178
178
  }, {
179
179
  threshold: 0
180
180
  });
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","runEveryXFrames","hasRecentSyncWork","node","updateLayoutIfChanged","layoutOnAnimationFrame2","frameId","onLayout","get","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","process","env","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","target","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","delete","res"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,yBAAA,QAAiC;AACpD,SAASC,cAAA,QAAsB;AAG/B,IAAAC,cAAM,kBAAiB,IAAAC,OAAI;EAA+BC,KACpD,kBAAQ,IAAAC,GAAI;EAAiBC,QAAA;AAQnC,SAAIC,mBAAsCA,CAAAC,KAAA;EAEnCF,QAAS,GAAAE,KAAA;AACd;AACF,IAAAC,aAAA,sBAAAN,OAAA;EAAAO,eAAA,sBAAAP,OAAA;EAAAQ,cAAA,sBAAAR,OAAA;EAAAS,GAAA,UAAAC,MAAA,SAAAA,MAAA,CAAAC,qBAAA;EAAAC,YAAA;EAAAC,aAAA,sBAAAC,GAAA;AAmBA,SAAMC,OAAA;EAONH,YAAI,KAAeA,YAAA,OAAAC,aAAA,KAAAA,aAAA,CAAAG,OAAA,WAAAC,EAAA;IACnB,OAAMA,EAAA;EAEC,IAAAJ,aAAwB,CAAAK,KAAA;AAC7B;AAOF,IAAAC,iBAAA;EAAAC,0BAAA;AAEA,IAAAxB,QAAM,EAGN,IAAIa,GAAA;EACF,IAAIY,sBAAK,YAAAA,CAAA;IA+DP,IAASC,GAAA,GAAAC,IAAA,CAAAD,GAAA;MAAAE,kBAAyB,GAAAF,GAAA,GAAAG,WAAA;IAChC,IAAAA,WAAY,GAAKH,GAAI,EAAAI,UACf,GAAAC,eAA2B;MAGjCD,UAFA,IAAAjB,GAAc,CAAAY,sBAEG;MACf;IAEA;IACF,IAAAK,UAAA,MAAAvB,QAAA;MAEA,IAAAyB,iBAEI,GAAAJ,kBAIA,GAAAL,iBAAqB,GAAAC,0BAAoB;MAIvCQ,iBAAA,IAAA3B,KAAsB,CAAAe,OAAM,WAAWa,IAAA;QACxCC,qBAIA,CAAAD,IAAA,EAAsBJ,WAAA;MAvFzB;IAEJ;IACEhB,GAAA,CAAAY,sBAAiB;EACjB;EAEA,IAAAU,uBAAwB,GAAAV,sBAAA;IAAAI,WAAA,GAAAF,IAAA,CAAAD,GAAA;EACxB,eAAKQ,qBAAYA,CAAAD,IAAA,EAAAG,OAAA;IAEjB,IAAIC,QAAA,GACAlC,cAAA,CAAAmC,GAAA,CAAAL,IAAA;IAEJ,IAAI,OAAAI,QAAa,cAAS;MACxB,IAAAE,UAAa,GAAIN,IAAA,CAAAO,aAAkB;MAAA,IACjCD,UAAA;QACA,IAAAE,QAAA,EAAAC,UAAA;QACD,IAAAnC,QAAA;UAGG,KAAAoC,EAAA,EAAAC,EAAA,CAAY,SAAAC,OAAA,CAAAC,GAAA,EACdC,0BAAA,CAAAd,IAAA,GAGFc,0BACa,CAAAR,UAAA,EACf;UACE,IAAAH,OAAW,KAAKP,WAAA,EAIZ;UAIHY,QAAA,GAAAE,EAAA,EAAAD,UAAA,GAAAE,EAAA;QAAA,OAGCH,QAAA,GAAeR,IAAA,CAAAe,qBAAoB,IAAAN,UAAA,GAAAH,UAAA,CAAAS,qBAAA;QAEjC,IAAAC,UAAA,GAAAvC,aAAqB,CAAA4B,GAAe,CAAAL,IAAA;UAAAiB,gBAAkB,GAAAxC,aAC1D,CAAA4B,GAAA,CAAAC,UAAA;QACA,KAAAU,UAAc;QAAI;QAGlB;QAEI,CAAA/C,cACF,CAAA+C,UAAA,EAAcR,QAAI,CAAM;QAAA;QAI5B,CAAAS,gBAAA,KAAAhD,cAAA,CAAAgD,gBAAA,EAAAR,UAAA;UACFhC,aAAA,CAAAyC,GAAA,CAAAlB,IAAA,EAAAQ,QAAA,GAAA9B,eAAA,CAAAwC,GAAA,CAAAZ,UAAA,EAAAG,UAAA;UAGK,IAAAU,KAAA,GAAAC,qBAAsB,CAAAZ,QAAA,EAAAC,UAAA;UAGvB1B,YAAa,GAAAC,aAAA,CAAAkC,GAAA,CAAAlB,IAAA;YACX,OAAAI,QAAkB,CAAAe,KAAA;UA8B1B,KAAAf,QAAA,CAAAe,KAAA;QACM;MAEA;IACF;EAKC;EAKHvC,GAAA,CAAAY,sBAAa;EACX,IAAAK,UAAQ;IAAAC,eAAsB;AAAoB,OAEpDuB,OAAA,CAAAC,GAAA,CAAAC,QAAA,sBAAAC,OAAA,CAAAC,IAAA;AAAA,IACAL,qBAAoB,YAAAA,CAAAZ,QAAA,EAAAC,UAAA;IACtB,OAGW;MAYXiB,WAAM;QACFC,MAAA,EAAAC,qBAAwB,CAAApB,QAAa,EAAAC,UAAA;QACvCoB,MAAM,EAAArB;MAGN;MACEsB,SAAM,EAAEpC,IAAG,CAAGD,GAAA;IAA6B;EACzC;EAAAsC,aACA,YAAAA,CAAA/B,IAAA,EAAAgC,UAAA,EAAAC,QAAA;IAAA,IACFC,YAAA,GAAAF,UAAA,IAAAhC,IAAA,EAAAO,aAAA;IACA,IAAA2B,YAAY,YAAUC,WAAQ,EAAM;MACtC,IAAAC,OAAA,GAAApC,IAAA,CAAAe,qBAAA;QAAAsB,eAAA,GAAAH,YAAA,CAAAnB,qBAAA;MACF,IAAAsB,eAAA,IAAAD,OAAA;QAGW;UAAAE,CAAA;UAAAC,CAAA;UAAAC,KAAA;UAAAC,MAAA;UAA6BC,IAAA;UACxCC;QAAA,IAAAf,qBACyB,CAAAQ,OAAA,EAAAC,eAAA;QACzBJ,QAAM,CAAAK,CAAA,EAASC,CAAA,EAAAC,KAAM,EAAAC,MAAA,EAAAC,IAAA,EAAmBC,GAAA;MACxC;IACE;EAEF;EAAAC,0BAAO,kBAAAA,CAAAf,MAAA;IAAA,IACLF,MAAA,SAAakB,kBAAA,CAAAhB,MAAA;IAAA,IACX,CAAAF,MAAA,QACA,IAAAmB,KAAA;IAAA,OACF;MACApB,WAAW;QACbC,MAAA;QAGWE;MAIX;MACAC,SAAI,EAAApC,IAAA,CAAAD,GAAA;IACF;EAAqD;EAAAoD,kBACnD,kBAAAA,CAA+B7C,IAAA,EAAAgC,UAAA;IAAA,IAC/BE,YAAA,GAAAF,UAAA,IAA2BhC,IAAA,EAAAO,aAAY;IAAA,IACxC2B,YAAA,YAAAC,WAAA;MAED,IAAI,CAAAC,OAAA,EAAAC,eAAmB,IAAS,MAAAzB,OAAA,CAAAC,GAAA,EAC9BC,0BAAqB,CAAAd,IAAQ,GAAcc,0BACzC,CAAAoB,YAAA;MACA,IACFG,eAAA,IAAAD,OAAA;QACA;UAAAE,CAAO;UAAEC,CAAA;UAAGC,KAAG;UAAAC,MAAO;UAAAC,IAAQ;UAAAC;QAAM,IAAIf,qBAAA,CAAAQ,OAAA,EAAAC,eAAA;QAC1C;UACFC,CAAA;UACAC,CAAO;UAGHC,KAAA;UACEC,MAAE;UAGRC,IAAS;UACXC;QAEO;MAKL;IACI;IAKF,OAAK;EACL;EAAAf,qBAAiB,YAAAA,CAASmB,CAAA,EAAAC,CAAA;IAC1B;QAAIP,MAAC;QAAMC,IAAA;QAAAC,GAAA;QAAAH;MAAA,IAAAO,CAAA;MAAAT,CAAA,GAAAI,IAAA,GAAAM,CAAA,CAAAN,IAAA;MAAAH,CAAA,GAAAI,GAAA,GAAAK,CAAA,CAAAL,GAAA;IAEX;MAIAL,CAAA;MACAC,CAAA;MACEC,KACE;MAAAC,MACE;MAA2BC,IAC3B;MAAiCC;IACnC;EAKF;AAG0B,SAC5BM,iBAAAC,GAAA,EAAA9C,QAAA;EACF,IAAI+C,YAAO;IAAAnD,IAAS,GAAAoD,gBAAA,EAAAD,YAAA,GAAAD,GAAA,CAAAG,OAAA,cAAAF,YAAA,uBAAAA,YAAA,CAAAG,IAAA;EACtBtD,IAAA,IAAAI,QAAA,IAAAlC,cAAA,CAAAgD,GAAA,CAAAlB,IAAA,EAAAI,QAAA,GAAApC,yBAAA;IAEA,IAAAuF,aAAS;IACP,IAAInD,QAAO;MAGX,IAAAoD,KAAO,IAAAD,aAAa,GAAAL,GAAc,CAAAG,OAAI,cAAAE,aAAA,uBAAAA,aAAA,CAAAD,IAAA;MACxC,IAAAE,KAAA;QAEMtF,cAAA,CAAAgD,GAAA,CAAAsC,KAAA,EAAApD,QACJ,GAEOhC,KAAI,CAAAqF,GAAA,CAAAD,KAA0B;QAC9B,IAAAlD,UAAa,GAAAkD,KAAA,CAAAlD,UAAgB;QAC5B,OAAKA,UAAI,IAAAF,QAAA,CAAAgB,qBAAA,CAAAoC,KAAA,CAAAzC,qBAAA,IAAAT,UAAA,CAAAS,qBAAA;UACZ3C,KAAA,CAAAsF,MACI,CAAAF,KAAA,GAAAtF,cACQ,CAAAwF,MAAW,CAAAF,KAAA,GAAA/E,aAAkB,CAAAiF,MAAA,CAAAF,KAAA,GAAA7E,cAAA,CAAA+E,MAAA,CAAAF,KAAA;QAE1C;MACE;IACF;EACF,IACAN,GAAG,EAID,EAAA9C,QAAA,CACJ;AACA;AACF,SAEagD,gBAA0DA,CAAAd,CAAA;EACrE,MAAM,OAAOH,WAAA,SACb,OAAKG,CAAM,YAAAH,WAAA,GAAAG,CAAA;AACX;AACA,IAAAxB,0BAA2B,YAAAA,CAAad,IAAA;IAC1C,WAAAY,OAAA,WAAA+C,GAAA","ignoreList":[]}
1
+ {"version":3,"names":["isClient","useIsomorphicLayoutEffect","isEqualShallow","LayoutHandlers","WeakMap","Nodes","Set","strategy","setOnLayoutStrategy","state","NodeRectCache","ParentRectCache","LastChangeTime","rAF","window","requestAnimationFrame","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","expectedFrameTime","numDroppedFramesUntilPause","layoutOnAnimationFrame","now","Date","timeSinceLastFrame","lastFrameAt","frameCount","runEveryXFrames","hasRecentSyncWork","node","updateLayoutIfChanged","layoutOnAnimationFrame2","frameId","onLayout","get","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRectAsync","getBoundingClientRect","cachedRect","cachedParentRect","set","event","getElementLayoutEvent","process","env","NODE_ENV","console","warn","nativeEvent","layout","getRelativeDimensions","target","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","delete","res"],"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.129.18",
3
+ "version": "1.130.0",
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.129.18",
35
- "@tamagui/is-equal-shallow": "1.129.18"
34
+ "@tamagui/constants": "1.130.0",
35
+ "@tamagui/is-equal-shallow": "1.130.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@tamagui/build": "1.129.18",
38
+ "@tamagui/build": "1.130.0",
39
39
  "react": "*"
40
40
  },
41
41
  "publishConfig": {
package/src/index.ts CHANGED
@@ -78,6 +78,10 @@ if (isClient) {
78
78
  getBoundingClientRectAsync(parentNode),
79
79
  ])
80
80
 
81
+ if (nr === false || pr === false) {
82
+ return
83
+ }
84
+
81
85
  // cancel if we skipped a frame
82
86
  if (frameId !== lastFrameAt) {
83
87
  return
@@ -290,11 +294,14 @@ function ensureWebElement<X>(x: X): HTMLElement | undefined {
290
294
 
291
295
  const getBoundingClientRectAsync = (
292
296
  node: HTMLElement | null
293
- ): Promise<DOMRectReadOnly> => {
294
- return new Promise<DOMRectReadOnly>((res) => {
297
+ ): Promise<DOMRectReadOnly | false> => {
298
+ return new Promise<DOMRectReadOnly | false>((res) => {
295
299
  if (!node || node.nodeType !== 1) return
296
300
  const io = new IntersectionObserver(
297
301
  (entries) => {
302
+ if (!entries[0].isIntersecting) {
303
+ return res(false)
304
+ }
298
305
  io.disconnect()
299
306
  return res(entries[0].boundingClientRect)
300
307
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "mappings": "AAEA,cAAc,iBAAiB,OAAO;KAKjC,+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;AAkHhB,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;AAkElB,OAAO,cAAM,UAAWb,MAAM,gBAAc",
2
+ "mappings": "AAEA,cAAc,iBAAiB,OAAO;KAKjC,+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;AAsHhB,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;AAqElB,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>()\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\nif (isClient) {\n if (rAF) {\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 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 // 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 runEveryXFrames = 6\n\n function layoutOnAnimationFrame() {\n const now = Date.now()\n const timeSinceLastFrame = now - lastFrameAt\n lastFrameAt = now\n\n if (frameCount < runEveryXFrames) {\n frameCount++\n rAF!(layoutOnAnimationFrame)\n return\n }\n\n frameCount = 0\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 // 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 }\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> => {\n return new Promise<DOMRectReadOnly>((res) => {\n if (!node || node.nodeType !== 1) return\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>()\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\nif (isClient) {\n if (rAF) {\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 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 runEveryXFrames = 6\n\n function layoutOnAnimationFrame() {\n const now = Date.now()\n const timeSinceLastFrame = now - lastFrameAt\n lastFrameAt = now\n\n if (frameCount < runEveryXFrames) {\n frameCount++\n rAF!(layoutOnAnimationFrame)\n return\n }\n\n frameCount = 0\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 // 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 }\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\n const io = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return res(false)\n }\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
  }