@oxyhq/bloom 1.7.0 → 1.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 (232) hide show
  1. package/docs/getting-started.mdx +29 -15
  2. package/docs/media-flight.mdx +14 -9
  3. package/docs/teleport.mdx +72 -0
  4. package/lib/commonjs/connection-status/index.js +7 -0
  5. package/lib/commonjs/connection-status/index.js.map +1 -1
  6. package/lib/commonjs/connection-status/index.web.js +7 -0
  7. package/lib/commonjs/connection-status/index.web.js.map +1 -1
  8. package/lib/commonjs/connection-status/netinfo.js +34 -0
  9. package/lib/commonjs/connection-status/netinfo.js.map +1 -1
  10. package/lib/commonjs/teleport/Portal.js +109 -0
  11. package/lib/commonjs/teleport/Portal.js.map +1 -0
  12. package/lib/commonjs/teleport/PortalHost.js +75 -0
  13. package/lib/commonjs/teleport/PortalHost.js.map +1 -0
  14. package/lib/commonjs/teleport/PortalHostView.js +40 -0
  15. package/lib/commonjs/teleport/PortalHostView.js.map +1 -0
  16. package/lib/commonjs/teleport/PortalHostView.native.js +24 -0
  17. package/lib/commonjs/teleport/PortalHostView.native.js.map +1 -0
  18. package/lib/commonjs/teleport/PortalProvider.js +57 -0
  19. package/lib/commonjs/teleport/PortalProvider.js.map +1 -0
  20. package/lib/commonjs/teleport/PortalProviderView.js +59 -0
  21. package/lib/commonjs/teleport/PortalProviderView.js.map +1 -0
  22. package/lib/commonjs/teleport/PortalProviderView.native.js +19 -0
  23. package/lib/commonjs/teleport/PortalProviderView.native.js.map +1 -0
  24. package/lib/commonjs/teleport/PortalView.js +83 -0
  25. package/lib/commonjs/teleport/PortalView.js.map +1 -0
  26. package/lib/commonjs/teleport/PortalView.native.js +14 -0
  27. package/lib/commonjs/teleport/PortalView.native.js.map +1 -0
  28. package/lib/commonjs/teleport/index.js +35 -0
  29. package/lib/commonjs/teleport/index.js.map +1 -0
  30. package/lib/commonjs/teleport/portal-manager.js +40 -0
  31. package/lib/commonjs/teleport/portal-manager.js.map +1 -0
  32. package/lib/commonjs/teleport/portal-registry.js +24 -0
  33. package/lib/commonjs/teleport/portal-registry.js.map +1 -0
  34. package/lib/commonjs/teleport/reducer.js +86 -0
  35. package/lib/commonjs/teleport/reducer.js.map +1 -0
  36. package/lib/commonjs/teleport/scroll-view-context/context.js +17 -0
  37. package/lib/commonjs/teleport/scroll-view-context/context.js.map +1 -0
  38. package/lib/commonjs/teleport/scroll-view-context/context.native.js +22 -0
  39. package/lib/commonjs/teleport/scroll-view-context/context.native.js.map +1 -0
  40. package/lib/commonjs/teleport/scroll-view-context/types.js +2 -0
  41. package/lib/commonjs/teleport/scroll-view-context/types.js.map +1 -0
  42. package/lib/commonjs/teleport/specs/PortalHostViewNativeComponent.js +17 -0
  43. package/lib/commonjs/teleport/specs/PortalHostViewNativeComponent.js.map +1 -0
  44. package/lib/commonjs/teleport/specs/PortalViewNativeComponent.js +17 -0
  45. package/lib/commonjs/teleport/specs/PortalViewNativeComponent.js.map +1 -0
  46. package/lib/commonjs/teleport/teleport-global.d.js +2 -0
  47. package/lib/commonjs/teleport/teleport-global.d.js.map +1 -0
  48. package/lib/commonjs/teleport/types.js +6 -0
  49. package/lib/commonjs/teleport/types.js.map +1 -0
  50. package/lib/commonjs/teleport/use-id.js +24 -0
  51. package/lib/commonjs/teleport/use-id.js.map +1 -0
  52. package/lib/commonjs/teleport/use-portal.js +59 -0
  53. package/lib/commonjs/teleport/use-portal.js.map +1 -0
  54. package/lib/commonjs/theme/adaptive-colors.js +30 -4
  55. package/lib/commonjs/theme/adaptive-colors.js.map +1 -1
  56. package/lib/module/connection-status/index.js +3 -0
  57. package/lib/module/connection-status/index.js.map +1 -1
  58. package/lib/module/connection-status/index.web.js +3 -0
  59. package/lib/module/connection-status/index.web.js.map +1 -1
  60. package/lib/module/connection-status/netinfo.js +33 -0
  61. package/lib/module/connection-status/netinfo.js.map +1 -1
  62. package/lib/module/teleport/Portal.js +103 -0
  63. package/lib/module/teleport/Portal.js.map +1 -0
  64. package/lib/module/teleport/PortalHost.js +71 -0
  65. package/lib/module/teleport/PortalHost.js.map +1 -0
  66. package/lib/module/teleport/PortalHostView.js +35 -0
  67. package/lib/module/teleport/PortalHostView.js.map +1 -0
  68. package/lib/module/teleport/PortalHostView.native.js +18 -0
  69. package/lib/module/teleport/PortalHostView.native.js.map +1 -0
  70. package/lib/module/teleport/PortalProvider.js +51 -0
  71. package/lib/module/teleport/PortalProvider.js.map +1 -0
  72. package/lib/module/teleport/PortalProviderView.js +54 -0
  73. package/lib/module/teleport/PortalProviderView.js.map +1 -0
  74. package/lib/module/teleport/PortalProviderView.native.js +15 -0
  75. package/lib/module/teleport/PortalProviderView.native.js.map +1 -0
  76. package/lib/module/teleport/PortalView.js +79 -0
  77. package/lib/module/teleport/PortalView.js.map +1 -0
  78. package/lib/module/teleport/PortalView.native.js +10 -0
  79. package/lib/module/teleport/PortalView.native.js.map +1 -0
  80. package/lib/module/teleport/index.js +30 -0
  81. package/lib/module/teleport/index.js.map +1 -0
  82. package/lib/module/teleport/portal-manager.js +33 -0
  83. package/lib/module/teleport/portal-manager.js.map +1 -0
  84. package/lib/module/teleport/portal-registry.js +18 -0
  85. package/lib/module/teleport/portal-registry.js.map +1 -0
  86. package/lib/module/teleport/reducer.js +81 -0
  87. package/lib/module/teleport/reducer.js.map +1 -0
  88. package/lib/module/teleport/scroll-view-context/context.js +12 -0
  89. package/lib/module/teleport/scroll-view-context/context.js.map +1 -0
  90. package/lib/module/teleport/scroll-view-context/context.native.js +18 -0
  91. package/lib/module/teleport/scroll-view-context/context.native.js.map +1 -0
  92. package/lib/module/teleport/scroll-view-context/types.js +2 -0
  93. package/lib/module/teleport/scroll-view-context/types.js.map +1 -0
  94. package/lib/module/teleport/specs/PortalHostViewNativeComponent.js +13 -0
  95. package/lib/module/teleport/specs/PortalHostViewNativeComponent.js.map +1 -0
  96. package/lib/module/teleport/specs/PortalViewNativeComponent.js +13 -0
  97. package/lib/module/teleport/specs/PortalViewNativeComponent.js.map +1 -0
  98. package/lib/module/teleport/teleport-global.d.js +2 -0
  99. package/lib/module/teleport/teleport-global.d.js.map +1 -0
  100. package/lib/module/teleport/types.js +4 -0
  101. package/lib/module/teleport/types.js.map +1 -0
  102. package/lib/module/teleport/use-id.js +19 -0
  103. package/lib/module/teleport/use-id.js.map +1 -0
  104. package/lib/module/teleport/use-portal.js +55 -0
  105. package/lib/module/teleport/use-portal.js.map +1 -0
  106. package/lib/module/theme/adaptive-colors.js +30 -4
  107. package/lib/module/theme/adaptive-colors.js.map +1 -1
  108. package/lib/typescript/commonjs/connection-status/index.d.ts +1 -0
  109. package/lib/typescript/commonjs/connection-status/index.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/connection-status/index.web.d.ts +1 -0
  111. package/lib/typescript/commonjs/connection-status/index.web.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/connection-status/netinfo.d.ts +25 -0
  113. package/lib/typescript/commonjs/connection-status/netinfo.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/teleport/Portal.d.ts +48 -0
  115. package/lib/typescript/commonjs/teleport/Portal.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/teleport/PortalHost.d.ts +25 -0
  117. package/lib/typescript/commonjs/teleport/PortalHost.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/teleport/PortalHostView.d.ts +5 -0
  119. package/lib/typescript/commonjs/teleport/PortalHostView.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/teleport/PortalHostView.native.d.ts +4 -0
  121. package/lib/typescript/commonjs/teleport/PortalHostView.native.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/teleport/PortalProvider.d.ts +23 -0
  123. package/lib/typescript/commonjs/teleport/PortalProvider.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/teleport/PortalProviderView.d.ts +3 -0
  125. package/lib/typescript/commonjs/teleport/PortalProviderView.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/teleport/PortalProviderView.native.d.ts +9 -0
  127. package/lib/typescript/commonjs/teleport/PortalProviderView.native.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/teleport/PortalView.d.ts +9 -0
  129. package/lib/typescript/commonjs/teleport/PortalView.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/teleport/PortalView.native.d.ts +8 -0
  131. package/lib/typescript/commonjs/teleport/PortalView.native.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/teleport/index.d.ts +29 -0
  133. package/lib/typescript/commonjs/teleport/index.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/teleport/portal-manager.d.ts +16 -0
  135. package/lib/typescript/commonjs/teleport/portal-manager.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/teleport/portal-registry.d.ts +10 -0
  137. package/lib/typescript/commonjs/teleport/portal-registry.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/teleport/reducer.d.ts +40 -0
  139. package/lib/typescript/commonjs/teleport/reducer.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/teleport/scroll-view-context/context.d.ts +4 -0
  141. package/lib/typescript/commonjs/teleport/scroll-view-context/context.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/teleport/scroll-view-context/context.native.d.ts +13 -0
  143. package/lib/typescript/commonjs/teleport/scroll-view-context/context.native.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/teleport/scroll-view-context/types.d.ts +10 -0
  145. package/lib/typescript/commonjs/teleport/scroll-view-context/types.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/teleport/specs/PortalHostViewNativeComponent.d.ts +13 -0
  147. package/lib/typescript/commonjs/teleport/specs/PortalHostViewNativeComponent.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/teleport/specs/PortalViewNativeComponent.d.ts +14 -0
  149. package/lib/typescript/commonjs/teleport/specs/PortalViewNativeComponent.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/teleport/types.d.ts +22 -0
  151. package/lib/typescript/commonjs/teleport/types.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/teleport/use-id.d.ts +2 -0
  153. package/lib/typescript/commonjs/teleport/use-id.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/teleport/use-portal.d.ts +35 -0
  155. package/lib/typescript/commonjs/teleport/use-portal.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/theme/adaptive-colors.d.ts.map +1 -1
  157. package/lib/typescript/module/connection-status/index.d.ts +1 -0
  158. package/lib/typescript/module/connection-status/index.d.ts.map +1 -1
  159. package/lib/typescript/module/connection-status/index.web.d.ts +1 -0
  160. package/lib/typescript/module/connection-status/index.web.d.ts.map +1 -1
  161. package/lib/typescript/module/connection-status/netinfo.d.ts +25 -0
  162. package/lib/typescript/module/connection-status/netinfo.d.ts.map +1 -1
  163. package/lib/typescript/module/teleport/Portal.d.ts +48 -0
  164. package/lib/typescript/module/teleport/Portal.d.ts.map +1 -0
  165. package/lib/typescript/module/teleport/PortalHost.d.ts +25 -0
  166. package/lib/typescript/module/teleport/PortalHost.d.ts.map +1 -0
  167. package/lib/typescript/module/teleport/PortalHostView.d.ts +5 -0
  168. package/lib/typescript/module/teleport/PortalHostView.d.ts.map +1 -0
  169. package/lib/typescript/module/teleport/PortalHostView.native.d.ts +4 -0
  170. package/lib/typescript/module/teleport/PortalHostView.native.d.ts.map +1 -0
  171. package/lib/typescript/module/teleport/PortalProvider.d.ts +23 -0
  172. package/lib/typescript/module/teleport/PortalProvider.d.ts.map +1 -0
  173. package/lib/typescript/module/teleport/PortalProviderView.d.ts +3 -0
  174. package/lib/typescript/module/teleport/PortalProviderView.d.ts.map +1 -0
  175. package/lib/typescript/module/teleport/PortalProviderView.native.d.ts +9 -0
  176. package/lib/typescript/module/teleport/PortalProviderView.native.d.ts.map +1 -0
  177. package/lib/typescript/module/teleport/PortalView.d.ts +9 -0
  178. package/lib/typescript/module/teleport/PortalView.d.ts.map +1 -0
  179. package/lib/typescript/module/teleport/PortalView.native.d.ts +8 -0
  180. package/lib/typescript/module/teleport/PortalView.native.d.ts.map +1 -0
  181. package/lib/typescript/module/teleport/index.d.ts +29 -0
  182. package/lib/typescript/module/teleport/index.d.ts.map +1 -0
  183. package/lib/typescript/module/teleport/portal-manager.d.ts +16 -0
  184. package/lib/typescript/module/teleport/portal-manager.d.ts.map +1 -0
  185. package/lib/typescript/module/teleport/portal-registry.d.ts +10 -0
  186. package/lib/typescript/module/teleport/portal-registry.d.ts.map +1 -0
  187. package/lib/typescript/module/teleport/reducer.d.ts +40 -0
  188. package/lib/typescript/module/teleport/reducer.d.ts.map +1 -0
  189. package/lib/typescript/module/teleport/scroll-view-context/context.d.ts +4 -0
  190. package/lib/typescript/module/teleport/scroll-view-context/context.d.ts.map +1 -0
  191. package/lib/typescript/module/teleport/scroll-view-context/context.native.d.ts +13 -0
  192. package/lib/typescript/module/teleport/scroll-view-context/context.native.d.ts.map +1 -0
  193. package/lib/typescript/module/teleport/scroll-view-context/types.d.ts +10 -0
  194. package/lib/typescript/module/teleport/scroll-view-context/types.d.ts.map +1 -0
  195. package/lib/typescript/module/teleport/specs/PortalHostViewNativeComponent.d.ts +13 -0
  196. package/lib/typescript/module/teleport/specs/PortalHostViewNativeComponent.d.ts.map +1 -0
  197. package/lib/typescript/module/teleport/specs/PortalViewNativeComponent.d.ts +14 -0
  198. package/lib/typescript/module/teleport/specs/PortalViewNativeComponent.d.ts.map +1 -0
  199. package/lib/typescript/module/teleport/types.d.ts +22 -0
  200. package/lib/typescript/module/teleport/types.d.ts.map +1 -0
  201. package/lib/typescript/module/teleport/use-id.d.ts +2 -0
  202. package/lib/typescript/module/teleport/use-id.d.ts.map +1 -0
  203. package/lib/typescript/module/teleport/use-portal.d.ts +35 -0
  204. package/lib/typescript/module/teleport/use-portal.d.ts.map +1 -0
  205. package/lib/typescript/module/theme/adaptive-colors.d.ts.map +1 -1
  206. package/package.json +15 -1
  207. package/src/connection-status/index.ts +3 -0
  208. package/src/connection-status/index.web.ts +3 -0
  209. package/src/connection-status/netinfo.ts +33 -0
  210. package/src/teleport/Portal.tsx +97 -0
  211. package/src/teleport/PortalHost.tsx +61 -0
  212. package/src/teleport/PortalHostView.native.tsx +14 -0
  213. package/src/teleport/PortalHostView.tsx +30 -0
  214. package/src/teleport/PortalProvider.tsx +51 -0
  215. package/src/teleport/PortalProviderView.native.tsx +11 -0
  216. package/src/teleport/PortalProviderView.tsx +67 -0
  217. package/src/teleport/PortalView.native.tsx +7 -0
  218. package/src/teleport/PortalView.tsx +94 -0
  219. package/src/teleport/index.ts +32 -0
  220. package/src/teleport/portal-manager.tsx +48 -0
  221. package/src/teleport/portal-registry.ts +27 -0
  222. package/src/teleport/reducer.ts +94 -0
  223. package/src/teleport/scroll-view-context/context.native.ts +19 -0
  224. package/src/teleport/scroll-view-context/context.ts +12 -0
  225. package/src/teleport/scroll-view-context/types.ts +7 -0
  226. package/src/teleport/specs/PortalHostViewNativeComponent.ts +15 -0
  227. package/src/teleport/specs/PortalViewNativeComponent.ts +16 -0
  228. package/src/teleport/teleport-global.d.ts +11 -0
  229. package/src/teleport/types.ts +22 -0
  230. package/src/teleport/use-id.ts +18 -0
  231. package/src/teleport/use-portal.ts +47 -0
  232. package/src/theme/adaptive-colors.ts +37 -4
