@yahoo/uds-mobile 2.7.1 → 2.9.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 (321) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +12 -22
  2. package/dist/_virtual/_rolldown/runtime.js +6 -11
  3. package/dist/bin/fixtures/dist/index.mjs +17 -20
  4. package/dist/bin/fonts/dist/index.mjs +22 -13
  5. package/dist/bin/generateTheme.mjs +2 -5
  6. package/dist/bin/mobile/scripts/utils/configToRNMappings.mjs +1 -2
  7. package/dist/bin/modes/dist/index.mjs +1 -2
  8. package/dist/bin/palette/dist/index.mjs +15 -4
  9. package/dist/bin/uds-mobile.mjs +1 -3
  10. package/dist/components/AndroidBackHandler.cjs +3 -5
  11. package/dist/components/AndroidBackHandler.js +1 -2
  12. package/dist/components/AndroidBackHandler.js.map +1 -1
  13. package/dist/components/Avatar.cjs +6 -8
  14. package/dist/components/Avatar.d.cts +2 -2
  15. package/dist/components/Avatar.d.cts.map +1 -1
  16. package/dist/components/Avatar.d.ts +2 -2
  17. package/dist/components/Avatar.d.ts.map +1 -1
  18. package/dist/components/Avatar.js +1 -2
  19. package/dist/components/Avatar.js.map +1 -1
  20. package/dist/components/Badge.cjs +6 -8
  21. package/dist/components/Badge.d.cts +2 -2
  22. package/dist/components/Badge.d.cts.map +1 -1
  23. package/dist/components/Badge.d.ts +2 -2
  24. package/dist/components/Badge.d.ts.map +1 -1
  25. package/dist/components/Badge.js +1 -2
  26. package/dist/components/Badge.js.map +1 -1
  27. package/dist/components/Banner/Banner.cjs +7 -9
  28. package/dist/components/Banner/Banner.d.cts +2 -2
  29. package/dist/components/Banner/Banner.d.cts.map +1 -1
  30. package/dist/components/Banner/Banner.d.ts +2 -2
  31. package/dist/components/Banner/Banner.d.ts.map +1 -1
  32. package/dist/components/Banner/Banner.js +1 -2
  33. package/dist/components/Banner/Banner.js.map +1 -1
  34. package/dist/components/Banner/BannerContent.cjs +3 -5
  35. package/dist/components/Banner/BannerContent.d.cts +2 -2
  36. package/dist/components/Banner/BannerContent.d.cts.map +1 -1
  37. package/dist/components/Banner/BannerContent.d.ts +2 -2
  38. package/dist/components/Banner/BannerContent.d.ts.map +1 -1
  39. package/dist/components/Banner/BannerContent.js +1 -2
  40. package/dist/components/Banner/BannerContent.js.map +1 -1
  41. package/dist/components/Banner/BannerDescription.cjs +4 -6
  42. package/dist/components/Banner/BannerDescription.d.cts +2 -2
  43. package/dist/components/Banner/BannerDescription.d.cts.map +1 -1
  44. package/dist/components/Banner/BannerDescription.d.ts +2 -2
  45. package/dist/components/Banner/BannerDescription.d.ts.map +1 -1
  46. package/dist/components/Banner/BannerDescription.js +1 -2
  47. package/dist/components/Banner/BannerDescription.js.map +1 -1
  48. package/dist/components/Banner/BannerTitle.cjs +4 -6
  49. package/dist/components/Banner/BannerTitle.d.cts +2 -2
  50. package/dist/components/Banner/BannerTitle.d.cts.map +1 -1
  51. package/dist/components/Banner/BannerTitle.d.ts +2 -2
  52. package/dist/components/Banner/BannerTitle.d.ts.map +1 -1
  53. package/dist/components/Banner/BannerTitle.js +1 -2
  54. package/dist/components/Banner/BannerTitle.js.map +1 -1
  55. package/dist/components/Banner/index.cjs +6 -7
  56. package/dist/components/Banner/index.js +1 -2
  57. package/dist/components/Banner/utils.cjs +3 -5
  58. package/dist/components/Banner/utils.js +1 -2
  59. package/dist/components/Banner/utils.js.map +1 -1
  60. package/dist/components/BlurTarget.cjs +3 -5
  61. package/dist/components/BlurTarget.d.cts +2 -2
  62. package/dist/components/BlurTarget.d.cts.map +1 -1
  63. package/dist/components/BlurTarget.d.ts +2 -2
  64. package/dist/components/BlurTarget.d.ts.map +1 -1
  65. package/dist/components/BlurTarget.js +1 -2
  66. package/dist/components/BlurTarget.js.map +1 -1
  67. package/dist/components/BottomSheet/BottomSheet.cjs +16 -18
  68. package/dist/components/BottomSheet/BottomSheet.d.cts +2 -2
  69. package/dist/components/BottomSheet/BottomSheet.d.cts.map +1 -1
  70. package/dist/components/BottomSheet/BottomSheet.d.ts +2 -2
  71. package/dist/components/BottomSheet/BottomSheet.d.ts.map +1 -1
  72. package/dist/components/BottomSheet/BottomSheet.js +1 -2
  73. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  74. package/dist/components/BottomSheet/BottomSheetContent.cjs +4 -6
  75. package/dist/components/BottomSheet/BottomSheetContent.d.cts +2 -2
  76. package/dist/components/BottomSheet/BottomSheetContent.d.cts.map +1 -1
  77. package/dist/components/BottomSheet/BottomSheetContent.d.ts +2 -2
  78. package/dist/components/BottomSheet/BottomSheetContent.d.ts.map +1 -1
  79. package/dist/components/BottomSheet/BottomSheetContent.js +1 -2
  80. package/dist/components/BottomSheet/BottomSheetContent.js.map +1 -1
  81. package/dist/components/BottomSheet/BottomSheetDismiss.cjs +4 -6
  82. package/dist/components/BottomSheet/BottomSheetDismiss.d.cts +2 -2
  83. package/dist/components/BottomSheet/BottomSheetDismiss.d.cts.map +1 -1
  84. package/dist/components/BottomSheet/BottomSheetDismiss.d.ts +2 -2
  85. package/dist/components/BottomSheet/BottomSheetDismiss.d.ts.map +1 -1
  86. package/dist/components/BottomSheet/BottomSheetDismiss.js +1 -2
  87. package/dist/components/BottomSheet/BottomSheetDismiss.js.map +1 -1
  88. package/dist/components/BottomSheet/BottomSheetHandle.cjs +5 -7
  89. package/dist/components/BottomSheet/BottomSheetHandle.d.cts +2 -2
  90. package/dist/components/BottomSheet/BottomSheetHandle.d.cts.map +1 -1
  91. package/dist/components/BottomSheet/BottomSheetHandle.d.ts +2 -2
  92. package/dist/components/BottomSheet/BottomSheetHandle.d.ts.map +1 -1
  93. package/dist/components/BottomSheet/BottomSheetHandle.js +1 -2
  94. package/dist/components/BottomSheet/BottomSheetHandle.js.map +1 -1
  95. package/dist/components/BottomSheet/BottomSheetHeader.cjs +4 -6
  96. package/dist/components/BottomSheet/BottomSheetHeader.d.cts +2 -2
  97. package/dist/components/BottomSheet/BottomSheetHeader.d.cts.map +1 -1
  98. package/dist/components/BottomSheet/BottomSheetHeader.d.ts +2 -2
  99. package/dist/components/BottomSheet/BottomSheetHeader.d.ts.map +1 -1
  100. package/dist/components/BottomSheet/BottomSheetHeader.js +1 -2
  101. package/dist/components/BottomSheet/BottomSheetHeader.js.map +1 -1
  102. package/dist/components/BottomSheet/BottomSheetInternalProvider.cjs +3 -5
  103. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.cts +2 -2
  104. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.cts.map +1 -1
  105. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.ts +2 -2
  106. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.ts.map +1 -1
  107. package/dist/components/BottomSheet/BottomSheetInternalProvider.js +1 -2
  108. package/dist/components/BottomSheet/BottomSheetInternalProvider.js.map +1 -1
  109. package/dist/components/BottomSheet/BottomSheetProvider.cjs +4 -6
  110. package/dist/components/BottomSheet/BottomSheetProvider.d.cts +2 -2
  111. package/dist/components/BottomSheet/BottomSheetProvider.d.cts.map +1 -1
  112. package/dist/components/BottomSheet/BottomSheetProvider.d.ts +2 -2
  113. package/dist/components/BottomSheet/BottomSheetProvider.d.ts.map +1 -1
  114. package/dist/components/BottomSheet/BottomSheetProvider.js +1 -2
  115. package/dist/components/BottomSheet/BottomSheetProvider.js.map +1 -1
  116. package/dist/components/BottomSheet/BottomSheetTrigger.cjs +4 -6
  117. package/dist/components/BottomSheet/BottomSheetTrigger.d.cts +2 -2
  118. package/dist/components/BottomSheet/BottomSheetTrigger.d.cts.map +1 -1
  119. package/dist/components/BottomSheet/BottomSheetTrigger.d.ts +2 -2
  120. package/dist/components/BottomSheet/BottomSheetTrigger.d.ts.map +1 -1
  121. package/dist/components/BottomSheet/BottomSheetTrigger.js +1 -2
  122. package/dist/components/BottomSheet/BottomSheetTrigger.js.map +1 -1
  123. package/dist/components/BottomSheet/index.cjs +10 -11
  124. package/dist/components/BottomSheet/index.js +1 -2
  125. package/dist/components/BottomSheet/useBottomSheetDrag.cjs +4 -6
  126. package/dist/components/BottomSheet/useBottomSheetDrag.js +1 -2
  127. package/dist/components/BottomSheet/useBottomSheetDrag.js.map +1 -1
  128. package/dist/components/BottomSheet/useBottomSheetScroll.cjs +4 -6
  129. package/dist/components/BottomSheet/useBottomSheetScroll.d.cts +5 -5
  130. package/dist/components/BottomSheet/useBottomSheetScroll.d.ts +5 -5
  131. package/dist/components/BottomSheet/useBottomSheetScroll.js +1 -2
  132. package/dist/components/BottomSheet/useBottomSheetScroll.js.map +1 -1
  133. package/dist/components/BottomSheet/useBottomSheetSnapModel.cjs +6 -8
  134. package/dist/components/BottomSheet/useBottomSheetSnapModel.js +3 -4
  135. package/dist/components/BottomSheet/useBottomSheetSnapModel.js.map +1 -1
  136. package/dist/components/BottomSheet/useBottomSheetStore.cjs +3 -5
  137. package/dist/components/BottomSheet/useBottomSheetStore.js +1 -2
  138. package/dist/components/BottomSheet/useBottomSheetStore.js.map +1 -1
  139. package/dist/components/BottomSheet/useExpansionMargins.cjs +4 -6
  140. package/dist/components/BottomSheet/useExpansionMargins.js +1 -2
  141. package/dist/components/BottomSheet/useExpansionMargins.js.map +1 -1
  142. package/dist/components/BottomSheet/useKeyboardAvoidance.cjs +3 -5
  143. package/dist/components/BottomSheet/useKeyboardAvoidance.js +1 -2
  144. package/dist/components/BottomSheet/useKeyboardAvoidance.js.map +1 -1
  145. package/dist/components/BottomSheet/utils.cjs +2 -4
  146. package/dist/components/BottomSheet/utils.js +1 -1
  147. package/dist/components/BottomSheet/utils.js.map +1 -1
  148. package/dist/components/Box.cjs +3 -5
  149. package/dist/components/Box.d.cts +2 -2
  150. package/dist/components/Box.d.cts.map +1 -1
  151. package/dist/components/Box.d.ts +2 -2
  152. package/dist/components/Box.d.ts.map +1 -1
  153. package/dist/components/Box.js +1 -2
  154. package/dist/components/Box.js.map +1 -1
  155. package/dist/components/Button.cjs +8 -10
  156. package/dist/components/Button.d.cts +2 -2
  157. package/dist/components/Button.d.cts.map +1 -1
  158. package/dist/components/Button.d.ts +2 -2
  159. package/dist/components/Button.d.ts.map +1 -1
  160. package/dist/components/Button.js +1 -2
  161. package/dist/components/Button.js.map +1 -1
  162. package/dist/components/Checkbox.cjs +9 -11
  163. package/dist/components/Checkbox.d.cts +2 -2
  164. package/dist/components/Checkbox.d.cts.map +1 -1
  165. package/dist/components/Checkbox.d.ts +2 -2
  166. package/dist/components/Checkbox.d.ts.map +1 -1
  167. package/dist/components/Checkbox.js +1 -2
  168. package/dist/components/Checkbox.js.map +1 -1
  169. package/dist/components/Chip.cjs +7 -9
  170. package/dist/components/Chip.d.cts +2 -2
  171. package/dist/components/Chip.d.cts.map +1 -1
  172. package/dist/components/Chip.d.ts +2 -2
  173. package/dist/components/Chip.d.ts.map +1 -1
  174. package/dist/components/Chip.js +1 -2
  175. package/dist/components/Chip.js.map +1 -1
  176. package/dist/components/HStack.cjs +4 -6
  177. package/dist/components/HStack.d.cts +2 -2
  178. package/dist/components/HStack.d.cts.map +1 -1
  179. package/dist/components/HStack.d.ts +2 -2
  180. package/dist/components/HStack.d.ts.map +1 -1
  181. package/dist/components/HStack.js +1 -2
  182. package/dist/components/HStack.js.map +1 -1
  183. package/dist/components/Icon.cjs +3 -5
  184. package/dist/components/Icon.d.cts +4 -4
  185. package/dist/components/Icon.d.cts.map +1 -1
  186. package/dist/components/Icon.d.ts +4 -4
  187. package/dist/components/Icon.d.ts.map +1 -1
  188. package/dist/components/Icon.js +1 -2
  189. package/dist/components/Icon.js.map +1 -1
  190. package/dist/components/IconButton.cjs +7 -9
  191. package/dist/components/IconButton.d.cts +2 -2
  192. package/dist/components/IconButton.d.cts.map +1 -1
  193. package/dist/components/IconButton.d.ts +2 -2
  194. package/dist/components/IconButton.d.ts.map +1 -1
  195. package/dist/components/IconButton.js +1 -2
  196. package/dist/components/IconButton.js.map +1 -1
  197. package/dist/components/IconSlot.cjs +4 -6
  198. package/dist/components/IconSlot.d.cts +2 -2
  199. package/dist/components/IconSlot.d.cts.map +1 -1
  200. package/dist/components/IconSlot.d.ts +2 -2
  201. package/dist/components/IconSlot.d.ts.map +1 -1
  202. package/dist/components/IconSlot.js +1 -2
  203. package/dist/components/IconSlot.js.map +1 -1
  204. package/dist/components/Image.cjs +3 -5
  205. package/dist/components/Image.d.cts +2 -2
  206. package/dist/components/Image.d.cts.map +1 -1
  207. package/dist/components/Image.d.ts +2 -2
  208. package/dist/components/Image.d.ts.map +1 -1
  209. package/dist/components/Image.js +1 -2
  210. package/dist/components/Image.js.map +1 -1
  211. package/dist/components/Input.cjs +7 -9
  212. package/dist/components/Input.d.cts +2 -2
  213. package/dist/components/Input.d.cts.map +1 -1
  214. package/dist/components/Input.d.ts +2 -2
  215. package/dist/components/Input.d.ts.map +1 -1
  216. package/dist/components/Input.js +1 -2
  217. package/dist/components/Input.js.map +1 -1
  218. package/dist/components/Link.cjs +4 -6
  219. package/dist/components/Link.d.cts +2 -2
  220. package/dist/components/Link.d.cts.map +1 -1
  221. package/dist/components/Link.d.ts +2 -2
  222. package/dist/components/Link.d.ts.map +1 -1
  223. package/dist/components/Link.js +1 -2
  224. package/dist/components/Link.js.map +1 -1
  225. package/dist/components/Pressable.cjs +3 -5
  226. package/dist/components/Pressable.d.cts +4 -4
  227. package/dist/components/Pressable.d.cts.map +1 -1
  228. package/dist/components/Pressable.d.ts +4 -4
  229. package/dist/components/Pressable.d.ts.map +1 -1
  230. package/dist/components/Pressable.js +1 -2
  231. package/dist/components/Pressable.js.map +1 -1
  232. package/dist/components/Radio.cjs +8 -10
  233. package/dist/components/Radio.d.cts +2 -2
  234. package/dist/components/Radio.d.cts.map +1 -1
  235. package/dist/components/Radio.d.ts +2 -2
  236. package/dist/components/Radio.d.ts.map +1 -1
  237. package/dist/components/Radio.js +1 -2
  238. package/dist/components/Radio.js.map +1 -1
  239. package/dist/components/Screen.cjs +5 -7
  240. package/dist/components/Screen.d.cts +2 -2
  241. package/dist/components/Screen.d.cts.map +1 -1
  242. package/dist/components/Screen.d.ts +2 -2
  243. package/dist/components/Screen.d.ts.map +1 -1
  244. package/dist/components/Screen.js +1 -2
  245. package/dist/components/Screen.js.map +1 -1
  246. package/dist/components/Scrim.cjs +4 -6
  247. package/dist/components/Scrim.d.cts +2 -2
  248. package/dist/components/Scrim.d.cts.map +1 -1
  249. package/dist/components/Scrim.d.ts +2 -2
  250. package/dist/components/Scrim.d.ts.map +1 -1
  251. package/dist/components/Scrim.js +1 -2
  252. package/dist/components/Scrim.js.map +1 -1
  253. package/dist/components/Switch.cjs +6 -8
  254. package/dist/components/Switch.d.cts +2 -2
  255. package/dist/components/Switch.d.cts.map +1 -1
  256. package/dist/components/Switch.d.ts +2 -2
  257. package/dist/components/Switch.d.ts.map +1 -1
  258. package/dist/components/Switch.js +1 -2
  259. package/dist/components/Switch.js.map +1 -1
  260. package/dist/components/Text.cjs +3 -5
  261. package/dist/components/Text.d.cts +2 -2
  262. package/dist/components/Text.d.cts.map +1 -1
  263. package/dist/components/Text.d.ts +2 -2
  264. package/dist/components/Text.d.ts.map +1 -1
  265. package/dist/components/Text.js +1 -2
  266. package/dist/components/Text.js.map +1 -1
  267. package/dist/components/UDSProvider.cjs +4 -6
  268. package/dist/components/UDSProvider.d.cts +2 -2
  269. package/dist/components/UDSProvider.d.cts.map +1 -1
  270. package/dist/components/UDSProvider.d.ts +2 -2
  271. package/dist/components/UDSProvider.d.ts.map +1 -1
  272. package/dist/components/UDSProvider.js +1 -2
  273. package/dist/components/UDSProvider.js.map +1 -1
  274. package/dist/components/VStack.cjs +4 -6
  275. package/dist/components/VStack.d.cts +2 -2
  276. package/dist/components/VStack.d.cts.map +1 -1
  277. package/dist/components/VStack.d.ts +2 -2
  278. package/dist/components/VStack.d.ts.map +1 -1
  279. package/dist/components/VStack.js +1 -2
  280. package/dist/components/VStack.js.map +1 -1
  281. package/dist/jest/index.cjs +8 -10
  282. package/dist/jest/index.js +1 -2
  283. package/dist/jest/index.js.map +1 -1
  284. package/dist/jest/mocks/icons.cjs +8 -11
  285. package/dist/jest/mocks/icons.js +1 -2
  286. package/dist/jest/mocks/icons.js.map +1 -1
  287. package/dist/jest/mocks/react-native.cjs +6 -5
  288. package/dist/jest/mocks/react-native.js +1 -2
  289. package/dist/jest/mocks/react-native.js.map +1 -1
  290. package/dist/jest/mocks/reanimated.cjs +11 -10
  291. package/dist/jest/mocks/reanimated.js +1 -2
  292. package/dist/jest/mocks/reanimated.js.map +1 -1
  293. package/dist/jest/mocks/styles.cjs +8 -11
  294. package/dist/jest/mocks/styles.js +1 -2
  295. package/dist/jest/mocks/styles.js.map +1 -1
  296. package/dist/jest/mocks/svg.cjs +11 -10
  297. package/dist/jest/mocks/svg.js +2 -3
  298. package/dist/jest/mocks/svg.js.map +1 -1
  299. package/dist/jest/mocks/unistyles.cjs +8 -11
  300. package/dist/jest/mocks/unistyles.js +1 -2
  301. package/dist/jest/mocks/unistyles.js.map +1 -1
  302. package/dist/jest/setup.cjs +6 -8
  303. package/dist/jest/setup.js +1 -2
  304. package/dist/jest/setup.js.map +1 -1
  305. package/dist/motion-tokens/dist/index.cjs +1 -3
  306. package/dist/motion-tokens/dist/index.js +1 -1
  307. package/dist/motion-tokens/dist/index.js.map +1 -1
  308. package/dist/motion.cjs +3 -5
  309. package/dist/motion.js +1 -2
  310. package/dist/motion.js.map +1 -1
  311. package/dist/native/UDSScreenCornerRadiusModule.cjs +2 -4
  312. package/dist/native/UDSScreenCornerRadiusModule.js +1 -1
  313. package/dist/portal.cjs +3 -5
  314. package/dist/portal.d.cts +2 -2
  315. package/dist/portal.d.cts.map +1 -1
  316. package/dist/portal.d.ts +2 -2
  317. package/dist/portal.d.ts.map +1 -1
  318. package/dist/portal.js +1 -2
  319. package/dist/portal.js.map +1 -1
  320. package/fonts/uds-icons.ttf +0 -0
  321. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"portal.d.ts","names":[],"sources":["../src/portal.tsx"],"mappings":";;;;;iBAoFS,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA;AAAA,iBAmBjC,cAAA,CAAA;EAAiB;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,KAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"portal.d.ts","names":[],"sources":["../src/portal.tsx"],"mappings":";;;;;iBAoFS,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA;AAAA,iBAmBjC,cAAA,CAAA;EAAiB;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,OAAA,CAAA,GAAA,CAAA,OAAA"}
