stream-chat-react 11.13.1 → 11.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Window-44a85f63.js → Window-847d5d88.js} +13943 -397
- package/dist/browser.full-bundle.js +17317 -3876
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/Audio.d.ts.map +1 -1
- package/dist/components/Attachment/Audio.js +7 -4
- package/dist/components/Attachment/Card.d.ts +1 -1
- package/dist/components/Attachment/Card.d.ts.map +1 -1
- package/dist/components/Attachment/Card.js +4 -2
- package/dist/components/Attachment/VoiceRecording.d.ts.map +1 -1
- package/dist/components/Attachment/VoiceRecording.js +6 -4
- package/dist/components/Attachment/audioSampling.d.ts +10 -0
- package/dist/components/Attachment/audioSampling.d.ts.map +1 -0
- package/dist/components/Attachment/audioSampling.js +83 -0
- package/dist/components/Attachment/components/FileSizeIndicator.js +2 -2
- package/dist/components/Attachment/components/WaveProgressBar.d.ts +3 -10
- package/dist/components/Attachment/components/WaveProgressBar.d.ts.map +1 -1
- package/dist/components/Attachment/components/WaveProgressBar.js +23 -90
- package/dist/components/Attachment/hooks/useAudioController.d.ts +11 -3
- package/dist/components/Attachment/hooks/useAudioController.d.ts.map +1 -1
- package/dist/components/Attachment/hooks/useAudioController.js +89 -26
- package/dist/components/Attachment/index.d.ts +1 -0
- package/dist/components/Attachment/index.d.ts.map +1 -1
- package/dist/components/Attachment/index.js +1 -0
- package/dist/components/Attachment/utils.d.ts +5 -3
- package/dist/components/Attachment/utils.d.ts.map +1 -1
- package/dist/components/Attachment/utils.js +1 -0
- package/dist/components/Channel/Channel.d.ts +5 -1
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +2 -0
- package/dist/components/ChannelSearch/SearchResults.d.ts +2 -2
- package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
- package/dist/components/ChannelSearch/SearchResults.js +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts.map +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +1 -1
- package/dist/components/Emojis/EmojiPicker.d.ts +2 -2
- package/dist/components/Emojis/index.cjs.js +2 -3
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.d.ts +3 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.d.ts.map +1 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +24 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.d.ts +4 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.d.ts.map +1 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.js +5 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.d.ts +3 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js +47 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts +8 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -0
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.js +21 -0
- package/dist/components/MediaRecorder/AudioRecorder/RecordingTimer.d.ts +6 -0
- package/dist/components/MediaRecorder/AudioRecorder/RecordingTimer.d.ts.map +1 -0
- package/dist/components/MediaRecorder/AudioRecorder/RecordingTimer.js +9 -0
- package/dist/components/MediaRecorder/AudioRecorder/index.d.ts +4 -0
- package/dist/components/MediaRecorder/AudioRecorder/index.d.ts.map +1 -0
- package/dist/components/MediaRecorder/AudioRecorder/index.js +3 -0
- package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts +8 -0
- package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts.map +1 -0
- package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.js +21 -0
- package/dist/components/MediaRecorder/classes/AmplitudeRecorder.d.ts +55 -0
- package/dist/components/MediaRecorder/classes/AmplitudeRecorder.d.ts.map +1 -0
- package/dist/components/MediaRecorder/classes/AmplitudeRecorder.js +93 -0
- package/dist/components/MediaRecorder/classes/BrowserPermission.d.ts +23 -0
- package/dist/components/MediaRecorder/classes/BrowserPermission.d.ts.map +1 -0
- package/dist/components/MediaRecorder/classes/BrowserPermission.js +98 -0
- package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +83 -0
- package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -0
- package/dist/components/MediaRecorder/classes/MediaRecorderController.js +313 -0
- package/dist/components/MediaRecorder/classes/index.d.ts +4 -0
- package/dist/components/MediaRecorder/classes/index.d.ts.map +1 -0
- package/dist/components/MediaRecorder/classes/index.js +2 -0
- package/dist/components/MediaRecorder/hooks/index.d.ts +2 -0
- package/dist/components/MediaRecorder/hooks/index.d.ts.map +1 -0
- package/dist/components/MediaRecorder/hooks/index.js +1 -0
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +20 -0
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -0
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.js +73 -0
- package/dist/components/MediaRecorder/index.d.ts +6 -0
- package/dist/components/MediaRecorder/index.d.ts.map +1 -0
- package/dist/components/MediaRecorder/index.js +5 -0
- package/dist/components/MediaRecorder/observable/BehaviorSubject.d.ts +11 -0
- package/dist/components/MediaRecorder/observable/BehaviorSubject.d.ts.map +1 -0
- package/dist/components/MediaRecorder/observable/BehaviorSubject.js +34 -0
- package/dist/components/MediaRecorder/observable/Observable.d.ts +18 -0
- package/dist/components/MediaRecorder/observable/Observable.d.ts.map +1 -0
- package/dist/components/MediaRecorder/observable/Observable.js +29 -0
- package/dist/components/MediaRecorder/observable/Observer.d.ts +10 -0
- package/dist/components/MediaRecorder/observable/Observer.d.ts.map +1 -0
- package/dist/components/MediaRecorder/observable/Observer.js +3 -0
- package/dist/components/MediaRecorder/observable/Subject.d.ts +16 -0
- package/dist/components/MediaRecorder/observable/Subject.d.ts.map +1 -0
- package/dist/components/MediaRecorder/observable/Subject.js +70 -0
- package/dist/components/MediaRecorder/observable/Subscription.d.ts +11 -0
- package/dist/components/MediaRecorder/observable/Subscription.d.ts.map +1 -0
- package/dist/components/MediaRecorder/observable/Subscription.js +13 -0
- package/dist/components/MediaRecorder/observable/index.d.ts +6 -0
- package/dist/components/MediaRecorder/observable/index.d.ts.map +1 -0
- package/dist/components/MediaRecorder/observable/index.js +5 -0
- package/dist/components/MediaRecorder/transcode/audioProcessing.d.ts +16 -0
- package/dist/components/MediaRecorder/transcode/audioProcessing.d.ts.map +1 -0
- package/dist/components/MediaRecorder/transcode/audioProcessing.js +51 -0
- package/dist/components/MediaRecorder/transcode/index.d.ts +8 -0
- package/dist/components/MediaRecorder/transcode/index.d.ts.map +1 -0
- package/dist/components/MediaRecorder/transcode/index.js +18 -0
- package/dist/components/MediaRecorder/transcode/mp3.d.ts +2 -0
- package/dist/components/MediaRecorder/transcode/mp3.d.ts.map +1 -0
- package/dist/components/MediaRecorder/transcode/mp3.js +53 -0
- package/dist/components/MediaRecorder/transcode/wav.d.ts +8 -0
- package/dist/components/MediaRecorder/transcode/wav.d.ts.map +1 -0
- package/dist/components/MediaRecorder/transcode/wav.js +117 -0
- package/dist/components/Message/MessageSimple.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.js +3 -2
- package/dist/components/MessageInput/AttachmentPreviewList.d.ts +2 -1
- package/dist/components/MessageInput/AttachmentPreviewList.d.ts.map +1 -1
- package/dist/components/MessageInput/AttachmentPreviewList.js +66 -20
- package/dist/components/MessageInput/CooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/CooldownTimer.js +4 -17
- package/dist/components/MessageInput/MessageInput.d.ts +10 -0
- package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputFlat.js +31 -9
- package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputSmall.js +3 -2
- package/dist/components/MessageInput/SendButton.d.ts +8 -0
- package/dist/components/MessageInput/SendButton.d.ts.map +1 -0
- package/dist/components/MessageInput/SendButton.js +9 -0
- package/dist/components/MessageInput/hooks/useAttachments.d.ts +5 -2
- package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.js +87 -3
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +12 -2
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +22 -7
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputState.js +31 -5
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +2 -2
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +15 -6
- package/dist/components/MessageInput/hooks/useTimeElapsed.d.ts +10 -0
- package/dist/components/MessageInput/hooks/useTimeElapsed.d.ts.map +1 -0
- package/dist/components/MessageInput/hooks/useTimeElapsed.js +30 -0
- package/dist/components/MessageInput/hooks/useTimer.d.ts +4 -0
- package/dist/components/MessageInput/hooks/useTimer.d.ts.map +1 -0
- package/dist/components/MessageInput/hooks/useTimer.js +20 -0
- package/dist/components/MessageInput/hooks/utils.d.ts +1 -0
- package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/utils.js +24 -7
- package/dist/components/MessageInput/icons.d.ts +5 -6
- package/dist/components/MessageInput/icons.d.ts.map +1 -1
- package/dist/components/MessageInput/icons.js +13 -10
- package/dist/components/MessageInput/index.d.ts +1 -0
- package/dist/components/MessageInput/index.d.ts.map +1 -1
- package/dist/components/MessageInput/index.js +1 -0
- package/dist/components/MessageInput/types.d.ts +36 -1
- package/dist/components/MessageInput/types.d.ts.map +1 -1
- package/dist/components/ReactFileUtilities/types.d.ts +1 -0
- package/dist/components/ReactFileUtilities/types.d.ts.map +1 -1
- package/dist/components/ReactFileUtilities/utils.d.ts +9 -1
- package/dist/components/ReactFileUtilities/utils.d.ts.map +1 -1
- package/dist/components/ReactFileUtilities/utils.js +25 -0
- package/dist/components/Reactions/utils/utils.d.ts +2 -1
- package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/constants/limits.d.ts +1 -0
- package/dist/constants/limits.d.ts.map +1 -1
- package/dist/constants/limits.js +1 -0
- package/dist/context/ComponentContext.d.ts +7 -4
- package/dist/context/ComponentContext.d.ts.map +1 -1
- package/dist/context/MessageInputContext.d.ts +4 -1
- package/dist/context/MessageInputContext.d.ts.map +1 -1
- package/dist/css/v2/index.css +3 -1
- package/dist/css/v2/index.layout.css +3 -1
- package/dist/i18n/Streami18n.d.ts +14 -0
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/de.json +14 -0
- package/dist/i18n/en.json +14 -0
- package/dist/i18n/es.json +14 -0
- package/dist/i18n/fr.json +14 -0
- package/dist/i18n/hi.json +14 -0
- package/dist/i18n/it.json +14 -0
- package/dist/i18n/ja.json +14 -0
- package/dist/i18n/ko.json +14 -0
- package/dist/i18n/nl.json +14 -0
- package/dist/i18n/pt.json +14 -0
- package/dist/i18n/ru.json +14 -0
- package/dist/i18n/tr.json +14 -0
- package/dist/index.cjs.js +22 -4
- package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +56 -8
- package/dist/scss/v2/AttachmentList/AttachmentList-theme.scss +22 -4
- package/dist/scss/v2/ImageCarousel/ImageCarousel-layout.scss +11 -2
- package/dist/scss/v2/ImageCarousel/ImageCarousel-theme.scss +14 -0
- package/dist/scss/v2/_global-theme-variables.scss +13 -13
- package/dist/utils/mergeDeep.d.ts +4 -0
- package/dist/utils/mergeDeep.d.ts.map +1 -0
- package/dist/utils/mergeDeep.js +5 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -3
- package/dist/components/MessageInput/hooks/useFileState.d.ts +0 -7
- package/dist/components/MessageInput/hooks/useFileState.d.ts.map +0 -1
- package/dist/components/MessageInput/hooks/useFileState.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAU5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAU5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,eAAO,MAAM,uBAAuB,UAA8D,CAAC;AAEnG,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,uBAAuB,EAAE,SAAS,EAAE,CAAC,CAAC;AAErF,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACnF,aAAa,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,GAAG;IAC7D,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,GAAG;IAC7D,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,sJAIyB,CAAC;AAEvD,eAAO,MAAM,eAAe,2IAIqC,CAAC;AAElE,eAAO,MAAM,uBAAuB,uNAI8C,CAAC;AAEnF,eAAO,MAAM,iBAAiB,iLAIE,CAAC;AAEjC,eAAO,MAAM,0BAA0B,uPAI0C,CAAC;AAElF,eAAO,MAAM,iBAAiB,0LAIgD,CAAC;AAE/E,eAAO,MAAM,gBAAgB,4JAQG,CAAC;AAEjC,eAAO,MAAM,iBAAiB,iLAMD,CAAC;AAE9B,eAAO,MAAM,eAAe,eAAgB,UAAU,YAGrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,uLA2B3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kKAmBnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,wJAYzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JAyBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,2JAyBtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,kKActB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JAgBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,2JA8CvB,CAAC;AAEF,eAAO,MAAM,MAAM,QAAS,MAAM,WAAW,MAAM,aAA+C,CAAC;AAEnG,eAAO,MAAM,eAAe,kBAAmB,MAAM,WAapD,CAAC"}
|
|
@@ -13,6 +13,7 @@ export var isUploadedImage = function (attachment) { return attachment.type ===
|
|
|
13
13
|
export var isGalleryAttachmentType = function (output) { return Array.isArray(output.images); };
|
|
14
14
|
export var isAudioAttachment = function (attachment) { return attachment.type === 'audio'; };
|
|
15
15
|
export var isVoiceRecordingAttachment = function (attachment) { return attachment.type === 'voiceRecording'; };
|
|
16
|
+
export var isLocalAttachment = function (attachment) { return !!attachment.$internal; };
|
|
16
17
|
export var isFileAttachment = function (attachment) {
|
|
17
18
|
return attachment.type === 'file' ||
|
|
18
19
|
(attachment.mime_type &&
|
|
@@ -13,8 +13,10 @@ import { ReactionOptions } from '../Reactions';
|
|
|
13
13
|
type ChannelPropsForwardedToComponentContext<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
14
14
|
/** Custom UI component to display a message attachment, defaults to and accepts same props as: [Attachment](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Attachment/Attachment.tsx) */
|
|
15
15
|
Attachment?: ComponentContextValue<StreamChatGenerics>['Attachment'];
|
|
16
|
-
/** Custom UI component to display
|
|
16
|
+
/** Custom UI component to display an attachment previews in MessageInput, defaults to and accepts same props as: [Attachment](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/AttachmentPreviewList.tsx) */
|
|
17
17
|
AttachmentPreviewList?: ComponentContextValue<StreamChatGenerics>['AttachmentPreviewList'];
|
|
18
|
+
/** Custom UI component to display AudioRecorder in MessageInput, defaults to and accepts same props as: [AudioRecorder](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/AudioRecorder.tsx) */
|
|
19
|
+
AudioRecorder?: ComponentContextValue<StreamChatGenerics>['AudioRecorder'];
|
|
18
20
|
/** Optional UI component to override the default suggestion Header component, defaults to and accepts same props as: [Header](https://github.com/GetStream/stream-chat-react/blob/master/src/components/AutoCompleteTextarea/Header.tsx) */
|
|
19
21
|
AutocompleteSuggestionHeader?: ComponentContextValue<StreamChatGenerics>['AutocompleteSuggestionHeader'];
|
|
20
22
|
/** Optional UI component to override the default suggestion Item component, defaults to and accepts same props as: [Item](https://github.com/GetStream/stream-chat-react/blob/master/src/components/AutoCompleteTextarea/Item.js) */
|
|
@@ -89,6 +91,8 @@ type ChannelPropsForwardedToComponentContext<StreamChatGenerics extends DefaultS
|
|
|
89
91
|
ReactionsList?: ComponentContextValue<StreamChatGenerics>['ReactionsList'];
|
|
90
92
|
/** Custom UI component for send button, defaults to and accepts same props as: [SendButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/icons.tsx) */
|
|
91
93
|
SendButton?: ComponentContextValue<StreamChatGenerics>['SendButton'];
|
|
94
|
+
/** Custom UI component button for initiating audio recording, defaults to and accepts same props as: [StartRecordingAudioButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.tsx) */
|
|
95
|
+
StartRecordingAudioButton?: ComponentContextValue<StreamChatGenerics>['StartRecordingAudioButton'];
|
|
92
96
|
/** Custom UI component that displays thread's parent or other message at the top of the `MessageList`, defaults to and accepts same props as [MessageSimple](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageSimple.tsx) */
|
|
93
97
|
ThreadHead?: React.ComponentType<MessageProps<StreamChatGenerics>>;
|
|
94
98
|
/** Custom UI component to display the header of a `Thread`, defaults to and accepts same props as: [DefaultThreadHeader](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Thread/Thread.tsx) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAQlB,MAAM,OAAO,CAAC;AAKf,OAAO,EAIL,mBAAmB,EAInB,gBAAgB,EAChB,OAAO,EACP,eAAe,EAEf,OAAO,IAAI,aAAa,EACxB,UAAU,EACV,cAAc,EAEf,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,eAAe,EAAuB,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EAEL,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAWpB,OAAO,EAGL,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAqB,MAAM,gCAAgC,CAAC;AAY1F,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAMtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAA0B,eAAe,EAAE,MAAM,cAAc,CAAC;AAIvE,KAAK,uCAAuC,CAC1C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,oNAAoN;IACpN,UAAU,CAAC,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -842,6 +842,7 @@ var ChannelInner = function (props) {
|
|
|
842
842
|
return ({
|
|
843
843
|
Attachment: props.Attachment || DefaultAttachment,
|
|
844
844
|
AttachmentPreviewList: props.AttachmentPreviewList,
|
|
845
|
+
AudioRecorder: props.AudioRecorder,
|
|
845
846
|
AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
|
|
846
847
|
AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
|
|
847
848
|
AutocompleteSuggestionList: props.AutocompleteSuggestionList,
|
|
@@ -878,6 +879,7 @@ var ChannelInner = function (props) {
|
|
|
878
879
|
ReactionSelector: props.ReactionSelector,
|
|
879
880
|
ReactionsList: props.ReactionsList,
|
|
880
881
|
SendButton: props.SendButton,
|
|
882
|
+
StartRecordingAudioButton: props.StartRecordingAudioButton,
|
|
881
883
|
ThreadHead: props.ThreadHead,
|
|
882
884
|
ThreadHeader: props.ThreadHeader,
|
|
883
885
|
ThreadStart: props.ThreadStart,
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { ChannelOrUserResponse } from './utils';
|
|
3
3
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
4
4
|
export type SearchResultsHeaderProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Pick<SearchResultsProps<StreamChatGenerics>, 'results'>;
|
|
5
|
-
export type SearchResultsListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Pick<SearchResultsProps<StreamChatGenerics>, 'results' | 'SearchResultItem' | 'selectResult'
|
|
5
|
+
export type SearchResultsListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Required<Pick<SearchResultsProps<StreamChatGenerics>, 'results' | 'SearchResultItem' | 'selectResult'>> & {
|
|
6
6
|
focusedUser?: number;
|
|
7
7
|
};
|
|
8
8
|
export type SearchResultItemProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Pick<SearchResultsProps<StreamChatGenerics>, 'selectResult'> & {
|
|
@@ -11,7 +11,7 @@ export type SearchResultItemProps<StreamChatGenerics extends DefaultStreamChatGe
|
|
|
11
11
|
focusedUser?: number;
|
|
12
12
|
};
|
|
13
13
|
export type SearchResultsController<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
14
|
-
results: Array<ChannelOrUserResponse<StreamChatGenerics
|
|
14
|
+
results: Array<ChannelOrUserResponse<StreamChatGenerics>>;
|
|
15
15
|
searching: boolean;
|
|
16
16
|
selectResult: (result: ChannelOrUserResponse<StreamChatGenerics>) => Promise<void> | void;
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/SearchResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAKnF,OAAO,EAAE,qBAAqB,EAAa,MAAM,SAAS,CAAC;AAK3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAYnE,MAAM,MAAM,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC;AAoB5D,MAAM,MAAM,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,
|
|
1
|
+
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelSearch/SearchResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAKnF,OAAO,EAAE,qBAAqB,EAAa,MAAM,SAAS,CAAC;AAK3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAYnE,MAAM,MAAM,wBAAwB,CAClC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC;AAoB5D,MAAM,MAAM,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,QAAQ,CACV,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,cAAc,CAAC,CAC9F,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAwBF,MAAM,MAAM,qBAAqB,CAC/B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAC,GAAG;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA+EF,MAAM,MAAM,uBAAuB,CACjC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,OAAO,EAAE,KAAK,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3F,CAAC;AAEF,MAAM,MAAM,4BAA4B,CACtC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,mGAAmG;IACnG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,8DAA8D;IAC9D,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,gPAAgP;IAChP,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClF,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,+OAA+O;IAC/O,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC;CACrF,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,4BAA4B,CAAC,kBAAkB,CAAC,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;AAEnG,eAAO,MAAM,aAAa,wJAyFzB,CAAC"}
|
|
@@ -19,7 +19,7 @@ var DefaultSearchResultsHeader = function (_a) {
|
|
|
19
19
|
})));
|
|
20
20
|
};
|
|
21
21
|
var DefaultSearchResultsList = function (props) {
|
|
22
|
-
var focusedUser = props.focusedUser, results = props.results,
|
|
22
|
+
var focusedUser = props.focusedUser, results = props.results, SearchResultItem = props.SearchResultItem, selectResult = props.selectResult;
|
|
23
23
|
return (React.createElement(React.Fragment, null, results.map(function (result, index) { return (React.createElement(SearchResultItem, { focusedUser: focusedUser, index: index, key: index, result: result, selectResult: selectResult })); })));
|
|
24
24
|
};
|
|
25
25
|
var DefaultSearchResultItem = function (props) {
|
|
@@ -47,7 +47,7 @@ export type ChannelSearchParams<StreamChatGenerics extends DefaultStreamChatGene
|
|
|
47
47
|
};
|
|
48
48
|
export type ChannelSearchControllerParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = ChannelSearchParams<StreamChatGenerics> & {
|
|
49
49
|
/** Set the array of channels displayed in the ChannelList */
|
|
50
|
-
setChannels
|
|
50
|
+
setChannels?: React.Dispatch<React.SetStateAction<Array<Channel<StreamChatGenerics>>>>;
|
|
51
51
|
};
|
|
52
52
|
export declare const useChannelSearch: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelType, clearSearchOnClickOutside, disabled, onSearch: onSearchCallback, onSearchExit, onSelectResult, searchDebounceIntervalMs, searchForChannels, searchFunction, searchQueryParams, setChannels, }: ChannelSearchControllerParams<StreamChatGenerics>) => SearchController<StreamChatGenerics>;
|
|
53
53
|
//# sourceMappingURL=useChannelSearch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChannelSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelSearch/hooks/useChannelSearch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useChannelSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelSearch/hooks/useChannelSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,7 +98,7 @@ export var useChannelSearch = function (_a) {
|
|
|
98
98
|
selectedChannel = newChannel;
|
|
99
99
|
_a.label = 5;
|
|
100
100
|
case 5:
|
|
101
|
-
setChannels(function (channels) { return uniqBy(__spreadArray([selectedChannel], channels, true), 'cid'); });
|
|
101
|
+
setChannels === null || setChannels === void 0 ? void 0 : setChannels(function (channels) { return uniqBy(__spreadArray([selectedChannel], channels, true), 'cid'); });
|
|
102
102
|
if (clearSearchOnClickOutside) {
|
|
103
103
|
exitSearch();
|
|
104
104
|
}
|
|
@@ -8,14 +8,14 @@ export type EmojiPickerProps = {
|
|
|
8
8
|
closeOnEmojiSelect?: boolean;
|
|
9
9
|
/**
|
|
10
10
|
* Untyped [properties](https://github.com/missive/emoji-mart/tree/v5.5.2#options--props) to be
|
|
11
|
-
* passed to the [emoji-mart `Picker`](https://github.com/missive/emoji-mart/tree/v5.5.2#-picker) component
|
|
11
|
+
* passed down to the [emoji-mart `Picker`](https://github.com/missive/emoji-mart/tree/v5.5.2#-picker) component
|
|
12
12
|
*/
|
|
13
13
|
pickerProps?: Partial<{
|
|
14
14
|
theme: 'auto' | 'light' | 'dark';
|
|
15
15
|
} & Record<string, unknown>>;
|
|
16
16
|
/**
|
|
17
17
|
* [React Popper options](https://popper.js.org/docs/v2/constructors/#options) to be
|
|
18
|
-
* passed to the [react-popper `usePopper`](https://popper.js.org/react-popper/v2/hook/) hook
|
|
18
|
+
* passed down to the [react-popper `usePopper`](https://popper.js.org/react-popper/v2/hook/) hook
|
|
19
19
|
*/
|
|
20
20
|
popperOptions?: Partial<Options>;
|
|
21
21
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Window = require('../../Window-
|
|
5
|
+
var Window = require('../../Window-847d5d88.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var Picker = require('@emoji-mart/react');
|
|
8
8
|
require('dayjs');
|
|
@@ -28,10 +28,10 @@ require('dayjs/locale/tr');
|
|
|
28
28
|
require('dayjs/locale/en');
|
|
29
29
|
require('react-player');
|
|
30
30
|
require('@braintree/sanitize-url');
|
|
31
|
-
require('pretty-bytes');
|
|
32
31
|
require('prop-types');
|
|
33
32
|
require('react-image-gallery');
|
|
34
33
|
require('linkifyjs');
|
|
34
|
+
require('lodash.throttle');
|
|
35
35
|
require('emoji-regex');
|
|
36
36
|
require('lodash.uniqby');
|
|
37
37
|
require('@babel/runtime/helpers/extends');
|
|
@@ -40,7 +40,6 @@ require('react-textarea-autosize');
|
|
|
40
40
|
require('textarea-caret');
|
|
41
41
|
require('react-is');
|
|
42
42
|
require('lodash.debounce');
|
|
43
|
-
require('lodash.throttle');
|
|
44
43
|
require('crypto');
|
|
45
44
|
require('react-fast-compare');
|
|
46
45
|
require('react-dom');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/AudioRecorder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,aAAa,gCAoEzB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AudioRecordingPreview } from './AudioRecordingPreview';
|
|
3
|
+
import { AudioRecordingInProgress } from './AudioRecordingInProgress';
|
|
4
|
+
import { MediaRecordingState } from '../classes';
|
|
5
|
+
import { BinIcon, CheckSignIcon, LoadingIndicatorIcon, MicIcon, PauseIcon, SendIconV2, } from '../../MessageInput';
|
|
6
|
+
import { useMessageInputContext } from '../../../context';
|
|
7
|
+
export var AudioRecorder = function () {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
var _c = useMessageInputContext().recordingController, completeRecording = _c.completeRecording, recorder = _c.recorder, recording = _c.recording, recordingState = _c.recordingState;
|
|
10
|
+
var isUploadingFile = ((_a = recording === null || recording === void 0 ? void 0 : recording.$internal) === null || _a === void 0 ? void 0 : _a.uploadState) === 'uploading';
|
|
11
|
+
if (!recorder)
|
|
12
|
+
return null;
|
|
13
|
+
return (React.createElement("div", { className: 'str-chat__audio_recorder-container' },
|
|
14
|
+
React.createElement("div", { className: 'str-chat__audio_recorder', "data-testid": 'audio-recorder' },
|
|
15
|
+
React.createElement("button", { className: 'str-chat__audio_recorder__cancel-button', disabled: isUploadingFile, onClick: recorder.cancel },
|
|
16
|
+
React.createElement(BinIcon, null)),
|
|
17
|
+
(recording === null || recording === void 0 ? void 0 : recording.asset_url) ? (React.createElement(AudioRecordingPreview, { durationSeconds: (_b = recording.duration) !== null && _b !== void 0 ? _b : 0, mimeType: recording.mime_type, src: recording.asset_url, waveformData: recording.waveform_data })) : (React.createElement(AudioRecordingInProgress, null)),
|
|
18
|
+
recordingState === MediaRecordingState.PAUSED && (React.createElement("button", { className: 'str-chat__audio_recorder__resume-recording-button', onClick: recorder.resume },
|
|
19
|
+
React.createElement(MicIcon, null))),
|
|
20
|
+
recordingState === MediaRecordingState.RECORDING && (React.createElement("button", { className: 'str-chat__audio_recorder__pause-recording-button', onClick: recorder.pause },
|
|
21
|
+
React.createElement(PauseIcon, null))),
|
|
22
|
+
recordingState === MediaRecordingState.STOPPED ? (React.createElement("button", { className: 'str-chat__audio_recorder__complete-button', "data-testid": 'audio-recorder-complete-button', disabled: isUploadingFile, onClick: completeRecording }, isUploadingFile ? React.createElement(LoadingIndicatorIcon, null) : React.createElement(SendIconV2, null))) : (React.createElement("button", { className: 'str-chat__audio_recorder__stop-button', "data-testid": 'audio-recorder-stop-button', onClick: recorder.stop },
|
|
23
|
+
React.createElement(CheckSignIcon, null))))));
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioRecordingButtons.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5E,eAAO,MAAM,yBAAyB,UAAW,8BAA8B,sBAS9E,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { MicIcon } from '../../MessageInput/icons';
|
|
4
|
+
export var StartRecordingAudioButton = function (props) { return (React.createElement("button", __assign({ "aria-label": 'Start recording audio', className: 'str-chat__start-recording-audio-button', "data-testid": 'start-recording-audio-button' }, props),
|
|
5
|
+
React.createElement(MicIcon, null))); };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioRecordingInProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AA4CnD,eAAO,MAAM,wBAAwB,yBA8BpC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { useTimeElapsed } from '../../MessageInput/hooks/useTimeElapsed';
|
|
3
|
+
import { useMessageInputContext } from '../../../context';
|
|
4
|
+
import { RecordingTimer } from './RecordingTimer';
|
|
5
|
+
var AudioRecordingWaveform = function (_a) {
|
|
6
|
+
var _b = _a.maxDataPointsDrawn, maxDataPointsDrawn = _b === void 0 ? 100 : _b;
|
|
7
|
+
var recorder = useMessageInputContext().recordingController.recorder;
|
|
8
|
+
var _c = useState([]), amplitudes = _c[0], setAmplitudes = _c[1];
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
if (!(recorder === null || recorder === void 0 ? void 0 : recorder.amplitudeRecorder))
|
|
11
|
+
return;
|
|
12
|
+
var amplitudesSubscription = recorder.amplitudeRecorder.amplitudes.subscribe(setAmplitudes);
|
|
13
|
+
return function () {
|
|
14
|
+
amplitudesSubscription.unsubscribe();
|
|
15
|
+
};
|
|
16
|
+
}, [recorder]);
|
|
17
|
+
if (!recorder)
|
|
18
|
+
return null;
|
|
19
|
+
return (React.createElement("div", { className: 'str-chat__audio_recorder__waveform-box' }, amplitudes.slice(-maxDataPointsDrawn).map(function (amplitude, i) { return (React.createElement("div", { className: 'str-chat__wave-progress-bar__amplitude-bar', key: "amplitude-".concat(i, "-voice-recording"), style: {
|
|
20
|
+
'--str-chat__wave-progress-bar__amplitude-bar-height': amplitude
|
|
21
|
+
? amplitude * 100 + '%'
|
|
22
|
+
: '0%',
|
|
23
|
+
} })); })));
|
|
24
|
+
};
|
|
25
|
+
export var AudioRecordingInProgress = function () {
|
|
26
|
+
var _a = useTimeElapsed(), secondsElapsed = _a.secondsElapsed, startCounter = _a.startCounter, stopCounter = _a.stopCounter;
|
|
27
|
+
var recorder = useMessageInputContext().recordingController.recorder;
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (!(recorder === null || recorder === void 0 ? void 0 : recorder.mediaRecorder))
|
|
30
|
+
return;
|
|
31
|
+
var mediaRecorder = recorder.mediaRecorder;
|
|
32
|
+
mediaRecorder.addEventListener('start', startCounter);
|
|
33
|
+
mediaRecorder.addEventListener('resume', startCounter);
|
|
34
|
+
mediaRecorder.addEventListener('stop', stopCounter);
|
|
35
|
+
mediaRecorder.addEventListener('pause', stopCounter);
|
|
36
|
+
return function () {
|
|
37
|
+
mediaRecorder.removeEventListener('start', startCounter);
|
|
38
|
+
mediaRecorder.removeEventListener('resume', startCounter);
|
|
39
|
+
mediaRecorder.removeEventListener('stop', stopCounter);
|
|
40
|
+
mediaRecorder.removeEventListener('pause', stopCounter);
|
|
41
|
+
};
|
|
42
|
+
}, [recorder, startCounter, stopCounter]);
|
|
43
|
+
return (React.createElement(React.Fragment, null,
|
|
44
|
+
React.createElement(RecordingTimer, { durationSeconds: secondsElapsed }),
|
|
45
|
+
React.createElement("div", { className: 'str-chat__waveform-box-container' },
|
|
46
|
+
React.createElement(AudioRecordingWaveform, null))));
|
|
47
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type AudioRecordingPlayerProps = React.ComponentProps<'audio'> & {
|
|
3
|
+
durationSeconds: number;
|
|
4
|
+
mimeType?: string;
|
|
5
|
+
waveformData?: number[];
|
|
6
|
+
};
|
|
7
|
+
export declare const AudioRecordingPreview: ({ durationSeconds, mimeType, waveformData, ...props }: AudioRecordingPlayerProps) => React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=AudioRecordingPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioRecordingPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;IACtE,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,0DAK/B,yBAAyB,sBAsB3B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { PauseIcon, PlayIcon } from '../../MessageInput/icons';
|
|
4
|
+
import { RecordingTimer } from './RecordingTimer';
|
|
5
|
+
import { useAudioController } from '../../Attachment/hooks/useAudioController';
|
|
6
|
+
import { WaveProgressBar } from '../../Attachment';
|
|
7
|
+
export var AudioRecordingPreview = function (_a) {
|
|
8
|
+
var durationSeconds = _a.durationSeconds, mimeType = _a.mimeType, waveformData = _a.waveformData, props = __rest(_a, ["durationSeconds", "mimeType", "waveformData"]);
|
|
9
|
+
var _b = useAudioController({
|
|
10
|
+
durationSeconds: durationSeconds,
|
|
11
|
+
mimeType: mimeType,
|
|
12
|
+
}), audioRef = _b.audioRef, isPlaying = _b.isPlaying, progress = _b.progress, secondsElapsed = _b.secondsElapsed, seek = _b.seek, togglePlay = _b.togglePlay;
|
|
13
|
+
var displayedDuration = secondsElapsed || durationSeconds;
|
|
14
|
+
return (React.createElement(React.Fragment, null,
|
|
15
|
+
React.createElement("audio", { ref: audioRef },
|
|
16
|
+
React.createElement("source", { src: props.src, type: mimeType })),
|
|
17
|
+
React.createElement("button", { className: 'str-chat__audio_recorder__toggle-playback-button', onClick: togglePlay }, isPlaying ? React.createElement(PauseIcon, null) : React.createElement(PlayIcon, null)),
|
|
18
|
+
React.createElement(RecordingTimer, { durationSeconds: displayedDuration }),
|
|
19
|
+
React.createElement("div", { className: 'str-chat__wave-progress-bar__track-container' },
|
|
20
|
+
React.createElement(WaveProgressBar, { progress: progress, seek: seek, waveformData: waveformData || [] }))));
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordingTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/RecordingTimer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,cAAc,wBAAyB,mBAAmB,sBAQtE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import clsx from 'clsx';
|
|
2
|
+
import { displayDuration } from '../../Attachment';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
export var RecordingTimer = function (_a) {
|
|
5
|
+
var durationSeconds = _a.durationSeconds;
|
|
6
|
+
return (React.createElement("div", { className: clsx('str-chat__recording-timer', {
|
|
7
|
+
'str-chat__recording-timer--hours': durationSeconds >= 3600,
|
|
8
|
+
}) }, displayDuration(durationSeconds)));
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/AudioRecorder/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RecordingPermission } from './classes/BrowserPermission';
|
|
3
|
+
export type RecordingPermissionDeniedNotificationProps = {
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
permissionName: RecordingPermission;
|
|
6
|
+
};
|
|
7
|
+
export declare const RecordingPermissionDeniedNotification: ({ onClose, permissionName, }: RecordingPermissionDeniedNotificationProps) => React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=RecordingPermissionDeniedNotification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordingPermissionDeniedNotification.d.ts","sourceRoot":"","sources":["../../../src/components/MediaRecorder/RecordingPermissionDeniedNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,MAAM,0CAA0C,GAAG;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,qCAAqC,iCAG/C,0CAA0C,sBA+B5C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useTranslationContext } from '../../context';
|
|
3
|
+
export var RecordingPermissionDeniedNotification = function (_a) {
|
|
4
|
+
var onClose = _a.onClose, permissionName = _a.permissionName;
|
|
5
|
+
var t = useTranslationContext().t;
|
|
6
|
+
var permissionTranslations = {
|
|
7
|
+
body: {
|
|
8
|
+
camera: t('To start recording, allow the camera access in your browser'),
|
|
9
|
+
microphone: t('To start recording, allow the microphone access in your browser'),
|
|
10
|
+
},
|
|
11
|
+
heading: {
|
|
12
|
+
camera: t('Allow access to camera'),
|
|
13
|
+
microphone: t('Allow access to microphone'),
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
return (React.createElement("div", { className: 'str-chat__recording-permission-denied-notification' },
|
|
17
|
+
React.createElement("div", { className: 'str-chat__recording-permission-denied-notification__heading' }, permissionTranslations.heading[permissionName]),
|
|
18
|
+
React.createElement("p", { className: 'str-chat__recording-permission-denied-notification__message' }, permissionTranslations.body[permissionName]),
|
|
19
|
+
React.createElement("div", { className: 'str-chat__recording-permission-denied-notification__dismiss-button-container' },
|
|
20
|
+
React.createElement("button", { className: 'str-chat__recording-permission-denied-notification__dismiss-button', onClick: onClose }, t('Ok')))));
|
|
21
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BehaviorSubject } from '../observable/BehaviorSubject';
|
|
2
|
+
import { Subject } from '../observable/Subject';
|
|
3
|
+
/**
|
|
4
|
+
* fftSize
|
|
5
|
+
* An unsigned integer, representing the window size of the FFT, given in number of samples.
|
|
6
|
+
* A higher value will result in more details in the frequency domain but fewer details
|
|
7
|
+
* in the amplitude domain.
|
|
8
|
+
*
|
|
9
|
+
* Must be a power of 2 between 2^5 and 2^15, so one of: 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, and 32768.
|
|
10
|
+
* Defaults to 32.
|
|
11
|
+
*
|
|
12
|
+
* maxDecibels
|
|
13
|
+
* A double, representing the maximum decibel value for scaling the FFT analysis data,
|
|
14
|
+
* where 0 dB is the loudest possible sound, -10 dB is a 10th of that, etc.
|
|
15
|
+
* The default value is -30 dB.
|
|
16
|
+
*
|
|
17
|
+
* minDecibels
|
|
18
|
+
* A double, representing the minimum decibel value for scaling the FFT analysis data,
|
|
19
|
+
* where 0 dB is the loudest possible sound, -10 dB is a 10th of that, etc.
|
|
20
|
+
* The default value is -100 dB.
|
|
21
|
+
*/
|
|
22
|
+
export type AmplitudeAnalyserConfig = Pick<AnalyserNode, 'fftSize' | 'maxDecibels' | 'minDecibels'>;
|
|
23
|
+
export type AmplitudeRecorderConfig = {
|
|
24
|
+
analyserConfig: AmplitudeAnalyserConfig;
|
|
25
|
+
sampleCount: number;
|
|
26
|
+
samplingFrequencyMs: number;
|
|
27
|
+
};
|
|
28
|
+
export declare const DEFAULT_AMPLITUDE_RECORDER_CONFIG: AmplitudeRecorderConfig;
|
|
29
|
+
type AmplitudeAnalyserOptions = {
|
|
30
|
+
stream: MediaStream;
|
|
31
|
+
config?: AmplitudeRecorderConfig;
|
|
32
|
+
};
|
|
33
|
+
export declare enum AmplitudeRecorderState {
|
|
34
|
+
CLOSED = "closed",
|
|
35
|
+
RECORDING = "recording",
|
|
36
|
+
STOPPED = "stopped"
|
|
37
|
+
}
|
|
38
|
+
export declare class AmplitudeRecorder {
|
|
39
|
+
audioContext: AudioContext | undefined;
|
|
40
|
+
analyserNode: AnalyserNode | undefined;
|
|
41
|
+
microphone: MediaStreamAudioSourceNode | undefined;
|
|
42
|
+
stream: MediaStream;
|
|
43
|
+
config: AmplitudeRecorderConfig;
|
|
44
|
+
amplitudeSamplingInterval: ReturnType<typeof setInterval> | undefined;
|
|
45
|
+
amplitudes: BehaviorSubject<number[]>;
|
|
46
|
+
state: BehaviorSubject<AmplitudeRecorderState | undefined>;
|
|
47
|
+
error: Subject<Error | undefined>;
|
|
48
|
+
constructor({ config, stream }: AmplitudeAnalyserOptions);
|
|
49
|
+
init(): void;
|
|
50
|
+
stop(): void;
|
|
51
|
+
start: () => void;
|
|
52
|
+
close(): void;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=AmplitudeRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmplitudeRecorder.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRecorder/classes/AmplitudeRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAUhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC;AACpG,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,uBAAuB,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,uBAQ/C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACnD,MAAM,EAAE,WAAW,CAAC;IAEpB,MAAM,EAAE,uBAAuB,CAAC;IAEhC,yBAAyB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,SAAS,CAAC;IAEtE,UAAU,4BAAqC;IAC/C,KAAK,sDAAsE;IAC3E,KAAK,6BAAoC;gBAE7B,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAKxD,IAAI;IAYJ,IAAI;IAMJ,KAAK,aA4BH;IAEF,KAAK;CAQN"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { __assign, __spreadArray } from "tslib";
|
|
2
|
+
import { BehaviorSubject } from '../observable/BehaviorSubject';
|
|
3
|
+
import { Subject } from '../observable/Subject';
|
|
4
|
+
import { mergeDeepUndefined } from '../../../utils/mergeDeep';
|
|
5
|
+
var MAX_FREQUENCY_AMPLITUDE = 255;
|
|
6
|
+
var logError = function (e) { return e && console.error('[AMPLITUDE RECORDER ERROR]', e); };
|
|
7
|
+
var rootMeanSquare = function (values) {
|
|
8
|
+
return Math.sqrt(values.reduce(function (acc, val) { return acc + Math.pow(val, 2); }, 0) / values.length);
|
|
9
|
+
};
|
|
10
|
+
export var DEFAULT_AMPLITUDE_RECORDER_CONFIG = {
|
|
11
|
+
analyserConfig: {
|
|
12
|
+
fftSize: 32,
|
|
13
|
+
maxDecibels: 0,
|
|
14
|
+
minDecibels: -100,
|
|
15
|
+
},
|
|
16
|
+
sampleCount: 100,
|
|
17
|
+
samplingFrequencyMs: 60,
|
|
18
|
+
};
|
|
19
|
+
export var AmplitudeRecorderState;
|
|
20
|
+
(function (AmplitudeRecorderState) {
|
|
21
|
+
AmplitudeRecorderState["CLOSED"] = "closed";
|
|
22
|
+
AmplitudeRecorderState["RECORDING"] = "recording";
|
|
23
|
+
AmplitudeRecorderState["STOPPED"] = "stopped";
|
|
24
|
+
})(AmplitudeRecorderState || (AmplitudeRecorderState = {}));
|
|
25
|
+
var AmplitudeRecorder = /** @class */ (function () {
|
|
26
|
+
function AmplitudeRecorder(_a) {
|
|
27
|
+
var config = _a.config, stream = _a.stream;
|
|
28
|
+
var _this = this;
|
|
29
|
+
this.amplitudes = new BehaviorSubject([]);
|
|
30
|
+
this.state = new BehaviorSubject(undefined);
|
|
31
|
+
this.error = new Subject();
|
|
32
|
+
this.start = function () {
|
|
33
|
+
if (_this.state.value === AmplitudeRecorderState.CLOSED)
|
|
34
|
+
return;
|
|
35
|
+
if (!_this.stream) {
|
|
36
|
+
throw new Error('Missing MediaStream instance. Cannot to start amplitude recording');
|
|
37
|
+
}
|
|
38
|
+
if (_this.state.value === AmplitudeRecorderState.RECORDING)
|
|
39
|
+
_this.stop();
|
|
40
|
+
if (!_this.analyserNode) {
|
|
41
|
+
if (!_this.stream)
|
|
42
|
+
return;
|
|
43
|
+
_this.init();
|
|
44
|
+
}
|
|
45
|
+
_this.state.next(AmplitudeRecorderState.RECORDING);
|
|
46
|
+
_this.amplitudeSamplingInterval = setInterval(function () {
|
|
47
|
+
if (!(_this.analyserNode && _this.state.value === AmplitudeRecorderState.RECORDING))
|
|
48
|
+
return;
|
|
49
|
+
var frequencyBins = new Uint8Array(_this.analyserNode.frequencyBinCount);
|
|
50
|
+
try {
|
|
51
|
+
_this.analyserNode.getByteFrequencyData(frequencyBins);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
logError(e);
|
|
55
|
+
_this.error.next(e);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
var normalizedSignalStrength = rootMeanSquare(frequencyBins) / MAX_FREQUENCY_AMPLITUDE;
|
|
59
|
+
_this.amplitudes.next(__spreadArray(__spreadArray([], _this.amplitudes.value, true), [normalizedSignalStrength], false));
|
|
60
|
+
}, _this.config.samplingFrequencyMs);
|
|
61
|
+
};
|
|
62
|
+
this.config = mergeDeepUndefined(__assign({}, config), DEFAULT_AMPLITUDE_RECORDER_CONFIG);
|
|
63
|
+
this.stream = stream;
|
|
64
|
+
}
|
|
65
|
+
AmplitudeRecorder.prototype.init = function () {
|
|
66
|
+
this.audioContext = new AudioContext();
|
|
67
|
+
this.analyserNode = this.audioContext.createAnalyser();
|
|
68
|
+
var analyserConfig = this.config.analyserConfig;
|
|
69
|
+
this.analyserNode.fftSize = analyserConfig.fftSize;
|
|
70
|
+
this.analyserNode.maxDecibels = analyserConfig.maxDecibels;
|
|
71
|
+
this.analyserNode.minDecibels = analyserConfig.minDecibels;
|
|
72
|
+
this.microphone = this.audioContext.createMediaStreamSource(this.stream);
|
|
73
|
+
this.microphone.connect(this.analyserNode);
|
|
74
|
+
};
|
|
75
|
+
AmplitudeRecorder.prototype.stop = function () {
|
|
76
|
+
clearInterval(this.amplitudeSamplingInterval);
|
|
77
|
+
this.amplitudeSamplingInterval = undefined;
|
|
78
|
+
this.state.next(AmplitudeRecorderState.STOPPED);
|
|
79
|
+
};
|
|
80
|
+
AmplitudeRecorder.prototype.close = function () {
|
|
81
|
+
var _a, _b, _c, _d;
|
|
82
|
+
if (this.state.value !== AmplitudeRecorderState.STOPPED)
|
|
83
|
+
this.stop();
|
|
84
|
+
this.state.next(AmplitudeRecorderState.CLOSED);
|
|
85
|
+
this.amplitudes.next([]);
|
|
86
|
+
(_a = this.microphone) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
87
|
+
(_b = this.analyserNode) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
88
|
+
if (((_c = this.audioContext) === null || _c === void 0 ? void 0 : _c.state) !== 'closed')
|
|
89
|
+
(_d = this.audioContext) === null || _d === void 0 ? void 0 : _d.close();
|
|
90
|
+
};
|
|
91
|
+
return AmplitudeRecorder;
|
|
92
|
+
}());
|
|
93
|
+
export { AmplitudeRecorder };
|