@tamagui/core 1.86.3 → 1.86.5

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.
@@ -18,8 +18,8 @@ __export(useElementLayout_exports, {
18
18
  useElementLayout: () => useElementLayout
19
19
  });
20
20
  module.exports = __toCommonJS(useElementLayout_exports);
21
- var import_constants = require("@tamagui/constants"), import_getBoundingClientRect = require("../helpers/getBoundingClientRect"), import_getRect = require("../helpers/getRect");
22
- const LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutTimeouts = /* @__PURE__ */ new WeakMap();
21
+ var import_constants = require("@tamagui/constants"), import_getBoundingClientRect = require("../helpers/getBoundingClientRect");
22
+ const LayoutHandlers = /* @__PURE__ */ new WeakMap();
23
23
  let resizeObserver = null;
24
24
  typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
25
25
  for (const { target } of entries) {
@@ -37,17 +37,41 @@ typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new Resiz
37
37
  });
38
38
  }
39
39
  }));
40
- const measureLayout = (node, relativeTo, callback) => {
40
+ const cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
41
41
  const relativeNode = relativeTo || (node == null ? void 0 : node.parentNode);
42
42
  if (relativeNode instanceof HTMLElement) {
43
- clearTimeout(LayoutTimeouts.get(relativeNode));
44
- const tm = setTimeout(() => {
45
- const relativeRect = (0, import_getBoundingClientRect.getBoundingClientRect)(relativeNode), { height, left, top, width } = (0, import_getRect.getRect)(node), x = left - relativeRect.left, y = top - relativeRect.top;
46
- callback(x, y, width, height, left, top), LayoutTimeouts.delete(relativeNode);
47
- }, 0);
48
- LayoutTimeouts.set(relativeNode, tm);
43
+ const now = Date.now();
44
+ cache.set(node, now), Promise.all([
45
+ getBoundingClientRectAsync(node),
46
+ getBoundingClientRectAsync(relativeNode)
47
+ ]).then(([nodeDim, relativeNodeDim]) => {
48
+ if (relativeNodeDim && nodeDim && cache.get(node) === now) {
49
+ const { x, y, width, height, left, top } = getRelativeDimensions(
50
+ nodeDim,
51
+ relativeNodeDim
52
+ );
53
+ callback(x, y, width, height, left, top);
54
+ }
55
+ });
49
56
  }
50
- };
57
+ }, getRelativeDimensions = (a, b) => {
58
+ const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
59
+ return { x, y, width, height, left, top };
60
+ }, getBoundingClientRectAsync = (element) => new Promise((resolve) => {
61
+ function fallbackToSync() {
62
+ resolve((0, import_getBoundingClientRect.getBoundingClientRect)(element));
63
+ }
64
+ const tm = setTimeout(fallbackToSync, 10);
65
+ new IntersectionObserver(
66
+ (entries, ob) => {
67
+ var _a;
68
+ clearTimeout(tm), ob.disconnect(), resolve((_a = entries[0]) == null ? void 0 : _a.boundingClientRect);
69
+ },
70
+ {
71
+ threshold: 1e-4
72
+ }
73
+ ).observe(element);
74
+ });
51
75
  function useElementLayout(ref, onLayout) {
52
76
  (0, import_constants.useIsomorphicLayoutEffect)(() => {
53
77
  if (!resizeObserver || !onLayout)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useElementLayout.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAG1C,+BAAsC,6CACtC,iBAAwB;AAExB,MAAM,iBAAiB,oBAAI,QAA2B,GAChD,iBAAiB,oBAAI,QAAsB;AAmBjD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGI,MAAM,gBAAgB,CAC3B,MACA,YACA,aACG;AACH,QAAM,eAAe,eAAc,6BAAM;AACzC,MAAI,wBAAwB,aAAa;AAEvC,iBAAa,eAAe,IAAI,YAAY,CAAC;AAE7C,UAAM,KAAK,WAAW,MAAM;AAC1B,YAAM,mBAAe,oDAAsB,YAAY,GACjD,EAAE,QAAQ,MAAM,KAAK,MAAM,QAAI,wBAAQ,IAAI,GAC3C,IAAI,OAAO,aAAa,MACxB,IAAI,MAAM,aAAa;AAC7B,eAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG,GACvC,eAAe,OAAO,YAAY;AAAA,IACpC,GAAG,CAAC;AACJ,mBAAe,IAAI,cAAc,EAAE;AAAA,EACrC;AACF;AAEO,SAAS,iBACd,KACA,UACA;AACA,kDAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,iDAAgB,UAAU;AAAA,MAC5B;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAE1C,+BAAsC;AAEtC,MAAM,iBAAiB,oBAAI,QAA2B;AAoBtD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGH,MAAM,QAAQ,oBAAI,QAAQ,GAEb,gBAAgB,CAC3B,MACA,YACA,aAQG;AACH,QAAM,eAAe,eAAc,6BAAM;AACzC,MAAI,wBAAwB,aAAa;AACvC,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,IAAI,MAAM,GAAG,GACnB,QAAQ,IAAI;AAAA,MACV,2BAA2B,IAAI;AAAA,MAC/B,2BAA2B,YAAY;AAAA,IACzC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,eAAe,MAAM;AACtC,UAAI,mBAAmB,WAAW,MAAM,IAAI,IAAI,MAAM,KAAK;AACzD,cAAM,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,UACzC;AAAA,UACA;AAAA,QACF;AACA,iBAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH;AACF,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,GAEM,6BAA6B,CACjC,YAEO,IAAI,QAAQ,CAAC,YAAY;AAC9B,WAAS,iBAAiB;AACxB,gBAAQ,oDAAsB,OAAO,CAAC;AAAA,EACxC;AACA,QAAM,KAAK,WAAW,gBAAgB,EAAE;AAWxC,EAViB,IAAI;AAAA,IACnB,CAAC,SAAS,OAAO;AA7FvB;AA8FQ,mBAAa,EAAE,GACf,GAAG,WAAW,GACd,SAAQ,aAAQ,CAAC,MAAT,mBAAY,kBAAkB;AAAA,IACxC;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF,EACS,QAAQ,OAAO;AAC1B,CAAC;AAGI,SAAS,iBACd,KACA,UACA;AACA,kDAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,iDAAgB,UAAU;AAAA,MAC5B;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
5
5
  "names": []
6
6
  }
@@ -19,8 +19,8 @@ __export(useElementLayout_exports, {
19
19
  useElementLayout: () => useElementLayout
20
20
  });
21
21
  module.exports = __toCommonJS(useElementLayout_exports);
22
- var import_constants = require("@tamagui/constants"), import_getBoundingClientRect = require("../helpers/getBoundingClientRect"), import_getRect = require("../helpers/getRect");
23
- const LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutTimeouts = /* @__PURE__ */ new WeakMap();
22
+ var import_constants = require("@tamagui/constants"), import_getBoundingClientRect = require("../helpers/getBoundingClientRect");
23
+ const LayoutHandlers = /* @__PURE__ */ new WeakMap();
24
24
  let resizeObserver = null;
25
25
  typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
26
26
  for (const { target } of entries) {
@@ -38,17 +38,41 @@ typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new Resiz
38
38
  });
39
39
  }
