@yahoo/uds-mobile 2.16.0 → 2.18.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.
Files changed (236) hide show
  1. package/dist/bin/fixtures/dist/index.mjs +14 -0
  2. package/dist/bin/generateTheme.mjs +7 -2
  3. package/dist/bin/mobile/scripts/utils/configToRNMappings.mjs +4 -0
  4. package/dist/components/Popover/Popover.cjs +92 -0
  5. package/dist/components/Popover/Popover.d.cts +26 -0
  6. package/dist/components/Popover/Popover.d.cts.map +1 -0
  7. package/dist/components/Popover/Popover.d.ts +26 -0
  8. package/dist/components/Popover/Popover.d.ts.map +1 -0
  9. package/dist/components/Popover/Popover.js +92 -0
  10. package/dist/components/Popover/Popover.js.map +1 -0
  11. package/dist/components/Popover/PopoverContent.cjs +124 -0
  12. package/dist/components/Popover/PopoverContent.d.cts +15 -0
  13. package/dist/components/Popover/PopoverContent.d.cts.map +1 -0
  14. package/dist/components/Popover/PopoverContent.d.ts +15 -0
  15. package/dist/components/Popover/PopoverContent.d.ts.map +1 -0
  16. package/dist/components/Popover/PopoverContent.js +124 -0
  17. package/dist/components/Popover/PopoverContent.js.map +1 -0
  18. package/dist/components/Popover/PopoverContext.cjs +14 -0
  19. package/dist/components/Popover/PopoverContext.d.cts +10 -0
  20. package/dist/components/Popover/PopoverContext.d.cts.map +1 -0
  21. package/dist/components/Popover/PopoverContext.d.ts +10 -0
  22. package/dist/components/Popover/PopoverContext.d.ts.map +1 -0
  23. package/dist/components/Popover/PopoverContext.js +13 -0
  24. package/dist/components/Popover/PopoverContext.js.map +1 -0
  25. package/dist/components/Popover/PopoverDescription.cjs +23 -0
  26. package/dist/components/Popover/PopoverDescription.d.cts +15 -0
  27. package/dist/components/Popover/PopoverDescription.d.cts.map +1 -0
  28. package/dist/components/Popover/PopoverDescription.d.ts +15 -0
  29. package/dist/components/Popover/PopoverDescription.d.ts.map +1 -0
  30. package/dist/components/Popover/PopoverDescription.js +23 -0
  31. package/dist/components/Popover/PopoverDescription.js.map +1 -0
  32. package/dist/components/Popover/PopoverDismiss.cjs +22 -0
  33. package/dist/components/Popover/PopoverDismiss.d.cts +15 -0
  34. package/dist/components/Popover/PopoverDismiss.d.cts.map +1 -0
  35. package/dist/components/Popover/PopoverDismiss.d.ts +15 -0
  36. package/dist/components/Popover/PopoverDismiss.d.ts.map +1 -0
  37. package/dist/components/Popover/PopoverDismiss.js +22 -0
  38. package/dist/components/Popover/PopoverDismiss.js.map +1 -0
  39. package/dist/components/Popover/PopoverFrame.cjs +56 -0
  40. package/dist/components/Popover/PopoverFrame.d.cts +23 -0
  41. package/dist/components/Popover/PopoverFrame.d.cts.map +1 -0
  42. package/dist/components/Popover/PopoverFrame.d.ts +23 -0
  43. package/dist/components/Popover/PopoverFrame.d.ts.map +1 -0
  44. package/dist/components/Popover/PopoverFrame.js +55 -0
  45. package/dist/components/Popover/PopoverFrame.js.map +1 -0
  46. package/dist/components/Popover/PopoverPortalLayer.cjs +45 -0
  47. package/dist/components/Popover/PopoverPortalLayer.d.cts +15 -0
  48. package/dist/components/Popover/PopoverPortalLayer.d.cts.map +1 -0
  49. package/dist/components/Popover/PopoverPortalLayer.d.ts +15 -0
  50. package/dist/components/Popover/PopoverPortalLayer.d.ts.map +1 -0
  51. package/dist/components/Popover/PopoverPortalLayer.js +45 -0
  52. package/dist/components/Popover/PopoverPortalLayer.js.map +1 -0
  53. package/dist/components/Popover/PopoverSurface.cjs +228 -0
  54. package/dist/components/Popover/PopoverSurface.d.cts +26 -0
  55. package/dist/components/Popover/PopoverSurface.d.cts.map +1 -0
  56. package/dist/components/Popover/PopoverSurface.d.ts +26 -0
  57. package/dist/components/Popover/PopoverSurface.d.ts.map +1 -0
  58. package/dist/components/Popover/PopoverSurface.js +227 -0
  59. package/dist/components/Popover/PopoverSurface.js.map +1 -0
  60. package/dist/components/Popover/PopoverTitle.cjs +23 -0
  61. package/dist/components/Popover/PopoverTitle.d.cts +15 -0
  62. package/dist/components/Popover/PopoverTitle.d.cts.map +1 -0
  63. package/dist/components/Popover/PopoverTitle.d.ts +15 -0
  64. package/dist/components/Popover/PopoverTitle.d.ts.map +1 -0
  65. package/dist/components/Popover/PopoverTitle.js +23 -0
  66. package/dist/components/Popover/PopoverTitle.js.map +1 -0
  67. package/dist/components/Popover/PopoverTrigger.cjs +88 -0
  68. package/dist/components/Popover/PopoverTrigger.d.cts +15 -0
  69. package/dist/components/Popover/PopoverTrigger.d.cts.map +1 -0
  70. package/dist/components/Popover/PopoverTrigger.d.ts +15 -0
  71. package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -0
  72. package/dist/components/Popover/PopoverTrigger.js +88 -0
  73. package/dist/components/Popover/PopoverTrigger.js.map +1 -0
  74. package/dist/components/Popover/index.cjs +14 -0
  75. package/dist/components/Popover/index.d.cts +9 -0
  76. package/dist/components/Popover/index.d.ts +9 -0
  77. package/dist/components/Popover/index.js +8 -0
  78. package/dist/components/Popover/popoverFrameGeometry.cjs +177 -0
  79. package/dist/components/Popover/popoverFrameGeometry.d.cts +48 -0
  80. package/dist/components/Popover/popoverFrameGeometry.d.cts.map +1 -0
  81. package/dist/components/Popover/popoverFrameGeometry.d.ts +48 -0
  82. package/dist/components/Popover/popoverFrameGeometry.d.ts.map +1 -0
  83. package/dist/components/Popover/popoverFrameGeometry.js +177 -0
  84. package/dist/components/Popover/popoverFrameGeometry.js.map +1 -0
  85. package/dist/components/Popover/popoverLayer.cjs +16 -0
  86. package/dist/components/Popover/popoverLayer.d.cts +8 -0
  87. package/dist/components/Popover/popoverLayer.d.cts.map +1 -0
  88. package/dist/components/Popover/popoverLayer.d.ts +8 -0
  89. package/dist/components/Popover/popoverLayer.d.ts.map +1 -0
  90. package/dist/components/Popover/popoverLayer.js +16 -0
  91. package/dist/components/Popover/popoverLayer.js.map +1 -0
  92. package/dist/components/Popover/types.cjs +1 -0
  93. package/dist/components/Popover/types.d.cts +170 -0
  94. package/dist/components/Popover/types.d.cts.map +1 -0
  95. package/dist/components/Popover/types.d.ts +170 -0
  96. package/dist/components/Popover/types.d.ts.map +1 -0
  97. package/dist/components/Popover/types.js +1 -0
  98. package/dist/components/Toast/Toast.cjs +141 -0
  99. package/dist/components/Toast/Toast.d.cts +38 -0
  100. package/dist/components/Toast/Toast.d.cts.map +1 -0
  101. package/dist/components/Toast/Toast.d.ts +38 -0
  102. package/dist/components/Toast/Toast.d.ts.map +1 -0
  103. package/dist/components/Toast/Toast.js +141 -0
  104. package/dist/components/Toast/Toast.js.map +1 -0
  105. package/dist/components/Toast/ToastAnimatedItem.cjs +88 -0
  106. package/dist/components/Toast/ToastAnimatedItem.d.cts +27 -0
  107. package/dist/components/Toast/ToastAnimatedItem.d.cts.map +1 -0
  108. package/dist/components/Toast/ToastAnimatedItem.d.ts +27 -0
  109. package/dist/components/Toast/ToastAnimatedItem.d.ts.map +1 -0
  110. package/dist/components/Toast/ToastAnimatedItem.js +87 -0
  111. package/dist/components/Toast/ToastAnimatedItem.js.map +1 -0
  112. package/dist/components/Toast/ToastItem.cjs +35 -0
  113. package/dist/components/Toast/ToastItem.d.cts +25 -0
  114. package/dist/components/Toast/ToastItem.d.cts.map +1 -0
  115. package/dist/components/Toast/ToastItem.d.ts +25 -0
  116. package/dist/components/Toast/ToastItem.d.ts.map +1 -0
  117. package/dist/components/Toast/ToastItem.js +35 -0
  118. package/dist/components/Toast/ToastItem.js.map +1 -0
  119. package/dist/components/Toast/ToastProvider.cjs +144 -0
  120. package/dist/components/Toast/ToastProvider.d.cts +58 -0
  121. package/dist/components/Toast/ToastProvider.d.cts.map +1 -0
  122. package/dist/components/Toast/ToastProvider.d.ts +58 -0
  123. package/dist/components/Toast/ToastProvider.d.ts.map +1 -0
  124. package/dist/components/Toast/ToastProvider.js +143 -0
  125. package/dist/components/Toast/ToastProvider.js.map +1 -0
  126. package/dist/components/Toast/ToastViewport.cjs +48 -0
  127. package/dist/components/Toast/ToastViewport.d.cts +42 -0
  128. package/dist/components/Toast/ToastViewport.d.cts.map +1 -0
  129. package/dist/components/Toast/ToastViewport.d.ts +42 -0
  130. package/dist/components/Toast/ToastViewport.d.ts.map +1 -0
  131. package/dist/components/Toast/ToastViewport.js +48 -0
  132. package/dist/components/Toast/ToastViewport.js.map +1 -0
  133. package/dist/components/Toast/createToast.cjs +21 -0
  134. package/dist/components/Toast/createToast.d.cts +10 -0
  135. package/dist/components/Toast/createToast.d.cts.map +1 -0
  136. package/dist/components/Toast/createToast.d.ts +10 -0
  137. package/dist/components/Toast/createToast.d.ts.map +1 -0
  138. package/dist/components/Toast/createToast.js +20 -0
  139. package/dist/components/Toast/createToast.js.map +1 -0
  140. package/dist/components/Toast/index.cjs +10 -0
  141. package/dist/components/Toast/index.d.cts +6 -0
  142. package/dist/components/Toast/index.d.ts +6 -0
  143. package/dist/components/Toast/index.js +5 -0
  144. package/dist/components/Toast/types.cjs +1 -0
  145. package/dist/components/Toast/types.d.cts +113 -0
  146. package/dist/components/Toast/types.d.cts.map +1 -0
  147. package/dist/components/Toast/types.d.ts +113 -0
  148. package/dist/components/Toast/types.d.ts.map +1 -0
  149. package/dist/components/Toast/types.js +1 -0
  150. package/dist/components/Toast/useToastController.cjs +286 -0
  151. package/dist/components/Toast/useToastController.d.cts +25 -0
  152. package/dist/components/Toast/useToastController.d.cts.map +1 -0
  153. package/dist/components/Toast/useToastController.d.ts +25 -0
  154. package/dist/components/Toast/useToastController.d.ts.map +1 -0
  155. package/dist/components/Toast/useToastController.js +286 -0
  156. package/dist/components/Toast/useToastController.js.map +1 -0
  157. package/dist/components/Toast/utils.cjs +69 -0
  158. package/dist/components/Toast/utils.d.cts +27 -0
  159. package/dist/components/Toast/utils.d.cts.map +1 -0
  160. package/dist/components/Toast/utils.d.ts +27 -0
  161. package/dist/components/Toast/utils.d.ts.map +1 -0
  162. package/dist/components/Toast/utils.js +55 -0
  163. package/dist/components/Toast/utils.js.map +1 -0
  164. package/dist/components/internal/Overlay/index.cjs +4 -0
  165. package/dist/components/internal/Overlay/index.d.cts +4 -2
  166. package/dist/components/internal/Overlay/index.d.ts +4 -2
  167. package/dist/components/internal/Overlay/index.js +3 -1
  168. package/dist/components/internal/Overlay/types.d.cts +47 -1
  169. package/dist/components/internal/Overlay/types.d.cts.map +1 -1
  170. package/dist/components/internal/Overlay/types.d.ts +47 -1
  171. package/dist/components/internal/Overlay/types.d.ts.map +1 -1
  172. package/dist/components/internal/Overlay/useAnchoredPosition.cjs +225 -0
  173. package/dist/components/internal/Overlay/useAnchoredPosition.d.cts +22 -0
  174. package/dist/components/internal/Overlay/useAnchoredPosition.d.cts.map +1 -0
  175. package/dist/components/internal/Overlay/useAnchoredPosition.d.ts +22 -0
  176. package/dist/components/internal/Overlay/useAnchoredPosition.d.ts.map +1 -0
  177. package/dist/components/internal/Overlay/useAnchoredPosition.js +225 -0
  178. package/dist/components/internal/Overlay/useAnchoredPosition.js.map +1 -0
  179. package/dist/components/internal/Overlay/useOverlayDismiss.cjs +22 -0
  180. package/dist/components/internal/Overlay/useOverlayDismiss.d.cts +12 -0
  181. package/dist/components/internal/Overlay/useOverlayDismiss.d.cts.map +1 -0
  182. package/dist/components/internal/Overlay/useOverlayDismiss.d.ts +12 -0
  183. package/dist/components/internal/Overlay/useOverlayDismiss.d.ts.map +1 -0
  184. package/dist/components/internal/Overlay/useOverlayDismiss.js +22 -0
  185. package/dist/components/internal/Overlay/useOverlayDismiss.js.map +1 -0
  186. package/dist/jest/mocks/gesture-handler.cjs +38 -0
  187. package/dist/jest/mocks/gesture-handler.d.cts +41 -0
  188. package/dist/jest/mocks/gesture-handler.d.cts.map +1 -0
  189. package/dist/jest/mocks/gesture-handler.d.ts +41 -0
  190. package/dist/jest/mocks/gesture-handler.d.ts.map +1 -0
  191. package/dist/jest/mocks/gesture-handler.js +37 -0
  192. package/dist/jest/mocks/gesture-handler.js.map +1 -0
  193. package/dist/jest/mocks/react-native.cjs +14 -0
  194. package/dist/jest/mocks/react-native.d.cts +29 -1
  195. package/dist/jest/mocks/react-native.d.cts.map +1 -1
  196. package/dist/jest/mocks/react-native.d.ts +29 -1
  197. package/dist/jest/mocks/react-native.d.ts.map +1 -1
  198. package/dist/jest/mocks/react-native.js +13 -1
  199. package/dist/jest/mocks/react-native.js.map +1 -1
  200. package/dist/jest/mocks/safe-area-context.cjs +35 -0
  201. package/dist/jest/mocks/safe-area-context.d.cts +43 -0
  202. package/dist/jest/mocks/safe-area-context.d.cts.map +1 -0
  203. package/dist/jest/mocks/safe-area-context.d.ts +43 -0
  204. package/dist/jest/mocks/safe-area-context.d.ts.map +1 -0
  205. package/dist/jest/mocks/safe-area-context.js +32 -0
  206. package/dist/jest/mocks/safe-area-context.js.map +1 -0
  207. package/dist/jest/mocks/screens.cjs +8 -0
  208. package/dist/jest/mocks/screens.d.cts +12 -0
  209. package/dist/jest/mocks/screens.d.cts.map +1 -0
  210. package/dist/jest/mocks/screens.d.ts +12 -0
  211. package/dist/jest/mocks/screens.d.ts.map +1 -0
  212. package/dist/jest/mocks/screens.js +9 -0
  213. package/dist/jest/mocks/screens.js.map +1 -0
  214. package/dist/jest/mocks/styles.cjs +98 -1
  215. package/dist/jest/mocks/styles.d.cts +6 -2
  216. package/dist/jest/mocks/styles.d.cts.map +1 -1
  217. package/dist/jest/mocks/styles.d.ts +6 -2
  218. package/dist/jest/mocks/styles.d.ts.map +1 -1
  219. package/dist/jest/mocks/styles.js +95 -2
  220. package/dist/jest/mocks/styles.js.map +1 -1
  221. package/dist/jest/setup.cjs +46 -3
  222. package/dist/jest/setup.d.cts.map +1 -1
  223. package/dist/jest/setup.d.ts.map +1 -1
  224. package/dist/jest/setup.js +46 -3
  225. package/dist/jest/setup.js.map +1 -1
  226. package/dist/types/dist/index.d.cts +4 -1
  227. package/dist/types/dist/index.d.cts.map +1 -1
  228. package/dist/types/dist/index.d.ts +4 -1
  229. package/dist/types/dist/index.d.ts.map +1 -1
  230. package/fonts/index.cjs +211 -211
  231. package/fonts/index.mjs +211 -211
  232. package/generated/styles.cjs +6 -0
  233. package/generated/styles.d.ts +13 -1
  234. package/generated/styles.mjs +6 -0
  235. package/generated/unistyles.d.ts +13 -0
  236. package/package.json +21 -1
