@tamagui/use-element-layout 2.0.0-rc.4 → 2.0.0-rc.40

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.
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_is_equal_shallow","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","state","NodeRectCache","LastChangeTime","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","entry","node","target","get","isIntersecting","set","threshold","BoundingRects","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","nr","pr","Promise","all","getBoundingClientRect","cachedRect","cachedParentRect","isEqualShallow","event","userSkipVal","process","env","TAMAGUI_LAYOUT_FRAME_SKIP","RUN_EVERY_X_FRAMES","layoutOnAnimationFrame","visibleNodes","didRun","res","io","disconnect","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","iterator","_step2","next","done","boundingClientRect","err","return","didObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","HTMLElement","disableKey","observe","push","setTimeout","nativeEvent","layout","getRelativeDimensions","timeStamp","Date","now","a","b","height","top","width","x","y","pageX","pageY","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","node2","add","delete","unobserve"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,2BAAA,EAAAA,CAAA,KAAAA,2BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAA,MAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAA,0BAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA,OAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAArB,YAA0C,CAAAK,aAAA;AAI1C,IAAAiB,kBAAM,GAAiBC,OAAA,oBAAmC;EACpDC,gBAAA,GAAmBD,OAAA,qBAAiC;EACpDE,uBAAQ,GAAAF,OAAqB,CAC7B,2BAAoB;EAAAG,YAAI,GAAAH,OAGxB;AASsC,SAC1CI,YAAAC,IAAA,EAAAC,KAAA;EACA,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AACF;AAIE,IAAAG,cAAW,kBAAM,IAAAC,OAAA;EAAAC,gBAAA,sBAAAD,OAAA;EAAAE,KAAA,sBAAAC,GAAA;EAAAC,iBAAA,sBAAAJ,OAAA;EAAAK,0BAAA;EAAAC,uBAAA,sBAAAb,YAAA,CAAAc,aAAA;EAAAC,MAAA;EAAAlC,2BAAA,YAAAA,CAAAmC,KAAA;IAEjB;QAAAC,OAAA;QAAAC;MAAA,IAAAF,KAAA;MAAAG,EAAA,OAAAnB,YAA0B,CAAAoB,KAAM;IAC9B,WAAAtB,gBAAA,CAAAuB,yBAAiC;MACnCT,0BAGE,CAAAO,EAAA,IAAAF,OAAA;IAIJ,IAGIA,OAAA,EAUGE,EAAA,CACL,kBAAW,IAAAvB,kBAAA,CAAA0B,GAAA,EAAAT,uBAAA,CAAAU,QAAA;MACb7C,KAAA,EAAAyC,EAAA;MAmBAD;IAIA,EAAI;EACJ;EAAAM,0BAAsB;EAAAC,QAA+B;AAE9C,SAASjC,mBAAeA,CAAAkC,KAAA;EACzBD,QAAA,GAAAC,KAAA;AAON;AAEA,IAAAC,aAAS,kBAAuB,IAAApB,OAAA;EAAAqB,cAAA,sBAAArB,OAAA;EAAAsB,YAAA;EAAAC,aAAA,sBAAAC,GAAA;AAC9B,SAAK9C,MAAUA,CAAA;EAEkB4C,YAC9B,KAAYA,YAAA,OAAAC,aAAA,KAAAA,aAAA,CAAAE,OAAA,WAAAC,EAAA;IACX,OAAAA,EAAA,CAAQ;EACN,IAAAH,aAAM,CAAAI,KAAO,EAAM;AACnB;AACkD,SAEnDC,qBAAA;EAAA,CAAApB,MACH,IAAAS,0BAAA,KAAAA,0BAAA,OAAAY,oBAAA,WAAAC,OAAA;IACAA,OAAA,CAAAL,OAAA,WAAAM,KAAA;MACE,IAAAC,IAAA,GAAWD,KAAA,CAAAE,MAAA;MACb7B,iBAAA,CAAA8B,GAAA,CAAAF,IAAA,MAAAD,KAAA,CAAAI,cAAA,IAAA/B,iBAAA,CAAAgC,GAAA,CAAAJ,IAAA,EAAAD,KAAA,CAAAI,cAAA;IACF;EACF;IAEIE,SAAQ;EACV;AAEA;AACE,IAAA7B,MAAM;EACN,IAAA8B,aAAW,kBAAyB,IAAAtC,OAAA;EAEpC,eAAMuC,qBAAkBA,CAAAP,IAAA;IACxB,IAAIQ,QAAC,GAAAzC,cAAY,CAAAmC,GAAA,CAAAF,IAAA;IAEjB,IAAI,OAAAQ,QACA;MAEJ,IAAIC,UAAA,GAAaT,IAAA,CAAAU,aAAS;MACxB,IAAAD,UAAa;QACX,IAAAE,QAAA,EAAcC,UAAQ;QACtB,IAAA1B,QAAA,KAAc,OAAI;UACnB,KAAA2B,EAAA,EAAAC,EAAA,UAAAC,OAAA,CAAAC,GAAA,EAEIV,aAAO,CAAAJ,GAAA,CAAAF,IAAA,GACVM,aAAA,CAAAJ,GAAA,CAAAO,UAAA,EAGF;UAEF,KAAAI,EAAA,KAAAC,EAAA,EACE;UAIGH,QAAA,GAAYE,EAAC,EAAAD,UAAA,GAAAE,EAAA;QAChB,OAGIH,QAAA,GAAAX,IAAa,CAAAiB,qBAAsB,CACnC,GAAAL,UAAA,GAAAH,UAAmB,CAAAQ,qBAA4B;QAGnD,IAAC,GAAAN,QACD,IAAC,CAAAC,UAAA;UAAA,IAAAM,UAAA,GAAA9B,aAAA,CAAAc,GAAA,CAAAF,IAAA;YAAAmB,gBAAA,GAAA/B,aAAA,CAAAc,GAAA,CAAAO,UAAA;UAGA,KAAAS,UAAA,KAAAC,gBAAA;UAAe;UAEf;UAED,KAAA3D,uBAAgC,CAAA4D,cAChC,EAAcF,UAAI,EAAAP,QAAY;UAAA;UAE9B,EAAM,GAAAnD,uBAAQ,CAAA4D,cAAgC,EAAAD,gBAAU,EAAAP,UAAA;YAEpDxB,aACF,CAAAgB,GAAA,CAAAJ,IAAA,EAAcW,QAAI,CAAM,EAAAvB,aAAe,CAAAgB,GAAA,CAAKK,UAE5C,EAAAG,UAAc;YAElB,IAAAS,KAAA,GAAAzE,qBAAA,CAAA+D,QAAA,EAAAC,UAAA;YACFtB,YAAA,GAAAC,aAAA,CAAAa,GAAA,CAAAJ,IAAA;cAMM,OAAAQ,QAAc,CAAQa,KAAI;YAGhC,KAAeb,QAAA,CAAAa,KAAA;UACT;QACF;MAGe;IACb;EAAe;EAEX,IAAAC,WAAG,GAAAC,OAAW,CAAAC,GAAA,CAAAC,yBAAA;IAAAC,kBAAA,GAAAJ,WAAA,IAAAA,WAAA;EACd,eAAAK,sBAAoBA,CAAA;IAClB,IAAAzC,QAAA,YAAc;MAEhB,IAAA0C,YAAQ;QAAAC,MAAA,aAAAd,OAAA,WAAAe,GAAA;UAAA,IACVC,EAAA,OAAAlC,oBAAA,WAAAC,OAAA;cACAiC,EAAA,CAAAC,UAAA;cAAA,IACEC,0BAAW;gBAAAC,kBAAA;gBAAAC,eAAA;cACb;gBACF,SAAAC,UAAA,GAAAtC,OAAA,CAAAjC,MAAA,CAAAwE,QAAA,KAAAC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,0BAAA;kBAEI,IAAAlC,KAAA,GAAauC,MAAA,CAAAnG,KAAA;kBAEjBmE,aAAmB,CAAAF,GAAA,CAAAL,KAAO,CAAAE,MAAA,EAAAF,KAAA,CAAA0C,kBAAA;gBACxB;cACA,SAAMC,GAAA;gBACFR,kBAAc,OAAAC,eAA2B,GAAAO,GAAA;cAM/C;gBAEK;kBAML,CAAAT,0BAAsB,IAASG,UAAA,CAAAO,MAAA,YAAAP,UAAA,CAAAO,MAAA;gBAC7B;kBACD,IAAAT,kBAAA,EAEL,MAAAC,eAAA;gBAEA;cACF;cAEAL,GAAA;YACF;cAEazB,SAAA;YAKT;YAAAuC,UAAa;YAAAC,yBAAA;YAAAC,iBAAA;YAAAC,cAAA;UACX,IAAQ;YACR,KAAQ,IAAAC,SAAA,GAAA9E,KAAA,CAAAL,MAAA,CAAAwE,QAAA,KAAAY,KAAA,IAAAJ,yBAAA,IAAAI,KAAA,GAAAD,SAAA,CAAAT,IAAA,IAAAC,IAAA,GAAAK,yBAAA;cACV,IAAA7C,IAAA,GAAAiD,KAAA,CAAA9G,KAAA;cACA,IAAWuB,WAAS,CAAAsC,IAAA,CAAAU,aAAA,EAAAwC,WAAA;gBAIlB,IAAAC,UAAwB,GAAClF,gBAA2C,CAAAiC,GAAA,CAAAF,IAAA;gBAChEmD,UAAc,IAAA9E,0BACL,CAAE8E,UACT,MAAM,EAAE,IAAA/E,iBAAA,CAAA8B,GAAA,CAAAF,IAAA,aAAA4C,UAAA,OAAAb,EAAA,CAAAqB,OAAA,CAAApD,IAAA,GAAA+B,EAAA,CAAAqB,OAAA,CAAApD,IAAA,CAAAU,aAAA,GAAAkB,YAAA,CAAAyB,IAAA,CAAArD,IAAA;cACT;YACX;UAEO,CAAS,QAAA0C,GAAA;YAIRI,iBAAa,OAAAC,cAAA,GAAWL,GAAA;UAI1B,UAAQ;YAML;cACC,CAAAG,yBAAoB,IAAAG,SAAA,CAAAL,MAAA,YAAAK,SAAA,CAAAL,MAAA;YACrB,UAAM;cAEL,IAAIG,iBAGV,EAQM,MAAAC,cAAkB;YACxB;UAEI;UACEH,UAAK,IAAAd,GAAA;QAAsB,EAC3B;MACFD,MAAA,IAAAD,YAAA,CAAAnC,OAAA,WAAAO,IAAA;QAIGO,qBAAM,CAAAP,IAAA;MACX;IAUF;IACFsD,UAAW,CAAA3B,sBAAS,YAAAD,kBAAA;EACtB;EAEAC,sBAAS,EAAoB;AAC3B;AAGA,IAAA/E,qBAAoB,YAAAA,CAAA+D,QAAkB,EAAAC,UAAA;IACxC;MAEO2C,WAAM;QAILC,MAAC,EAAAC,qBAA6B,CAAA9C,QAAO,EAAAC,UAAS;QAElDX,MAAM,EAAKU;MACT,CAAC;MAID+C,SAAA,EAAAC,IAAA,CAAAC,GAAA;IAAA;EACa;EAAAH,qBACb,YAAAA,CAAAI,CAAA,EAAAC,CAAA;IACF;QAAAC,MAAA;QAAApG,IAAA;QAAAqG,GAAA;QAAAC;MAAA,IAAAJ,CAAA;MAAAK,CAAA,GAAAvG,IAAA,GAAAmG,CAAA,CAAAnG,IAAA;MAAAwG,CAAA,GAAAH,GAAA,GAAAF,CAAA,CAAAE,GAAA;IACA,OAAG;MAIME,CAAA;MAIXC,CAAA;MACAF,KAAI;MACFF,MAAM;MAA+CK,KACnD,EAAAP,CAAA,CAAAlG,IAAA;MAA+B0G,KAC/B,EAAAR,CAAA,CAAAG;IAAuC;EAEzC;AACE,SAAA9G,gBAAOA,CAAAoH,GAAA,EAAA9D,QAAsB;EAEjC,IAAA+D,YAAA;IAAApB,UAAA,OAAA1F,YAAA,CAAA+G,UAAA,EAAAlG,uBAAA;IAAA0B,IAAA,GAAAyE,gBAAA,EAAAF,YAAA,GAAAD,GAAA,CAAAI,OAAA,cAAAH,YAAA,uBAAAA,YAAA,CAAAI,IAAA;EACA3E,IAAA,IAAOQ,QAAA,KAAAzC,cAAA,CAAAqC,GAAA,CAAAJ,IAAA,EAAAQ,QAAA,GAAAvC,gBAAA,CAAAmC,GAAA,CAAAJ,IAAA,EAAAmD,UAAA,QAAA5F,gBAAA,CAAAuB,yBAAA;IAcI,IAAA8F,aACX;IAGA,IAAMpE,QAAM;MACV,IAAAqE,KAAA,IAAAD,aAAA,GAAAN,GAAA,CAAAI,OAAA,cAAAE,aAAA,uBAAAA,aAAA,CAAAD,IAAA;MACA,IAAKE,KAAA;QACP3G,KAAA,CAAA4G,GAAA,CAAAD,KAAA,GAAAjF,oBAAA,IAAAX,0BAAA,KAAAA,0BAAA,CAAAmE,OAAA,CAAAyB,KAAA,GAAAzG,iBAAA,CAAAgC,GAAA,CAAAyE,KAAA;QACA,IAAIpE,UACF,GAAAoE,KAAW,CAAIpE,UAAU;QAG7B,OAAAA,UAAA,IAAAD,QAAA,CAAA5D,qBAAA,CAAAiI,KAAA,CAAA5D,qBAAA,IAAAR,UAAA,CAAAQ,qBAAA;UAEgB/C,KAAA,CAAA6G,MAAA,CACdF,KAAA,CACsD,EAAA9G,cAAA,CAAAgH,MAAA,CAAAF,KAAA,GAAAzF,aAAA,CAAA2F,MAAA,CAAAF,KAAA,GAAAxF,cAAA,CAAA0F,MAAA,CAAAF,KAAA,GAAAzG,iBAAA,CAAA2G,MAAA,CAAAF,KAAA,GAAA5F,0BAAA,IAAAA,0BAAA,CAAA+F,SAAA,CAAAH,KAAA;QACtD,CAAO;MACT;IAIO;EAIL,IACAP,GAAA,EAMW,EAAA9D,QAAA,CAWX;AACA;AAIF,SAAAiE,iBAAAP,CAAA;EAEO,aAAShB,WAAA,GACd,MAEA,OAAQxF,WAAY,CAAAwG,CAAA,EAAAhB,WAAa,IAAAgB,CAAA,QAAc;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","LayoutMeasurementController","createMeasure","createMeasureInWindow","createMeasureLayout","enable","getBoundingClientRectAsync","getElementLayoutEvent","measure","measureInWindow","measureLayout","measureNode","registerLayoutNode","setOnLayoutStrategy","useElementLayout","module","exports","import_jsx_runtime","require","import_constants","import_react","_instanceof","left","right","Symbol","hasInstance","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","createContext","ENABLE","param","disable","children","id","useId","useIsomorphicLayoutEffect","jsx","Provider","globalIntersectionObserver","strategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","forEach","cb","clear","startGlobalObservers","IntersectionObserver","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","log","tag","tagName","className","slice","layout","nativeEvent","first","rAF","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","setTimeout","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","HTMLElement","cleanupNode","disableKey","push","add","err","return","io","observe","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","parent","Promise","res","i1","unobserve","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","parent1","min","max","i2","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","top","pageX","pageY","onChange","delete","PrevHostNode","ref","_ref_current","useContext","ensureWebElement","current","host","_ref_current2","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode","nodeType","disconnect","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","callback","out"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,185 +1,325 @@
1
1
  import { useIsomorphicLayoutEffect } from "@tamagui/constants";
