stream-chat-react 11.0.0-rc.1 → 11.0.0-rc.2

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 (212) hide show
  1. package/dist/browser.full-bundle.js +9308 -12495
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +5 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/AutoCompleteTextarea/Item.d.ts.map +1 -1
  6. package/dist/components/AutoCompleteTextarea/Item.js +4 -3
  7. package/dist/components/AutoCompleteTextarea/List.d.ts.map +1 -1
  8. package/dist/components/AutoCompleteTextarea/List.js +10 -8
  9. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +1 -1
  10. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  11. package/dist/components/AutoCompleteTextarea/Textarea.js +34 -24
  12. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  13. package/dist/components/Avatar/Avatar.js +1 -1
  14. package/dist/components/Channel/Channel.d.ts +4 -11
  15. package/dist/components/Channel/Channel.d.ts.map +1 -1
  16. package/dist/components/Channel/Channel.js +13 -28
  17. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +8 -8
  18. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
  19. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +24 -14
  20. package/dist/components/DateSeparator/DateSeparator.js +1 -1
  21. package/dist/components/Emojis/EmojiPicker.d.ts +10 -0
  22. package/dist/components/Emojis/EmojiPicker.d.ts.map +1 -0
  23. package/dist/components/Emojis/EmojiPicker.js +57 -0
  24. package/dist/components/Emojis/index.cjs.js +89 -0
  25. package/dist/components/Emojis/index.d.ts +2 -0
  26. package/dist/components/Emojis/index.d.ts.map +1 -0
  27. package/dist/components/Emojis/index.js +1 -0
  28. package/dist/components/EventComponent/EventComponent.js +1 -1
  29. package/dist/components/Message/FixedHeightMessage.js +1 -1
  30. package/dist/components/Message/MessageText.js +2 -2
  31. package/dist/components/Message/index.d.ts +1 -0
  32. package/dist/components/Message/index.d.ts.map +1 -1
  33. package/dist/components/Message/index.js +1 -0
  34. package/dist/components/Message/renderText/Anchor.d.ts +4 -0
  35. package/dist/components/Message/renderText/Anchor.d.ts.map +1 -0
  36. package/dist/components/Message/renderText/Anchor.js +10 -0
  37. package/dist/components/Message/renderText/Emoji.d.ts +3 -0
  38. package/dist/components/Message/renderText/Emoji.d.ts.map +1 -0
  39. package/dist/components/Message/renderText/Emoji.js +5 -0
  40. package/dist/components/Message/renderText/Mention.d.ts +18 -0
  41. package/dist/components/Message/renderText/Mention.d.ts.map +1 -0
  42. package/dist/components/Message/renderText/Mention.js +5 -0
  43. package/dist/components/Message/renderText/index.d.ts +5 -0
  44. package/dist/components/Message/renderText/index.d.ts.map +1 -0
  45. package/dist/components/Message/renderText/index.js +3 -0
  46. package/dist/components/Message/renderText/regex.d.ts +5 -0
  47. package/dist/components/Message/renderText/regex.d.ts.map +1 -0
  48. package/dist/components/Message/renderText/regex.js +21 -0
  49. package/dist/components/Message/renderText/rehypePlugins.d.ts +7 -0
  50. package/dist/components/Message/renderText/rehypePlugins.d.ts.map +1 -0
  51. package/dist/components/Message/renderText/rehypePlugins.js +60 -0
  52. package/dist/components/Message/renderText/renderText.d.ts +21 -0
  53. package/dist/components/Message/renderText/renderText.d.ts.map +1 -0
  54. package/dist/components/Message/renderText/renderText.js +126 -0
  55. package/dist/components/Message/types.d.ts +1 -1
  56. package/dist/components/Message/types.d.ts.map +1 -1
  57. package/dist/components/Message/utils.d.ts +1 -0
  58. package/dist/components/Message/utils.d.ts.map +1 -1
  59. package/dist/components/Message/utils.js +8 -0
  60. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts +2 -3
  61. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts.map +1 -1
  62. package/dist/components/MessageInput/DefaultTriggerProvider.js +1 -1
  63. package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
  64. package/dist/components/MessageInput/EditMessageForm.js +4 -7
  65. package/dist/components/MessageInput/MessageInput.d.ts +17 -5
  66. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  67. package/dist/components/MessageInput/MessageInput.js +3 -1
  68. package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
  69. package/dist/components/MessageInput/MessageInputFlat.js +12 -27
  70. package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
  71. package/dist/components/MessageInput/MessageInputSmall.js +8 -11
  72. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  73. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +3 -9
  74. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts +2 -2
  75. package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts.map +1 -1
  76. package/dist/components/MessageInput/hooks/useEmojiTrigger.js +32 -12
  77. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +1 -19
  78. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  79. package/dist/components/MessageInput/hooks/useMessageInputState.js +3 -15
  80. package/dist/components/MessageInput/hooks/useMessageInputText.d.ts.map +1 -1
  81. package/dist/components/MessageInput/hooks/useMessageInputText.js +1 -2
  82. package/dist/components/MessageInput/index.d.ts +0 -1
  83. package/dist/components/MessageInput/index.d.ts.map +1 -1
  84. package/dist/components/MessageInput/index.js +0 -1
  85. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  86. package/dist/components/MessageList/MessageList.js +1 -3
  87. package/dist/components/MessageList/VirtualizedMessageList.d.ts +36 -6
  88. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  89. package/dist/components/MessageList/VirtualizedMessageList.js +39 -122
  90. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +23 -0
  91. package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -0
  92. package/dist/components/MessageList/VirtualizedMessageListComponents.js +70 -0
  93. package/dist/components/MessageList/hooks/MessageList/index.d.ts +5 -0
  94. package/dist/components/MessageList/hooks/MessageList/index.d.ts.map +1 -0
  95. package/dist/components/MessageList/hooks/MessageList/index.js +4 -0
  96. package/dist/components/MessageList/hooks/{useEnrichedMessages.d.ts → MessageList/useEnrichedMessages.d.ts} +3 -3
  97. package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -0
  98. package/dist/components/MessageList/hooks/{useEnrichedMessages.js → MessageList/useEnrichedMessages.js} +3 -3
  99. package/dist/components/MessageList/hooks/{useMessageListElements.d.ts → MessageList/useMessageListElements.d.ts} +4 -4
  100. package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -0
  101. package/dist/components/MessageList/hooks/{useMessageListElements.js → MessageList/useMessageListElements.js} +9 -9
  102. package/dist/components/MessageList/hooks/{useMessageListScrollManager.d.ts → MessageList/useMessageListScrollManager.d.ts} +2 -2
  103. package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -0
  104. package/dist/components/MessageList/hooks/{useMessageListScrollManager.js → MessageList/useMessageListScrollManager.js} +1 -1
  105. package/dist/components/MessageList/hooks/{useScrollLocationLogic.d.ts → MessageList/useScrollLocationLogic.d.ts} +2 -2
  106. package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -0
  107. package/dist/components/MessageList/hooks/VirtualizedMessageList/index.d.ts +7 -0
  108. package/dist/components/MessageList/hooks/VirtualizedMessageList/index.d.ts.map +1 -0
  109. package/dist/components/MessageList/hooks/VirtualizedMessageList/index.js +6 -0
  110. package/dist/components/MessageList/hooks/{useGiphyPreview.d.ts → VirtualizedMessageList/useGiphyPreview.d.ts} +2 -2
  111. package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts.map +1 -0
  112. package/dist/components/MessageList/hooks/{useGiphyPreview.js → VirtualizedMessageList/useGiphyPreview.js} +1 -1
  113. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts +10 -0
  114. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts.map +1 -0
  115. package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js +20 -0
  116. package/dist/components/MessageList/hooks/{useNewMessageNotification.d.ts → VirtualizedMessageList/useNewMessageNotification.d.ts} +2 -2
  117. package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts.map +1 -0
  118. package/dist/components/MessageList/hooks/{usePrependMessagesCount.d.ts → VirtualizedMessageList/usePrependMessagesCount.d.ts} +2 -2
  119. package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts.map +1 -0
  120. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +12 -0
  121. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts.map +1 -0
  122. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +28 -0
  123. package/dist/components/MessageList/hooks/{useShouldForceScrollToBottom.d.ts → VirtualizedMessageList/useShouldForceScrollToBottom.d.ts} +2 -2
  124. package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts.map +1 -0
  125. package/dist/components/MessageList/hooks/index.d.ts +7 -7
  126. package/dist/components/MessageList/hooks/index.d.ts.map +1 -1
  127. package/dist/components/MessageList/hooks/index.js +7 -7
  128. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +3 -1
  129. package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  130. package/dist/context/ChannelStateContext.d.ts +1 -1
  131. package/dist/context/ChatContext.d.ts +1 -1
  132. package/dist/context/ComponentContext.d.ts +3 -2
  133. package/dist/context/ComponentContext.d.ts.map +1 -1
  134. package/dist/context/MessageContext.d.ts +1 -1
  135. package/dist/context/MessageContext.d.ts.map +1 -1
  136. package/dist/context/MessageInputContext.d.ts +1 -7
  137. package/dist/context/MessageInputContext.d.ts.map +1 -1
  138. package/dist/context/index.d.ts +0 -1
  139. package/dist/context/index.d.ts.map +1 -1
  140. package/dist/context/index.js +0 -1
  141. package/dist/i18n/Streami18n.d.ts +0 -1
  142. package/dist/i18n/Streami18n.d.ts.map +1 -1
  143. package/dist/i18n/de.json +0 -1
  144. package/dist/i18n/en.json +0 -1
  145. package/dist/i18n/es.json +0 -1
  146. package/dist/i18n/fr.json +0 -1
  147. package/dist/i18n/hi.json +0 -1
  148. package/dist/i18n/it.json +0 -1
  149. package/dist/i18n/ja.json +0 -1
  150. package/dist/i18n/ko.json +0 -1
  151. package/dist/i18n/nl.json +0 -1
  152. package/dist/i18n/pt.json +0 -1
  153. package/dist/i18n/ru.json +0 -1
  154. package/dist/i18n/tr.json +0 -1
  155. package/dist/icons-0801b1e9.js +3133 -0
  156. package/dist/index.cjs.js +1470 -4591
  157. package/dist/index.d.ts +0 -1
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +0 -2
  160. package/dist/index_UMD.d.ts +7 -0
  161. package/dist/index_UMD.d.ts.map +1 -0
  162. package/dist/index_UMD.js +8 -0
  163. package/dist/utils/generateRandomId.d.ts +6 -0
  164. package/dist/utils/generateRandomId.d.ts.map +1 -0
  165. package/dist/utils/generateRandomId.js +5 -0
  166. package/dist/utils/getWholeChar.d.ts +2 -0
  167. package/dist/utils/getWholeChar.d.ts.map +1 -0
  168. package/dist/utils/getWholeChar.js +26 -0
  169. package/dist/utils/index.d.ts +4 -0
  170. package/dist/utils/index.d.ts.map +1 -0
  171. package/dist/utils/index.js +3 -0
  172. package/dist/version.d.ts +1 -1
  173. package/dist/version.js +1 -1
  174. package/package.json +35 -8
  175. package/dist/components/Channel/emojiData.d.ts +0 -15
  176. package/dist/components/Channel/emojiData.d.ts.map +0 -1
  177. package/dist/components/Channel/emojiData.js +0 -23
  178. package/dist/components/MessageInput/EmojiPicker.d.ts +0 -6
  179. package/dist/components/MessageInput/EmojiPicker.d.ts.map +0 -1
  180. package/dist/components/MessageInput/EmojiPicker.js +0 -23
  181. package/dist/components/MessageInput/hooks/useEmojiIndex.d.ts +0 -3
  182. package/dist/components/MessageInput/hooks/useEmojiIndex.d.ts.map +0 -1
  183. package/dist/components/MessageInput/hooks/useEmojiIndex.js +0 -13
  184. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +0 -11
  185. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +0 -1
  186. package/dist/components/MessageInput/hooks/useEmojiPicker.js +0 -68
  187. package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts.map +0 -1
  188. package/dist/components/MessageList/hooks/useGiphyPreview.d.ts.map +0 -1
  189. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +0 -1
  190. package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts.map +0 -1
  191. package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts.map +0 -1
  192. package/dist/components/MessageList/hooks/usePrependMessagesCount.d.ts.map +0 -1
  193. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +0 -1
  194. package/dist/components/MessageList/hooks/useShouldForceScrollToBottom.d.ts.map +0 -1
  195. package/dist/context/DefaultEmoji.d.ts +0 -3
  196. package/dist/context/DefaultEmoji.d.ts.map +0 -1
  197. package/dist/context/DefaultEmoji.js +0 -3
  198. package/dist/context/DefaultEmojiPicker.d.ts +0 -3
  199. package/dist/context/DefaultEmojiPicker.d.ts.map +0 -1
  200. package/dist/context/DefaultEmojiPicker.js +0 -3
  201. package/dist/context/EmojiContext.d.ts +0 -48
  202. package/dist/context/EmojiContext.d.ts.map +0 -1
  203. package/dist/context/EmojiContext.js +0 -39
  204. package/dist/index.cjs.js.map +0 -1
  205. package/dist/stream-emoji.json +0 -1
  206. package/dist/utils.d.ts +0 -42
  207. package/dist/utils.d.ts.map +0 -1
  208. package/dist/utils.js +0 -253
  209. /package/dist/components/MessageList/hooks/{useScrollLocationLogic.js → MessageList/useScrollLocationLogic.js} +0 -0
  210. /package/dist/components/MessageList/hooks/{useNewMessageNotification.js → VirtualizedMessageList/useNewMessageNotification.js} +0 -0
  211. /package/dist/components/MessageList/hooks/{usePrependMessagesCount.js → VirtualizedMessageList/usePrependMessagesCount.js} +0 -0
  212. /package/dist/components/MessageList/hooks/{useShouldForceScrollToBottom.js → VirtualizedMessageList/useShouldForceScrollToBottom.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Item.jsx"],"names":[],"mappings":"AAKA,6EAgDG"}
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Item.jsx"],"names":[],"mappings":"AAKA,6EAiDG"}
@@ -4,13 +4,14 @@ import { useChatContext } from '../../context/ChatContext';
4
4
  export var Item = React.forwardRef(function Item(props, innerRef) {
5
5
  var className = props.className, Component = props.component, item = props.item, onClickHandler = props.onClickHandler, onSelectHandler = props.onSelectHandler, selected = props.selected, style = props.style;
6
6
  var themeVersion = useChatContext('SuggestionItem').themeVersion;
7
- var selectItem = useCallback(function () { return onSelectHandler(item); }, [item, onClickHandler]);
7
+ var handleSelect = useCallback(function () { return onSelectHandler(item); }, [item, onSelectHandler]);
8
+ var handleClick = useCallback(function (event) { return onClickHandler(event, item); }, [item, onClickHandler]);
8
9
  if (themeVersion === '2')
9
10
  return (React.createElement("li", { className: clsx(className, { 'str-chat__suggestion-item--selected': selected }), style: style },
10
- React.createElement("a", { href: '', onClick: onClickHandler, onFocus: selectItem, onMouseEnter: selectItem, ref: innerRef },
11
+ React.createElement("a", { href: '', onClick: onClickHandler, onFocus: handleSelect, onMouseEnter: handleSelect, ref: innerRef },
11
12
  React.createElement(Component, { entity: item, selected: selected }))));
12
13
  return (React.createElement("li", { className: clsx('rta__item', className), style: style },
13
- React.createElement("button", { className: clsx('rta__entity', { 'rta__entity--selected': selected }), onClick: onClickHandler, onFocus: selectItem, onMouseEnter: selectItem, ref: innerRef },
14
+ React.createElement("button", { className: clsx('rta__entity', { 'rta__entity--selected': selected }), onClick: handleClick, onFocus: handleSelect, onMouseEnter: handleSelect, ref: innerRef },
14
15
  React.createElement("div", { tabIndex: -1 },
15
16
  React.createElement(Component, { entity: item, selected: selected })))));
16
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/List.jsx"],"names":[],"mappings":"AAUO;;;;;;;;;;;;;;;;gBAqJN"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/List.jsx"],"names":[],"mappings":"AAUO;;;;;;;;;;;;;;;;gBA+JN"}
@@ -3,9 +3,9 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { useComponentContext } from '../../context/ComponentContext';
5
5
  import { useChatContext } from '../../context/ChatContext';
6
- import { escapeRegExp } from '../../utils';
7
6
  import { Item } from './Item';
8
7
  import { DefaultSuggestionListHeader } from './Header';
8
+ import { escapeRegExp } from '../Message/renderText';
9
9
  export var List = function (_a) {
10
10
  var className = _a.className, component = _a.component, currentTrigger = _a.currentTrigger, dropdownScroll = _a.dropdownScroll, getSelectedItem = _a.getSelectedItem, getTextToReplace = _a.getTextToReplace, PropHeader = _a.Header, itemClassName = _a.itemClassName, itemStyle = _a.itemStyle, onSelect = _a.onSelect, selectionEnd = _a.selectionEnd, style = _a.style, PropSuggestionItem = _a.SuggestionItem, propValue = _a.value, values = _a.values;
11
11
  var _b = useComponentContext('SuggestionList'), AutocompleteSuggestionHeader = _b.AutocompleteSuggestionHeader, AutocompleteSuggestionItem = _b.AutocompleteSuggestionItem;
@@ -27,6 +27,9 @@ export var List = function (_a) {
27
27
  }
28
28
  return item.key;
29
29
  };
30
+ var findItemIndex = useCallback(function (item) {
31
+ return values.findIndex(function (value) { return (value.id ? value.id === item.id : value.name === item.name); });
32
+ }, [values]);
30
33
  var modifyText = function (value) {
31
34
  if (!value)
32
35
  return;
@@ -34,16 +37,15 @@ export var List = function (_a) {
34
37
  if (getSelectedItem)
35
38
  getSelectedItem(value);
36
39
  };
37
- var handleClick = function (e) {
40
+ var handleClick = useCallback(function (e, item) {
38
41
  e === null || e === void 0 ? void 0 : e.preventDefault();
39
- modifyText(values[selectedItem]);
40
- };
42
+ var index = findItemIndex(item);
43
+ modifyText(values[index]);
44
+ }, [modifyText, findItemIndex]);
41
45
  var selectItem = useCallback(function (item) {
42
- var index = values.findIndex(function (value) {
43
- return value.id ? value.id === item.id : value.name === item.name;
44
- });
46
+ var index = findItemIndex(item);
45
47
  setSelectedItem(index);
46
- }, [values]);
48
+ }, [findItemIndex]);
47
49
  var handleKeyDown = useCallback(function (event) {
48
50
  if (event.key === 'ArrowUp') {
49
51
  setSelectedItem(function (prevSelected) {
@@ -45,7 +45,7 @@ export class ReactTextareaAutocomplete extends React.Component<any, any, any> {
45
45
  _handleKeyDown: (event: any) => void;
46
46
  _onEnter: (event: any) => void;
47
47
  _onSpace: () => void;
48
- _replaceWord: () => void;
48
+ _replaceWord: () => Promise<void>;
49
49
  _onSelect: (newToken: any) => void;
50
50
  _getItemOnSelect: (paramTrigger: any) => ((item: any) => any) | null;
51
51
  _getTextToReplace: (paramTrigger: any) => ((item: any) => any) | null;
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAmBA;IACE;;;;;;;MAOE;IA6WF;;OAEG;IACH;;;aAMC;IApXD,wBA4BC;IAZC;;;;;;;;;;;MAWC;IAIH;;;aAOE;IAGF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,qCAUE;IAEF,+BAcE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCA0BE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,oDA2CC;IAED,sBA2EC;IATS,oDAAsB;CAUjC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAmBA;IACE;;;;;;;MAOE;IA6WF;;OAEG;IACH;;;aAMC;IApXD,wBA4BC;IAZC;;;;;;;;;;;MAWC;IAIH;;;aAOE;IAGF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF;;;;;;OAMG;IACH,8CAC6E;IAE7E,qCAUE;IAEF,+BAcE;IAEF,qBAQE;IAEF,kCA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;MA6CE;IAEF,mCAME;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCA0BE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,uCAEE;IADA,iBAA0B;IAG5B,oDA2CC;IAED,sBA2EC;IATS,oDAAsB;CAUjC"}
@@ -1,4 +1,4 @@
1
- import { __assign, __extends, __rest } from "tslib";
1
+ import { __assign, __awaiter, __extends, __generator, __rest } from "tslib";
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import Textarea from 'react-textarea-autosize';
@@ -89,30 +89,40 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
89
89
  return;
90
90
  _this._replaceWord();
91
91
  };
92
- _this._replaceWord = function () {
93
- var value = _this.state.value;
94
- var lastWordRegex = /([^\s]+)(\s*)$/;
95
- var match = lastWordRegex.exec(value.slice(0, _this.getCaretPosition()));
96
- var lastWord = match && match[1];
97
- if (!lastWord)
98
- return;
99
- var spaces = match[2];
100
- var newWord = _this.props.replaceWord(lastWord);
101
- if (newWord == null)
102
- return;
103
- var textBeforeWord = value.slice(0, _this.getCaretPosition() - match[0].length);
104
- var textAfterCaret = value.slice(_this.getCaretPosition(), -1);
105
- var newText = textBeforeWord + newWord + spaces + textAfterCaret;
106
- _this.setState({
107
- value: newText,
108
- }, function () {
109
- // fire onChange event after successful selection
110
- var e = new CustomEvent('change', { bubbles: true });
111
- _this.textareaRef.dispatchEvent(e);
112
- if (_this.props.onChange)
113
- _this.props.onChange(e);
92
+ _this._replaceWord = function () { return __awaiter(_this, void 0, void 0, function () {
93
+ var value, lastWordRegex, match, lastWord, spaces, newWord, textBeforeWord, textAfterCaret, newText;
94
+ var _this = this;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0:
98
+ value = this.state.value;
99
+ lastWordRegex = /([^\s]+)(\s*)$/;
100
+ match = lastWordRegex.exec(value.slice(0, this.getCaretPosition()));
101
+ lastWord = match && match[1];
102
+ if (!lastWord)
103
+ return [2 /*return*/];
104
+ spaces = match[2];
105
+ return [4 /*yield*/, this.props.replaceWord(lastWord)];
106
+ case 1:
107
+ newWord = _a.sent();
108
+ if (newWord == null)
109
+ return [2 /*return*/];
110
+ textBeforeWord = value.slice(0, this.getCaretPosition() - match[0].length);
111
+ textAfterCaret = value.slice(this.getCaretPosition(), -1);
112
+ newText = textBeforeWord + newWord + spaces + textAfterCaret;
113
+ this.setState({
114
+ value: newText,
115
+ }, function () {
116
+ // fire onChange event after successful selection
117
+ var e = new CustomEvent('change', { bubbles: true });
118
+ _this.textareaRef.dispatchEvent(e);
119
+ if (_this.props.onChange)
120
+ _this.props.onChange(e);
121
+ });
122
+ return [2 /*return*/];
123
+ }
114
124
  });
115
- };
125
+ }); };
116
126
  _this._onSelect = function (newToken) {
117
127
  var _a = _this.props, closeCommandsList = _a.closeCommandsList, closeMentionsList = _a.closeMentionsList, onChange = _a.onChange, showCommandsList = _a.showCommandsList, showMentionsList = _a.showMentionsList;
118
128
  var _b = _this.state, stateTrigger = _b.currentTrigger, selectionEnd = _b.selectionEnd, textareaValue = _b.value;
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,WAAW,CACrB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACpD,8BAA8B;IAC9B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,2IA8DlB,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,WAAW,CACrB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACpD,8BAA8B;IAC9B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,2IA8DlB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { getWholeChar } from '../../utils';
2
+ import { getWholeChar } from '../../utils/getWholeChar';
3
3
  /**
4
4
  * A round avatar image with fallback to username's first letter
5
5
  */
@@ -3,8 +3,6 @@ import { Message, MessageResponse, Channel as StreamChannel, StreamChat, Updated
3
3
  import { OnMentionAction } from './hooks/useMentionsHandlers';
4
4
  import { LoadingErrorIndicatorProps } from '../Loading';
5
5
  import { ComponentContextValue } from '../../context/ComponentContext';
6
- import { EmojiContextValue } from '../../context/EmojiContext';
7
- import type { Data as EmojiMartData } from 'emoji-mart';
8
6
  import type { MessageProps } from '../Message/types';
9
7
  import type { MessageInputProps } from '../MessageInput/MessageInput';
10
8
  import type { CustomTrigger, DefaultStreamChatGenerics, GiphyVersions, ImageAttachmentSizeHandler, SendMessageOptions, UpdateMessageOptions, VideoAttachmentSizeHandler } from '../../types/types';
@@ -43,14 +41,10 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
43
41
  dragAndDropWindow?: boolean;
44
42
  /** Custom UI component to override default edit message input, defaults to and accepts same props as: [EditMessageForm](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/EditMessageForm.tsx) */
45
43
  EditMessageInput?: ComponentContextValue<StreamChatGenerics>['EditMessageInput'];
46
- /** Custom prop to override default `facebook.json` emoji data set from `emoji-mart` */
47
- emojiData?: EmojiMartData;
48
- /** Custom UI component for emoji button in input, defaults to and accepts same props as: [EmojiIconSmall](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/icons.tsx) */
49
- EmojiIcon?: ComponentContextValue<StreamChatGenerics>['EmojiIcon'];
50
- /** Custom UI component to override default `NimbleEmojiIndex` from `emoji-mart` */
51
- EmojiIndex?: EmojiContextValue['EmojiIndex'];
52
- /** Custom UI component to override default `NimblePicker` from `emoji-mart` */
53
- EmojiPicker?: EmojiContextValue['EmojiPicker'];
44
+ /** Custom UI component for rendering button with emoji picker in MessageInput */
45
+ EmojiPicker?: ComponentContextValue<StreamChatGenerics>['EmojiPicker'];
46
+ /** Mechanism to be used with autocomplete and text replace features of the `MessageInput` component, see [emoji-mart `SearchIndex`](https://github.com/missive/emoji-mart#%EF%B8%8F%EF%B8%8F-headless-search) */
47
+ emojiSearchIndex?: ComponentContextValue<StreamChatGenerics>['emojiSearchIndex'];
54
48
  /** Custom UI component to be shown if no active channel is set, defaults to null and skips rendering the Channel component */
55
49
  EmptyPlaceholder?: React.ReactElement;
56
50
  /** Custom UI component to be displayed when the `MessageList` is empty, defaults to and accepts same props as: [EmptyStateIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/EmptyStateIndicator/EmptyStateIndicator.tsx) */
@@ -156,7 +150,6 @@ export declare type ChannelProps<StreamChatGenerics extends DefaultStreamChatGen
156
150
  * - [ChannelStateContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_state_context/)
157
151
  * - [ChannelActionContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_action_context/)
158
152
  * - [ComponentContext](https://getstream.io/chat/docs/sdk/react/contexts/component_context/)
159
- * - [EmojiContext](https://getstream.io/chat/docs/sdk/react/contexts/emoji_context/)
160
153
  * - [TypingContext](https://getstream.io/chat/docs/sdk/react/contexts/typing_context/)
161
154
  */
162
155
  export declare const Channel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger>(props: React.PropsWithChildren<ChannelProps<StreamChatGenerics, V>>) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ import { logChatPromiseExecution, } from 'stream-chat';
6
6
  import { nanoid } from 'nanoid';
7
7
  import clsx from 'clsx';
8
8
  import { channelReducer, initialState } from './channelState';
9
- import { commonEmoji, defaultMinimalEmojis, emojiSetDef } from './emojiData';
10
9
  import { useCreateChannelStateContext } from './hooks/useCreateChannelStateContext';
11
10
  import { useCreateTypingContext } from './hooks/useCreateTypingContext';
12
11
  import { useEditMessageHandler } from './hooks/useEditMessageHandler';
@@ -21,12 +20,10 @@ import { ChannelActionProvider, } from '../../context/ChannelActionContext';
21
20
  import { ChannelStateProvider, } from '../../context/ChannelStateContext';
22
21
  import { ComponentProvider } from '../../context/ComponentContext';
23
22
  import { useChatContext } from '../../context/ChatContext';
24
- import { EmojiProvider } from '../../context/EmojiContext';
25
23
  import { useTranslationContext } from '../../context/TranslationContext';
26
24
  import { TypingProvider } from '../../context/TypingContext';
27
25
  import { DEFAULT_INITIAL_CHANNEL_PAGE_SIZE, DEFAULT_NEXT_CHANNEL_PAGE_SIZE, DEFAULT_THREAD_PAGE_SIZE, } from '../../constants/limits';
28
26
  import { hasMoreMessagesProbably, hasNotMoreMessages } from '../MessageList/utils';
29
- import defaultEmojiData from '../../stream-emoji.json';
30
27
  import { makeAddNotifications } from './utils';
31
28
  import { getChannel } from '../../utils/getChannel';
32
29
  import { useChannelContainerClasses } from './hooks/useChannelContainerClasses';
@@ -56,26 +53,20 @@ var UnMemoizedChannel = function (props) {
56
53
  };
57
54
  var ChannelInner = function (props) {
58
55
  var _a;
59
- var acceptedFiles = props.acceptedFiles, activeUnreadHandler = props.activeUnreadHandler, channel = props.channel, children = props.children, doMarkReadRequest = props.doMarkReadRequest, doSendMessageRequest = props.doSendMessageRequest, doUpdateMessageRequest = props.doUpdateMessageRequest, _b = props.dragAndDropWindow, dragAndDropWindow = _b === void 0 ? false : _b, _c = props.emojiData, emojiData = _c === void 0 ? defaultEmojiData : _c, enrichURLForPreviewConfig = props.enrichURLForPreviewConfig, _d = props.initializeOnMount, initializeOnMount = _d === void 0 ? true : _d, _e = props.LoadingErrorIndicator, LoadingErrorIndicator = _e === void 0 ? DefaultLoadingErrorIndicator : _e, _f = props.LoadingIndicator, LoadingIndicator = _f === void 0 ? DefaultLoadingIndicator : _f, maxNumberOfFiles = props.maxNumberOfFiles, _g = props.multipleUploads, multipleUploads = _g === void 0 ? true : _g, onMentionsClick = props.onMentionsClick, onMentionsHover = props.onMentionsHover, _h = props.optionalMessageInputProps, optionalMessageInputProps = _h === void 0 ? {} : _h, skipMessageDataMemoization = props.skipMessageDataMemoization;
60
- var _j = useChatContext('Channel'), client = _j.client, customClasses = _j.customClasses, latestMessageDatesByChannels = _j.latestMessageDatesByChannels, mutes = _j.mutes, theme = _j.theme;
56
+ var acceptedFiles = props.acceptedFiles, activeUnreadHandler = props.activeUnreadHandler, channel = props.channel, children = props.children, doMarkReadRequest = props.doMarkReadRequest, doSendMessageRequest = props.doSendMessageRequest, doUpdateMessageRequest = props.doUpdateMessageRequest, _b = props.dragAndDropWindow, dragAndDropWindow = _b === void 0 ? false : _b, enrichURLForPreviewConfig = props.enrichURLForPreviewConfig, _c = props.initializeOnMount, initializeOnMount = _c === void 0 ? true : _c, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? DefaultLoadingErrorIndicator : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? DefaultLoadingIndicator : _e, maxNumberOfFiles = props.maxNumberOfFiles, _f = props.multipleUploads, multipleUploads = _f === void 0 ? true : _f, onMentionsClick = props.onMentionsClick, onMentionsHover = props.onMentionsHover, _g = props.optionalMessageInputProps, optionalMessageInputProps = _g === void 0 ? {} : _g, skipMessageDataMemoization = props.skipMessageDataMemoization;
57
+ var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, latestMessageDatesByChannels = _h.latestMessageDatesByChannels, mutes = _h.mutes, theme = _h.theme;
61
58
  var t = useTranslationContext('Channel').t;
62
- var _k = useChannelContainerClasses({ customClasses: customClasses }), channelClass = _k.channelClass, chatClass = _k.chatClass, chatContainerClass = _k.chatContainerClass, windowsEmojiClass = _k.windowsEmojiClass;
63
- var _l = useState(channel.getConfig()), channelConfig = _l[0], setChannelConfig = _l[1];
64
- var _m = useState([]), notifications = _m[0], setNotifications = _m[1];
65
- var _o = useState(), quotedMessage = _o[0], setQuotedMessage = _o[1];
59
+ var _j = useChannelContainerClasses({ customClasses: customClasses }), channelClass = _j.channelClass, chatClass = _j.chatClass, chatContainerClass = _j.chatContainerClass, windowsEmojiClass = _j.windowsEmojiClass;
60
+ var _k = useState(channel.getConfig()), channelConfig = _k[0], setChannelConfig = _k[1];
61
+ var _l = useState([]), notifications = _l[0], setNotifications = _l[1];
62
+ var _m = useState(), quotedMessage = _m[0], setQuotedMessage = _m[1];
66
63
  var notificationTimeouts = [];
67
- var _p = useReducer(channelReducer, __assign(__assign({}, initialState), { loading: !channel.initialized })), state = _p[0], dispatch = _p[1];
64
+ var _o = useReducer(channelReducer, __assign(__assign({}, initialState), { loading: !channel.initialized })), state = _o[0], dispatch = _o[1];
68
65
  var isMounted = useIsMounted();
69
66
  var originalTitle = useRef('');
70
67
  var lastRead = useRef(new Date());
71
68
  var online = useRef(true);
72
69
  var channelCapabilitiesArray = (_a = channel.data) === null || _a === void 0 ? void 0 : _a.own_capabilities;
73
- var emojiConfig = {
74
- commonEmoji: commonEmoji,
75
- defaultMinimalEmojis: defaultMinimalEmojis,
76
- emojiData: emojiData,
77
- emojiSetDef: emojiSetDef,
78
- };
79
70
  var throttledCopyStateFromChannel = throttle(function () { return dispatch({ channel: channel, type: 'copyStateFromChannelOnEvent' }); }, 500, {
80
71
  leading: true,
81
72
  trailing: true,
@@ -620,7 +611,8 @@ var ChannelInner = function (props) {
620
611
  CooldownTimer: props.CooldownTimer,
621
612
  DateSeparator: props.DateSeparator,
622
613
  EditMessageInput: props.EditMessageInput,
623
- EmojiIcon: props.EmojiIcon,
614
+ EmojiPicker: props.EmojiPicker,
615
+ emojiSearchIndex: props.emojiSearchIndex,
624
616
  EmptyStateIndicator: props.EmptyStateIndicator,
625
617
  FileUploadIcon: props.FileUploadIcon,
626
618
  GiphyPreviewMessage: props.GiphyPreviewMessage,
@@ -653,11 +645,6 @@ var ChannelInner = function (props) {
653
645
  VirtualMessage: props.VirtualMessage,
654
646
  });
655
647
  }, [props.reactionOptions]);
656
- var emojiContextValue = useMemo(function () { return ({
657
- emojiConfig: emojiConfig,
658
- EmojiIndex: props.EmojiIndex,
659
- EmojiPicker: props.EmojiPicker,
660
- }); }, []);
661
648
  var typingContextValue = useCreateTypingContext({
662
649
  typing: typing,
663
650
  });
@@ -678,11 +665,10 @@ var ChannelInner = function (props) {
678
665
  React.createElement(ChannelStateProvider, { value: channelStateContextValue },
679
666
  React.createElement(ChannelActionProvider, { value: channelActionContextValue },
680
667
  React.createElement(ComponentProvider, { value: componentContextValue },
681
- React.createElement(EmojiProvider, { value: emojiContextValue },
682
- React.createElement(TypingProvider, { value: typingContextValue },
683
- React.createElement("div", { className: "".concat(chatContainerClass) },
684
- dragAndDropWindow && (React.createElement(DropzoneProvider, __assign({}, optionalMessageInputProps), children)),
685
- !dragAndDropWindow && React.createElement(React.Fragment, null, children)))))))));
668
+ React.createElement(TypingProvider, { value: typingContextValue },
669
+ React.createElement("div", { className: "".concat(chatContainerClass) },
670
+ dragAndDropWindow && (React.createElement(DropzoneProvider, __assign({}, optionalMessageInputProps), children)),
671
+ !dragAndDropWindow && React.createElement(React.Fragment, null, children))))))));
686
672
  };
687
673
  /**
688
674
  * A wrapper component that provides channel data and renders children.
@@ -690,7 +676,6 @@ var ChannelInner = function (props) {
690
676
  * - [ChannelStateContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_state_context/)
691
677
  * - [ChannelActionContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_action_context/)
692
678
  * - [ComponentContext](https://getstream.io/chat/docs/sdk/react/contexts/component_context/)
693
- * - [EmojiContext](https://getstream.io/chat/docs/sdk/react/contexts/emoji_context/)
694
679
  * - [TypingContext](https://getstream.io/chat/docs/sdk/react/contexts/typing_context/)
695
680
  */
696
681
  export var Channel = React.memo(UnMemoizedChannel);
@@ -1,21 +1,21 @@
1
1
  import React from 'react';
2
- import type { EmojiData, NimbleEmojiIndex } from 'emoji-mart';
3
2
  import type { CommandResponse, UserResponse } from 'stream-chat';
4
3
  import type { TriggerSettings } from '../MessageInput/DefaultTriggerProvider';
5
- import type { CustomTrigger, DefaultStreamChatGenerics } from '../../types/types';
4
+ import type { CustomTrigger, DefaultStreamChatGenerics, UnknownType } from '../../types/types';
5
+ import { EmojiSearchIndex } from 'components/MessageInput';
6
6
  declare type ObjectUnion<T> = T[keyof T];
7
7
  export declare type SuggestionCommand<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = CommandResponse<StreamChatGenerics>;
8
8
  export declare type SuggestionUser<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = UserResponse<StreamChatGenerics>;
9
- export declare type SuggestionItemProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
9
+ export declare type SuggestionItemProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, T extends UnknownType = UnknownType> = {
10
10
  className: string;
11
11
  component: React.ComponentType<{
12
- entity: EmojiData | SuggestionUser<StreamChatGenerics> | SuggestionCommand<StreamChatGenerics>;
12
+ entity: Awaited<ReturnType<EmojiSearchIndex<T>['search']>> | SuggestionUser<StreamChatGenerics> | SuggestionCommand<StreamChatGenerics>;
13
13
  selected: boolean;
14
14
  }>;
15
- item: EmojiData | SuggestionUser<StreamChatGenerics> | SuggestionCommand<StreamChatGenerics>;
15
+ item: Awaited<ReturnType<EmojiSearchIndex<T>['search']>> | SuggestionUser<StreamChatGenerics> | SuggestionCommand<StreamChatGenerics>;
16
16
  key: React.Key;
17
17
  onClickHandler: (event: React.BaseSyntheticEvent) => void;
18
- onSelectHandler: (item: EmojiData | SuggestionUser<StreamChatGenerics> | SuggestionCommand<StreamChatGenerics>) => void;
18
+ onSelectHandler: (item: Awaited<ReturnType<EmojiSearchIndex<T>['search']>> | SuggestionUser<StreamChatGenerics> | SuggestionCommand<StreamChatGenerics>) => void;
19
19
  selected: boolean;
20
20
  style: React.CSSProperties;
21
21
  value: string;
@@ -50,7 +50,7 @@ export declare type SuggestionListProps<StreamChatGenerics extends DefaultStream
50
50
  value?: string;
51
51
  };
52
52
  }>;
53
- export declare type ChatAutoCompleteProps = {
53
+ export declare type ChatAutoCompleteProps<T extends UnknownType = UnknownType> = {
54
54
  /** Function to override the default submit handler on the underlying `textarea` component */
55
55
  handleSubmit?: (event: React.BaseSyntheticEvent) => void;
56
56
  /** Function to run on blur of the underlying `textarea` component */
@@ -68,7 +68,7 @@ export declare type ChatAutoCompleteProps = {
68
68
  /** The text value of the underlying `textarea` component */
69
69
  value?: string;
70
70
  /** Function to override the default emojiReplace behavior on the `wordReplace` prop of the `textarea` component */
71
- wordReplace?: (word: string, emojiIndex?: NimbleEmojiIndex) => string;
71
+ wordReplace?: (word: string, emojiIndex?: EmojiSearchIndex<T>) => string;
72
72
  };
73
73
  export declare const ChatAutoComplete: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics, V extends CustomTrigger = CustomTrigger>(props: ChatAutoCompleteProps) => JSX.Element;
74
74
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAutoComplete.d.ts","sourceRoot":"","sources":["../../../src/components/ChatAutoComplete/ChatAutoComplete.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatAutoComplete.d.ts","sourceRoot":"","sources":["../../../src/components/ChatAutoComplete/ChatAutoComplete.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { __awaiter, __generator } from "tslib";
1
2
  import React, { useCallback } from 'react';
2
3
  import { AutoCompleteTextarea } from '../AutoCompleteTextarea';
3
4
  import { LoadingIndicator } from '../Loading/LoadingIndicator';
@@ -8,23 +9,32 @@ var UnMemoizedChatAutoComplete = function (props) {
8
9
  var _a = useComponentContext('ChatAutoComplete'), SuggestionItem = _a.AutocompleteSuggestionItem, SuggestionList = _a.AutocompleteSuggestionList;
9
10
  var t = useTranslationContext('ChatAutoComplete').t;
10
11
  var messageInput = useMessageInputContext('ChatAutoComplete');
11
- var cooldownRemaining = messageInput.cooldownRemaining, disabled = messageInput.disabled, emojiIndex = messageInput.emojiIndex, innerRef = messageInput.textareaRef;
12
+ var cooldownRemaining = messageInput.cooldownRemaining, disabled = messageInput.disabled, emojiSearchIndex = messageInput.emojiSearchIndex, innerRef = messageInput.textareaRef;
12
13
  var placeholder = props.placeholder || t('Type your message');
13
14
  var emojiReplace = props.wordReplace
14
- ? function (word) { var _a; return (_a = props.wordReplace) === null || _a === void 0 ? void 0 : _a.call(props, word, emojiIndex); }
15
- : function (word) {
16
- var found = (emojiIndex === null || emojiIndex === void 0 ? void 0 : emojiIndex.search(word)) || [];
17
- var emoji = found
18
- .filter(Boolean)
19
- .slice(0, 10)
20
- .find(function (_a) {
21
- var emoticons = _a.emoticons;
22
- return !!(emoticons === null || emoticons === void 0 ? void 0 : emoticons.includes(word));
15
+ ? function (word) { var _a; return (_a = props.wordReplace) === null || _a === void 0 ? void 0 : _a.call(props, word, emojiSearchIndex); }
16
+ : function (word) { return __awaiter(void 0, void 0, void 0, function () {
17
+ var found, emoji, firstSkin;
18
+ var _a, _b;
19
+ return __generator(this, function (_c) {
20
+ switch (_c.label) {
21
+ case 0: return [4 /*yield*/, (emojiSearchIndex === null || emojiSearchIndex === void 0 ? void 0 : emojiSearchIndex.search(word))];
22
+ case 1:
23
+ found = (_c.sent()) || [];
24
+ emoji = found
25
+ .filter(Boolean)
26
+ .slice(0, 10)
27
+ .find(function (_a) {
28
+ var emoticons = _a.emoticons;
29
+ return !!(emoticons === null || emoticons === void 0 ? void 0 : emoticons.includes(word));
30
+ });
31
+ if (!emoji)
32
+ return [2 /*return*/, null];
33
+ firstSkin = ((_a = emoji.skins) !== null && _a !== void 0 ? _a : [])[0];
34
+ return [2 /*return*/, (_b = emoji.native) !== null && _b !== void 0 ? _b : firstSkin.native];
35
+ }
23
36
  });
24
- if (!emoji || !('native' in emoji))
25
- return null;
26
- return emoji.native;
27
- };
37
+ }); };
28
38
  var updateInnerRef = useCallback(function (ref) {
29
39
  if (innerRef) {
30
40
  innerRef.current = ref;
@@ -10,7 +10,7 @@ var UnMemoizedDateSeparator = function (props) {
10
10
  messageCreatedAt: messageCreatedAt,
11
11
  tDateTimeParser: tDateTimeParser,
12
12
  });
13
- return (React.createElement("div", { className: 'str-chat__date-separator' },
13
+ return (React.createElement("div", { className: 'str-chat__date-separator', "data-testid": 'date-separator' },
14
14
  (position === 'right' || position === 'center') && (React.createElement("hr", { className: 'str-chat__date-separator-line' })),
15
15
  React.createElement("div", { className: 'str-chat__date-separator-date' }, unread ? "".concat(t('New'), " - ").concat(formattedDate) : formattedDate),
16
16
  (position === 'left' || position === 'center') && (React.createElement("hr", { className: 'str-chat__date-separator-line' }))));
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ declare type EmojiPickerProps = {
3
+ ButtonIconComponent?: React.ComponentType;
4
+ buttonClassName?: string;
5
+ emojiPickerContainerClassName?: string;
6
+ wrapperClassName?: string;
7
+ };
8
+ export declare const EmojiPicker: (props: EmojiPickerProps) => JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=EmojiPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../src/components/Emojis/EmojiPicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAenD,aAAK,gBAAgB,GAAG;IACtB,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAeF,eAAO,MAAM,WAAW,UAAW,gBAAgB,gBAmElD,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { __assign } from "tslib";
2
+ /* eslint-disable typescript-sort-keys/interface */
3
+ import React, { useEffect, useState } from 'react';
4
+ import { usePopper } from 'react-popper';
5
+ import data from '@emoji-mart/data';
6
+ import Picker from '@emoji-mart/react';
7
+ import { useChatContext, useMessageInputContext, useTranslationContext, } from '../../context';
8
+ import { EmojiIconLarge, EmojiPickerIcon } from '../MessageInput/icons';
9
+ import { Tooltip } from '../Tooltip';
10
+ var classNames = {
11
+ 1: {
12
+ buttonClassName: 'str-chat__input-flat-emojiselect',
13
+ emojiPickerContainerClassName: undefined,
14
+ wrapperClassName: 'str-chat__emojiselect-wrapper',
15
+ },
16
+ 2: {
17
+ buttonClassName: 'str-chat__emoji-picker-button',
18
+ emojiPickerContainerClassName: 'str-chat__message-textarea-emoji-picker-container',
19
+ wrapperClassName: 'str-chat__message-textarea-emoji-picker',
20
+ },
21
+ };
22
+ export var EmojiPicker = function (props) {
23
+ var _a, _b, _c;
24
+ var themeVersion = useChatContext('EmojiPicker').themeVersion;
25
+ var t = useTranslationContext('EmojiPicker').t;
26
+ var _d = useMessageInputContext('EmojiPicker'), insertText = _d.insertText, textareaRef = _d.textareaRef;
27
+ var _e = useState(false), displayPicker = _e[0], setDisplayPicker = _e[1];
28
+ var _f = useState(null), referenceElement = _f[0], setReferenceElement = _f[1];
29
+ var _g = useState(null), popperElement = _g[0], setPopperElement = _g[1];
30
+ var _h = usePopper(referenceElement, popperElement, {
31
+ placement: themeVersion === '2' ? 'top-end' : 'top-start',
32
+ }), attributes = _h.attributes, styles = _h.styles;
33
+ var _j = classNames[themeVersion], buttonClassName = _j.buttonClassName, emojiPickerContainerClassName = _j.emojiPickerContainerClassName, wrapperClassName = _j.wrapperClassName;
34
+ var _k = props.ButtonIconComponent, ButtonIconComponent = _k === void 0 ? themeVersion === '2' ? EmojiPickerIcon : EmojiIconLarge : _k;
35
+ useEffect(function () {
36
+ if (!popperElement || !referenceElement)
37
+ return;
38
+ var handlePointerDown = function (e) {
39
+ var target = e.target;
40
+ if (popperElement.contains(target) || referenceElement.contains(target))
41
+ return;
42
+ setDisplayPicker(false);
43
+ };
44
+ window.addEventListener('pointerdown', handlePointerDown);
45
+ return function () { return window.removeEventListener('pointerdown', handlePointerDown); };
46
+ }, [referenceElement, popperElement]);
47
+ return (React.createElement("div", { className: (_a = props.wrapperClassName) !== null && _a !== void 0 ? _a : wrapperClassName },
48
+ displayPicker && (React.createElement("div", __assign({ className: (_b = props.emojiPickerContainerClassName) !== null && _b !== void 0 ? _b : emojiPickerContainerClassName, style: styles.popper }, attributes.popper, { ref: setPopperElement }),
49
+ React.createElement(Picker, { data: data, onEmojiSelect: function (e) {
50
+ var _a;
51
+ // @ts-ignore emoji-mart is missing types
52
+ insertText(e.native);
53
+ (_a = textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
54
+ } }))),
55
+ themeVersion === '1' && (React.createElement(Tooltip, null, displayPicker ? t('Close emoji picker') : t('Open emoji picker'))),
56
+ React.createElement("button", { "aria-label": 'Emoji picker', className: (_c = props.buttonClassName) !== null && _c !== void 0 ? _c : buttonClassName, onClick: function () { return setDisplayPicker(function (cv) { return !cv; }); }, ref: setReferenceElement, type: 'button' }, ButtonIconComponent && React.createElement(ButtonIconComponent, null))));
57
+ };