@@ -0,0 +1,225 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { useMemo } from "react";
3
+ import { I18nManager, useWindowDimensions } from "react-native";
4
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
5
+ //#region src/components/internal/Overlay/useAnchoredPosition.ts
6
+ const DEFAULT_COLLISION_PADDING = 12;
7
+ const DEFAULT_OFFSET = 9;
8
+ const DEFAULT_ARROW_WIDTH = 22;
9
+ const DEFAULT_ARROW_HEIGHT = 12;
10
+ const DEFAULT_ARROW_BASELINE_INSET = 1;
11
+ function clamp(value, min, max) {
12
+ if (max < min) return min;
13
+ return Math.min(Math.max(value, min), max);
14
+ }
15
+ function resolveLogicalSide(side) {
16
+ return {
17
+ top: "top",
18
+ bottom: "bottom",
19
+ start: I18nManager.isRTL ? "right" : "left",
20
+ end: I18nManager.isRTL ? "left" : "right"
21
+ }[side];
22
+ }
23
+ function getOppositeSide(side) {
24
+ switch (side) {
25
+ case "top": return "bottom";
26
+ case "bottom": return "top";
27
+ case "left": return "right";
28
+ case "right": return "left";
29
+ }
30
+ }
31
+ function formatPlacement(side, align) {
32
+ const logicalSide = {
33
+ top: "top",
34
+ bottom: "bottom",
35
+ left: I18nManager.isRTL ? "end" : "start",
36
+ right: I18nManager.isRTL ? "start" : "end"
37
+ }[side];
38
+ if (align === "center") return logicalSide;
39
+ if (side === "top" || side === "bottom") return `${logicalSide}-${align}`;
40
+ return `${logicalSide}-${align === "start" ? "top" : "bottom"}`;
41
+ }
42
+ function parsePlacement(placement, alignOverride) {
43
+ const [rawSide, rawAlign] = placement.split("-");
44
+ const side = resolveLogicalSide(rawSide);
45
+ if (alignOverride) return {
46
+ side,
47
+ align: alignOverride
48
+ };
49
+ if (!rawAlign) return {
50
+ side,
51
+ align: "center"
52
+ };
53
+ if (rawAlign === "top") return {
54
+ side,
55
+ align: "start"
56
+ };
57
+ if (rawAlign === "bottom") return {
58
+ side,
59
+ align: "end"
60
+ };
61
+ return {
62
+ side,
63
+ align: rawAlign
64
+ };
65
+ }
66
+ function getContentSize(triggerRect, contentSize, maxWidth, sameWidth, width) {
67
+ const resolvedWidth = sameWidth || width === "trigger" ? triggerRect.width : width === "full" ? maxWidth : typeof width === "number" ? width : contentSize.width || triggerRect.width;
68
+ return {
69
+ width: Math.min(resolvedWidth, maxWidth),
70
+ height: contentSize.height
71
+ };
72
+ }
73
+ function getCoordinate({ align, alignOffset, contentLength, triggerLength, triggerStart }) {
74
+ if (align === "start") return triggerStart + alignOffset;
75
+ if (align === "end") return triggerStart + triggerLength - contentLength + alignOffset;
76
+ return triggerStart + triggerLength / 2 - contentLength / 2 + alignOffset;
77
+ }
78
+ function getRawPosition({ align, alignOffset, contentHeight, contentWidth, offset, side, triggerRect }) {
79
+ if (side === "top" || side === "bottom") return {
80
+ left: getCoordinate({
81
+ align,
82
+ alignOffset,
83
+ contentLength: contentWidth,
84
+ triggerLength: triggerRect.width,
85
+ triggerStart: triggerRect.x
86
+ }),
87
+ top: side === "top" ? triggerRect.y - contentHeight - offset : triggerRect.y + triggerRect.height + offset
88
+ };
89
+ return {
90
+ left: side === "left" ? triggerRect.x - contentWidth - offset : triggerRect.x + triggerRect.width + offset,
91
+ top: getCoordinate({
92
+ align,
93
+ alignOffset,
94
+ contentLength: contentHeight,
95
+ triggerLength: triggerRect.height,
96
+ triggerStart: triggerRect.y
97
+ })
98
+ };
99
+ }
100
+ function shouldFlip({ contentHeight, contentWidth, maxBottom, maxRight, minLeft, minTop, side, triggerRect, windowHeight, windowWidth }) {
101
+ if (side === "top") return triggerRect.y - contentHeight < minTop && windowHeight - (triggerRect.y + triggerRect.height) > triggerRect.y;
102
+ if (side === "bottom") return triggerRect.y + triggerRect.height + contentHeight > maxBottom && triggerRect.y > windowHeight - (triggerRect.y + triggerRect.height);
103
+ if (side === "left") return triggerRect.x - contentWidth < minLeft && windowWidth - (triggerRect.x + triggerRect.width) > triggerRect.x;
104
+ return triggerRect.x + triggerRect.width + contentWidth > maxRight && triggerRect.x > windowWidth - (triggerRect.x + triggerRect.width);
105
+ }
106
+ function getArrowPosition({ arrowHeight, arrowWidth, contentHeight, contentLeft, contentTop, contentWidth, side, triggerRect }) {
107
+ const arrowBase = {
108
+ position: "absolute",
109
+ zIndex: 2
110
+ };
111
+ if (side === "top" || side === "bottom") {
112
+ const left = clamp(triggerRect.x + triggerRect.width / 2 - contentLeft - arrowWidth / 2, arrowHeight, contentWidth - arrowWidth - arrowHeight);
113
+ return {
114
+ ...arrowBase,
115
+ width: arrowWidth,
116
+ height: arrowHeight,
117
+ left,
118
+ ...side === "top" ? { bottom: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET } : { top: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }
119
+ };
120
+ }
121
+ const top = clamp(triggerRect.y + triggerRect.height / 2 - contentTop - arrowWidth / 2, arrowHeight, contentHeight - arrowWidth - arrowHeight);
122
+ return {
123
+ ...arrowBase,
124
+ width: arrowHeight,
125
+ height: arrowWidth,
126
+ top,
127
+ ...side === "left" ? { right: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET } : { left: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }
128
+ };
129
+ }
130
+ function useAnchoredPosition({ triggerRect, contentSize, placement = "bottom", align, offset = DEFAULT_OFFSET, alignOffset = 0, avoidCollisions = true, collisionPadding = DEFAULT_COLLISION_PADDING, width = "content", sameWidth = false, insets, arrowWidth, arrowHeight }) {
131
+ const windowDimensions = useWindowDimensions();
132
+ const safeAreaInsets = useSafeAreaInsets();
133
+ const resolvedArrowWidth = arrowWidth ?? DEFAULT_ARROW_WIDTH;
134
+ const resolvedArrowHeight = arrowHeight ?? DEFAULT_ARROW_HEIGHT;
135
+ return useMemo(() => {
136
+ const fallbackPlacement = placement;
137
+ const maxWidth = windowDimensions.width - (insets?.left ?? safeAreaInsets.left) - (insets?.right ?? safeAreaInsets.right) - collisionPadding * 2;
138
+ if (!triggerRect) return {
139
+ resolvedPlacement: fallbackPlacement,
140
+ contentStyle: {
141
+ position: "absolute",
142
+ left: collisionPadding,
143
+ top: (insets?.top ?? safeAreaInsets.top) + collisionPadding,
144
+ maxWidth,
145
+ opacity: 0
146
+ },
147
+ arrowStyle: { opacity: 0 },
148
+ anchorReady: false,
149
+ maxWidth
150
+ };
151
+ const minLeft = (insets?.left ?? safeAreaInsets.left) + collisionPadding;
152
+ const minTop = (insets?.top ?? safeAreaInsets.top) + collisionPadding;
153
+ const maxRight = windowDimensions.width - (insets?.right ?? safeAreaInsets.right) - collisionPadding;
154
+ const maxBottom = windowDimensions.height - (insets?.bottom ?? safeAreaInsets.bottom) - collisionPadding;
155
+ const { width: contentWidth, height: contentHeight } = getContentSize(triggerRect, contentSize, maxWidth, sameWidth, width);
156
+ const placementParts = parsePlacement(placement, align);
157
+ let { side } = placementParts;
158
+ const resolvedAlign = placementParts.align;
159
+ if (avoidCollisions && shouldFlip({
160
+ contentHeight,
161
+ contentWidth,
162
+ maxBottom,
163
+ maxRight,
164
+ minLeft,
165
+ minTop,
166
+ side,
167
+ triggerRect,
168
+ windowHeight: windowDimensions.height,
169
+ windowWidth: windowDimensions.width
170
+ })) side = getOppositeSide(side);
171
+ const rawPosition = getRawPosition({
172
+ align: resolvedAlign,
173
+ alignOffset,
174
+ contentHeight,
175
+ contentWidth,
176
+ offset,
177
+ side,
178
+ triggerRect
179
+ });
180
+ const left = clamp(rawPosition.left, minLeft, maxRight - contentWidth);
181
+ const top = clamp(rawPosition.top, minTop, maxBottom - contentHeight);
182
+ return {
183
+ resolvedPlacement: formatPlacement(side, resolvedAlign),
184
+ contentStyle: {
185
+ position: "absolute",
186
+ left,
187
+ top,
188
+ width: sameWidth || width !== "content" ? contentWidth : void 0,
189
+ maxWidth
190
+ },
191
+ arrowStyle: getArrowPosition({
192
+ arrowHeight: resolvedArrowHeight,
193
+ arrowWidth: resolvedArrowWidth,
194
+ contentHeight,
195
+ contentLeft: left,
196
+ contentTop: top,
197
+ contentWidth,
198
+ side,
199
+ triggerRect
200
+ }),
201
+ anchorReady: true,
202
+ maxWidth
203
+ };
204
+ }, [
205
+ align,
206
+ alignOffset,
207
+ avoidCollisions,
208
+ collisionPadding,
209
+ contentSize,
210
+ insets,
211
+ offset,
212
+ placement,
213
+ resolvedArrowHeight,
214
+ resolvedArrowWidth,
215
+ safeAreaInsets,
216
+ sameWidth,
217
+ triggerRect,
218
+ width,
219
+ windowDimensions
220
+ ]);
221
+ }
222
+ //#endregion
223
+ export { useAnchoredPosition };
224
+
225
+ //# sourceMappingURL=useAnchoredPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnchoredPosition.js","names":[],"sources":["../../../../src/components/internal/Overlay/useAnchoredPosition.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { I18nManager, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport type {\n AnchoredAlign,\n AnchoredPlacement,\n AnchoredRect,\n UseAnchoredPositionProps,\n UseAnchoredPositionResult,\n} from './types';\n\nconst DEFAULT_COLLISION_PADDING = 12;\nconst DEFAULT_OFFSET = 9;\nconst DEFAULT_ARROW_WIDTH = 22;\nconst DEFAULT_ARROW_HEIGHT = 12;\nconst DEFAULT_ARROW_BASELINE_INSET = 1;\n\ntype PhysicalSide = 'top' | 'bottom' | 'left' | 'right';\ntype PlacementParts = {\n side: PhysicalSide;\n align: AnchoredAlign;\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n if (max < min) {\n return min;\n }\n return Math.min(Math.max(value, min), max);\n}\n\nfunction resolveLogicalSide(side: 'top' | 'bottom' | 'start' | 'end'): PhysicalSide {\n const physicalSideByLogicalSide = {\n top: 'top',\n bottom: 'bottom',\n start: I18nManager.isRTL ? 'right' : 'left',\n end: I18nManager.isRTL ? 'left' : 'right',\n } as const;\n\n return physicalSideByLogicalSide[side];\n}\n\nfunction getOppositeSide(side: PhysicalSide): PhysicalSide {\n switch (side) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n }\n}\n\nfunction formatPlacement(side: PhysicalSide, align: AnchoredAlign): AnchoredPlacement {\n const logicalSideByPhysicalSide = {\n top: 'top',\n bottom: 'bottom',\n left: I18nManager.isRTL ? 'end' : 'start',\n right: I18nManager.isRTL ? 'start' : 'end',\n } as const;\n const logicalSide = logicalSideByPhysicalSide[side];\n\n if (align === 'center') {\n return logicalSide;\n }\n\n if (side === 'top' || side === 'bottom') {\n return `${logicalSide}-${align}` as AnchoredPlacement;\n }\n\n return `${logicalSide}-${align === 'start' ? 'top' : 'bottom'}` as AnchoredPlacement;\n}\n\nfunction parsePlacement(\n placement: AnchoredPlacement,\n alignOverride?: AnchoredAlign,\n): PlacementParts {\n const [rawSide, rawAlign] = placement.split('-') as [\n 'top' | 'bottom' | 'start' | 'end',\n 'start' | 'end' | 'top' | 'bottom' | undefined,\n ];\n const side = resolveLogicalSide(rawSide);\n\n if (alignOverride) {\n return { side, align: alignOverride };\n }\n\n if (!rawAlign) {\n return { side, align: 'center' };\n }\n\n if (rawAlign === 'top') {\n return { side, align: 'start' };\n }\n\n if (rawAlign === 'bottom') {\n return { side, align: 'end' };\n }\n\n return { side, align: rawAlign };\n}\n\nfunction getContentSize(\n triggerRect: AnchoredRect,\n contentSize: { width: number; height: number },\n maxWidth: number,\n sameWidth: boolean,\n width: UseAnchoredPositionProps['width'],\n) {\n const resolvedWidth =\n sameWidth || width === 'trigger'\n ? triggerRect.width\n : width === 'full'\n ? maxWidth\n : typeof width === 'number'\n ? width\n : contentSize.width || triggerRect.width;\n\n return {\n width: Math.min(resolvedWidth, maxWidth),\n height: contentSize.height,\n };\n}\n\nfunction getCoordinate({\n align,\n alignOffset,\n contentLength,\n triggerLength,\n triggerStart,\n}: {\n align: AnchoredAlign;\n alignOffset: number;\n contentLength: number;\n triggerLength: number;\n triggerStart: number;\n}) {\n if (align === 'start') {\n return triggerStart + alignOffset;\n }\n\n if (align === 'end') {\n return triggerStart + triggerLength - contentLength + alignOffset;\n }\n\n const centered = triggerStart + triggerLength / 2 - contentLength / 2;\n return centered + alignOffset;\n}\n\nfunction getRawPosition({\n align,\n alignOffset,\n contentHeight,\n contentWidth,\n offset,\n side,\n triggerRect,\n}: {\n align: AnchoredAlign;\n alignOffset: number;\n contentHeight: number;\n contentWidth: number;\n offset: number;\n side: PhysicalSide;\n triggerRect: AnchoredRect;\n}) {\n if (side === 'top' || side === 'bottom') {\n return {\n left: getCoordinate({\n align,\n alignOffset,\n contentLength: contentWidth,\n triggerLength: triggerRect.width,\n triggerStart: triggerRect.x,\n }),\n top:\n side === 'top'\n ? triggerRect.y - contentHeight - offset\n : triggerRect.y + triggerRect.height + offset,\n };\n }\n\n return {\n left:\n side === 'left'\n ? triggerRect.x - contentWidth - offset\n : triggerRect.x + triggerRect.width + offset,\n top: getCoordinate({\n align,\n alignOffset,\n contentLength: contentHeight,\n triggerLength: triggerRect.height,\n triggerStart: triggerRect.y,\n }),\n };\n}\n\nfunction shouldFlip({\n contentHeight,\n contentWidth,\n maxBottom,\n maxRight,\n minLeft,\n minTop,\n side,\n triggerRect,\n windowHeight,\n windowWidth,\n}: {\n contentHeight: number;\n contentWidth: number;\n maxBottom: number;\n maxRight: number;\n minLeft: number;\n minTop: number;\n side: PhysicalSide;\n triggerRect: AnchoredRect;\n windowHeight: number;\n windowWidth: number;\n}) {\n if (side === 'top') {\n return (\n triggerRect.y - contentHeight < minTop &&\n windowHeight - (triggerRect.y + triggerRect.height) > triggerRect.y\n );\n }\n\n if (side === 'bottom') {\n return (\n triggerRect.y + triggerRect.height + contentHeight > maxBottom &&\n triggerRect.y > windowHeight - (triggerRect.y + triggerRect.height)\n );\n }\n\n if (side === 'left') {\n return (\n triggerRect.x - contentWidth < minLeft &&\n windowWidth - (triggerRect.x + triggerRect.width) > triggerRect.x\n );\n }\n\n return (\n triggerRect.x + triggerRect.width + contentWidth > maxRight &&\n triggerRect.x > windowWidth - (triggerRect.x + triggerRect.width)\n );\n}\n\nfunction getArrowPosition({\n arrowHeight,\n arrowWidth,\n contentHeight,\n contentLeft,\n contentTop,\n contentWidth,\n side,\n triggerRect,\n}: {\n arrowHeight: number;\n arrowWidth: number;\n contentHeight: number;\n contentLeft: number;\n contentTop: number;\n contentWidth: number;\n side: PhysicalSide;\n triggerRect: AnchoredRect;\n}) {\n const arrowBase = {\n position: 'absolute' as const,\n zIndex: 2,\n };\n\n if (side === 'top' || side === 'bottom') {\n const triggerCenter = triggerRect.x + triggerRect.width / 2;\n const left = clamp(\n triggerCenter - contentLeft - arrowWidth / 2,\n arrowHeight,\n contentWidth - arrowWidth - arrowHeight,\n );\n\n return {\n ...arrowBase,\n width: arrowWidth,\n height: arrowHeight,\n left,\n ...(side === 'top'\n ? { bottom: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }\n : { top: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }),\n };\n }\n\n const triggerCenter = triggerRect.y + triggerRect.height / 2;\n const top = clamp(\n triggerCenter - contentTop - arrowWidth / 2,\n arrowHeight,\n contentHeight - arrowWidth - arrowHeight,\n );\n\n return {\n ...arrowBase,\n width: arrowHeight,\n height: arrowWidth,\n top,\n ...(side === 'left'\n ? { right: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }\n : { left: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }),\n };\n}\n\nfunction useAnchoredPosition({\n triggerRect,\n contentSize,\n placement = 'bottom',\n align,\n offset = DEFAULT_OFFSET,\n alignOffset = 0,\n avoidCollisions = true,\n collisionPadding = DEFAULT_COLLISION_PADDING,\n width = 'content',\n sameWidth = false,\n insets,\n arrowWidth,\n arrowHeight,\n}: UseAnchoredPositionProps): UseAnchoredPositionResult {\n const windowDimensions = useWindowDimensions();\n const safeAreaInsets = useSafeAreaInsets();\n const resolvedArrowWidth = arrowWidth ?? DEFAULT_ARROW_WIDTH;\n const resolvedArrowHeight = arrowHeight ?? DEFAULT_ARROW_HEIGHT;\n\n return useMemo<UseAnchoredPositionResult>(() => {\n const fallbackPlacement = placement;\n const maxWidth =\n windowDimensions.width -\n (insets?.left ?? safeAreaInsets.left) -\n (insets?.right ?? safeAreaInsets.right) -\n collisionPadding * 2;\n\n if (!triggerRect) {\n return {\n resolvedPlacement: fallbackPlacement,\n contentStyle: {\n position: 'absolute',\n left: collisionPadding,\n top: (insets?.top ?? safeAreaInsets.top) + collisionPadding,\n maxWidth,\n opacity: 0,\n },\n arrowStyle: { opacity: 0 },\n anchorReady: false,\n maxWidth,\n };\n }\n\n const minLeft = (insets?.left ?? safeAreaInsets.left) + collisionPadding;\n const minTop = (insets?.top ?? safeAreaInsets.top) + collisionPadding;\n const maxRight =\n windowDimensions.width - (insets?.right ?? safeAreaInsets.right) - collisionPadding;\n const maxBottom =\n windowDimensions.height - (insets?.bottom ?? safeAreaInsets.bottom) - collisionPadding;\n\n const { width: contentWidth, height: contentHeight } = getContentSize(\n triggerRect,\n contentSize,\n maxWidth,\n sameWidth,\n width,\n );\n\n const placementParts = parsePlacement(placement, align);\n let { side } = placementParts;\n const resolvedAlign = placementParts.align;\n\n if (\n avoidCollisions &&\n shouldFlip({\n contentHeight,\n contentWidth,\n maxBottom,\n maxRight,\n minLeft,\n minTop,\n side,\n triggerRect,\n windowHeight: windowDimensions.height,\n windowWidth: windowDimensions.width,\n })\n ) {\n side = getOppositeSide(side);\n }\n\n const rawPosition = getRawPosition({\n align: resolvedAlign,\n alignOffset,\n contentHeight,\n contentWidth,\n offset,\n side,\n triggerRect,\n });\n\n const left = clamp(rawPosition.left, minLeft, maxRight - contentWidth);\n const top = clamp(rawPosition.top, minTop, maxBottom - contentHeight);\n const resolvedPlacement = formatPlacement(side, resolvedAlign);\n\n return {\n resolvedPlacement,\n contentStyle: {\n position: 'absolute',\n left,\n top,\n width: sameWidth || width !== 'content' ? contentWidth : undefined,\n maxWidth,\n },\n arrowStyle: getArrowPosition({\n arrowHeight: resolvedArrowHeight,\n arrowWidth: resolvedArrowWidth,\n contentHeight,\n contentLeft: left,\n contentTop: top,\n contentWidth,\n side,\n triggerRect,\n }),\n anchorReady: true,\n maxWidth,\n };\n }, [\n align,\n alignOffset,\n avoidCollisions,\n collisionPadding,\n contentSize,\n insets,\n offset,\n placement,\n resolvedArrowHeight,\n resolvedArrowWidth,\n safeAreaInsets,\n sameWidth,\n triggerRect,\n width,\n windowDimensions,\n ]);\n}\n\nexport { useAnchoredPosition };\n"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../../_virtual/_rolldown/runtime.cjs");
4
+ let react = require("react");
5
+ let react_native = require("react-native");
6
+ //#region src/components/internal/Overlay/useOverlayDismiss.ts
7
+ function useOverlayDismiss({ open, dismissible = true, onDismiss }) {
8
+ const dismiss = (0, react.useCallback)(() => {
9
+ if (dismissible) onDismiss();
10
+ }, [dismissible, onDismiss]);
11
+ (0, react.useEffect)(() => {
12
+ if (!open) return;
13
+ const subscription = react_native.BackHandler.addEventListener("hardwareBackPress", () => {
14
+ dismiss();
15
+ return true;
16
+ });
17
+ return () => subscription.remove();
18
+ }, [dismiss, open]);
19
+ return dismiss;
20
+ }
21
+ //#endregion
22
+ exports.useOverlayDismiss = useOverlayDismiss;
@@ -0,0 +1,12 @@
1
+
2
+ import { UseOverlayDismissProps } from "./types.cjs";
3
+
4
+ //#region src/components/internal/Overlay/useOverlayDismiss.d.ts
5
+ declare function useOverlayDismiss({
6
+ open,
7
+ dismissible,
8
+ onDismiss
9
+ }: UseOverlayDismissProps): () => void;
10
+ //#endregion
11
+ export { useOverlayDismiss };
12
+ //# sourceMappingURL=useOverlayDismiss.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverlayDismiss.d.cts","names":[],"sources":["../../../../src/components/internal/Overlay/useOverlayDismiss.ts"],"mappings":";;;;iBAKS,iBAAA,CAAA;EACP,IAAA;EACA,WAAA;EACA;AAAA,GACC,sBAAA"}
@@ -0,0 +1,12 @@
1
+
2
+ import { UseOverlayDismissProps } from "./types.js";
3
+
4
+ //#region src/components/internal/Overlay/useOverlayDismiss.d.ts
5
+ declare function useOverlayDismiss({
6
+ open,
7
+ dismissible,
8
+ onDismiss
9
+ }: UseOverlayDismissProps): () => void;
10
+ //#endregion
11
+ export { useOverlayDismiss };
12
+ //# sourceMappingURL=useOverlayDismiss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverlayDismiss.d.ts","names":[],"sources":["../../../../src/components/internal/Overlay/useOverlayDismiss.ts"],"mappings":";;;;iBAKS,iBAAA,CAAA;EACP,IAAA;EACA,WAAA;EACA;AAAA,GACC,sBAAA"}
@@ -0,0 +1,22 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { useCallback, useEffect } from "react";
3
+ import { BackHandler } from "react-native";
4
+ //#region src/components/internal/Overlay/useOverlayDismiss.ts
5
+ function useOverlayDismiss({ open, dismissible = true, onDismiss }) {
6
+ const dismiss = useCallback(() => {
7
+ if (dismissible) onDismiss();
8
+ }, [dismissible, onDismiss]);
9
+ useEffect(() => {
10
+ if (!open) return;
11
+ const subscription = BackHandler.addEventListener("hardwareBackPress", () => {
12
+ dismiss();
13
+ return true;
14
+ });
15
+ return () => subscription.remove();
16
+ }, [dismiss, open]);
17
+ return dismiss;
18
+ }
19
+ //#endregion
20
+ export { useOverlayDismiss };
21
+
22
+ //# sourceMappingURL=useOverlayDismiss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverlayDismiss.js","names":[],"sources":["../../../../src/components/internal/Overlay/useOverlayDismiss.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\nimport { BackHandler } from 'react-native';\n\nimport type { UseOverlayDismissProps } from './types';\n\nfunction useOverlayDismiss({\n open,\n dismissible = true,\n onDismiss,\n}: UseOverlayDismissProps): () => void {\n const dismiss = useCallback(() => {\n if (dismissible) {\n onDismiss();\n }\n }, [dismissible, onDismiss]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n dismiss();\n return true;\n });\n\n return () => subscription.remove();\n }, [dismiss, open]);\n\n return dismiss;\n}\n\nexport { useOverlayDismiss };\n"],"mappings":";;;;AAKA,SAAS,kBAAkB,EACzB,MACA,cAAc,MACd,aACqC;CACrC,MAAM,UAAU,kBAAkB;EAChC,IAAI,aACF,WAAW;IAEZ,CAAC,aAAa,UAAU,CAAC;CAE5B,gBAAgB;EACd,IAAI,CAAC,MACH;EAGF,MAAM,eAAe,YAAY,iBAAiB,2BAA2B;GAC3E,SAAS;GACT,OAAO;IACP;EAEF,aAAa,aAAa,QAAQ;IACjC,CAAC,SAAS,KAAK,CAAC;CAEnB,OAAO"}
@@ -0,0 +1,38 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ //#region src/jest/mocks/gesture-handler.tsx
4
+ function GestureDetector({ children }) {
5
+ return children;
6
+ }
7
+ function createMockGesture() {
8
+ const gesture = {};
9
+ gesture.activeOffsetY = jest.fn(() => gesture);
10
+ gesture.enabled = jest.fn(() => gesture);
11
+ gesture.failOffsetX = jest.fn(() => gesture);
12
+ gesture.manualActivation = jest.fn(() => gesture);
13
+ gesture.onBegin = jest.fn(() => gesture);
14
+ gesture.onChange = jest.fn(() => gesture);
15
+ gesture.onEnd = jest.fn(() => gesture);
16
+ gesture.onFinalize = jest.fn(() => gesture);
17
+ gesture.onStart = jest.fn(() => gesture);
18
+ gesture.onTouchesDown = jest.fn(() => gesture);
19
+ gesture.onTouchesMove = jest.fn(() => gesture);
20
+ gesture.onUpdate = jest.fn(() => gesture);
21
+ gesture.simultaneousWithExternalGesture = jest.fn(() => gesture);
22
+ gesture.withRef = jest.fn(() => gesture);
23
+ return gesture;
24
+ }
25
+ const Gesture = {
26
+ Native: createMockGesture,
27
+ Pan: createMockGesture,
28
+ Race: jest.fn((..._gestures) => createMockGesture()),
29
+ Simultaneous: jest.fn((..._gestures) => createMockGesture()),
30
+ Tap: createMockGesture
31
+ };
32
+ function GestureHandlerRootView({ children }) {
33
+ return children;
34
+ }
35
+ //#endregion
36
+ exports.Gesture = Gesture;
37
+ exports.GestureDetector = GestureDetector;
38
+ exports.GestureHandlerRootView = GestureHandlerRootView;
@@ -0,0 +1,41 @@
1
+
2
+ import { ReactNode } from "react";
3
+
4
+ //#region src/jest/mocks/gesture-handler.d.ts
5
+ interface GestureDetectorProps {
6
+ children?: ReactNode;
7
+ }
8
+ type MockGestureMethod = jest.Mock<MockGesture, unknown[]>;
9
+ interface MockGesture {
10
+ activeOffsetY: MockGestureMethod;
11
+ enabled: MockGestureMethod;
12
+ failOffsetX: MockGestureMethod;
13
+ manualActivation: MockGestureMethod;
14
+ onBegin: MockGestureMethod;
15
+ onChange: MockGestureMethod;
16
+ onEnd: MockGestureMethod;
17
+ onFinalize: MockGestureMethod;
18
+ onStart: MockGestureMethod;
19
+ onTouchesDown: MockGestureMethod;
20
+ onTouchesMove: MockGestureMethod;
21
+ onUpdate: MockGestureMethod;
22
+ simultaneousWithExternalGesture: MockGestureMethod;
23
+ withRef: MockGestureMethod;
24
+ }
25
+ declare function GestureDetector({
26
+ children
27
+ }: GestureDetectorProps): ReactNode;
28
+ declare function createMockGesture(): MockGesture;
29
+ declare const Gesture: {
30
+ Native: typeof createMockGesture;
31
+ Pan: typeof createMockGesture;
32
+ Race: jest.Mock<MockGesture, unknown[], any>;
33
+ Simultaneous: jest.Mock<MockGesture, unknown[], any>;
34
+ Tap: typeof createMockGesture;
35
+ };
36
+ declare function GestureHandlerRootView({
37
+ children
38
+ }: GestureDetectorProps): ReactNode;
39
+ //#endregion
40
+ export { Gesture, GestureDetector, GestureHandlerRootView };
41
+ //# sourceMappingURL=gesture-handler.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture-handler.d.cts","names":[],"sources":["../../../src/jest/mocks/gesture-handler.tsx"],"mappings":";;;;UAIU,oBAAA;EACR,QAAA,GAAW,SAAA;AAAA;AAAA,KAGR,iBAAA,GAAoB,IAAA,CAAK,IAAA,CAAK,WAAA;AAAA,UAEzB,WAAA;EACR,aAAA,EAAe,iBAAA;EACf,OAAA,EAAS,iBAAA;EACT,WAAA,EAAa,iBAAA;EACb,gBAAA,EAAkB,iBAAA;EAClB,OAAA,EAAS,iBAAA;EACT,QAAA,EAAU,iBAAA;EACV,KAAA,EAAO,iBAAA;EACP,UAAA,EAAY,iBAAA;EACZ,OAAA,EAAS,iBAAA;EACT,aAAA,EAAe,iBAAA;EACf,aAAA,EAAe,iBAAA;EACf,QAAA,EAAU,iBAAA;EACV,+BAAA,EAAiC,iBAAA;EACjC,OAAA,EAAS,iBAAA;AAAA;AAAA,iBAGF,eAAA,CAAA;EAAkB;AAAA,GAAY,oBAAA,GAAoB,SAAA;AAAA,iBAIlD,iBAAA,CAAA,GAAqB,WAAA;AAAA,cAqBxB,OAAA;;;;;;;iBAQG,sBAAA,CAAA;EAAyB;AAAA,GAAY,oBAAA,GAAoB,SAAA"}
@@ -0,0 +1,41 @@
1
+
2
+ import { ReactNode } from "react";
3
+
4
+ //#region src/jest/mocks/gesture-handler.d.ts
5
+ interface GestureDetectorProps {
6
+ children?: ReactNode;
7
+ }
8
+ type MockGestureMethod = jest.Mock<MockGesture, unknown[]>;
9
+ interface MockGesture {
10
+ activeOffsetY: MockGestureMethod;
11
+ enabled: MockGestureMethod;
12
+ failOffsetX: MockGestureMethod;
13
+ manualActivation: MockGestureMethod;
14
+ onBegin: MockGestureMethod;
15
+ onChange: MockGestureMethod;
16
+ onEnd: MockGestureMethod;
17
+ onFinalize: MockGestureMethod;
18
+ onStart: MockGestureMethod;
19
+ onTouchesDown: MockGestureMethod;
20
+ onTouchesMove: MockGestureMethod;
21
+ onUpdate: MockGestureMethod;
22
+ simultaneousWithExternalGesture: MockGestureMethod;
23
+ withRef: MockGestureMethod;
24
+ }
25
+ declare function GestureDetector({
26
+ children
27
+ }: GestureDetectorProps): ReactNode;
28
+ declare function createMockGesture(): MockGesture;
29
+ declare const Gesture: {
30
+ Native: typeof createMockGesture;
31
+ Pan: typeof createMockGesture;
32
+ Race: jest.Mock<MockGesture, unknown[], any>;
33
+ Simultaneous: jest.Mock<MockGesture, unknown[], any>;
34
+ Tap: typeof createMockGesture;
35
+ };
36
+ declare function GestureHandlerRootView({
37
+ children
38
+ }: GestureDetectorProps): ReactNode;
39
+ //#endregion
40
+ export { Gesture, GestureDetector, GestureHandlerRootView };
41
+ //# sourceMappingURL=gesture-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture-handler.d.ts","names":[],"sources":["../../../src/jest/mocks/gesture-handler.tsx"],"mappings":";;;;UAIU,oBAAA;EACR,QAAA,GAAW,SAAA;AAAA;AAAA,KAGR,iBAAA,GAAoB,IAAA,CAAK,IAAA,CAAK,WAAA;AAAA,UAEzB,WAAA;EACR,aAAA,EAAe,iBAAA;EACf,OAAA,EAAS,iBAAA;EACT,WAAA,EAAa,iBAAA;EACb,gBAAA,EAAkB,iBAAA;EAClB,OAAA,EAAS,iBAAA;EACT,QAAA,EAAU,iBAAA;EACV,KAAA,EAAO,iBAAA;EACP,UAAA,EAAY,iBAAA;EACZ,OAAA,EAAS,iBAAA;EACT,aAAA,EAAe,iBAAA;EACf,aAAA,EAAe,iBAAA;EACf,QAAA,EAAU,iBAAA;EACV,+BAAA,EAAiC,iBAAA;EACjC,OAAA,EAAS,iBAAA;AAAA;AAAA,iBAGF,eAAA,CAAA;EAAkB;AAAA,GAAY,oBAAA,GAAoB,SAAA;AAAA,iBAIlD,iBAAA,CAAA,GAAqB,WAAA;AAAA,cAqBxB,OAAA;;;;;;;iBAQG,sBAAA,CAAA;EAAyB;AAAA,GAAY,oBAAA,GAAoB,SAAA"}
@@ -0,0 +1,37 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ //#region src/jest/mocks/gesture-handler.tsx
3
+ function GestureDetector({ children }) {
4
+ return children;
5
+ }
6
+ function createMockGesture() {
7
+ const gesture = {};
8
+ gesture.activeOffsetY = jest.fn(() => gesture);
9
+ gesture.enabled = jest.fn(() => gesture);
10
+ gesture.failOffsetX = jest.fn(() => gesture);
11
+ gesture.manualActivation = jest.fn(() => gesture);
12
+ gesture.onBegin = jest.fn(() => gesture);
13
+ gesture.onChange = jest.fn(() => gesture);
14
+ gesture.onEnd = jest.fn(() => gesture);
15
+ gesture.onFinalize = jest.fn(() => gesture);
16
+ gesture.onStart = jest.fn(() => gesture);
17
+ gesture.onTouchesDown = jest.fn(() => gesture);
18
+ gesture.onTouchesMove = jest.fn(() => gesture);
19
+ gesture.onUpdate = jest.fn(() => gesture);
20
+ gesture.simultaneousWithExternalGesture = jest.fn(() => gesture);
21
+ gesture.withRef = jest.fn(() => gesture);
22
+ return gesture;
23
+ }
24
+ const Gesture = {
25
+ Native: createMockGesture,
26
+ Pan: createMockGesture,
27
+ Race: jest.fn((..._gestures) => createMockGesture()),
28
+ Simultaneous: jest.fn((..._gestures) => createMockGesture()),
29
+ Tap: createMockGesture
30
+ };
31
+ function GestureHandlerRootView({ children }) {
32
+ return children;
33
+ }
34
+ //#endregion
35
+ export { Gesture, GestureDetector, GestureHandlerRootView };
36
+
37
+ //# sourceMappingURL=gesture-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture-handler.js","names":[],"sources":["../../../src/jest/mocks/gesture-handler.tsx"],"sourcesContent":["/// <reference types=\"jest\" />\n\nimport type { ReactNode } from 'react';\n\ninterface GestureDetectorProps {\n children?: ReactNode;\n}\n\ntype MockGestureMethod = jest.Mock<MockGesture, unknown[]>;\n\ninterface MockGesture {\n activeOffsetY: MockGestureMethod;\n enabled: MockGestureMethod;\n failOffsetX: MockGestureMethod;\n manualActivation: MockGestureMethod;\n onBegin: MockGestureMethod;\n onChange: MockGestureMethod;\n onEnd: MockGestureMethod;\n onFinalize: MockGestureMethod;\n onStart: MockGestureMethod;\n onTouchesDown: MockGestureMethod;\n onTouchesMove: MockGestureMethod;\n onUpdate: MockGestureMethod;\n simultaneousWithExternalGesture: MockGestureMethod;\n withRef: MockGestureMethod;\n}\n\nfunction GestureDetector({ children }: GestureDetectorProps) {\n return children;\n}\n\nfunction createMockGesture(): MockGesture {\n const gesture = {} as MockGesture;\n\n gesture.activeOffsetY = jest.fn(() => gesture);\n gesture.enabled = jest.fn(() => gesture);\n gesture.failOffsetX = jest.fn(() => gesture);\n gesture.manualActivation = jest.fn(() => gesture);\n gesture.onBegin = jest.fn(() => gesture);\n gesture.onChange = jest.fn(() => gesture);\n gesture.onEnd = jest.fn(() => gesture);\n gesture.onFinalize = jest.fn(() => gesture);\n gesture.onStart = jest.fn(() => gesture);\n gesture.onTouchesDown = jest.fn(() => gesture);\n gesture.onTouchesMove = jest.fn(() => gesture);\n gesture.onUpdate = jest.fn(() => gesture);\n gesture.simultaneousWithExternalGesture = jest.fn(() => gesture);\n gesture.withRef = jest.fn(() => gesture);\n\n return gesture;\n}\n\nconst Gesture = {\n Native: createMockGesture,\n Pan: createMockGesture,\n Race: jest.fn((..._gestures: unknown[]) => createMockGesture()),\n Simultaneous: jest.fn((..._gestures: unknown[]) => createMockGesture()),\n Tap: createMockGesture,\n};\n\nfunction GestureHandlerRootView({ children }: GestureDetectorProps) {\n return children;\n}\n\nexport { Gesture, GestureDetector, GestureHandlerRootView };\n"],"mappings":";;AA2BA,SAAS,gBAAgB,EAAE,YAAkC;CAC3D,OAAO;;AAGT,SAAS,oBAAiC;CACxC,MAAM,UAAU,EAAE;CAElB,QAAQ,gBAAgB,KAAK,SAAS,QAAQ;CAC9C,QAAQ,UAAU,KAAK,SAAS,QAAQ;CACxC,QAAQ,cAAc,KAAK,SAAS,QAAQ;CAC5C,QAAQ,mBAAmB,KAAK,SAAS,QAAQ;CACjD,QAAQ,UAAU,KAAK,SAAS,QAAQ;CACxC,QAAQ,WAAW,KAAK,SAAS,QAAQ;CACzC,QAAQ,QAAQ,KAAK,SAAS,QAAQ;CACtC,QAAQ,aAAa,KAAK,SAAS,QAAQ;CAC3C,QAAQ,UAAU,KAAK,SAAS,QAAQ;CACxC,QAAQ,gBAAgB,KAAK,SAAS,QAAQ;CAC9C,QAAQ,gBAAgB,KAAK,SAAS,QAAQ;CAC9C,QAAQ,WAAW,KAAK,SAAS,QAAQ;CACzC,QAAQ,kCAAkC,KAAK,SAAS,QAAQ;CAChE,QAAQ,UAAU,KAAK,SAAS,QAAQ;CAExC,OAAO;;AAGT,MAAM,UAAU;CACd,QAAQ;CACR,KAAK;CACL,MAAM,KAAK,IAAI,GAAG,cAAyB,mBAAmB,CAAC;CAC/D,cAAc,KAAK,IAAI,GAAG,cAAyB,mBAAmB,CAAC;CACvE,KAAK;CACN;AAED,SAAS,uBAAuB,EAAE,YAAkC;CAClE,OAAO"}
@@ -114,6 +114,16 @@ const Keyboard = {
114
114
  removeListener: jest.fn(),
115
115
  isVisible: jest.fn(() => false)
116
116
  };
