stream-chat-react-native-core 8.0.0-rc.10 → 8.0.0-rc.11
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/contexts/messageComposerContext/MessageComposerAPIContext.js +1 -12
- package/lib/commonjs/contexts/messageComposerContext/MessageComposerAPIContext.js.map +1 -1
- package/lib/commonjs/contexts/messageComposerContext/MessageComposerContext.js +8 -2
- package/lib/commonjs/contexts/messageComposerContext/MessageComposerContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageComposer.js +62 -0
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageComposer.js.map +1 -0
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageComposer.js +3 -59
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageComposer.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/contexts/messageComposerContext/MessageComposerAPIContext.js +1 -12
- package/lib/module/contexts/messageComposerContext/MessageComposerAPIContext.js.map +1 -1
- package/lib/module/contexts/messageComposerContext/MessageComposerContext.js +8 -2
- package/lib/module/contexts/messageComposerContext/MessageComposerContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageComposer.js +62 -0
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageComposer.js.map +1 -0
- package/lib/module/contexts/messageInputContext/hooks/useMessageComposer.js +3 -59
- package/lib/module/contexts/messageInputContext/hooks/useMessageComposer.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/contexts/messageComposerContext/MessageComposerAPIContext.d.ts +1 -1
- package/lib/typescript/contexts/messageComposerContext/MessageComposerAPIContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageComposerContext/MessageComposerContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageComposer.d.ts +4 -0
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageComposer.d.ts.map +1 -0
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageComposer.d.ts +1 -4
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageComposer.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/contexts/messageComposerContext/MessageComposerAPIContext.tsx +3 -13
- package/src/contexts/messageComposerContext/MessageComposerContext.tsx +9 -2
- package/src/contexts/messageInputContext/hooks/useCreateMessageComposer.ts +88 -0
- package/src/contexts/messageInputContext/hooks/useMessageComposer.ts +2 -90
- package/src/version.json +1 -1
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
});
|
|
4
4
|
exports.useMessageComposerAPIContext = exports.MessageComposerAPIProvider = exports.MessageComposerAPIContext = void 0;
|
|
5
5
|
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
-
var _hooks = require("../../hooks");
|
|
7
|
-
var _useMessageComposer = require("../messageInputContext/hooks/useMessageComposer");
|
|
8
6
|
var _defaultBaseContextValue = require("../utils/defaultBaseContextValue");
|
|
9
7
|
var _isTestEnvironment = require("../utils/isTestEnvironment");
|
|
10
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -16,17 +14,8 @@ var MessageComposerAPIContext = exports.MessageComposerAPIContext = _react.defau
|
|
|
16
14
|
var MessageComposerAPIProvider = exports.MessageComposerAPIProvider = function MessageComposerAPIProvider(_ref) {
|
|
17
15
|
var children = _ref.children,
|
|
18
16
|
value = _ref.value;
|
|
19
|
-
var messageComposer = (0, _useMessageComposer.useMessageComposer)();
|
|
20
|
-
var setQuotedMessage = (0, _hooks.useStableCallback)(function (message) {
|
|
21
|
-
return messageComposer.setQuotedMessage(message);
|
|
22
|
-
});
|
|
23
|
-
var contextValue = (0, _react.useMemo)(function () {
|
|
24
|
-
return Object.assign({
|
|
25
|
-
setQuotedMessage: setQuotedMessage
|
|
26
|
-
}, value);
|
|
27
|
-
}, [setQuotedMessage, value]);
|
|
28
17
|
return (0, _jsxRuntime.jsx)(MessageComposerAPIContext.Provider, {
|
|
29
|
-
value:
|
|
18
|
+
value: value,
|
|
30
19
|
children: children
|
|
31
20
|
});
|
|
32
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_defaultBaseContextValue","_isTestEnvironment","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageComposerAPIContext","exports","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageComposerAPIProvider","_ref","children","value","jsx","Provider","useMessageComposerAPIContext","contextValue","useContext","isTestEnvironment","Error"],"sourceRoot":"../../../../src","sources":["contexts/messageComposerContext/MessageComposerAPIContext.tsx"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAAA,IAAAI,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQxD,IAAMW,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAGE,cAAK,CAACC,aAAa,CAC1DC,mDACF,CAAC;AAMM,IAAMC,0BAA0B,GAAAJ,OAAA,CAAAI,0BAAA,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA,EAAmC;EAAA,IAA7BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;EAC1D,OACE,IAAA/B,WAAA,CAAAgC,GAAA,EAACT,yBAAyB,CAACU,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAC9CA;EAAQ,CACyB,CAAC;AAEzC,CAAC;AAEM,IAAMI,4BAA4B,GAAAV,OAAA,CAAAU,4BAAA,GAAG,SAA/BA,4BAA4BA,CAAA,EAAS;EAChD,IAAMC,YAAY,GAAG,IAAAC,iBAAU,EAC7Bb,yBACF,CAA8C;EAE9C,IAAIY,YAAY,KAAKR,mDAA0B,IAAI,CAAC,IAAAU,oCAAiB,EAAC,CAAC,EAAE;IACvE,MAAM,IAAIC,KAAK,CACb,qGACF,CAAC;EACH;EAEA,OAAOH,YAAY;AACrB,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _MessageComposerAPIContext = require("./MessageComposerAPIContext");
|
|
9
9
|
var _hooks = require("../../hooks");
|
|
10
|
+
var _useCreateMessageComposer = require("../messageInputContext/hooks/useCreateMessageComposer");
|
|
10
11
|
var _defaultBaseContextValue = require("../utils/defaultBaseContextValue");
|
|
11
12
|
var _isTestEnvironment = require("../utils/isTestEnvironment");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -33,12 +34,17 @@ var MessageComposerProvider = exports.MessageComposerProvider = function Message
|
|
|
33
34
|
editing: editing
|
|
34
35
|
}, value);
|
|
35
36
|
}, [editing, value]);
|
|
37
|
+
var messageComposer = (0, _useCreateMessageComposer.useCreateMessageComposer)(messageComposerContextValue);
|
|
38
|
+
var setQuotedMessage = (0, _hooks.useStableCallback)(function (message) {
|
|
39
|
+
return messageComposer.setQuotedMessage(message);
|
|
40
|
+
});
|
|
36
41
|
var messageComposerAPIContextValue = (0, _react.useMemo)(function () {
|
|
37
42
|
return {
|
|
38
43
|
clearEditingState: clearEditingState,
|
|
39
|
-
setEditingState: setEditingState
|
|
44
|
+
setEditingState: setEditingState,
|
|
45
|
+
setQuotedMessage: setQuotedMessage
|
|
40
46
|
};
|
|
41
|
-
}, [clearEditingState, setEditingState]);
|
|
47
|
+
}, [clearEditingState, setEditingState, setQuotedMessage]);
|
|
42
48
|
return (0, _jsxRuntime.jsx)(MessageComposerContext.Provider, {
|
|
43
49
|
value: messageComposerContextValue,
|
|
44
50
|
children: (0, _jsxRuntime.jsx)(_MessageComposerAPIContext.MessageComposerAPIProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_MessageComposerAPIContext","_hooks","_defaultBaseContextValue","_isTestEnvironment","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageComposerContext","exports","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageComposerProvider","_ref","children","value","_useState","useState","undefined","_useState2","_slicedToArray2","editing","setEditing","setEditingState","useStableCallback","message","clearEditingState","messageComposerContextValue","useMemo","assign","messageComposerAPIContextValue","jsx","Provider","MessageComposerAPIProvider","useMessageComposerContext","contextValue","useContext","isTestEnvironment","Error"],"sourceRoot":"../../../../src","sources":["contexts/messageComposerContext/MessageComposerContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,0BAAA,GAAAD,OAAA;AAMA,IAAAE,MAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_MessageComposerAPIContext","_hooks","_useCreateMessageComposer","_defaultBaseContextValue","_isTestEnvironment","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageComposerContext","exports","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageComposerProvider","_ref","children","value","_useState","useState","undefined","_useState2","_slicedToArray2","editing","setEditing","setEditingState","useStableCallback","message","clearEditingState","messageComposerContextValue","useMemo","assign","messageComposer","useCreateMessageComposer","setQuotedMessage","messageComposerAPIContextValue","jsx","Provider","MessageComposerAPIProvider","useMessageComposerContext","contextValue","useContext","isTestEnvironment","Error"],"sourceRoot":"../../../../src","sources":["contexts/messageComposerContext/MessageComposerContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.useCreateMessageComposer = void 0;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _streamChat = require("stream-chat");
|
|
7
|
+
var _ChatContext = require("../../chatContext/ChatContext");
|
|
8
|
+
var queueCache = new _streamChat.FixedSizeQueueCache(64);
|
|
9
|
+
var useCreateMessageComposer = exports.useCreateMessageComposer = function useCreateMessageComposer(_ref) {
|
|
10
|
+
var editedMessage = _ref.editing,
|
|
11
|
+
parentMessage = _ref.thread,
|
|
12
|
+
threadInstance = _ref.threadInstance,
|
|
13
|
+
channel = _ref.channel;
|
|
14
|
+
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
15
|
+
client = _useChatContext.client;
|
|
16
|
+
var cachedEditedMessage = (0, _react.useMemo)(function () {
|
|
17
|
+
if (!editedMessage) return undefined;
|
|
18
|
+
return editedMessage;
|
|
19
|
+
}, [editedMessage == null ? void 0 : editedMessage.id]);
|
|
20
|
+
var cachedParentMessage = (0, _react.useMemo)(function () {
|
|
21
|
+
if (!parentMessage) return undefined;
|
|
22
|
+
return parentMessage;
|
|
23
|
+
}, [parentMessage == null ? void 0 : parentMessage.id]);
|
|
24
|
+
var messageComposer = (0, _react.useMemo)(function () {
|
|
25
|
+
if (cachedEditedMessage) {
|
|
26
|
+
var tag = _streamChat.MessageComposer.constructTag(cachedEditedMessage);
|
|
27
|
+
var cachedComposer = queueCache.get(tag);
|
|
28
|
+
if (cachedComposer) return cachedComposer;
|
|
29
|
+
return new _streamChat.MessageComposer({
|
|
30
|
+
client: client,
|
|
31
|
+
composition: cachedEditedMessage,
|
|
32
|
+
compositionContext: cachedEditedMessage
|
|
33
|
+
});
|
|
34
|
+
} else if (threadInstance) {
|
|
35
|
+
return threadInstance.messageComposer;
|
|
36
|
+
} else if (cachedParentMessage) {
|
|
37
|
+
var compositionContext = Object.assign({}, cachedParentMessage, {
|
|
38
|
+
legacyThreadId: cachedParentMessage.id
|
|
39
|
+
});
|
|
40
|
+
var _tag = _streamChat.MessageComposer.constructTag(compositionContext);
|
|
41
|
+
var _cachedComposer = queueCache.get(_tag);
|
|
42
|
+
if (_cachedComposer) return _cachedComposer;
|
|
43
|
+
return new _streamChat.MessageComposer({
|
|
44
|
+
client: client,
|
|
45
|
+
compositionContext: compositionContext
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
return channel.messageComposer;
|
|
49
|
+
}
|
|
50
|
+
}, [cachedEditedMessage, cachedParentMessage, channel, client, threadInstance]);
|
|
51
|
+
if (['legacy_thread', 'message'].includes(messageComposer.contextType) && !queueCache.peek(messageComposer.tag)) {
|
|
52
|
+
queueCache.add(messageComposer.tag, messageComposer);
|
|
53
|
+
}
|
|
54
|
+
(0, _react.useEffect)(function () {
|
|
55
|
+
var unsubscribe = messageComposer.registerSubscriptions();
|
|
56
|
+
return function () {
|
|
57
|
+
unsubscribe();
|
|
58
|
+
};
|
|
59
|
+
}, [messageComposer]);
|
|
60
|
+
return messageComposer;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=useCreateMessageComposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_streamChat","_ChatContext","queueCache","FixedSizeQueueCache","useCreateMessageComposer","exports","_ref","editedMessage","editing","parentMessage","thread","threadInstance","channel","_useChatContext","useChatContext","client","cachedEditedMessage","useMemo","undefined","id","cachedParentMessage","messageComposer","tag","MessageComposer","constructTag","cachedComposer","get","composition","compositionContext","Object","assign","legacyThreadId","includes","contextType","peek","add","useEffect","unsubscribe","registerSubscriptions"],"sourceRoot":"../../../../../src","sources":["contexts/messageInputContext/hooks/useCreateMessageComposer.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAGA,IAAMG,UAAU,GAAG,IAAIC,+BAAmB,CAA0B,EAAE,CAAC;AAEhE,IAAMC,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CAAAE,IAAA,EAKyD;EAAA,IAJnFC,aAAa,GAAAD,IAAA,CAAtBE,OAAO;IACCC,aAAa,GAAAH,IAAA,CAArBI,MAAM;IACNC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,OAAO,GAAAN,IAAA,CAAPM,OAAO;EAEP,IAAAC,eAAA,GAAmB,IAAAC,2BAAc,EAAC,CAAC;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;EAEd,IAAMC,mBAAmB,GAAG,IAAAC,cAAO,EAAC,YAAM;IACxC,IAAI,CAACV,aAAa,EAAE,OAAOW,SAAS;IAEpC,OAAOX,aAAa;EAEtB,CAAC,EAAE,CAACA,aAAa,oBAAbA,aAAa,CAAEY,EAAE,CAAC,CAAC;EAEvB,IAAMC,mBAAmB,GAAG,IAAAH,cAAO,EAAC,YAAM;IACxC,IAAI,CAACR,aAAa,EAAE,OAAOS,SAAS;IAEpC,OAAOT,aAAa;EAEtB,CAAC,EAAE,CAACA,aAAa,oBAAbA,aAAa,CAAEU,EAAE,CAAC,CAAC;EAMvB,IAAME,eAAe,GAAG,IAAAJ,cAAO,EAAC,YAAM;IACpC,IAAID,mBAAmB,EAAE;MACvB,IAAMM,GAAG,GAAGC,2BAAe,CAACC,YAAY,CAACR,mBAAmB,CAAC;MAE7D,IAAMS,cAAc,GAAGvB,UAAU,CAACwB,GAAG,CAACJ,GAAG,CAAC;MAC1C,IAAIG,cAAc,EAAE,OAAOA,cAAc;MAEzC,OAAO,IAAIF,2BAAe,CAAC;QACzBR,MAAM,EAANA,MAAM;QACNY,WAAW,EAAEX,mBAAmB;QAChCY,kBAAkB,EAAEZ;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIL,cAAc,EAAE;MACzB,OAAOA,cAAc,CAACU,eAAe;IACvC,CAAC,MAAM,IAAID,mBAAmB,EAAE;MAC9B,IAAMQ,kBAAkB,GAAAC,MAAA,CAAAC,MAAA,KACnBV,mBAAmB;QACtBW,cAAc,EAAEX,mBAAmB,CAACD;MAAE,EACvC;MAED,IAAMG,IAAG,GAAGC,2BAAe,CAACC,YAAY,CAACI,kBAAkB,CAAC;MAE5D,IAAMH,eAAc,GAAGvB,UAAU,CAACwB,GAAG,CAACJ,IAAG,CAAC;MAC1C,IAAIG,eAAc,EAAE,OAAOA,eAAc;MAGzC,OAAO,IAAIF,2BAAe,CAAC;QACzBR,MAAM,EAANA,MAAM;QACNa,kBAAkB,EAAlBA;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,OAAOhB,OAAO,CAACS,eAAe;IAChC;EACF,CAAC,EAAE,CAACL,mBAAmB,EAAEI,mBAAmB,EAAER,OAAO,EAAEG,MAAM,EAAEJ,cAAc,CAAC,CAAC;EAE/E,IACG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAsCqB,QAAQ,CACzEX,eAAe,CAACY,WAClB,CAAC,IACD,CAAC/B,UAAU,CAACgC,IAAI,CAACb,eAAe,CAACC,GAAG,CAAC,EACrC;IACApB,UAAU,CAACiC,GAAG,CAACd,eAAe,CAACC,GAAG,EAAED,eAAe,CAAC;EACtD;EAEA,IAAAe,gBAAS,EAAC,YAAM;IACd,IAAMC,WAAW,GAAGhB,eAAe,CAACiB,qBAAqB,CAAC,CAAC;IAC3D,OAAO,YAAM;MACXD,WAAW,CAAC,CAAC;IACf,CAAC;EACH,CAAC,EAAE,CAAChB,eAAe,CAAC,CAAC;EAErB,OAAOA,eAAe;AACxB,CAAC","ignoreList":[]}
|
|
@@ -1,67 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
|
-
exports.useMessageComposer =
|
|
5
|
-
var
|
|
6
|
-
var _streamChat = require("stream-chat");
|
|
7
|
-
var _ChatContext = require("../../../contexts/chatContext/ChatContext");
|
|
4
|
+
exports.useMessageComposer = void 0;
|
|
5
|
+
var _useCreateMessageComposer = require("./useCreateMessageComposer");
|
|
8
6
|
var _MessageComposerContext = require("../../messageComposerContext/MessageComposerContext");
|
|
9
|
-
var queueCache = new _streamChat.FixedSizeQueueCache(64);
|
|
10
7
|
var useMessageComposer = exports.useMessageComposer = function useMessageComposer() {
|
|
11
8
|
var messageComposerContext = (0, _MessageComposerContext.useMessageComposerContext)();
|
|
12
|
-
return useCreateMessageComposer(messageComposerContext);
|
|
13
|
-
};
|
|
14
|
-
var useCreateMessageComposer = exports.useCreateMessageComposer = function useCreateMessageComposer(_ref) {
|
|
15
|
-
var editedMessage = _ref.editing,
|
|
16
|
-
parentMessage = _ref.thread,
|
|
17
|
-
threadInstance = _ref.threadInstance,
|
|
18
|
-
channel = _ref.channel;
|
|
19
|
-
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
20
|
-
client = _useChatContext.client;
|
|
21
|
-
var cachedEditedMessage = (0, _react.useMemo)(function () {
|
|
22
|
-
if (!editedMessage) return undefined;
|
|
23
|
-
return editedMessage;
|
|
24
|
-
}, [editedMessage == null ? void 0 : editedMessage.id]);
|
|
25
|
-
var cachedParentMessage = (0, _react.useMemo)(function () {
|
|
26
|
-
if (!parentMessage) return undefined;
|
|
27
|
-
return parentMessage;
|
|
28
|
-
}, [parentMessage == null ? void 0 : parentMessage.id]);
|
|
29
|
-
var messageComposer = (0, _react.useMemo)(function () {
|
|
30
|
-
if (cachedEditedMessage) {
|
|
31
|
-
var tag = _streamChat.MessageComposer.constructTag(cachedEditedMessage);
|
|
32
|
-
var cachedComposer = queueCache.get(tag);
|
|
33
|
-
if (cachedComposer) return cachedComposer;
|
|
34
|
-
return new _streamChat.MessageComposer({
|
|
35
|
-
client: client,
|
|
36
|
-
composition: cachedEditedMessage,
|
|
37
|
-
compositionContext: cachedEditedMessage
|
|
38
|
-
});
|
|
39
|
-
} else if (threadInstance) {
|
|
40
|
-
return threadInstance.messageComposer;
|
|
41
|
-
} else if (cachedParentMessage) {
|
|
42
|
-
var compositionContext = Object.assign({}, cachedParentMessage, {
|
|
43
|
-
legacyThreadId: cachedParentMessage.id
|
|
44
|
-
});
|
|
45
|
-
var _tag = _streamChat.MessageComposer.constructTag(compositionContext);
|
|
46
|
-
var _cachedComposer = queueCache.get(_tag);
|
|
47
|
-
if (_cachedComposer) return _cachedComposer;
|
|
48
|
-
return new _streamChat.MessageComposer({
|
|
49
|
-
client: client,
|
|
50
|
-
compositionContext: compositionContext
|
|
51
|
-
});
|
|
52
|
-
} else {
|
|
53
|
-
return channel.messageComposer;
|
|
54
|
-
}
|
|
55
|
-
}, [cachedEditedMessage, cachedParentMessage, channel, client, threadInstance]);
|
|
56
|
-
if (['legacy_thread', 'message'].includes(messageComposer.contextType) && !queueCache.peek(messageComposer.tag)) {
|
|
57
|
-
queueCache.add(messageComposer.tag, messageComposer);
|
|
58
|
-
}
|
|
59
|
-
(0, _react.useEffect)(function () {
|
|
60
|
-
var unsubscribe = messageComposer.registerSubscriptions();
|
|
61
|
-
return function () {
|
|
62
|
-
unsubscribe();
|
|
63
|
-
};
|
|
64
|
-
}, [messageComposer]);
|
|
65
|
-
return messageComposer;
|
|
9
|
+
return (0, _useCreateMessageComposer.useCreateMessageComposer)(messageComposerContext);
|
|
66
10
|
};
|
|
67
11
|
//# sourceMappingURL=useMessageComposer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_useCreateMessageComposer","require","_MessageComposerContext","useMessageComposer","exports","messageComposerContext","useMessageComposerContext","useCreateMessageComposer"],"sourceRoot":"../../../../../src","sources":["contexts/messageInputContext/hooks/useMessageComposer.ts"],"mappings":";;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAEO,IAAME,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,SAArBA,kBAAkBA,CAAA,EAAS;EACtC,IAAME,sBAAsB,GAAG,IAAAC,iDAAyB,EAAC,CAAC;EAE1D,OAAO,IAAAC,kDAAwB,EAACF,sBAAsB,CAAC;AACzD,CAAC","ignoreList":[]}
|
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
});
|
|
4
4
|
exports.useMessageComposerAPIContext = exports.MessageComposerAPIProvider = exports.MessageComposerAPIContext = void 0;
|
|
5
5
|
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
-
var _hooks = require("../../hooks");
|
|
7
|
-
var _useMessageComposer = require("../messageInputContext/hooks/useMessageComposer");
|
|
8
6
|
var _defaultBaseContextValue = require("../utils/defaultBaseContextValue");
|
|
9
7
|
var _isTestEnvironment = require("../utils/isTestEnvironment");
|
|
10
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -16,17 +14,8 @@ var MessageComposerAPIContext = exports.MessageComposerAPIContext = _react.defau
|
|
|
16
14
|
var MessageComposerAPIProvider = exports.MessageComposerAPIProvider = function MessageComposerAPIProvider(_ref) {
|
|
17
15
|
var children = _ref.children,
|
|
18
16
|
value = _ref.value;
|
|
19
|
-
var messageComposer = (0, _useMessageComposer.useMessageComposer)();
|
|
20
|
-
var setQuotedMessage = (0, _hooks.useStableCallback)(function (message) {
|
|
21
|
-
return messageComposer.setQuotedMessage(message);
|
|
22
|
-
});
|
|
23
|
-
var contextValue = (0, _react.useMemo)(function () {
|
|
24
|
-
return Object.assign({
|
|
25
|
-
setQuotedMessage: setQuotedMessage
|
|
26
|
-
}, value);
|
|
27
|
-
}, [setQuotedMessage, value]);
|
|
28
17
|
return (0, _jsxRuntime.jsx)(MessageComposerAPIContext.Provider, {
|
|
29
|
-
value:
|
|
18
|
+
value: value,
|
|
30
19
|
children: children
|
|
31
20
|
});
|
|
32
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_defaultBaseContextValue","_isTestEnvironment","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageComposerAPIContext","exports","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageComposerAPIProvider","_ref","children","value","jsx","Provider","useMessageComposerAPIContext","contextValue","useContext","isTestEnvironment","Error"],"sourceRoot":"../../../../src","sources":["contexts/messageComposerContext/MessageComposerAPIContext.tsx"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAA+D,IAAAG,WAAA,GAAAH,OAAA;AAAA,IAAAI,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQxD,IAAMW,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAGE,cAAK,CAACC,aAAa,CAC1DC,mDACF,CAAC;AAMM,IAAMC,0BAA0B,GAAAJ,OAAA,CAAAI,0BAAA,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA,EAAmC;EAAA,IAA7BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;EAC1D,OACE,IAAA/B,WAAA,CAAAgC,GAAA,EAACT,yBAAyB,CAACU,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAC9CA;EAAQ,CACyB,CAAC;AAEzC,CAAC;AAEM,IAAMI,4BAA4B,GAAAV,OAAA,CAAAU,4BAAA,GAAG,SAA/BA,4BAA4BA,CAAA,EAAS;EAChD,IAAMC,YAAY,GAAG,IAAAC,iBAAU,EAC7Bb,yBACF,CAA8C;EAE9C,IAAIY,YAAY,KAAKR,mDAA0B,IAAI,CAAC,IAAAU,oCAAiB,EAAC,CAAC,EAAE;IACvE,MAAM,IAAIC,KAAK,CACb,qGACF,CAAC;EACH;EAEA,OAAOH,YAAY;AACrB,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _MessageComposerAPIContext = require("./MessageComposerAPIContext");
|
|
9
9
|
var _hooks = require("../../hooks");
|
|
10
|
+
var _useCreateMessageComposer = require("../messageInputContext/hooks/useCreateMessageComposer");
|
|
10
11
|
var _defaultBaseContextValue = require("../utils/defaultBaseContextValue");
|
|
11
12
|
var _isTestEnvironment = require("../utils/isTestEnvironment");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -33,12 +34,17 @@ var MessageComposerProvider = exports.MessageComposerProvider = function Message
|
|
|
33
34
|
editing: editing
|
|
34
35
|
}, value);
|
|
35
36
|
}, [editing, value]);
|
|
37
|
+
var messageComposer = (0, _useCreateMessageComposer.useCreateMessageComposer)(messageComposerContextValue);
|
|
38
|
+
var setQuotedMessage = (0, _hooks.useStableCallback)(function (message) {
|
|
39
|
+
return messageComposer.setQuotedMessage(message);
|
|
40
|
+
});
|
|
36
41
|
var messageComposerAPIContextValue = (0, _react.useMemo)(function () {
|
|
37
42
|
return {
|
|
38
43
|
clearEditingState: clearEditingState,
|
|
39
|
-
setEditingState: setEditingState
|
|
44
|
+
setEditingState: setEditingState,
|
|
45
|
+
setQuotedMessage: setQuotedMessage
|
|
40
46
|
};
|
|
41
|
-
}, [clearEditingState, setEditingState]);
|
|
47
|
+
}, [clearEditingState, setEditingState, setQuotedMessage]);
|
|
42
48
|
return (0, _jsxRuntime.jsx)(MessageComposerContext.Provider, {
|
|
43
49
|
value: messageComposerContextValue,
|
|
44
50
|
children: (0, _jsxRuntime.jsx)(_MessageComposerAPIContext.MessageComposerAPIProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_MessageComposerAPIContext","_hooks","_defaultBaseContextValue","_isTestEnvironment","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageComposerContext","exports","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageComposerProvider","_ref","children","value","_useState","useState","undefined","_useState2","_slicedToArray2","editing","setEditing","setEditingState","useStableCallback","message","clearEditingState","messageComposerContextValue","useMemo","assign","messageComposerAPIContextValue","jsx","Provider","MessageComposerAPIProvider","useMessageComposerContext","contextValue","useContext","isTestEnvironment","Error"],"sourceRoot":"../../../../src","sources":["contexts/messageComposerContext/MessageComposerContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,0BAAA,GAAAD,OAAA;AAMA,IAAAE,MAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_MessageComposerAPIContext","_hooks","_useCreateMessageComposer","_defaultBaseContextValue","_isTestEnvironment","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageComposerContext","exports","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageComposerProvider","_ref","children","value","_useState","useState","undefined","_useState2","_slicedToArray2","editing","setEditing","setEditingState","useStableCallback","message","clearEditingState","messageComposerContextValue","useMemo","assign","messageComposer","useCreateMessageComposer","setQuotedMessage","messageComposerAPIContextValue","jsx","Provider","MessageComposerAPIProvider","useMessageComposerContext","contextValue","useContext","isTestEnvironment","Error"],"sourceRoot":"../../../../src","sources":["contexts/messageComposerContext/MessageComposerContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.useCreateMessageComposer = void 0;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _streamChat = require("stream-chat");
|
|
7
|
+
var _ChatContext = require("../../chatContext/ChatContext");
|
|
8
|
+
var queueCache = new _streamChat.FixedSizeQueueCache(64);
|
|
9
|
+
var useCreateMessageComposer = exports.useCreateMessageComposer = function useCreateMessageComposer(_ref) {
|
|
10
|
+
var editedMessage = _ref.editing,
|
|
11
|
+
parentMessage = _ref.thread,
|
|
12
|
+
threadInstance = _ref.threadInstance,
|
|
13
|
+
channel = _ref.channel;
|
|
14
|
+
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
15
|
+
client = _useChatContext.client;
|
|
16
|
+
var cachedEditedMessage = (0, _react.useMemo)(function () {
|
|
17
|
+
if (!editedMessage) return undefined;
|
|
18
|
+
return editedMessage;
|
|
19
|
+
}, [editedMessage == null ? void 0 : editedMessage.id]);
|
|
20
|
+
var cachedParentMessage = (0, _react.useMemo)(function () {
|
|
21
|
+
if (!parentMessage) return undefined;
|
|
22
|
+
return parentMessage;
|
|
23
|
+
}, [parentMessage == null ? void 0 : parentMessage.id]);
|
|
24
|
+
var messageComposer = (0, _react.useMemo)(function () {
|
|
25
|
+
if (cachedEditedMessage) {
|
|
26
|
+
var tag = _streamChat.MessageComposer.constructTag(cachedEditedMessage);
|
|
27
|
+
var cachedComposer = queueCache.get(tag);
|
|
28
|
+
if (cachedComposer) return cachedComposer;
|
|
29
|
+
return new _streamChat.MessageComposer({
|
|
30
|
+
client: client,
|
|
31
|
+
composition: cachedEditedMessage,
|
|
32
|
+
compositionContext: cachedEditedMessage
|
|
33
|
+
});
|
|
34
|
+
} else if (threadInstance) {
|
|
35
|
+
return threadInstance.messageComposer;
|
|
36
|
+
} else if (cachedParentMessage) {
|
|
37
|
+
var compositionContext = Object.assign({}, cachedParentMessage, {
|
|
38
|
+
legacyThreadId: cachedParentMessage.id
|
|
39
|
+
});
|
|
40
|
+
var _tag = _streamChat.MessageComposer.constructTag(compositionContext);
|
|
41
|
+
var _cachedComposer = queueCache.get(_tag);
|
|
42
|
+
if (_cachedComposer) return _cachedComposer;
|
|
43
|
+
return new _streamChat.MessageComposer({
|
|
44
|
+
client: client,
|
|
45
|
+
compositionContext: compositionContext
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
return channel.messageComposer;
|
|
49
|
+
}
|
|
50
|
+
}, [cachedEditedMessage, cachedParentMessage, channel, client, threadInstance]);
|
|
51
|
+
if (['legacy_thread', 'message'].includes(messageComposer.contextType) && !queueCache.peek(messageComposer.tag)) {
|
|
52
|
+
queueCache.add(messageComposer.tag, messageComposer);
|
|
53
|
+
}
|
|
54
|
+
(0, _react.useEffect)(function () {
|
|
55
|
+
var unsubscribe = messageComposer.registerSubscriptions();
|
|
56
|
+
return function () {
|
|
57
|
+
unsubscribe();
|
|
58
|
+
};
|
|
59
|
+
}, [messageComposer]);
|
|
60
|
+
return messageComposer;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=useCreateMessageComposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_streamChat","_ChatContext","queueCache","FixedSizeQueueCache","useCreateMessageComposer","exports","_ref","editedMessage","editing","parentMessage","thread","threadInstance","channel","_useChatContext","useChatContext","client","cachedEditedMessage","useMemo","undefined","id","cachedParentMessage","messageComposer","tag","MessageComposer","constructTag","cachedComposer","get","composition","compositionContext","Object","assign","legacyThreadId","includes","contextType","peek","add","useEffect","unsubscribe","registerSubscriptions"],"sourceRoot":"../../../../../src","sources":["contexts/messageInputContext/hooks/useCreateMessageComposer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,67 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
|
-
exports.useMessageComposer =
|
|
5
|
-
var
|
|
6
|
-
var _streamChat = require("stream-chat");
|
|
7
|
-
var _ChatContext = require("../../../contexts/chatContext/ChatContext");
|
|
4
|
+
exports.useMessageComposer = void 0;
|
|
5
|
+
var _useCreateMessageComposer = require("./useCreateMessageComposer");
|
|
8
6
|
var _MessageComposerContext = require("../../messageComposerContext/MessageComposerContext");
|
|
9
|
-
var queueCache = new _streamChat.FixedSizeQueueCache(64);
|
|
10
7
|
var useMessageComposer = exports.useMessageComposer = function useMessageComposer() {
|
|
11
8
|
var messageComposerContext = (0, _MessageComposerContext.useMessageComposerContext)();
|
|
12
|
-
return useCreateMessageComposer(messageComposerContext);
|
|
13
|
-
};
|
|
14
|
-
var useCreateMessageComposer = exports.useCreateMessageComposer = function useCreateMessageComposer(_ref) {
|
|
15
|
-
var editedMessage = _ref.editing,
|
|
16
|
-
parentMessage = _ref.thread,
|
|
17
|
-
threadInstance = _ref.threadInstance,
|
|
18
|
-
channel = _ref.channel;
|
|
19
|
-
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
20
|
-
client = _useChatContext.client;
|
|
21
|
-
var cachedEditedMessage = (0, _react.useMemo)(function () {
|
|
22
|
-
if (!editedMessage) return undefined;
|
|
23
|
-
return editedMessage;
|
|
24
|
-
}, [editedMessage == null ? void 0 : editedMessage.id]);
|
|
25
|
-
var cachedParentMessage = (0, _react.useMemo)(function () {
|
|
26
|
-
if (!parentMessage) return undefined;
|
|
27
|
-
return parentMessage;
|
|
28
|
-
}, [parentMessage == null ? void 0 : parentMessage.id]);
|
|
29
|
-
var messageComposer = (0, _react.useMemo)(function () {
|
|
30
|
-
if (cachedEditedMessage) {
|
|
31
|
-
var tag = _streamChat.MessageComposer.constructTag(cachedEditedMessage);
|
|
32
|
-
var cachedComposer = queueCache.get(tag);
|
|
33
|
-
if (cachedComposer) return cachedComposer;
|
|
34
|
-
return new _streamChat.MessageComposer({
|
|
35
|
-
client: client,
|
|
36
|
-
composition: cachedEditedMessage,
|
|
37
|
-
compositionContext: cachedEditedMessage
|
|
38
|
-
});
|
|
39
|
-
} else if (threadInstance) {
|
|
40
|
-
return threadInstance.messageComposer;
|
|
41
|
-
} else if (cachedParentMessage) {
|
|
42
|
-
var compositionContext = Object.assign({}, cachedParentMessage, {
|
|
43
|
-
legacyThreadId: cachedParentMessage.id
|
|
44
|
-
});
|
|
45
|
-
var _tag = _streamChat.MessageComposer.constructTag(compositionContext);
|
|
46
|
-
var _cachedComposer = queueCache.get(_tag);
|
|
47
|
-
if (_cachedComposer) return _cachedComposer;
|
|
48
|
-
return new _streamChat.MessageComposer({
|
|
49
|
-
client: client,
|
|
50
|
-
compositionContext: compositionContext
|
|
51
|
-
});
|
|
52
|
-
} else {
|
|
53
|
-
return channel.messageComposer;
|
|
54
|
-
}
|
|
55
|
-
}, [cachedEditedMessage, cachedParentMessage, channel, client, threadInstance]);
|
|
56
|
-
if (['legacy_thread', 'message'].includes(messageComposer.contextType) && !queueCache.peek(messageComposer.tag)) {
|
|
57
|
-
queueCache.add(messageComposer.tag, messageComposer);
|
|
58
|
-
}
|
|
59
|
-
(0, _react.useEffect)(function () {
|
|
60
|
-
var unsubscribe = messageComposer.registerSubscriptions();
|
|
61
|
-
return function () {
|
|
62
|
-
unsubscribe();
|
|
63
|
-
};
|
|
64
|
-
}, [messageComposer]);
|
|
65
|
-
return messageComposer;
|
|
9
|
+
return (0, _useCreateMessageComposer.useCreateMessageComposer)(messageComposerContext);
|
|
66
10
|
};
|
|
67
11
|
//# sourceMappingURL=useMessageComposer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_useCreateMessageComposer","require","_MessageComposerContext","useMessageComposer","exports","messageComposerContext","useMessageComposerContext","useCreateMessageComposer"],"sourceRoot":"../../../../../src","sources":["contexts/messageInputContext/hooks/useMessageComposer.ts"],"mappings":";;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAEO,IAAME,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,SAArBA,kBAAkBA,CAAA,EAAS;EACtC,IAAME,sBAAsB,GAAG,IAAAC,iDAAyB,EAAC,CAAC;EAE1D,OAAO,IAAAC,kDAAwB,EAACF,sBAAsB,CAAC;AACzD,CAAC","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -7,7 +7,7 @@ export type MessageComposerAPIContextValue = {
|
|
|
7
7
|
};
|
|
8
8
|
export declare const MessageComposerAPIContext: React.Context<MessageComposerAPIContextValue>;
|
|
9
9
|
type Props = React.PropsWithChildren<{
|
|
10
|
-
value:
|
|
10
|
+
value: MessageComposerAPIContextValue;
|
|
11
11
|
}>;
|
|
12
12
|
export declare const MessageComposerAPIProvider: ({ children, value }: Props) => React.JSX.Element;
|
|
13
13
|
export declare const useMessageComposerAPIContext: () => MessageComposerAPIContextValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageComposerAPIContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/messageComposerContext/MessageComposerAPIContext.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageComposerAPIContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/messageComposerContext/MessageComposerAPIContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAKjE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACtD,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,+CAErC,CAAC;AAEF,KAAK,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,8BAA8B,CAAC;CACvC,CAAC,CAAC;AAEH,eAAO,MAAM,0BAA0B,GAAI,qBAAqB,KAAK,sBAMpE,CAAC;AAEF,eAAO,MAAM,4BAA4B,sCAYxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageComposerContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/messageComposerContext/MessageComposerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageComposerContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/messageComposerContext/MessageComposerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,cAAc,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrD;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,sBAAsB,4CAElC,CAAC;AAEF,KAAK,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,IAAI,CAAC,2BAA2B,EAAE,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC,CAAC;CACnF,CAAC,CAAC;AAEH,eAAO,MAAM,uBAAuB,GAAI,qBAAqB,KAAK,sBAiCjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,mCAUrC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MessageComposer } from 'stream-chat';
|
|
2
|
+
import { MessageComposerContextValue } from '../../messageComposerContext/MessageComposerContext';
|
|
3
|
+
export declare const useCreateMessageComposer: ({ editing: editedMessage, thread: parentMessage, threadInstance, channel, }: Pick<MessageComposerContextValue, "channel" | "threadInstance" | "thread" | "editing">) => MessageComposer;
|
|
4
|
+
//# sourceMappingURL=useCreateMessageComposer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateMessageComposer.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/messageInputContext/hooks/useCreateMessageComposer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAIlG,eAAO,MAAM,wBAAwB,GAAI,6EAKtC,IAAI,CAAC,2BAA2B,EAAE,SAAS,GAAG,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC,oBAyExF,CAAC"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { MessageComposerContextValue } from '../../messageComposerContext/MessageComposerContext';
|
|
3
|
-
export declare const useMessageComposer: () => MessageComposer;
|
|
4
|
-
export declare const useCreateMessageComposer: ({ editing: editedMessage, thread: parentMessage, threadInstance, channel, }: Pick<MessageComposerContextValue, "channel" | "threadInstance" | "thread" | "editing">) => MessageComposer;
|
|
1
|
+
export declare const useMessageComposer: () => import("stream-chat").MessageComposer;
|
|
5
2
|
//# sourceMappingURL=useMessageComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageComposer.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/messageInputContext/hooks/useMessageComposer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMessageComposer.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/messageInputContext/hooks/useMessageComposer.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,6CAI9B,CAAC"}
|
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": "8.0.0-rc.
|
|
4
|
+
"version": "8.0.0-rc.11",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import React, { useContext
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
2
|
|
|
3
3
|
import { LocalMessage, type MessageComposer } from 'stream-chat';
|
|
4
4
|
|
|
5
|
-
import { useStableCallback } from '../../hooks';
|
|
6
|
-
import { useMessageComposer } from '../messageInputContext/hooks/useMessageComposer';
|
|
7
5
|
import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
|
|
8
6
|
import { isTestEnvironment } from '../utils/isTestEnvironment';
|
|
9
7
|
|
|
@@ -18,20 +16,12 @@ export const MessageComposerAPIContext = React.createContext(
|
|
|
18
16
|
);
|
|
19
17
|
|
|
20
18
|
type Props = React.PropsWithChildren<{
|
|
21
|
-
value:
|
|
19
|
+
value: MessageComposerAPIContextValue;
|
|
22
20
|
}>;
|
|
23
21
|
|
|
24
22
|
export const MessageComposerAPIProvider = ({ children, value }: Props) => {
|
|
25
|
-
const messageComposer = useMessageComposer();
|
|
26
|
-
|
|
27
|
-
const setQuotedMessage = useStableCallback((message: LocalMessage | null) =>
|
|
28
|
-
messageComposer.setQuotedMessage(message),
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
const contextValue = useMemo(() => ({ setQuotedMessage, ...value }), [setQuotedMessage, value]);
|
|
32
|
-
|
|
33
23
|
return (
|
|
34
|
-
<MessageComposerAPIContext.Provider value={
|
|
24
|
+
<MessageComposerAPIContext.Provider value={value}>
|
|
35
25
|
{children}
|
|
36
26
|
</MessageComposerAPIContext.Provider>
|
|
37
27
|
);
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
|
|
10
10
|
import { ChannelProps } from '../../components';
|
|
11
11
|
import { useStableCallback } from '../../hooks';
|
|
12
|
+
import { useCreateMessageComposer } from '../messageInputContext/hooks/useCreateMessageComposer';
|
|
12
13
|
import { ThreadContextValue } from '../threadContext/ThreadContext';
|
|
13
14
|
import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
|
|
14
15
|
import { isTestEnvironment } from '../utils/isTestEnvironment';
|
|
@@ -47,9 +48,15 @@ export const MessageComposerProvider = ({ children, value }: Props) => {
|
|
|
47
48
|
|
|
48
49
|
const messageComposerContextValue = useMemo(() => ({ editing, ...value }), [editing, value]);
|
|
49
50
|
|
|
51
|
+
const messageComposer = useCreateMessageComposer(messageComposerContextValue);
|
|
52
|
+
|
|
53
|
+
const setQuotedMessage = useStableCallback((message: LocalMessage | null) =>
|
|
54
|
+
messageComposer.setQuotedMessage(message),
|
|
55
|
+
);
|
|
56
|
+
|
|
50
57
|
const messageComposerAPIContextValue = useMemo(
|
|
51
|
-
() => ({ clearEditingState, setEditingState }),
|
|
52
|
-
[clearEditingState, setEditingState],
|
|
58
|
+
() => ({ clearEditingState, setEditingState, setQuotedMessage }),
|
|
59
|
+
[clearEditingState, setEditingState, setQuotedMessage],
|
|
53
60
|
);
|
|
54
61
|
|
|
55
62
|
return (
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useEffect, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
import { FixedSizeQueueCache, MessageComposer } from 'stream-chat';
|
|
4
|
+
|
|
5
|
+
import { useChatContext } from '../../chatContext/ChatContext';
|
|
6
|
+
import { MessageComposerContextValue } from '../../messageComposerContext/MessageComposerContext';
|
|
7
|
+
|
|
8
|
+
const queueCache = new FixedSizeQueueCache<string, MessageComposer>(64);
|
|
9
|
+
|
|
10
|
+
export const useCreateMessageComposer = ({
|
|
11
|
+
editing: editedMessage,
|
|
12
|
+
thread: parentMessage,
|
|
13
|
+
threadInstance,
|
|
14
|
+
channel,
|
|
15
|
+
}: Pick<MessageComposerContextValue, 'channel' | 'threadInstance' | 'thread' | 'editing'>) => {
|
|
16
|
+
const { client } = useChatContext();
|
|
17
|
+
|
|
18
|
+
const cachedEditedMessage = useMemo(() => {
|
|
19
|
+
if (!editedMessage) return undefined;
|
|
20
|
+
|
|
21
|
+
return editedMessage;
|
|
22
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
+
}, [editedMessage?.id]);
|
|
24
|
+
|
|
25
|
+
const cachedParentMessage = useMemo(() => {
|
|
26
|
+
if (!parentMessage) return undefined;
|
|
27
|
+
|
|
28
|
+
return parentMessage;
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
}, [parentMessage?.id]);
|
|
31
|
+
|
|
32
|
+
// composer hierarchy
|
|
33
|
+
// edited message (always new) -> thread instance (own) -> thread message (always new) -> channel (own)
|
|
34
|
+
// editedMessage ?? thread ?? parentMessage ?? channel;
|
|
35
|
+
|
|
36
|
+
const messageComposer = useMemo(() => {
|
|
37
|
+
if (cachedEditedMessage) {
|
|
38
|
+
const tag = MessageComposer.constructTag(cachedEditedMessage);
|
|
39
|
+
|
|
40
|
+
const cachedComposer = queueCache.get(tag);
|
|
41
|
+
if (cachedComposer) return cachedComposer;
|
|
42
|
+
|
|
43
|
+
return new MessageComposer({
|
|
44
|
+
client,
|
|
45
|
+
composition: cachedEditedMessage,
|
|
46
|
+
compositionContext: cachedEditedMessage,
|
|
47
|
+
});
|
|
48
|
+
} else if (threadInstance) {
|
|
49
|
+
return threadInstance.messageComposer;
|
|
50
|
+
} else if (cachedParentMessage) {
|
|
51
|
+
const compositionContext = {
|
|
52
|
+
...cachedParentMessage,
|
|
53
|
+
legacyThreadId: cachedParentMessage.id,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const tag = MessageComposer.constructTag(compositionContext);
|
|
57
|
+
|
|
58
|
+
const cachedComposer = queueCache.get(tag);
|
|
59
|
+
if (cachedComposer) return cachedComposer;
|
|
60
|
+
|
|
61
|
+
// legacy thread will receive new composer
|
|
62
|
+
return new MessageComposer({
|
|
63
|
+
client,
|
|
64
|
+
compositionContext,
|
|
65
|
+
});
|
|
66
|
+
} else {
|
|
67
|
+
return channel.messageComposer;
|
|
68
|
+
}
|
|
69
|
+
}, [cachedEditedMessage, cachedParentMessage, channel, client, threadInstance]);
|
|
70
|
+
|
|
71
|
+
if (
|
|
72
|
+
(['legacy_thread', 'message'] as MessageComposer['contextType'][]).includes(
|
|
73
|
+
messageComposer.contextType,
|
|
74
|
+
) &&
|
|
75
|
+
!queueCache.peek(messageComposer.tag)
|
|
76
|
+
) {
|
|
77
|
+
queueCache.add(messageComposer.tag, messageComposer);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
const unsubscribe = messageComposer.registerSubscriptions();
|
|
82
|
+
return () => {
|
|
83
|
+
unsubscribe();
|
|
84
|
+
};
|
|
85
|
+
}, [messageComposer]);
|
|
86
|
+
|
|
87
|
+
return messageComposer;
|
|
88
|
+
};
|
|
@@ -1,97 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCreateMessageComposer } from './useCreateMessageComposer';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { useChatContext } from '../../../contexts/chatContext/ChatContext';
|
|
6
|
-
import {
|
|
7
|
-
MessageComposerContextValue,
|
|
8
|
-
useMessageComposerContext,
|
|
9
|
-
} from '../../messageComposerContext/MessageComposerContext';
|
|
10
|
-
|
|
11
|
-
const queueCache = new FixedSizeQueueCache<string, MessageComposer>(64);
|
|
3
|
+
import { useMessageComposerContext } from '../../messageComposerContext/MessageComposerContext';
|
|
12
4
|
|
|
13
5
|
export const useMessageComposer = () => {
|
|
14
6
|
const messageComposerContext = useMessageComposerContext();
|
|
15
7
|
|
|
16
8
|
return useCreateMessageComposer(messageComposerContext);
|
|
17
9
|
};
|
|
18
|
-
|
|
19
|
-
export const useCreateMessageComposer = ({
|
|
20
|
-
editing: editedMessage,
|
|
21
|
-
thread: parentMessage,
|
|
22
|
-
threadInstance,
|
|
23
|
-
channel,
|
|
24
|
-
}: Pick<MessageComposerContextValue, 'channel' | 'threadInstance' | 'thread' | 'editing'>) => {
|
|
25
|
-
const { client } = useChatContext();
|
|
26
|
-
|
|
27
|
-
const cachedEditedMessage = useMemo(() => {
|
|
28
|
-
if (!editedMessage) return undefined;
|
|
29
|
-
|
|
30
|
-
return editedMessage;
|
|
31
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
-
}, [editedMessage?.id]);
|
|
33
|
-
|
|
34
|
-
const cachedParentMessage = useMemo(() => {
|
|
35
|
-
if (!parentMessage) return undefined;
|
|
36
|
-
|
|
37
|
-
return parentMessage;
|
|
38
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
|
-
}, [parentMessage?.id]);
|
|
40
|
-
|
|
41
|
-
// composer hierarchy
|
|
42
|
-
// edited message (always new) -> thread instance (own) -> thread message (always new) -> channel (own)
|
|
43
|
-
// editedMessage ?? thread ?? parentMessage ?? channel;
|
|
44
|
-
|
|
45
|
-
const messageComposer = useMemo(() => {
|
|
46
|
-
if (cachedEditedMessage) {
|
|
47
|
-
const tag = MessageComposer.constructTag(cachedEditedMessage);
|
|
48
|
-
|
|
49
|
-
const cachedComposer = queueCache.get(tag);
|
|
50
|
-
if (cachedComposer) return cachedComposer;
|
|
51
|
-
|
|
52
|
-
return new MessageComposer({
|
|
53
|
-
client,
|
|
54
|
-
composition: cachedEditedMessage,
|
|
55
|
-
compositionContext: cachedEditedMessage,
|
|
56
|
-
});
|
|
57
|
-
} else if (threadInstance) {
|
|
58
|
-
return threadInstance.messageComposer;
|
|
59
|
-
} else if (cachedParentMessage) {
|
|
60
|
-
const compositionContext = {
|
|
61
|
-
...cachedParentMessage,
|
|
62
|
-
legacyThreadId: cachedParentMessage.id,
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const tag = MessageComposer.constructTag(compositionContext);
|
|
66
|
-
|
|
67
|
-
const cachedComposer = queueCache.get(tag);
|
|
68
|
-
if (cachedComposer) return cachedComposer;
|
|
69
|
-
|
|
70
|
-
// legacy thread will receive new composer
|
|
71
|
-
return new MessageComposer({
|
|
72
|
-
client,
|
|
73
|
-
compositionContext,
|
|
74
|
-
});
|
|
75
|
-
} else {
|
|
76
|
-
return channel.messageComposer;
|
|
77
|
-
}
|
|
78
|
-
}, [cachedEditedMessage, cachedParentMessage, channel, client, threadInstance]);
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
(['legacy_thread', 'message'] as MessageComposer['contextType'][]).includes(
|
|
82
|
-
messageComposer.contextType,
|
|
83
|
-
) &&
|
|
84
|
-
!queueCache.peek(messageComposer.tag)
|
|
85
|
-
) {
|
|
86
|
-
queueCache.add(messageComposer.tag, messageComposer);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
useEffect(() => {
|
|
90
|
-
const unsubscribe = messageComposer.registerSubscriptions();
|
|
91
|
-
return () => {
|
|
92
|
-
unsubscribe();
|
|
93
|
-
};
|
|
94
|
-
}, [messageComposer]);
|
|
95
|
-
|
|
96
|
-
return messageComposer;
|
|
97
|
-
};
|
package/src/version.json
CHANGED