@@ -41,9 +41,30 @@ var _reactNative = require("react-native");
41
41
  */
42
42
 
43
43
  const c = v => v;
44
+ let hasWarned = false;
45
+
46
+ /**
47
+ * SAY SO. This boundary degraded in complete silence, which is the worst of the
48
+ * six: an app simply gets the preset palette instead of the platform's, and
49
+ * nothing anywhere says the platform read failed.
50
+ *
51
+ * It is only reachable on Android and iOS — `getAdaptiveColors` returns `null`
52
+ * on web before touching `require` — so an ESM bundle never gets here. That is
53
+ * an argument for warning, not against it: a failure that cannot happen in the
54
+ * environment you test in is exactly the one that goes unnoticed when it does.
55
+ */
56
+ function warnAdaptiveColorsUnavailable(reason) {
57
+ if (process.env.NODE_ENV === 'production' || hasWarned) return;
58
+ hasWarned = true;
59
+ // eslint-disable-next-line no-console
60
+ console.warn('[Bloom] The adaptive palette fell back to the preset one: `expo-router`’s ' + '`Color` proxy could not be read, so platform colours (Material You, iOS ' + 'dynamic) are not in use. Install the optional peer ' + '(`npx expo install expo-router`) if you want them. ' + `Reason: ${reason}`);
61
+ }
44
62
  function getAndroidColors() {
45
63
  try {
46
- if (typeof require === 'undefined') return null;
64
+ if (typeof require === 'undefined') {
65
+ warnAdaptiveColorsUnavailable('this bundle has no CommonJS `require`');
66
+ return null;
67
+ }
47
68
  const {
48
69
  Color
49
70
  } = require('expo-router');
@@ -83,13 +104,17 @@ function getAndroidColors() {
83
104
  shadow: 'rgba(0, 0, 0, 0.2)',
84
105
  overlay: 'rgba(0, 0, 0, 0.5)'
85
106
  };
86
- } catch {
107
+ } catch (error) {
108
+ warnAdaptiveColorsUnavailable(error instanceof Error ? error.message : String(error));
87
109
  return null;
88
110
  }
89
111
  }