40
40
  }));
41
- const measureLayout = (node, relativeTo, callback) => {
41
+ const cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
42
42
  const relativeNode = relativeTo || (node == null ? void 0 : node.parentNode);
43
43
  if (relativeNode instanceof HTMLElement) {
44
- clearTimeout(LayoutTimeouts.get(relativeNode));
45
- const tm = setTimeout(() => {
46
- const relativeRect = (0, import_getBoundingClientRect.getBoundingClientRect)(relativeNode), { height, left, top, width } = (0, import_getRect.getRect)(node), x = left - relativeRect.left, y = top - relativeRect.top;
47
- callback(x, y, width, height, left, top), LayoutTimeouts.delete(relativeNode);
48
- }, 0);
49
- LayoutTimeouts.set(relativeNode, tm);
44
+ const now = Date.now();
45
+ cache.set(node, now), Promise.all([
46
+ getBoundingClientRectAsync(node),
47
+ getBoundingClientRectAsync(relativeNode)
48
+ ]).then(([nodeDim, relativeNodeDim]) => {
49
+ if (relativeNodeDim && nodeDim && cache.get(node) === now) {
50
+ const { x, y, width, height, left, top } = getRelativeDimensions(
51
+ nodeDim,
52
+ relativeNodeDim
53
+ );
54
+ callback(x, y, width, height, left, top);
55
+ }
56
+ });
50
57
  }
51
- };
58
+ }, getRelativeDimensions = (a, b) => {
59
+ const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
60
+ return { x, y, width, height, left, top };
61
+ }, getBoundingClientRectAsync = (element) => new Promise((resolve) => {
62
+ function fallbackToSync() {
63
+ resolve((0, import_getBoundingClientRect.getBoundingClientRect)(element));
64
+ }
65
+ const tm = setTimeout(fallbackToSync, 10);
66
+ new IntersectionObserver(
67
+ (entries, ob) => {
68
+ var _a;
69
+ clearTimeout(tm), ob.disconnect(), resolve((_a = entries[0]) == null ? void 0 : _a.boundingClientRect);
70
+ },
71
+ {
72
+ threshold: 1e-4
73
+ }
74
+ ).observe(element);
75
+ });
52
76
  function useElementLayout(ref, onLayout) {
53
77
  (0, import_constants.useIsomorphicLayoutEffect)(() => {
54
78
  if (!resizeObserver || !onLayout)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useElementLayout.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAG1C,+BAAsC,6CACtC,iBAAwB;AAExB,MAAM,iBAAiB,oBAAI,QAA2B,GAChD,iBAAiB,oBAAI,QAAsB;AAmBjD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGI,MAAM,gBAAgB,CAC3B,MACA,YACA,aACG;AACH,QAAM,eAAe,eAAc,6BAAM;AACzC,MAAI,wBAAwB,aAAa;AAEvC,iBAAa,eAAe,IAAI,YAAY,CAAC;AAE7C,UAAM,KAAK,WAAW,MAAM;AAC1B,YAAM,mBAAe,oDAAsB,YAAY,GACjD,EAAE,QAAQ,MAAM,KAAK,MAAM,QAAI,wBAAQ,IAAI,GAC3C,IAAI,OAAO,aAAa,MACxB,IAAI,MAAM,aAAa;AAC7B,eAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG,GACvC,eAAe,OAAO,YAAY;AAAA,IACpC,GAAG,CAAC;AACJ,mBAAe,IAAI,cAAc,EAAE;AAAA,EACrC;AACF;AAEO,SAAS,iBACd,KACA,UACA;AACA,kDAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,iDAAgB,UAAU;AAAA,MAC5B;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAE1C,+BAAsC;AAEtC,MAAM,iBAAiB,oBAAI,QAA2B;AAoBtD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGH,MAAM,QAAQ,oBAAI,QAAQ,GAEb,gBAAgB,CAC3B,MACA,YACA,aAQG;AACH,QAAM,eAAe,eAAc,6BAAM;AACzC,MAAI,wBAAwB,aAAa;AACvC,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,IAAI,MAAM,GAAG,GACnB,QAAQ,IAAI;AAAA,MACV,2BAA2B,IAAI;AAAA,MAC/B,2BAA2B,YAAY;AAAA,IACzC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,eAAe,MAAM;AACtC,UAAI,mBAAmB,WAAW,MAAM,IAAI,IAAI,MAAM,KAAK;AACzD,cAAM,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,UACzC;AAAA,UACA;AAAA,QACF;AACA,iBAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH;AACF,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,GAEM,6BAA6B,CACjC,YAEO,IAAI,QAAQ,CAAC,YAAY;AAC9B,WAAS,iBAAiB;AACxB,gBAAQ,oDAAsB,OAAO,CAAC;AAAA,EACxC;AACA,QAAM,KAAK,WAAW,gBAAgB,EAAE;AAWxC,EAViB,IAAI;AAAA,IACnB,CAAC,SAAS,OAAO;AA7FvB;AA8FQ,mBAAa,EAAE,GACf,GAAG,WAAW,GACd,SAAQ,aAAQ,CAAC,MAAT,mBAAY,kBAAkB;AAAA,IACxC;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF,EACS,QAAQ,OAAO;AAC1B,CAAC;AAGI,SAAS,iBACd,KACA,UACA;AACA,kDAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,iDAAgB,UAAU;AAAA,MAC5B;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
5
5
  "names": []
6
6
  }
package/dist/cjs/index.js CHANGED
@@ -56,7 +56,11 @@ const baseViews = (0, import_getBaseViews.getBaseViews)();
56
56
  ...plainDOMProps
57
57
  } = propsIn;
58
58
  if (willHydrate || isDOM) {
59
- const hostRef = { current: stateRef.current.host };
59
+ const hostRef = {
60
+ get current() {
61
+ return stateRef.current.host;
62
+ }
63
+ };
60
64
  (0, import_usePlatformMethods.usePlatformMethods)(hostRef), (0, import_useElementLayout.useElementLayout)(hostRef, isDOM ? onLayout : void 0), (0, import_react_native_use_responder_events.useResponderEvents)(
61
65
  hostRef,
62
66
  isDOM ? {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAmC,uDAUnC,aAMO,yBACP,eAAyC,kBAEzC,6BAAoC,kCACpC,sBAA6B,2BAC7B,0BAAiC,qCACjC,4BAAmC,uCAEnC,sBAAgC;AAqBhC,wBAAc,yBA7Cd;AAgDA,wBAAc,+BAhDd;AAkDA,MAAM,gBAAY,kCAAa;AAAA,IAI/B,uBAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AACnB;AACxC,YAAM,QAAQ,OAAO,eAAgB,UAG/B;AAAA;AAAA,QAEJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QAEA,GAAG;AAAA,MACL,IAAI;AAEJ,UAAI,eAAe,OAAO;AAExB,cAAM,UAAU,EAAE,SAAS,SAAS,QAAQ,KAAgB;AAC5D,0DAAmB,OAAO,OAC1B,0CAAiB,SAAU,QAAqB,WAAb,MAA6B,OAChE;AAAA,UACE;AAAA,UACC,QAEI;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,IAlBA;AAAA,QAmBN;AAAA,MACF;AAEA,UAAI,OAAO;AAET,YAAI,cAAc,QAAQ,WAAW;AACnC,gBAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,UAAI,YAAY,SACd,cAAc,WAAW,WAEvB,QACF,cAAc,MAAM,MAElB,OAAO,UAAW,aACpB,cAAc,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,QAErE;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAAA,EA0DzE;AAwBF,CAAC;AAQM,MAAM,OAAO,WAAAA,MACP,QAAQ,WAAAC,OACR,OAAO,WAAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAmC,uDAUnC,aAMO,yBACP,eAAyC,kBAEzC,6BAAoC,kCACpC,sBAA6B,2BAC7B,0BAAiC,qCACjC,4BAAmC,uCAEnC,sBAAgC;AAqBhC,wBAAc,yBA7Cd;AAgDA,wBAAc,+BAhDd;AAkDA,MAAM,gBAAY,kCAAa;AAAA,IAI/B,uBAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AACnB;AACxC,YAAM,QAAQ,OAAO,eAAgB,UAG/B;AAAA;AAAA,QAEJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QAEA,GAAG;AAAA,MACL,IAAI;AAEJ,UAAI,eAAe,OAAO;AAExB,cAAM,UAAU;AAAA,UACd,IAAI,UAAU;AACZ,mBAAO,SAAS,QAAQ;AAAA,UAC1B;AAAA,QACF;AACA,0DAAmB,OAAO,OAC1B,0CAAiB,SAAU,QAAqB,WAAb,MAA6B,OAChE;AAAA,UACE;AAAA,UACC,QAEI;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,IAlBA;AAAA,QAmBN;AAAA,MACF;AAEA,UAAI,OAAO;AAET,YAAI,cAAc,QAAQ,WAAW;AACnC,gBAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,UAAI,YAAY,SACd,cAAc,WAAW,WAEvB,QACF,cAAc,MAAM,MAElB,OAAO,UAAW,aACpB,cAAc,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,QAErE;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAAA,EA0DzE;AAwBF,CAAC;AAQM,MAAM,OAAO,WAAAA,MACP,QAAQ,WAAAC,OACR,OAAO,WAAAC;",
5
5
  "names": ["WebView", "WebStack", "WebText"]
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAmC,uDAUnC,aAMO,yBACP,eAAyC,kBAEzC,6BAAoC,kCACpC,sBAA6B,2BAC7B,0BAAiC,qCACjC,4BAAmC,uCAEnC,sBAAgC;AAqBhC,wBAAc,yBA7Cd;AAgDA,wBAAc,+BAhDd;AAkDA,MAAM,gBAAY,kCAAa;AAAA,IAI/B,uBAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AAAA,EAqF/D;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAWrE,QATI,WACE,OAAO,YACT,UAAU,UAAa,OAAO,UAE5B,OAAO,WACT,UAAU,SAAY,OAAO,UAI7B,aAAa;AACf,UAAI,QAAQ;AACV,cAAM,EAAE,WAAW,YAAY,QAAQ,IAAI,QACrC,cAAc;AAAA,UAClB;AAAA,UACA,YAAY,cAAc;AAAA,QAC5B;AACA,QAAI,cAAc,YAEhB,YAAY,iBAAa,iCAAqB,SAAS,UAAU,IAEnE,OAAO,OAAO,WAAW,WAAW;AAAA,MACtC;AAAA,WACK;AAGL,MAAI,UAAU,UAAU,YACtB,OAAO,UAAU,UAAU;AAI7B,YAAM,mBAAe,qCAAgB,MAAM;AAE3C,UAAI,WACE,QAAQ,IAAI,aAAa,iBACvB,UAAU,SACZ,QAAQ;AAAA,QACN,sBAAsB,CAAC,CAAC,OAAO,OAAO,sCAAsC,OAAO;AAAA,UACjF,gBAAgB,CAAC;AAAA,QACnB,CAAC;AAAA,MACH,GAIA,OAAO;AACT,mBAAW,OAAO,cAAc;AAC9B,gBAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,oBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,QAClC,iCAAqB,IAAI,GAAG,IAC5B;AAAA,QACR;AAAA,IAGN;AAAA,EAEJ;AAAA,EAIE,YAAY,aAAa,UAAU,WAAW,QAAQ,cAAc;AAClE,QAAI,QAAQ,IAAI,aAAa,QAK7B;AAAA,UAAI,gBAAgB,UAAU;AAE5B,mBAAO,gDAAoB,UAAU,WAAW,SAAS;AAG3D,UAAI,QAAQ,IAAI,iCACV,gBAAgB,UAAU;AAE5B,yBAAU,WAAW,cACd,4BAAc,WAAW,SAAS;AAAA;AAAA,EAG/C;AAEJ,CAAC;AAED,MAAM,8BAA8B;AAAA,EAClC,SAAS;AACX,GAIa,OAAO,WAAAA,MACP,QAAQ,WAAAC,OACR,OAAO,WAAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAmC,uDAUnC,aAMO,yBACP,eAAyC,kBAEzC,6BAAoC,kCACpC,sBAA6B,2BAC7B,0BAAiC,qCACjC,4BAAmC,uCAEnC,sBAAgC;AAqBhC,wBAAc,yBA7Cd;AAgDA,wBAAc,+BAhDd;AAkDA,MAAM,gBAAY,kCAAa;AAAA,IAI/B,uBAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AAAA,EAyF/D;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAWrE,QATI,WACE,OAAO,YACT,UAAU,UAAa,OAAO,UAE5B,OAAO,WACT,UAAU,SAAY,OAAO,UAI7B,aAAa;AACf,UAAI,QAAQ;AACV,cAAM,EAAE,WAAW,YAAY,QAAQ,IAAI,QACrC,cAAc;AAAA,UAClB;AAAA,UACA,YAAY,cAAc;AAAA,QAC5B;AACA,QAAI,cAAc,YAEhB,YAAY,iBAAa,iCAAqB,SAAS,UAAU,IAEnE,OAAO,OAAO,WAAW,WAAW;AAAA,MACtC;AAAA,WACK;AAGL,MAAI,UAAU,UAAU,YACtB,OAAO,UAAU,UAAU;AAI7B,YAAM,mBAAe,qCAAgB,MAAM;AAE3C,UAAI,WACE,QAAQ,IAAI,aAAa,iBACvB,UAAU,SACZ,QAAQ;AAAA,QACN,sBAAsB,CAAC,CAAC,OAAO,OAAO,sCAAsC,OAAO;AAAA,UACjF,gBAAgB,CAAC;AAAA,QACnB,CAAC;AAAA,MACH,GAIA,OAAO;AACT,mBAAW,OAAO,cAAc;AAC9B,gBAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,oBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,QAClC,iCAAqB,IAAI,GAAG,IAC5B;AAAA,QACR;AAAA,IAGN;AAAA,EAEJ;AAAA,EAIE,YAAY,aAAa,UAAU,WAAW,QAAQ,cAAc;AAClE,QAAI,QAAQ,IAAI,aAAa,QAK7B;AAAA,UAAI,gBAAgB,UAAU;AAE5B,mBAAO,gDAAoB,UAAU,WAAW,SAAS;AAG3D,UAAI,QAAQ,IAAI,iCACV,gBAAgB,UAAU;AAE5B,yBAAU,WAAW,cACd,4BAAc,WAAW,SAAS;AAAA;AAAA,EAG/C;AAEJ,CAAC;AAED,MAAM,8BAA8B;AAAA,EAClC,SAAS;AACX,GAIa,OAAO,WAAAA,MACP,QAAQ,WAAAC,OACR,OAAO,WAAAC;",
5
5
  "names": ["WebView", "WebStack", "WebText"]
6
6
  }
@@ -1,7 +1,6 @@
1
1
  import { useIsomorphicLayoutEffect } from "@tamagui/constants";
2
2
  import { getBoundingClientRect } from "../helpers/getBoundingClientRect";
3
- import { getRect } from "../helpers/getRect";
4
- const LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutTimeouts = /* @__PURE__ */ new WeakMap();
3
+ const LayoutHandlers = /* @__PURE__ */ new WeakMap();
5
4
  let resizeObserver = null;
6
5
  typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
7
6
  for (const { target } of entries) {
@@ -19,17 +18,40 @@ typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new Resiz
19
18
  });
20
19
  }
21
20
  }));
