stream-chat-react 6.12.0 → 6.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.full-bundle.js +388 -465
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +4 -4
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/Attachment/Card.d.ts.map +1 -1
  7. package/dist/components/Attachment/Card.js +1 -3
  8. package/dist/components/MessageInput/MessageInput.d.ts +2 -0
  9. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  10. package/dist/components/MessageInput/hooks/useAttachments.d.ts +1 -1
  11. package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
  12. package/dist/components/MessageInput/hooks/useAttachments.js +3 -1
  13. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +1 -1
  14. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +1 -1
  15. package/dist/components/MessageInput/hooks/useEmojiPicker.js +12 -4
  16. package/dist/components/MessageInput/hooks/useMessageInputState.js +3 -3
  17. package/dist/css/index.css +1 -1
  18. package/dist/i18n/Streami18n.js +5 -5
  19. package/dist/index.cjs.js +25 -18
  20. package/dist/index.cjs.js.map +1 -1
  21. package/dist/scss/Card.scss +10 -0
  22. package/dist/scss/ChannelListMessenger.scss +4 -0
  23. package/dist/scss/ChannelSearch.scss +1 -1
  24. package/dist/scss/EditMessageForm.scss +4 -0
  25. package/dist/scss/LoadMoreButton.scss +5 -0
  26. package/dist/scss/Message.scss +5 -0
  27. package/dist/scss/MessageActions.scss +12 -0
  28. package/dist/scss/MessageInput.scss +15 -0
  29. package/dist/scss/MessageInputFlat.scss +8 -1
  30. package/dist/scss/Modal.scss +7 -2
  31. package/dist/scss/_base.scss +10 -0
  32. package/dist/scss/_variables.scss +2 -0
  33. package/dist/version.d.ts +1 -1
  34. package/dist/version.js +1 -1
  35. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,oBAAY,SAAS,GAAG;IACtB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAuEF;;GAEG;AACH,eAAO,MAAM,IAAI,qBAAsD,CAAC"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,oBAAY,SAAS,GAAG;IACtB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AA+DF;;GAEG;AACH,eAAO,MAAM,IAAI,qBAAsD,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { SafeAnchor } from '../SafeAnchor';
3
- import giphyLogo from '../../assets/Poweredby_100px-White_VertText.png';
4
3
  import { useTranslationContext } from '../../context/TranslationContext';
5
4
  var UnMemoizedCard = function (props) {
6
5
  var image_url = props.image_url, og_scrape_url = props.og_scrape_url, text = props.text, thumb_url = props.thumb_url, title = props.title, title_link = props.title_link, type = props.type;
@@ -28,8 +27,7 @@ var UnMemoizedCard = function (props) {
28
27
  React.createElement("div", { className: 'str-chat__message-attachment-card--flex' },
29
28
  title && React.createElement("div", { className: 'str-chat__message-attachment-card--title' }, title),
30
29
  text && React.createElement("div", { className: 'str-chat__message-attachment-card--text' }, text),
31
- (title_link || og_scrape_url) && (React.createElement(SafeAnchor, { className: 'str-chat__message-attachment-card--url', href: title_link || og_scrape_url, rel: 'noopener noreferrer', target: '_blank' }, trimUrl(title_link || og_scrape_url)))),
32
- type === 'giphy' && (React.createElement("img", { alt: 'giphy logo', className: 'str-chat__message-attachment-card__giphy-logo', "data-testid": 'card-giphy', src: giphyLogo })))));
30
+ (title_link || og_scrape_url) && (React.createElement(SafeAnchor, { className: 'str-chat__message-attachment-card--url', href: title_link || og_scrape_url, rel: 'noopener noreferrer', target: '_blank' }, trimUrl(title_link || og_scrape_url)))))));
33
31
  };
34
32
  /**
35
33
  * Simple Card Layout for displaying links
@@ -10,6 +10,8 @@ export declare type MessageInputProps<At extends DefaultAttachmentType = Default
10
10
  additionalTextareaProps?: React.TextareaHTMLAttributes<HTMLTextAreaElement>;
11
11
  /** Function to clear the editing state while editing a message */
12
12
  clearEditingState?: () => void;
13
+ /** If true, picking an emoji from the `EmojiPicker` component will close the picker */
14
+ closeEmojiPickerOnClick?: boolean;
13
15
  /** If true, disables the text input */
14
16
  disabled?: boolean;
15
17
  /** If true, the suggestion list will not display and autocomplete @mentions. Default: false. */
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { FileLike } from 'react-file-utils';
3
3
  import type { MessageInputProps } from '../MessageInput';
