@yahoo/uds-mobile 2.17.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 (146) hide show
  1. package/dist/bin/generateTheme.mjs +7 -2
  2. package/dist/bin/mobile/scripts/utils/configToRNMappings.mjs +4 -0
  3. package/dist/components/Popover/Popover.cjs +92 -0
  4. package/dist/components/Popover/Popover.d.cts +26 -0
  5. package/dist/components/Popover/Popover.d.cts.map +1 -0
  6. package/dist/components/Popover/Popover.d.ts +26 -0
  7. package/dist/components/Popover/Popover.d.ts.map +1 -0
  8. package/dist/components/Popover/Popover.js +92 -0
  9. package/dist/components/Popover/Popover.js.map +1 -0
  10. package/dist/components/Popover/PopoverContent.cjs +124 -0
  11. package/dist/components/Popover/PopoverContent.d.cts +15 -0
  12. package/dist/components/Popover/PopoverContent.d.cts.map +1 -0
  13. package/dist/components/Popover/PopoverContent.d.ts +15 -0
  14. package/dist/components/Popover/PopoverContent.d.ts.map +1 -0
  15. package/dist/components/Popover/PopoverContent.js +124 -0
  16. package/dist/components/Popover/PopoverContent.js.map +1 -0
  17. package/dist/components/Popover/PopoverContext.cjs +14 -0
  18. package/dist/components/Popover/PopoverContext.d.cts +10 -0
  19. package/dist/components/Popover/PopoverContext.d.cts.map +1 -0
  20. package/dist/components/Popover/PopoverContext.d.ts +10 -0
  21. package/dist/components/Popover/PopoverContext.d.ts.map +1 -0
  22. package/dist/components/Popover/PopoverContext.js +13 -0
  23. package/dist/components/Popover/PopoverContext.js.map +1 -0
  24. package/dist/components/Popover/PopoverDescription.cjs +23 -0
  25. package/dist/components/Popover/PopoverDescription.d.cts +15 -0
  26. package/dist/components/Popover/PopoverDescription.d.cts.map +1 -0
  27. package/dist/components/Popover/PopoverDescription.d.ts +15 -0
  28. package/dist/components/Popover/PopoverDescription.d.ts.map +1 -0
  29. package/dist/components/Popover/PopoverDescription.js +23 -0
  30. package/dist/components/Popover/PopoverDescription.js.map +1 -0
  31. package/dist/components/Popover/PopoverDismiss.cjs +22 -0
  32. package/dist/components/Popover/PopoverDismiss.d.cts +15 -0
  33. package/dist/components/Popover/PopoverDismiss.d.cts.map +1 -0
  34. package/dist/components/Popover/PopoverDismiss.d.ts +15 -0
  35. package/dist/components/Popover/PopoverDismiss.d.ts.map +1 -0
  36. package/dist/components/Popover/PopoverDismiss.js +22 -0
  37. package/dist/components/Popover/PopoverDismiss.js.map +1 -0
  38. package/dist/components/Popover/PopoverFrame.cjs +56 -0
  39. package/dist/components/Popover/PopoverFrame.d.cts +23 -0
  40. package/dist/components/Popover/PopoverFrame.d.cts.map +1 -0
  41. package/dist/components/Popover/PopoverFrame.d.ts +23 -0
  42. package/dist/components/Popover/PopoverFrame.d.ts.map +1 -0
  43. package/dist/components/Popover/PopoverFrame.js +55 -0
  44. package/dist/components/Popover/PopoverFrame.js.map +1 -0
  45. package/dist/components/Popover/PopoverPortalLayer.cjs +45 -0
  46. package/dist/components/Popover/PopoverPortalLayer.d.cts +15 -0
  47. package/dist/components/Popover/PopoverPortalLayer.d.cts.map +1 -0
  48. package/dist/components/Popover/PopoverPortalLayer.d.ts +15 -0
  49. package/dist/components/Popover/PopoverPortalLayer.d.ts.map +1 -0
  50. package/dist/components/Popover/PopoverPortalLayer.js +45 -0
  51. package/dist/components/Popover/PopoverPortalLayer.js.map +1 -0
  52. package/dist/components/Popover/PopoverSurface.cjs +228 -0
  53. package/dist/components/Popover/PopoverSurface.d.cts +26 -0
  54. package/dist/components/Popover/PopoverSurface.d.cts.map +1 -0
  55. package/dist/components/Popover/PopoverSurface.d.ts +26 -0
  56. package/dist/components/Popover/PopoverSurface.d.ts.map +1 -0
  57. package/dist/components/Popover/PopoverSurface.js +227 -0
  58. package/dist/components/Popover/PopoverSurface.js.map +1 -0
  59. package/dist/components/Popover/PopoverTitle.cjs +23 -0
  60. package/dist/components/Popover/PopoverTitle.d.cts +15 -0
  61. package/dist/components/Popover/PopoverTitle.d.cts.map +1 -0
  62. package/dist/components/Popover/PopoverTitle.d.ts +15 -0
  63. package/dist/components/Popover/PopoverTitle.d.ts.map +1 -0
  64. package/dist/components/Popover/PopoverTitle.js +23 -0
  65. package/dist/components/Popover/PopoverTitle.js.map +1 -0
  66. package/dist/components/Popover/PopoverTrigger.cjs +88 -0
  67. package/dist/components/Popover/PopoverTrigger.d.cts +15 -0
  68. package/dist/components/Popover/PopoverTrigger.d.cts.map +1 -0
  69. package/dist/components/Popover/PopoverTrigger.d.ts +15 -0
  70. package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -0
  71. package/dist/components/Popover/PopoverTrigger.js +88 -0
  72. package/dist/components/Popover/PopoverTrigger.js.map +1 -0
  73. package/dist/components/Popover/index.cjs +14 -0
  74. package/dist/components/Popover/index.d.cts +9 -0
  75. package/dist/components/Popover/index.d.ts +9 -0
  76. package/dist/components/Popover/index.js +8 -0
  77. package/dist/components/Popover/popoverFrameGeometry.cjs +177 -0
  78. package/dist/components/Popover/popoverFrameGeometry.d.cts +48 -0
  79. package/dist/components/Popover/popoverFrameGeometry.d.cts.map +1 -0
  80. package/dist/components/Popover/popoverFrameGeometry.d.ts +48 -0
  81. package/dist/components/Popover/popoverFrameGeometry.d.ts.map +1 -0
  82. package/dist/components/Popover/popoverFrameGeometry.js +177 -0
  83. package/dist/components/Popover/popoverFrameGeometry.js.map +1 -0
  84. package/dist/components/Popover/popoverLayer.cjs +16 -0
  85. package/dist/components/Popover/popoverLayer.d.cts +8 -0
  86. package/dist/components/Popover/popoverLayer.d.cts.map +1 -0
  87. package/dist/components/Popover/popoverLayer.d.ts +8 -0
  88. package/dist/components/Popover/popoverLayer.d.ts.map +1 -0
  89. package/dist/components/Popover/popoverLayer.js +16 -0
  90. package/dist/components/Popover/popoverLayer.js.map +1 -0
  91. package/dist/components/Popover/types.cjs +1 -0
  92. package/dist/components/Popover/types.d.cts +170 -0
  93. package/dist/components/Popover/types.d.cts.map +1 -0
  94. package/dist/components/Popover/types.d.ts +170 -0
  95. package/dist/components/Popover/types.d.ts.map +1 -0
  96. package/dist/components/Popover/types.js +1 -0
  97. package/dist/components/Toast/ToastProvider.cjs +1 -1
  98. package/dist/components/Toast/ToastProvider.js +1 -1
  99. package/dist/components/internal/Overlay/index.cjs +4 -0
  100. package/dist/components/internal/Overlay/index.d.cts +4 -2
  101. package/dist/components/internal/Overlay/index.d.ts +4 -2
  102. package/dist/components/internal/Overlay/index.js +3 -1
  103. package/dist/components/internal/Overlay/types.d.cts +47 -1
  104. package/dist/components/internal/Overlay/types.d.cts.map +1 -1
  105. package/dist/components/internal/Overlay/types.d.ts +47 -1
  106. package/dist/components/internal/Overlay/types.d.ts.map +1 -1
  107. package/dist/components/internal/Overlay/useAnchoredPosition.cjs +225 -0
  108. package/dist/components/internal/Overlay/useAnchoredPosition.d.cts +22 -0
  109. package/dist/components/internal/Overlay/useAnchoredPosition.d.cts.map +1 -0
  110. package/dist/components/internal/Overlay/useAnchoredPosition.d.ts +22 -0
  111. package/dist/components/internal/Overlay/useAnchoredPosition.d.ts.map +1 -0
  112. package/dist/components/internal/Overlay/useAnchoredPosition.js +225 -0
  113. package/dist/components/internal/Overlay/useAnchoredPosition.js.map +1 -0
  114. package/dist/components/internal/Overlay/useOverlayDismiss.cjs +22 -0
  115. package/dist/components/internal/Overlay/useOverlayDismiss.d.cts +12 -0
  116. package/dist/components/internal/Overlay/useOverlayDismiss.d.cts.map +1 -0
  117. package/dist/components/internal/Overlay/useOverlayDismiss.d.ts +12 -0
  118. package/dist/components/internal/Overlay/useOverlayDismiss.d.ts.map +1 -0
  119. package/dist/components/internal/Overlay/useOverlayDismiss.js +22 -0
  120. package/dist/components/internal/Overlay/useOverlayDismiss.js.map +1 -0
  121. package/dist/jest/mocks/react-native.cjs +14 -0
  122. package/dist/jest/mocks/react-native.d.cts +29 -1
  123. package/dist/jest/mocks/react-native.d.cts.map +1 -1
  124. package/dist/jest/mocks/react-native.d.ts +29 -1
  125. package/dist/jest/mocks/react-native.d.ts.map +1 -1
  126. package/dist/jest/mocks/react-native.js +13 -1
  127. package/dist/jest/mocks/react-native.js.map +1 -1
  128. package/dist/jest/mocks/styles.cjs +60 -0
  129. package/dist/jest/mocks/styles.d.cts +5 -2
  130. package/dist/jest/mocks/styles.d.cts.map +1 -1
  131. package/dist/jest/mocks/styles.d.ts +5 -2
  132. package/dist/jest/mocks/styles.d.ts.map +1 -1
  133. package/dist/jest/mocks/styles.js +58 -1
  134. package/dist/jest/mocks/styles.js.map +1 -1
  135. package/dist/jest/setup.cjs +46 -3
  136. package/dist/jest/setup.d.cts.map +1 -1
  137. package/dist/jest/setup.d.ts.map +1 -1
  138. package/dist/jest/setup.js +46 -3
  139. package/dist/jest/setup.js.map +1 -1
  140. package/dist/types/dist/index.d.cts.map +1 -1
  141. package/dist/types/dist/index.d.ts.map +1 -1
  142. package/generated/styles.cjs +6 -0
  143. package/generated/styles.d.ts +13 -1
  144. package/generated/styles.mjs +6 -0
  145. package/generated/unistyles.d.ts +13 -0
  146. package/package.json +11 -1