2
- import { isEqualShallow } from "@tamagui/is-equal-shallow";
3
2
  import { createContext, useContext, useId } from "react";
4
3
  import { jsx } from "react/jsx-runtime";
5
- const LayoutHandlers = /* @__PURE__ */ new WeakMap(), LayoutDisableKey = /* @__PURE__ */ new WeakMap(), Nodes = /* @__PURE__ */ new Set(), IntersectionState = /* @__PURE__ */ new WeakMap(), DisableLayoutContextValues = {}, DisableLayoutContextKey = createContext(""), ENABLE = typeof IntersectionObserver < "u", LayoutMeasurementController = ({
4
+ const LayoutHandlers = /* @__PURE__ */new WeakMap();
5
+ const LayoutDisableKey = /* @__PURE__ */new WeakMap();
6
+ const Nodes = /* @__PURE__ */new Set();
7
+ const IntersectionState = /* @__PURE__ */new WeakMap();
8
+ const usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === true || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === "1";
9
+ let _debugLayout;
10
+ function isDebugLayout() {
11
+ if (_debugLayout === void 0) _debugLayout = typeof window !== "undefined" && new URLSearchParams(window.location.search).has("__tamaDebugLayout");
12
+ return _debugLayout;
13
+ }
14
+ const DisableLayoutContextValues = {};
15
+ const DisableLayoutContextKey = createContext("");
16
+ const ENABLE = typeof IntersectionObserver !== "undefined";
17
+ const LayoutMeasurementController = ({
6
18
  disable,
7
19
  children
8
20
  }) => {
9
21
  const id = useId();
10
- return useIsomorphicLayoutEffect(() => {
22
+ useIsomorphicLayoutEffect(() => {
11
23
  DisableLayoutContextValues[id] = disable;
12
- }, [disable, id]), /* @__PURE__ */ jsx(DisableLayoutContextKey.Provider, { value: id, children });
24
+ }, [disable, id]);
25
+ return /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {
26
+ value: id,
27
+ children
28
+ });
13
29
  };
14
- let globalIntersectionObserver = null, strategy = "async";
30
+ let globalIntersectionObserver = null;
31
+ let strategy = "async";
15
32
  function setOnLayoutStrategy(state) {
16
33
  strategy = state;
17
34
  }
18
- const NodeRectCache = /* @__PURE__ */ new WeakMap(), LastChangeTime = /* @__PURE__ */ new WeakMap();
19
- let avoidUpdates = !0;
20
- const queuedUpdates = /* @__PURE__ */ new Map();
35
+ const NodeRectCache = /* @__PURE__ */new WeakMap();
36
+ let avoidUpdates = true;
37
+ const queuedUpdates = /* @__PURE__ */new Map();
21
38
  function enable() {
22
- avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach((cb) => cb()), queuedUpdates.clear()));
39
+ if (avoidUpdates) {
40
+ avoidUpdates = false;
41
+ if (queuedUpdates) {
42
+ queuedUpdates.forEach(cb => cb());
43
+ queuedUpdates.clear();
44
+ }
45
+ }
23
46
  }