4
4
  import type { MessageInputReducerAction, MessageInputState } from './useMessageInputState';
5
5
  import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
6
- export declare const useAttachments: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(props: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>, state: MessageInputState<At, Us>, dispatch: import("react").Dispatch<MessageInputReducerAction<Us>>) => {
6
+ export declare const useAttachments: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(props: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>, state: MessageInputState<At, Us>, dispatch: import("react").Dispatch<MessageInputReducerAction<Us>>, textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>) => {
7
7
  maxFilesLeft: number;
8
8
  numberOfUploads: number;
9
9
  removeFile: (id: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachments.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useAttachments.ts"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,cAAc;;;;;;;4BA6Cf,QAAQ,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE;CA4BzC,CAAC"}
1
+ {"version":3,"file":"useAttachments.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useAttachments.ts"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,cAAc,ixBAaZ,MAAM,gBAAgB,CAAC,mBAAmB,GAAG,SAAS,CAAC;;;;;;;4BAiC1D,QAAQ,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE;CA8BzC,CAAC"}
@@ -4,7 +4,7 @@ import { useFileUploads } from './useFileUploads';
4
4
  import { useChannelStateContext } from '../../../context/ChannelStateContext';
5
5
  import { generateRandomId } from '../../../utils';
6
6
  var apiMaxNumberOfFiles = 10;
7
- export var useAttachments = function (props, state, dispatch) {
7
+ export var useAttachments = function (props, state, dispatch, textareaRef) {
8
8
  var noFiles = props.noFiles;
9
9
  var fileUploads = state.fileUploads, imageUploads = state.imageUploads;
10
10
  var _a = useChannelStateContext('useAttachments'), maxNumberOfFiles = _a.maxNumberOfFiles, multipleUploads = _a.multipleUploads;
@@ -25,6 +25,7 @@ export var useAttachments = function (props, state, dispatch) {
25
25
  var numberOfUploads = numberOfImages + numberOfFiles;
26
26
  var maxFilesLeft = maxFilesAllowed - numberOfUploads;
27
27
  var uploadNewFiles = useCallback(function (files) {
28
+ var _a;
28
29
  Array.from(files)
29
30
  .slice(0, maxFilesLeft)
30
31
  .forEach(function (file) {
@@ -38,6 +39,7 @@ export var useAttachments = function (props, state, dispatch) {
38
39
  dispatch({ file: file, id: id, state: 'uploading', type: 'setFileUpload' });
39
40
  }
40
41
  });
42
+ (_a = textareaRef === null || textareaRef === void 0 ? void 0 : textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
41
43
  }, [maxFilesLeft, noFiles]);
42
44
  return {
43
45
  maxFilesLeft: maxFilesLeft,
@@ -2,7 +2,7 @@
2
2
  import type { MessageInputReducerAction, MessageInputState } from './useMessageInputState';
3
3
  import type { EmojiData } from 'emoji-mart';
4
4
  import type { DefaultAttachmentType, DefaultUserType } from '../../../types/types';
5
- export declare const useEmojiPicker: <At extends DefaultAttachmentType = DefaultAttachmentType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(state: MessageInputState<At, Us>, dispatch: import("react").Dispatch<MessageInputReducerAction<Us>>, insertText: (textToInsert: string) => void) => {
5
+ export declare const useEmojiPicker: <At extends DefaultAttachmentType = DefaultAttachmentType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(state: MessageInputState<At, Us>, dispatch: import("react").Dispatch<MessageInputReducerAction<Us>>, insertText: (textToInsert: string) => void, textareaRef: React.MutableRefObject<HTMLTextAreaElement | undefined>, closeEmojiPickerOnClick?: boolean | undefined) => {
6
6
  closeEmojiPicker: (event: MouseEvent) => void;
7
7
  emojiPickerRef: import("react").RefObject<HTMLDivElement>;
8
8
  handleEmojiKeyDown: import("react").KeyboardEventHandler<HTMLSpanElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"useEmojiPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useEmojiPicker.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEnF,eAAO,MAAM,cAAc,uSAME,MAAM,KAAK,IAAI;8BAKhC,UAAU;;;2BAoDsB,SAAS;;CAWpD,CAAC"}
1
+ {"version":3,"file":"useEmojiPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useEmojiPicker.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEnF,eAAO,MAAM,cAAc,uSAME,MAAM,KAAK,IAAI,eAC7B,MAAM,gBAAgB,CAAC,mBAAmB,GAAG,SAAS,CAAC;8BAM1D,UAAU;;;2BAqDV,SAAS;;CAqBpB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useEffect, useRef } from 'react';
2
- export var useEmojiPicker = function (state, dispatch, insertText) {
2
+ export var useEmojiPicker = function (state, dispatch, insertText, textareaRef, closeEmojiPickerOnClick) {
3
3
  var emojiPickerRef = useRef(null);
4
4
  var closeEmojiPicker = useCallback(function (event) {
5
5
  if (emojiPickerRef.current && !emojiPickerRef.current.contains(event.target)) {
@@ -45,9 +45,17 @@ export var useEmojiPicker = function (state, dispatch, insertText) {
45
45
  document.removeEventListener('keydown', handleEmojiEscape);
46
46
  };
47
47
  }, [closeEmojiPicker, state.emojiPickerIsOpen]);
48
- var onSelectEmoji = useCallback(function (emoji) { return insertText(emoji.native); }, [
49
- insertText,
50
- ]);
48
+ var onSelectEmoji = useCallback(function (emoji) {
49
+ var _a;
50
+ insertText(emoji.native);
51
+ if (closeEmojiPickerOnClick) {
52
+ dispatch({
53
+ type: 'setEmojiPickerIsOpen',
54
+ value: false,
55
+ });
56
+ }
57
+ (_a = textareaRef === null || textareaRef === void 0 ? void 0 : textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
58
+ }, [insertText]);
51
59
  return {
52
60
  closeEmojiPicker: closeEmojiPicker,
53
61
  emojiPickerRef: emojiPickerRef,
@@ -153,7 +153,7 @@ var messageInputReducer = function (state, action) {
153
153
  * hook for MessageInput state
154
154
  */
155
155
  export var useMessageInputState = function (props) {
156
- var message = props.message;
156
+ var closeEmojiPickerOnClick = props.closeEmojiPickerOnClick, message = props.message;
157
157
  var _a = useChannelStateContext('useMessageInputState'), _b = _a.channelCapabilities, channelCapabilities = _b === void 0 ? {} : _b, channelConfig = _a.channelConfig;
158
158
  var _c = useReducer(messageInputReducer, message, initState), state = _c[0], dispatch = _c[1];
159
159
  var _d = useMessageInputText(props, state, dispatch), handleChange = _d.handleChange, insertText = _d.insertText, textareaRef = _d.textareaRef;
@@ -175,8 +175,8 @@ export var useMessageInputState = function (props) {
175
175
  setShowMentionsList(true);
176
176
  };
177
177
  var closeMentionsList = function () { return setShowMentionsList(false); };
178
- var _g = useEmojiPicker(state, dispatch, insertText), closeEmojiPicker = _g.closeEmojiPicker, emojiPickerRef = _g.emojiPickerRef, handleEmojiKeyDown = _g.handleEmojiKeyDown, onSelectEmoji = _g.onSelectEmoji, openEmojiPicker = _g.openEmojiPicker;
179
- var _h = useAttachments(props, state, dispatch), maxFilesLeft = _h.maxFilesLeft, numberOfUploads = _h.numberOfUploads, removeFile = _h.removeFile, removeImage = _h.removeImage, uploadFile = _h.uploadFile, uploadImage = _h.uploadImage, uploadNewFiles = _h.uploadNewFiles;
178
+ var _g = useEmojiPicker(state, dispatch, insertText, textareaRef, closeEmojiPickerOnClick), closeEmojiPicker = _g.closeEmojiPicker, emojiPickerRef = _g.emojiPickerRef, handleEmojiKeyDown = _g.handleEmojiKeyDown, onSelectEmoji = _g.onSelectEmoji, openEmojiPicker = _g.openEmojiPicker;
179
+ var _h = useAttachments(props, state, dispatch, textareaRef), maxFilesLeft = _h.maxFilesLeft, numberOfUploads = _h.numberOfUploads, removeFile = _h.removeFile, removeImage = _h.removeImage, uploadFile = _h.uploadFile, uploadImage = _h.uploadImage, uploadNewFiles = _h.uploadNewFiles;
180
180
  var handleSubmit = useSubmitHandler(props, state, dispatch, numberOfUploads).handleSubmit;
181
181
  var onPaste = usePasteHandler(uploadNewFiles, insertText).onPaste;
182
182
  var isUploadEnabled = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.uploads) !== false && channelCapabilities['upload-file'] !== false;