@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.
- package/docs/getting-started.mdx +29 -15
- package/docs/media-flight.mdx +14 -9
- package/docs/teleport.mdx +72 -0
- package/lib/commonjs/connection-status/index.js +7 -0
- package/lib/commonjs/connection-status/index.js.map +1 -1
- package/lib/commonjs/connection-status/index.web.js +7 -0
- package/lib/commonjs/connection-status/index.web.js.map +1 -1
- package/lib/commonjs/connection-status/netinfo.js +34 -0
- package/lib/commonjs/connection-status/netinfo.js.map +1 -1
- package/lib/commonjs/teleport/Portal.js +109 -0
- package/lib/commonjs/teleport/Portal.js.map +1 -0
- package/lib/commonjs/teleport/PortalHost.js +75 -0
- package/lib/commonjs/teleport/PortalHost.js.map +1 -0
- package/lib/commonjs/teleport/PortalHostView.js +40 -0
- package/lib/commonjs/teleport/PortalHostView.js.map +1 -0
- package/lib/commonjs/teleport/PortalHostView.native.js +24 -0
- package/lib/commonjs/teleport/PortalHostView.native.js.map +1 -0
- package/lib/commonjs/teleport/PortalProvider.js +57 -0
- package/lib/commonjs/teleport/PortalProvider.js.map +1 -0
- package/lib/commonjs/teleport/PortalProviderView.js +59 -0
- package/lib/commonjs/teleport/PortalProviderView.js.map +1 -0
- package/lib/commonjs/teleport/PortalProviderView.native.js +19 -0
- package/lib/commonjs/teleport/PortalProviderView.native.js.map +1 -0
- package/lib/commonjs/teleport/PortalView.js +83 -0
- package/lib/commonjs/teleport/PortalView.js.map +1 -0
- package/lib/commonjs/teleport/PortalView.native.js +14 -0
- package/lib/commonjs/teleport/PortalView.native.js.map +1 -0
- package/lib/commonjs/teleport/index.js +35 -0
- package/lib/commonjs/teleport/index.js.map +1 -0
- package/lib/commonjs/teleport/portal-manager.js +40 -0
- package/lib/commonjs/teleport/portal-manager.js.map +1 -0
- package/lib/commonjs/teleport/portal-registry.js +24 -0
- package/lib/commonjs/teleport/portal-registry.js.map +1 -0
- package/lib/commonjs/teleport/reducer.js +86 -0
- package/lib/commonjs/teleport/reducer.js.map +1 -0
- package/lib/commonjs/teleport/scroll-view-context/context.js +17 -0
- package/lib/commonjs/teleport/scroll-view-context/context.js.map +1 -0
- package/lib/commonjs/teleport/scroll-view-context/context.native.js +22 -0
- package/lib/commonjs/teleport/scroll-view-context/context.native.js.map +1 -0
- package/lib/commonjs/teleport/scroll-view-context/types.js +2 -0
- package/lib/commonjs/teleport/scroll-view-context/types.js.map +1 -0
- package/lib/commonjs/teleport/specs/PortalHostViewNativeComponent.js +17 -0
- package/lib/commonjs/teleport/specs/PortalHostViewNativeComponent.js.map +1 -0
- package/lib/commonjs/teleport/specs/PortalViewNativeComponent.js +17 -0
- package/lib/commonjs/teleport/specs/PortalViewNativeComponent.js.map +1 -0
- package/lib/commonjs/teleport/teleport-global.d.js +2 -0
- package/lib/commonjs/teleport/teleport-global.d.js.map +1 -0
- package/lib/commonjs/teleport/types.js +6 -0
- package/lib/commonjs/teleport/types.js.map +1 -0
- package/lib/commonjs/teleport/use-id.js +24 -0
- package/lib/commonjs/teleport/use-id.js.map +1 -0
- package/lib/commonjs/teleport/use-portal.js +59 -0
- package/lib/commonjs/teleport/use-portal.js.map +1 -0
- package/lib/commonjs/theme/adaptive-colors.js +30 -4
- package/lib/commonjs/theme/adaptive-colors.js.map +1 -1
- package/lib/module/connection-status/index.js +3 -0
- package/lib/module/connection-status/index.js.map +1 -1
- package/lib/module/connection-status/index.web.js +3 -0
- package/lib/module/connection-status/index.web.js.map +1 -1
- package/lib/module/connection-status/netinfo.js +33 -0
- package/lib/module/connection-status/netinfo.js.map +1 -1
- package/lib/module/teleport/Portal.js +103 -0
- package/lib/module/teleport/Portal.js.map +1 -0
- package/lib/module/teleport/PortalHost.js +71 -0
- package/lib/module/teleport/PortalHost.js.map +1 -0
- package/lib/module/teleport/PortalHostView.js +35 -0
- package/lib/module/teleport/PortalHostView.js.map +1 -0
- package/lib/module/teleport/PortalHostView.native.js +18 -0
- package/lib/module/teleport/PortalHostView.native.js.map +1 -0
- package/lib/module/teleport/PortalProvider.js +51 -0
- package/lib/module/teleport/PortalProvider.js.map +1 -0
- package/lib/module/teleport/PortalProviderView.js +54 -0
- package/lib/module/teleport/PortalProviderView.js.map +1 -0
- package/lib/module/teleport/PortalProviderView.native.js +15 -0
- package/lib/module/teleport/PortalProviderView.native.js.map +1 -0
- package/lib/module/teleport/PortalView.js +79 -0
- package/lib/module/teleport/PortalView.js.map +1 -0
- package/lib/module/teleport/PortalView.native.js +10 -0
- package/lib/module/teleport/PortalView.native.js.map +1 -0
- package/lib/module/teleport/index.js +30 -0
- package/lib/module/teleport/index.js.map +1 -0
- package/lib/module/teleport/portal-manager.js +33 -0
- package/lib/module/teleport/portal-manager.js.map +1 -0
- package/lib/module/teleport/portal-registry.js +18 -0
- package/lib/module/teleport/portal-registry.js.map +1 -0
- package/lib/module/teleport/reducer.js +81 -0
- package/lib/module/teleport/reducer.js.map +1 -0
- package/lib/module/teleport/scroll-view-context/context.js +12 -0
- package/lib/module/teleport/scroll-view-context/context.js.map +1 -0
- package/lib/module/teleport/scroll-view-context/context.native.js +18 -0
- package/lib/module/teleport/scroll-view-context/context.native.js.map +1 -0
- package/lib/module/teleport/scroll-view-context/types.js +2 -0
- package/lib/module/teleport/scroll-view-context/types.js.map +1 -0
- package/lib/module/teleport/specs/PortalHostViewNativeComponent.js +13 -0
- package/lib/module/teleport/specs/PortalHostViewNativeComponent.js.map +1 -0
- package/lib/module/teleport/specs/PortalViewNativeComponent.js +13 -0
- package/lib/module/teleport/specs/PortalViewNativeComponent.js.map +1 -0
- package/lib/module/teleport/teleport-global.d.js +2 -0
- package/lib/module/teleport/teleport-global.d.js.map +1 -0
- package/lib/module/teleport/types.js +4 -0
- package/lib/module/teleport/types.js.map +1 -0
- package/lib/module/teleport/use-id.js +19 -0
- package/lib/module/teleport/use-id.js.map +1 -0
- package/lib/module/teleport/use-portal.js +55 -0
- package/lib/module/teleport/use-portal.js.map +1 -0
- package/lib/module/theme/adaptive-colors.js +30 -4
- package/lib/module/theme/adaptive-colors.js.map +1 -1
- package/lib/typescript/commonjs/connection-status/index.d.ts +1 -0
- package/lib/typescript/commonjs/connection-status/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-status/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/connection-status/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/connection-status/netinfo.d.ts +25 -0
- package/lib/typescript/commonjs/connection-status/netinfo.d.ts.map +1 -1
- package/lib/typescript/commonjs/teleport/Portal.d.ts +48 -0
- package/lib/typescript/commonjs/teleport/Portal.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalHost.d.ts +25 -0
- package/lib/typescript/commonjs/teleport/PortalHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalHostView.d.ts +5 -0
- package/lib/typescript/commonjs/teleport/PortalHostView.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalHostView.native.d.ts +4 -0
- package/lib/typescript/commonjs/teleport/PortalHostView.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalProvider.d.ts +23 -0
- package/lib/typescript/commonjs/teleport/PortalProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalProviderView.d.ts +3 -0
- package/lib/typescript/commonjs/teleport/PortalProviderView.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalProviderView.native.d.ts +9 -0
- package/lib/typescript/commonjs/teleport/PortalProviderView.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalView.d.ts +9 -0
- package/lib/typescript/commonjs/teleport/PortalView.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/PortalView.native.d.ts +8 -0
- package/lib/typescript/commonjs/teleport/PortalView.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/index.d.ts +29 -0
- package/lib/typescript/commonjs/teleport/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/portal-manager.d.ts +16 -0
- package/lib/typescript/commonjs/teleport/portal-manager.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/portal-registry.d.ts +10 -0
- package/lib/typescript/commonjs/teleport/portal-registry.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/reducer.d.ts +40 -0
- package/lib/typescript/commonjs/teleport/reducer.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/scroll-view-context/context.d.ts +4 -0
- package/lib/typescript/commonjs/teleport/scroll-view-context/context.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/scroll-view-context/context.native.d.ts +13 -0
- package/lib/typescript/commonjs/teleport/scroll-view-context/context.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/scroll-view-context/types.d.ts +10 -0
- package/lib/typescript/commonjs/teleport/scroll-view-context/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/specs/PortalHostViewNativeComponent.d.ts +13 -0
- package/lib/typescript/commonjs/teleport/specs/PortalHostViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/specs/PortalViewNativeComponent.d.ts +14 -0
- package/lib/typescript/commonjs/teleport/specs/PortalViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/types.d.ts +22 -0
- package/lib/typescript/commonjs/teleport/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/use-id.d.ts +2 -0
- package/lib/typescript/commonjs/teleport/use-id.d.ts.map +1 -0
- package/lib/typescript/commonjs/teleport/use-portal.d.ts +35 -0
- package/lib/typescript/commonjs/teleport/use-portal.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/adaptive-colors.d.ts.map +1 -1
- package/lib/typescript/module/connection-status/index.d.ts +1 -0
- package/lib/typescript/module/connection-status/index.d.ts.map +1 -1
- package/lib/typescript/module/connection-status/index.web.d.ts +1 -0
- package/lib/typescript/module/connection-status/index.web.d.ts.map +1 -1
- package/lib/typescript/module/connection-status/netinfo.d.ts +25 -0
- package/lib/typescript/module/connection-status/netinfo.d.ts.map +1 -1
- package/lib/typescript/module/teleport/Portal.d.ts +48 -0
- package/lib/typescript/module/teleport/Portal.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalHost.d.ts +25 -0
- package/lib/typescript/module/teleport/PortalHost.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalHostView.d.ts +5 -0
- package/lib/typescript/module/teleport/PortalHostView.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalHostView.native.d.ts +4 -0
- package/lib/typescript/module/teleport/PortalHostView.native.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalProvider.d.ts +23 -0
- package/lib/typescript/module/teleport/PortalProvider.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalProviderView.d.ts +3 -0
- package/lib/typescript/module/teleport/PortalProviderView.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalProviderView.native.d.ts +9 -0
- package/lib/typescript/module/teleport/PortalProviderView.native.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalView.d.ts +9 -0
- package/lib/typescript/module/teleport/PortalView.d.ts.map +1 -0
- package/lib/typescript/module/teleport/PortalView.native.d.ts +8 -0
- package/lib/typescript/module/teleport/PortalView.native.d.ts.map +1 -0
- package/lib/typescript/module/teleport/index.d.ts +29 -0
- package/lib/typescript/module/teleport/index.d.ts.map +1 -0
- package/lib/typescript/module/teleport/portal-manager.d.ts +16 -0
- package/lib/typescript/module/teleport/portal-manager.d.ts.map +1 -0
- package/lib/typescript/module/teleport/portal-registry.d.ts +10 -0
- package/lib/typescript/module/teleport/portal-registry.d.ts.map +1 -0
- package/lib/typescript/module/teleport/reducer.d.ts +40 -0
- package/lib/typescript/module/teleport/reducer.d.ts.map +1 -0
- package/lib/typescript/module/teleport/scroll-view-context/context.d.ts +4 -0
- package/lib/typescript/module/teleport/scroll-view-context/context.d.ts.map +1 -0
- package/lib/typescript/module/teleport/scroll-view-context/context.native.d.ts +13 -0
- package/lib/typescript/module/teleport/scroll-view-context/context.native.d.ts.map +1 -0
- package/lib/typescript/module/teleport/scroll-view-context/types.d.ts +10 -0
- package/lib/typescript/module/teleport/scroll-view-context/types.d.ts.map +1 -0
- package/lib/typescript/module/teleport/specs/PortalHostViewNativeComponent.d.ts +13 -0
- package/lib/typescript/module/teleport/specs/PortalHostViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/teleport/specs/PortalViewNativeComponent.d.ts +14 -0
- package/lib/typescript/module/teleport/specs/PortalViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/teleport/types.d.ts +22 -0
- package/lib/typescript/module/teleport/types.d.ts.map +1 -0
- package/lib/typescript/module/teleport/use-id.d.ts +2 -0
- package/lib/typescript/module/teleport/use-id.d.ts.map +1 -0
- package/lib/typescript/module/teleport/use-portal.d.ts +35 -0
- package/lib/typescript/module/teleport/use-portal.d.ts.map +1 -0
- package/lib/typescript/module/theme/adaptive-colors.d.ts.map +1 -1
- package/package.json +15 -1
- package/src/connection-status/index.ts +3 -0
- package/src/connection-status/index.web.ts +3 -0
- package/src/connection-status/netinfo.ts +33 -0
- package/src/teleport/Portal.tsx +97 -0
- package/src/teleport/PortalHost.tsx +61 -0
- package/src/teleport/PortalHostView.native.tsx +14 -0
- package/src/teleport/PortalHostView.tsx +30 -0
- package/src/teleport/PortalProvider.tsx +51 -0
- package/src/teleport/PortalProviderView.native.tsx +11 -0
- package/src/teleport/PortalProviderView.tsx +67 -0
- package/src/teleport/PortalView.native.tsx +7 -0
- package/src/teleport/PortalView.tsx +94 -0
- package/src/teleport/index.ts +32 -0
- package/src/teleport/portal-manager.tsx +48 -0
- package/src/teleport/portal-registry.ts +27 -0
- package/src/teleport/reducer.ts +94 -0
- package/src/teleport/scroll-view-context/context.native.ts +19 -0
- package/src/teleport/scroll-view-context/context.ts +12 -0
- package/src/teleport/scroll-view-context/types.ts +7 -0
- package/src/teleport/specs/PortalHostViewNativeComponent.ts +15 -0
- package/src/teleport/specs/PortalViewNativeComponent.ts +16 -0
- package/src/teleport/teleport-global.d.ts +11 -0
- package/src/teleport/types.ts +22 -0
- package/src/teleport/use-id.ts +18 -0
- package/src/teleport/use-portal.ts +47 -0
- 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')
|
|
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')
|
|
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,MAAMC,CAAC,GAAIC,CAAU,IAAaA,CAAW;AAE7C,SAASC,gBAAgBA,CAAA,EAA0B;EACjD,IAAI;IACF,IAAI,
|
|
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,
|
|
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,
|
|
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","
|
|
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
|