@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,88 @@
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
+ const require_components_Popover_PopoverContext = require("./PopoverContext.cjs");
5
+ let react = require("react");
6
+ //#region src/components/Popover/PopoverTrigger.tsx
7
+ function assignRef(ref, value) {
8
+ if (!ref) return;
9
+ if (typeof ref === "function") {
10
+ ref(value);
11
+ return;
12
+ }
13
+ ref.current = value;
14
+ }
15
+ function measureInRoot(measurable, onMeasure) {
16
+ if (!measurable?.measure) return false;
17
+ measurable.measure((x, y, width, height, pageX, pageY) => {
18
+ onMeasure({
19
+ x: typeof pageX === "number" ? pageX : x,
20
+ y: typeof pageY === "number" ? pageY : y,
21
+ width,
22
+ height
23
+ });
24
+ });
25
+ return true;
26
+ }
27
+ function measureInWindow(measurable, onMeasure) {
28
+ if (!measurable?.measureInWindow) return false;
29
+ measurable.measureInWindow((x, y, width, height) => {
30
+ onMeasure({
31
+ x,
32
+ y,
33
+ width,
34
+ height
35
+ });
36
+ });
37
+ return true;
38
+ }
39
+ function measureTrigger(node, fallbackRect, onMeasure) {
40
+ const measurable = node;
41
+ if (measureInRoot(measurable, onMeasure)) return;
42
+ if (measureInWindow(measurable, onMeasure)) return;
43
+ if (fallbackRect) onMeasure(fallbackRect);
44
+ }
45
+ /**
46
+ * Trigger element for {@link Popover}.
47
+ *
48
+ * Clones the rendered element with press, measurement, and accessibility props.
49
+ * The popover is anchored to this element when it opens.
50
+ */
51
+ const PopoverTrigger = (0, react.memo)(function PopoverTrigger({ render }) {
52
+ const context = require_components_Popover_PopoverContext.usePopoverContext();
53
+ const renderRef = render.ref ?? render.props.ref;
54
+ return (0, react.cloneElement)(render, {
55
+ ref: (0, react.useCallback)((node) => {
56
+ context.triggerRef.current = node;
57
+ assignRef(renderRef, node);
58
+ }, [context.triggerRef, renderRef]),
59
+ onLayout: (0, react.useCallback)((event) => {
60
+ render.props.onLayout?.(event);
61
+ const { x, y, width, height } = event.nativeEvent.layout;
62
+ context.setTriggerRect({
63
+ x,
64
+ y,
65
+ width,
66
+ height
67
+ });
68
+ }, [context, render.props]),
69
+ onPress: (0, react.useCallback)((event) => {
70
+ render.props.onPress?.(event);
71
+ if (context.open) {
72
+ context.setOpen(false);
73
+ return;
74
+ }
75
+ measureTrigger(context.triggerRef.current, context.triggerRect, (rect) => {
76
+ context.setTriggerRect(rect);
77
+ context.setOpen(true);
78
+ });
79
+ }, [context, render.props]),
80
+ accessibilityState: {
81
+ ...render.props.accessibilityState,
82
+ expanded: context.open
83
+ }
84
+ });
85
+ });
86
+ PopoverTrigger.displayName = "PopoverTrigger";
87
+ //#endregion
88
+ exports.PopoverTrigger = PopoverTrigger;
@@ -0,0 +1,15 @@
1
+
2
+ import { PopoverTriggerProps } from "./types.cjs";
3
+ import * as _$react from "react";
4
+
5
+ //#region src/components/Popover/PopoverTrigger.d.ts
6
+ /**
7
+ * Trigger element for {@link Popover}.
8
+ *
9
+ * Clones the rendered element with press, measurement, and accessibility props.
10
+ * The popover is anchored to this element when it opens.
11
+ */
12
+ declare const PopoverTrigger: _$react.NamedExoticComponent<PopoverTriggerProps>;
13
+ //#endregion
14
+ export { PopoverTrigger };
15
+ //# sourceMappingURL=PopoverTrigger.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverTrigger.d.cts","names":[],"sources":["../../../src/components/Popover/PopoverTrigger.tsx"],"mappings":";;;;;;;;AAMwE;;;cA0FlE,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,15 @@
1
+
2
+ import { PopoverTriggerProps } from "./types.js";
3
+ import * as _$react from "react";
4
+
5
+ //#region src/components/Popover/PopoverTrigger.d.ts
6
+ /**
7
+ * Trigger element for {@link Popover}.
8
+ *
9
+ * Clones the rendered element with press, measurement, and accessibility props.
10
+ * The popover is anchored to this element when it opens.
11
+ */
12
+ declare const PopoverTrigger: _$react.NamedExoticComponent<PopoverTriggerProps>;
13
+ //#endregion
14
+ export { PopoverTrigger };
15
+ //# sourceMappingURL=PopoverTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverTrigger.d.ts","names":[],"sources":["../../../src/components/Popover/PopoverTrigger.tsx"],"mappings":";;;;;;;;AAMwE;;;cA0FlE,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,88 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { usePopoverContext } from "./PopoverContext.js";
3
+ import { cloneElement, memo, useCallback } from "react";
4
+ //#region src/components/Popover/PopoverTrigger.tsx
5
+ function assignRef(ref, value) {
6
+ if (!ref) return;
7
+ if (typeof ref === "function") {
8
+ ref(value);
9
+ return;
10
+ }
11
+ ref.current = value;
12
+ }
13
+ function measureInRoot(measurable, onMeasure) {
14
+ if (!measurable?.measure) return false;
15
+ measurable.measure((x, y, width, height, pageX, pageY) => {
16
+ onMeasure({
17
+ x: typeof pageX === "number" ? pageX : x,
18
+ y: typeof pageY === "number" ? pageY : y,
19
+ width,
20
+ height
21
+ });
22
+ });
23
+ return true;
24
+ }
25
+ function measureInWindow(measurable, onMeasure) {
26
+ if (!measurable?.measureInWindow) return false;
27
+ measurable.measureInWindow((x, y, width, height) => {
28
+ onMeasure({
29
+ x,
30
+ y,
31
+ width,
32
+ height
33
+ });
34
+ });
35
+ return true;
36
+ }
37
+ function measureTrigger(node, fallbackRect, onMeasure) {
38
+ const measurable = node;
39
+ if (measureInRoot(measurable, onMeasure)) return;
40
+ if (measureInWindow(measurable, onMeasure)) return;
41
+ if (fallbackRect) onMeasure(fallbackRect);
42
+ }
43
+ /**
44
+ * Trigger element for {@link Popover}.
45
+ *
46
+ * Clones the rendered element with press, measurement, and accessibility props.
47
+ * The popover is anchored to this element when it opens.
48
+ */
49
+ const PopoverTrigger = memo(function PopoverTrigger({ render }) {
50
+ const context = usePopoverContext();
51
+ const renderRef = render.ref ?? render.props.ref;
52
+ return cloneElement(render, {
53
+ ref: useCallback((node) => {
54
+ context.triggerRef.current = node;
55
+ assignRef(renderRef, node);
56
+ }, [context.triggerRef, renderRef]),
57
+ onLayout: useCallback((event) => {
58
+ render.props.onLayout?.(event);
59
+ const { x, y, width, height } = event.nativeEvent.layout;
60
+ context.setTriggerRect({
61
+ x,
62
+ y,
63
+ width,
64
+ height
65
+ });
66
+ }, [context, render.props]),
67
+ onPress: useCallback((event) => {
68
+ render.props.onPress?.(event);
69
+ if (context.open) {
70
+ context.setOpen(false);
71
+ return;
72
+ }
73
+ measureTrigger(context.triggerRef.current, context.triggerRect, (rect) => {
74
+ context.setTriggerRect(rect);
75
+ context.setOpen(true);
76
+ });
77
+ }, [context, render.props]),
78
+ accessibilityState: {
79
+ ...render.props.accessibilityState,
80
+ expanded: context.open
81
+ }
82
+ });
83
+ });
84
+ PopoverTrigger.displayName = "PopoverTrigger";
85
+ //#endregion
86
+ export { PopoverTrigger };
87
+
88
+ //# sourceMappingURL=PopoverTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverTrigger.js","names":[],"sources":["../../../src/components/Popover/PopoverTrigger.tsx"],"sourcesContent":["/* eslint-disable react/prop-types -- render-prop child props are validated by TypeScript. */\nimport type { Ref } from 'react';\nimport { cloneElement, memo, useCallback } from 'react';\nimport type { GestureResponderEvent, LayoutChangeEvent, View } from 'react-native';\n\nimport { usePopoverContext } from './PopoverContext';\nimport type { PopoverContextValue, PopoverTriggerProps } from './types';\n\ntype MeasurableView = View & {\n measureInWindow?: (\n callback: (x: number, y: number, width: number, height: number) => void,\n ) => void;\n measure?: (\n callback: (\n x: number,\n y: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ) => void;\n};\n\nfunction assignRef(ref: Ref<View> | undefined, value: View | null): void {\n if (!ref) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n\n (ref as { current: View | null }).current = value;\n}\n\nfunction measureInRoot(\n measurable: MeasurableView | null,\n onMeasure: (rect: NonNullable<PopoverContextValue['triggerRect']>) => void,\n): boolean {\n if (!measurable?.measure) {\n return false;\n }\n\n measurable.measure((x, y, width, height, pageX, pageY) => {\n onMeasure({\n x: typeof pageX === 'number' ? pageX : x,\n y: typeof pageY === 'number' ? pageY : y,\n width,\n height,\n });\n });\n return true;\n}\n\nfunction measureInWindow(\n measurable: MeasurableView | null,\n onMeasure: (rect: NonNullable<PopoverContextValue['triggerRect']>) => void,\n): boolean {\n if (!measurable?.measureInWindow) {\n return false;\n }\n\n measurable.measureInWindow((x, y, width, height) => {\n onMeasure({ x, y, width, height });\n });\n return true;\n}\n\nfunction measureTrigger(\n node: View | null,\n fallbackRect: PopoverContextValue['triggerRect'],\n onMeasure: (rect: NonNullable<PopoverContextValue['triggerRect']>) => void,\n): void {\n const measurable = node as MeasurableView | null;\n\n if (measureInRoot(measurable, onMeasure)) {\n return;\n }\n\n if (measureInWindow(measurable, onMeasure)) {\n return;\n }\n\n if (fallbackRect) {\n onMeasure(fallbackRect);\n }\n}\n\n/**\n * Trigger element for {@link Popover}.\n *\n * Clones the rendered element with press, measurement, and accessibility props.\n * The popover is anchored to this element when it opens.\n */\nconst PopoverTrigger = memo(function PopoverTrigger({ render }: PopoverTriggerProps) {\n const context = usePopoverContext();\n const renderRef = (render as typeof render & { ref?: Ref<View> }).ref ?? render.props.ref;\n\n const handleRef = useCallback(\n (node: View | null) => {\n context.triggerRef.current = node;\n assignRef(renderRef, node);\n },\n [context.triggerRef, renderRef],\n );\n\n const handleLayout = useCallback(\n (event: LayoutChangeEvent) => {\n render.props.onLayout?.(event);\n\n const { x, y, width, height } = event.nativeEvent.layout;\n context.setTriggerRect({ x, y, width, height });\n },\n [context, render.props],\n );\n\n const handlePress = useCallback(\n (event: GestureResponderEvent) => {\n render.props.onPress?.(event);\n\n if (context.open) {\n context.setOpen(false);\n return;\n }\n\n measureTrigger(context.triggerRef.current, context.triggerRect, (rect) => {\n context.setTriggerRect(rect);\n context.setOpen(true);\n });\n },\n [context, render.props],\n );\n\n return cloneElement(render, {\n ref: handleRef,\n onLayout: handleLayout,\n onPress: handlePress,\n accessibilityState: {\n ...render.props.accessibilityState,\n expanded: context.open,\n },\n });\n});\n\nPopoverTrigger.displayName = 'PopoverTrigger';\n\nexport { PopoverTrigger };\n"],"mappings":";;;;AAwBA,SAAS,UAAU,KAA4B,OAA0B;CACvE,IAAI,CAAC,KACH;CAGF,IAAI,OAAO,QAAQ,YAAY;EAC7B,IAAI,MAAM;EACV;;CAGF,IAAkC,UAAU;;AAG9C,SAAS,cACP,YACA,WACS;CACT,IAAI,CAAC,YAAY,SACf,OAAO;CAGT,WAAW,SAAS,GAAG,GAAG,OAAO,QAAQ,OAAO,UAAU;EACxD,UAAU;GACR,GAAG,OAAO,UAAU,WAAW,QAAQ;GACvC,GAAG,OAAO,UAAU,WAAW,QAAQ;GACvC;GACA;GACD,CAAC;GACF;CACF,OAAO;;AAGT,SAAS,gBACP,YACA,WACS;CACT,IAAI,CAAC,YAAY,iBACf,OAAO;CAGT,WAAW,iBAAiB,GAAG,GAAG,OAAO,WAAW;EAClD,UAAU;GAAE;GAAG;GAAG;GAAO;GAAQ,CAAC;GAClC;CACF,OAAO;;AAGT,SAAS,eACP,MACA,cACA,WACM;CACN,MAAM,aAAa;CAEnB,IAAI,cAAc,YAAY,UAAU,EACtC;CAGF,IAAI,gBAAgB,YAAY,UAAU,EACxC;CAGF,IAAI,cACF,UAAU,aAAa;;;;;;;;AAU3B,MAAM,iBAAiB,KAAK,SAAS,eAAe,EAAE,UAA+B;CACnF,MAAM,UAAU,mBAAmB;CACnC,MAAM,YAAa,OAA+C,OAAO,OAAO,MAAM;CAqCtF,OAAO,aAAa,QAAQ;EAC1B,KApCgB,aACf,SAAsB;GACrB,QAAQ,WAAW,UAAU;GAC7B,UAAU,WAAW,KAAK;KAE5B,CAAC,QAAQ,YAAY,UAAU,CA+BjB;EACd,UA7BmB,aAClB,UAA6B;GAC5B,OAAO,MAAM,WAAW,MAAM;GAE9B,MAAM,EAAE,GAAG,GAAG,OAAO,WAAW,MAAM,YAAY;GAClD,QAAQ,eAAe;IAAE;IAAG;IAAG;IAAO;IAAQ,CAAC;KAEjD,CAAC,SAAS,OAAO,MAAM,CAsBD;EACtB,SApBkB,aACjB,UAAiC;GAChC,OAAO,MAAM,UAAU,MAAM;GAE7B,IAAI,QAAQ,MAAM;IAChB,QAAQ,QAAQ,MAAM;IACtB;;GAGF,eAAe,QAAQ,WAAW,SAAS,QAAQ,cAAc,SAAS;IACxE,QAAQ,eAAe,KAAK;IAC5B,QAAQ,QAAQ,KAAK;KACrB;KAEJ,CAAC,SAAS,OAAO,MAAM,CAMH;EACpB,oBAAoB;GAClB,GAAG,OAAO,MAAM;GAChB,UAAU,QAAQ;GACnB;EACF,CAAC;EACF;AAEF,eAAe,cAAc"}
@@ -0,0 +1,14 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_components_Popover_Popover = require("./Popover.cjs");
4
+ const require_components_Popover_PopoverContent = require("./PopoverContent.cjs");
5
+ const require_components_Popover_PopoverDescription = require("./PopoverDescription.cjs");
6
+ const require_components_Popover_PopoverDismiss = require("./PopoverDismiss.cjs");
7
+ const require_components_Popover_PopoverTitle = require("./PopoverTitle.cjs");
8
+ const require_components_Popover_PopoverTrigger = require("./PopoverTrigger.cjs");
9
+ exports.Popover = require_components_Popover_Popover.Popover;
10
+ exports.PopoverContent = require_components_Popover_PopoverContent.PopoverContent;
11
+ exports.PopoverDescription = require_components_Popover_PopoverDescription.PopoverDescription;
12
+ exports.PopoverDismiss = require_components_Popover_PopoverDismiss.PopoverDismiss;
13
+ exports.PopoverTitle = require_components_Popover_PopoverTitle.PopoverTitle;
14
+ exports.PopoverTrigger = require_components_Popover_PopoverTrigger.PopoverTrigger;
@@ -0,0 +1,9 @@
1
+
2
+ import { PopoverContentProps, PopoverDescriptionProps, PopoverDismissProps, PopoverProps, PopoverTitleProps, PopoverTriggerProps } from "./types.cjs";
3
+ import { Popover } from "./Popover.cjs";
4
+ import { PopoverContent } from "./PopoverContent.cjs";
5
+ import { PopoverDescription } from "./PopoverDescription.cjs";
6
+ import { PopoverDismiss } from "./PopoverDismiss.cjs";
7
+ import { PopoverTitle } from "./PopoverTitle.cjs";
8
+ import { PopoverTrigger } from "./PopoverTrigger.cjs";
9
+ export { Popover, PopoverContent, type PopoverContentProps, PopoverDescription, type PopoverDescriptionProps, PopoverDismiss, type PopoverDismissProps, type PopoverProps, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps };
@@ -0,0 +1,9 @@
1
+
2
+ import { PopoverContentProps, PopoverDescriptionProps, PopoverDismissProps, PopoverProps, PopoverTitleProps, PopoverTriggerProps } from "./types.js";
3
+ import { Popover } from "./Popover.js";
4
+ import { PopoverContent } from "./PopoverContent.js";
5
+ import { PopoverDescription } from "./PopoverDescription.js";
6
+ import { PopoverDismiss } from "./PopoverDismiss.js";
7
+ import { PopoverTitle } from "./PopoverTitle.js";
8
+ import { PopoverTrigger } from "./PopoverTrigger.js";
9
+ export { Popover, PopoverContent, type PopoverContentProps, PopoverDescription, type PopoverDescriptionProps, PopoverDismiss, type PopoverDismissProps, type PopoverProps, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps };
@@ -0,0 +1,8 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { Popover } from "./Popover.js";
3
+ import { PopoverContent } from "./PopoverContent.js";
4
+ import { PopoverDescription } from "./PopoverDescription.js";
5
+ import { PopoverDismiss } from "./PopoverDismiss.js";
6
+ import { PopoverTitle } from "./PopoverTitle.js";
7
+ import { PopoverTrigger } from "./PopoverTrigger.js";
8
+ export { Popover, PopoverContent, PopoverDescription, PopoverDismiss, PopoverTitle, PopoverTrigger };
@@ -0,0 +1,177 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ //#region src/components/Popover/popoverFrameGeometry.ts
4
+ const ARROW_TIP_RADIUS_FRACTION = .3;
5
+ const arrowBaseEdgeByPlacement = {
6
+ bottom: "top",
7
+ left: "right",
8
+ right: "left",
9
+ top: "bottom"
10
+ };
11
+ function clamp(value, min, max) {
12
+ if (max < min) return min;
13
+ return Math.min(Math.max(value, min), max);
14
+ }
15
+ function resolvePopoverFramePlacement(placement, isRTL) {
16
+ const [side] = placement.split("-");
17
+ if (side === "top" || side === "bottom") return side;
18
+ if (side === "start") return isRTL ? "right" : "left";
19
+ return isRTL ? "left" : "right";
20
+ }
21
+ function formatNumber(value) {
22
+ const rounded = Number(value.toFixed(3));
23
+ return `${Object.is(rounded, -0) ? 0 : rounded}`;
24
+ }
25
+ function command(op, ...values) {
26
+ return `${op} ${values.map(formatNumber).join(" ")}`;
27
+ }
28
+ const moveTo = (x, y) => command("M", x, y);
29
+ const lineTo = (x, y) => command("L", x, y);
30
+ const quadTo = (controlX, controlY, x, y) => command("Q", controlX, controlY, x, y);
31
+ function path(...commands) {
32
+ return commands.join(" ");
33
+ }
34
+ function isVerticalPlacement(placement) {
35
+ return placement === "top" || placement === "bottom";
36
+ }
37
+ function getFrameStyle({ arrowHeight, frameHeight, frameWidth, placement }) {
38
+ if (placement === "bottom") return {
39
+ left: 0,
40
+ top: -arrowHeight,
41
+ width: frameWidth,
42
+ height: frameHeight
43
+ };
44
+ if (placement === "right") return {
45
+ left: -arrowHeight,
46
+ top: 0,
47
+ width: frameWidth,
48
+ height: frameHeight
49
+ };
50
+ return {
51
+ left: 0,
52
+ top: 0,
53
+ width: frameWidth,
54
+ height: frameHeight
55
+ };
56
+ }
57
+ function getFrameLayout({ arrowHeight, arrowOffset, arrowWidth, borderRadius, placement, strokeWidth, surfaceHeight, surfaceWidth }) {
58
+ const safeArrowHeight = Math.max(0, arrowHeight);
59
+ const requestedArrowWidth = Math.max(0, arrowWidth);
60
+ const safeStrokeWidth = Math.max(0, strokeWidth);
61
+ const safeSurfaceHeight = Math.max(0, surfaceHeight);
62
+ const safeSurfaceWidth = Math.max(0, surfaceWidth);
63
+ const verticalPlacement = isVerticalPlacement(placement);
64
+ const halfStroke = safeStrokeWidth / 2;
65
+ const radius = Math.min(Math.max(0, borderRadius), safeSurfaceWidth / 2, safeSurfaceHeight / 2);
66
+ const mainAxisSize = verticalPlacement ? safeSurfaceWidth : safeSurfaceHeight;
67
+ const availableArrowWidth = Math.max(0, mainAxisSize - radius * 2);
68
+ const resolvedArrowWidth = Math.min(requestedArrowWidth, availableArrowWidth);
69
+ const frameWidth = safeSurfaceWidth + (verticalPlacement ? 0 : safeArrowHeight);
70
+ const frameHeight = safeSurfaceHeight + (verticalPlacement ? safeArrowHeight : 0);
71
+ const surfaceOrigin = {
72
+ x: placement === "right" ? safeArrowHeight : 0,
73
+ y: placement === "bottom" ? safeArrowHeight : 0
74
+ };
75
+ const surface = {
76
+ left: surfaceOrigin.x + halfStroke,
77
+ top: surfaceOrigin.y + halfStroke,
78
+ right: surfaceOrigin.x + safeSurfaceWidth - halfStroke,
79
+ bottom: surfaceOrigin.y + safeSurfaceHeight - halfStroke
80
+ };
81
+ return {
82
+ arrowHeight: safeArrowHeight,
83
+ arrowOffset: clamp(arrowOffset, radius, mainAxisSize - radius - resolvedArrowWidth),
84
+ arrowWidth: resolvedArrowWidth,
85
+ frameStyle: getFrameStyle({
86
+ arrowHeight: safeArrowHeight,
87
+ frameHeight,
88
+ frameWidth,
89
+ placement
90
+ }),
91
+ halfStroke,
92
+ placement,
93
+ radius,
94
+ surface,
95
+ surfaceOrigin,
96
+ viewBox: `0 0 ${frameWidth} ${frameHeight}`
97
+ };
98
+ }
99
+ function getArrowGeometry(layout) {
100
+ const { arrowHeight, arrowOffset, arrowWidth, halfStroke, placement, surface, surfaceOrigin } = layout;
101
+ const verticalPlacement = isVerticalPlacement(placement);
102
+ const start = (verticalPlacement ? surfaceOrigin.x : surfaceOrigin.y) + arrowOffset;
103
+ const end = start + arrowWidth;
104
+ const center = start + arrowWidth / 2;
105
+ if (verticalPlacement) return {
106
+ center,
107
+ end,
108
+ offset: arrowOffset,
109
+ start,
110
+ tip: placement === "bottom" ? halfStroke : surface.bottom + arrowHeight - halfStroke,
111
+ width: arrowWidth
112
+ };
113
+ return {
114
+ center,
115
+ end,
116
+ offset: arrowOffset,
117
+ start,
118
+ tip: placement === "right" ? halfStroke : surface.right + arrowHeight - halfStroke,
119
+ width: arrowWidth
120
+ };
121
+ }
122
+ function getArrowTipCommands(placement, surface, arrow, rounding, direction) {
123
+ const toPoint = (main, cross) => isVerticalPlacement(placement) ? [main, cross] : [cross, main];
124
+ if (rounding.radius <= 0) return [lineTo(...toPoint(arrow.center, arrow.tip))];
125
+ const crossSign = Math.sign(surface[arrowBaseEdgeByPlacement[placement]] - arrow.tip);
126
+ const shoulderCross = arrow.tip + crossSign * rounding.crossAxisOffset;
127
+ return [lineTo(...toPoint(arrow.center - direction * rounding.mainAxisOffset, shoulderCross)), quadTo(...toPoint(arrow.center, arrow.tip), ...toPoint(arrow.center + direction * rounding.mainAxisOffset, shoulderCross))];
128
+ }
129
+ function getArrowFillPath(placement, surface, arrow, radius) {
130
+ const arrowTipCommands = getArrowTipCommands(placement, surface, arrow, getArrowTipRounding(placement, surface, arrow, radius), 1);
131
+ if (placement === "bottom") return path(moveTo(arrow.start, surface.top), ...arrowTipCommands, lineTo(arrow.end, surface.top), "Z");
132
+ if (placement === "top") return path(moveTo(arrow.start, surface.bottom), ...arrowTipCommands, lineTo(arrow.end, surface.bottom), "Z");
133
+ if (placement === "right") return path(moveTo(surface.left, arrow.start), ...arrowTipCommands, lineTo(surface.left, arrow.end), "Z");
134
+ return path(moveTo(surface.right, arrow.start), ...arrowTipCommands, lineTo(surface.right, arrow.end), "Z");
135
+ }
136
+ function getArrowTipRounding(placement, surface, arrow, radius) {
137
+ const halfArrowWidth = arrow.width / 2;
138
+ const arrowHeight = Math.abs(surface[arrowBaseEdgeByPlacement[placement]] - arrow.tip);
139
+ const arrowEdgeLength = Math.hypot(halfArrowWidth, arrowHeight);
140
+ if (radius <= 0 || arrowEdgeLength <= 0) return {
141
+ crossAxisOffset: 0,
142
+ mainAxisOffset: 0,
143
+ radius: 0
144
+ };
145
+ const tipRadius = Math.min(radius * ARROW_TIP_RADIUS_FRACTION, arrowEdgeLength / 2);
146
+ return {
147
+ crossAxisOffset: tipRadius * arrowHeight / arrowEdgeLength,
148
+ mainAxisOffset: tipRadius * halfArrowWidth / arrowEdgeLength,
149
+ radius: tipRadius
150
+ };
151
+ }
152
+ function getFrameShapePath(placement, surface, arrow, radius) {
153
+ const { bottom, left, right, top } = surface;
154
+ const rounding = getArrowTipRounding(placement, surface, arrow, radius);
155
+ const arrowTipCommands = (direction) => getArrowTipCommands(placement, surface, arrow, rounding, direction);
156
+ 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");
157
+ 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");
158
+ 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");
159
+ 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");
160
+ }
161
+ function getPopoverFrameGeometry(props) {
162
+ const layout = getFrameLayout(props);
163
+ const arrow = getArrowGeometry(layout);
164
+ const framePath = getFrameShapePath(layout.placement, layout.surface, arrow, layout.radius);
165
+ return {
166
+ arrow,
167
+ fillPath: getArrowFillPath(layout.placement, layout.surface, arrow, layout.radius),
168
+ frameStyle: layout.frameStyle,
169
+ radius: layout.radius,
170
+ strokePath: framePath,
171
+ surface: layout.surface,
172
+ viewBox: layout.viewBox
173
+ };
174
+ }
175
+ //#endregion
176
+ exports.getPopoverFrameGeometry = getPopoverFrameGeometry;
177
+ exports.resolvePopoverFramePlacement = resolvePopoverFramePlacement;
@@ -0,0 +1,48 @@
1
+
2
+ import { AnchoredPlacement } from "../internal/Overlay/types.cjs";
3
+ //#region src/components/Popover/popoverFrameGeometry.d.ts
4
+ type PopoverFramePhysicalPlacement = 'top' | 'bottom' | 'left' | 'right';
5
+ interface PopoverFrameGeometryProps {
6
+ arrowHeight: number;
7
+ arrowOffset: number;
8
+ arrowWidth: number;
9
+ borderRadius: number;
10
+ placement: PopoverFramePhysicalPlacement;
11
+ strokeWidth: number;
12
+ surfaceHeight: number;
13
+ surfaceWidth: number;
14
+ }
15
+ interface PopoverFrameGeometry {
16
+ arrow: ArrowGeometry;
17
+ fillPath: string;
18
+ frameStyle: FrameStyle;
19
+ radius: number;
20
+ strokePath: string;
21
+ surface: SurfaceBounds;
22
+ viewBox: string;
23
+ }
24
+ interface ArrowGeometry {
25
+ center: number;
26
+ end: number;
27
+ offset: number;
28
+ start: number;
29
+ tip: number;
30
+ width: number;
31
+ }
32
+ interface FrameStyle {
33
+ height: number;
34
+ left: number;
35
+ top: number;
36
+ width: number;
37
+ }
38
+ interface SurfaceBounds {
39
+ bottom: number;
40
+ left: number;
41
+ right: number;
42
+ top: number;
43
+ }
44
+ declare function resolvePopoverFramePlacement(placement: AnchoredPlacement, isRTL: boolean): PopoverFramePhysicalPlacement;
45
+ declare function getPopoverFrameGeometry(props: PopoverFrameGeometryProps): PopoverFrameGeometry;
46
+ //#endregion
47
+ export { type PopoverFrameGeometry, type PopoverFramePhysicalPlacement, getPopoverFrameGeometry, resolvePopoverFramePlacement };
48
+ //# sourceMappingURL=popoverFrameGeometry.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popoverFrameGeometry.d.cts","names":[],"sources":["../../../src/components/Popover/popoverFrameGeometry.ts"],"mappings":";;;KAOK,6BAAA;AAAA,UAEK,yBAAA;EACR,WAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA;EACA,SAAA,EAAW,6BAAA;EACX,WAAA;EACA,aAAA;EACA,YAAA;AAAA;AAAA,UAGQ,oBAAA;EACR,KAAA,EAAO,aAAA;EACP,QAAA;EACA,UAAA,EAAY,UAAA;EACZ,MAAA;EACA,UAAA;EACA,OAAA,EAAS,aAAA;EACT,OAAA;AAAA;AAAA,UAGQ,aAAA;EACR,MAAA;EACA,GAAA;EACA,MAAA;EACA,KAAA;EACA,GAAA;EACA,KAAA;AAAA;AAAA,UAGQ,UAAA;EACR,MAAA;EACA,IAAA;EACA,GAAA;EACA,KAAA;AAAA;AAAA,UAGQ,aAAA;EACR,MAAA;EACA,IAAA;EACA,KAAA;EACA,GAAA;AAAA;AAAA,iBAwCO,4BAAA,CACP,SAAA,EAAW,iBAAA,EACX,KAAA,YACC,6BAAA;AAAA,iBAwVM,uBAAA,CAAwB,KAAA,EAAO,yBAAA,GAA4B,oBAAA"}
@@ -0,0 +1,48 @@
1
+
2
+ import { AnchoredPlacement } from "../internal/Overlay/types.js";
3
+ //#region src/components/Popover/popoverFrameGeometry.d.ts
4
+ type PopoverFramePhysicalPlacement = 'top' | 'bottom' | 'left' | 'right';
5
+ interface PopoverFrameGeometryProps {
6
+ arrowHeight: number;
7
+ arrowOffset: number;
8
+ arrowWidth: number;
9
+ borderRadius: number;
10
+ placement: PopoverFramePhysicalPlacement;
11
+ strokeWidth: number;
12
+ surfaceHeight: number;
13
+ surfaceWidth: number;
14
+ }
15
+ interface PopoverFrameGeometry {
16
+ arrow: ArrowGeometry;
17
+ fillPath: string;
18
+ frameStyle: FrameStyle;
19
+ radius: number;
20
+ strokePath: string;
21
+ surface: SurfaceBounds;
22
+ viewBox: string;
23
+ }
24
+ interface ArrowGeometry {
25
+ center: number;
26
+ end: number;
27
+ offset: number;
28
+ start: number;
29
+ tip: number;
30
+ width: number;
31
+ }
32
+ interface FrameStyle {
33
+ height: number;
34
+ left: number;
35
+ top: number;
36
+ width: number;
37
+ }
38
+ interface SurfaceBounds {
39
+ bottom: number;
40
+ left: number;
41
+ right: number;
42
+ top: number;
43
+ }
44
+ declare function resolvePopoverFramePlacement(placement: AnchoredPlacement, isRTL: boolean): PopoverFramePhysicalPlacement;
45
+ declare function getPopoverFrameGeometry(props: PopoverFrameGeometryProps): PopoverFrameGeometry;
46
+ //#endregion
47
+ export { type PopoverFrameGeometry, type PopoverFramePhysicalPlacement, getPopoverFrameGeometry, resolvePopoverFramePlacement };
48
+ //# sourceMappingURL=popoverFrameGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popoverFrameGeometry.d.ts","names":[],"sources":["../../../src/components/Popover/popoverFrameGeometry.ts"],"mappings":";;;KAOK,6BAAA;AAAA,UAEK,yBAAA;EACR,WAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA;EACA,SAAA,EAAW,6BAAA;EACX,WAAA;EACA,aAAA;EACA,YAAA;AAAA;AAAA,UAGQ,oBAAA;EACR,KAAA,EAAO,aAAA;EACP,QAAA;EACA,UAAA,EAAY,UAAA;EACZ,MAAA;EACA,UAAA;EACA,OAAA,EAAS,aAAA;EACT,OAAA;AAAA;AAAA,UAGQ,aAAA;EACR,MAAA;EACA,GAAA;EACA,MAAA;EACA,KAAA;EACA,GAAA;EACA,KAAA;AAAA;AAAA,UAGQ,UAAA;EACR,MAAA;EACA,IAAA;EACA,GAAA;EACA,KAAA;AAAA;AAAA,UAGQ,aAAA;EACR,MAAA;EACA,IAAA;EACA,KAAA;EACA,GAAA;AAAA;AAAA,iBAwCO,4BAAA,CACP,SAAA,EAAW,iBAAA,EACX,KAAA,YACC,6BAAA;AAAA,iBAwVM,uBAAA,CAAwB,KAAA,EAAO,yBAAA,GAA4B,oBAAA"}