24
47
  function startGlobalObservers() {
25
- !ENABLE || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(
26
- (entries) => {
27
- entries.forEach((entry) => {
28
- const node = entry.target;
29
- IntersectionState.get(node) !== entry.isIntersecting && IntersectionState.set(node, entry.isIntersecting);
30
- });
31
- },
32
- {
33
- threshold: 0
48
+ if (!ENABLE || globalIntersectionObserver) return;
49
+ globalIntersectionObserver = new IntersectionObserver(entries => {
50
+ for (let i = 0; i < entries.length; i++) {
51
+ const entry = entries[i];
52
+ const node = entry.target;
53
+ if (IntersectionState.get(node) !== entry.isIntersecting) IntersectionState.set(node, entry.isIntersecting);
34
54
  }
35
- ));
55
+ }, {
56
+ threshold: 0
57
+ });
58
+ }
59
+ function rectsEqual(a, b) {
60
+ return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
36
61
  }
37
62
  if (ENABLE) {
38
- const BoundingRects = /* @__PURE__ */ new WeakMap();
63
+ let ensureRectFetchObserver = function () {
64
+ if (rectFetchObserver) return rectFetchObserver;
65
+ rectFetchObserver = new IntersectionObserver(entries => {
66
+ lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);
67
+ for (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);
68
+ if (process.env.NODE_ENV === "development" && isDebugLayout() && lastCallbackDelay > 50) console.warn("[onLayout-io-delay]", lastCallbackDelay + "ms", entries.length, "entries");
69
+ if (rectFetchResolve) {
70
+ rectFetchResolve(true);
71
+ rectFetchResolve = null;
72
+ }
73
+ }, {
74
+ threshold: 0
75
+ });
76
+ return rectFetchObserver;
77
+ };
78
+ const BoundingRects = /* @__PURE__ */new WeakMap();
79
+ let rectFetchObserver = null;
80
+ let rectFetchResolve = null;
81
+ let rectFetchStartTime = 0;
82
+ let lastCallbackDelay = 0;
39
83
  async function updateLayoutIfChanged(node) {
40
84
  const onLayout = LayoutHandlers.get(node);
41
- if (typeof onLayout != "function") return;
85
+ if (typeof onLayout !== "function") return;
42
86
  const parentNode = node.parentElement;
43
87
  if (!parentNode) return;
44
- let nodeRect, parentRect;
88
+ let nodeRect;
89
+ let parentRect;
45
90
  if (strategy === "async") {
46
- const [nr, pr] = await Promise.all([
47
- BoundingRects.get(node),
48
- BoundingRects.get(parentNode)
49
- ]);
50
- if (!nr || !pr)
51
- return;
52
- nodeRect = nr, parentRect = pr;
53
- } else
54
- nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();
55
- if (!nodeRect || !parentRect)
56
- return;
57
- const cachedRect = NodeRectCache.get(node), cachedParentRect = NodeRectCache.get(parentNode);
58
- if (!cachedRect || !cachedParentRect || // has changed one rect
59
- // @ts-expect-error DOMRectReadOnly can go into object
60
- !isEqualShallow(cachedRect, nodeRect) || // @ts-expect-error DOMRectReadOnly can go into object
61
- !isEqualShallow(cachedParentRect, parentRect)) {
62
- NodeRectCache.set(node, nodeRect), NodeRectCache.set(parentNode, parentRect);
63
- const event = getElementLayoutEvent(nodeRect, parentRect);
64
- avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);
91
+ nodeRect = BoundingRects.get(node);
92
+ parentRect = BoundingRects.get(parentNode);
93
+ if (!nodeRect || !parentRect) return;
94
+ } else {
95
+ nodeRect = node.getBoundingClientRect();
96
+ parentRect = parentNode.getBoundingClientRect();
97
+ }
98
+ const cachedRect = NodeRectCache.get(node);
99
+ const cachedParentRect = NodeRectCache.get(parentNode);
100
+ const nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect);
101
+ const parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);
102
+ if (nodeChanged || parentChanged) {
103
+ NodeRectCache.set(node, nodeRect);
104
+ NodeRectCache.set(parentNode, parentRect);
105
+ const event = getElementLayoutEvent(nodeRect, parentRect, node);
106
+ if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] change", {
107
+ tag: node.tagName,
108
+ id: node.id || void 0,
109
+ className: (node.className || "").slice(0, 60) || void 0,
110
+ layout: event.nativeEvent.layout,
111
+ first: !cachedRect
112
+ });
113
+ if (avoidUpdates) queuedUpdates.set(node, () => onLayout(event));else onLayout(event);
65
114
  }
66
115
  }