package/dist/portal.js CHANGED
@@ -2,7 +2,6 @@
2
2
  import { createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useReducer } from "react";
3
3
  import { StyleSheet, View } from "react-native";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
-
6
5
  //#region src/portal.tsx
7
6
  function portalReducer(state, action) {
8
7
  switch (action.type) {
@@ -73,7 +72,7 @@ function PortalProvider({ children }) {
73
72
  });
74
73
  }
75
74
  const styles = StyleSheet.create({ overlay: { ...StyleSheet.absoluteFill } });
76
-
77
75
  //#endregion
78
76
  export { Portal, PortalProvider };
77
+
79
78
  //# sourceMappingURL=portal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portal.js","names":[],"sources":["../src/portal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport {\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useReducer,\n} from 'react';\nimport { StyleSheet, View } from 'react-native';\n\n// ---------------------------------------------------------------------------\n// State\n// ---------------------------------------------------------------------------\n\ntype PortalState = Map<string, ReactNode>;\n\ntype PortalAction =\n | { type: 'register'; id: string; node: ReactNode }\n | { type: 'unregister'; id: string };\n\nfunction portalReducer(state: PortalState, action: PortalAction): PortalState {\n switch (action.type) {\n case 'register': {\n const next = new Map(state);\n next.set(action.id, action.node);\n return next;\n }\n case 'unregister': {\n if (!state.has(action.id)) {\n return state;\n }\n const next = new Map(state);\n next.delete(action.id);\n return next;\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface PortalContextValue {\n register: (id: string, node: ReactNode) => void;\n unregister: (id: string) => void;\n}\n\nconst PortalContext = createContext<PortalContextValue | null>(null);\n\nfunction usePortalContext(): PortalContextValue {\n const ctx = useContext(PortalContext);\n if (!ctx) {\n throw new Error('Portal must be used within a UDSProvider.');\n }\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// PortalHost — renders registered portals. Place after children for z-order.\n// ---------------------------------------------------------------------------\n\nconst PortalHost = memo(function PortalHost({ state }: { state: PortalState }) {\n if (state.size === 0) {\n return null;\n }\n\n const nodes: ReactNode[] = [];\n state.forEach((node, id) => {\n nodes.push(\n <View key={id} style={styles.overlay} pointerEvents=\"box-none\">\n {node}\n </View>,\n );\n });\n return nodes;\n});\n\n// ---------------------------------------------------------------------------\n// Portal — registers children with the host. Renders nothing itself.\n// ---------------------------------------------------------------------------\n\nfunction Portal({ children }: { children: ReactNode }) {\n const id = useId();\n const { register, unregister } = usePortalContext();\n\n useEffect(() => {\n register(id, children);\n }, [id, children, register]);\n\n useEffect(() => {\n return () => unregister(id);\n }, [id, unregister]);\n\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// PortalProvider — sets up the portal context and host.\n// ---------------------------------------------------------------------------\n\nfunction PortalProvider({ children }: { children: ReactNode }) {\n const [state, dispatch] = useReducer(portalReducer, new Map() as PortalState);\n\n const register = useCallback(\n (id: string, node: ReactNode) => dispatch({ type: 'register', id, node }),\n [],\n );\n const unregister = useCallback((id: string) => dispatch({ type: 'unregister', id }), []);\n\n const contextValue = useMemo(() => ({ register, unregister }), [register, unregister]);\n\n return (\n <PortalContext.Provider value={contextValue}>\n {children}\n <PortalHost state={state} />\n </PortalContext.Provider>\n );\n}\n\nconst styles = StyleSheet.create({\n overlay: {\n ...StyleSheet.absoluteFill,\n },\n});\n\nexport { Portal, PortalProvider };\n"],"mappings":";;;;;;AAuBA,SAAS,cAAc,OAAoB,QAAmC;AAC5E,SAAQ,OAAO,MAAf;EACE,KAAK,YAAY;GACf,MAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,QAAK,IAAI,OAAO,IAAI,OAAO,KAAK;AAChC,UAAO;;EAET,KAAK,cAAc;AACjB,OAAI,CAAC,MAAM,IAAI,OAAO,GAAG,CACvB,QAAO;GAET,MAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,QAAK,OAAO,OAAO,GAAG;AACtB,UAAO;;;;AAcb,MAAM,gBAAgB,cAAyC,KAAK;AAEpE,SAAS,mBAAuC;CAC9C,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,4CAA4C;AAE9D,QAAO;;AAOT,MAAM,aAAa,KAAK,SAAS,WAAW,EAAE,SAAiC;AAC7E,KAAI,MAAM,SAAS,EACjB,QAAO;CAGT,MAAM,QAAqB,EAAE;AAC7B,OAAM,SAAS,MAAM,OAAO;AAC1B,QAAM,KACJ,oBAAC;GAAc,OAAO,OAAO;GAAS,eAAc;aACjD;KADQ,GAEJ,CACR;GACD;AACF,QAAO;EACP;AAMF,SAAS,OAAO,EAAE,YAAqC;CACrD,MAAM,KAAK,OAAO;CAClB,MAAM,EAAE,UAAU,eAAe,kBAAkB;AAEnD,iBAAgB;AACd,WAAS,IAAI,SAAS;IACrB;EAAC;EAAI;EAAU;EAAS,CAAC;AAE5B,iBAAgB;AACd,eAAa,WAAW,GAAG;IAC1B,CAAC,IAAI,WAAW,CAAC;AAEpB,QAAO;;AAOT,SAAS,eAAe,EAAE,YAAqC;CAC7D,MAAM,CAAC,OAAO,YAAY,WAAW,+BAAe,IAAI,KAAK,CAAgB;CAE7E,MAAM,WAAW,aACd,IAAY,SAAoB,SAAS;EAAE,MAAM;EAAY;EAAI;EAAM,CAAC,EACzE,EAAE,CACH;CACD,MAAM,aAAa,aAAa,OAAe,SAAS;EAAE,MAAM;EAAc;EAAI,CAAC,EAAE,EAAE,CAAC;CAExF,MAAM,eAAe,eAAe;EAAE;EAAU;EAAY,GAAG,CAAC,UAAU,WAAW,CAAC;AAEtF,QACE,qBAAC,cAAc;EAAS,OAAO;aAC5B,UACD,oBAAC,cAAkB,QAAS;GACL;;AAI7B,MAAM,SAAS,WAAW,OAAO,EAC/B,SAAS,EACP,GAAG,WAAW,cACf,EACF,CAAC"}