117
+ const BackHandler = {
118
+ addEventListener: jest.fn(() => ({ remove: jest.fn() })),
119
+ exitApp: jest.fn()
120
+ };
121
+ const I18nManager = {
122
+ isRTL: false,
123
+ allowRTL: jest.fn(),
124
+ forceRTL: jest.fn(),
125
+ getConstants: () => ({ isRTL: false })
126
+ };
117
127
  const Linking = {
118
128
  openURL: jest.fn().mockResolvedValue(true),
119
129
  canOpenURL: jest.fn().mockResolvedValue(true),
@@ -170,7 +180,9 @@ const ReactNative = {
170
180
  Dimensions,
171
181
  PixelRatio,
172
182
  Animated,
183
+ BackHandler,
173
184
  Keyboard,
185
+ I18nManager,
174
186
  Linking,
175
187
  AppState,
176
188
  AccessibilityInfo,
@@ -185,8 +197,10 @@ exports.ActivityIndicator = ActivityIndicator;
185
197
  exports.Animated = Animated;
186
198
  exports.AppState = AppState;
187
199
  exports.Appearance = Appearance;
200
+ exports.BackHandler = BackHandler;
188
201
  exports.Dimensions = Dimensions;
189
202
  exports.FlatList = FlatList;
203
+ exports.I18nManager = I18nManager;
190
204
  exports.Image = Image;
191
205
  exports.Keyboard = Keyboard;
192
206
  exports.KeyboardAvoidingView = KeyboardAvoidingView;
@@ -108,6 +108,20 @@ declare const Keyboard: {
108
108
  removeListener: jest.Mock<any, any, any>;
109
109
  isVisible: jest.Mock<boolean, [], any>;
110
110
  };
111
+ declare const BackHandler: {
112
+ addEventListener: jest.Mock<{
113
+ remove: jest.Mock<any, any, any>;
114
+ }, [], any>;
115
+ exitApp: jest.Mock<any, any, any>;
116
+ };
117
+ declare const I18nManager: {
118
+ isRTL: boolean;
119
+ allowRTL: jest.Mock<any, any, any>;
120
+ forceRTL: jest.Mock<any, any, any>;
121
+ getConstants: () => {
122
+ isRTL: boolean;
123
+ };
124
+ };
111
125
  declare const Linking: {
112
126
  openURL: jest.Mock<any, any, any>;
113
127
  canOpenURL: jest.Mock<any, any, any>;
@@ -242,6 +256,12 @@ declare const ReactNative: {
242
256
  }, [], any>;
243
257
  createAnimatedComponent: (Component: React.ComponentType) => React.ComponentType<{}>;
244
258
  };
259
+ BackHandler: {
260
+ addEventListener: jest.Mock<{
261
+ remove: jest.Mock<any, any, any>;
262
+ }, [], any>;
263
+ exitApp: jest.Mock<any, any, any>;
264
+ };
245
265
  Keyboard: {
246
266
  dismiss: jest.Mock<any, any, any>;
247
267
  addListener: jest.Mock<{
@@ -250,6 +270,14 @@ declare const ReactNative: {
250
270
  removeListener: jest.Mock<any, any, any>;
251
271
  isVisible: jest.Mock<boolean, [], any>;
252
272
  };
273
+ I18nManager: {
274
+ isRTL: boolean;
275
+ allowRTL: jest.Mock<any, any, any>;
276
+ forceRTL: jest.Mock<any, any, any>;
277
+ getConstants: () => {
278
+ isRTL: boolean;
279
+ };
280
+ };
253
281
  Linking: {
254
282
  openURL: jest.Mock<any, any, any>;
255
283
  canOpenURL: jest.Mock<any, any, any>;
@@ -289,5 +317,5 @@ declare const ReactNative: {
289
317
  };
290
318
  };
291
319
  //#endregion
292
- export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, Dimensions, FlatList, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
320
+ export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, BackHandler, Dimensions, FlatList, I18nManager, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
293
321
  //# sourceMappingURL=react-native.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-native.d.cts","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"mappings":"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"}
1
+ {"version":3,"file":"react-native.d.cts","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"mappings":"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"}