67
- const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP, RUN_EVERY_X_FRAMES = userSkipVal ? +userSkipVal : 14;
116
+ const rAF = typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : void 0;
117
+ const userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP;
118
+ const BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10;
119
+ const MAX_SKIP_FRAMES = 20;
120
+ let skipFrames = BASE_SKIP_FRAMES;
121
+ let frameCount = 0;
68
122
  async function layoutOnAnimationFrame() {
123
+ if (frameCount++ % skipFrames !== 0) {
124
+ rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
125
+ return;
126
+ }
127
+ if (frameCount >= Number.MAX_SAFE_INTEGER) frameCount = 0;
69
128
  if (strategy !== "off") {
70
129
  const visibleNodes = [];
71
- await new Promise((res) => {
72
- const io = new IntersectionObserver(
73
- (entries) => {
74
- io.disconnect();
75
- for (const entry of entries)
76
- BoundingRects.set(entry.target, entry.boundingClientRect);
77
- res(!0);
78
- },
79
- {
80
- threshold: 0
81
- }
82
- );
83
- let didObserve = !1;
84
- for (const node of Nodes) {
85
- if (!(node.parentElement instanceof HTMLElement)) continue;
86
- const disableKey = LayoutDisableKey.get(node);
87
- disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (didObserve = !0, io.observe(node), io.observe(node.parentElement), visibleNodes.push(node));
130
+ const parentsToObserve = /* @__PURE__ */new Set();
131
+ for (const node of Nodes) {
132
+ const parentElement = node.parentElement;
133
+ if (!(parentElement instanceof HTMLElement)) {
134
+ cleanupNode(node);
135
+ continue;
88
136
  }
89
- didObserve || res(!1);
90
- }) && visibleNodes.forEach((node) => {
91
- updateLayoutIfChanged(node);
92
- });
137
+ const disableKey = LayoutDisableKey.get(node);
138
+ if (disableKey && DisableLayoutContextValues[disableKey] === true) continue;
139
+ if (IntersectionState.get(node) === false) continue;
140
+ visibleNodes.push(node);
141
+ parentsToObserve.add(parentElement);
142
+ }
143
+ if (visibleNodes.length > 0) {
144
+ const io = ensureRectFetchObserver();
145
+ rectFetchStartTime = performance.now();
146
+ for (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);
147
+ for (const parent of parentsToObserve) io.observe(parent);
148
+ await new Promise(res => {
149
+ rectFetchResolve = res;
150
+ });
151
+ for (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);
152
+ for (const parent of parentsToObserve) io.unobserve(parent);
153
+ if (lastCallbackDelay > 50) skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES);else if (lastCallbackDelay < 20) skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES);
154
+ for (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);
155
+ }
93
156
  }
94
- setTimeout(layoutOnAnimationFrame, 16.6667 * RUN_EVERY_X_FRAMES);
157
+ rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);
95
158
  }
96
159
  layoutOnAnimationFrame();
97
160
  }
98
- const getElementLayoutEvent = (nodeRect, parentRect) => ({
99
- nativeEvent: {
100
- layout: getRelativeDimensions(nodeRect, parentRect),
101
- target: nodeRect
102
- },
103
- timeStamp: Date.now()
104
- }), getRelativeDimensions = (a, b) => {
105
- const { height, left, top, width } = a, x = left - b.left, y = top - b.top;
106
- return { x, y, width, height, pageX: a.left, pageY: a.top };
161
+ const getElementLayoutEvent = (nodeRect, parentRect, node) => {
162
+ return {
163
+ nativeEvent: {
164
+ layout: getRelativeDimensions(nodeRect, parentRect, node),
165
+ target: nodeRect
166
+ },
167
+ timeStamp: Date.now()
168
+ };
169
+ };
170
+ const getPreTransformDimensions = node => {
171
+ return {
172
+ width: node.offsetWidth,
173
+ height: node.offsetHeight
174
+ };
107
175
  };
176
+ const getRelativeDimensions = (a, b, aNode) => {
177
+ const {
178
+ left,
179
+ top
180
+ } = a;
181
+ const x = left - b.left;
182
+ const y = top - b.top;
183
+ const {
184
+ width,
185
+ height
186
+ } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {
187
+ width: a.width,
188
+ height: a.height
189
+ };
190
+ return {
191
+ x,
192
+ y,
193
+ width,
194
+ height,
195
+ pageX: a.left,
196
+ pageY: a.top
197
+ };
198
+ };
199
+ function registerLayoutNode(node, onChange, disableKey) {
200
+ Nodes.add(node);
201
+ LayoutHandlers.set(node, onChange);
202
+ if (disableKey) LayoutDisableKey.set(node, disableKey);
203
+ startGlobalObservers();
204
+ if (globalIntersectionObserver) {
205
+ globalIntersectionObserver.observe(node);
206
+ IntersectionState.set(node, true);
207
+ }
208
+ return () => cleanupNode(node);
209
+ }
210
+ function cleanupNode(node) {
211
+ Nodes.delete(node);
212
+ LayoutHandlers.delete(node);
213
+ LayoutDisableKey.delete(node);
214
+ NodeRectCache.delete(node);
215
+ IntersectionState.delete(node);
216
+ if (globalIntersectionObserver) globalIntersectionObserver.unobserve(node);
217
+ }
218
+ const PrevHostNode = /* @__PURE__ */new WeakMap();
108
219
  function useElementLayout(ref, onLayout) {
109
- const disableKey = useContext(DisableLayoutContextKey), node = ensureWebElement(ref.current?.host);
110
- node && onLayout && (LayoutHandlers.set(node, onLayout), LayoutDisableKey.set(node, disableKey)), useIsomorphicLayoutEffect(() => {
220
+ const disableKey = useContext(DisableLayoutContextKey);
221
+ const node = ensureWebElement(ref.current?.host);
222
+ if (node && onLayout) {
223
+ LayoutHandlers.set(node, onLayout);
224
+ LayoutDisableKey.set(node, disableKey);
225
+ }
226
+ useIsomorphicLayoutEffect(() => {
227
+ if (!onLayout) return;
228
+ const nextNode = ensureWebElement(ref.current?.host);
229
+ const prevNode = PrevHostNode.get(ref);
230
+ if (nextNode === prevNode) return;
231
+ if (prevNode) cleanupNode(prevNode);
232
+ PrevHostNode.set(ref, nextNode);
233
+ if (!nextNode) return;
234
+ Nodes.add(nextNode);
235
+ startGlobalObservers();
236
+ if (globalIntersectionObserver) {
237
+ globalIntersectionObserver.observe(nextNode);
238
+ IntersectionState.set(nextNode, true);
239
+ }
240
+ const handler = LayoutHandlers.get(nextNode);
241
+ if (typeof handler !== "function") return;
242
+ const parentNode = nextNode.parentElement;
243
+ if (!parentNode) return;
244
+ const nodeRect = nextNode.getBoundingClientRect();
245
+ const parentRect = parentNode.getBoundingClientRect();
246
+ NodeRectCache.set(nextNode, nodeRect);
247
+ NodeRectCache.set(parentNode, parentRect);
248
+ handler(getElementLayoutEvent(nodeRect, parentRect, nextNode));
249
+ });
250
+ useIsomorphicLayoutEffect(() => {
111
251
  if (!onLayout) return;
112
252
  const node2 = ref.current?.host;
113
253
  if (!node2) return;
114
- Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0));
254
+ Nodes.add(node2);
255
+ startGlobalObservers();
256
+ if (globalIntersectionObserver) {
257
+ globalIntersectionObserver.observe(node2);
258
+ IntersectionState.set(node2, true);
259
+ }
260
+ if (process.env.NODE_ENV === "development" && isDebugLayout()) console.log("[useElementLayout] register", {
261
+ tag: node2.tagName,
262
+ id: node2.id || void 0,
263
+ className: (node2.className || "").slice(0, 60) || void 0,
264
+ totalNodes: Nodes.size
265
+ });
115
266
  const parentNode = node2.parentNode;
116
- return parentNode && onLayout(
117
- getElementLayoutEvent(
118
- node2.getBoundingClientRect(),
119
- parentNode.getBoundingClientRect()
120
- )
121
- ), () => {
122
- Nodes.delete(node2), LayoutHandlers.delete(node2), NodeRectCache.delete(node2), LastChangeTime.delete(node2), IntersectionState.delete(node2), globalIntersectionObserver && globalIntersectionObserver.unobserve(node2);
267
+ if (parentNode) onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2));
268
+ return () => {
269
+ cleanupNode(node2);
270
+ const swappedNode = PrevHostNode.get(ref);
271
+ if (swappedNode && swappedNode !== node2) cleanupNode(swappedNode);
272
+ PrevHostNode.delete(ref);
123
273
  };
124
274
  }, [ref, !!onLayout]);
125
275
  }