@@ -0,0 +1,177 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ //#region src/components/Popover/popoverFrameGeometry.ts
3
+ const ARROW_TIP_RADIUS_FRACTION = .3;
4
+ const arrowBaseEdgeByPlacement = {
5
+ bottom: "top",
6
+ left: "right",
7
+ right: "left",
8
+ top: "bottom"
9
+ };
10
+ function clamp(value, min, max) {
11
+ if (max < min) return min;
12
+ return Math.min(Math.max(value, min), max);
13
+ }
14
+ function resolvePopoverFramePlacement(placement, isRTL) {
15
+ const [side] = placement.split("-");
16
+ if (side === "top" || side === "bottom") return side;
17
+ if (side === "start") return isRTL ? "right" : "left";
18
+ return isRTL ? "left" : "right";
19
+ }
20
+ function formatNumber(value) {
21
+ const rounded = Number(value.toFixed(3));
22
+ return `${Object.is(rounded, -0) ? 0 : rounded}`;
23
+ }
24
+ function command(op, ...values) {
25
+ return `${op} ${values.map(formatNumber).join(" ")}`;
26
+ }
27
+ const moveTo = (x, y) => command("M", x, y);
28
+ const lineTo = (x, y) => command("L", x, y);
29
+ const quadTo = (controlX, controlY, x, y) => command("Q", controlX, controlY, x, y);
30
+ function path(...commands) {
31
+ return commands.join(" ");
32
+ }
33
+ function isVerticalPlacement(placement) {
34
+ return placement === "top" || placement === "bottom";
35
+ }
36
+ function getFrameStyle({ arrowHeight, frameHeight, frameWidth, placement }) {
37
+ if (placement === "bottom") return {
38
+ left: 0,
39
+ top: -arrowHeight,
40
+ width: frameWidth,
41
+ height: frameHeight
42
+ };
43
+ if (placement === "right") return {
44
+ left: -arrowHeight,
45
+ top: 0,
46
+ width: frameWidth,
47
+ height: frameHeight
48
+ };
49
+ return {
50
+ left: 0,
51
+ top: 0,
52
+ width: frameWidth,
53
+ height: frameHeight
54
+ };
55
+ }
56
+ function getFrameLayout({ arrowHeight, arrowOffset, arrowWidth, borderRadius, placement, strokeWidth, surfaceHeight, surfaceWidth }) {
57
+ const safeArrowHeight = Math.max(0, arrowHeight);
58
+ const requestedArrowWidth = Math.max(0, arrowWidth);
59
+ const safeStrokeWidth = Math.max(0, strokeWidth);
60
+ const safeSurfaceHeight = Math.max(0, surfaceHeight);
61
+ const safeSurfaceWidth = Math.max(0, surfaceWidth);
62
+ const verticalPlacement = isVerticalPlacement(placement);
63
+ const halfStroke = safeStrokeWidth / 2;
64
+ const radius = Math.min(Math.max(0, borderRadius), safeSurfaceWidth / 2, safeSurfaceHeight / 2);
65
+ const mainAxisSize = verticalPlacement ? safeSurfaceWidth : safeSurfaceHeight;
66
+ const availableArrowWidth = Math.max(0, mainAxisSize - radius * 2);
67
+ const resolvedArrowWidth = Math.min(requestedArrowWidth, availableArrowWidth);
68
+ const frameWidth = safeSurfaceWidth + (verticalPlacement ? 0 : safeArrowHeight);
69
+ const frameHeight = safeSurfaceHeight + (verticalPlacement ? safeArrowHeight : 0);
70
+ const surfaceOrigin = {
71
+ x: placement === "right" ? safeArrowHeight : 0,
72
+ y: placement === "bottom" ? safeArrowHeight : 0
73
+ };
74
+ const surface = {
75
+ left: surfaceOrigin.x + halfStroke,
76
+ top: surfaceOrigin.y + halfStroke,
77
+ right: surfaceOrigin.x + safeSurfaceWidth - halfStroke,
78
+ bottom: surfaceOrigin.y + safeSurfaceHeight - halfStroke
79
+ };
80
+ return {
81
+ arrowHeight: safeArrowHeight,
82
+ arrowOffset: clamp(arrowOffset, radius, mainAxisSize - radius - resolvedArrowWidth),
83
+ arrowWidth: resolvedArrowWidth,
84
+ frameStyle: getFrameStyle({
85
+ arrowHeight: safeArrowHeight,
86
+ frameHeight,
87
+ frameWidth,
88
+ placement
89
+ }),
90
+ halfStroke,
91
+ placement,
92
+ radius,
93
+ surface,
94
+ surfaceOrigin,
95
+ viewBox: `0 0 ${frameWidth} ${frameHeight}`
96
+ };
97
+ }
98
+ function getArrowGeometry(layout) {
99
+ const { arrowHeight, arrowOffset, arrowWidth, halfStroke, placement, surface, surfaceOrigin } = layout;
100
+ const verticalPlacement = isVerticalPlacement(placement);
101
+ const start = (verticalPlacement ? surfaceOrigin.x : surfaceOrigin.y) + arrowOffset;
102
+ const end = start + arrowWidth;
103
+ const center = start + arrowWidth / 2;
104
+ if (verticalPlacement) return {
105
+ center,
106
+ end,
107
+ offset: arrowOffset,
108
+ start,
109
+ tip: placement === "bottom" ? halfStroke : surface.bottom + arrowHeight - halfStroke,
110
+ width: arrowWidth
111
+ };
112
+ return {
113
+ center,
114
+ end,
115
+ offset: arrowOffset,
116
+ start,
117
+ tip: placement === "right" ? halfStroke : surface.right + arrowHeight - halfStroke,
118
+ width: arrowWidth
119
+ };
120
+ }
121
+ function getArrowTipCommands(placement, surface, arrow, rounding, direction) {
122
+ const toPoint = (main, cross) => isVerticalPlacement(placement) ? [main, cross] : [cross, main];
123
+ if (rounding.radius <= 0) return [lineTo(...toPoint(arrow.center, arrow.tip))];
124
+ const crossSign = Math.sign(surface[arrowBaseEdgeByPlacement[placement]] - arrow.tip);
125
+ const shoulderCross = arrow.tip + crossSign * rounding.crossAxisOffset;
126
+ return [lineTo(...toPoint(arrow.center - direction * rounding.mainAxisOffset, shoulderCross)), quadTo(...toPoint(arrow.center, arrow.tip), ...toPoint(arrow.center + direction * rounding.mainAxisOffset, shoulderCross))];
127
+ }
128
+ function getArrowFillPath(placement, surface, arrow, radius) {
129
+ const arrowTipCommands = getArrowTipCommands(placement, surface, arrow, getArrowTipRounding(placement, surface, arrow, radius), 1);
130
+ if (placement === "bottom") return path(moveTo(arrow.start, surface.top), ...arrowTipCommands, lineTo(arrow.end, surface.top), "Z");
131
+ if (placement === "top") return path(moveTo(arrow.start, surface.bottom), ...arrowTipCommands, lineTo(arrow.end, surface.bottom), "Z");
132
+ if (placement === "right") return path(moveTo(surface.left, arrow.start), ...arrowTipCommands, lineTo(surface.left, arrow.end), "Z");
133
+ return path(moveTo(surface.right, arrow.start), ...arrowTipCommands, lineTo(surface.right, arrow.end), "Z");
134
+ }
135
+ function getArrowTipRounding(placement, surface, arrow, radius) {
136
+ const halfArrowWidth = arrow.width / 2;
137
+ const arrowHeight = Math.abs(surface[arrowBaseEdgeByPlacement[placement]] - arrow.tip);
138
+ const arrowEdgeLength = Math.hypot(halfArrowWidth, arrowHeight);
139
+ if (radius <= 0 || arrowEdgeLength <= 0) return {
140
+ crossAxisOffset: 0,
141
+ mainAxisOffset: 0,
142
+ radius: 0
143
+ };
144
+ const tipRadius = Math.min(radius * ARROW_TIP_RADIUS_FRACTION, arrowEdgeLength / 2);
145
+ return {
146
+ crossAxisOffset: tipRadius * arrowHeight / arrowEdgeLength,
147
+ mainAxisOffset: tipRadius * halfArrowWidth / arrowEdgeLength,
148
+ radius: tipRadius
149
+ };
150
+ }
151
+ function getFrameShapePath(placement, surface, arrow, radius) {
152
+ const { bottom, left, right, top } = surface;
153
+ const rounding = getArrowTipRounding(placement, surface, arrow, radius);
154
+ const arrowTipCommands = (direction) => getArrowTipCommands(placement, surface, arrow, rounding, direction);
155
+ if (placement === "bottom") return path(moveTo(left + radius, top), lineTo(arrow.start, top), ...arrowTipCommands(1), lineTo(arrow.end, top), lineTo(right - radius, top), quadTo(right, top, right, top + radius), lineTo(right, bottom - radius), quadTo(right, bottom, right - radius, bottom), lineTo(left + radius, bottom), quadTo(left, bottom, left, bottom - radius), lineTo(left, top + radius), quadTo(left, top, left + radius, top), "Z");
156
+ if (placement === "top") return path(moveTo(left + radius, top), lineTo(right - radius, top), quadTo(right, top, right, top + radius), lineTo(right, bottom - radius), quadTo(right, bottom, right - radius, bottom), lineTo(arrow.end, bottom), ...arrowTipCommands(-1), lineTo(arrow.start, bottom), lineTo(left + radius, bottom), quadTo(left, bottom, left, bottom - radius), lineTo(left, top + radius), quadTo(left, top, left + radius, top), "Z");
157
+ if (placement === "right") return path(moveTo(left + radius, top), lineTo(right - radius, top), quadTo(right, top, right, top + radius), lineTo(right, bottom - radius), quadTo(right, bottom, right - radius, bottom), lineTo(left + radius, bottom), quadTo(left, bottom, left, bottom - radius), lineTo(left, arrow.end), ...arrowTipCommands(-1), lineTo(left, arrow.start), lineTo(left, top + radius), quadTo(left, top, left + radius, top), "Z");
158
+ return path(moveTo(left + radius, top), lineTo(right - radius, top), quadTo(right, top, right, top + radius), lineTo(right, arrow.start), ...arrowTipCommands(1), lineTo(right, arrow.end), lineTo(right, bottom - radius), quadTo(right, bottom, right - radius, bottom), lineTo(left + radius, bottom), quadTo(left, bottom, left, bottom - radius), lineTo(left, top + radius), quadTo(left, top, left + radius, top), "Z");
159
+ }
160
+ function getPopoverFrameGeometry(props) {
161
+ const layout = getFrameLayout(props);
162
+ const arrow = getArrowGeometry(layout);
163
+ const framePath = getFrameShapePath(layout.placement, layout.surface, arrow, layout.radius);
164
+ return {
165
+ arrow,
166
+ fillPath: getArrowFillPath(layout.placement, layout.surface, arrow, layout.radius),
167
+ frameStyle: layout.frameStyle,
168
+ radius: layout.radius,
169
+ strokePath: framePath,
170
+ surface: layout.surface,
171
+ viewBox: layout.viewBox
172
+ };
173
+ }
174
+ //#endregion
175
+ export { getPopoverFrameGeometry, resolvePopoverFramePlacement };
176
+
177
+ //# sourceMappingURL=popoverFrameGeometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popoverFrameGeometry.js","names":[],"sources":["../../../src/components/Popover/popoverFrameGeometry.ts"],"sourcesContent":["import type { AnchoredPlacement } from '../internal/Overlay';\n\n// PopoverFrame draws one SVG around both the rounded surface and its arrow. The geometry below\n// keeps that drawing model explicit: place the surface, place the arrow, then turn those named\n// points into SVG path commands.\nconst ARROW_TIP_RADIUS_FRACTION = 0.3;\n\ntype PopoverFramePhysicalPlacement = 'top' | 'bottom' | 'left' | 'right';\n\ninterface PopoverFrameGeometryProps {\n arrowHeight: number;\n arrowOffset: number;\n arrowWidth: number;\n borderRadius: number;\n placement: PopoverFramePhysicalPlacement;\n strokeWidth: number;\n surfaceHeight: number;\n surfaceWidth: number;\n}\n\ninterface PopoverFrameGeometry {\n arrow: ArrowGeometry;\n fillPath: string;\n frameStyle: FrameStyle;\n radius: number;\n strokePath: string;\n surface: SurfaceBounds;\n viewBox: string;\n}\n\ninterface ArrowGeometry {\n center: number;\n end: number;\n offset: number;\n start: number;\n tip: number;\n width: number;\n}\n\ninterface FrameStyle {\n height: number;\n left: number;\n top: number;\n width: number;\n}\n\ninterface SurfaceBounds {\n bottom: number;\n left: number;\n right: number;\n top: number;\n}\n\nconst arrowBaseEdgeByPlacement = {\n bottom: 'top',\n left: 'right',\n right: 'left',\n top: 'bottom',\n} satisfies Record<PopoverFramePhysicalPlacement, keyof SurfaceBounds>;\n\ninterface ArrowTipRounding {\n crossAxisOffset: number;\n mainAxisOffset: number;\n radius: number;\n}\n\ninterface FrameLayout {\n arrowHeight: number;\n arrowOffset: number;\n arrowWidth: number;\n frameStyle: FrameStyle;\n halfStroke: number;\n placement: PopoverFramePhysicalPlacement;\n radius: number;\n surface: SurfaceBounds;\n surfaceOrigin: {\n x: number;\n y: number;\n };\n viewBox: string;\n}\n\nfunction clamp(value: number, min: number, max: number) {\n if (max < min) {\n return min;\n }\n\n return Math.min(Math.max(value, min), max);\n}\n\nfunction resolvePopoverFramePlacement(\n placement: AnchoredPlacement,\n isRTL: boolean,\n): PopoverFramePhysicalPlacement {\n const [side] = placement.split('-') as ['top' | 'bottom' | 'start' | 'end'];\n\n if (side === 'top' || side === 'bottom') {\n return side;\n }\n\n if (side === 'start') {\n return isRTL ? 'right' : 'left';\n }\n\n return isRTL ? 'left' : 'right';\n}\n\nfunction formatNumber(value: number) {\n const rounded = Number(value.toFixed(3));\n\n return `${Object.is(rounded, -0) ? 0 : rounded}`;\n}\n\nfunction command(op: string, ...values: number[]) {\n return `${op} ${values.map(formatNumber).join(' ')}`;\n}\n\nconst moveTo = (x: number, y: number) => command('M', x, y);\n\nconst lineTo = (x: number, y: number) => command('L', x, y);\n\nconst quadTo = (controlX: number, controlY: number, x: number, y: number) =>\n command('Q', controlX, controlY, x, y);\n\nfunction path(...commands: string[]) {\n return commands.join(' ');\n}\n\nfunction isVerticalPlacement(placement: PopoverFramePhysicalPlacement) {\n return placement === 'top' || placement === 'bottom';\n}\n\nfunction getFrameStyle({\n arrowHeight,\n frameHeight,\n frameWidth,\n placement,\n}: {\n arrowHeight: number;\n frameHeight: number;\n frameWidth: number;\n placement: PopoverFramePhysicalPlacement;\n}): FrameStyle {\n if (placement === 'bottom') {\n return {\n left: 0,\n top: -arrowHeight,\n width: frameWidth,\n height: frameHeight,\n };\n }\n\n if (placement === 'right') {\n return {\n left: -arrowHeight,\n top: 0,\n width: frameWidth,\n height: frameHeight,\n };\n }\n\n return {\n left: 0,\n top: 0,\n width: frameWidth,\n height: frameHeight,\n };\n}\n\nfunction getFrameLayout({\n arrowHeight,\n arrowOffset,\n arrowWidth,\n borderRadius,\n placement,\n strokeWidth,\n surfaceHeight,\n surfaceWidth,\n}: PopoverFrameGeometryProps): FrameLayout {\n const safeArrowHeight = Math.max(0, arrowHeight);\n const requestedArrowWidth = Math.max(0, arrowWidth);\n const safeStrokeWidth = Math.max(0, strokeWidth);\n const safeSurfaceHeight = Math.max(0, surfaceHeight);\n const safeSurfaceWidth = Math.max(0, surfaceWidth);\n const verticalPlacement = isVerticalPlacement(placement);\n const halfStroke = safeStrokeWidth / 2;\n // SVG strokes are centered on the path, so the surface path is inset by half the stroke width.\n // This keeps thick borders inside the viewBox instead of clipping at the frame edges.\n const radius = Math.min(Math.max(0, borderRadius), safeSurfaceWidth / 2, safeSurfaceHeight / 2);\n const mainAxisSize = verticalPlacement ? safeSurfaceWidth : safeSurfaceHeight;\n const availableArrowWidth = Math.max(0, mainAxisSize - radius * 2);\n const resolvedArrowWidth = Math.min(requestedArrowWidth, availableArrowWidth);\n const frameWidth = safeSurfaceWidth + (verticalPlacement ? 0 : safeArrowHeight);\n const frameHeight = safeSurfaceHeight + (verticalPlacement ? safeArrowHeight : 0);\n const surfaceOrigin = {\n x: placement === 'right' ? safeArrowHeight : 0,\n y: placement === 'bottom' ? safeArrowHeight : 0,\n };\n const surface = {\n left: surfaceOrigin.x + halfStroke,\n top: surfaceOrigin.y + halfStroke,\n right: surfaceOrigin.x + safeSurfaceWidth - halfStroke,\n bottom: surfaceOrigin.y + safeSurfaceHeight - halfStroke,\n };\n const offset = clamp(arrowOffset, radius, mainAxisSize - radius - resolvedArrowWidth);\n\n return {\n arrowHeight: safeArrowHeight,\n arrowOffset: offset,\n arrowWidth: resolvedArrowWidth,\n frameStyle: getFrameStyle({\n arrowHeight: safeArrowHeight,\n frameHeight,\n frameWidth,\n placement,\n }),\n halfStroke,\n placement,\n radius,\n surface,\n surfaceOrigin,\n viewBox: `0 0 ${frameWidth} ${frameHeight}`,\n };\n}\n\nfunction getArrowGeometry(layout: FrameLayout): ArrowGeometry {\n const { arrowHeight, arrowOffset, arrowWidth, halfStroke, placement, surface, surfaceOrigin } =\n layout;\n const verticalPlacement = isVerticalPlacement(placement);\n const start = (verticalPlacement ? surfaceOrigin.x : surfaceOrigin.y) + arrowOffset;\n const end = start + arrowWidth;\n const center = start + arrowWidth / 2;\n\n if (verticalPlacement) {\n const tip = placement === 'bottom' ? halfStroke : surface.bottom + arrowHeight - halfStroke;\n\n return {\n center,\n end,\n offset: arrowOffset,\n start,\n tip,\n width: arrowWidth,\n };\n }\n\n const tip = placement === 'right' ? halfStroke : surface.right + arrowHeight - halfStroke;\n\n return {\n center,\n end,\n offset: arrowOffset,\n start,\n tip,\n width: arrowWidth,\n };\n}\n\nfunction getArrowTipCommands(\n placement: PopoverFramePhysicalPlacement,\n surface: SurfaceBounds,\n arrow: ArrowGeometry,\n rounding: ArrowTipRounding,\n direction: 1 | -1,\n) {\n const toPoint = (main: number, cross: number): [number, number] =>\n isVerticalPlacement(placement) ? [main, cross] : [cross, main];\n\n if (rounding.radius <= 0) {\n return [lineTo(...toPoint(arrow.center, arrow.tip))];\n }\n\n const crossSign = Math.sign(surface[arrowBaseEdgeByPlacement[placement]] - arrow.tip);\n const shoulderCross = arrow.tip + crossSign * rounding.crossAxisOffset;\n\n return [\n lineTo(...toPoint(arrow.center - direction * rounding.mainAxisOffset, shoulderCross)),\n quadTo(\n ...toPoint(arrow.center, arrow.tip),\n ...toPoint(arrow.center + direction * rounding.mainAxisOffset, shoulderCross),\n ),\n ];\n}\n\nfunction getArrowFillPath(\n placement: PopoverFramePhysicalPlacement,\n surface: SurfaceBounds,\n arrow: ArrowGeometry,\n radius: number,\n) {\n const rounding = getArrowTipRounding(placement, surface, arrow, radius);\n const arrowTipCommands = getArrowTipCommands(placement, surface, arrow, rounding, 1);\n\n if (placement === 'bottom') {\n return path(\n moveTo(arrow.start, surface.top),\n ...arrowTipCommands,\n lineTo(arrow.end, surface.top),\n 'Z',\n );\n }\n\n if (placement === 'top') {\n return path(\n moveTo(arrow.start, surface.bottom),\n ...arrowTipCommands,\n lineTo(arrow.end, surface.bottom),\n 'Z',\n );\n }\n\n if (placement === 'right') {\n return path(\n moveTo(surface.left, arrow.start),\n ...arrowTipCommands,\n lineTo(surface.left, arrow.end),\n 'Z',\n );\n }\n\n return path(\n moveTo(surface.right, arrow.start),\n ...arrowTipCommands,\n lineTo(surface.right, arrow.end),\n 'Z',\n );\n}\n\nfunction getArrowTipRounding(\n placement: PopoverFramePhysicalPlacement,\n surface: SurfaceBounds,\n arrow: ArrowGeometry,\n radius: number,\n): ArrowTipRounding {\n const halfArrowWidth = arrow.width / 2;\n const arrowHeight = Math.abs(surface[arrowBaseEdgeByPlacement[placement]] - arrow.tip);\n const arrowEdgeLength = Math.hypot(halfArrowWidth, arrowHeight);\n\n if (radius <= 0 || arrowEdgeLength <= 0) {\n return {\n crossAxisOffset: 0,\n mainAxisOffset: 0,\n radius: 0,\n };\n }\n\n const tipRadius = Math.min(radius * ARROW_TIP_RADIUS_FRACTION, arrowEdgeLength / 2);\n\n return {\n crossAxisOffset: (tipRadius * arrowHeight) / arrowEdgeLength,\n mainAxisOffset: (tipRadius * halfArrowWidth) / arrowEdgeLength,\n radius: tipRadius,\n };\n}\n\nfunction getFrameShapePath(\n placement: PopoverFramePhysicalPlacement,\n surface: SurfaceBounds,\n arrow: ArrowGeometry,\n radius: number,\n) {\n const { bottom, left, right, top } = surface;\n const rounding = getArrowTipRounding(placement, surface, arrow, radius);\n const arrowTipCommands = (direction: 1 | -1) =>\n getArrowTipCommands(placement, surface, arrow, rounding, direction);\n\n if (placement === 'bottom') {\n return path(\n moveTo(left + radius, top),\n lineTo(arrow.start, top),\n ...arrowTipCommands(1),\n lineTo(arrow.end, top),\n lineTo(right - radius, top),\n quadTo(right, top, right, top + radius),\n lineTo(right, bottom - radius),\n quadTo(right, bottom, right - radius, bottom),\n lineTo(left + radius, bottom),\n quadTo(left, bottom, left, bottom - radius),\n lineTo(left, top + radius),\n quadTo(left, top, left + radius, top),\n 'Z',\n );\n }\n\n if (placement === 'top') {\n return path(\n moveTo(left + radius, top),\n lineTo(right - radius, top),\n quadTo(right, top, right, top + radius),\n lineTo(right, bottom - radius),\n quadTo(right, bottom, right - radius, bottom),\n lineTo(arrow.end, bottom),\n ...arrowTipCommands(-1),\n lineTo(arrow.start, bottom),\n lineTo(left + radius, bottom),\n quadTo(left, bottom, left, bottom - radius),\n lineTo(left, top + radius),\n quadTo(left, top, left + radius, top),\n 'Z',\n );\n }\n\n if (placement === 'right') {\n return path(\n moveTo(left + radius, top),\n lineTo(right - radius, top),\n quadTo(right, top, right, top + radius),\n lineTo(right, bottom - radius),\n quadTo(right, bottom, right - radius, bottom),\n lineTo(left + radius, bottom),\n quadTo(left, bottom, left, bottom - radius),\n lineTo(left, arrow.end),\n ...arrowTipCommands(-1),\n lineTo(left, arrow.start),\n lineTo(left, top + radius),\n quadTo(left, top, left + radius, top),\n 'Z',\n );\n }\n\n return path(\n moveTo(left + radius, top),\n lineTo(right - radius, top),\n quadTo(right, top, right, top + radius),\n lineTo(right, arrow.start),\n ...arrowTipCommands(1),\n lineTo(right, arrow.end),\n lineTo(right, bottom - radius),\n quadTo(right, bottom, right - radius, bottom),\n lineTo(left + radius, bottom),\n quadTo(left, bottom, left, bottom - radius),\n lineTo(left, top + radius),\n quadTo(left, top, left + radius, top),\n 'Z',\n );\n}\n\nfunction getPopoverFrameGeometry(props: PopoverFrameGeometryProps): PopoverFrameGeometry {\n const layout = getFrameLayout(props);\n const arrow = getArrowGeometry(layout);\n const framePath = getFrameShapePath(layout.placement, layout.surface, arrow, layout.radius);\n\n return {\n arrow,\n fillPath: getArrowFillPath(layout.placement, layout.surface, arrow, layout.radius),\n frameStyle: layout.frameStyle,\n radius: layout.radius,\n strokePath: framePath,\n surface: layout.surface,\n viewBox: layout.viewBox,\n };\n}\n\nexport type { PopoverFrameGeometry, PopoverFramePhysicalPlacement };\nexport { getPopoverFrameGeometry, resolvePopoverFramePlacement };\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ //#region src/components/Popover/popoverLayer.ts
4
+ const listeners = /* @__PURE__ */ new Set();
5
+ function notifyPopoverOpened(id) {
6
+ listeners.forEach((listener) => listener(id));
7
+ }
8
+ function subscribeToPopoverLayer(listener) {
9
+ listeners.add(listener);
10
+ return () => {
11
+ listeners.delete(listener);
12
+ };
13
+ }
14
+ //#endregion
15
+ exports.notifyPopoverOpened = notifyPopoverOpened;
16
+ exports.subscribeToPopoverLayer = subscribeToPopoverLayer;
@@ -0,0 +1,8 @@
1
+
2
+ //#region src/components/Popover/popoverLayer.d.ts
3
+ type PopoverLayerListener = (id: string) => void;
4
+ declare function notifyPopoverOpened(id: string): void;
5
+ declare function subscribeToPopoverLayer(listener: PopoverLayerListener): () => void;
6
+ //#endregion
7
+ export { notifyPopoverOpened, subscribeToPopoverLayer };
8
+ //# sourceMappingURL=popoverLayer.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popoverLayer.d.cts","names":[],"sources":["../../../src/components/Popover/popoverLayer.ts"],"mappings":";;KAAK,oBAAA,IAAwB,EAAA;AAAA,iBAMpB,mBAAA,CAAoB,EAAA;AAAA,iBAIpB,uBAAA,CAAwB,QAAA,EAAU,oBAAA"}
@@ -0,0 +1,8 @@
1
+
2
+ //#region src/components/Popover/popoverLayer.d.ts
3
+ type PopoverLayerListener = (id: string) => void;
4
+ declare function notifyPopoverOpened(id: string): void;
5
+ declare function subscribeToPopoverLayer(listener: PopoverLayerListener): () => void;
6
+ //#endregion
7
+ export { notifyPopoverOpened, subscribeToPopoverLayer };
8
+ //# sourceMappingURL=popoverLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popoverLayer.d.ts","names":[],"sources":["../../../src/components/Popover/popoverLayer.ts"],"mappings":";;KAAK,oBAAA,IAAwB,EAAA;AAAA,iBAMpB,mBAAA,CAAoB,EAAA;AAAA,iBAIpB,uBAAA,CAAwB,QAAA,EAAU,oBAAA"}
@@ -0,0 +1,16 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ //#region src/components/Popover/popoverLayer.ts
3
+ const listeners = /* @__PURE__ */ new Set();
4
+ function notifyPopoverOpened(id) {
5
+ listeners.forEach((listener) => listener(id));
6
+ }
7
+ function subscribeToPopoverLayer(listener) {
8
+ listeners.add(listener);
9
+ return () => {
10
+ listeners.delete(listener);
11
+ };
12
+ }
13
+ //#endregion
14
+ export { notifyPopoverOpened, subscribeToPopoverLayer };
15
+
16
+ //# sourceMappingURL=popoverLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popoverLayer.js","names":[],"sources":["../../../src/components/Popover/popoverLayer.ts"],"sourcesContent":["type PopoverLayerListener = (id: string) => void;\n\nconst listeners = new Set<PopoverLayerListener>();\n\n// Popovers share one lightweight layer event so opening a new root popover closes any open\n// siblings. Nested popovers are intentionally not modeled by this component yet.\nfunction notifyPopoverOpened(id: string): void {\n listeners.forEach((listener) => listener(id));\n}\n\nfunction subscribeToPopoverLayer(listener: PopoverLayerListener): () => void {\n listeners.add(listener);\n\n return () => {\n listeners.delete(listener);\n };\n}\n\nexport { notifyPopoverOpened, subscribeToPopoverLayer };\n"],"mappings":";;AAEA,MAAM,4BAAY,IAAI,KAA2B;AAIjD,SAAS,oBAAoB,IAAkB;CAC7C,UAAU,SAAS,aAAa,SAAS,GAAG,CAAC;;AAG/C,SAAS,wBAAwB,UAA4C;CAC3E,UAAU,IAAI,SAAS;CAEvB,aAAa;EACX,UAAU,OAAO,SAAS"}
@@ -0,0 +1 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
@@ -0,0 +1,170 @@
1
+
2
+ import { TextProps as TextProps$1 } from "../Text.cjs";
3
+ import { AnchoredAlign, AnchoredPlacement, AnchoredRect, AnchoredWidth, OverlayInsets } from "../internal/Overlay/types.cjs";
4
+ import { ReactElement, ReactNode, RefObject } from "react";
5
+ import { GestureResponderEvent, LayoutChangeEvent, StyleProp, View, ViewProps, ViewStyle } from "react-native";
6
+
7
+ //#region src/components/Popover/types.d.ts
8
+ /**
9
+ * Props for {@link Popover}.
10
+ *
11
+ * Popover manages open state, trigger measurement, and anchored positioning for
12
+ * {@link PopoverTrigger} and {@link PopoverContent}.
13
+ */
14
+ interface PopoverProps {
15
+ /** The trigger and content elements that make up the popover. */
16
+ children: ReactNode;
17
+ /** Controlled open state. When provided, the popover is controlled by the caller. */
18
+ open?: boolean;
19
+ /**
20
+ * Initial open state for uncontrolled popovers.
21
+ * @defaultValue false
22
+ */
23
+ defaultOpen?: boolean;
24
+ /** Fires whenever the requested open state changes. */
25
+ onOpenChange?: (open: boolean) => void;
26
+ /** Fires after the popover opens. */
27
+ onOpen?: () => void;
28
+ /** Fires after the popover closes. */
29
+ onClose?: () => void;
30
+ /**
31
+ * Preferred placement relative to the trigger.
32
+ * @defaultValue 'bottom'
33
+ */
34
+ placement?: AnchoredPlacement;
35
+ /** Alignment along the cross axis of the selected placement. */
36
+ align?: AnchoredAlign;
37
+ /**
38
+ * Distance between the trigger and the popover surface.
39
+ * @defaultValue 9
40
+ */
41
+ offset?: number;
42
+ /**
43
+ * Additional cross-axis offset applied after alignment.
44
+ * @defaultValue 0
45
+ */
46
+ alignOffset?: number;
47
+ /**
48
+ * Whether the popover should clamp or flip to stay within the viewport.
49
+ * @defaultValue true
50
+ */
51
+ avoidCollisions?: boolean;
52
+ /**
53
+ * Minimum distance from viewport edges when collision handling is enabled.
54
+ * @defaultValue 12
55
+ */
56
+ collisionPadding?: number;
57
+ /**
58
+ * Width strategy for the floating surface.
59
+ * @defaultValue 'content'
60
+ */
61
+ width?: AnchoredWidth;
62
+ /**
63
+ * Whether the popover should match the measured trigger width.
64
+ * @defaultValue false
65
+ */
66
+ sameWidth?: boolean;
67
+ /**
68
+ * Whether to hide the popover arrow.
69
+ * @defaultValue false
70
+ */
71
+ hideArrow?: boolean;
72
+ /**
73
+ * Whether to hide the built-in dismiss button.
74
+ * @defaultValue false
75
+ */
76
+ hideDismissButton?: boolean;
77
+ /**
78
+ * Whether outside press and Android back should dismiss the popover.
79
+ * @defaultValue true
80
+ */
81
+ dismissible?: boolean;
82
+ /**
83
+ * Accessibility label for the built-in dismiss button.
84
+ * @defaultValue 'Close popover'
85
+ */
86
+ closeAccessibilityLabel?: string;
87
+ /**
88
+ * Disable motion and transition effects.
89
+ * @defaultValue false
90
+ */
91
+ reduceMotion?: boolean;
92
+ /** Optional viewport insets used by the anchored positioning engine. */
93
+ insets?: OverlayInsets;
94
+ /**
95
+ * Ref to a `BlurTarget` wrapping screen content.
96
+ * Required for Android blur; iOS blurs automatically.
97
+ */
98
+ blurTarget?: RefObject<View | null>;
99
+ }
100
+ /** Props injected into the element rendered by {@link PopoverTrigger}. */
101
+ interface PopoverTriggerRenderProps {
102
+ /** Ref used to measure the trigger in the window. */
103
+ ref?: React.Ref<View>;
104
+ /** Press handler that toggles the popover. */
105
+ onPress?: (event: GestureResponderEvent) => void;
106
+ /** Layout handler used as a measurement fallback. */
107
+ onLayout?: (event: LayoutChangeEvent) => void;
108
+ /** Accessibility state merged onto the trigger element. */
109
+ accessibilityState?: Record<string, unknown>;
110
+ }
111
+ /** Props for {@link PopoverTrigger}. */
112
+ interface PopoverTriggerProps {
113
+ /** Element to clone with measurement, accessibility, and press handlers. */
114
+ render: ReactElement<PopoverTriggerRenderProps>;
115
+ }
116
+ /** Props for {@link PopoverContent}. */
117
+ interface PopoverContentProps extends Omit<ViewProps, 'children'> {
118
+ /** Content rendered inside the popover surface. */
119
+ children?: ReactNode;
120
+ /** Maximum surface width in pixels. */
121
+ maxWidth?: number;
122
+ /** Maximum surface height in pixels. */
123
+ maxHeight?: number;
124
+ /** Additional style applied to the animated surface wrapper. */
125
+ style?: StyleProp<ViewStyle>;
126
+ }
127
+ /** Props injected into the element rendered by {@link PopoverDismiss}. */
128
+ interface PopoverDismissRenderProps {
129
+ /** Press handler that closes the popover. */
130
+ onPress?: (event: GestureResponderEvent) => void;
131
+ }
132
+ /** Props for {@link PopoverDismiss}. */
133
+ interface PopoverDismissProps {
134
+ /** Element to clone with an injected `onPress` that closes the popover. */
135
+ render: ReactElement<PopoverDismissRenderProps>;
136
+ }
137
+ /** Props for {@link PopoverTitle}. */
138
+ type PopoverTitleProps = TextProps$1;
139
+ /** Props for {@link PopoverDescription}. */
140
+ type PopoverDescriptionProps = TextProps$1;
141
+ /**
142
+ * @internal
143
+ * Shared context value for coordination between Popover compound components.
144
+ */
145
+ interface PopoverContextValue {
146
+ id: string;
147
+ open: boolean;
148
+ setOpen: (open: boolean) => void;
149
+ triggerRef: RefObject<View | null>;
150
+ triggerRect: AnchoredRect | null;
151
+ setTriggerRect: (rect: AnchoredRect) => void;
152
+ placement: AnchoredPlacement;
153
+ align?: AnchoredAlign;
154
+ offset: number;
155
+ alignOffset: number;
156
+ avoidCollisions: boolean;
157
+ collisionPadding: number;
158
+ width: AnchoredWidth;
159
+ sameWidth: boolean;
160
+ hideArrow: boolean;
161
+ hideDismissButton: boolean;
162
+ dismissible: boolean;
163
+ closeAccessibilityLabel: string;
164
+ reduceMotion: boolean;
165
+ insets?: OverlayInsets;
166
+ blurTarget?: RefObject<View | null>;
167
+ }
168
+ //#endregion
169
+ export { type PopoverContentProps, type PopoverContextValue, type PopoverDescriptionProps, type PopoverDismissProps, type PopoverProps, type PopoverTitleProps, type PopoverTriggerProps, type PopoverTriggerRenderProps };
170
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/components/Popover/types.ts"],"mappings":";;;;;;;;;;AAiByC;;;UAQ/B,YAAA;EAoBI;EAlBZ,QAAA,EAAU,SAAA;EA6CF;EA3CR,IAAA;EAgFuB;;;;EA3EvB,WAAA;EAPU;EASV,YAAA,IAAgB,IAAA;EAFhB;EAIA,MAAA;EAFgB;EAIhB,OAAA;EAAA;;;;EAKA,SAAA,GAAY,iBAAA;EAOZ;EALA,KAAA,GAAQ,aAAA;EAeR;;;;EAVA,MAAA;EA8BA;;;;EAzBA,WAAA;EA+CA;;;;EA1CA,eAAA;EA+C2B;;AAAA;;EA1C3B,gBAAA;EAgDgB;;;;EA3ChB,KAAA,GAAQ,aAAA;EAiDmB;;;;EA5C3B,SAAA;EAsCgB;;;;EAjChB,SAAA;EAqCmB;;;;EAhCnB,iBAAA;EAkC2B;AAAA;;;EA7B3B,WAAA;EAmCA;;;;EA9BA,uBAAA;EAkCQ;;;;EA7BR,YAAA;EAqCkB;EAnClB,MAAA,GAAS,aAAA;EA2B2B;;;;EAtBpC,UAAA,GAAa,SAAA,CAAU,IAAA;AAAA;;UAIf,yBAAA;EAwBR;EAtBA,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,IAAA;EAwBR;EAtBR,OAAA,IAAW,KAAA,EAAO,qBAAA;EAsBS;EApB3B,QAAA,IAAY,KAAA,EAAO,iBAAA;EAwBX;EAtBR,kBAAA,GAAqB,MAAA;AAAA;;UAIb,mBAAA;EAoBU;EAlBlB,MAAA,EAAQ,YAAA,CAAa,yBAAA;AAAA;;UAIb,mBAAA,SAA4B,IAAA,CAAK,SAAA;EAkBd;EAhB3B,QAAA,GAAW,SAAA;EAkBS;EAhBpB,QAAA;EAgBQ;EAdR,SAAA;EAc8C;EAZ9C,KAAA,GAAQ,SAAA,CAAU,SAAA;AAAA;;UAIV,yBAAA;EAYe;EAVvB,OAAA,IAAW,KAAA,EAAO,qBAAA;AAAA;;UAIV,mBAAA;EASqB;EAP7B,MAAA,EAAQ,YAAA,CAAa,yBAAA;AAAA;;KAIlB,iBAAA,GAAoB,WAAA;;KAGpB,uBAAA,GAA0B,WAAA;;;;;UAMrB,mBAAA;EACR,EAAA;EACA,IAAA;EACA,OAAA,GAAU,IAAA;EACV,UAAA,EAAY,SAAA,CAAU,IAAA;EACtB,WAAA,EAAa,YAAA;EACb,cAAA,GAAiB,IAAA,EAAM,YAAA;EACvB,SAAA,EAAW,iBAAA;EACX,KAAA,GAAQ,aAAA;EACR,MAAA;EACA,WAAA;EACA,eAAA;EACA,gBAAA;EACA,KAAA,EAAO,aAAA;EACP,SAAA;EACA,SAAA;EACA,iBAAA;EACA,WAAA;EACA,uBAAA;EACA,YAAA;EACA,MAAA,GAAS,aAAA;EACT,UAAA,GAAa,SAAA,CAAU,IAAA;AAAA"}
@@ -0,0 +1,170 @@
1
+
2
+ import { TextProps as TextProps$1 } from "../Text.js";
3
+ import { AnchoredAlign, AnchoredPlacement, AnchoredRect, AnchoredWidth, OverlayInsets } from "../internal/Overlay/types.js";
4
+ import { ReactElement, ReactNode, RefObject } from "react";
5
+ import { GestureResponderEvent, LayoutChangeEvent, StyleProp, View, ViewProps, ViewStyle } from "react-native";
6
+
7
+ //#region src/components/Popover/types.d.ts
8
+ /**
9
+ * Props for {@link Popover}.
10
+ *
11
+ * Popover manages open state, trigger measurement, and anchored positioning for
12
+ * {@link PopoverTrigger} and {@link PopoverContent}.
13
+ */
14
+ interface PopoverProps {
15
+ /** The trigger and content elements that make up the popover. */
16
+ children: ReactNode;
17
+ /** Controlled open state. When provided, the popover is controlled by the caller. */
18
+ open?: boolean;
19
+ /**
20
+ * Initial open state for uncontrolled popovers.
21
+ * @defaultValue false
22
+ */
23
+ defaultOpen?: boolean;
24
+ /** Fires whenever the requested open state changes. */
25
+ onOpenChange?: (open: boolean) => void;
26
+ /** Fires after the popover opens. */
27
+ onOpen?: () => void;
28
+ /** Fires after the popover closes. */
29
+ onClose?: () => void;
30
+ /**
31
+ * Preferred placement relative to the trigger.
32
+ * @defaultValue 'bottom'
33
+ */
34
+ placement?: AnchoredPlacement;
35
+ /** Alignment along the cross axis of the selected placement. */
36
+ align?: AnchoredAlign;
37
+ /**
38
+ * Distance between the trigger and the popover surface.
39
+ * @defaultValue 9
40
+ */
41
+ offset?: number;
42
+ /**
43
+ * Additional cross-axis offset applied after alignment.
44
+ * @defaultValue 0
45
+ */
46
+ alignOffset?: number;
47
+ /**
48
+ * Whether the popover should clamp or flip to stay within the viewport.
49
+ * @defaultValue true
50
+ */
51
+ avoidCollisions?: boolean;
52
+ /**
53
+ * Minimum distance from viewport edges when collision handling is enabled.
54
+ * @defaultValue 12
55
+ */
56
+ collisionPadding?: number;
57
+ /**
58
+ * Width strategy for the floating surface.
59
+ * @defaultValue 'content'
60
+ */
61
+ width?: AnchoredWidth;
62
+ /**
63
+ * Whether the popover should match the measured trigger width.
64
+ * @defaultValue false
65
+ */
66
+ sameWidth?: boolean;
67
+ /**
68
+ * Whether to hide the popover arrow.
69
+ * @defaultValue false
70
+ */
71
+ hideArrow?: boolean;
72
+ /**
73
+ * Whether to hide the built-in dismiss button.
74
+ * @defaultValue false
75
+ */
76
+ hideDismissButton?: boolean;
77
+ /**
78
+ * Whether outside press and Android back should dismiss the popover.
79
+ * @defaultValue true
80
+ */
81
+ dismissible?: boolean;
82
+ /**
83
+ * Accessibility label for the built-in dismiss button.
84
+ * @defaultValue 'Close popover'
85
+ */
86
+ closeAccessibilityLabel?: string;
87
+ /**
88
+ * Disable motion and transition effects.
89
+ * @defaultValue false
90
+ */
91
+ reduceMotion?: boolean;
92
+ /** Optional viewport insets used by the anchored positioning engine. */
93
+ insets?: OverlayInsets;
94
+ /**
95
+ * Ref to a `BlurTarget` wrapping screen content.
96
+ * Required for Android blur; iOS blurs automatically.
97
+ */
98
+ blurTarget?: RefObject<View | null>;
99
+ }
100
+ /** Props injected into the element rendered by {@link PopoverTrigger}. */
101
+ interface PopoverTriggerRenderProps {
102
+ /** Ref used to measure the trigger in the window. */
103
+ ref?: React.Ref<View>;
104
+ /** Press handler that toggles the popover. */
105
+ onPress?: (event: GestureResponderEvent) => void;
106
+ /** Layout handler used as a measurement fallback. */
107
+ onLayout?: (event: LayoutChangeEvent) => void;
108
+ /** Accessibility state merged onto the trigger element. */
109
+ accessibilityState?: Record<string, unknown>;
110
+ }
111
+ /** Props for {@link PopoverTrigger}. */
112
+ interface PopoverTriggerProps {
113
+ /** Element to clone with measurement, accessibility, and press handlers. */
114
+ render: ReactElement<PopoverTriggerRenderProps>;
115
+ }
116
+ /** Props for {@link PopoverContent}. */
117
+ interface PopoverContentProps extends Omit<ViewProps, 'children'> {
118
+ /** Content rendered inside the popover surface. */
119
+ children?: ReactNode;
120
+ /** Maximum surface width in pixels. */
121
+ maxWidth?: number;
122
+ /** Maximum surface height in pixels. */
123
+ maxHeight?: number;
124
+ /** Additional style applied to the animated surface wrapper. */
125
+ style?: StyleProp<ViewStyle>;
126
+ }
127
+ /** Props injected into the element rendered by {@link PopoverDismiss}. */
128
+ interface PopoverDismissRenderProps {
129
+ /** Press handler that closes the popover. */
130
+ onPress?: (event: GestureResponderEvent) => void;
131
+ }
132
+ /** Props for {@link PopoverDismiss}. */
133
+ interface PopoverDismissProps {
134
+ /** Element to clone with an injected `onPress` that closes the popover. */
135
+ render: ReactElement<PopoverDismissRenderProps>;
136
+ }
137
+ /** Props for {@link PopoverTitle}. */
138
+ type PopoverTitleProps = TextProps$1;
139
+ /** Props for {@link PopoverDescription}. */
140
+ type PopoverDescriptionProps = TextProps$1;
141
+ /**
142
+ * @internal
143
+ * Shared context value for coordination between Popover compound components.
144
+ */
145
+ interface PopoverContextValue {
146
+ id: string;
147
+ open: boolean;
148
+ setOpen: (open: boolean) => void;
149
+ triggerRef: RefObject<View | null>;
150
+ triggerRect: AnchoredRect | null;
151
+ setTriggerRect: (rect: AnchoredRect) => void;
152
+ placement: AnchoredPlacement;
153
+ align?: AnchoredAlign;
154
+ offset: number;
155
+ alignOffset: number;
156
+ avoidCollisions: boolean;
157
+ collisionPadding: number;
158
+ width: AnchoredWidth;
159
+ sameWidth: boolean;
160
+ hideArrow: boolean;
161
+ hideDismissButton: boolean;
162
+ dismissible: boolean;
163
+ closeAccessibilityLabel: string;
164
+ reduceMotion: boolean;
165
+ insets?: OverlayInsets;
166
+ blurTarget?: RefObject<View | null>;
167
+ }
168
+ //#endregion
169
+ export { type PopoverContentProps, type PopoverContextValue, type PopoverDescriptionProps, type PopoverDismissProps, type PopoverProps, type PopoverTitleProps, type PopoverTriggerProps, type PopoverTriggerRenderProps };
170
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/components/Popover/types.ts"],"mappings":";;;;;;;;;;AAiByC;;;UAQ/B,YAAA;EAoBI;EAlBZ,QAAA,EAAU,SAAA;EA6CF;EA3CR,IAAA;EAgFuB;;;;EA3EvB,WAAA;EAPU;EASV,YAAA,IAAgB,IAAA;EAFhB;EAIA,MAAA;EAFgB;EAIhB,OAAA;EAAA;;;;EAKA,SAAA,GAAY,iBAAA;EAOZ;EALA,KAAA,GAAQ,aAAA;EAeR;;;;EAVA,MAAA;EA8BA;;;;EAzBA,WAAA;EA+CA;;;;EA1CA,eAAA;EA+C2B;;AAAA;;EA1C3B,gBAAA;EAgDgB;;;;EA3ChB,KAAA,GAAQ,aAAA;EAiDmB;;;;EA5C3B,SAAA;EAsCgB;;;;EAjChB,SAAA;EAqCmB;;;;EAhCnB,iBAAA;EAkC2B;AAAA;;;EA7B3B,WAAA;EAmCA;;;;EA9BA,uBAAA;EAkCQ;;;;EA7BR,YAAA;EAqCkB;EAnClB,MAAA,GAAS,aAAA;EA2B2B;;;;EAtBpC,UAAA,GAAa,SAAA,CAAU,IAAA;AAAA;;UAIf,yBAAA;EAwBR;EAtBA,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,IAAA;EAwBR;EAtBR,OAAA,IAAW,KAAA,EAAO,qBAAA;EAsBS;EApB3B,QAAA,IAAY,KAAA,EAAO,iBAAA;EAwBX;EAtBR,kBAAA,GAAqB,MAAA;AAAA;;UAIb,mBAAA;EAoBU;EAlBlB,MAAA,EAAQ,YAAA,CAAa,yBAAA;AAAA;;UAIb,mBAAA,SAA4B,IAAA,CAAK,SAAA;EAkBd;EAhB3B,QAAA,GAAW,SAAA;EAkBS;EAhBpB,QAAA;EAgBQ;EAdR,SAAA;EAc8C;EAZ9C,KAAA,GAAQ,SAAA,CAAU,SAAA;AAAA;;UAIV,yBAAA;EAYe;EAVvB,OAAA,IAAW,KAAA,EAAO,qBAAA;AAAA;;UAIV,mBAAA;EASqB;EAP7B,MAAA,EAAQ,YAAA,CAAa,yBAAA;AAAA;;KAIlB,iBAAA,GAAoB,WAAA;;KAGpB,uBAAA,GAA0B,WAAA;;;;;UAMrB,mBAAA;EACR,EAAA;EACA,IAAA;EACA,OAAA,GAAU,IAAA;EACV,UAAA,EAAY,SAAA,CAAU,IAAA;EACtB,WAAA,EAAa,YAAA;EACb,cAAA,GAAiB,IAAA,EAAM,YAAA;EACvB,SAAA,EAAW,iBAAA;EACX,KAAA,GAAQ,aAAA;EACR,MAAA;EACA,WAAA;EACA,eAAA;EACA,gBAAA;EACA,KAAA,EAAO,aAAA;EACP,SAAA;EACA,SAAA;EACA,iBAAA;EACA,WAAA;EACA,uBAAA;EACA,YAAA;EACA,MAAA,GAAS,aAAA;EACT,UAAA,GAAa,SAAA,CAAU,IAAA;AAAA"}
@@ -0,0 +1 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
@@ -1,8 +1,8 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../_virtual/_rolldown/runtime.cjs");
4
- const require_components_Toast_utils = require("./utils.cjs");
5
4
  const require_components_internal_Overlay_OverlayPortal = require("../internal/Overlay/OverlayPortal.cjs");
5
+ const require_components_Toast_utils = require("./utils.cjs");
6
6
  const require_components_Toast_createToast = require("./createToast.cjs");
7
7
  const require_components_Toast_ToastViewport = require("./ToastViewport.cjs");
8
8
  const require_components_Toast_useToastController = require("./useToastController.cjs");
@@ -1,6 +1,6 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- import { DEFAULT_TOAST_AUTO_CLOSE, DEFAULT_TOAST_INSETS, DEFAULT_TOAST_PLACEMENT } from "./utils.js";
3
2
  import { OverlayPortal } from "../internal/Overlay/OverlayPortal.js";
3
+ import { DEFAULT_TOAST_AUTO_CLOSE, DEFAULT_TOAST_INSETS, DEFAULT_TOAST_PLACEMENT } from "./utils.js";
4
4
  import { setToastController } from "./createToast.js";
5
5
  import { ToastViewport } from "./ToastViewport.js";
6
6
  import { useToastController } from "./useToastController.js";