@userflow-tech/react-native 0.6.0 → 0.7.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.
- package/README.md +41 -33
- package/docs/troubleshooting.md +38 -38
- package/expo-plugin/hostDependencyWarnings.d.ts +5 -5
- package/expo-plugin/hostDependencyWarnings.js +7 -7
- package/expo-plugin/hostDependencyWarnings.js.map +1 -1
- package/lib/commonjs/anchors/AnchorRegistry.js +5 -0
- package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/ScrollContainerRegistry.js +8 -0
- package/lib/commonjs/anchors/ScrollContainerRegistry.js.map +1 -1
- package/lib/commonjs/anchors/fiber/presentedModal.js +215 -0
- package/lib/commonjs/anchors/fiber/presentedModal.js.map +1 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js +1 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -1
- package/lib/commonjs/anchors/fiber/visibleRect.js +12 -3
- package/lib/commonjs/anchors/fiber/visibleRect.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowScrollContainer.js.map +1 -1
- package/lib/commonjs/authoring/ElementPickerOverlay.js +197 -138
- package/lib/commonjs/authoring/ElementPickerOverlay.js.map +1 -1
- package/lib/commonjs/authoring/hitTest.js +67 -10
- package/lib/commonjs/authoring/hitTest.js.map +1 -1
- package/lib/commonjs/authoring/hostAtPoint.js +45 -21
- package/lib/commonjs/authoring/hostAtPoint.js.map +1 -1
- package/lib/commonjs/content/RichContentRenderer.js +19 -7
- package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
- package/lib/commonjs/deepLinking.js.map +1 -1
- package/lib/commonjs/deviceContext.js +39 -19
- package/lib/commonjs/deviceContext.js.map +1 -1
- package/lib/commonjs/index.js +11 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/installCheck.js +3 -3
- package/lib/commonjs/installCheck.js.map +1 -1
- package/lib/commonjs/lifecycle.js +2 -0
- package/lib/commonjs/lifecycle.js.map +1 -1
- package/lib/commonjs/pairing/PairingController.js.map +1 -1
- package/lib/commonjs/runtime/UserflowOverlay.js +17 -13
- package/lib/commonjs/runtime/UserflowOverlay.js.map +1 -1
- package/lib/commonjs/runtime/WindowOverlayHost.js +83 -0
- package/lib/commonjs/runtime/WindowOverlayHost.js.map +1 -0
- package/lib/commonjs/runtime/userflowCore.js +9 -2
- package/lib/commonjs/runtime/userflowCore.js.map +1 -1
- package/lib/commonjs/surfaces/TooltipSurface.js +109 -51
- package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js +6 -6
- package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/targetOrigin.js +74 -0
- package/lib/commonjs/surfaces/tooltip/targetOrigin.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AnchorRegistry.js +5 -0
- package/lib/module/anchors/AnchorRegistry.js.map +1 -1
- package/lib/module/anchors/ScrollContainerRegistry.js +8 -0
- package/lib/module/anchors/ScrollContainerRegistry.js.map +1 -1
- package/lib/module/anchors/fiber/presentedModal.js +206 -0
- package/lib/module/anchors/fiber/presentedModal.js.map +1 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js +1 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -1
- package/lib/module/anchors/fiber/visibleRect.js +12 -3
- package/lib/module/anchors/fiber/visibleRect.js.map +1 -1
- package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/module/anchors/useUserflowScrollContainer.js.map +1 -1
- package/lib/module/authoring/ElementPickerOverlay.js +199 -140
- package/lib/module/authoring/ElementPickerOverlay.js.map +1 -1
- package/lib/module/authoring/hitTest.js +67 -11
- package/lib/module/authoring/hitTest.js.map +1 -1
- package/lib/module/authoring/hostAtPoint.js +45 -21
- package/lib/module/authoring/hostAtPoint.js.map +1 -1
- package/lib/module/content/RichContentRenderer.js +19 -7
- package/lib/module/content/RichContentRenderer.js.map +1 -1
- package/lib/module/deepLinking.js.map +1 -1
- package/lib/module/deviceContext.js +38 -17
- package/lib/module/deviceContext.js.map +1 -1
- package/lib/module/index.js +11 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/installCheck.js +3 -3
- package/lib/module/installCheck.js.map +1 -1
- package/lib/module/lifecycle.js +2 -0
- package/lib/module/lifecycle.js.map +1 -1
- package/lib/module/pairing/PairingController.js.map +1 -1
- package/lib/module/runtime/UserflowOverlay.js +18 -14
- package/lib/module/runtime/UserflowOverlay.js.map +1 -1
- package/lib/module/runtime/WindowOverlayHost.js +76 -0
- package/lib/module/runtime/WindowOverlayHost.js.map +1 -0
- package/lib/module/runtime/userflowCore.js +9 -2
- package/lib/module/runtime/userflowCore.js.map +1 -1
- package/lib/module/surfaces/TooltipSurface.js +109 -51
- package/lib/module/surfaces/TooltipSurface.js.map +1 -1
- package/lib/module/surfaces/tooltip/TooltipHighlight.js +6 -6
- package/lib/module/surfaces/tooltip/TooltipHighlight.js.map +1 -1
- package/lib/module/surfaces/tooltip/targetOrigin.js +67 -0
- package/lib/module/surfaces/tooltip/targetOrigin.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts +11 -2
- package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/presentedModal.d.ts +45 -0
- package/lib/typescript/commonjs/src/anchors/fiber/presentedModal.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/visibleRect.d.ts +5 -2
- package/lib/typescript/commonjs/src/anchors/fiber/visibleRect.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts +2 -2
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts +3 -2
- package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts +4 -0
- package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/hitTest.d.ts +25 -2
- package/lib/typescript/commonjs/src/authoring/hitTest.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/hostAtPoint.d.ts +6 -1
- package/lib/typescript/commonjs/src/authoring/hostAtPoint.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/deepLinking.d.ts +1 -1
- package/lib/typescript/commonjs/src/deepLinking.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/deviceContext.d.ts +14 -5
- package/lib/typescript/commonjs/src/deviceContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +11 -5
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/installCheck.d.ts +2 -2
- package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/lifecycle.d.ts +1 -0
- package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +1 -1
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowOverlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/WindowOverlayHost.d.ts +34 -0
- package/lib/typescript/commonjs/src/runtime/WindowOverlayHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/targetOrigin.d.ts +26 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/targetOrigin.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/version.d.ts +1 -1
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts +11 -2
- package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/presentedModal.d.ts +45 -0
- package/lib/typescript/module/src/anchors/fiber/presentedModal.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/visibleRect.d.ts +5 -2
- package/lib/typescript/module/src/anchors/fiber/visibleRect.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts +2 -2
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts +3 -2
- package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts +4 -0
- package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/hitTest.d.ts +25 -2
- package/lib/typescript/module/src/authoring/hitTest.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/hostAtPoint.d.ts +6 -1
- package/lib/typescript/module/src/authoring/hostAtPoint.d.ts.map +1 -1
- package/lib/typescript/module/src/deepLinking.d.ts +1 -1
- package/lib/typescript/module/src/deepLinking.d.ts.map +1 -1
- package/lib/typescript/module/src/deviceContext.d.ts +14 -5
- package/lib/typescript/module/src/deviceContext.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +11 -5
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/installCheck.d.ts +2 -2
- package/lib/typescript/module/src/installCheck.d.ts.map +1 -1
- package/lib/typescript/module/src/lifecycle.d.ts +1 -0
- package/lib/typescript/module/src/lifecycle.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/PairingController.d.ts +1 -1
- package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowOverlay.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/WindowOverlayHost.d.ts +34 -0
- package/lib/typescript/module/src/runtime/WindowOverlayHost.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/userflowCore.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/targetOrigin.d.ts +26 -0
- package/lib/typescript/module/src/surfaces/tooltip/targetOrigin.d.ts.map +1 -0
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +5 -4
- package/src/anchors/AnchorRegistry.ts +8 -0
- package/src/anchors/ScrollContainerRegistry.ts +15 -3
- package/src/anchors/fiber/presentedModal.ts +203 -0
- package/src/anchors/fiber/touchTargetFiber.ts +2 -1
- package/src/anchors/fiber/visibleRect.ts +12 -3
- package/src/anchors/useUserflowAnchor.ts +4 -5
- package/src/anchors/useUserflowScrollContainer.ts +5 -4
- package/src/authoring/ElementPickerOverlay.tsx +242 -166
- package/src/authoring/hitTest.ts +88 -13
- package/src/authoring/hostAtPoint.ts +67 -21
- package/src/content/RichContentRenderer.tsx +11 -9
- package/src/deepLinking.ts +2 -1
- package/src/deviceContext.ts +50 -14
- package/src/index.ts +11 -5
- package/src/installCheck.ts +3 -3
- package/src/lifecycle.ts +2 -1
- package/src/pairing/PairingController.ts +2 -1
- package/src/runtime/UserflowOverlay.tsx +29 -21
- package/src/runtime/WindowOverlayHost.tsx +95 -0
- package/src/runtime/userflowCore.ts +8 -2
- package/src/surfaces/TooltipSurface.tsx +103 -45
- package/src/surfaces/tooltip/TooltipHighlight.tsx +3 -5
- package/src/surfaces/tooltip/targetOrigin.ts +74 -0
- package/src/version.ts +1 -1
- package/vendor/core/dist/engine/UserflowCore.d.ts +7 -0
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.js +3 -2
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
- package/vendor/core/dist/transport/phoenix.d.ts +12 -2
- package/vendor/core/dist/transport/phoenix.d.ts.map +1 -1
- package/vendor/core/dist/transport/phoenix.js +7 -6
- package/vendor/core/dist/transport/phoenix.js.map +1 -1
- package/vendor/core/dist/version.d.ts +1 -1
- package/vendor/core/dist/version.js +1 -1
- package/vendor/core/package.json +1 -1
- package/vendor/protocol/package.json +1 -1
|
@@ -71,19 +71,19 @@ function buildHighlightRings(rect, chrome) {
|
|
|
71
71
|
}
|
|
72
72
|
function strokeGlow(chrome) {
|
|
73
73
|
const blur = Math.max(chrome.radius, 6);
|
|
74
|
-
|
|
74
|
+
// Built in one literal: React Native 0.88 types ViewStyle as readonly.
|
|
75
|
+
return {
|
|
75
76
|
shadowColor: chrome.color,
|
|
76
77
|
shadowOffset: {
|
|
77
78
|
width: 0,
|
|
78
79
|
height: 0
|
|
79
80
|
},
|
|
80
81
|
shadowOpacity: Math.min(0.45, chrome.opacity),
|
|
81
|
-
shadowRadius: blur
|
|
82
|
+
shadowRadius: blur,
|
|
83
|
+
...(_reactNative.Platform?.OS !== 'ios' ? {
|
|
84
|
+
boxShadow: `0px 0px ${blur}px 0px ${chrome.glowColor}`
|
|
85
|
+
} : null)
|
|
82
86
|
};
|
|
83
|
-
if (_reactNative.Platform?.OS !== 'ios') {
|
|
84
|
-
glow.boxShadow = `0px 0px ${blur}px 0px ${chrome.glowColor}`;
|
|
85
|
-
}
|
|
86
|
-
return glow;
|
|
87
87
|
}
|
|
88
88
|
function ringFrame(rect, borderWidth, alreadyConsumed, inset, cornerRadius) {
|
|
89
89
|
if (borderWidth <= 0) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_resolveHighlightChrome","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TooltipHighlight","targetRect","chrome","isHighlightVisible","rings","buildHighlightRings","length","jsx","View","pointerEvents","testID","children","map","ring","style","rect","width","height","inset","type","consumed","strokeWidth","frame","ringFrame","borderRadius","push","styles","borderWidth","borderColor","color","strokeGlow","radius","glowColor","blur","Math","max","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_resolveHighlightChrome","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TooltipHighlight","targetRect","chrome","isHighlightVisible","rings","buildHighlightRings","length","jsx","View","pointerEvents","testID","children","map","ring","style","rect","width","height","inset","type","consumed","strokeWidth","frame","ringFrame","borderRadius","push","styles","borderWidth","borderColor","color","strokeGlow","radius","glowColor","blur","Math","max","shadowColor","shadowOffset","shadowOpacity","min","opacity","shadowRadius","Platform","OS","boxShadow","alreadyConsumed","cornerRadius","top","left","nextWidth","nextHeight","outset","StyleSheet","create","position","backgroundColor","overflow"],"sourceRoot":"../../../../src","sources":["surfaces/tooltip/TooltipHighlight.tsx"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,uBAAA,GAAAF,OAAA;AAAqF,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAcrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkB,gBAAgBA,CAAC;EAC/BC,UAAU;EACVC;AACqB,CAAC,EAA6B;EACnD,IAAI,CAAC,IAAAC,0CAAkB,EAACD,MAAM,CAAC,EAAE,OAAO,IAAI;EAE5C,MAAME,KAAK,GAAGC,mBAAmB,CAACJ,UAAU,EAAEC,MAAM,CAAC;EACrD,IAAIE,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEnC,oBACE,IAAA1B,WAAA,CAAA2B,GAAA,EAAC7B,YAAA,CAAA8B,IAAI;IAACC,aAAa,EAAC,MAAM;IAACC,MAAM,EAAC,4BAA4B;IAAAC,QAAA,EAC3DP,KAAK,CAACQ,GAAG,CAAEC,IAAI,iBACd,IAAAjC,WAAA,CAAA2B,GAAA,EAAC7B,YAAA,CAAA8B,IAAI;MAAmBC,aAAa,EAAC,MAAM;MAACC,MAAM,EAAEG,IAAI,CAACH,MAAO;MAACI,KAAK,EAAED,IAAI,CAACC;IAAM,GAAzED,IAAI,CAACH,MAAsE,CACvF;EAAC,CACE,CAAC;AAEX;AAEO,SAASL,mBAAmBA,CAACU,IAAmB,EAAEb,MAAuB,EAAU;EACxF,IAAIa,IAAI,CAACC,KAAK,IAAI,CAAC,IAAID,IAAI,CAACE,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;EAElD,MAAMC,KAAK,GAAGhB,MAAM,CAACiB,IAAI,KAAK,QAAQ;EACtC,MAAMf,KAAa,GAAG,EAAE;EACxB,IAAIgB,QAAQ,GAAG,CAAC;EAEhB,IAAIlB,MAAM,CAACmB,WAAW,GAAG,CAAC,EAAE;IAC1B,MAAMC,KAAK,GAAGC,SAAS,CAACR,IAAI,EAAEb,MAAM,CAACmB,WAAW,EAAED,QAAQ,EAAEF,KAAK,EAAEhB,MAAM,CAACsB,YAAY,CAAC;IACvF,IAAIF,KAAK,EAAE;MACTlB,KAAK,CAACqB,IAAI,CAAC;QACTf,MAAM,EAAE,mCAAmC;QAC3CI,KAAK,EAAE,CACLY,MAAM,CAACb,IAAI,EACXS,KAAK,EACL;UACEK,WAAW,EAAEzB,MAAM,CAACmB,WAAW;UAC/BO,WAAW,EAAE1B,MAAM,CAAC2B,KAAK;UACzB,GAAGC,UAAU,CAAC5B,MAAM;QACtB,CAAC;MAEL,CAAC,CAAC;MACFkB,QAAQ,IAAIlB,MAAM,CAACmB,WAAW;IAChC;EACF;EAEA,IAAInB,MAAM,CAAC6B,MAAM,GAAG,CAAC,EAAE;IACrB,MAAMT,KAAK,GAAGC,SAAS,CAACR,IAAI,EAAEb,MAAM,CAAC6B,MAAM,EAAEX,QAAQ,EAAEF,KAAK,EAAEhB,MAAM,CAACsB,YAAY,CAAC;IAClF,IAAIF,KAAK,EAAE;MACTlB,KAAK,CAACqB,IAAI,CAAC;QACTf,MAAM,EAAE,iCAAiC;QACzCI,KAAK,EAAE,CACLY,MAAM,CAACb,IAAI,EACXS,KAAK,EACL;UACEK,WAAW,EAAEzB,MAAM,CAAC6B,MAAM;UAC1BH,WAAW,EAAE1B,MAAM,CAAC8B;QACtB,CAAC;MAEL,CAAC,CAAC;IACJ;EACF;EAEA,OAAO5B,KAAK;AACd;AAEA,SAAS0B,UAAUA,CAAC5B,MAAuB,EAAa;EACtD,MAAM+B,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACjC,MAAM,CAAC6B,MAAM,EAAE,CAAC,CAAC;EACvC;EACA,OAAO;IACLK,WAAW,EAAElC,MAAM,CAAC2B,KAAK;IACzBQ,YAAY,EAAE;MAAErB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCqB,aAAa,EAAEJ,IAAI,CAACK,GAAG,CAAC,IAAI,EAAErC,MAAM,CAACsC,OAAO,CAAC;IAC7CC,YAAY,EAAER,IAAI;IAClB,IAAIS,qBAAQ,EAAEC,EAAE,KAAK,KAAK,GAAG;MAAEC,SAAS,EAAE,WAAWX,IAAI,UAAU/B,MAAM,CAAC8B,SAAS;IAAG,CAAC,GAAG,IAAI;EAChG,CAAC;AACH;AAEA,SAAST,SAASA,CAChBR,IAAmB,EACnBY,WAAmB,EACnBkB,eAAuB,EACvB3B,KAAc,EACd4B,YAAoB,EACuE;EAC3F,IAAInB,WAAW,IAAI,CAAC,EAAE,OAAO,IAAI;EACjC,MAAM;IAAEoB,GAAG;IAAEC,IAAI;IAAEhC,KAAK;IAAEC;EAAO,CAAC,GAAGF,IAAI;EAEzC,IAAIG,KAAK,EAAE;IACT,MAAM+B,SAAS,GAAGjC,KAAK,GAAG6B,eAAe,GAAG,CAAC;IAC7C,MAAMK,UAAU,GAAGjC,MAAM,GAAG4B,eAAe,GAAG,CAAC;IAC/C,IAAII,SAAS,GAAGtB,WAAW,GAAG,CAAC,IAAIuB,UAAU,GAAGvB,WAAW,GAAG,CAAC,EAAE,OAAO,IAAI;IAC5E,OAAO;MACLoB,GAAG,EAAEA,GAAG,GAAGF,eAAe;MAC1BG,IAAI,EAAEA,IAAI,GAAGH,eAAe;MAC5B7B,KAAK,EAAEiC,SAAS;MAChBhC,MAAM,EAAEiC,UAAU;MAClB1B,YAAY,EAAEU,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEW,YAAY,GAAGD,eAAe;IAC1D,CAAC;EACH;EAEA,MAAMM,MAAM,GAAGN,eAAe,GAAGlB,WAAW;EAC5C,OAAO;IACLoB,GAAG,EAAEA,GAAG,GAAGI,MAAM;IACjBH,IAAI,EAAEA,IAAI,GAAGG,MAAM;IACnBnC,KAAK,EAAEA,KAAK,GAAGmC,MAAM,GAAG,CAAC;IACzBlC,MAAM,EAAEA,MAAM,GAAGkC,MAAM,GAAG,CAAC;IAC3B3B,YAAY,EAAEsB,YAAY,GAAGK;EAC/B,CAAC;AACH;AAEA,MAAMzB,MAAM,GAAG0B,uBAAU,CAACC,MAAM,CAAC;EAC/BxC,IAAI,EAAE;IACJyC,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAE,aAAa;IAC9BC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NO_MODAL_TRUST_MS = void 0;
|
|
7
|
+
exports.locateTargetOrigin = locateTargetOrigin;
|
|
8
|
+
exports.offsetRect = offsetRect;
|
|
9
|
+
exports.resetTargetOriginForTests = resetTargetOriginForTests;
|
|
10
|
+
var _FiberScanRootStore = require("../../anchors/fiber/FiberScanRootStore.js");
|
|
11
|
+
var _presentedModal = require("../../anchors/fiber/presentedModal.js");
|
|
12
|
+
var _fiberAnchorCache = require("../../anchors/fiberAnchorCache.js");
|
|
13
|
+
var _WindowOverlayHost = require("../../runtime/WindowOverlayHost.js");
|
|
14
|
+
const ZERO = {
|
|
15
|
+
x: 0,
|
|
16
|
+
y: 0
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* How long "nothing is presented" is trusted on the same screen. The lookup
|
|
21
|
+
* walks the whole fiber tree (1.4ms for 2,200 fibers in a debug build), and
|
|
22
|
+
* an anchored tooltip resolves four times a second. Expo Router and native
|
|
23
|
+
* stack modals change the screen, which skips this wait; a React Native
|
|
24
|
+
* `<Modal>` over the target is noticed within it.
|
|
25
|
+
*/
|
|
26
|
+
const NO_MODAL_TRUST_MS = exports.NO_MODAL_TRUST_MS = 1000;
|
|
27
|
+
let noModalSince = null;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Where a tooltip target's measured rects sit in the window. `done` gets the
|
|
31
|
+
* window position of `(0, 0)` in the target's measure space, or null when the
|
|
32
|
+
* tooltip cannot point at it: a natively presented modal covers the target,
|
|
33
|
+
* or the target is inside a modal that cannot be placed (see
|
|
34
|
+
* `presentedModal.ts`). Also null when the target has no fiber to place.
|
|
35
|
+
*
|
|
36
|
+
* Without the window host, flow chrome is drawn in the root view under any
|
|
37
|
+
* native modal, as before, and `done` runs synchronously with zero.
|
|
38
|
+
*/
|
|
39
|
+
function locateTargetOrigin(fiber, done) {
|
|
40
|
+
if (!(0, _WindowOverlayHost.hasWindowOverlayHost)()) {
|
|
41
|
+
done(ZERO);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const screenKey = (0, _fiberAnchorCache.getFiberAnchorScreenKey)();
|
|
45
|
+
const now = Date.now();
|
|
46
|
+
if (noModalSince && noModalSince.screenKey === screenKey && now - noModalSince.at < NO_MODAL_TRUST_MS) {
|
|
47
|
+
done(ZERO);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
(0, _presentedModal.locatePresentedModal)(_FiberScanRootStore.fiberScanRoot.getFiber()).then(modal => {
|
|
51
|
+
noModalSince = modal == null ? {
|
|
52
|
+
at: now,
|
|
53
|
+
screenKey
|
|
54
|
+
} : null;
|
|
55
|
+
done(modal == null ? ZERO : fiber ? (0, _presentedModal.measureOriginOf)(fiber, modal) : null);
|
|
56
|
+
}, () => {
|
|
57
|
+
noModalSince = null;
|
|
58
|
+
done(null);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function offsetRect(rect, origin) {
|
|
62
|
+
if (origin.x === 0 && origin.y === 0) return rect;
|
|
63
|
+
return {
|
|
64
|
+
...rect,
|
|
65
|
+
x: rect.x + origin.x,
|
|
66
|
+
y: rect.y + origin.y
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** @internal Forgets the cached "nothing is presented" between tests. */
|
|
71
|
+
function resetTargetOriginForTests() {
|
|
72
|
+
noModalSince = null;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=targetOrigin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_FiberScanRootStore","require","_presentedModal","_fiberAnchorCache","_WindowOverlayHost","ZERO","x","y","NO_MODAL_TRUST_MS","exports","noModalSince","locateTargetOrigin","fiber","done","hasWindowOverlayHost","screenKey","getFiberAnchorScreenKey","now","Date","at","locatePresentedModal","fiberScanRoot","getFiber","then","modal","measureOriginOf","offsetRect","rect","origin","resetTargetOriginForTests"],"sourceRoot":"../../../../src","sources":["surfaces/tooltip/targetOrigin.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAKA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAIA,MAAMI,IAAW,GAAG;EAAEC,CAAC,EAAE,CAAC;EAAEC,CAAC,EAAE;AAAE,CAAC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAI;AAErC,IAAIE,YAA6D,GAAG,IAAI;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAChCC,KAAsB,EACtBC,IAAoC,EAC9B;EACN,IAAI,CAAC,IAAAC,uCAAoB,EAAC,CAAC,EAAE;IAC3BD,IAAI,CAACR,IAAI,CAAC;IACV;EACF;EACA,MAAMU,SAAS,GAAG,IAAAC,yCAAuB,EAAC,CAAC;EAC3C,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;EACtB,IACEP,YAAY,IACZA,YAAY,CAACK,SAAS,KAAKA,SAAS,IACpCE,GAAG,GAAGP,YAAY,CAACS,EAAE,GAAGX,iBAAiB,EACzC;IACAK,IAAI,CAACR,IAAI,CAAC;IACV;EACF;EACA,IAAAe,oCAAoB,EAACC,iCAAa,CAACC,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAChDC,KAAK,IAAK;IACTd,YAAY,GAAGc,KAAK,IAAI,IAAI,GAAG;MAAEL,EAAE,EAAEF,GAAG;MAAEF;IAAU,CAAC,GAAG,IAAI;IAC5DF,IAAI,CAACW,KAAK,IAAI,IAAI,GAAGnB,IAAI,GAAGO,KAAK,GAAG,IAAAa,+BAAe,EAACb,KAAK,EAAEY,KAAK,CAAC,GAAG,IAAI,CAAC;EAC3E,CAAC,EACD,MAAM;IACJd,YAAY,GAAG,IAAI;IACnBG,IAAI,CAAC,IAAI,CAAC;EACZ,CACF,CAAC;AACH;AAEO,SAASa,UAAUA,CAACC,IAAU,EAAEC,MAAa,EAAQ;EAC1D,IAAIA,MAAM,CAACtB,CAAC,KAAK,CAAC,IAAIsB,MAAM,CAACrB,CAAC,KAAK,CAAC,EAAE,OAAOoB,IAAI;EACjD,OAAO;IAAE,GAAGA,IAAI;IAAErB,CAAC,EAAEqB,IAAI,CAACrB,CAAC,GAAGsB,MAAM,CAACtB,CAAC;IAAEC,CAAC,EAAEoB,IAAI,CAACpB,CAAC,GAAGqB,MAAM,CAACrB;EAAE,CAAC;AAChE;;AAEA;AACO,SAASsB,yBAAyBA,CAAA,EAAS;EAChDnB,YAAY,GAAG,IAAI;AACrB","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SDK_VERSION = void 0;
|
|
7
7
|
/** Generated by scripts/write-version.mjs — do not edit. */
|
|
8
|
-
const SDK_VERSION = exports.SDK_VERSION = '0.
|
|
8
|
+
const SDK_VERSION = exports.SDK_VERSION = '0.7.0';
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
/** Host view that can be measured in window coordinates. */
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* The view instance an anchor ref receives. Structural rather than `View`,
|
|
7
|
+
* which React Native 0.88 types as a function component, not an instance.
|
|
8
|
+
*/
|
|
9
|
+
|
|
5
10
|
/**
|
|
6
11
|
* Manual-anchor registry for Phase 3 (WS6). Codeless resolution is Phase 4.
|
|
7
12
|
* Multiple mounts of the same id keep a set; {@link get} returns the most
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AnchorRegistry","anchors","Map","listeners","Set","register","id","host","set","get","add","emit","unregister","delete","size","last","getAll","isAmbiguous","subscribe","listener","clear","anchorRegistry"],"sourceRoot":"../../../src","sources":["anchors/AnchorRegistry.ts"],"mappings":";;AAAA;;
|
|
1
|
+
{"version":3,"names":["AnchorRegistry","anchors","Map","listeners","Set","register","id","host","set","get","add","emit","unregister","delete","size","last","getAll","isAmbiguous","subscribe","listener","clear","anchorRegistry"],"sourceRoot":"../../../src","sources":["anchors/AnchorRegistry.ts"],"mappings":";;AAAA;;AAiBA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,cAAc,CAAC;EACTC,OAAO,GAAG,IAAIC,GAAG,CAA0B,CAAC;EAC5CC,SAAS,GAAG,IAAIC,GAAG,CAAW,CAAC;EAEhDC,QAAQA,CAACC,EAAU,EAAEC,IAAgB,EAAQ;IAC3C,IAAI,CAACD,EAAE,EAAE;IACT,IAAIE,GAAG,GAAG,IAAI,CAACP,OAAO,CAACQ,GAAG,CAACH,EAAE,CAAC;IAC9B,IAAI,CAACE,GAAG,EAAE;MACRA,GAAG,GAAG,IAAIJ,GAAG,CAAC,CAAC;MACf,IAAI,CAACH,OAAO,CAACO,GAAG,CAACF,EAAE,EAAEE,GAAG,CAAC;IAC3B;IACAA,GAAG,CAACE,GAAG,CAACH,IAAI,CAAC;IACb,IAAI,CAACI,IAAI,CAAC,CAAC;EACb;EAEAC,UAAUA,CAACN,EAAU,EAAEC,IAAgB,EAAQ;IAC7C,MAAMC,GAAG,GAAG,IAAI,CAACP,OAAO,CAACQ,GAAG,CAACH,EAAE,CAAC;IAChC,IAAI,CAACE,GAAG,EAAE;IACVA,GAAG,CAACK,MAAM,CAACN,IAAI,CAAC;IAChB,IAAIC,GAAG,CAACM,IAAI,KAAK,CAAC,EAAE;MAClB,IAAI,CAACb,OAAO,CAACY,MAAM,CAACP,EAAE,CAAC;IACzB;IACA,IAAI,CAACK,IAAI,CAAC,CAAC;EACb;EAEAF,GAAGA,CAACH,EAAU,EAAqB;IACjC,MAAME,GAAG,GAAG,IAAI,CAACP,OAAO,CAACQ,GAAG,CAACH,EAAE,CAAC;IAChC,IAAI,CAACE,GAAG,IAAIA,GAAG,CAACM,IAAI,KAAK,CAAC,EAAE,OAAO,IAAI;IACvC,IAAIC,IAAuB,GAAG,IAAI;IAClC,KAAK,MAAMR,IAAI,IAAIC,GAAG,EAAE;MACtBO,IAAI,GAAGR,IAAI;IACb;IACA,OAAOQ,IAAI;EACb;;EAEA;EACAC,MAAMA,CAACV,EAAU,EAAgB;IAC/B,MAAME,GAAG,GAAG,IAAI,CAACP,OAAO,CAACQ,GAAG,CAACH,EAAE,CAAC;IAChC,IAAI,CAACE,GAAG,IAAIA,GAAG,CAACM,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE;IACrC,OAAO,CAAC,GAAGN,GAAG,CAAC;EACjB;;EAEA;EACAS,WAAWA,CAACX,EAAU,EAAW;IAC/B,OAAO,CAAC,IAAI,CAACL,OAAO,CAACQ,GAAG,CAACH,EAAE,CAAC,EAAEQ,IAAI,IAAI,CAAC,IAAI,CAAC;EAC9C;EAEAI,SAASA,CAACC,QAAkB,EAAc;IACxC,IAAI,CAAChB,SAAS,CAACO,GAAG,CAACS,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAAChB,SAAS,CAACU,MAAM,CAACM,QAAQ,CAAC;IACjC,CAAC;EACH;;EAEA;EACAC,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACnB,OAAO,CAACmB,KAAK,CAAC,CAAC;IACpB,IAAI,CAACT,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAS;IACnB,KAAK,MAAMQ,QAAQ,IAAI,IAAI,CAAChB,SAAS,EAAE;MACrCgB,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;;AAEA;AACA,OAAO,MAAME,cAAc,GAAG,IAAIrB,cAAc,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
/** Padding applied when scrolling a target into the visible region of a container. */
|
|
4
4
|
const INTO_VIEW_PADDING = 24;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The ScrollView instance a scroll container ref receives. Structural rather
|
|
8
|
+
* than `ScrollView`, which React Native 0.88 types as a function component.
|
|
9
|
+
* Older React Native types leave measureInWindow off the ScrollView instance,
|
|
10
|
+
* so it is not required here.
|
|
11
|
+
*/
|
|
12
|
+
|
|
5
13
|
/**
|
|
6
14
|
* Registry of host {@link ScrollView}s used as an explicit override when
|
|
7
15
|
* scrolling tooltip anchors into view. Prefer automatic fiber discovery for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["INTO_VIEW_PADDING","ScrollContainerRegistry","containers","Set","listeners","register","host","add","emit","unregister","delete","list","scrollTargetIntoView","target","measureInWindow","x","y","width","height","offset","getContentOffset","targetContentY","nextY","Math","max","abs","scrollTo","animated","subscribe","listener","clear","scrollContainerRegistry","createScrollContainerHost","node","measurable","callback","options"],"sourceRoot":"../../../src","sources":["anchors/ScrollContainerRegistry.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["INTO_VIEW_PADDING","ScrollContainerRegistry","containers","Set","listeners","register","host","add","emit","unregister","delete","list","scrollTargetIntoView","target","measureInWindow","x","y","width","height","offset","getContentOffset","targetContentY","nextY","Math","max","abs","scrollTo","animated","subscribe","listener","clear","scrollContainerRegistry","createScrollContainerHost","node","measurable","callback","options"],"sourceRoot":"../../../src","sources":["anchors/ScrollContainerRegistry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Where a natively presented modal sits in the window.
|
|
5
|
+
*
|
|
6
|
+
* Fabric measures and hit-tests content inside a react-native-screens modal
|
|
7
|
+
* screen (`RNSModalScreen`) or a React Native `<Modal>` relative to the modal,
|
|
8
|
+
* not the window: both shadow nodes are `RootNodeKind`, and the native side
|
|
9
|
+
* reports only their size. That is the window for full-screen presentations,
|
|
10
|
+
* but a page sheet or form sheet starts below the top of the window, so window
|
|
11
|
+
* points and measured rects disagree by the sheet's origin.
|
|
12
|
+
*
|
|
13
|
+
* The SDK has no native code to ask UIKit where the sheet is, so the origin is
|
|
14
|
+
* derived from sizes: a sheet as wide as the window is anchored to its bottom.
|
|
15
|
+
* Measured on iOS 17.4 and 26.5 and an iPadOS 26.5 portrait iPad: page sheets
|
|
16
|
+
* at 852 − 783 = 69, 874 − 812 = 62 and 1210 − 1104 = 106, a `fitToContents`
|
|
17
|
+
* form sheet at 852 − 424 = 428.
|
|
18
|
+
*
|
|
19
|
+
* A narrower sheet (an iPad form sheet) cannot be placed from sizes. One
|
|
20
|
+
* measured 580×376 on a 834×1210 window sat at y = 549, neither centered (417)
|
|
21
|
+
* nor bottom-anchored (834): its detent is anchored inside a taller container
|
|
22
|
+
* the shadow tree never sees. It gets no origin, so picks on it fail closed.
|
|
23
|
+
*
|
|
24
|
+
* Only a sheet at its full-height detent is reliably on the bottom edge. A
|
|
25
|
+
* shorter one is not, in two cases, and also gets no origin:
|
|
26
|
+
* - From iOS 26 it floats. On iOS 26.5 the `fitToContents` trade ticket
|
|
27
|
+
* measured 402×424 on a 402×874 window, but UIKit drew it about 8pt in from
|
|
28
|
+
* the sides and bottom at about 0.96 scale, so a bottom-anchored origin was
|
|
29
|
+
* up to 8pt off. Page sheets there stay edge to edge (origin 62, exact).
|
|
30
|
+
* - While the keyboard is up, a sheet that fits above the keyboard may have
|
|
31
|
+
* been lifted to clear it. One that is taller than the space above the
|
|
32
|
+
* keyboard was not: on iOS 26.5 a page sheet stayed at 62 with a 335pt
|
|
33
|
+
* keyboard, and on iOS 17.4 the trade ticket grew from 424 to 715 under a
|
|
34
|
+
* 291pt keyboard and stayed on the bottom edge (852 − 715 = 137, exact).
|
|
35
|
+
*
|
|
36
|
+
* Paper measures with UIKit, in window coordinates, so its origin is zero.
|
|
37
|
+
* Outside iOS the modal is measured where it sits, as before this lookup.
|
|
38
|
+
*/
|
|
39
|
+
import { Dimensions, Keyboard, Platform } from 'react-native';
|
|
40
|
+
import { measureHostFiber } from "./measureHostFiber.js";
|
|
41
|
+
import { fiberIsUnder, topmostVisibleModalHost } from "./visibleRect.js";
|
|
42
|
+
const ZERO = {
|
|
43
|
+
x: 0,
|
|
44
|
+
y: 0
|
|
45
|
+
};
|
|
46
|
+
const MEASURE_TIMEOUT_MS = 400;
|
|
47
|
+
|
|
48
|
+
/** Layout sizes are fractional and may miss the window size by a hair. */
|
|
49
|
+
const SIZE_SLACK = 1;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A sheet whose top is within this fraction of the window height is at its
|
|
53
|
+
* full-height detent. Measured: 69/852 (iOS 17.4), 62/874 (iOS 26.5) and
|
|
54
|
+
* 106/1210 (iPadOS 26.5). Medium and `fitToContents` detents start far lower.
|
|
55
|
+
*/
|
|
56
|
+
const FULL_HEIGHT_SHEET_MAX_TOP = 0.15;
|
|
57
|
+
|
|
58
|
+
/** First iOS release that floats sheets shorter than full height. */
|
|
59
|
+
const FLOATING_SHEETS_IOS = 26;
|
|
60
|
+
function isFabric() {
|
|
61
|
+
const manager = globalThis.nativeFabricUIManager;
|
|
62
|
+
return manager != null && typeof manager === 'object';
|
|
63
|
+
}
|
|
64
|
+
function readWindowSize() {
|
|
65
|
+
try {
|
|
66
|
+
const {
|
|
67
|
+
width,
|
|
68
|
+
height
|
|
69
|
+
} = Dimensions.get('window');
|
|
70
|
+
if (width > 0 && height > 0) return {
|
|
71
|
+
width,
|
|
72
|
+
height
|
|
73
|
+
};
|
|
74
|
+
} catch {
|
|
75
|
+
// Tests and odd hosts.
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
function floatsShortSheets() {
|
|
80
|
+
const major = parseInt(String(Platform.Version), 10);
|
|
81
|
+
return Number.isFinite(major) && major >= FLOATING_SHEETS_IOS;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Window y of the keyboard's top edge, or null when it is down. Unknown counts as up at the bottom. */
|
|
85
|
+
function keyboardTop(windowSize) {
|
|
86
|
+
try {
|
|
87
|
+
if (typeof Keyboard?.isVisible !== 'function' || !Keyboard.isVisible()) return null;
|
|
88
|
+
const metrics = typeof Keyboard.metrics === 'function' ? Keyboard.metrics() : undefined;
|
|
89
|
+
return metrics && metrics.height > 0 ? metrics.screenY : windowSize.height;
|
|
90
|
+
} catch {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function measureSize(fiber) {
|
|
95
|
+
return new Promise(resolve => {
|
|
96
|
+
let settled = false;
|
|
97
|
+
const timer = setTimeout(() => {
|
|
98
|
+
if (settled) return;
|
|
99
|
+
settled = true;
|
|
100
|
+
resolve(null);
|
|
101
|
+
}, MEASURE_TIMEOUT_MS);
|
|
102
|
+
try {
|
|
103
|
+
measureHostFiber(fiber, (_x, _y, width, height) => {
|
|
104
|
+
if (settled) return;
|
|
105
|
+
settled = true;
|
|
106
|
+
clearTimeout(timer);
|
|
107
|
+
resolve(width > 0 && height > 0 ? {
|
|
108
|
+
width,
|
|
109
|
+
height
|
|
110
|
+
} : null);
|
|
111
|
+
});
|
|
112
|
+
} catch {
|
|
113
|
+
if (settled) return;
|
|
114
|
+
settled = true;
|
|
115
|
+
clearTimeout(timer);
|
|
116
|
+
resolve(null);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Window origin of a presented modal of `size`, bottom-anchored. Null when it
|
|
123
|
+
* is narrower than the window (see above) or does not fit in it, as
|
|
124
|
+
* mid-rotation.
|
|
125
|
+
*/
|
|
126
|
+
export function modalOriginInWindow(size, windowSize) {
|
|
127
|
+
if (size.width <= 0 || size.height <= 0) return null;
|
|
128
|
+
if (size.width > windowSize.width + SIZE_SLACK || size.height > windowSize.height + SIZE_SLACK) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
if (size.width < windowSize.width - SIZE_SLACK) return null;
|
|
132
|
+
return {
|
|
133
|
+
x: 0,
|
|
134
|
+
y: Math.max(0, windowSize.height - size.height)
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** {@link modalOriginInWindow}, or null when a short sheet may be off the bottom edge (see above). */
|
|
139
|
+
function placeModal(size, windowSize) {
|
|
140
|
+
const origin = modalOriginInWindow(size, windowSize);
|
|
141
|
+
if (!origin || origin.y <= windowSize.height * FULL_HEIGHT_SHEET_MAX_TOP) return origin;
|
|
142
|
+
if (floatsShortSheets()) return null;
|
|
143
|
+
const keyboard = keyboardTop(windowSize);
|
|
144
|
+
if (keyboard != null && size.height <= keyboard) return null;
|
|
145
|
+
return origin;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* The modal drawn on top of the app and where its content space sits in the
|
|
150
|
+
* window, or null when nothing is presented. Look it up per tap: a
|
|
151
|
+
* `fitToContents` sheet resizes as its content changes.
|
|
152
|
+
*/
|
|
153
|
+
export async function locatePresentedModal(root) {
|
|
154
|
+
const host = topmostVisibleModalHost(root);
|
|
155
|
+
if (!host) return null;
|
|
156
|
+
if (Platform.OS !== 'ios' || !isFabric()) {
|
|
157
|
+
return {
|
|
158
|
+
host,
|
|
159
|
+
origin: ZERO,
|
|
160
|
+
size: null,
|
|
161
|
+
modalSpace: false
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
const size = await measureSize(host);
|
|
165
|
+
const windowSize = readWindowSize();
|
|
166
|
+
const origin = size && windowSize ? placeModal(size, windowSize) : null;
|
|
167
|
+
return {
|
|
168
|
+
host,
|
|
169
|
+
origin,
|
|
170
|
+
size,
|
|
171
|
+
modalSpace: true
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/** True when window point `(x, y)` is outside a placed modal, on the screen it covers. */
|
|
176
|
+
export function isOutsideModal(x, y, modal) {
|
|
177
|
+
const {
|
|
178
|
+
origin,
|
|
179
|
+
size
|
|
180
|
+
} = modal;
|
|
181
|
+
if (!origin || !size) return false;
|
|
182
|
+
return x < origin.x || y < origin.y || x > origin.x + size.width || y > origin.y + size.height;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Window position of `(0, 0)` in the space `fiber` is measured in, given what
|
|
187
|
+
* {@link locatePresentedModal} returned. Null when `modal` covers `fiber`, or
|
|
188
|
+
* `fiber` is inside a modal that cannot be placed.
|
|
189
|
+
*/
|
|
190
|
+
export function measureOriginOf(fiber, modal) {
|
|
191
|
+
if (!modal) return ZERO;
|
|
192
|
+
if (!fiberIsUnder(fiber, modal.host)) return null;
|
|
193
|
+
return modal.origin;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/** `rect`, measured in `modal`'s content space, in window coordinates. */
|
|
197
|
+
export function rectInWindow(rect, modal) {
|
|
198
|
+
const origin = modal.origin ?? ZERO;
|
|
199
|
+
if (origin.x === 0 && origin.y === 0) return rect;
|
|
200
|
+
return {
|
|
201
|
+
...rect,
|
|
202
|
+
x: rect.x + origin.x,
|
|
203
|
+
y: rect.y + origin.y
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=presentedModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","Keyboard","Platform","measureHostFiber","fiberIsUnder","topmostVisibleModalHost","ZERO","x","y","MEASURE_TIMEOUT_MS","SIZE_SLACK","FULL_HEIGHT_SHEET_MAX_TOP","FLOATING_SHEETS_IOS","isFabric","manager","globalThis","nativeFabricUIManager","readWindowSize","width","height","get","floatsShortSheets","major","parseInt","String","Version","Number","isFinite","keyboardTop","windowSize","isVisible","metrics","undefined","screenY","measureSize","fiber","Promise","resolve","settled","timer","setTimeout","_x","_y","clearTimeout","modalOriginInWindow","size","Math","max","placeModal","origin","keyboard","locatePresentedModal","root","host","OS","modalSpace","isOutsideModal","modal","measureOriginOf","rectInWindow","rect"],"sourceRoot":"../../../../src","sources":["anchors/fiber/presentedModal.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,6 +53,7 @@ function readTargetInst(event) {
|
|
|
53
53
|
return event._targetInst;
|
|
54
54
|
}
|
|
55
55
|
function nativeTagForTouch(event, identifier) {
|
|
56
|
+
// Readonly: React Native 0.88 types changedTouches as a readonly array.
|
|
56
57
|
const native = event.nativeEvent;
|
|
57
58
|
if (identifier != null && native.changedTouches) {
|
|
58
59
|
const touch = native.changedTouches.find(entry => entry.identifier === identifier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isHostFiber","isReactFiber","nativeTagFromHostFiber","resolveCurrentFiber","nearestHostDescendant","createLazyHostFiberIndex","lookupHostFiber","touchTargetFiber","event","identifier","tag","nativeTagForTouch","fromInst","hostFromFiber","readTargetInst","tagMatches","fromInstance","hostFromInstance","target","undefined","byNativeTag","get","touchBelongsToEvent","own","_targetInst","native","nativeEvent","changedTouches","touch","find","entry","touchTag","asTag","value","Number","isFinite","fiber","fiberTag","current"],"sourceRoot":"../../../../src","sources":["anchors/fiber/touchTargetFiber.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAEEA,WAAW,EACXC,YAAY,EACZC,sBAAsB,EACtBC,mBAAmB,QACd,qBAAkB;AACzB,SAASC,qBAAqB,QAAQ,sBAAmB;AACzD,SAASC,wBAAwB,EAAEC,eAAe,QAAQ,sBAAmB;AAE7E,OAAO,SAASC,gBAAgBA,CAC9BC,KAA4B,EAC5BC,UAA4B,EACX;EACjB,IAAI;IACF,MAAMC,GAAG,GAAGC,iBAAiB,CAACH,KAAK,EAAEC,UAAU,CAAC;IAEhD,MAAMG,QAAQ,GAAGC,aAAa,CAACC,cAAc,CAACN,KAAK,CAAC,CAAC;IACrD,IAAII,QAAQ,IAAIG,UAAU,CAACH,QAAQ,EAAEF,GAAG,CAAC,EAAE,OAAOE,QAAQ;IAE1D,MAAMI,YAAY,GAAGC,gBAAgB,CAACT,KAAK,CAACU,MAAM,CAAC;IACnD,IAAIF,YAAY,IAAID,UAAU,CAACC,YAAY,EAAEN,GAAG,CAAC,EAAE,OAAOM,YAAY;IAEtE,IAAIN,GAAG,KAAKS,SAAS,EAAE,OAAO,IAAI;IAClC;IACA;IACA,OAAOd,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAACe,WAAW,CAACC,GAAG,CAACX,GAAG,CAAC,IAAI,IAAI;EAClE,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASY,mBAAmBA,CACjCd,KAA4B,EAC5BC,UAA2B,EAClB;EACT,IAAI;IACF,MAAMC,GAAG,GAAGC,iBAAiB,CAACH,KAAK,EAAEC,UAAU,CAAC;IAChD,IAAIC,GAAG,KAAKS,SAAS,EAAE,OAAO,IAAI;IAClC,MAAMI,GAAG,GAAGV,aAAa,CAACC,cAAc,CAACN,KAAK,CAAC,CAAC,IAAIS,gBAAgB,CAACT,KAAK,CAACU,MAAM,CAAC;IAClF,OAAOK,GAAG,IAAI,IAAI,IAAIR,UAAU,CAACQ,GAAG,EAAEb,GAAG,CAAC;EAC5C,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,SAASI,cAAcA,CAACN,KAA4B,EAAW;EAC7D,OAAQA,KAAK,CAA+BgB,WAAW;AACzD;AAEA,SAASb,iBAAiBA,CACxBH,KAA4B,EAC5BC,UAAuC,EACnB;EACpB,MAAMgB,MAAM,GAAGjB,KAAK,CAACkB,WAGpB;EACD,IAAIjB,UAAU,IAAI,IAAI,IAAIgB,MAAM,CAACE,cAAc,EAAE;IAC/C,MAAMC,KAAK,GAAGH,MAAM,CAACE,cAAc,CAACE,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACrB,UAAU,KAAKA,UAAU,CAAC;IACpF,MAAMsB,QAAQ,GAAGC,KAAK,CAACJ,KAAK,EAAEV,MAAM,CAAC;IACrC,IAAIa,QAAQ,KAAKZ,SAAS,EAAE,OAAOY,QAAQ;EAC7C;EACA,OAAOC,KAAK,CAACP,MAAM,CAACP,MAAM,CAAC;AAC7B;AAEA,SAASc,KAAKA,CAACC,KAAc,EAAsB;EACjD,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGA,KAAK,GAAGd,SAAS;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASJ,UAAUA,CAACqB,KAAe,EAAE1B,GAAuB,EAAW;EACrE,IAAIA,GAAG,KAAKS,SAAS,EAAE,OAAO,IAAI;EAClC,MAAMkB,QAAQ,GAAGnC,sBAAsB,CAACkC,KAAK,CAAC;EAC9C,IAAIC,QAAQ,KAAKlB,SAAS,EAAE,OAAO,IAAI;EACvC,OAAOkB,QAAQ,KAAK3B,GAAG;AACzB;AAEA,SAASG,aAAaA,CAACoB,KAAc,EAAmB;EACtD,IAAI,CAAChC,YAAY,CAACgC,KAAK,CAAC,EAAE,OAAO,IAAI;EACrC,IAAI;IACF,MAAMK,OAAO,GAAGnC,mBAAmB,CAAC8B,KAAK,CAAC;IAC1C,IAAIjC,WAAW,CAACsC,OAAO,CAAC,EAAE,OAAOA,OAAO;IACxC,OAAOlC,qBAAqB,CAACkC,OAAO,CAAC;EACvC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,SAASrB,gBAAgBA,CAACgB,KAAc,EAAmB;EACzD,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EACpD,IAAI;IACF,MAAMG,KAAK,GAAG9B,eAAe,CAACD,wBAAwB,CAAC,CAAC,EAAE4B,KAAK,CAAC;IAChE,IAAI,CAACG,KAAK,EAAE,OAAO,IAAI;IACvB,IAAIpC,WAAW,CAACoC,KAAK,CAAC,EAAE,OAAOA,KAAK;IACpC,OAAOhC,qBAAqB,CAACgC,KAAK,CAAC;EACrC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isHostFiber","isReactFiber","nativeTagFromHostFiber","resolveCurrentFiber","nearestHostDescendant","createLazyHostFiberIndex","lookupHostFiber","touchTargetFiber","event","identifier","tag","nativeTagForTouch","fromInst","hostFromFiber","readTargetInst","tagMatches","fromInstance","hostFromInstance","target","undefined","byNativeTag","get","touchBelongsToEvent","own","_targetInst","native","nativeEvent","changedTouches","touch","find","entry","touchTag","asTag","value","Number","isFinite","fiber","fiberTag","current"],"sourceRoot":"../../../../src","sources":["anchors/fiber/touchTargetFiber.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,10 +11,14 @@
|
|
|
11
11
|
import { getChild, getHostTypeName, getMemoizedProps, getReturn, getSibling, isHostFiber } from "./fiberInternals.js";
|
|
12
12
|
import { findScrollAncestors } from "./findScrollAncestors.js";
|
|
13
13
|
import { measureHostFiber } from "./measureHostFiber.js";
|
|
14
|
+
import { isFiberOnVisibleScreen } from "./visibleScreens.js";
|
|
14
15
|
const MEASURE_TIMEOUT_MS = 400;
|
|
15
16
|
|
|
16
17
|
/** Paper and Fabric names for React Native's `<Modal>`. */
|
|
17
18
|
const MODAL_HOST_TYPES = new Set(['RCTModalHostView', 'ModalHostView']);
|
|
19
|
+
|
|
20
|
+
/** react-native-screens' iOS host for `modal`, `transparentModal`, `formSheet` and other presented screens. */
|
|
21
|
+
const SCREENS_MODAL_TYPE = 'RNSModalScreen';
|
|
18
22
|
function measureFiberRect(fiber) {
|
|
19
23
|
return new Promise(resolve => {
|
|
20
24
|
let settled = false;
|
|
@@ -87,9 +91,11 @@ export async function clipToScrollViewports(fiber, rect) {
|
|
|
87
91
|
}
|
|
88
92
|
function isModalHost(fiber) {
|
|
89
93
|
const type = getHostTypeName(fiber);
|
|
90
|
-
return type !== undefined && MODAL_HOST_TYPES.has(type);
|
|
94
|
+
return type !== undefined && (MODAL_HOST_TYPES.has(type) || type === SCREENS_MODAL_TYPE);
|
|
91
95
|
}
|
|
92
96
|
function isModalVisible(fiber) {
|
|
97
|
+
// A presented screen stays mounted under the next one; only the top of its stack is visible.
|
|
98
|
+
if (getHostTypeName(fiber) === SCREENS_MODAL_TYPE) return isFiberOnVisibleScreen(fiber);
|
|
93
99
|
const props = getMemoizedProps(fiber);
|
|
94
100
|
if (!props) return true;
|
|
95
101
|
if (props.visible === false) return false;
|
|
@@ -97,8 +103,11 @@ function isModalVisible(fiber) {
|
|
|
97
103
|
}
|
|
98
104
|
|
|
99
105
|
/**
|
|
100
|
-
* The visible modal host drawn on top, or null
|
|
101
|
-
*
|
|
106
|
+
* The visible modal host drawn on top, or null: a React Native `<Modal>` or a
|
|
107
|
+
* screen react-native-screens presents natively. Later fibers win: React Native
|
|
108
|
+
* mounts a newer `<Modal>` after the previous one, a native stack's newest
|
|
109
|
+
* screen is its last child, and a modal presented from inside another one sits
|
|
110
|
+
* deeper in the tree.
|
|
102
111
|
*/
|
|
103
112
|
export function topmostVisibleModalHost(root, maxNodes = 8_000) {
|
|
104
113
|
if (!root) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getChild","getHostTypeName","getMemoizedProps","getReturn","getSibling","isHostFiber","findScrollAncestors","measureHostFiber","MEASURE_TIMEOUT_MS","MODAL_HOST_TYPES","Set","measureFiberRect","fiber","Promise","resolve","settled","timer","setTimeout","x","y","width","height","clearTimeout","intersectRects","a","b","Math","max","right","min","bottom","clipToScrollViewports","rect","ancestors","clipped","ancestor","containerFiber","viewport","isModalHost","type","undefined","has","isModalVisible","props","visible","topmostVisibleModalHost","root","maxNodes","stack","topmost","visited","length","pop","sibling","push","child","fiberIsUnder","maxDepth","current","depth","alternate"],"sourceRoot":"../../../../src","sources":["anchors/fiber/visibleRect.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAEEA,QAAQ,EACRC,eAAe,EACfC,gBAAgB,EAChBC,SAAS,EACTC,UAAU,EACVC,WAAW,QACN,qBAAkB;AACzB,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,gBAAgB,QAAQ,uBAAoB;
|
|
1
|
+
{"version":3,"names":["getChild","getHostTypeName","getMemoizedProps","getReturn","getSibling","isHostFiber","findScrollAncestors","measureHostFiber","isFiberOnVisibleScreen","MEASURE_TIMEOUT_MS","MODAL_HOST_TYPES","Set","SCREENS_MODAL_TYPE","measureFiberRect","fiber","Promise","resolve","settled","timer","setTimeout","x","y","width","height","clearTimeout","intersectRects","a","b","Math","max","right","min","bottom","clipToScrollViewports","rect","ancestors","clipped","ancestor","containerFiber","viewport","isModalHost","type","undefined","has","isModalVisible","props","visible","topmostVisibleModalHost","root","maxNodes","stack","topmost","visited","length","pop","sibling","push","child","fiberIsUnder","maxDepth","current","depth","alternate"],"sourceRoot":"../../../../src","sources":["anchors/fiber/visibleRect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","anchorRegistry","useUserflowAnchor","id","hostRef","useRef","idRef","useEffect","previousId","current","host","unregister","register","useCallback","node","previous","currentId","measureInWindow","callback","scrollIntoView","scrollable","block","inline"],"sourceRoot":"../../../src","sources":["anchors/useUserflowAnchor.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"names":["React","anchorRegistry","useUserflowAnchor","id","hostRef","useRef","idRef","useEffect","previousId","current","host","unregister","register","useCallback","node","previous","currentId","measureInWindow","callback","scrollIntoView","scrollable","block","inline"],"sourceRoot":"../../../src","sources":["anchors/useUserflowAnchor.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,cAAc,QAA8C,qBAAkB;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,EAAU,EAAqC;EAC/E,MAAMC,OAAO,GAAGJ,KAAK,CAACK,MAAM,CAAoB,IAAI,CAAC;EACrD,MAAMC,KAAK,GAAGN,KAAK,CAACK,MAAM,CAACF,EAAE,CAAC;EAE9BH,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,UAAU,GAAGF,KAAK,CAACG,OAAO;IAChC,MAAMC,IAAI,GAAGN,OAAO,CAACK,OAAO;IAC5B,IAAID,UAAU,KAAKL,EAAE,IAAIO,IAAI,EAAE;MAC7BT,cAAc,CAACU,UAAU,CAACH,UAAU,EAAEE,IAAI,CAAC;MAC3C,IAAIP,EAAE,EAAE;QACNF,cAAc,CAACW,QAAQ,CAACT,EAAE,EAAEO,IAAI,CAAC;MACnC;IACF;IACAJ,KAAK,CAACG,OAAO,GAAGN,EAAE;EACpB,CAAC,EAAE,CAACA,EAAE,CAAC,CAAC;EAERH,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,MAAMG,IAAI,GAAGN,OAAO,CAACK,OAAO;MAC5B,IAAIC,IAAI,EAAE;QACRT,cAAc,CAACU,UAAU,CAACL,KAAK,CAACG,OAAO,EAAEC,IAAI,CAAC;QAC9CN,OAAO,CAACK,OAAO,GAAG,IAAI;MACxB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,KAAK,CAACa,WAAW,CAAEC,IAA2B,IAAK;IACxD,MAAMC,QAAQ,GAAGX,OAAO,CAACK,OAAO;IAChC,MAAMO,SAAS,GAAGV,KAAK,CAACG,OAAO;IAC/B,IAAIM,QAAQ,EAAE;MACZd,cAAc,CAACU,UAAU,CAACK,SAAS,EAAED,QAAQ,CAAC;IAChD;IACA,IAAI,CAACD,IAAI,EAAE;MACTV,OAAO,CAACK,OAAO,GAAG,IAAI;MACtB;IACF;;IAEA;IACA,MAAMC,IAAgB,GAAG;MACvBO,eAAe,EAAGC,QAAQ,IAAK;QAC7BJ,IAAI,CAACG,eAAe,CAACC,QAAQ,CAAC;MAChC,CAAC;MACDJ,IAAI;MACJK,cAAc,EAAEA,CAAA,KAAM;QACpB,MAAMC,UAAU,GAAGN,IAElB;QACD,IAAI,OAAOM,UAAU,CAACD,cAAc,KAAK,UAAU,EAAE;UACnDC,UAAU,CAACD,cAAc,CAAC;YAAEE,KAAK,EAAE,SAAS;YAAEC,MAAM,EAAE;UAAU,CAAC,CAAC;QACpE;MACF;IACF,CAAC;IACDlB,OAAO,CAACK,OAAO,GAAGC,IAAI;IACtB,IAAIM,SAAS,EAAE;MACbf,cAAc,CAACW,QAAQ,CAACI,SAAS,EAAEN,IAAI,CAAC;IAC1C;EACF,CAAC,EAAE,EAAE,CAAC;AACR","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createScrollContainerHost","scrollContainerRegistry","useUserflowScrollContainer","onScrollProp","hostRef","useRef","nodeRef","offsetRef","x","y","useEffect","host","current","unregister","ref","useCallback","node","previous","register","onScroll","event","contentOffset","nativeEvent","scrollEventThrottle"],"sourceRoot":"../../../src","sources":["anchors/useUserflowScrollContainer.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SACEC,yBAAyB,EACzBC,uBAAuB,
|
|
1
|
+
{"version":3,"names":["React","createScrollContainerHost","scrollContainerRegistry","useUserflowScrollContainer","onScrollProp","hostRef","useRef","nodeRef","offsetRef","x","y","useEffect","host","current","unregister","ref","useCallback","node","previous","register","onScroll","event","contentOffset","nativeEvent","scrollEventThrottle"],"sourceRoot":"../../../src","sources":["anchors/useUserflowScrollContainer.ts"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SACEC,yBAAyB,EACzBC,uBAAuB,QAGlB,8BAA2B;AAWlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CACxCC,YAAuE,EACzC;EAC9B,MAAMC,OAAO,GAAGL,KAAK,CAACM,MAAM,CAA6B,IAAI,CAAC;EAC9D,MAAMC,OAAO,GAAGP,KAAK,CAACM,MAAM,CAA6B,IAAI,CAAC;EAC9D,MAAME,SAAS,GAAGR,KAAK,CAACM,MAAM,CAAC;IAAEG,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;EAE9CV,KAAK,CAACW,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,MAAMC,IAAI,GAAGP,OAAO,CAACQ,OAAO;MAC5B,IAAID,IAAI,EAAE;QACRV,uBAAuB,CAACY,UAAU,CAACF,IAAI,CAAC;QACxCP,OAAO,CAACQ,OAAO,GAAG,IAAI;MACxB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,GAAG,GAAGf,KAAK,CAACgB,WAAW,CAAEC,IAAgC,IAAK;IAClE,MAAMC,QAAQ,GAAGb,OAAO,CAACQ,OAAO;IAChC,IAAIK,QAAQ,EAAE;MACZhB,uBAAuB,CAACY,UAAU,CAACI,QAAQ,CAAC;MAC5Cb,OAAO,CAACQ,OAAO,GAAG,IAAI;IACxB;IACAN,OAAO,CAACM,OAAO,GAAGI,IAAI;IACtB,IAAI,CAACA,IAAI,EAAE;IAEX,MAAML,IAAI,GAAGX,yBAAyB,CAACgB,IAAI,EAAE,MAAMT,SAAS,CAACK,OAAO,CAAC;IACrER,OAAO,CAACQ,OAAO,GAAGD,IAAI;IACtBV,uBAAuB,CAACiB,QAAQ,CAACP,IAAI,CAAC;EACxC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,QAAQ,GAAGpB,KAAK,CAACgB,WAAW,CAC/BK,KAA8C,IAAK;IAClD,MAAM;MAAEC;IAAc,CAAC,GAAGD,KAAK,CAACE,WAAW;IAC3Cf,SAAS,CAACK,OAAO,GAAG;MAAEJ,CAAC,EAAEa,aAAa,CAACb,CAAC;MAAEC,CAAC,EAAEY,aAAa,CAACZ;IAAE,CAAC;IAC9DN,YAAY,GAAGiB,KAAK,CAAC;EACvB,CAAC,EACD,CAACjB,YAAY,CACf,CAAC;EAED,OAAO;IACLW,GAAG;IACHK,QAAQ;IACRI,mBAAmB,EAAE;EACvB,CAAC;AACH","ignoreList":[]}
|