@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,48 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { DEFAULT_TOAST_INSETS } from "./utils.js";
3
+ import { ToastAnimatedItem } from "./ToastAnimatedItem.js";
4
+ import { StyleSheet, View } from "react-native";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/components/Toast/ToastViewport.tsx
7
+ /**
8
+ * Internal viewport for one toast placement.
9
+ *
10
+ * @description
11
+ * ToastViewport applies safe-area and configured viewport insets, positions the
12
+ * stack for top-center or bottom-center placement, and renders each visible
13
+ * toast record.
14
+ *
15
+ * @internal
16
+ */
17
+ function ToastViewport({ insets, placement, style, toasts, hide, reduceMotion, safeAreaInsets }) {
18
+ if (toasts.length === 0) return null;
19
+ const isTop = placement === "top-center";
20
+ const horizontalInset = insets?.horizontal ?? DEFAULT_TOAST_INSETS.horizontal;
21
+ const viewportInset = isTop ? { top: safeAreaInsets.top + (insets?.top ?? DEFAULT_TOAST_INSETS.top) } : { bottom: safeAreaInsets.bottom + (insets?.bottom ?? DEFAULT_TOAST_INSETS.bottom) };
22
+ return /* @__PURE__ */ jsx(View, {
23
+ pointerEvents: "box-none",
24
+ style: [
25
+ styles.viewport,
26
+ viewportInset,
27
+ {
28
+ left: safeAreaInsets.left + horizontalInset,
29
+ right: safeAreaInsets.right + horizontalInset
30
+ },
31
+ style
32
+ ],
33
+ children: toasts.map((toast) => /* @__PURE__ */ jsx(ToastAnimatedItem, {
34
+ toast,
35
+ hide,
36
+ reduceMotion
37
+ }, toast.id))
38
+ });
39
+ }
40
+ const styles = StyleSheet.create({ viewport: {
41
+ alignItems: "center",
42
+ gap: 8,
43
+ position: "absolute"
44
+ } });
45
+ //#endregion
46
+ export { ToastViewport };
47
+
48
+ //# sourceMappingURL=ToastViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastViewport.js","names":[],"sources":["../../../src/components/Toast/ToastViewport.tsx"],"sourcesContent":["import { StyleSheet, View } from 'react-native';\n\nimport { ToastAnimatedItem } from './ToastAnimatedItem';\nimport type { ToastController, ToastPlacement, ToastProviderProps, ToastRecord } from './types';\nimport { DEFAULT_TOAST_INSETS } from './utils';\n\ninterface ToastSafeAreaInsets {\n top: number;\n bottom: number;\n left: number;\n right: number;\n}\n\ninterface ToastViewportProps {\n insets?: ToastProviderProps['insets'];\n placement: ToastPlacement;\n style?: ToastProviderProps['viewportStyle'];\n toasts: ToastRecord[];\n hide: ToastController['hide'];\n reduceMotion: boolean;\n safeAreaInsets: ToastSafeAreaInsets;\n}\n\n/**\n * Internal viewport for one toast placement.\n *\n * @description\n * ToastViewport applies safe-area and configured viewport insets, positions the\n * stack for top-center or bottom-center placement, and renders each visible\n * toast record.\n *\n * @internal\n */\nfunction ToastViewport({\n insets,\n placement,\n style,\n toasts,\n hide,\n reduceMotion,\n safeAreaInsets,\n}: ToastViewportProps) {\n if (toasts.length === 0) {\n return null;\n }\n\n const isTop = placement === 'top-center';\n const horizontalInset = insets?.horizontal ?? DEFAULT_TOAST_INSETS.horizontal;\n const viewportInset = isTop\n ? { top: safeAreaInsets.top + (insets?.top ?? DEFAULT_TOAST_INSETS.top) }\n : { bottom: safeAreaInsets.bottom + (insets?.bottom ?? DEFAULT_TOAST_INSETS.bottom) };\n\n return (\n <View\n pointerEvents=\"box-none\"\n style={[\n styles.viewport,\n viewportInset,\n {\n left: safeAreaInsets.left + horizontalInset,\n right: safeAreaInsets.right + horizontalInset,\n },\n style,\n ]}\n >\n {toasts.map((toast) => (\n <ToastAnimatedItem key={toast.id} toast={toast} hide={hide} reduceMotion={reduceMotion} />\n ))}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n viewport: {\n alignItems: 'center',\n gap: 8,\n position: 'absolute',\n },\n});\n\nexport { ToastViewport };\n"],"mappings":";;;;;;;;;;;;;;;;AAiCA,SAAS,cAAc,EACrB,QACA,WACA,OACA,QACA,MACA,cACA,kBACqB;CACrB,IAAI,OAAO,WAAW,GACpB,OAAO;CAGT,MAAM,QAAQ,cAAc;CAC5B,MAAM,kBAAkB,QAAQ,cAAc,qBAAqB;CACnE,MAAM,gBAAgB,QAClB,EAAE,KAAK,eAAe,OAAO,QAAQ,OAAO,qBAAqB,MAAM,GACvE,EAAE,QAAQ,eAAe,UAAU,QAAQ,UAAU,qBAAqB,SAAS;CAEvF,OACE,oBAAC,MAAD;EACE,eAAc;EACd,OAAO;GACL,OAAO;GACP;GACA;IACE,MAAM,eAAe,OAAO;IAC5B,OAAO,eAAe,QAAQ;IAC/B;GACD;GACD;YAEA,OAAO,KAAK,UACX,oBAAC,mBAAD;GAAyC;GAAa;GAAoB;GAAgB,EAAlE,MAAM,GAA4D,CAC1F;EACG,CAAA;;AAIX,MAAM,SAAS,WAAW,OAAO,EAC/B,UAAU;CACR,YAAY;CACZ,KAAK;CACL,UAAU;CACX,EACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ //#region src/components/Toast/createToast.ts
4
+ let activeToastController = null;
5
+ function setToastController(controller) {
6
+ activeToastController = controller;
7
+ return () => {
8
+ if (activeToastController === controller) activeToastController = null;
9
+ };
10
+ }
11
+ function createToast(input) {
12
+ if (!activeToastController) throw new Error("createToast must be called after a ToastProvider has been mounted.");
13
+ return activeToastController.show(input);
14
+ }
15
+ function clearWaitingQueue() {
16
+ activeToastController?.clearWaitingQueue();
17
+ }
18
+ //#endregion
19
+ exports.clearWaitingQueue = clearWaitingQueue;
20
+ exports.createToast = createToast;
21
+ exports.setToastController = setToastController;
@@ -0,0 +1,10 @@
1
+
2
+ import { ToastController, ToastHandle, ToastShowInput } from "./types.cjs";
3
+
4
+ //#region src/components/Toast/createToast.d.ts
5
+ declare function setToastController(controller: ToastController): () => void;
6
+ declare function createToast(input: ToastShowInput): ToastHandle;
7
+ declare function clearWaitingQueue(): void;
8
+ //#endregion
9
+ export { clearWaitingQueue, createToast, setToastController };
10
+ //# sourceMappingURL=createToast.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createToast.d.cts","names":[],"sources":["../../../src/components/Toast/createToast.ts"],"mappings":";;;;iBAIS,kBAAA,CAAmB,UAAA,EAAY,eAAA;AAAA,iBAU/B,WAAA,CAAY,KAAA,EAAO,cAAA,GAAiB,WAAA;AAAA,iBAQpC,iBAAA,CAAA"}
@@ -0,0 +1,10 @@
1
+
2
+ import { ToastController, ToastHandle, ToastShowInput } from "./types.js";
3
+
4
+ //#region src/components/Toast/createToast.d.ts
5
+ declare function setToastController(controller: ToastController): () => void;
6
+ declare function createToast(input: ToastShowInput): ToastHandle;
7
+ declare function clearWaitingQueue(): void;
8
+ //#endregion
9
+ export { clearWaitingQueue, createToast, setToastController };
10
+ //# sourceMappingURL=createToast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createToast.d.ts","names":[],"sources":["../../../src/components/Toast/createToast.ts"],"mappings":";;;;iBAIS,kBAAA,CAAmB,UAAA,EAAY,eAAA;AAAA,iBAU/B,WAAA,CAAY,KAAA,EAAO,cAAA,GAAiB,WAAA;AAAA,iBAQpC,iBAAA,CAAA"}
@@ -0,0 +1,20 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ //#region src/components/Toast/createToast.ts
3
+ let activeToastController = null;
4
+ function setToastController(controller) {
5
+ activeToastController = controller;
6
+ return () => {
7
+ if (activeToastController === controller) activeToastController = null;
8
+ };
9
+ }
10
+ function createToast(input) {
11
+ if (!activeToastController) throw new Error("createToast must be called after a ToastProvider has been mounted.");
12
+ return activeToastController.show(input);
13
+ }
14
+ function clearWaitingQueue() {
15
+ activeToastController?.clearWaitingQueue();
16
+ }
17
+ //#endregion
18
+ export { clearWaitingQueue, createToast, setToastController };
19
+
20
+ //# sourceMappingURL=createToast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createToast.js","names":[],"sources":["../../../src/components/Toast/createToast.ts"],"sourcesContent":["import type { ToastController, ToastHandle, ToastShowInput } from './types';\n\nlet activeToastController: ToastController | null = null;\n\nfunction setToastController(controller: ToastController): () => void {\n activeToastController = controller;\n\n return () => {\n if (activeToastController === controller) {\n activeToastController = null;\n }\n };\n}\n\nfunction createToast(input: ToastShowInput): ToastHandle {\n if (!activeToastController) {\n throw new Error('createToast must be called after a ToastProvider has been mounted.');\n }\n\n return activeToastController.show(input);\n}\n\nfunction clearWaitingQueue(): void {\n activeToastController?.clearWaitingQueue();\n}\n\nexport { clearWaitingQueue, createToast, setToastController };\n"],"mappings":";;AAEA,IAAI,wBAAgD;AAEpD,SAAS,mBAAmB,YAAyC;CACnE,wBAAwB;CAExB,aAAa;EACX,IAAI,0BAA0B,YAC5B,wBAAwB;;;AAK9B,SAAS,YAAY,OAAoC;CACvD,IAAI,CAAC,uBACH,MAAM,IAAI,MAAM,qEAAqE;CAGvF,OAAO,sBAAsB,KAAK,MAAM;;AAG1C,SAAS,oBAA0B;CACjC,uBAAuB,mBAAmB"}
@@ -0,0 +1,10 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_components_Toast_Toast = require("./Toast.cjs");
4
+ const require_components_Toast_createToast = require("./createToast.cjs");
5
+ const require_components_Toast_ToastProvider = require("./ToastProvider.cjs");
6
+ exports.Toast = require_components_Toast_Toast.Toast;
7
+ exports.ToastProvider = require_components_Toast_ToastProvider.ToastProvider;
8
+ exports.clearWaitingQueue = require_components_Toast_createToast.clearWaitingQueue;
9
+ exports.createToast = require_components_Toast_createToast.createToast;
10
+ exports.useToast = require_components_Toast_ToastProvider.useToast;
@@ -0,0 +1,6 @@
1
+
2
+ import { ToastAutoClose, ToastController, ToastHandle, ToastInsets, ToastPlacement, ToastProps, ToastProviderProps, ToastShowInput, ToastShowOptions } from "./types.cjs";
3
+ import { Toast } from "./Toast.cjs";
4
+ import { ToastProvider, useToast } from "./ToastProvider.cjs";
5
+ import { clearWaitingQueue, createToast } from "./createToast.cjs";
6
+ export { Toast, type ToastAutoClose, type ToastController, type ToastHandle, type ToastInsets, type ToastPlacement, type ToastProps, ToastProvider, type ToastProviderProps, type ToastShowInput, type ToastShowOptions, clearWaitingQueue, createToast, useToast };
@@ -0,0 +1,6 @@
1
+
2
+ import { ToastAutoClose, ToastController, ToastHandle, ToastInsets, ToastPlacement, ToastProps, ToastProviderProps, ToastShowInput, ToastShowOptions } from "./types.js";
3
+ import { Toast } from "./Toast.js";
4
+ import { ToastProvider, useToast } from "./ToastProvider.js";
5
+ import { clearWaitingQueue, createToast } from "./createToast.js";
6
+ export { Toast, type ToastAutoClose, type ToastController, type ToastHandle, type ToastInsets, type ToastPlacement, type ToastProps, ToastProvider, type ToastProviderProps, type ToastShowInput, type ToastShowOptions, clearWaitingQueue, createToast, useToast };
@@ -0,0 +1,5 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { Toast } from "./Toast.js";
3
+ import { clearWaitingQueue, createToast } from "./createToast.js";
4
+ import { ToastProvider, useToast } from "./ToastProvider.js";
5
+ export { Toast, ToastProvider, clearWaitingQueue, createToast, useToast };
@@ -0,0 +1 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
@@ -0,0 +1,113 @@
1
+
2
+ import { ToastPosition, ToastSize, ToastVariant } from "../../types/dist/index.cjs";
3
+ import { IconSlotType } from "../IconSlot.cjs";
4
+ import { ReactNode, Ref } from "react";
5
+ import { StyleProp, View, ViewProps, ViewStyle } from "react-native";
6
+
7
+ //#region src/components/Toast/types.d.ts
8
+ type ToastPlacement = Extract<ToastPosition, 'top-center' | 'bottom-center'>;
9
+ type ToastAutoClose = number | false;
10
+ interface ToastInsets {
11
+ top?: number;
12
+ bottom?: number;
13
+ horizontal?: number;
14
+ }
15
+ interface ToastProps extends Omit<ViewProps, 'children'> {
16
+ /** Toast id, passed back to close callbacks. */
17
+ id?: string;
18
+ /** The visual size of the toast. */
19
+ size?: ToastSize;
20
+ /** The visual style variant. */
21
+ variant?: ToastVariant;
22
+ /** Message content. */
23
+ message?: ReactNode;
24
+ /** Custom content. Prefer `message` for standard toasts. */
25
+ children?: ReactNode;
26
+ /** Optional action button label/content. */
27
+ actionButton?: ReactNode;
28
+ /** Mobile-native action callback. */
29
+ onActionPress?: () => void;
30
+ /** Web parity alias for action callbacks. */
31
+ onClickActionButton?: () => void;
32
+ /** Mobile-native close callback. */
33
+ onClose?: (id?: string) => void;
34
+ /** Web parity alias for close callbacks. */
35
+ onClickCloseButton?: (id?: string) => void;
36
+ /** Icon displayed before the message. Use `false` to hide. */
37
+ startIcon?: IconSlotType | false;
38
+ /** Close icon. Use `false` to hide. */
39
+ closeIcon?: IconSlotType | false;
40
+ /** Whether the toast can be manually dismissed with close affordances or swipe. Defaults to `false` when `closeIcon` is `false`. */
41
+ dismissible?: boolean;
42
+ /** Accessible label for the close button. */
43
+ closeAccessibilityLabel?: string;
44
+ /** Ref to the underlying View. */
45
+ ref?: Ref<View>;
46
+ }
47
+ interface ToastRecord extends Omit<ToastProps, 'style' | 'ref'> {
48
+ id: string;
49
+ placement: ToastPlacement;
50
+ autoClose: ToastAutoClose;
51
+ createdAt: number;
52
+ closeOnAction: boolean;
53
+ isExiting: boolean;
54
+ onShow?: () => void;
55
+ onHide?: () => void;
56
+ }
57
+ type ToastShowOptions = Omit<ToastRecord, 'id' | 'placement' | 'autoClose' | 'createdAt' | 'closeOnAction' | 'isExiting' | 'onShow' | 'onHide'> & {
58
+ id?: string;
59
+ placement?: ToastPlacement;
60
+ autoClose?: ToastAutoClose;
61
+ closeOnAction?: boolean;
62
+ onShow?: () => void;
63
+ onHide?: () => void;
64
+ };
65
+ type ToastShowInput = ReactNode | ToastShowOptions;
66
+ interface ToastHandle {
67
+ id: string;
68
+ update: (options: Partial<ToastShowOptions>) => ToastHandle;
69
+ close: () => void;
70
+ }
71
+ interface ToastController {
72
+ show: (input: ToastShowInput) => ToastHandle;
73
+ update: (id: string, options: Partial<ToastShowOptions>) => ToastHandle;
74
+ hide: (id?: string | 'all') => void;
75
+ hideAll: () => void;
76
+ clearWaitingQueue: () => void;
77
+ }
78
+ interface ToastProviderProps {
79
+ children: ReactNode;
80
+ /** Default placement for new toasts. @default 'bottom-center' */
81
+ placement?: ToastPlacement;
82
+ /** Default auto-dismiss duration. Use `false` to disable. @default 6000 */
83
+ autoClose?: ToastAutoClose;
84
+ /** Maximum visible toasts. @default 3 */
85
+ limit?: number;
86
+ /** Extra viewport offsets added on top of device safe-area insets. */
87
+ insets?: ToastInsets;
88
+ /** Optional style for the toast viewport. */
89
+ viewportStyle?: StyleProp<ViewStyle>;
90
+ /** Render through iOS FullWindowOverlay. @default true */
91
+ useFullWindowOverlay?: boolean;
92
+ /** Disable motion and transition effects for toasts. */
93
+ reduceMotion?: boolean;
94
+ }
95
+ type ToastAction = {
96
+ type: 'upsert';
97
+ toast: ToastRecord;
98
+ } | {
99
+ type: 'update';
100
+ id: string;
101
+ toast: Partial<ToastRecord>;
102
+ } | {
103
+ type: 'remove';
104
+ id: string;
105
+ } | {
106
+ type: 'set';
107
+ toasts: ToastRecord[];
108
+ } | {
109
+ type: 'removeAll';
110
+ };
111
+ //#endregion
112
+ export { type ToastAction, type ToastAutoClose, type ToastController, type ToastHandle, type ToastInsets, type ToastPlacement, type ToastProps, type ToastProviderProps, type ToastRecord, type ToastShowInput, type ToastShowOptions };
113
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/components/Toast/types.ts"],"mappings":";;;;;;;KAMK,cAAA,GAAiB,OAAA,CAAQ,aAAA;AAAA,KACzB,cAAA;AAAA,UAEK,WAAA;EACR,GAAA;EACA,MAAA;EACA,UAAA;AAAA;AAAA,UAGQ,UAAA,SAAmB,IAAA,CAAK,SAAA;EARf;EAUjB,EAAA;EAViB;EAYjB,IAAA,GAAO,SAAA;EAVC;EAYR,OAAA,GAAU,YAAA;;EAEV,OAAA,GAAU,SAAA;EAbV;EAeA,QAAA,GAAW,SAAA;EAbX;EAeA,YAAA,GAAe,SAAA;EAfL;EAiBV,aAAA;EAdmB;EAgBnB,mBAAA;EAhBgC;EAkBhC,OAAA,IAAW,EAAA;EAZD;EAcV,kBAAA,IAAsB,EAAA;EAVX;EAYX,SAAA,GAAY,YAAA;EAAA;EAEZ,SAAA,GAAY,YAAA;EAMF;EAJV,WAAA;EA1B2B;EA4B3B,uBAAA;EA5B+B;EA8B/B,GAAA,GAAM,GAAA,CAAI,IAAA;AAAA;AAAA,UAGF,WAAA,SAAoB,IAAA,CAAK,UAAA;EACjC,EAAA;EACA,SAAA,EAAW,cAAA;EACX,SAAA,EAAW,cAAA;EACX,SAAA;EACA,aAAA;EACA,SAAA;EACA,MAAA;EACA,MAAA;AAAA;AAAA,KAGG,gBAAA,GAAmB,IAAA,CACtB,WAAA;EAUA,EAAA;EACA,SAAA,GAAY,cAAA;EACZ,SAAA,GAAY,cAAA;EACZ,aAAA;EACA,MAAA;EACA,MAAA;AAAA;AAAA,KAGG,cAAA,GAAiB,SAAA,GAAY,gBAAA;AAAA,UAExB,WAAA;EACR,EAAA;EACA,MAAA,GAAS,OAAA,EAAS,OAAA,CAAQ,gBAAA,MAAsB,WAAA;EAChD,KAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA,GAAO,KAAA,EAAO,cAAA,KAAmB,WAAA;EACjC,MAAA,GAAS,EAAA,UAAY,OAAA,EAAS,OAAA,CAAQ,gBAAA,MAAsB,WAAA;EAC5D,IAAA,GAAO,EAAA;EACP,OAAA;EACA,iBAAA;AAAA;AAAA,UAGQ,kBAAA;EACR,QAAA,EAAU,SAAA;EA5CC;EA8CX,SAAA,GAAY,cAAA;EAjDoB;EAmDhC,SAAA,GAAY,cAAA;EAnDgB;EAqD5B,KAAA;EApDA;EAsDA,MAAA,GAAS,WAAA;EArDE;EAuDX,aAAA,GAAgB,SAAA,CAAU,SAAA;EAtDf;EAwDX,oBAAA;EAtDA;EAwDA,YAAA;AAAA;AAAA,KAGG,WAAA;EACC,IAAA;EAAgB,KAAA,EAAO,WAAA;AAAA;EACvB,IAAA;EAAgB,EAAA;EAAY,KAAA,EAAO,OAAA,CAAQ,WAAA;AAAA;EAC3C,IAAA;EAAgB,EAAA;AAAA;EAChB,IAAA;EAAa,MAAA,EAAQ,WAAA;AAAA;EACrB,IAAA;AAAA"}
@@ -0,0 +1,113 @@
1
+
2
+ import { ToastPosition, ToastSize, ToastVariant } from "../../types/dist/index.js";
3
+ import { IconSlotType } from "../IconSlot.js";
4
+ import { ReactNode, Ref } from "react";
5
+ import { StyleProp, View, ViewProps, ViewStyle } from "react-native";
6
+
7
+ //#region src/components/Toast/types.d.ts
8
+ type ToastPlacement = Extract<ToastPosition, 'top-center' | 'bottom-center'>;
9
+ type ToastAutoClose = number | false;
10
+ interface ToastInsets {
11
+ top?: number;
12
+ bottom?: number;
13
+ horizontal?: number;
14
+ }
15
+ interface ToastProps extends Omit<ViewProps, 'children'> {
16
+ /** Toast id, passed back to close callbacks. */
17
+ id?: string;
18
+ /** The visual size of the toast. */
19
+ size?: ToastSize;
20
+ /** The visual style variant. */
21
+ variant?: ToastVariant;
22
+ /** Message content. */
23
+ message?: ReactNode;
24
+ /** Custom content. Prefer `message` for standard toasts. */
25
+ children?: ReactNode;
26
+ /** Optional action button label/content. */
27
+ actionButton?: ReactNode;
28
+ /** Mobile-native action callback. */
29
+ onActionPress?: () => void;
30
+ /** Web parity alias for action callbacks. */
31
+ onClickActionButton?: () => void;
32
+ /** Mobile-native close callback. */
33
+ onClose?: (id?: string) => void;
34
+ /** Web parity alias for close callbacks. */
35
+ onClickCloseButton?: (id?: string) => void;
36
+ /** Icon displayed before the message. Use `false` to hide. */
37
+ startIcon?: IconSlotType | false;
38
+ /** Close icon. Use `false` to hide. */
39
+ closeIcon?: IconSlotType | false;
40
+ /** Whether the toast can be manually dismissed with close affordances or swipe. Defaults to `false` when `closeIcon` is `false`. */
41
+ dismissible?: boolean;
42
+ /** Accessible label for the close button. */
43
+ closeAccessibilityLabel?: string;
44
+ /** Ref to the underlying View. */
45
+ ref?: Ref<View>;
46
+ }
47
+ interface ToastRecord extends Omit<ToastProps, 'style' | 'ref'> {
48
+ id: string;
49
+ placement: ToastPlacement;
50
+ autoClose: ToastAutoClose;
51
+ createdAt: number;
52
+ closeOnAction: boolean;
53
+ isExiting: boolean;
54
+ onShow?: () => void;
55
+ onHide?: () => void;
56
+ }
57
+ type ToastShowOptions = Omit<ToastRecord, 'id' | 'placement' | 'autoClose' | 'createdAt' | 'closeOnAction' | 'isExiting' | 'onShow' | 'onHide'> & {
58
+ id?: string;
59
+ placement?: ToastPlacement;
60
+ autoClose?: ToastAutoClose;
61
+ closeOnAction?: boolean;
62
+ onShow?: () => void;
63
+ onHide?: () => void;
64
+ };
65
+ type ToastShowInput = ReactNode | ToastShowOptions;
66
+ interface ToastHandle {
67
+ id: string;
68
+ update: (options: Partial<ToastShowOptions>) => ToastHandle;
69
+ close: () => void;
70
+ }
71
+ interface ToastController {
72
+ show: (input: ToastShowInput) => ToastHandle;
73
+ update: (id: string, options: Partial<ToastShowOptions>) => ToastHandle;
74
+ hide: (id?: string | 'all') => void;
75
+ hideAll: () => void;
76
+ clearWaitingQueue: () => void;
77
+ }
78
+ interface ToastProviderProps {
79
+ children: ReactNode;
80
+ /** Default placement for new toasts. @default 'bottom-center' */
81
+ placement?: ToastPlacement;
82
+ /** Default auto-dismiss duration. Use `false` to disable. @default 6000 */
83
+ autoClose?: ToastAutoClose;
84
+ /** Maximum visible toasts. @default 3 */
85
+ limit?: number;
86
+ /** Extra viewport offsets added on top of device safe-area insets. */
87
+ insets?: ToastInsets;
88
+ /** Optional style for the toast viewport. */
89
+ viewportStyle?: StyleProp<ViewStyle>;
90
+ /** Render through iOS FullWindowOverlay. @default true */
91
+ useFullWindowOverlay?: boolean;
92
+ /** Disable motion and transition effects for toasts. */
93
+ reduceMotion?: boolean;
94
+ }
95
+ type ToastAction = {
96
+ type: 'upsert';
97
+ toast: ToastRecord;
98
+ } | {
99
+ type: 'update';
100
+ id: string;
101
+ toast: Partial<ToastRecord>;
102
+ } | {
103
+ type: 'remove';
104
+ id: string;
105
+ } | {
106
+ type: 'set';
107
+ toasts: ToastRecord[];
108
+ } | {
109
+ type: 'removeAll';
110
+ };
111
+ //#endregion
112
+ export { type ToastAction, type ToastAutoClose, type ToastController, type ToastHandle, type ToastInsets, type ToastPlacement, type ToastProps, type ToastProviderProps, type ToastRecord, type ToastShowInput, type ToastShowOptions };
113
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/components/Toast/types.ts"],"mappings":";;;;;;;KAMK,cAAA,GAAiB,OAAA,CAAQ,aAAA;AAAA,KACzB,cAAA;AAAA,UAEK,WAAA;EACR,GAAA;EACA,MAAA;EACA,UAAA;AAAA;AAAA,UAGQ,UAAA,SAAmB,IAAA,CAAK,SAAA;EARf;EAUjB,EAAA;EAViB;EAYjB,IAAA,GAAO,SAAA;EAVC;EAYR,OAAA,GAAU,YAAA;;EAEV,OAAA,GAAU,SAAA;EAbV;EAeA,QAAA,GAAW,SAAA;EAbX;EAeA,YAAA,GAAe,SAAA;EAfL;EAiBV,aAAA;EAdmB;EAgBnB,mBAAA;EAhBgC;EAkBhC,OAAA,IAAW,EAAA;EAZD;EAcV,kBAAA,IAAsB,EAAA;EAVX;EAYX,SAAA,GAAY,YAAA;EAAA;EAEZ,SAAA,GAAY,YAAA;EAMF;EAJV,WAAA;EA1B2B;EA4B3B,uBAAA;EA5B+B;EA8B/B,GAAA,GAAM,GAAA,CAAI,IAAA;AAAA;AAAA,UAGF,WAAA,SAAoB,IAAA,CAAK,UAAA;EACjC,EAAA;EACA,SAAA,EAAW,cAAA;EACX,SAAA,EAAW,cAAA;EACX,SAAA;EACA,aAAA;EACA,SAAA;EACA,MAAA;EACA,MAAA;AAAA;AAAA,KAGG,gBAAA,GAAmB,IAAA,CACtB,WAAA;EAUA,EAAA;EACA,SAAA,GAAY,cAAA;EACZ,SAAA,GAAY,cAAA;EACZ,aAAA;EACA,MAAA;EACA,MAAA;AAAA;AAAA,KAGG,cAAA,GAAiB,SAAA,GAAY,gBAAA;AAAA,UAExB,WAAA;EACR,EAAA;EACA,MAAA,GAAS,OAAA,EAAS,OAAA,CAAQ,gBAAA,MAAsB,WAAA;EAChD,KAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA,GAAO,KAAA,EAAO,cAAA,KAAmB,WAAA;EACjC,MAAA,GAAS,EAAA,UAAY,OAAA,EAAS,OAAA,CAAQ,gBAAA,MAAsB,WAAA;EAC5D,IAAA,GAAO,EAAA;EACP,OAAA;EACA,iBAAA;AAAA;AAAA,UAGQ,kBAAA;EACR,QAAA,EAAU,SAAA;EA5CC;EA8CX,SAAA,GAAY,cAAA;EAjDoB;EAmDhC,SAAA,GAAY,cAAA;EAnDgB;EAqD5B,KAAA;EApDA;EAsDA,MAAA,GAAS,WAAA;EArDE;EAuDX,aAAA,GAAgB,SAAA,CAAU,SAAA;EAtDf;EAwDX,oBAAA;EAtDA;EAwDA,YAAA;AAAA;AAAA,KAGG,WAAA;EACC,IAAA;EAAgB,KAAA,EAAO,WAAA;AAAA;EACvB,IAAA;EAAgB,EAAA;EAAY,KAAA,EAAO,OAAA,CAAQ,WAAA;AAAA;EAC3C,IAAA;EAAgB,EAAA;AAAA;EAChB,IAAA;EAAa,MAAA,EAAQ,WAAA;AAAA;EACrB,IAAA;AAAA"}
@@ -0,0 +1 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */