stream-chat-react-native-core 9.10.0-beta.1 → 9.10.1-beta.1
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/lib/commonjs/components/UIComponents/PortalWhileClosingView.js +8 -5
- package/lib/commonjs/components/UIComponents/PortalWhileClosingView.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/ClosingPortalHostsLayer.js +8 -4
- package/lib/commonjs/contexts/overlayContext/ClosingPortalHostsLayer.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js +25 -11
- package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayHostLayerContext.js +10 -0
- package/lib/commonjs/contexts/overlayContext/OverlayHostLayerContext.js.map +1 -0
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +16 -6
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/state-store/message-overlay-store.js +47 -18
- package/lib/commonjs/state-store/message-overlay-store.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/UIComponents/PortalWhileClosingView.js +8 -5
- package/lib/module/components/UIComponents/PortalWhileClosingView.js.map +1 -1
- package/lib/module/contexts/overlayContext/ClosingPortalHostsLayer.js +8 -4
- package/lib/module/contexts/overlayContext/ClosingPortalHostsLayer.js.map +1 -1
- package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js +25 -11
- package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayHostLayerContext.js +10 -0
- package/lib/module/contexts/overlayContext/OverlayHostLayerContext.js.map +1 -0
- package/lib/module/contexts/overlayContext/OverlayProvider.js +16 -6
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/state-store/message-overlay-store.js +47 -18
- package/lib/module/state-store/message-overlay-store.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/UIComponents/PortalWhileClosingView.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/ClosingPortalHostsLayer.d.ts +10 -1
- package/lib/typescript/contexts/overlayContext/ClosingPortalHostsLayer.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts +9 -1
- package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/OverlayHostLayerContext.d.ts +8 -0
- package/lib/typescript/contexts/overlayContext/OverlayHostLayerContext.d.ts.map +1 -0
- package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
- package/lib/typescript/state-store/message-overlay-store.d.ts +16 -0
- package/lib/typescript/state-store/message-overlay-store.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/UIComponents/PortalWhileClosingView.tsx +15 -4
- package/src/components/UIComponents/__tests__/PortalWhileClosingView.test.tsx +38 -0
- package/src/contexts/overlayContext/ClosingPortalHostsLayer.tsx +18 -2
- package/src/contexts/overlayContext/MessageOverlayHostLayer.tsx +47 -16
- package/src/contexts/overlayContext/OverlayHostLayerContext.ts +9 -0
- package/src/contexts/overlayContext/OverlayProvider.tsx +12 -7
- package/src/contexts/overlayContext/__tests__/ClosingPortalHostsLayer.test.tsx +27 -0
- package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +84 -6
- package/src/state-store/__tests__/message-overlay-store.test.tsx +97 -0
- package/src/state-store/message-overlay-store.ts +70 -11
- package/src/version.json +1 -1
|
@@ -2,7 +2,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.useShouldTeleportToClosingPortal = exports.useOverlayController = exports.useIsOverlayClosing = exports.useIsOverlayActive = exports.useHasActiveId = exports.useClosingPortalLayouts = exports.useClosingPortalHostBlacklistState = exports.useClosingPortalHostBlacklist = exports.setOverlayTopH = exports.setOverlayMessageH = exports.setOverlayBottomH = exports.setClosingPortalLayout = exports.scheduleActionOnClose = exports.registerOverlaySharedValueController = exports.overlayStore = exports.openOverlay = exports.finalizeCloseOverlay = exports.createClosingPortalLayoutRegistrationId = exports.closeOverlay = exports.clearClosingPortalLayout = exports.bumpOverlayLayoutRevision = exports.activeIdSelector = void 0;
|
|
5
|
+
exports.useShouldTeleportToClosingPortal = exports.useOverlayController = exports.useIsTopOverlayHostLayer = exports.useIsOverlayClosing = exports.useIsOverlayActive = exports.useHasActiveId = exports.useClosingPortalLayouts = exports.useClosingPortalHostBlacklistState = exports.useClosingPortalHostBlacklist = exports.setOverlayTopH = exports.setOverlayMessageH = exports.setOverlayBottomH = exports.setClosingPortalLayout = exports.scheduleActionOnClose = exports.registerOverlaySharedValueController = exports.registerOverlayHostLayer = exports.overlayStore = exports.openOverlay = exports.finalizeCloseOverlay = exports.createOverlayHostLayerId = exports.createClosingPortalLayoutRegistrationId = exports.closeOverlay = exports.clearClosingPortalLayout = exports.bumpOverlayLayoutRevision = exports.activeIdSelector = void 0;
|
|
6
6
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
@@ -21,43 +21,42 @@ var DefaultClosingPortalLayoutsState = {
|
|
|
21
21
|
var closingPortalLayoutRegistrationCounter = 0;
|
|
22
22
|
var closingPortalHostBlacklistRegistrationCounter = 0;
|
|
23
23
|
var closingPortalHostBlacklistStack = [];
|
|
24
|
-
var
|
|
24
|
+
var sharedValueControllerStack = [];
|
|
25
|
+
var getSharedValueController = () => sharedValueControllerStack[sharedValueControllerStack.length - 1];
|
|
25
26
|
var registerOverlaySharedValueController = controller => {
|
|
26
|
-
|
|
27
|
+
sharedValueControllerStack = [...sharedValueControllerStack, controller];
|
|
27
28
|
return () => {
|
|
28
|
-
|
|
29
|
-
sharedValueController = undefined;
|
|
30
|
-
}
|
|
29
|
+
sharedValueControllerStack = sharedValueControllerStack.filter(registeredController => registeredController !== controller);
|
|
31
30
|
};
|
|
32
31
|
};
|
|
33
32
|
exports.registerOverlaySharedValueController = registerOverlaySharedValueController;
|
|
34
33
|
var setOverlayMessageH = messageH => {
|
|
35
|
-
var
|
|
36
|
-
(
|
|
34
|
+
var _getSharedValueContro;
|
|
35
|
+
(_getSharedValueContro = getSharedValueController()) == null || _getSharedValueContro.setMessageH(messageH);
|
|
37
36
|
};
|
|
38
37
|
exports.setOverlayMessageH = setOverlayMessageH;
|
|
39
38
|
var setOverlayTopH = topH => {
|
|
40
|
-
var
|
|
41
|
-
(
|
|
39
|
+
var _getSharedValueContro2;
|
|
40
|
+
(_getSharedValueContro2 = getSharedValueController()) == null || _getSharedValueContro2.setTopH(topH);
|
|
42
41
|
};
|
|
43
42
|
exports.setOverlayTopH = setOverlayTopH;
|
|
44
43
|
var setOverlayBottomH = bottomH => {
|
|
45
|
-
var
|
|
46
|
-
(
|
|
44
|
+
var _getSharedValueContro3;
|
|
45
|
+
(_getSharedValueContro3 = getSharedValueController()) == null || _getSharedValueContro3.setBottomH(bottomH);
|
|
47
46
|
};
|
|
48
47
|
exports.setOverlayBottomH = setOverlayBottomH;
|
|
49
48
|
var bumpOverlayLayoutRevision = (closeCorrectionDeltaY = 0) => {
|
|
50
|
-
var
|
|
51
|
-
(
|
|
49
|
+
var _getSharedValueContro4;
|
|
50
|
+
(_getSharedValueContro4 = getSharedValueController()) == null || _getSharedValueContro4.incrementCloseCorrectionY(closeCorrectionDeltaY);
|
|
52
51
|
};
|
|
53
52
|
exports.bumpOverlayLayoutRevision = bumpOverlayLayoutRevision;
|
|
54
53
|
var openOverlay = params => {
|
|
55
|
-
var
|
|
54
|
+
var _getSharedValueContro5;
|
|
56
55
|
var overlayPayload = typeof params === 'string' ? {
|
|
57
56
|
id: params,
|
|
58
57
|
messageId: undefined
|
|
59
58
|
} : params;
|
|
60
|
-
(
|
|
59
|
+
(_getSharedValueContro5 = getSharedValueController()) == null || _getSharedValueContro5.resetCloseCorrectionY();
|
|
61
60
|
overlayStore.partialNext({
|
|
62
61
|
closing: false,
|
|
63
62
|
closingPortalHostBlacklist: getCurrentClosingPortalHostBlacklist(),
|
|
@@ -91,7 +90,7 @@ var scheduleActionOnClose = action => {
|
|
|
91
90
|
};
|
|
92
91
|
exports.scheduleActionOnClose = scheduleActionOnClose;
|
|
93
92
|
var finalizeCloseOverlay = () => {
|
|
94
|
-
var
|
|
93
|
+
var _getSharedValueContro6;
|
|
95
94
|
if (!overlayStore.getLatestValue().id) {
|
|
96
95
|
return;
|
|
97
96
|
}
|
|
@@ -99,13 +98,43 @@ var finalizeCloseOverlay = () => {
|
|
|
99
98
|
...DefaultState,
|
|
100
99
|
closingPortalHostBlacklist: getCurrentClosingPortalHostBlacklist()
|
|
101
100
|
});
|
|
102
|
-
(
|
|
101
|
+
(_getSharedValueContro6 = getSharedValueController()) == null || _getSharedValueContro6.reset();
|
|
103
102
|
};
|
|
104
103
|
exports.finalizeCloseOverlay = finalizeCloseOverlay;
|
|
105
104
|
var overlayStore = exports.overlayStore = new _streamChat.StateStore(DefaultState);
|
|
106
105
|
var closingPortalLayoutsStore = new _streamChat.StateStore(DefaultClosingPortalLayoutsState);
|
|
107
106
|
var createClosingPortalLayoutRegistrationId = () => `closing-portal-layout-${closingPortalLayoutRegistrationCounter++}`;
|
|
108
107
|
exports.createClosingPortalLayoutRegistrationId = createClosingPortalLayoutRegistrationId;
|
|
108
|
+
var overlayHostLayerRegistrationCounter = 0;
|
|
109
|
+
var overlayHostLayersStore = new _streamChat.StateStore({
|
|
110
|
+
hostLayerIds: []
|
|
111
|
+
});
|
|
112
|
+
var createOverlayHostLayerId = () => `overlay-host-layer-${overlayHostLayerRegistrationCounter++}`;
|
|
113
|
+
exports.createOverlayHostLayerId = createOverlayHostLayerId;
|
|
114
|
+
var registerOverlayHostLayer = id => {
|
|
115
|
+
overlayHostLayersStore.partialNext({
|
|
116
|
+
hostLayerIds: [...overlayHostLayersStore.getLatestValue().hostLayerIds, id]
|
|
117
|
+
});
|
|
118
|
+
return () => {
|
|
119
|
+
overlayHostLayersStore.partialNext({
|
|
120
|
+
hostLayerIds: overlayHostLayersStore.getLatestValue().hostLayerIds.filter(hostLayerId => hostLayerId !== id)
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
exports.registerOverlayHostLayer = registerOverlayHostLayer;
|
|
125
|
+
var topOverlayHostLayer = {
|
|
126
|
+
isTop: true
|
|
127
|
+
};
|
|
128
|
+
var notTopOverlayHostLayer = {
|
|
129
|
+
isTop: false
|
|
130
|
+
};
|
|
131
|
+
var useIsTopOverlayHostLayer = id => {
|
|
132
|
+
var isTopOverlayHostLayerSelector = (0, _react.useCallback)(({
|
|
133
|
+
hostLayerIds
|
|
134
|
+
}) => !id || !hostLayerIds.length || hostLayerIds[hostLayerIds.length - 1] === id ? topOverlayHostLayer : notTopOverlayHostLayer, [id]);
|
|
135
|
+
return (0, _hooks.useStateStore)(overlayHostLayersStore, isTopOverlayHostLayerSelector).isTop;
|
|
136
|
+
};
|
|
137
|
+
exports.useIsTopOverlayHostLayer = useIsTopOverlayHostLayer;
|
|
109
138
|
var getCurrentClosingPortalHostBlacklist = () => {
|
|
110
139
|
var _closingPortalHostBla, _closingPortalHostBla2;
|
|
111
140
|
return (_closingPortalHostBla = (_closingPortalHostBla2 = closingPortalHostBlacklistStack[closingPortalHostBlacklistStack.length - 1]) == null ? void 0 : _closingPortalHostBla2.hostNames) != null ? _closingPortalHostBla : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_streamChat","_shim","_hooks","DefaultState","closingPortalHostBlacklist","closing","id","undefined","messageId","DefaultClosingPortalLayoutsState","layouts","closingPortalLayoutRegistrationCounter","closingPortalHostBlacklistRegistrationCounter","closingPortalHostBlacklistStack","sharedValueController","registerOverlaySharedValueController","controller","exports","setOverlayMessageH","messageH","_sharedValueControlle","setMessageH","setOverlayTopH","topH","_sharedValueControlle2","setTopH","setOverlayBottomH","bottomH","_sharedValueControlle3","setBottomH","bumpOverlayLayoutRevision","closeCorrectionDeltaY","_sharedValueControlle4","incrementCloseCorrectionY","openOverlay","params","_sharedValueControlle5","overlayPayload","resetCloseCorrectionY","overlayStore","partialNext","getCurrentClosingPortalHostBlacklist","closeOverlay","getLatestValue","requestAnimationFrame","actionQueue","scheduleActionOnClose","action","_overlayStore$getLate","push","finalizeCloseOverlay","_sharedValueControlle6","next","reset","StateStore","closingPortalLayoutsStore","createClosingPortalLayoutRegistrationId","_closingPortalHostBla","_closingPortalHostBla2","length","hostNames","syncClosingPortalHostBlacklist","createClosingPortalHostBlacklistRegistrationId","setClosingPortalHostBlacklist","existingEntryIndex","findIndex","entry","map","index","clearClosingPortalHostBlacklist","nextBlacklistStack","filter","setClosingPortalLayout","hostName","layout","_layouts$hostName","_closingPortalLayouts","hostEntries","existingEntry","find","value","makeMutable","clearClosingPortalLayout","_closingPortalLayouts2","nextHostEntries","nextLayouts","actionQueueSelector","nextState","active","subscribeWithSelector","_ref","_asyncToGenerator2","default","actions","_i","_actions","error","console","warn","_x","apply","arguments","selector","useOverlayController","useStateStore","overlayClosingSelector","closingPortalHostBlacklistSelector","useIsOverlayClosing","useClosingPortalHostBlacklistState","useShouldTeleportToClosingPortal","_hostEntries","closingPortalLayouts","useClosingPortalLayouts","includes","useClosingPortalHostBlacklist","enabled","registrationIdRef","useRef","current","registrationId","serializedNormalizedHostNames","JSON","stringify","Set","useEffect","parse","subscribe","useCallback","listener","getSnapshot","useSyncExternalStore","noOpObject","useIsOverlayActive","messageOverlaySelector","activeIdSelector","useHasActiveId","_useStateStore"],"sourceRoot":"../../../src","sources":["state-store/message-overlay-store.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_streamChat","_shim","_hooks","DefaultState","closingPortalHostBlacklist","closing","id","undefined","messageId","DefaultClosingPortalLayoutsState","layouts","closingPortalLayoutRegistrationCounter","closingPortalHostBlacklistRegistrationCounter","closingPortalHostBlacklistStack","sharedValueControllerStack","getSharedValueController","length","registerOverlaySharedValueController","controller","filter","registeredController","exports","setOverlayMessageH","messageH","_getSharedValueContro","setMessageH","setOverlayTopH","topH","_getSharedValueContro2","setTopH","setOverlayBottomH","bottomH","_getSharedValueContro3","setBottomH","bumpOverlayLayoutRevision","closeCorrectionDeltaY","_getSharedValueContro4","incrementCloseCorrectionY","openOverlay","params","_getSharedValueContro5","overlayPayload","resetCloseCorrectionY","overlayStore","partialNext","getCurrentClosingPortalHostBlacklist","closeOverlay","getLatestValue","requestAnimationFrame","actionQueue","scheduleActionOnClose","action","_overlayStore$getLate","push","finalizeCloseOverlay","_getSharedValueContro6","next","reset","StateStore","closingPortalLayoutsStore","createClosingPortalLayoutRegistrationId","overlayHostLayerRegistrationCounter","overlayHostLayersStore","hostLayerIds","createOverlayHostLayerId","registerOverlayHostLayer","hostLayerId","topOverlayHostLayer","isTop","notTopOverlayHostLayer","useIsTopOverlayHostLayer","isTopOverlayHostLayerSelector","useCallback","useStateStore","_closingPortalHostBla","_closingPortalHostBla2","hostNames","syncClosingPortalHostBlacklist","createClosingPortalHostBlacklistRegistrationId","setClosingPortalHostBlacklist","existingEntryIndex","findIndex","entry","map","index","clearClosingPortalHostBlacklist","nextBlacklistStack","setClosingPortalLayout","hostName","layout","_layouts$hostName","_closingPortalLayouts","hostEntries","existingEntry","find","value","makeMutable","clearClosingPortalLayout","_closingPortalLayouts2","nextHostEntries","nextLayouts","actionQueueSelector","nextState","active","subscribeWithSelector","_ref","_asyncToGenerator2","default","actions","_i","_actions","error","console","warn","_x","apply","arguments","selector","useOverlayController","overlayClosingSelector","closingPortalHostBlacklistSelector","useIsOverlayClosing","useClosingPortalHostBlacklistState","useShouldTeleportToClosingPortal","_hostEntries","closingPortalLayouts","useClosingPortalLayouts","includes","useClosingPortalHostBlacklist","enabled","registrationIdRef","useRef","current","registrationId","serializedNormalizedHostNames","JSON","stringify","Set","useEffect","parse","subscribe","listener","getSnapshot","useSyncExternalStore","noOpObject","useIsOverlayActive","messageOverlaySelector","activeIdSelector","useHasActiveId","_useStateStore"],"sourceRoot":"../../../src","sources":["state-store/message-overlay-store.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalWhileClosingView.d.ts","sourceRoot":"","sources":["../../../../src/components/UIComponents/PortalWhileClosingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA8B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PortalWhileClosingView.d.ts","sourceRoot":"","sources":["../../../../src/components/UIComponents/PortalWhileClosingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA8B,MAAM,OAAO,CAAC;AAqBrE,KAAK,2BAA2B,GAAG;IACjC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,sBAAsB,GAAI,2CAIpC,2BAA2B,sBA+C7B,CAAC"}
|
|
@@ -2,7 +2,16 @@ import React from 'react';
|
|
|
2
2
|
import { SharedValue } from 'react-native-reanimated';
|
|
3
3
|
type ClosingPortalHostsLayerProps = {
|
|
4
4
|
closeCoverOpacity: SharedValue<number>;
|
|
5
|
+
/**
|
|
6
|
+
* Id of the owning host layer, used to park the slot hosts while that layer is not the top one.
|
|
7
|
+
*/
|
|
8
|
+
hostLayerId?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the owning host layer is the top one. Slots of any other layer park their hosts under
|
|
11
|
+
* names unique to that layer, so they never take the shared names from the top layer.
|
|
12
|
+
*/
|
|
13
|
+
isTopHostLayer?: boolean;
|
|
5
14
|
};
|
|
6
|
-
export declare const ClosingPortalHostsLayer: ({ closeCoverOpacity }: ClosingPortalHostsLayerProps) => React.JSX.Element;
|
|
15
|
+
export declare const ClosingPortalHostsLayer: ({ closeCoverOpacity, hostLayerId, isTopHostLayer, }: ClosingPortalHostsLayerProps) => React.JSX.Element;
|
|
7
16
|
export {};
|
|
8
17
|
//# sourceMappingURL=ClosingPortalHostsLayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClosingPortalHostsLayer.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/ClosingPortalHostsLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAiB,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClosingPortalHostsLayer.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/ClosingPortalHostsLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAiB,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAC;AA2ClF,KAAK,4BAA4B,GAAG;IAClC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,qDAIrC,4BAA4B,sBA+B9B,CAAC"}
|
|
@@ -8,5 +8,13 @@ export type MessageActionsProps = {
|
|
|
8
8
|
portalHostStyle: StyleProp<ViewStyle>;
|
|
9
9
|
topItemStyle: StyleProp<AnimatedStyle<ViewStyle>>;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type MessageOverlayHostLayerProps = {
|
|
12
|
+
/**
|
|
13
|
+
* Id under which this layer registers on the host layer stack. `OverlayProvider` passes its own
|
|
14
|
+
* so that views inside the provider can tell whether this layer is the top one.
|
|
15
|
+
*/
|
|
16
|
+
hostLayerId: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const MessageOverlayHostLayer: ({ hostLayerId }: MessageOverlayHostLayerProps) => React.JSX.Element;
|
|
19
|
+
export {};
|
|
12
20
|
//# sourceMappingURL=MessageOverlayHostLayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageOverlayHostLayer.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/MessageOverlayHostLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageOverlayHostLayer.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/MessageOverlayHostLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAC3E,OAAO,EAML,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAiB,EACf,KAAK,aAAa,EASnB,MAAM,yBAAyB,CAAC;AAuBjC,eAAO,MAAM,+BAA+B,yBAkB3C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,iBAAiB,4BAA4B,sBA+XpF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The id of the `MessageOverlayHostLayer` rendered by the nearest `OverlayProvider`. Views that
|
|
4
|
+
* teleport into that layer use it to tell whether their provider currently owns the overlay.
|
|
5
|
+
*/
|
|
6
|
+
export declare const OverlayHostLayerContext: React.Context<string | undefined>;
|
|
7
|
+
export declare const useOverlayHostLayerId: () => string | undefined;
|
|
8
|
+
//# sourceMappingURL=OverlayHostLayerContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlayHostLayerContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/OverlayHostLayerContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,mCAAqD,CAAC;AAE1F,eAAO,MAAM,qBAAqB,0BAA4C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/OverlayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAgC,MAAM,OAAO,CAAC;AAS/E,OAAO,EAAkB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OverlayProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/overlayContext/OverlayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAgC,MAAM,OAAO,CAAC;AAS/E,OAAO,EAAkB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAkBxE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,iBAAiB,CAAC,oBAAoB,CAAC,sBAqF7E,CAAC"}
|
|
@@ -39,6 +39,22 @@ export declare const scheduleActionOnClose: (action: () => void | Promise<void>)
|
|
|
39
39
|
export declare const finalizeCloseOverlay: () => void;
|
|
40
40
|
export declare const overlayStore: StateStore<OverlayState>;
|
|
41
41
|
export declare const createClosingPortalLayoutRegistrationId: () => string;
|
|
42
|
+
export declare const createOverlayHostLayerId: () => string;
|
|
43
|
+
/**
|
|
44
|
+
* Registers a `MessageOverlayHostLayer` (one per `OverlayProvider`) using stack semantics.
|
|
45
|
+
*
|
|
46
|
+
* Only the most recently registered layer drives the overlay and owns the shared portal host names.
|
|
47
|
+
* Portal hosts are looked up by name in a single native registry, so two layers using the same
|
|
48
|
+
* names would take them over from each other. The other layers park their hosts under names unique
|
|
49
|
+
* to them, and when the top layer unregisters the previous one takes the shared names back.
|
|
50
|
+
*/
|
|
51
|
+
export declare const registerOverlayHostLayer: (id: string) => () => void;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the host layer with the given id is the one that currently owns the overlay. A missing
|
|
54
|
+
* id (used outside of an `OverlayProvider`) or an empty stack counts as the top, which keeps the
|
|
55
|
+
* single provider setup identical to before the stack existed.
|
|
56
|
+
*/
|
|
57
|
+
export declare const useIsTopOverlayHostLayer: (id: string | undefined) => boolean;
|
|
42
58
|
export declare const setClosingPortalLayout: (hostName: string, id: string, layout: Rect) => void;
|
|
43
59
|
export declare const clearClosingPortalLayout: (hostName: string, id: string) => void;
|
|
44
60
|
export declare const useOverlayController: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-overlay-store.d.ts","sourceRoot":"","sources":["../../../src/state-store/message-overlay-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,KAAK,YAAY,GAAG;IAClB,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAC9E,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAmBF,KAAK,4BAA4B,GAAG;IAClC,yBAAyB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"message-overlay-store.d.ts","sourceRoot":"","sources":["../../../src/state-store/message-overlay-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "9.10.
|
|
4
|
+
"version": "9.10.1-beta.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -6,6 +6,7 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
|
6
6
|
import { Portal } from 'react-native-teleport';
|
|
7
7
|
|
|
8
8
|
import { measureInWindow } from '../../components/Message/utils/measureInWindow';
|
|
9
|
+
import { useOverlayHostLayerId } from '../../contexts/overlayContext/OverlayHostLayerContext';
|
|
9
10
|
import { useStableCallback } from '../../hooks';
|
|
10
11
|
import {
|
|
11
12
|
clearClosingPortalLayout,
|
|
@@ -14,6 +15,7 @@ import {
|
|
|
14
15
|
useShouldTeleportToClosingPortal,
|
|
15
16
|
useHasActiveId,
|
|
16
17
|
useIsOverlayClosing,
|
|
18
|
+
useIsTopOverlayHostLayer,
|
|
17
19
|
} from '../../state-store';
|
|
18
20
|
import type { ViewRef } from '../../types/react-native-compat';
|
|
19
21
|
|
|
@@ -79,11 +81,16 @@ export const PortalWhileClosingView = ({
|
|
|
79
81
|
|
|
80
82
|
const registrationId = registrationIdRef.current;
|
|
81
83
|
|
|
84
|
+
const overlayHostLayerId = useOverlayHostLayerId();
|
|
85
|
+
const isTopOverlayHostLayer = useIsTopOverlayHostLayer(overlayHostLayerId);
|
|
86
|
+
|
|
82
87
|
const { syncPortalLayout, containerRef, placeholderLayout } = useSyncingApi(
|
|
83
88
|
portalHostName,
|
|
84
89
|
registrationId,
|
|
90
|
+
isTopOverlayHostLayer,
|
|
85
91
|
);
|
|
86
|
-
const shouldTeleport =
|
|
92
|
+
const shouldTeleport =
|
|
93
|
+
useShouldTeleportToClosingPortal(portalHostName, registrationId) && isTopOverlayHostLayer;
|
|
87
94
|
|
|
88
95
|
useEffect(() => {
|
|
89
96
|
return () => {
|
|
@@ -114,7 +121,11 @@ export const PortalWhileClosingView = ({
|
|
|
114
121
|
);
|
|
115
122
|
};
|
|
116
123
|
|
|
117
|
-
const useSyncingApi = (
|
|
124
|
+
const useSyncingApi = (
|
|
125
|
+
portalHostName: string,
|
|
126
|
+
registrationId: string,
|
|
127
|
+
isTopOverlayHostLayer: boolean,
|
|
128
|
+
) => {
|
|
118
129
|
const containerRef = useRef<ViewRef | null>(null);
|
|
119
130
|
const placeholderLayout = useSharedValue({ h: 0, w: 0 });
|
|
120
131
|
const insets = useSafeAreaInsets();
|
|
@@ -122,7 +133,7 @@ const useSyncingApi = (portalHostName: string, registrationId: string) => {
|
|
|
122
133
|
const isClosing = useIsOverlayClosing();
|
|
123
134
|
|
|
124
135
|
const syncPortalLayout = useStableCallback(() => {
|
|
125
|
-
if (!hasActiveId && !isClosing) {
|
|
136
|
+
if ((!hasActiveId && !isClosing) || !isTopOverlayHostLayer) {
|
|
126
137
|
return;
|
|
127
138
|
}
|
|
128
139
|
|
|
@@ -140,7 +151,7 @@ const useSyncingApi = (portalHostName: string, registrationId: string) => {
|
|
|
140
151
|
if (hasActiveId || isClosing) {
|
|
141
152
|
syncPortalLayout();
|
|
142
153
|
}
|
|
143
|
-
}, [insets.bottom, isClosing, hasActiveId, syncPortalLayout]);
|
|
154
|
+
}, [insets.bottom, isClosing, hasActiveId, isTopOverlayHostLayer, syncPortalLayout]);
|
|
144
155
|
|
|
145
156
|
return useMemo(
|
|
146
157
|
() => ({ syncPortalLayout, containerRef, placeholderLayout }),
|
|
@@ -3,6 +3,7 @@ import { Text } from 'react-native';
|
|
|
3
3
|
|
|
4
4
|
import { act, cleanup, render, screen } from '@testing-library/react-native';
|
|
5
5
|
|
|
6
|
+
import { OverlayHostLayerContext } from '../../../contexts/overlayContext/OverlayHostLayerContext';
|
|
6
7
|
import * as stateStore from '../../../state-store';
|
|
7
8
|
import { PortalWhileClosingView } from '../PortalWhileClosingView';
|
|
8
9
|
|
|
@@ -172,4 +173,41 @@ describe('PortalWhileClosingView', () => {
|
|
|
172
173
|
|
|
173
174
|
expect(screen.getByTestId('teleport-state')).toHaveTextContent('false');
|
|
174
175
|
});
|
|
176
|
+
|
|
177
|
+
it('stays in place while its overlay provider is not the top one', () => {
|
|
178
|
+
let unregisterRootLayer = () => {};
|
|
179
|
+
let unregisterNestedLayer = () => {};
|
|
180
|
+
|
|
181
|
+
act(() => {
|
|
182
|
+
unregisterRootLayer = stateStore.registerOverlayHostLayer('root-layer');
|
|
183
|
+
unregisterNestedLayer = stateStore.registerOverlayHostLayer('nested-layer');
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
render(
|
|
187
|
+
<OverlayHostLayerContext.Provider value='root-layer'>
|
|
188
|
+
<PortalWhileClosingView portalHostName='overlay-composer' portalName='composer-portal'>
|
|
189
|
+
<Text>Composer</Text>
|
|
190
|
+
</PortalWhileClosingView>
|
|
191
|
+
</OverlayHostLayerContext.Provider>,
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
act(() => {
|
|
195
|
+
stateStore.setClosingPortalLayout('overlay-composer', 'registration-1', BASE_RECT);
|
|
196
|
+
stateStore.openOverlay('message-1');
|
|
197
|
+
stateStore.closeOverlay();
|
|
198
|
+
});
|
|
199
|
+
flushAnimationFrameQueue();
|
|
200
|
+
|
|
201
|
+
expect(screen.queryByTestId('portal-while-closing-placeholder-composer-portal')).toBeNull();
|
|
202
|
+
|
|
203
|
+
act(() => {
|
|
204
|
+
unregisterNestedLayer();
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
expect(screen.getByTestId('portal-while-closing-placeholder-composer-portal')).toBeTruthy();
|
|
208
|
+
|
|
209
|
+
act(() => {
|
|
210
|
+
unregisterRootLayer();
|
|
211
|
+
});
|
|
212
|
+
});
|
|
175
213
|
});
|
|
@@ -9,12 +9,14 @@ type ClosingPortalHostSlotProps = {
|
|
|
9
9
|
closeCoverOpacity: SharedValue<number>;
|
|
10
10
|
hostName: string;
|
|
11
11
|
layout: ClosingPortalLayoutEntry['layout'];
|
|
12
|
+
portalHostName: string;
|
|
12
13
|
};
|
|
13
14
|
|
|
14
15
|
const ClosingPortalHostSlot = ({
|
|
15
16
|
closeCoverOpacity,
|
|
16
17
|
hostName,
|
|
17
18
|
layout,
|
|
19
|
+
portalHostName,
|
|
18
20
|
}: ClosingPortalHostSlotProps) => {
|
|
19
21
|
const style = useAnimatedStyle(() => {
|
|
20
22
|
const value = layout.value;
|
|
@@ -36,16 +38,29 @@ const ClosingPortalHostSlot = ({
|
|
|
36
38
|
style={style}
|
|
37
39
|
testID={`closing-portal-host-slot-${hostName}`}
|
|
38
40
|
>
|
|
39
|
-
<PortalHost name={
|
|
41
|
+
<PortalHost name={portalHostName} style={styles.absoluteFill} />
|
|
40
42
|
</Animated.View>
|
|
41
43
|
);
|
|
42
44
|
};
|
|
43
45
|
|
|
44
46
|
type ClosingPortalHostsLayerProps = {
|
|
45
47
|
closeCoverOpacity: SharedValue<number>;
|
|
48
|
+
/**
|
|
49
|
+
* Id of the owning host layer, used to park the slot hosts while that layer is not the top one.
|
|
50
|
+
*/
|
|
51
|
+
hostLayerId?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the owning host layer is the top one. Slots of any other layer park their hosts under
|
|
54
|
+
* names unique to that layer, so they never take the shared names from the top layer.
|
|
55
|
+
*/
|
|
56
|
+
isTopHostLayer?: boolean;
|
|
46
57
|
};
|
|
47
58
|
|
|
48
|
-
export const ClosingPortalHostsLayer = ({
|
|
59
|
+
export const ClosingPortalHostsLayer = ({
|
|
60
|
+
closeCoverOpacity,
|
|
61
|
+
hostLayerId,
|
|
62
|
+
isTopHostLayer = true,
|
|
63
|
+
}: ClosingPortalHostsLayerProps) => {
|
|
49
64
|
const closingPortalLayoutStacks = useClosingPortalLayouts();
|
|
50
65
|
const closingPortalHosts = useMemo(() => {
|
|
51
66
|
const topHosts: Array<{
|
|
@@ -71,6 +86,7 @@ export const ClosingPortalHostsLayer = ({ closeCoverOpacity }: ClosingPortalHost
|
|
|
71
86
|
hostName={hostName}
|
|
72
87
|
key={hostName}
|
|
73
88
|
layout={layout}
|
|
89
|
+
portalHostName={isTopHostLayer ? hostName : `${hostName}:${hostLayerId}`}
|
|
74
90
|
/>
|
|
75
91
|
))}
|
|
76
92
|
</>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useEffect, useMemo, useRef } from 'react';
|
|
1
|
+
import React, { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
BackHandler,
|
|
4
4
|
I18nManager,
|
|
@@ -33,8 +33,10 @@ import { useScreenOrientation } from '../../hooks';
|
|
|
33
33
|
import {
|
|
34
34
|
closeOverlay,
|
|
35
35
|
finalizeCloseOverlay,
|
|
36
|
+
registerOverlayHostLayer,
|
|
36
37
|
registerOverlaySharedValueController,
|
|
37
38
|
Rect,
|
|
39
|
+
useIsTopOverlayHostLayer,
|
|
38
40
|
useOverlayController,
|
|
39
41
|
} from '../../state-store';
|
|
40
42
|
import { useComponentsContext } from '../componentsContext/ComponentsContext';
|
|
@@ -69,9 +71,21 @@ export type MessageActionsProps = {
|
|
|
69
71
|
topItemStyle: StyleProp<AnimatedStyle<ViewStyle>>;
|
|
70
72
|
};
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
type MessageOverlayHostLayerProps = {
|
|
75
|
+
/**
|
|
76
|
+
* Id under which this layer registers on the host layer stack. `OverlayProvider` passes its own
|
|
77
|
+
* so that views inside the provider can tell whether this layer is the top one.
|
|
78
|
+
*/
|
|
79
|
+
hostLayerId: string;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const MessageOverlayHostLayer = ({ hostLayerId }: MessageOverlayHostLayerProps) => {
|
|
73
83
|
const { MessageActions, MessageOverlayBackground } = useComponentsContext();
|
|
74
84
|
const { id, closing } = useOverlayController();
|
|
85
|
+
|
|
86
|
+
useLayoutEffect(() => registerOverlayHostLayer(hostLayerId), [hostLayerId]);
|
|
87
|
+
|
|
88
|
+
const isTop = useIsTopOverlayHostLayer(hostLayerId);
|
|
75
89
|
const insets = useSafeAreaInsets();
|
|
76
90
|
const { height: screenH } = useWindowDimensions();
|
|
77
91
|
const messageH = useSharedValue<Rect>(undefined);
|
|
@@ -86,7 +100,7 @@ export const MessageOverlayHostLayer = () => {
|
|
|
86
100
|
// if the navigation bar is actually 0 - we end up animating a little bit further.
|
|
87
101
|
const bottomInset = insets.bottom === 0 && Platform.OS === 'android' ? 60 : insets.bottom;
|
|
88
102
|
|
|
89
|
-
const isActive = !!id;
|
|
103
|
+
const isActive = !!id && isTop;
|
|
90
104
|
|
|
91
105
|
const announce = useAccessibilityAnnouncer();
|
|
92
106
|
const overlayOpenHint = useA11yLabel('a11y/Swipe right to go through different actions');
|
|
@@ -127,8 +141,10 @@ export const MessageOverlayHostLayer = () => {
|
|
|
127
141
|
return;
|
|
128
142
|
}
|
|
129
143
|
prevOrientationRef.current = orientation;
|
|
130
|
-
|
|
131
|
-
|
|
144
|
+
if (isTop) {
|
|
145
|
+
finalizeCloseOverlay();
|
|
146
|
+
}
|
|
147
|
+
}, [isTop, orientation]);
|
|
132
148
|
|
|
133
149
|
const padding = 8;
|
|
134
150
|
const minY = topInset + padding;
|
|
@@ -201,6 +217,9 @@ export const MessageOverlayHostLayer = () => {
|
|
|
201
217
|
);
|
|
202
218
|
|
|
203
219
|
useEffect(() => {
|
|
220
|
+
if (!isTop) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
204
223
|
const target = isActive && !closing ? 1 : 0;
|
|
205
224
|
backdrop.value = withSpring(target, { duration: DURATION + target * 100 }, (finished) => {
|
|
206
225
|
if (finished && closing) {
|
|
@@ -208,7 +227,7 @@ export const MessageOverlayHostLayer = () => {
|
|
|
208
227
|
}
|
|
209
228
|
});
|
|
210
229
|
closeCoverOpacity.value = withSpring(closing ? 1 : 0, { duration: DURATION });
|
|
211
|
-
}, [isActive, closing, backdrop, closeCoverOpacity]);
|
|
230
|
+
}, [isActive, isTop, closing, backdrop, closeCoverOpacity]);
|
|
212
231
|
|
|
213
232
|
const backdropStyle = useAnimatedStyle(() => ({
|
|
214
233
|
opacity: backdrop.value,
|
|
@@ -375,6 +394,10 @@ export const MessageOverlayHostLayer = () => {
|
|
|
375
394
|
[bottomH, bottomShiftY, messageShiftY, pan, topH],
|
|
376
395
|
);
|
|
377
396
|
|
|
397
|
+
const messageHostName = isTop ? 'message-overlay' : `message-overlay:${hostLayerId}`;
|
|
398
|
+
const topItemHostName = isTop ? 'top-item' : `top-item:${hostLayerId}`;
|
|
399
|
+
const bottomItemHostName = isTop ? 'bottom-item' : `bottom-item:${hostLayerId}`;
|
|
400
|
+
|
|
378
401
|
return (
|
|
379
402
|
<GestureDetector gesture={tap}>
|
|
380
403
|
<View
|
|
@@ -398,12 +421,16 @@ export const MessageOverlayHostLayer = () => {
|
|
|
398
421
|
) : null}
|
|
399
422
|
|
|
400
423
|
{MessageActions ? (
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
424
|
+
// A custom `MessageActions` renders its own hosts with the shared names, so only the
|
|
425
|
+
// top layer renders it.
|
|
426
|
+
isTop ? (
|
|
427
|
+
<MessageActions
|
|
428
|
+
bottomItemStyle={bottomItemStyle}
|
|
429
|
+
hostStyle={hostStyle}
|
|
430
|
+
portalHostStyle={styles.absoluteFill}
|
|
431
|
+
topItemStyle={topItemStyle}
|
|
432
|
+
/>
|
|
433
|
+
) : null
|
|
407
434
|
) : (
|
|
408
435
|
<>
|
|
409
436
|
{/*
|
|
@@ -412,22 +439,26 @@ export const MessageOverlayHostLayer = () => {
|
|
|
412
439
|
*/}
|
|
413
440
|
<GestureDetector gesture={pan}>
|
|
414
441
|
<Animated.View style={hostStyle} testID='message-overlay-message'>
|
|
415
|
-
<PortalHost name=
|
|
442
|
+
<PortalHost name={messageHostName} style={styles.absoluteFill} />
|
|
416
443
|
</Animated.View>
|
|
417
444
|
</GestureDetector>
|
|
418
445
|
|
|
419
446
|
<Animated.View style={topItemStyle} testID='message-overlay-top'>
|
|
420
|
-
<PortalHost name=
|
|
447
|
+
<PortalHost name={topItemHostName} style={styles.absoluteFill} />
|
|
421
448
|
</Animated.View>
|
|
422
449
|
|
|
423
450
|
<Animated.View style={bottomItemStyle} testID='message-overlay-bottom'>
|
|
424
|
-
<PortalHost name=
|
|
451
|
+
<PortalHost name={bottomItemHostName} style={styles.absoluteFill} />
|
|
425
452
|
</Animated.View>
|
|
426
453
|
</>
|
|
427
454
|
)}
|
|
428
455
|
</View>
|
|
429
456
|
|
|
430
|
-
<ClosingPortalHostsLayer
|
|
457
|
+
<ClosingPortalHostsLayer
|
|
458
|
+
closeCoverOpacity={closeCoverOpacity}
|
|
459
|
+
hostLayerId={hostLayerId}
|
|
460
|
+
isTopHostLayer={isTop}
|
|
461
|
+
/>
|
|
431
462
|
</View>
|
|
432
463
|
</GestureDetector>
|
|
433
464
|
);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The id of the `MessageOverlayHostLayer` rendered by the nearest `OverlayProvider`. Views that
|
|
5
|
+
* teleport into that layer use it to tell whether their provider currently owns the overlay.
|
|
6
|
+
*/
|
|
7
|
+
export const OverlayHostLayerContext = React.createContext<string | undefined>(undefined);
|
|
8
|
+
|
|
9
|
+
export const useOverlayHostLayerId = () => useContext(OverlayHostLayerContext);
|