126
276
  function ensureWebElement(x) {
127
- if (!(typeof HTMLElement > "u"))
128
- return x instanceof HTMLElement ? x : void 0;
277
+ if (typeof HTMLElement === "undefined") return;
278
+ return x instanceof HTMLElement ? x : void 0;
129
279
  }
130
- const getBoundingClientRectAsync = (node) => new Promise((res) => {
131
- if (!node || node.nodeType !== 1) return res(!1);
132
- const io = new IntersectionObserver(
133
- (entries) => (io.disconnect(), res(entries[0].boundingClientRect)),
134
- {
280
+ const getBoundingClientRectAsync = node => {
281
+ return new Promise(res => {
282
+ if (!node || node.nodeType !== 1) return res(false);
283
+ const io = new IntersectionObserver(entries => {
284
+ io.disconnect();
285
+ return res(entries[0].boundingClientRect);
286
+ }, {
135
287
  threshold: 0
136
- }
137
- );
138
- io.observe(node);
139
- }), measureNode = async (node, relativeTo) => {
288
+ });
289
+ io.observe(node);
290
+ });
291
+ };
292
+ const measureNode = async (node, relativeTo) => {
140
293
  const relativeNode = relativeTo || node?.parentElement;
141
294
  if (relativeNode instanceof HTMLElement) {
142
- const [nodeDim, relativeNodeDim] = await Promise.all([
143
- getBoundingClientRectAsync(node),
144
- getBoundingClientRectAsync(relativeNode)
145
- ]);
146
- if (relativeNodeDim && nodeDim)
147
- return getRelativeDimensions(nodeDim, relativeNodeDim);
295
+ const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);
296
+ if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);
148
297
  }
149
298
  return null;
150
- }, measure = async (node, callback) => {
151
- const out = await measureNode(
152
- node,
153
- node.parentNode instanceof HTMLElement ? node.parentNode : null
154
- );
155
- return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
299
+ };
300
+ const measure = async (node, callback) => {
301
+ const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);
302
+ if (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
303
+ return out;
156
304
  };
157
305
  function createMeasure(node) {
158
- return (callback) => measure(node, callback);
306
+ return callback => measure(node, callback);
159
307
  }
160
308
  const measureInWindow = async (node, callback) => {
161
309
  const out = await measureNode(node, null);
162
- return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;
163
- }, createMeasureInWindow = (node) => (callback) => measureInWindow(node, callback), measureLayout = async (node, relativeNode, callback) => {
310
+ if (out) callback?.(out.pageX, out.pageY, out.width, out.height);
311
+ return out;
312
+ };
313
+ const createMeasureInWindow = node => {
314
+ return callback => measureInWindow(node, callback);
315
+ };
316
+ const measureLayout = async (node, relativeNode, callback) => {
164
317
  const out = await measureNode(node, relativeNode);
165
- return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;
318
+ if (out) callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY);
319
+ return out;
166
320
  };
167
321
  function createMeasureLayout(node) {
168
322
  return (relativeTo, callback) => measureLayout(node, relativeTo, callback);
169
323
  }
170
- export {
171
- LayoutMeasurementController,
172
- createMeasure,
173
- createMeasureInWindow,
174
- createMeasureLayout,
175
- enable,
176
- getBoundingClientRectAsync,
177
- getElementLayoutEvent,
178
- measure,
179
- measureInWindow,
180
- measureLayout,
181
- measureNode,
182
- setOnLayoutStrategy,
183
- useElementLayout
184
- };
324
+ export { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };
185
325
  //# sourceMappingURL=index.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.tsx"],
4
- "mappings": "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",
5
- "names": ["node"]
6
- }
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useId","jsx","LayoutHandlers","WeakMap","LayoutDisableKey","Nodes","Set","IntersectionState","usePretransformDimensions","globalThis","__TAMAGUI_ONLAYOUT_PRETRANSFORM","process","env","TAMAGUI_ONLAYOUT_PRETRANSFORM","_debugLayout","isDebugLayout","window","URLSearchParams","location","search","has","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","IntersectionObserver","LayoutMeasurementController","disable","children","id","Provider","value","globalIntersectionObserver","strategy","setOnLayoutStrategy","state","NodeRectCache","avoidUpdates","queuedUpdates","Map","enable","forEach","cb","clear","startGlobalObservers","entries","i","length","entry","node","target","get","isIntersecting","set","threshold","rectsEqual","a","b","x","y","width","height","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","Math","round","performance","now","rectFetchStartTime","BoundingRects","boundingClientRect","NODE_ENV","console","warn","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","parentElement","nodeRect","parentRect","getBoundingClientRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","event","getElementLayoutEvent","log","tag","tagName","className","slice","layout","nativeEvent","first","rAF","requestAnimationFrame","userSkipVal","TAMAGUI_LAYOUT_FRAME_SKIP","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","setTimeout","Number","MAX_SAFE_INTEGER","visibleNodes","parentsToObserve","HTMLElement","cleanupNode","disableKey","push","add","io","observe","parent","Promise","res","unobserve","min","max","getRelativeDimensions","timeStamp","Date","getPreTransformDimensions","offsetWidth","offsetHeight","aNode","left","top","pageX","pageY","registerLayoutNode","onChange","delete","PrevHostNode","useElementLayout","ref","ensureWebElement","current","host","nextNode","prevNode","handler","node2","totalNodes","size","swappedNode","getBoundingClientRectAsync","nodeType","disconnect","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","all","measure","callback","out","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,aAAA,EAAeC,UAAA,EAAYC,KAAA,QAA6C;AAiD7E,SAAAC,GAAA;AA/CJ,MAAMC,cAAA,GAAiB,mBAAIC,OAAA,CAA+B;AAC1D,MAAMC,gBAAA,GAAmB,mBAAID,OAAA,CAA6B;AAC1D,MAAME,KAAA,GAAQ,mBAAIC,GAAA,CAAiB;AACnC,MAAMC,iBAAA,GAAoB,mBAAIJ,OAAA,CAA8B;AAK5D,MAAMK,yBAAA,GAA4BA,CAAA,KAC/BC,UAAA,CAAmBC,+BAAA,KAAoC,QACxDC,OAAA,CAAQC,GAAA,CAAIC,6BAAA,KAAkC;AAEhD,IAAIC,YAAA;AAEJ,SAASC,cAAA,EAAgB;EACvB,IAAAD,YAAI,UAAiB,GAAAA,YAAW,UAAAE,MAAA,wBAAAC,eAAA,CAAAD,MAAA,CAAAE,QAAA,CAAAC,MAAA,EAAAC,GAAA;EAC9B,OAAAN,YACE;AACmE;AAEvE,MAAAO,0BAAO;AACT,MAAAC,uBAAA,GAAAxB,aAAA;AAGA,MAAMyB,MAAA,UAAAC,oBAAuD;AAC7D,MAAMC,2BAA0B,GAAAA,CAAA;EAAAC,OAAsB;EAAEC;AAAA;EAExD,MAAMC,EAAA,GAAA5B,KACJ;EAKKH,yBAAM;IACXwB,0BAAA,CAAAO,EAAA,IAAAF,OAAA;EAAA,CACA,GAAAA,OAAA,EAAAE,EAAA;EACF,OAGiB,eAAA3B,GAAA,CAAAqB,uBAAA,CAAAO,QAAA;IACfC,KAAA,EAAMF,EAAA;IAEND;EACE;AAAiC;AAGnC,IAAAI,0BACG;AAIL,IAAAC,QAAA;AAGA,SAAIC,oBAAAC,KAA0D;EAQ9DF,QAAI,GAAAE,KAAsC;AAEnC;AACL,MAAAC,aAAW,sBAAAhC,OAAA;AACb,IAAAiC,YAAA;AAmBA,MAAMC,aAAA,GAAgB,mBAAIC,GAAA;AAG1B,SAAIC,OAAA;EACJ,IAAAH,YAAM;IAECA,YAAS,QAAe;IAC7B,IAAIC,aAAA,EAAc;MAChBA,aAAA,CAAAG,OAAe,CAAAC,EAAA,IAAAA,EAAA;MACfJ,aAAI,CAAAK,KAAA,CAAe;IACjB;EACA;AAAoB;AACtB,SACFC,qBAAA;EACF,KAAApB,MAAA,IAAAQ,0BAAA;EAEAA,0BAAS,OAAuBP,oBAAA,CAAAoB,OAAA;IAC9B,KAAK,IAAAC,CAAA,MAAUA,CAAA,GAAAD,OAAA,CAAAE,MAAA,EAAAD,CAAA;MAEf,MAAAE,KAAA,GAAAH,OAAA,CAAAC,CAAA;MAAiC,MAC9BG,IAAA,GAAAD,KAAY,CAAAE,MAAA;MACX,IAAA1C,iBAAgB,CAAA2C,GAAI,CAAAF,IAAA,CAAQ,KAAAD,KAAQ,CAAAI,cAAK,EAAA5C,iBAAA,CAAA6C,GAAA,CAAAJ,IAAA,EAAAD,KAAA,CAAAI,cAAA;IACvC;EACA;IAAAE,SAAM;EAAA,EAAO;AACb;AACE,SAAAC,WAAAC,CAAA,EAAAC,CAAA;EAAgD,OAClDD,CAAA,CAAAE,CAAA,KAAAD,CAAA,CAAAC,CAAA,IAAAF,CAAA,CAAAG,CAAA,KAAAF,CAAA,CAAAE,CAAA,IAAAH,CAAA,CAAAI,KAAA,KAAAH,CAAA,CAAAG,KAAA,IAAAJ,CAAA,CAAAK,MAAA,KAAAJ,CAAA,CAAAI,MAAA;AAAA;AACF,IACFrC,MAAA;EAAA,IACAsC,uBAAA,YAAAA,CAAA;IAAA,IACEC,iBAAW,SAAAA,iBAAA;IAAAA,iBACb,OAAAtC,oBAAA,CAAAoB,OAAA;MACFmB,iBAAA,GAAAC,IAAA,CAAAC,KAAA,CAAAC,WAAA,CAAAC,GAAA,KAAAC,kBAAA;MACF,SAAAvB,CAAA,MAAAA,CAAA,GAAAD,OAAA,CAAAE,MAAA,EAAAD,CAAA,IAAAwB,aAAA,CAAAjB,GAAA,CAAAR,OAAA,CAAAC,CAAA,EAAAI,MAAA,EAAAL,OAAA,CAAAC,CAAA,EAAAyB,kBAAA;MAGA,IAAA3D,OAAS,CAAAC,GAAA,CAAA2D,QAA4D,sBAAAxD,aAAA,MAAAgD,iBAAA,OAAAS,OAAA,CAAAC,IAAA,wBAAAV,iBAAA,SAAAnB,OAAA,CAAAE,MAAA;MACnE,IAAA4B,gBAAiB,EAAK;QACxBA,gBAAA;QAEIA,gBAAQ;MASV;IACE;MAAArB,SAAI;IAAA;IAEJ,OAAAS,iBAAoB;EAAI;EAEpB,MAAAO,aAAA,kBAA+B,IAAAlE,OAAA,CAAY;EAG3C,IAAA2D,iBAAa,GAAG,IAAI;EAClB,IAAAY,gBAAA,GAAc,IAAI;EAAgD,IAAAN,kBACpE;EAEA,IAAAL,iBACU,GAAI;EAIZ,eAAAY,qBAAQA,CAAA3B,IAAA;IAAA,MAAA4B,QACN,GAAA1E,cAAA,CAAAgD,GAAA,CAAAF,IAAA;IAAA,WACA4B,QAAA,eAAoB;IAAA,MAAAC,UACpB,GAAQ7B,IAAA,CAAA8B,aAAA;IAAA,KAAAD,UACR;IAAA,IAAAE,QACF;IAAA,IAAAC,UACF;IAEA,IAAAhD,QAAI;MACF+C,QAAA,GAAAV,aAAiB,CAAAnB,GAAI,CAAAF,IAAA;MACrBgC,UAAA,GAAAX,aAAmB,CAAAnB,GAAA,CAAA2B,UAAA;MAAA,KACrBE,QAAA,KAAAC,UAAA;IAAA,OACF;MAAAD,QACA,GAAA/B,IAAA,CAAAiC,qBAAA;MAAAD,UACE,GAAAH,UAAW,CAAAI,qBAAA;IAAA;IACb,MACFC,UAAA,GAAA/C,aAAA,CAAAe,GAAA,CAAAF,IAAA;IAEA,MAAAmC,gBAAO,GAAAhD,aAAA,CAAAe,GAAA,CAAA2B,UAAA;IACT,MAAAO,WAAA,IAAAF,UAAA,KAAA5B,UAAA,CAAA4B,UAAA,EAAAH,QAAA;IA5CA,MAAMM,aAAA,GAAgB,CAAAF,gBAAA,IAAI,CAAA7B,UAAkC,CAAA6B,gBAAA,EAAAH,UAAA;IAG5D,IAAII,WAAA,IAAAC,aAAiD;MACrDlD,aAAI,CAAAiB,GAAA,CAAAJ,IAAsD,EAAA+B,QAAA;MAC1D5C,aAAI,CAAAiB,GAAA,CAAAyB,UAAqB,EAAAG,UAAA;MACzB,MAAIM,KAAA,GAAAC,qBAAoB,CAAAR,QAAA,EAAAC,UAAA,EAAAhC,IAAA;MAwCxB,IAAArC,OAAA,CAAAC,GAAe,CAAA2D,QAAA,kBAAyC,IAAAxD,aAAA,IAAAyD,OAAA,CAAAgB,GAAA;QACtDC,GAAA,EAAAzC,IAAM,CAAA0C,OAAW;QACjB9D,EAAA,EAAIoB,IAAA,CAAApB,EAAO;QAEX+D,SAAM,GAAA3C,IAAA,CAAA2C,SAAkB,QAAAC,KAAA;QACxBC,MAAK,EAAAP,KAAA,CAAAQ,WAAY,CAAAD,MAAA;QAEjBE,KAAI,GAAAb;MACJ;MAGA,IAAA9C,YAAI,EAAaC,aAAS,CAAAe,GAAA,CAAAJ,IAAA,QAAA4B,QAAA,CAAAU,KAAA,QACxBV,QAAA,CAAWU,KAAA;IACX;EAEA;EACE,MAAAU,GAAA,UAAAC,qBAAA,mBAAAA,qBAAA;EAAA,MACFC,WAAA,GAAAvF,OAAA,CAAAC,GAAA,CAAAuF,yBAAA;EAAA,MACFC,gBAAO,GAAAF,WAAA,IAAAA,WAAA;EACL,MAAAG,eAAgB;EAChB,IAAAC,UAAA,GAAAF,gBAAwB;EAAsB,IAChDG,UAAA;EAEA,eAAMC,sBAA2BA,CAAA,EAAI;IACrC,IAAAD,UAAM,KAAAD,UAAmB;MAGzBN,GAAA,GAAAA,GAAM,CAAAQ,sBAAe,IAAcC,UAAC,CAAAD,sBAA+B;MACnE;IAEA;IACE,IAAAD,UAAA,IAAcG,MAAI,CAAAC,gBAAyB,EAAAJ,UAAA;IAC3C,IAAAvE,QAAA,UAAkB;MAElB,MAAA4E,YAAc;MAEd,MAAAC,gBAAgB,kBAAa,IAAAvG,GAAA,CAAiB;MAC5C,WAAA0C,IAAQ,IAAI3C,KAAA;QAA6B,MACvCyE,aAAU,GAAA9B,IAAA,CAAA8B,aAAA;QAAA,MACVA,aAAS,YAAMgC,WAAA;UAAAC,WACf,CAAA/D,IAAA,CAAY;UAAsC;QACxB;QAClB,MACTgE,UAAA,GAAA5G,gBAAA,CAAA8C,GAAA,CAAAF,IAAA;QAAA,IACHgE,UAAA,IAAA3F,0BAAA,CAAA2F,UAAA;QAEA,IAAAzG,iBAAkB,CAAA2C,GAAA,CAAAF,IAAA;QAChB4D,YAAA,CAAAK,IAAA,CAAcjE,IAAI;QAA2B6D,gBACxC,CAAAK,GAAA,CAAApC,aAAA;MACL;MAAc,IAChB8B,YAAA,CAAA9D,MAAA;QACF,MAAAqE,EAAA,GAAAtD,uBAAA;QACFO,kBAAA,GAAAF,WAAA,CAAAC,GAAA;QAEA,KAAM,IAAAtB,CACJ,MAAAA,CAAO,GAAA+D,YAAA,CAAA9D,MAAA,EAAAD,CAAA,EAA0B,EAAAsE,EAAA,CAAAC,OAAA,CAAcR,YAAA,CAAA/D,CAAA;QAGjD,KAAM,MAAAwE,MAAA,IAAcR,gBAAY,EAAAM,EAAA,CAAAC,OAAA,CAAAC,MAAA;QAChC,MAAM,IAAAC,OAAA,CAAAC,GAAA,IAAmB;UACzB7C,gBAAM,GAAA6C,GAAkB;QACxB,EAAI;QACJ,KAAI,IAAA1E,CAAA,MAAaA,CAAA,GAAA+D,YAAA,CAAA9D,MAAA,EAAAD,CAAA,IAAAsE,EAAA,CAAAK,SAAA,CAAAZ,YAAA,CAAA/D,CAAA;QAEjB,WAAAwE,MAAe,IAAAR,gBAAA,EAAyBM,EAAA,CAAAK,SAAA,CAAAH,MAAA;QAEtC,IAAItD,iBAAe,OAAAuC,UAAkB,GAAAtC,IAAA,CAAAyD,GAAA,CAAAnB,UAAA,MAAAD,eAAA,OACnC,IAAMtC,iBAAI,OAAAuC,UAA0B,GAAAtC,IAAW,CAAA0D,GAAA,CAAApB,UAAA,MAAAF,gBAA0B;QACzE,SAAAvD,CAAA,MAAAA,CAAA,GAAA+D,YAAA,CAAA9D,MAAA,EAAAD,CAAA,IAAA8B,qBAAA,CAAAiC,YAAA,CAAA/D,CAAA;MAAA;IAIF;IACEmD,GAAA,GAAAA,GAAA,CAAAQ,sBAAa,IAAAC,UAAA,CAAAD,sBAAA;EAAA;EAGfA,sBAAiB;AACf;AAEA,MAAAjB,qBAAM,GAAAA,CAAmBR,QAAA,EAAAC,UAAI,EAAAhC,IAAiB;EAG9C;IACE8C,WAAA,EAAM;MACND,MAAA,EAAA8B,qBAAM,CAAA5C,QAAyB,EAAAC,UAAc,EAAAhC,IAAA;MAC3CC,MAAA,EAAA8B;IACA;IAAA6C,SACF,EAAAC,IAAA,CAAA1D,GAAA;EACA;AACA;AACA,MAAA2D,yBAAsB,GAAI9E,IAAI,IAAM;EAEpC;IACAW,KAAA,EAAAX,IAAA,CAAA+E,WAAiB;IAAiBnE,MACpC,EAAAZ,IAAA,CAAAgF;EAEA;AACE;AACA,MAAAL,qBAAA,GAAqBA,CAAApE,CAAA,EAAAC,CAAA,EAAAyE,KAAY,KAAI;EAGrC;IAAAC,IAAA;IAAAC;EAAS,IAAI5E,CAAG;EACd,MAAAE,CAAA,GAAAyE,IAAG,GAAA1E,CAAA,CAAA0E,IAAQ;EAAe,MAAAxE,CAC5B,GAAAyE,GAAA,GAAA3E,CAAA,CAAA2E,GAAA;EAEA;IAAAxE,KAAA;IAAAC;EAAW,IAAApD,yBAA4B,MAAAyH,KAAA,GAAAH,yBAAA,CAAAG,KAAA;IACrCtE,KAAA,EAAAJ,CAAA,CAAAI,KAAG;IAAcC,MACnB,EAAAL,CAAA,CAAAK;EAGA;EACE;IAAmBH,CAAA;IAIrBC,CAAA;IACEC,KAAA;IAA4BC,MAC9B;IACAwE,KAAA,EAAA7E,CAAA,CAAA2E,IAAA;IACEG,KAAA,EAAA9E,CAAA,CAAA4E;EAAmB;AAIrB;AACE,SAAAG,kBAAaA,CAAKtF,IAAI,EAAAuF,QAAA,EAAAvB,UAAgB;EAAe3G,KAAA,CAAA6G,GACvD,CAAAlE,IAAA;EAEE9C,cAAA,CAAAkD,GAAA,CAAAJ,IAAa,EAAAuF,QAAS;EAAgC,IAAAvB,UACxD,EAAA5G,gBAAA,CAAAgD,GAAA,CAAAJ,IAAA,EAAAgE,UAAA;EAGArE,oBAAa;EACX,IAAAZ,0BAAA,EAAsB;IAAeA,0BACvC,CAAAqF,OAAA,CAAApE,IAAA;IAAAzC,iBACF,CAAA6C,GAAA,CAAAJ,IAAA;EAAA;EAIF,aAAU+D,WAAA,CAAA/D,IAAA;AAA+D;AAG3E,SAAA+D,YAAA/D,IAAuB;EACzB3C,KAAA,CAAAmI,MAAA,CAAAxF,IAAA;EAEO9C,cAAM,CAAAsI,MAAA,CAAAxF,IAAA;EAKX5C,gBAAO,CAAAoI,MAAA,CAAAxF,IAAA;EAAAb,aACL,CAAAqG,MAAa,CAAAxF,IAAA;EAAAzC,iBACH,CAAAiI,MAAA,CAAAxF,IAAA;EAAgD,IAAAjB,0BAChD,EAAAA,0BAAA,CAAAyF,SAAA,CAAAxE,IAAA;AAAA;AACV,MACAyF,YAAW,GAAK,eAAI,IAAAtI,OAAA;AAAA,SACtBuI,iBAAAC,GAAA,EAAA/D,QAAA;EACF,MAAAoC,UAAA,GAAAjH,UAAA,CAAAuB,uBAAA;EASA,MAAM0B,IAAA,GAAA4F,gBAAA,CAAAD,GAA4B,CAChCE,OAAA,EACsCC,IAAA;EACtC,IAAA9F,IAAO,IAAA4B,QAAA;IAAA1E,cACO,CAAAkD,GAAA,CAAAJ,IAAA,EAAA4B,QAAA;IAAAxE,gBACC,CAAAgD,GAAA,CAAAJ,IAAA,EAAAgE,UAAA;EAAA;EAEjBnH,yBAAA;IAEA,IAAM,CAAA+E,QAAA;IAKJ,MAAMmE,QAAQ,GAAAH,gBAAQ,CAAAD,GAAA,CAAAE,OAAA,EAAAC,IAAA;IACtB,MAAME,QAAI,GAAOP,YAAE,CAAAvF,GAAA,CAAAyF,GAAA;IACnB,IAAAI,QAAU,KAAMC,QAAE;IAGlB,IAAAA,QAAQ,EAAAjC,WAAc,CACpBiC,QAAA;IAIFP,YAAY,CAAArF,GAAG,CAAAuF,GAAA,EAAOI,QAAQ;IAChC,KAAAA,QAAA;IAGO1I,KAAA,CAAA6G,GAAS,CAAA6B,QAAA;IAKdpG,oBAAc;IACd,IAAAZ,0BAAyB;MACzBA,0BAAgB,CAAAqF,OAAiB,CAAA2B,QAAU;MAC3CxI,iBAAA,CAAA6C,GAAqB,CAAA2F,QAAA;IACrB;IACE,MAAAE,OAAA,GAAA/I,cAA2B,CAAAgD,GAAA,CAAA6F,QAAY;IACvC,WAAAE,OAAA,KAAkB,UAAU,EAAI;IAClC,MAAApE,UAAA,GAAAkE,QAAA,CAAAjE,aAAA;IACA,KAAAD,UAAa;IACf,MAAAE,QAAA,GAAAgE,QAAA,CAAA9D,qBAAA;IAEA,MAAAD,UAAS,GAAYH,UAAmB,CAAAI,qBAAA;IACtC9C,aAAa,CAAAiB,GAAI,CAAA2F,QAAA,EAAAhE,QAAA;IACjB5C,aAAA,CAAAiB,GAAe,CAAAyB,UAAW,EAAAG,UAAA;IAC1BiE,OAAA,CAAA1D,qBAA4B,CAAAR,QAAA,EAAAC,UAAA,EAAA+D,QAAA;EAC5B;EACAlJ,yBAAkB,CAAO,MAAI;IAC7B,IAAI,CAAA+E,QAAA;IACF,MAAAsE,KAAA,GAAAP,GAAA,CAAAE,OAAA,EAAAC,IAA2B;IAC7B,KAAAI,KAAA;IACF7I,KAAA,CAAA6G,GAAA,CAAAgC,KAAA;IAEAvG,oBAAqB;IAEd,IAAAZ,0BAEL;MAEAA,0BAAmB,CAAAqF,OAAW,CAAA8B,KAAA;MAG9B3I,iBAAa,CAAA6C,GAAA,CAAA8F,KAAA,EAAiB,IAAI;IAClC;IACE,IAAAvI,OAAA,CAAAC,GAAA,CAAA2D,QAAmB,KAAM,aAAQ,IAAAxD,aAAA,IAAAyD,OAAA,CAAAgB,GAAA;MACjCC,GAAA,EAAAyD,KAAA,CAAAxD,OAAiB;MACnB9D,EAAA,EAAAsH,KAAA,CAAAtH,EAAA;MAGA+D,SAAA,GAAAuD,KAAA,CAAAvD,SAA0B,IAAM,IAAAC,KAAA;MAC9BuD,UAAK,EAAA9I,KAAU,CAAA+I;IACf;IACA,MAAAvE,UAAM,GAAWqE,KAAA,CAAArE,UAAa;IAC9B,IAAAA,UAAI,EAAAD,QAAa,CAAAW,qBAAU,CAAA2D,KAAA,CAAAjE,qBAAA,IAAAJ,UAAA,CAAAI,qBAAA,IAAAiE,KAAA;IAE3B,OAAI;MACJnC,WAAA,CAAAmC,KAAa,CAAI;MACjB,MAAKG,WAAU,GAAAZ,YAAA,CAAAvF,GAAA,CAAAyF,GAAA;MAEf,IAAAU,WAAU,IAAQA,WAAA,KAAAH,KAAA,EAAAnC,WAAA,CAAAsC,WAAA;MAClBZ,YAAA,CAAAD,MAAA,CAAAG,GAAqB;IACrB;EACE,IAAAA,GAAA,IAAA/D,QAAA;AACA;AAAoC,SACtCgE,iBAAAnF,CAAA;EAEA,WAAMqD,WAAU,gBAAmB;EACnC,OAAIrD,CAAA,YAAOqD,WAAY,GAAArD,CAAA,GAAY;AACnC;AACA,MAAA6F,0BAAiB,GAAAtG,IAAA;EAEjB,WAAMsE,OAAA,CAAWC,GAAA;IACjB,KAAAvE,IAAM,IAAAA,IAAA,CAAAuG,QAAa,MAAW,SAAAhC,GAAA;IAC9B,MAAAJ,EAAA,OAAA3F,oBAA4B,CAAAoB,OAAQ;MACpCuE,EAAA,CAAAqC,UAAA,EAAc;MACd,OAAAjC,GAAQ,CAAA3E,OAAA,IAAA0B,kBAAsB,CAAU;IAC1C,CAAC;MAAAjB,SAAA;IAAA;IAED8D,EAAA,CAAAC,OAAA,CAAApE,IAAA;EACE;AACA;AACA,MAAAyG,WAAW,SAAAA,CAAAzG,IAAA,EAAA0G,UAAA;EAEX,MAAAC,YAAc,GAAAD,UAAA,IAAA1G,IAAA,EAAA8B,aAAA;EAEd,IAAA6E,YAAA,YAAqB7C,WAAA;IACrB,MAAI,CAAA8C,OAAA,EAAAC,eAAA,IAA4B,MAAAvC,OAAA,CAAAwC,GAAA,EAAAR,0BAAA,CAAAtG,IAAA,GAAAsG,0BAAA,CAAAK,YAAA;IAC9B,IAAAE,eAAA,IAAAD,OAAA,EAA2B,OAAQjC,qBAAI,CAAAiC,OAAA,EAAAC,eAAA,EAAA7G,IAAA;EACvC;EAAgC,OAClC;AAEA;AACE,MAAA+G,OAAA,GAAQ,MAAAA,CAAI/G,IAAA,EAAAgH,QAAA;EAA+B,MAAAC,GACzC,GAAK,MAAKR,WAAA,CAAAzG,IAAA,EAAAA,IAAA,CAAA6B,UAAA,YAAAiC,WAAA,GAAA9D,IAAA,CAAA6B,UAAA;EAAA,IAAAoF,GACV,EAAAD,QAAS,GAAAC,GAAM,CAAAxG,CAAA,EAAAwG,GAAA,CAAAvG,CAAA,EAAAuG,GAAA,CAAAtG,KAAA,EAAAsG,GAAA,CAAArG,MAAA,EAAAqG,GAAA,CAAA7B,KAAA,EAAA6B,GAAA,CAAA5B,KAAA;EAAA,OACf4B,GAAA;AAAkD;AAChC,SACnBC,cAAAlH,IAAA;EAAA,OACHgH,QAAA,IAAAD,OAAA,CAAA/G,IAAA,EAAAgH,QAAA;AAGA;AACA,MAAAG,eAAgB,SAAAA,CAAAnH,IAAA,EAAAgH,QAAA;EACd,MAAAC,GAAA,SAAAR,WAAA,CAAAzG,IAAA;EAAA,IAAAiH,GACE,EAAAD,QAAA,GAAAC,GAAA,CAAA7B,KAAA,EAAA6B,GAAA,CAAA5B,KAAA,EAAA4B,GAAA,CAAAtG,KAAA,EAAAsG,GAAA,CAAArG,MAAA;EAAA,OAAAqG,GACE;AAA2B;AACM,MAAAG,qBACjC,GAAApH,IAAA;EAAA,OACFgH,QAAA,IAAAG,eAAA,CAAAnH,IAAA,EAAAgH,QAAA;AAAA;AACF,MACFK,aAAA,SAAAA,CAAArH,IAAA,EAAA2G,YAAA,EAAAK,QAAA;EAEA,MAAAC,GAAA,GAAO,MAAMR,WAAA,CAAAzG,IAAA,EAAA2G,YAAA;EACX,IAAAM,GAAA,EAAAD,QAAY,GAAAC,GAAI,CAAAxG,CAAA,EAAAwG,GAAA,CAAAvG,CAAA,EAAAuG,GAAA,CAAAtG,KAAA,EAAAsG,GAAA,CAAArG,MAAA,EAAAqG,GAAA,CAAA7B,KAAA,EAAA6B,GAAA,CAAA5B,KAAA;EAGhB,OAAA4B,GAAA;AACA;AACE,SAAAK,mBAAYA,CAAAtH,IAAW;EAAA,OACzB,CAAA0G,UAAA,EAAAM,QAAA,KAAAK,aAAA,CAAArH,IAAA,EAAA0G,UAAA,EAAAM,QAAA;AACA;AAAuB,SACzBvI,2BAAA,EAAAyI,aAAA,EAAAE,qBAAA,EAAAE,mBAAA,EAAA/H,MAAA,EAAA+G,0BAAA,EAAA/D,qBAAA,EAAAwE,OAAA,EAAAI,eAAA,EAAAE,aAAA,EAAAZ,WAAA,EAAAnB,kBAAA,EAAArG,mBAAA,EAAAyG,gBAAA","ignoreList":[]}