1
+ {"version":3,"file":"portal.js","names":[],"sources":["../src/portal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport {\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useReducer,\n} from 'react';\nimport { StyleSheet, View } from 'react-native';\n\n// ---------------------------------------------------------------------------\n// State\n// ---------------------------------------------------------------------------\n\ntype PortalState = Map<string, ReactNode>;\n\ntype PortalAction =\n | { type: 'register'; id: string; node: ReactNode }\n | { type: 'unregister'; id: string };\n\nfunction portalReducer(state: PortalState, action: PortalAction): PortalState {\n switch (action.type) {\n case 'register': {\n const next = new Map(state);\n next.set(action.id, action.node);\n return next;\n }\n case 'unregister': {\n if (!state.has(action.id)) {\n return state;\n }\n const next = new Map(state);\n next.delete(action.id);\n return next;\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface PortalContextValue {\n register: (id: string, node: ReactNode) => void;\n unregister: (id: string) => void;\n}\n\nconst PortalContext = createContext<PortalContextValue | null>(null);\n\nfunction usePortalContext(): PortalContextValue {\n const ctx = useContext(PortalContext);\n if (!ctx) {\n throw new Error('Portal must be used within a UDSProvider.');\n }\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// PortalHost — renders registered portals. Place after children for z-order.\n// ---------------------------------------------------------------------------\n\nconst PortalHost = memo(function PortalHost({ state }: { state: PortalState }) {\n if (state.size === 0) {\n return null;\n }\n\n const nodes: ReactNode[] = [];\n state.forEach((node, id) => {\n nodes.push(\n <View key={id} style={styles.overlay} pointerEvents=\"box-none\">\n {node}\n </View>,\n );\n });\n return nodes;\n});\n\n// ---------------------------------------------------------------------------\n// Portal — registers children with the host. Renders nothing itself.\n// ---------------------------------------------------------------------------\n\nfunction Portal({ children }: { children: ReactNode }) {\n const id = useId();\n const { register, unregister } = usePortalContext();\n\n useEffect(() => {\n register(id, children);\n }, [id, children, register]);\n\n useEffect(() => {\n return () => unregister(id);\n }, [id, unregister]);\n\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// PortalProvider — sets up the portal context and host.\n// ---------------------------------------------------------------------------\n\nfunction PortalProvider({ children }: { children: ReactNode }) {\n const [state, dispatch] = useReducer(portalReducer, new Map() as PortalState);\n\n const register = useCallback(\n (id: string, node: ReactNode) => dispatch({ type: 'register', id, node }),\n [],\n );\n const unregister = useCallback((id: string) => dispatch({ type: 'unregister', id }), []);\n\n const contextValue = useMemo(() => ({ register, unregister }), [register, unregister]);\n\n return (\n <PortalContext.Provider value={contextValue}>\n {children}\n <PortalHost state={state} />\n </PortalContext.Provider>\n );\n}\n\nconst styles = StyleSheet.create({\n overlay: {\n ...StyleSheet.absoluteFill,\n },\n});\n\nexport { Portal, PortalProvider };\n"],"mappings":";;;;;AAuBA,SAAS,cAAc,OAAoB,QAAmC;AAC5E,SAAQ,OAAO,MAAf;EACE,KAAK,YAAY;GACf,MAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,QAAK,IAAI,OAAO,IAAI,OAAO,KAAK;AAChC,UAAO;;EAET,KAAK,cAAc;AACjB,OAAI,CAAC,MAAM,IAAI,OAAO,GAAG,CACvB,QAAO;GAET,MAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,QAAK,OAAO,OAAO,GAAG;AACtB,UAAO;;;;AAcb,MAAM,gBAAgB,cAAyC,KAAK;AAEpE,SAAS,mBAAuC;CAC9C,MAAM,MAAM,WAAW,cAAc;AACrC,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,4CAA4C;AAE9D,QAAO;;AAOT,MAAM,aAAa,KAAK,SAAS,WAAW,EAAE,SAAiC;AAC7E,KAAI,MAAM,SAAS,EACjB,QAAO;CAGT,MAAM,QAAqB,EAAE;AAC7B,OAAM,SAAS,MAAM,OAAO;AAC1B,QAAM,KACJ,oBAAC,MAAD;GAAe,OAAO,OAAO;GAAS,eAAc;aACjD;GACI,EAFI,GAEJ,CACR;GACD;AACF,QAAO;EACP;AAMF,SAAS,OAAO,EAAE,YAAqC;CACrD,MAAM,KAAK,OAAO;CAClB,MAAM,EAAE,UAAU,eAAe,kBAAkB;AAEnD,iBAAgB;AACd,WAAS,IAAI,SAAS;IACrB;EAAC;EAAI;EAAU;EAAS,CAAC;AAE5B,iBAAgB;AACd,eAAa,WAAW,GAAG;IAC1B,CAAC,IAAI,WAAW,CAAC;AAEpB,QAAO;;AAOT,SAAS,eAAe,EAAE,YAAqC;CAC7D,MAAM,CAAC,OAAO,YAAY,WAAW,+BAAe,IAAI,KAAK,CAAgB;CAE7E,MAAM,WAAW,aACd,IAAY,SAAoB,SAAS;EAAE,MAAM;EAAY;EAAI;EAAM,CAAC,EACzE,EAAE,CACH;CACD,MAAM,aAAa,aAAa,OAAe,SAAS;EAAE,MAAM;EAAc;EAAI,CAAC,EAAE,EAAE,CAAC;CAExF,MAAM,eAAe,eAAe;EAAE;EAAU;EAAY,GAAG,CAAC,UAAU,WAAW,CAAC;AAEtF,QACE,qBAAC,cAAc,UAAf;EAAwB,OAAO;YAA/B,CACG,UACD,oBAAC,YAAD,EAAmB,OAAS,CAAA,CACL;;;AAI7B,MAAM,SAAS,WAAW,OAAO,EAC/B,SAAS,EACP,GAAG,WAAW,cACf,EACF,CAAC"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yahoo/uds-mobile",
3
- "version": "2.7.1",
3
+ "version": "2.9.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "uds-mobile": "./cli/uds-mobile.js"