90
112
  function getIOSColors() {
91
113
  try {
92
- if (typeof require === 'undefined') return null;
114
+ if (typeof require === 'undefined') {
115
+ warnAdaptiveColorsUnavailable('this bundle has no CommonJS `require`');
116
+ return null;
117
+ }
93
118
  const {
94
119
  Color
95
120
  } = require('expo-router');
@@ -129,7 +154,8 @@ function getIOSColors() {
129
154
  shadow: 'rgba(0, 0, 0, 0.15)',
130
155
  overlay: 'rgba(0, 0, 0, 0.5)'
131
156
  };
132
- } catch {
157
+ } catch (error) {
158
+ warnAdaptiveColorsUnavailable(error instanceof Error ? error.message : String(error));
133
159
  return null;
134
160
  }
135
161
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","c","v","getAndroidColors","Color","d","android","dynamic","background","surface","backgroundSecondary","surfaceContainerLow","backgroundTertiary","surfaceContainer","text","onSurface","textSecondary","onSurfaceVariant","textTertiary","outline","border","outlineVariant","borderLight","primary","primaryForeground","onPrimary","primaryLight","primaryContainer","primaryDark","onPrimaryContainer","secondary","secondaryForeground","onSecondary","tertiary","tertiaryForeground","onTertiary","tint","icon","iconActive","success","error","warning","info","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","getIOSColors","i","ios","systemBackground","secondarySystemBackground","tertiarySystemBackground","label","secondaryLabel","tertiaryLabel","separator","opaqueSeparator","systemBlue","systemGray6","systemPurple","systemTeal","systemGreen","systemRed","systemOrange","getAdaptiveColors","Platform","OS"],"sourceRoot":"../../../src","sources":["theme/adaptive-colors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","c","v","hasWarned","warnAdaptiveColorsUnavailable","reason","process","env","NODE_ENV","console","warn","getAndroidColors","Color","d","android","dynamic","background","surface","backgroundSecondary","surfaceContainerLow","backgroundTertiary","surfaceContainer","text","onSurface","textSecondary","onSurfaceVariant","textTertiary","outline","border","outlineVariant","borderLight","primary","primaryForeground","onPrimary","primaryLight","primaryContainer","primaryDark","onPrimaryContainer","secondary","secondaryForeground","onSecondary","tertiary","tertiaryForeground","onTertiary","tint","icon","iconActive","success","error","warning","info","primarySubtle","primarySubtleForeground","negative","negativeForeground","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","Error","message","String","getIOSColors","i","ios","systemBackground","secondarySystemBackground","tertiarySystemBackground","label","secondaryLabel","tertiaryLabel","separator","opaqueSeparator","systemBlue","systemGray6","systemPurple","systemTeal","systemGreen","systemRed","systemOrange","getAdaptiveColors","Platform","OS"],"sourceRoot":"../../../src","sources":["theme/adaptive-colors.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ // The hatch a consumer needs off Metro, where the optional `require` does not
4
+ // deliver the peer even when it is installed. See `netinfo.ts`.
5
+ export { provideNetInfo } from "./netinfo.js";
3
6
  export { ConnectionStatusToasts } from './ConnectionStatusToasts';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ConnectionStatusToasts"],"sourceRoot":"../../../src","sources":["connection-status/index.ts"],"mappings":";;AACA,SACEA,sBAAsB,QACjB,0BAA0B","ignoreList":[]}
1
+ {"version":3,"names":["provideNetInfo","ConnectionStatusToasts"],"sourceRoot":"../../../src","sources":["connection-status/index.ts"],"mappings":";;AACA;AACA;AACA,SAASA,cAAc,QAA0B,cAAW;AAC5D,SACEC,sBAAsB,QACjB,0BAA0B","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ // The hatch a consumer needs off Metro, where the optional `require` does not
4
+ // deliver the peer even when it is installed. See `netinfo.ts`.
5
+ export { provideNetInfo } from "./netinfo.js";
3
6
  export { ConnectionStatusToasts } from "./ConnectionStatusToasts.web.js";
4
7
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ConnectionStatusToasts"],"sourceRoot":"../../../src","sources":["connection-status/index.web.ts"],"mappings":";;AACA,SACEA,sBAAsB,QACjB,iCAA8B","ignoreList":[]}
1
+ {"version":3,"names":["provideNetInfo","ConnectionStatusToasts"],"sourceRoot":"../../../src","sources":["connection-status/index.web.ts"],"mappings":";;AACA;AACA;AACA,SAASA,cAAc,QAA0B,cAAW;AAC5D,SACEC,sBAAsB,QACjB,iCAA8B","ignoreList":[]}
@@ -63,12 +63,45 @@
63
63
 
64
64
  /** `undefined` until the first load attempt, then the module or `null`. */
65
65
  let netInfoModule;
66
+ /** Handed in by a consumer, which is the only thing that works in an ESM bundle. */
67
+ let providedModule = null;
66
68
  /** Why the load failed, quoted verbatim in the dev warning. */
67
69
  let unavailableReason = '';
68
70
  let hasWarned = false;
69
71
 
72
+ /**
73
+ * Hand Bloom the netinfo module, from a consumer that has it.
74
+ *
75
+ * THIS IS NOT A TEST HOOK. It is the only mechanism that works in an ESM
76
+ * bundle: the consumer, who knows it has the peer and which entry of it its own
77
+ * bundler resolved, hands the module in.
78
+ *
79
+ * The `require` below cannot be relied on off Metro, and the reason is worth
80
+ * knowing because the symptom is identical while the cause is not:
81
+ *
82
+ * - Rollup / Vite ESM output: `require` is undefined, the guard catches it,
83
+ * and the boundary degrades.
84
+ * - esbuild ESM output: `require` EXISTS as a shim that throws
85
+ * (`Dynamic require of "…" is not supported`), so the guard PASSES and the
86
+ * call throws inside the try. Measured with the peer installed on disk:
87
+ * `platform=node` and `platform=browser` both degraded.
88
+ *
89
+ * So a fix aimed at the `typeof require` check would have changed nothing under
90
+ * esbuild. And there is no synchronous, bundler-agnostic alternative: `import()`
91
+ * is asynchronous AND resolved at build time, so an absent package fails the
92
+ * BUILD — which is what this boundary exists to prevent.
93
+ *
94
+ * Metro is unaffected either way and needs no binding.
95
+ */
96
+ export function provideNetInfo(module) {
97
+ providedModule = module;
98
+ netInfoModule = undefined;
99
+ hasWarned = false;
100
+ }
101
+
70
102
  /** The netinfo module, or `null` when the optional peer is not installed. */
71
103
  export function loadNetInfo() {
104
+ if (providedModule !== null) return providedModule;
72
105
  if (netInfoModule !== undefined) return netInfoModule;
73
106
  netInfoModule = null;
74
107
 
@@ -1 +1 @@
1
- {"version":3,"names":["netInfoModule","unavailableReason","hasWarned","loadNetInfo","undefined","require","loaded","resolved","addEventListener","default","error","Error","message","String","warnNetInfoUnavailable","process","env","NODE_ENV","console","warn"],"sourceRoot":"../../../src","sources":["connection-status/netinfo.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAGA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA,IAAIA,aAA6C;AACjD;AACA,IAAIC,iBAAiB,GAAG,EAAE;AAC1B,IAAIC,SAAS,GAAG,KAAK;;AAErB;AACA,OAAO,SAASC,WAAWA,CAAA,EAAuB;EAChD,IAAIH,aAAa,KAAKI,SAAS,EAAE,OAAOJ,aAAa;EACrDA,aAAa,GAAG,IAAI;;EAEpB;EACA;EACA;EACA;EACA,IAAI,OAAOK,OAAO,KAAK,WAAW,EAAE;IAClCJ,iBAAiB,GAAG,uCAAuC;IAC3D,OAAOD,aAAa;EACtB;EAEA,IAAI;IACF;IACA;IACA;IACA,MAAMM,MAAM,GAAGD,OAAO,CAAC,iCAAiC,CAG3C;IACb,MAAME,QAAQ,GAAG,OAAOD,MAAM,EAAEE,gBAAgB,KAAK,UAAU,GAAGF,MAAM,GAAGA,MAAM,EAAEG,OAAO;IAE1F,IAAI,OAAOF,QAAQ,EAAEC,gBAAgB,KAAK,UAAU,EAAE;MACpDR,aAAa,GAAGO,QAAuB;IACzC,CAAC,MAAM;MACLN,iBAAiB,GAAG,0DAA0D;IAChF;EACF,CAAC,CAAC,OAAOS,KAAK,EAAE;IACdT,iBAAiB,GAAGS,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,CAAC;EAC5E;EAEA,OAAOV,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASc,sBAAsBA,CAAA,EAAS;EAC7C,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIf,SAAS,EAAE;EACxDA,SAAS,GAAG,IAAI;EAChB;EACA;EACA;EACAgB,OAAO,CAACC,IAAI,CACV,6DAA6D,GAC3D,+EAA+E,GAC/E,8EAA8E,GAC9E,6EAA6E,GAC7E,oDAAoDlB,iBAAiB,EACzE,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["netInfoModule","providedModule","unavailableReason","hasWarned","provideNetInfo","module","undefined","loadNetInfo","require","loaded","resolved","addEventListener","default","error","Error","message","String","warnNetInfoUnavailable","process","env","NODE_ENV","console","warn"],"sourceRoot":"../../../src","sources":["connection-status/netinfo.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAGA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA,IAAIA,aAA6C;AACjD;AACA,IAAIC,cAAkC,GAAG,IAAI;AAC7C;AACA,IAAIC,iBAAiB,GAAG,EAAE;AAC1B,IAAIC,SAAS,GAAG,KAAK;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,MAA0B,EAAQ;EAC/DJ,cAAc,GAAGI,MAAM;EACvBL,aAAa,GAAGM,SAAS;EACzBH,SAAS,GAAG,KAAK;AACnB;;AAEA;AACA,OAAO,SAASI,WAAWA,CAAA,EAAuB;EAChD,IAAIN,cAAc,KAAK,IAAI,EAAE,OAAOA,cAAc;EAClD,IAAID,aAAa,KAAKM,SAAS,EAAE,OAAON,aAAa;EACrDA,aAAa,GAAG,IAAI;;EAEpB;EACA;EACA;EACA;EACA,IAAI,OAAOQ,OAAO,KAAK,WAAW,EAAE;IAClCN,iBAAiB,GAAG,uCAAuC;IAC3D,OAAOF,aAAa;EACtB;EAEA,IAAI;IACF;IACA;IACA;IACA,MAAMS,MAAM,GAAGD,OAAO,CAAC,iCAAiC,CAG3C;IACb,MAAME,QAAQ,GAAG,OAAOD,MAAM,EAAEE,gBAAgB,KAAK,UAAU,GAAGF,MAAM,GAAGA,MAAM,EAAEG,OAAO;IAE1F,IAAI,OAAOF,QAAQ,EAAEC,gBAAgB,KAAK,UAAU,EAAE;MACpDX,aAAa,GAAGU,QAAuB;IACzC,CAAC,MAAM;MACLR,iBAAiB,GAAG,0DAA0D;IAChF;EACF,CAAC,CAAC,OAAOW,KAAK,EAAE;IACdX,iBAAiB,GAAGW,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,CAAC;EAC5E;EAEA,OAAOb,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiB,sBAAsBA,CAAA,EAAS;EAC7C,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIjB,SAAS,EAAE;EACxDA,SAAS,GAAG,IAAI;EAChB;EACA;EACA;EACAkB,OAAO,CAACC,IAAI,CACV,6DAA6D,GAC3D,+EAA+E,GAC/E,8EAA8E,GAC9E,6EAA6E,GAC7E,oDAAoDpB,iBAAiB,EACzE,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/components/Portal.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ import { useContext, useEffect } from "react";
10
+ import { usePortalManagerContext } from "./portal-manager.js";
11
+ import ScrollViewContext from "./scroll-view-context/context";
12
+ import PortalView from "./PortalView";
13
+ import useId from "./use-id.js";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ /**
16
+ * Portal helps you to render a component in a different place in the view hierarchy.
17
+ * This is useful when you need a view to visually “break out” of its parent container (for example: modals, toasts, floating UI, popovers).
18
+ *
19
+ * @category components
20
+ * @param hostName - The `name` of the `PortalHost`. It's used to identify the host where the content should be rendered.
21
+ * @param name - The name of the portal. It's used to identify the portal.
22
+ * @param children - The content that should be rendered in the portal.
23
+ * @example
24
+ * ```tsx
25
+ * import { useState } from "react";
26
+ * import { View, StyleSheet, Button } from "react-native";
27
+ * import { Portal } from "react-native-teleport";
28
+ * export default function InstantRootExample() {
29
+ * const [shouldBeTeleported, setTeleported] = useState(true);
30
+ * return (
31
+ * <View style={styles.container}>
32
+ * {shouldBeTeleported && (
33
+ * <Portal hostName={"overlay"}>
34
+ * <View style={styles.box} />
35
+ * </Portal>
36
+ * )}
37
+ * <Button
38
+ * title={shouldBeTeleported ? "Hide" : "Show"}
39
+ * onPress={() => setTeleported((t) => !t)}
40
+ * />
41
+ * </View>
42
+ * );
43
+ * }
44
+ * const styles = StyleSheet.create({
45
+ * container: {
46
+ * flex: 1,
47
+ * alignItems: "center",
48
+ * justifyContent: "center",
49
+ * },
50
+ * box: {
51
+ * width: 160,
52
+ * height: 160,
53
+ * marginVertical: 20,
54
+ * backgroundColor: "blue",
55
+ * },
56
+ * });
57
+ * ```
58
+ */
59
+ const PortalComponent = ({
60
+ hostName,
61
+ name,
62
+ style,
63
+ children
64
+ }) => {
65
+ const sourceScrollViewContext = useContext(ScrollViewContext);
66
+ const {
67
+ state,
68
+ dispatch
69
+ } = usePortalManagerContext();
70
+ const instanceId = useId();
71
+ const scrollViewContext = hostName && state.hosts[hostName] ? state.hostScrollViewContexts[hostName] ?? null : sourceScrollViewContext;
72
+ const isRemoved = hostName && name ? state.removed[hostName]?.[name]?.[instanceId] : false;
73
+ useEffect(() => {
74
+ if (!hostName || !name) {
75
+ return;
76
+ }
77
+ dispatch({
78
+ type: "REGISTER_PORTAL",
79
+ hostName,
80
+ name,
81
+ instanceId
82
+ });
83
+ return () => {
84
+ dispatch({
85
+ type: "CLEAR_REMOVED_ON_UNMOUNT",
86
+ hostName,
87
+ name,
88
+ instanceId
89
+ });
90
+ };
91
+ }, [dispatch, hostName, name, instanceId]);
92
+ return /*#__PURE__*/_jsx(ScrollViewContext.Provider, {
93
+ value: scrollViewContext,
94
+ children: /*#__PURE__*/_jsx(PortalView, {
95
+ hostName: hostName,
96
+ name: name,
97
+ style: style,
98
+ children: isRemoved ? null : children
99
+ })
100
+ });
101
+ };
102
+ export default PortalComponent;
103
+ //# sourceMappingURL=Portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","useEffect","usePortalManagerContext","ScrollViewContext","PortalView","useId","jsx","_jsx","PortalComponent","hostName","name","style","children","sourceScrollViewContext","state","dispatch","instanceId","scrollViewContext","hosts","hostScrollViewContexts","isRemoved","removed","type","Provider","value"],"sourceRoot":"../../../src","sources":["teleport/Portal.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,SAASC,uBAAuB,QAAQ,qBAAkB;AAC1D,OAAOC,iBAAiB,MAAM,+BAA+B;AAC7D,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,KAAK,MAAM,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,KAAK;EAAEC;AAAsB,CAAC,KAAK;EAC5E,MAAMC,uBAAuB,GAAGb,UAAU,CAACG,iBAAiB,CAAC;EAC7D,MAAM;IAAEW,KAAK;IAAEC;EAAS,CAAC,GAAGb,uBAAuB,CAAC,CAAC;EACrD,MAAMc,UAAU,GAAGX,KAAK,CAAC,CAAC;EAE1B,MAAMY,iBAAiB,GACrBR,QAAQ,IAAIK,KAAK,CAACI,KAAK,CAACT,QAAQ,CAAC,GAC5BK,KAAK,CAACK,sBAAsB,CAACV,QAAQ,CAAC,IAAI,IAAI,GAC/CI,uBAAuB;EAE7B,MAAMO,SAAS,GACbX,QAAQ,IAAIC,IAAI,GAAGI,KAAK,CAACO,OAAO,CAACZ,QAAQ,CAAC,GAAGC,IAAI,CAAC,GAAGM,UAAU,CAAC,GAAG,KAAK;EAE1Ef,SAAS,CAAC,MAAM;IACd,IAAI,CAACQ,QAAQ,IAAI,CAACC,IAAI,EAAE;MACtB;IACF;IAEAK,QAAQ,CAAC;MAAEO,IAAI,EAAE,iBAAiB;MAAEb,QAAQ;MAAEC,IAAI;MAAEM;IAAW,CAAC,CAAC;IAEjE,OAAO,MAAM;MACXD,QAAQ,CAAC;QACPO,IAAI,EAAE,0BAA0B;QAChCb,QAAQ;QACRC,IAAI;QACJM;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACD,QAAQ,EAAEN,QAAQ,EAAEC,IAAI,EAAEM,UAAU,CAAC,CAAC;EAE1C,oBACET,IAAA,CAACJ,iBAAiB,CAACoB,QAAQ;IAACC,KAAK,EAAEP,iBAAkB;IAAAL,QAAA,eACnDL,IAAA,CAACH,UAAU;MAACK,QAAQ,EAAEA,QAAS;MAACC,IAAI,EAAEA,IAAK;MAACC,KAAK,EAAEA,KAAM;MAAAC,QAAA,EACtDQ,SAAS,GAAG,IAAI,GAAGR;IAAQ,CAClB;EAAC,CACa,CAAC;AAEjC,CAAC;AAED,eAAeJ,eAAe","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/components/PortalHost.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ import { useContext, useEffect } from "react";
10
+ import { usePortalManagerContext } from "./portal-manager.js";
11
+ import ScrollViewContext from "./scroll-view-context/context";
12
+ import PortalHost from "./PortalHostView";
13
+
14
+ /**
15
+ * PortalHost is a component that acts as an anchor for the portals.
16
+ * You can define multiple portal hosts in your app and use them to render different portals.
17
+ * Each portal host has a unique name that you can use to identify a necessary one among the others.
18
+ *
19
+ * @category components
20
+ * @param name - The name of the portal host. It's used by `<Portal />` component to identify the host.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * import { StyleSheet, View } from "react-native";
25
+ * import { PortalHost, PortalProvider } from "react-native-teleport";
26
+ * export default function App() {
27
+ * return (
28
+ * <PortalProvider>
29
+ * <PortalHost style={StyleSheet.absoluteFillObject} name="overlay" />
30
+ * </PortalProvider>
31
+ * );
32
+ * }
33
+ * ```
34
+ */
35
+ import { jsx as _jsx } from "react/jsx-runtime";
36
+ const PortalHostComponent = ({
37
+ name,
38
+ children,
39
+ style
40
+ }) => {
41
+ const {
42
+ dispatch
43
+ } = usePortalManagerContext();
44
+ const scrollViewContext = useContext(ScrollViewContext);
45
+ useEffect(() => {
46
+ dispatch({
47
+ type: "REGISTER_HOST",
48
+ hostName: name
49
+ });
50
+ return () => {
51
+ dispatch({
52
+ type: "UNREGISTER_HOST",
53
+ hostName: name
54
+ });
55
+ };
56
+ }, [name, dispatch]);
57
+ useEffect(() => {
58
+ dispatch({
59
+ type: "SET_HOST_SCROLL_VIEW_CONTEXT",
60
+ hostName: name,
61
+ value: scrollViewContext
62
+ });
63
+ }, [name, dispatch, scrollViewContext]);
64
+ return /*#__PURE__*/_jsx(PortalHost, {
65
+ name: name,
66
+ style: style,
67
+ children: children
68
+ });
69
+ };
70
+ export default PortalHostComponent;
71
+ //# sourceMappingURL=PortalHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","useEffect","usePortalManagerContext","ScrollViewContext","PortalHost","jsx","_jsx","PortalHostComponent","name","children","style","dispatch","scrollViewContext","type","hostName","value"],"sourceRoot":"../../../src","sources":["teleport/PortalHost.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,SAASC,uBAAuB,QAAQ,qBAAkB;AAC1D,OAAOC,iBAAiB,MAAM,+BAA+B;AAE7D,OAAOC,UAAU,MAAM,kBAAkB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AApBA,SAAAC,GAAA,IAAAC,IAAA;AAqBA,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAuB,CAAC,KAAK;EAC1E,MAAM;IAAEC;EAAS,CAAC,GAAGT,uBAAuB,CAAC,CAAC;EAC9C,MAAMU,iBAAiB,GAAGZ,UAAU,CAACG,iBAAiB,CAAC;EAEvDF,SAAS,CAAC,MAAM;IACdU,QAAQ,CAAC;MAAEE,IAAI,EAAE,eAAe;MAAEC,QAAQ,EAAEN;IAAK,CAAC,CAAC;IAEnD,OAAO,MAAM;MACXG,QAAQ,CAAC;QAAEE,IAAI,EAAE,iBAAiB;QAAEC,QAAQ,EAAEN;MAAK,CAAC,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,CAACA,IAAI,EAAEG,QAAQ,CAAC,CAAC;EAEpBV,SAAS,CAAC,MAAM;IACdU,QAAQ,CAAC;MACPE,IAAI,EAAE,8BAA8B;MACpCC,QAAQ,EAAEN,IAAI;MACdO,KAAK,EAAEH;IACT,CAAC,CAAC;EACJ,CAAC,EAAE,CAACJ,IAAI,EAAEG,QAAQ,EAAEC,iBAAiB,CAAC,CAAC;EAEvC,oBACEN,IAAA,CAACF,UAAU;IAACI,IAAI,EAAEA,IAAK;IAACE,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAClCA;EAAQ,CACC,CAAC;AAEjB,CAAC;AAED,eAAeF,mBAAmB","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/views/PortalHost/index.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ import { memo, useEffect } from "react";
10
+ import { usePortalRegistryContext } from "./portal-registry.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ function PortalHost({
13
+ name,
14
+ children,
15
+ style
16
+ }) {
17
+ const {
18
+ registerHost
19
+ } = usePortalRegistryContext();
20
+ useEffect(() => {
21
+ return () => {
22
+ registerHost(name, null);
23
+ };
24
+ }, [name, registerHost]);
25
+ return /*#__PURE__*/_jsx("div", {
26
+ style: {
27
+ ...style,
28
+ pointerEvents: "none"
29
+ },
30
+ ref: ref => registerHost(name, ref),
31
+ children: children
32
+ });
33
+ }
34
+ export default /*#__PURE__*/memo(PortalHost);
35
+ //# sourceMappingURL=PortalHostView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useEffect","usePortalRegistryContext","jsx","_jsx","PortalHost","name","children","style","registerHost","pointerEvents","ref"],"sourceRoot":"../../../src","sources":["teleport/PortalHostView.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,SAAS,QAAQ,OAAO;AACvC,SAASC,wBAAwB,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7D,SAASC,UAAUA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAuB,CAAC,EAAE;EAC9D,MAAM;IAAEC;EAAa,CAAC,GAAGP,wBAAwB,CAAC,CAAC;EAEnDD,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXQ,YAAY,CAACH,IAAI,EAAE,IAAI,CAAC;IAC1B,CAAC;EACH,CAAC,EAAE,CAACA,IAAI,EAAEG,YAAY,CAAC,CAAC;EAExB,oBACEL,IAAA;IACEI,KAAK,EAAE;MAAE,GAAGA,KAAK;MAAEE,aAAa,EAAE;IAAO,CAAyB;IAClEC,GAAG,EAAGA,GAAG,IAAKF,YAAY,CAACH,IAAI,EAAEK,GAAG,CAAE;IAAAJ,QAAA,EAErCA;EAAQ,CACN,CAAC;AAEV;AAEA,4BAAeP,IAAI,CAACK,UAAU,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/views/PortalHost/index.native.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ import PortalHostNativeComponent from "./specs/PortalHostViewNativeComponent.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const PortalHost = props => {
12
+ return /*#__PURE__*/_jsx(PortalHostNativeComponent, {
13
+ pointerEvents: "box-none",
14
+ ...props
15
+ });
16
+ };
17
+ export default PortalHost;
18
+ //# sourceMappingURL=PortalHostView.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PortalHostNativeComponent","jsx","_jsx","PortalHost","props","pointerEvents"],"sourceRoot":"../../../src","sources":["teleport/PortalHostView.native.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,yBAAyB,MAAM,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9E,MAAMC,UAAU,GAAIC,KAAsB,IAAK;EAC7C,oBAAOF,IAAA,CAACF,yBAAyB;IAACK,aAAa,EAAC,UAAU;IAAA,GAAKD;EAAK,CAAG,CAAC;AAC1E,CAAC;AAED,eAAeD,UAAU","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/PortalProvider.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ import PortalHost from "./PortalHost.js";
10
+ import NativePortalProvider from "./PortalProviderView";
11
+ import { PortalManagerProvider } from "./portal-manager.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /**
14
+ * Wraps your app with this component to use the teleport API.
15
+ *
16
+ * This component provides a context/registry for all Portals so that you can use imperative API, such as `usePortal` hook to manage Portals.
17
+ *
18
+ * @category components
19
+ * @example
20
+ * ```tsx
21
+ * import { PortalProvider } from "react-native-teleport";
22
+ * export default function App() {
23
+ * return (
24
+ * <PortalProvider>
25
+ * //* your main application code goes here
26
+ * </PortalProvider>
27
+ * );
28
+ * }
29
+ */
30
+ export default function PortalProvider({
31
+ children
32
+ }) {
33
+ return /*#__PURE__*/_jsx(NativePortalProvider, {
34
+ children: /*#__PURE__*/_jsxs(PortalManagerProvider, {
35
+ children: [children, /*#__PURE__*/_jsx(PortalHost, {
36
+ name: "root",
37
+ style: styles.root
38
+ })]
39
+ })
40
+ });
41
+ }
42
+ const styles = {
43
+ root: {
44
+ position: "absolute",
45
+ top: 0,
46
+ bottom: 0,
47
+ left: 0,
48
+ right: 0
49
+ }
50
+ };
51
+ //# sourceMappingURL=PortalProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PortalHost","NativePortalProvider","PortalManagerProvider","jsx","_jsx","jsxs","_jsxs","PortalProvider","children","name","style","styles","root","position","top","bottom","left","right"],"sourceRoot":"../../../src","sources":["teleport/PortalProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,iBAAc;AACrC,OAAOC,oBAAoB,MAAM,sBAAsB;AACvD,SAASC,qBAAqB,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,cAAcA,CAAC;EAAEC;AAA8B,CAAC,EAAE;EACxE,oBACEJ,IAAA,CAACH,oBAAoB;IAAAO,QAAA,eACnBF,KAAA,CAACJ,qBAAqB;MAAAM,QAAA,GACnBA,QAAQ,eACTJ,IAAA,CAACJ,UAAU;QAACS,IAAI,EAAC,MAAM;QAACC,KAAK,EAAEC,MAAM,CAACC;MAAK,CAAE,CAAC;IAAA,CACzB;EAAC,CACJ,CAAC;AAE3B;AAEA,MAAMD,MAAM,GAAG;EACbC,IAAI,EAAE;IACJC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAU","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/views/PortalProvider/index.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ import { useCallback, useMemo, useRef } from "react";
10
+ import { PortalRegistryContext } from "./portal-registry.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export default function PortalProvider({
13
+ children
14
+ }) {
15
+ const hostsRef = useRef(new Map());
16
+ const pendingPortalsRef = useRef(new Map());
17
+ const registerHost = useCallback((name, node) => {
18
+ if (node) {
19
+ hostsRef.current.set(name, node);
20
+ } else {
21
+ hostsRef.current.delete(name);
22
+ }
23
+ const callbacks = pendingPortalsRef.current.get(name);
24
+ if (callbacks) {
25
+ callbacks.forEach(callback => callback());
26
+ }
27
+ }, []);
28
+ const getHost = useCallback(name => hostsRef.current.get(name) ?? null, []);
29
+ const registerPendingPortal = useCallback((name, callback) => {
30
+ const callbacks = pendingPortalsRef.current.get(name) ?? new Set();
31
+ callbacks.add(callback);
32
+ pendingPortalsRef.current.set(name, callbacks);
33
+ }, []);
34
+ const unregisterPendingPortal = useCallback((name, callback) => {
35
+ const callbacks = pendingPortalsRef.current.get(name);
36
+ if (callbacks) {
37
+ callbacks.delete(callback);
38
+ if (callbacks.size === 0) {
39
+ pendingPortalsRef.current.delete(name);
40
+ }
41
+ }
42
+ }, []);
43
+ const value = useMemo(() => ({
44
+ registerHost,
45
+ getHost,
46
+ registerPendingPortal,
47
+ unregisterPendingPortal
48
+ }), [registerHost, getHost, registerPendingPortal, unregisterPendingPortal]);
49
+ return /*#__PURE__*/_jsx(PortalRegistryContext.Provider, {
50
+ value: value,
51
+ children: children
52
+ });
53
+ }
54
+ //# sourceMappingURL=PortalProviderView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useRef","PortalRegistryContext","jsx","_jsx","PortalProvider","children","hostsRef","Map","pendingPortalsRef","registerHost","name","node","current","set","delete","callbacks","get","forEach","callback","getHost","registerPendingPortal","Set","add","unregisterPendingPortal","size","value","Provider"],"sourceRoot":"../../../src","sources":["teleport/PortalProviderView.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACpD,SAASC,qBAAqB,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1D,eAAe,SAASC,cAAcA,CAAC;EAAEC;AAA8B,CAAC,EAAE;EACxE,MAAMC,QAAQ,GAAGN,MAAM,CAA2B,IAAIO,GAAG,CAAC,CAAC,CAAC;EAC5D,MAAMC,iBAAiB,GAAGR,MAAM,CAA+B,IAAIO,GAAG,CAAC,CAAC,CAAC;EAEzE,MAAME,YAAY,GAAGX,WAAW,CAAC,CAACY,IAAY,EAAEC,IAAwB,KAAK;IAC3E,IAAIA,IAAI,EAAE;MACRL,QAAQ,CAACM,OAAO,CAACC,GAAG,CAACH,IAAI,EAAEC,IAAI,CAAC;IAClC,CAAC,MAAM;MACLL,QAAQ,CAACM,OAAO,CAACE,MAAM,CAACJ,IAAI,CAAC;IAC/B;IAEA,MAAMK,SAAS,GAAGP,iBAAiB,CAACI,OAAO,CAACI,GAAG,CAACN,IAAI,CAAC;IACrD,IAAIK,SAAS,EAAE;MACbA,SAAS,CAACE,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C;EACF,CAAC,EAAE,EAAE,CAAC;EACN,MAAMC,OAAO,GAAGrB,WAAW,CACxBY,IAAY,IAAKJ,QAAQ,CAACM,OAAO,CAACI,GAAG,CAACN,IAAI,CAAC,IAAI,IAAI,EACpD,EACF,CAAC;EACD,MAAMU,qBAAqB,GAAGtB,WAAW,CACvC,CAACY,IAAY,EAAEQ,QAAoB,KAAK;IACtC,MAAMH,SAAS,GAAGP,iBAAiB,CAACI,OAAO,CAACI,GAAG,CAACN,IAAI,CAAC,IAAI,IAAIW,GAAG,CAAC,CAAC;IAClEN,SAAS,CAACO,GAAG,CAACJ,QAAQ,CAAC;IACvBV,iBAAiB,CAACI,OAAO,CAACC,GAAG,CAACH,IAAI,EAAEK,SAAS,CAAC;EAChD,CAAC,EACD,EACF,CAAC;EACD,MAAMQ,uBAAuB,GAAGzB,WAAW,CACzC,CAACY,IAAY,EAAEQ,QAAoB,KAAK;IACtC,MAAMH,SAAS,GAAGP,iBAAiB,CAACI,OAAO,CAACI,GAAG,CAACN,IAAI,CAAC;IACrD,IAAIK,SAAS,EAAE;MACbA,SAAS,CAACD,MAAM,CAACI,QAAQ,CAAC;MAC1B,IAAIH,SAAS,CAACS,IAAI,KAAK,CAAC,EAAE;QACxBhB,iBAAiB,CAACI,OAAO,CAACE,MAAM,CAACJ,IAAI,CAAC;MACxC;IACF;EACF,CAAC,EACD,EACF,CAAC;EAED,MAAMe,KAAK,GAAG1B,OAAO,CACnB,OAAO;IACLU,YAAY;IACZU,OAAO;IACPC,qBAAqB;IACrBG;EACF,CAAC,CAAC,EACF,CAACd,YAAY,EAAEU,OAAO,EAAEC,qBAAqB,EAAEG,uBAAuB,CACxE,CAAC;EAED,oBACEpB,IAAA,CAACF,qBAAqB,CAACyB,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAApB,QAAA,EAC1CA;EAAQ,CACqB,CAAC;AAErC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/views/PortalProvider/index.native.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: nothing — byte-for-byte, only its path.
8
+ */
9
+
10
+ export default function PortalProvider({
11
+ children
12
+ }) {
13
+ return children;
14
+ }
15
+ //# sourceMappingURL=PortalProviderView.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PortalProvider","children"],"sourceRoot":"../../../src","sources":["teleport/PortalProviderView.native.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAGA,eAAe,SAASA,cAAcA,CAAC;EAAEC;AAA8B,CAAC,EAAE;EACxE,OAAOA,QAAQ;AACjB","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * COPIED FROM react-native-teleport 1.2.0 — `src/views/Portal/index.tsx`
5
+ * MIT, Copyright (c) 2025 Kiryl Ziusko. Full licence in `NOTICE` at the root.
6
+ *
7
+ * Changed: import paths only, for this flat directory.
8
+ */
9
+ /// <reference lib="dom" />
10
+
11
+ import { useRef, useLayoutEffect, useCallback } from "react";
12
+ import { createPortal } from "react-dom";
13
+ import { usePortalRegistryContext } from "./portal-registry.js";
14
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
15
+ const supportsMoveBefore = typeof Element !== "undefined" && "moveBefore" in Element.prototype;
16
+ function moveElementTo(parent, child, before = null) {
17
+ if (supportsMoveBefore && child.parentNode) {
18
+ parent.moveBefore(child, before);
19
+ return;
20
+ }
21
+ if (child.parentNode) {
22
+ child.parentNode.removeChild(child);
23
+ }
24
+ parent.insertBefore(child, before);
25
+ }
26
+ export default function Portal({
27
+ hostName,
28
+ children,
29
+ style
30
+ }) {
31
+ const {
32
+ getHost,
33
+ registerPendingPortal,
34
+ unregisterPendingPortal
35
+ } = usePortalRegistryContext();
36
+ const elRef = useRef(null);
37
+ if (!elRef.current) {
38
+ elRef.current = document.createElement("div");
39
+ }
40
+ const sentinelRef = useRef(null);
41
+ useLayoutEffect(() => {
42
+ if (elRef.current && style) {
43
+ Object.assign(elRef.current.style, style);
44
+ }
45
+ }, [style]);
46
+ const teleportToHost = useCallback(() => {
47
+ const el = elRef.current;
48
+ if (!el) return;
49
+ const hostNode = hostName ? getHost(hostName) : null;
50
+ if (hostNode) {
51
+ // teleport view to the host
52
+ moveElementTo(hostNode, el);
53
+ } else if (sentinelRef.current && sentinelRef.current.parentElement) {
54
+ // keep view locally
55
+ const parent = sentinelRef.current.parentElement;
56
+ moveElementTo(parent, el, sentinelRef.current);
57
+ }
58
+ }, [hostName, getHost]);
59
+ useLayoutEffect(() => {
60
+ teleportToHost();
61
+ if (!hostName) return;
62
+ registerPendingPortal(hostName, teleportToHost);
63
+ return () => {
64
+ unregisterPendingPortal(hostName, teleportToHost);
65
+ };
66
+ }, [hostName, registerPendingPortal, unregisterPendingPortal, teleportToHost]);
67
+ return /*#__PURE__*/_jsxs(_Fragment, {
68
+ children: [/*#__PURE__*/createPortal(children, elRef.current), /*#__PURE__*/_jsx("div", {
69
+ ref: sentinelRef,
70
+ style: styles.anchor
71
+ })]
72
+ });
73
+ }
74
+ const styles = {
75
+ anchor: {
76
+ display: "contents"
77
+ }
78
+ };
79
+ //# sourceMappingURL=PortalView.js.map