22
- const measureLayout = (node, relativeTo, callback) => {
21
+ const cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
23
22
  const relativeNode = relativeTo || node?.parentNode;
24
23
  if (relativeNode instanceof HTMLElement) {
25
- clearTimeout(LayoutTimeouts.get(relativeNode));
26
- const tm = setTimeout(() => {
27
- const relativeRect = getBoundingClientRect(relativeNode), { height, left, top, width } = getRect(node), x = left - relativeRect.left, y = top - relativeRect.top;
28
- callback(x, y, width, height, left, top), LayoutTimeouts.delete(relativeNode);
29
- }, 0);
30
- LayoutTimeouts.set(relativeNode, tm);
24
+ const now = Date.now();
25
+ cache.set(node, now), Promise.all([
26
+ getBoundingClientRectAsync(node),
27
+ getBoundingClientRectAsync(relativeNode)
28
+ ]).then(([nodeDim, relativeNodeDim]) => {
29
+ if (relativeNodeDim && nodeDim && cache.get(node) === now) {
30
+ const { x, y, width, height, left, top } = getRelativeDimensions(
31
+ nodeDim,
32
+ relativeNodeDim
33
+ );
34
+ callback(x, y, width, height, left, top);
35
+ }
36
+ });
31
37
  }
32
- };
38
+ }, getRelativeDimensions = (a, b) => {
39
+ const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
40
+ return { x, y, width, height, left, top };
41
+ }, getBoundingClientRectAsync = (element) => new Promise((resolve) => {
42
+ function fallbackToSync() {
43
+ resolve(getBoundingClientRect(element));
44
+ }
45
+ const tm = setTimeout(fallbackToSync, 10);
46
+ new IntersectionObserver(
47
+ (entries, ob) => {
48
+ clearTimeout(tm), ob.disconnect(), resolve(entries[0]?.boundingClientRect);
49
+ },
50
+ {
51
+ threshold: 1e-4
52
+ }
53
+ ).observe(element);
54
+ });
33
55
  function useElementLayout(ref, onLayout) {
34
56
  useIsomorphicLayoutEffect(() => {
35
57
  if (!resizeObserver || !onLayout)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useElementLayout.tsx"],
4
- "mappings": "AAAA,SAAS,iCAAiC;AAG1C,SAAS,6BAA6B;AACtC,SAAS,eAAe;AAExB,MAAM,iBAAiB,oBAAI,QAA2B,GAChD,iBAAiB,oBAAI,QAAsB;AAmBjD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGI,MAAM,gBAAgB,CAC3B,MACA,YACA,aACG;AACH,QAAM,eAAe,cAAc,MAAM;AACzC,MAAI,wBAAwB,aAAa;AAEvC,iBAAa,eAAe,IAAI,YAAY,CAAC;AAE7C,UAAM,KAAK,WAAW,MAAM;AAC1B,YAAM,eAAe,sBAAsB,YAAY,GACjD,EAAE,QAAQ,MAAM,KAAK,MAAM,IAAI,QAAQ,IAAI,GAC3C,IAAI,OAAO,aAAa,MACxB,IAAI,MAAM,aAAa;AAC7B,eAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG,GACvC,eAAe,OAAO,YAAY;AAAA,IACpC,GAAG,CAAC;AACJ,mBAAe,IAAI,cAAc,EAAE;AAAA,EACrC;AACF;AAEO,SAAS,iBACd,KACA,UACA;AACA,4BAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,wBAAgB,UAAU,IAAI;AAAA,MAChC;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
4
+ "mappings": "AAAA,SAAS,iCAAiC;AAE1C,SAAS,6BAA6B;AAEtC,MAAM,iBAAiB,oBAAI,QAA2B;AAoBtD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGH,MAAM,QAAQ,oBAAI,QAAQ,GAEb,gBAAgB,CAC3B,MACA,YACA,aAQG;AACH,QAAM,eAAe,cAAc,MAAM;AACzC,MAAI,wBAAwB,aAAa;AACvC,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,IAAI,MAAM,GAAG,GACnB,QAAQ,IAAI;AAAA,MACV,2BAA2B,IAAI;AAAA,MAC/B,2BAA2B,YAAY;AAAA,IACzC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,eAAe,MAAM;AACtC,UAAI,mBAAmB,WAAW,MAAM,IAAI,IAAI,MAAM,KAAK;AACzD,cAAM,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,UACzC;AAAA,UACA;AAAA,QACF;AACA,iBAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH;AACF,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,GAEM,6BAA6B,CACjC,YAEO,IAAI,QAAQ,CAAC,YAAY;AAC9B,WAAS,iBAAiB;AACxB,YAAQ,sBAAsB,OAAO,CAAC;AAAA,EACxC;AACA,QAAM,KAAK,WAAW,gBAAgB,EAAE;AAWxC,EAViB,IAAI;AAAA,IACnB,CAAC,SAAS,OAAO;AACf,mBAAa,EAAE,GACf,GAAG,WAAW,GACd,QAAQ,QAAQ,CAAC,GAAG,kBAAkB;AAAA,IACxC;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF,EACS,QAAQ,OAAO;AAC1B,CAAC;AAGI,SAAS,iBACd,KACA,UACA;AACA,4BAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,wBAAgB,UAAU,IAAI;AAAA,MAChC;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,6 @@
1
1
  import { useIsomorphicLayoutEffect } from "@tamagui/constants";
2
2
  import { getBoundingClientRect } from "../helpers/getBoundingClientRect";
3
- import { getRect } from "../helpers/getRect";
4
- const LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutTimeouts = /* @__PURE__ */ new WeakMap();
3
+ const LayoutHandlers = /* @__PURE__ */ new WeakMap();
5
4
  let resizeObserver = null;
6
5
  typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
7
6
  for (const { target } of entries) {
@@ -19,17 +18,40 @@ typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new Resiz
19
18
  });
20
19
  }
21
20
  }));
