stream-chat-react 14.0.0-beta.1 → 14.0.0-beta.3
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/dist/{WithAudioPlayback-TERIQpZ6.js → cjs/WithAudioPlayback.4a84360f.js} +100 -12
- package/dist/cjs/WithAudioPlayback.4a84360f.js.map +1 -0
- package/dist/{audioProcessing-BbOs2wMd.js → cjs/audioProcessing.56e5db9d.js} +1 -1
- package/dist/cjs/audioProcessing.56e5db9d.js.map +1 -0
- package/dist/cjs/emojis.js +1 -1
- package/dist/cjs/index.js +1366 -1037
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mp3-encoder.js +1 -1
- package/dist/css/index.css +232 -62
- package/dist/css/index.css.map +1 -1
- package/dist/{WithAudioPlayback-BcKZ5Lbh.mjs → es/WithAudioPlayback.a3d5a2fc.mjs} +348 -260
- package/dist/es/WithAudioPlayback.a3d5a2fc.mjs.map +1 -0
- package/dist/{audioProcessing-ByEVSjGG.mjs → es/audioProcessing.21cb49e1.mjs} +1 -1
- package/dist/es/audioProcessing.21cb49e1.mjs.map +1 -0
- package/dist/es/emojis.mjs +1 -1
- package/dist/es/index.mjs +1500 -1171
- package/dist/es/index.mjs.map +1 -1
- package/dist/es/mp3-encoder.mjs +1 -1
- package/dist/types/components/Attachment/Giphy.d.ts.map +1 -1
- package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/AudioPlayer.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts +1 -0
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/BaseImage/toBaseImageDescriptors.d.ts +1 -1
- package/dist/types/components/BaseImage/toBaseImageDescriptors.d.ts.map +1 -1
- package/dist/types/components/Channel/Channel.d.ts.map +1 -1
- package/dist/types/components/Channel/utils.d.ts +7 -1
- package/dist/types/components/Channel/utils.d.ts.map +1 -1
- package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts +3 -1
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts +6 -3
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useSplitActionSet.d.ts +5 -0
- package/dist/types/components/Chat/hooks/useSplitActionSet.d.ts.map +1 -1
- package/dist/types/components/ChatView/ChatView.d.ts.map +1 -1
- package/dist/types/components/Dialog/components/ContextMenu.d.ts +119 -3
- package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
- package/dist/types/components/Dialog/hooks/useDialog.d.ts +1 -1
- package/dist/types/components/Dialog/hooks/useDialog.d.ts.map +1 -1
- package/dist/types/components/Dialog/service/DialogAnchor.d.ts +14 -1
- package/dist/types/components/Dialog/service/DialogAnchor.d.ts.map +1 -1
- package/dist/types/components/Dialog/service/DialogManager.d.ts +14 -3
- package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -1
- package/dist/types/components/Dialog/service/DialogPortal.d.ts.map +1 -1
- package/dist/types/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/types/components/Gallery/GalleryContext.d.ts +1 -1
- package/dist/types/components/Gallery/GalleryContext.d.ts.map +1 -1
- package/dist/types/components/Icons/icons.d.ts +4 -0
- package/dist/types/components/Icons/icons.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
- package/dist/types/components/Message/MessageErrorText.d.ts +0 -5
- package/dist/types/components/Message/MessageErrorText.d.ts.map +1 -1
- package/dist/types/components/Message/MessageText.d.ts.map +1 -1
- package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
- package/dist/types/components/Message/index.d.ts +0 -1
- package/dist/types/components/Message/index.d.ts.map +1 -1
- package/dist/types/components/Message/utils.d.ts +1 -0
- package/dist/types/components/Message/utils.d.ts.map +1 -1
- package/dist/types/components/MessageActions/MessageActions.d.ts +14 -3
- package/dist/types/components/MessageActions/MessageActions.d.ts.map +1 -1
- package/dist/types/components/MessageActions/MessageActions.defaults.d.ts +1 -1
- package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
- package/dist/types/components/MessageActions/QuickMessageActionButton.d.ts.map +1 -1
- package/dist/types/components/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/ImageAttachmentPreview.d.ts +3 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/ImageAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts +4 -2
- package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts +6 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts +9 -2
- package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/CommandChip.d.ts +5 -1
- package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/MessageComposerUI.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +18 -0
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/types/components/Notifications/Notification.d.ts.map +1 -1
- package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts +1 -1
- package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -1
- package/dist/types/components/Notifications/notificationTarget.d.ts +1 -1
- package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts.map +1 -1
- package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +1 -0
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
- package/dist/types/components/Reactions/ReactionSelector.d.ts +1 -1
- package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/TextareaComposer.d.ts +1 -2
- package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
- package/dist/types/context/ChannelListContext.d.ts +1 -1
- package/dist/types/context/ChannelListContext.d.ts.map +1 -1
- package/dist/types/context/ComponentContext.d.ts +10 -3
- package/dist/types/context/ComponentContext.d.ts.map +1 -1
- package/dist/types/context/DialogManagerContext.d.ts +11 -7
- package/dist/types/context/DialogManagerContext.d.ts.map +1 -1
- package/dist/types/i18n/Streami18n.d.ts +11 -6
- package/dist/types/i18n/Streami18n.d.ts.map +1 -1
- package/package.json +13 -41
- package/dist/WithAudioPlayback-BcKZ5Lbh.mjs.map +0 -1
- package/dist/WithAudioPlayback-TERIQpZ6.js.map +0 -1
- package/dist/audioProcessing-BbOs2wMd.js.map +0 -1
- package/dist/audioProcessing-ByEVSjGG.mjs.map +0 -1
- package/dist/types/components/Message/icons.d.ts +0 -7
- package/dist/types/components/Message/icons.d.ts.map +0 -1
|
@@ -44,6 +44,20 @@ const useChannelActionContext = (componentName) => {
|
|
|
44
44
|
}
|
|
45
45
|
return contextValue;
|
|
46
46
|
};
|
|
47
|
+
const ChannelListContext = React.createContext(
|
|
48
|
+
void 0
|
|
49
|
+
);
|
|
50
|
+
const ChannelListContextProvider = ({
|
|
51
|
+
children,
|
|
52
|
+
value
|
|
53
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(ChannelListContext.Provider, { value, children });
|
|
54
|
+
const useChannelListContext = () => {
|
|
55
|
+
const contextValue = React.useContext(ChannelListContext);
|
|
56
|
+
if (!contextValue) {
|
|
57
|
+
return {};
|
|
58
|
+
}
|
|
59
|
+
return contextValue;
|
|
60
|
+
};
|
|
47
61
|
const ChannelStateContext = React.createContext(void 0);
|
|
48
62
|
const ChannelStateProvider = ({
|
|
49
63
|
children,
|
|
@@ -605,6 +619,7 @@ class AudioPlayer {
|
|
|
605
619
|
};
|
|
606
620
|
this.stop = () => {
|
|
607
621
|
this.pause();
|
|
622
|
+
this.state.partialNext({ isPlaying: false });
|
|
608
623
|
this.setSecondsElapsed(0);
|
|
609
624
|
if (this.elementRef) this.elementRef.currentTime = 0;
|
|
610
625
|
};
|
|
@@ -681,10 +696,7 @@ class AudioPlayer {
|
|
|
681
696
|
if (audioElement) {
|
|
682
697
|
this.updateDurationFromElement(audioElement);
|
|
683
698
|
}
|
|
684
|
-
this.
|
|
685
|
-
isPlaying: false,
|
|
686
|
-
secondsElapsed: audioElement?.duration ?? this.durationSeconds ?? 0
|
|
687
|
-
});
|
|
699
|
+
this.stop();
|
|
688
700
|
};
|
|
689
701
|
const handleError = (e) => {
|
|
690
702
|
const audio = e.currentTarget;
|
|
@@ -1002,7 +1014,10 @@ const getNotificationTargetPanel = (notification) => {
|
|
|
1002
1014
|
return isNotificationTargetPanel(panel) ? panel : void 0;
|
|
1003
1015
|
};
|
|
1004
1016
|
const getNotificationTargetTag = (panel) => `target:${panel}`;
|
|
1005
|
-
const addNotificationTargetTag = (panel, tags) =>
|
|
1017
|
+
const addNotificationTargetTag = (panel, tags) => {
|
|
1018
|
+
if (!panel) return tags ?? [];
|
|
1019
|
+
return Array.from(/* @__PURE__ */ new Set([getNotificationTargetTag(panel), ...tags ?? []]));
|
|
1020
|
+
};
|
|
1006
1021
|
const isNotificationForPanel = (notification, panel, options) => {
|
|
1007
1022
|
const fallbackPanel = options?.fallbackPanel ?? "channel";
|
|
1008
1023
|
const resolvedPanel = getNotificationTargetPanel(notification) ?? fallbackPanel;
|
|
@@ -1580,6 +1595,13 @@ const IconEmojiSmile = createIcon(
|
|
|
1580
1595
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.8333 6.59998C10.8333 7.33638 10.3856 7.83331 9.83334 7.83331C9.28108 7.83331 8.83334 7.33638 8.83334 6.59998C8.83334 5.8636 9.28108 5.33331 9.83334 5.33331C10.3856 5.33331 10.8333 5.8636 10.8333 6.59998Z" })
|
|
1581
1596
|
] })
|
|
1582
1597
|
);
|
|
1598
|
+
const IconExclamation = createIcon(
|
|
1599
|
+
"IconExclamation",
|
|
1600
|
+
/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: "translate(6.2222 0) scale(1.7778)", children: [
|
|
1601
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0 7.5C0 6.9477 0.4477 6.5 1 6.5C1.5523 6.5 2 6.9477 2 7.5C1.99989 8.05211 1.55223 8.5 1 8.5C0.447768 8.5 0.000110293 8.05211 0 7.5Z" }),
|
|
1602
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0.25 0.75C0.25 0.33578 0.5858 0 1 0C1.4142 0 1.75 0.33578 1.75 0.75V4.75C1.74989 5.16411 1.41413 5.5 1 5.5C0.585868 5.5 0.25011 5.16411 0.25 4.75V0.75Z" })
|
|
1603
|
+
] }) })
|
|
1604
|
+
);
|
|
1583
1605
|
const IconExclamationCircle1 = createIcon(
|
|
1584
1606
|
"IconExclamationCircle1",
|
|
1585
1607
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -2835,6 +2857,7 @@ const messageTextHasEmojisOnly = (message) => {
|
|
|
2835
2857
|
return !noSpace;
|
|
2836
2858
|
};
|
|
2837
2859
|
const isMessageErrorRetryable = (message) => message.status === "failed" && message.error?.status !== 403;
|
|
2860
|
+
const isNetworkSendFailure = (message) => message.status === "failed" && message.error?.status === 0;
|
|
2838
2861
|
const isMessageBounced = (message) => message.type === "error" && (message.moderation_details?.action === "MESSAGE_RESPONSE_ACTION_BOUNCE" || message.moderation?.action === "bounce");
|
|
2839
2862
|
const isMessageBlocked = (message) => message.type === "error" && (message.moderation_details?.action === "MESSAGE_RESPONSE_ACTION_REMOVE" || message.moderation?.action === "remove");
|
|
2840
2863
|
const isMessageEdited = (message) => !!message.message_text_updated_at;
|
|
@@ -3167,6 +3190,64 @@ const findInMsgSetByDate = (targetDate, msgSet, exact = false) => {
|
|
|
3167
3190
|
}
|
|
3168
3191
|
return { index: -1 };
|
|
3169
3192
|
};
|
|
3193
|
+
const adaptMessageSendErrorToErrorFromResponse = (error) => {
|
|
3194
|
+
if (error instanceof streamChat.ErrorFromResponse) {
|
|
3195
|
+
return error;
|
|
3196
|
+
}
|
|
3197
|
+
const fallbackMessage = error instanceof Error ? error.message : "Message send failed";
|
|
3198
|
+
let message = fallbackMessage;
|
|
3199
|
+
let status = 0;
|
|
3200
|
+
let code = null;
|
|
3201
|
+
if (typeof error === "object" && error !== null) {
|
|
3202
|
+
const maybeAxiosError = error;
|
|
3203
|
+
if (maybeAxiosError.name === "AxiosError" && maybeAxiosError.code === "ERR_NETWORK") {
|
|
3204
|
+
message = typeof maybeAxiosError.message === "string" ? maybeAxiosError.message : "Network Error";
|
|
3205
|
+
status = maybeAxiosError.response?.status ?? 0;
|
|
3206
|
+
return new streamChat.ErrorFromResponse(message, {
|
|
3207
|
+
code: null,
|
|
3208
|
+
response: maybeAxiosError.response ?? {
|
|
3209
|
+
// Compatibility shim: this is an intentionally incomplete AxiosResponse-like object.
|
|
3210
|
+
data: {
|
|
3211
|
+
duration: "",
|
|
3212
|
+
message,
|
|
3213
|
+
more_info: "",
|
|
3214
|
+
StatusCode: status
|
|
3215
|
+
},
|
|
3216
|
+
status
|
|
3217
|
+
},
|
|
3218
|
+
status
|
|
3219
|
+
});
|
|
3220
|
+
}
|
|
3221
|
+
try {
|
|
3222
|
+
const stringError = JSON.stringify(error);
|
|
3223
|
+
const parsedError = stringError ? JSON.parse(stringError) : {};
|
|
3224
|
+
if (typeof parsedError.message === "string") {
|
|
3225
|
+
message = parsedError.message;
|
|
3226
|
+
}
|
|
3227
|
+
if (typeof parsedError.status === "number") {
|
|
3228
|
+
status = parsedError.status;
|
|
3229
|
+
}
|
|
3230
|
+
if (typeof parsedError.code === "number") {
|
|
3231
|
+
code = parsedError.code;
|
|
3232
|
+
}
|
|
3233
|
+
} catch {
|
|
3234
|
+
}
|
|
3235
|
+
}
|
|
3236
|
+
return new streamChat.ErrorFromResponse(message, {
|
|
3237
|
+
code,
|
|
3238
|
+
response: {
|
|
3239
|
+
// Compatibility shim: this is an intentionally incomplete AxiosResponse-like object.
|
|
3240
|
+
data: {
|
|
3241
|
+
duration: "",
|
|
3242
|
+
message,
|
|
3243
|
+
more_info: "",
|
|
3244
|
+
StatusCode: status
|
|
3245
|
+
},
|
|
3246
|
+
status
|
|
3247
|
+
},
|
|
3248
|
+
status
|
|
3249
|
+
});
|
|
3250
|
+
};
|
|
3170
3251
|
const WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
|
|
3171
3252
|
const getChannel = async ({
|
|
3172
3253
|
channel,
|
|
@@ -3896,8 +3977,7 @@ const ChannelInner = (props) => {
|
|
|
3896
3977
|
});
|
|
3897
3978
|
}
|
|
3898
3979
|
} catch (error) {
|
|
3899
|
-
const
|
|
3900
|
-
const parsedError = stringError ? JSON.parse(stringError) : {};
|
|
3980
|
+
const parsedError = adaptMessageSendErrorToErrorFromResponse(error);
|
|
3901
3981
|
if (parsedError.code === 4 && error instanceof Error && error.message.includes("already exists")) {
|
|
3902
3982
|
updateMessage({
|
|
3903
3983
|
...localMessage,
|
|
@@ -4093,9 +4173,10 @@ const ChatViewContext = React.createContext(void 0);
|
|
|
4093
4173
|
const useChatViewContext = () => {
|
|
4094
4174
|
const value = React.useContext(ChatViewContext);
|
|
4095
4175
|
if (!value) {
|
|
4096
|
-
|
|
4176
|
+
console.warn(
|
|
4097
4177
|
"The useChatViewContext hook was called outside of the ChatView provider."
|
|
4098
4178
|
);
|
|
4179
|
+
return {};
|
|
4099
4180
|
}
|
|
4100
4181
|
return value;
|
|
4101
4182
|
};
|
|
@@ -4296,14 +4377,16 @@ ChatView.Threads = ThreadsView;
|
|
|
4296
4377
|
ChatView.ThreadAdapter = ThreadAdapter;
|
|
4297
4378
|
ChatView.Selector = ChatViewSelector;
|
|
4298
4379
|
const useNotificationTarget = () => {
|
|
4299
|
-
const
|
|
4380
|
+
const chatViewContext = React.useContext(ChatViewContext);
|
|
4381
|
+
const { channels } = useChannelListContext();
|
|
4300
4382
|
const { channel } = useChannelStateContext();
|
|
4301
4383
|
const threadInstance = useThreadContext();
|
|
4302
4384
|
const { legacyThread } = useLegacyThreadContext();
|
|
4303
4385
|
if (threadInstance || legacyThread) return "thread";
|
|
4304
4386
|
if (channel) return "channel";
|
|
4305
|
-
if (activeChatView === "threads") return "thread-list";
|
|
4306
|
-
return "channel-list";
|
|
4387
|
+
if (chatViewContext?.activeChatView === "threads") return "thread-list";
|
|
4388
|
+
if (channels) return "channel-list";
|
|
4389
|
+
return void 0;
|
|
4307
4390
|
};
|
|
4308
4391
|
const AudioPlayerContext = React.createContext({
|
|
4309
4392
|
audioPlayers: null
|
|
@@ -4378,6 +4461,8 @@ exports.CHANNEL_CONTAINER_ID = CHANNEL_CONTAINER_ID;
|
|
|
4378
4461
|
exports.Channel = Channel;
|
|
4379
4462
|
exports.ChannelActionContext = ChannelActionContext;
|
|
4380
4463
|
exports.ChannelActionProvider = ChannelActionProvider;
|
|
4464
|
+
exports.ChannelListContext = ChannelListContext;
|
|
4465
|
+
exports.ChannelListContextProvider = ChannelListContextProvider;
|
|
4381
4466
|
exports.ChannelStateContext = ChannelStateContext;
|
|
4382
4467
|
exports.ChannelStateProvider = ChannelStateProvider;
|
|
4383
4468
|
exports.ChatContext = ChatContext;
|
|
@@ -4466,6 +4551,7 @@ exports.IconEditBigSolid = IconEditBigSolid;
|
|
|
4466
4551
|
exports.IconEmojiAddReaction = IconEmojiAddReaction;
|
|
4467
4552
|
exports.IconEmojiSad = IconEmojiSad;
|
|
4468
4553
|
exports.IconEmojiSmile = IconEmojiSmile;
|
|
4554
|
+
exports.IconExclamation = IconExclamation;
|
|
4469
4555
|
exports.IconExclamationCircle = IconExclamationCircle;
|
|
4470
4556
|
exports.IconExclamationCircle1 = IconExclamationCircle1;
|
|
4471
4557
|
exports.IconExclamationTriangle = IconExclamationTriangle;
|
|
@@ -4600,6 +4686,7 @@ exports.isMessageBlocked = isMessageBlocked;
|
|
|
4600
4686
|
exports.isMessageBounced = isMessageBounced;
|
|
4601
4687
|
exports.isMessageEdited = isMessageEdited;
|
|
4602
4688
|
exports.isMessageErrorRetryable = isMessageErrorRetryable;
|
|
4689
|
+
exports.isNetworkSendFailure = isNetworkSendFailure;
|
|
4603
4690
|
exports.isNotificationForPanel = isNotificationForPanel;
|
|
4604
4691
|
exports.isNotificationTargetPanel = isNotificationTargetPanel;
|
|
4605
4692
|
exports.isNumberOrString = isNumberOrString;
|
|
@@ -4618,6 +4705,7 @@ exports.useActiveAudioPlayer = useActiveAudioPlayer;
|
|
|
4618
4705
|
exports.useActiveThread = useActiveThread;
|
|
4619
4706
|
exports.useAudioPlayer = useAudioPlayer;
|
|
4620
4707
|
exports.useChannelActionContext = useChannelActionContext;
|
|
4708
|
+
exports.useChannelListContext = useChannelListContext;
|
|
4621
4709
|
exports.useChannelStateContext = useChannelStateContext;
|
|
4622
4710
|
exports.useChatContext = useChatContext;
|
|
4623
4711
|
exports.useChatViewContext = useChatViewContext;
|
|
@@ -4636,4 +4724,4 @@ exports.useThreadsViewContext = useThreadsViewContext;
|
|
|
4636
4724
|
exports.useTranslationContext = useTranslationContext;
|
|
4637
4725
|
exports.useTypingContext = useTypingContext;
|
|
4638
4726
|
exports.validateAndGetMessage = validateAndGetMessage;
|
|
4639
|
-
//# sourceMappingURL=WithAudioPlayback
|
|
4727
|
+
//# sourceMappingURL=WithAudioPlayback.4a84360f.js.map
|