22
- const measureLayout = (node, relativeTo, callback) => {
21
+ const cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
23
22
  const relativeNode = relativeTo || node?.parentNode;
24
23
  if (relativeNode instanceof HTMLElement) {
25
- clearTimeout(LayoutTimeouts.get(relativeNode));
26
- const tm = setTimeout(() => {
27
- const relativeRect = getBoundingClientRect(relativeNode), { height, left, top, width } = getRect(node), x = left - relativeRect.left, y = top - relativeRect.top;
28
- callback(x, y, width, height, left, top), LayoutTimeouts.delete(relativeNode);
29
- }, 0);
30
- LayoutTimeouts.set(relativeNode, tm);
24
+ const now = Date.now();
25
+ cache.set(node, now), Promise.all([
26
+ getBoundingClientRectAsync(node),
27
+ getBoundingClientRectAsync(relativeNode)
28
+ ]).then(([nodeDim, relativeNodeDim]) => {
29
+ if (relativeNodeDim && nodeDim && cache.get(node) === now) {
30
+ const { x, y, width, height, left, top } = getRelativeDimensions(
31
+ nodeDim,
32
+ relativeNodeDim
33
+ );
34
+ callback(x, y, width, height, left, top);
35
+ }
36
+ });
31
37
  }
32
- };
38
+ }, getRelativeDimensions = (a, b) => {
39
+ const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
40
+ return { x, y, width, height, left, top };
41
+ }, getBoundingClientRectAsync = (element) => new Promise((resolve) => {
42
+ function fallbackToSync() {
43
+ resolve(getBoundingClientRect(element));
44
+ }
45
+ const tm = setTimeout(fallbackToSync, 10);
46
+ new IntersectionObserver(
47
+ (entries, ob) => {
48
+ clearTimeout(tm), ob.disconnect(), resolve(entries[0]?.boundingClientRect);
49
+ },
50
+ {
51
+ threshold: 1e-4
52
+ }
53
+ ).observe(element);
54
+ });
33
55
  function useElementLayout(ref, onLayout) {
34
56
  useIsomorphicLayoutEffect(() => {
35
57
  if (!resizeObserver || !onLayout)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useElementLayout.tsx"],
4
- "mappings": "AAAA,SAAS,iCAAiC;AAG1C,SAAS,6BAA6B;AACtC,SAAS,eAAe;AAExB,MAAM,iBAAiB,oBAAI,QAA2B,GAChD,iBAAiB,oBAAI,QAAsB;AAmBjD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGI,MAAM,gBAAgB,CAC3B,MACA,YACA,aACG;AACH,QAAM,eAAe,cAAc,MAAM;AACzC,MAAI,wBAAwB,aAAa;AAEvC,iBAAa,eAAe,IAAI,YAAY,CAAC;AAE7C,UAAM,KAAK,WAAW,MAAM;AAC1B,YAAM,eAAe,sBAAsB,YAAY,GACjD,EAAE,QAAQ,MAAM,KAAK,MAAM,IAAI,QAAQ,IAAI,GAC3C,IAAI,OAAO,aAAa,MACxB,IAAI,MAAM,aAAa;AAC7B,eAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG,GACvC,eAAe,OAAO,YAAY;AAAA,IACpC,GAAG,CAAC;AACJ,mBAAe,IAAI,cAAc,EAAE;AAAA,EACrC;AACF;AAEO,SAAS,iBACd,KACA,UACA;AACA,4BAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,wBAAgB,UAAU,IAAI;AAAA,MAChC;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
4
+ "mappings": "AAAA,SAAS,iCAAiC;AAE1C,SAAS,6BAA6B;AAEtC,MAAM,iBAAiB,oBAAI,QAA2B;AAoBtD,IAAI,iBAAwC;AAExC,OAAO,SAAW,OAAe,oBAAoB,WACvD,iBAAiB,IAAI,eAAe,CAAC,YAAY;AAC/C,aAAW,EAAE,OAAO,KAAK,SAAS;AAChC,UAAM,WAAW,eAAe,IAAI,MAAM;AAC1C,QAAI,OAAO,YAAa;AAAY;AACpC,kBAAc,QAAuB,MAAM,CAAC,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AAC7E,eAAS;AAAA,QACP,aAAa;AAAA,UACX,QAAQ,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI;AAAA,UACzC;AAAA,QACF;AAAA,QACA,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;AAGH,MAAM,QAAQ,oBAAI,QAAQ,GAEb,gBAAgB,CAC3B,MACA,YACA,aAQG;AACH,QAAM,eAAe,cAAc,MAAM;AACzC,MAAI,wBAAwB,aAAa;AACvC,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,IAAI,MAAM,GAAG,GACnB,QAAQ,IAAI;AAAA,MACV,2BAA2B,IAAI;AAAA,MAC/B,2BAA2B,YAAY;AAAA,IACzC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,eAAe,MAAM;AACtC,UAAI,mBAAmB,WAAW,MAAM,IAAI,IAAI,MAAM,KAAK;AACzD,cAAM,EAAE,GAAG,GAAG,OAAO,QAAQ,MAAM,IAAI,IAAI;AAAA,UACzC;AAAA,UACA;AAAA,QACF;AACA,iBAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,GAAG;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH;AACF,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,GAEM,6BAA6B,CACjC,YAEO,IAAI,QAAQ,CAAC,YAAY;AAC9B,WAAS,iBAAiB;AACxB,YAAQ,sBAAsB,OAAO,CAAC;AAAA,EACxC;AACA,QAAM,KAAK,WAAW,gBAAgB,EAAE;AAWxC,EAViB,IAAI;AAAA,IACnB,CAAC,SAAS,OAAO;AACf,mBAAa,EAAE,GACf,GAAG,WAAW,GACd,QAAQ,QAAQ,CAAC,GAAG,kBAAkB;AAAA,IACxC;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IACb;AAAA,EACF,EACS,QAAQ,OAAO;AAC1B,CAAC;AAGI,SAAS,iBACd,KACA,UACA;AACA,4BAA0B,MAAM;AAC9B,QAAI,CAAC,kBAAkB,CAAC;AAAU;AAClC,UAAM,OAAO,IAAI;AACjB,QAAK;AACL,4BAAe,IAAI,MAAM,QAAQ,GACjC,eAAe,QAAQ,IAAI,GACpB,MAAM;AACX,wBAAgB,UAAU,IAAI;AAAA,MAChC;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;",
5
5
  "names": []
6
6
  }
package/dist/esm/index.js CHANGED
@@ -47,7 +47,11 @@ setupHooks({
47
47
  ...plainDOMProps
48
48
  } = propsIn;
49
49
  if (willHydrate || isDOM) {
50
- const hostRef = { current: stateRef.current.host };
50
+ const hostRef = {
51
+ get current() {
52
+ return stateRef.current.host;
53
+ }
54
+ };
51
55
  usePlatformMethods(hostRef), useElementLayout(hostRef, isDOM ? onLayout : void 0), useResponderEvents(
52
56
  hostRef,
53
57
  isDOM ? {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AAUnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER;AAAA,OACK;AACP,OAAyC;AAEzC,OAAoC;AACpC,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAEnC,OAAgC;AAqBhC,cAAc;AAGd,cAAc;AAEd,MAAM,YAAY,aAAa;AAI/B,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AACnB;AACxC,YAAM,QAAQ,OAAO,eAAgB,UAG/B;AAAA;AAAA,QAEJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QAEA,GAAG;AAAA,MACL,IAAI;AAEJ,UAAI,eAAe,OAAO;AAExB,cAAM,UAAU,EAAE,SAAS,SAAS,QAAQ,KAAgB;AAC5D,2BAAmB,OAAO,GAC1B,iBAAiB,SAAU,QAAqB,WAAb,MAA6B,GAChE;AAAA,UACE;AAAA,UACC,QAEI;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,IAlBA;AAAA,QAmBN;AAAA,MACF;AAEA,UAAI,OAAO;AAET,YAAI,cAAc,QAAQ,WAAW;AACnC,gBAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,UAAI,YAAY,SACd,cAAc,WAAW,WAEvB,QACF,cAAc,MAAM,MAElB,OAAO,UAAW,aACpB,cAAc,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,QAErE;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAAA,EA0DzE;AAwBF,CAAC;AAQM,MAAM,OAAO,SACP,QAAQ,UACR,OAAO;",
4
+ "mappings": "AAAA,SAAS,0BAA0B;AAUnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER;AAAA,OACK;AACP,OAAyC;AAEzC,OAAoC;AACpC,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAEnC,OAAgC;AAqBhC,cAAc;AAGd,cAAc;AAEd,MAAM,YAAY,aAAa;AAI/B,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AACnB;AACxC,YAAM,QAAQ,OAAO,eAAgB,UAG/B;AAAA;AAAA,QAEJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QAEA,GAAG;AAAA,MACL,IAAI;AAEJ,UAAI,eAAe,OAAO;AAExB,cAAM,UAAU;AAAA,UACd,IAAI,UAAU;AACZ,mBAAO,SAAS,QAAQ;AAAA,UAC1B;AAAA,QACF;AACA,2BAAmB,OAAO,GAC1B,iBAAiB,SAAU,QAAqB,WAAb,MAA6B,GAChE;AAAA,UACE;AAAA,UACC,QAEI;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,IAlBA;AAAA,QAmBN;AAAA,MACF;AAEA,UAAI,OAAO;AAET,YAAI,cAAc,QAAQ,WAAW;AACnC,gBAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,UAAI,YAAY,SACd,cAAc,WAAW,WAEvB,QACF,cAAc,MAAM,MAElB,OAAO,UAAW,aACpB,cAAc,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,QAErE;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAAA,EA0DzE;AAwBF,CAAC;AAQM,MAAM,OAAO,SACP,QAAQ,UACR,OAAO;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": "AAAA,OAAmC;AAUnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,OACK;AACP,SAAoB,qBAAqB;AAEzC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,OAAiC;AACjC,OAAmC;AAEnC,SAAS,uBAAuB;AAqBhC,cAAc;AAGd,cAAc;AAEd,MAAM,YAAY,aAAa;AAI/B,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AAAA,EAqF/D;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAWrE,QATI,WACE,OAAO,YACT,UAAU,UAAa,OAAO,UAE5B,OAAO,WACT,UAAU,SAAY,OAAO,UAI7B,aAAa;AACf,UAAI,QAAQ;AACV,cAAM,EAAE,WAAW,YAAY,QAAQ,IAAI,QACrC,cAAc;AAAA,UAClB;AAAA,UACA,YAAY,cAAc;AAAA,QAC5B;AACA,QAAI,cAAc,YAEhB,YAAY,aAAa,qBAAqB,SAAS,UAAU,IAEnE,OAAO,OAAO,WAAW,WAAW;AAAA,MACtC;AAAA,WACK;AAGL,MAAI,UAAU,UAAU,YACtB,OAAO,UAAU,UAAU;AAI7B,YAAM,eAAe,gBAAgB,MAAM;AAE3C,UAAI,WACE,QAAQ,IAAI,aAAa,iBACvB,UAAU,SACZ,QAAQ;AAAA,QACN,sBAAsB,CAAC,CAAC,OAAO,OAAO,sCAAsC,OAAO;AAAA,UACjF,gBAAgB,CAAC;AAAA,QACnB,CAAC;AAAA,MACH,GAIA,OAAO;AACT,mBAAW,OAAO,cAAc;AAC9B,gBAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,oBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,IAClC,qBAAqB,IAAI,GAAG,IAC5B;AAAA,QACR;AAAA,IAGN;AAAA,EAEJ;AAAA,EAIE,YAAY,aAAa,UAAU,WAAW,QAAQ,cAAc;AAClE,QAAI,QAAQ,IAAI,aAAa,QAK7B;AAAA,UAAI,gBAAgB,UAAU;AAE5B,eAAO,oBAAoB,UAAU,WAAW,SAAS;AAG3D,UAAI,QAAQ,IAAI,iCACV,gBAAgB,UAAU;AAE5B,yBAAU,WAAW,UACd,cAAc,WAAW,SAAS;AAAA;AAAA,EAG/C;AAEJ,CAAC;AAED,MAAM,8BAA8B;AAAA,EAClC,SAAS;AACX,GAIa,OAAO,SACP,QAAQ,UACR,OAAO;",
4
+ "mappings": "AAAA,OAAmC;AAUnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,OACK;AACP,SAAoB,qBAAqB;AAEzC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,OAAiC;AACjC,OAAmC;AAEnC,SAAS,uBAAuB;AAqBhC,cAAc;AAGd,cAAc;AAEd,MAAM,YAAY,aAAa;AAI/B,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,UAAU,aAAa;AAAA,EAyF/D;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAWrE,QATI,WACE,OAAO,YACT,UAAU,UAAa,OAAO,UAE5B,OAAO,WACT,UAAU,SAAY,OAAO,UAI7B,aAAa;AACf,UAAI,QAAQ;AACV,cAAM,EAAE,WAAW,YAAY,QAAQ,IAAI,QACrC,cAAc;AAAA,UAClB;AAAA,UACA,YAAY,cAAc;AAAA,QAC5B;AACA,QAAI,cAAc,YAEhB,YAAY,aAAa,qBAAqB,SAAS,UAAU,IAEnE,OAAO,OAAO,WAAW,WAAW;AAAA,MACtC;AAAA,WACK;AAGL,MAAI,UAAU,UAAU,YACtB,OAAO,UAAU,UAAU;AAI7B,YAAM,eAAe,gBAAgB,MAAM;AAE3C,UAAI,WACE,QAAQ,IAAI,aAAa,iBACvB,UAAU,SACZ,QAAQ;AAAA,QACN,sBAAsB,CAAC,CAAC,OAAO,OAAO,sCAAsC,OAAO;AAAA,UACjF,gBAAgB,CAAC;AAAA,QACnB,CAAC;AAAA,MACH,GAIA,OAAO;AACT,mBAAW,OAAO,cAAc;AAC9B,gBAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,oBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,IAClC,qBAAqB,IAAI,GAAG,IAC5B;AAAA,QACR;AAAA,IAGN;AAAA,EAEJ;AAAA,EAIE,YAAY,aAAa,UAAU,WAAW,QAAQ,cAAc;AAClE,QAAI,QAAQ,IAAI,aAAa,QAK7B;AAAA,UAAI,gBAAgB,UAAU;AAE5B,eAAO,oBAAoB,UAAU,WAAW,SAAS;AAG3D,UAAI,QAAQ,IAAI,iCACV,gBAAgB,UAAU;AAE5B,yBAAU,WAAW,UACd,cAAc,WAAW,SAAS;AAAA;AAAA,EAG/C;AAEJ,CAAC;AAED,MAAM,8BAA8B;AAAA,EAClC,SAAS;AACX,GAIa,OAAO,SACP,QAAQ,UACR,OAAO;",
5
5
  "names": []
6
6
  }
package/dist/native.js CHANGED
@@ -5145,7 +5145,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
5145
5145
  staticConfig
5146
5146
  )), useChildrenResult ? content = useChildrenResult : content = (0, import_react3.createElement)(elementType, viewProps, content);
5147
5147
  let ResetPresence = (_m = config == null ? void 0 : config.animations) == null ? void 0 : _m.ResetPresence;
5148
- willBeAnimated && hasEnterStyle && ResetPresence && content && typeof content != "string" && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResetPresence, { children: content })), process.env.NODE_ENV === "development" && time && time`create-element`;
5148
+ ResetPresence && willBeAnimated && (hasEnterStyle || presenceState) && content && typeof content != "string" && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResetPresence, { children: content })), process.env.NODE_ENV === "development" && time && time`create-element`;
5149
5149
  let groupState = curState.group, subGroupContext = (0, import_react3.useMemo)(() => {
5150
5150
  if (!(!groupState || !groupName))
5151
5151
  return groupState.listeners.clear(), {