stream-chat-react 12.3.0 → 12.4.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 (49) hide show
  1. package/dist/components/Channel/Channel.d.ts +1 -1
  2. package/dist/components/Channel/Channel.js +2 -0
  3. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +1 -1
  4. package/dist/components/Message/MessageOptions.js +1 -1
  5. package/dist/components/Message/MessageSimple.js +5 -2
  6. package/dist/components/Message/utils.d.ts +1 -1
  7. package/dist/components/MessageActions/MessageActions.d.ts +2 -1
  8. package/dist/components/MessageActions/MessageActions.js +1 -1
  9. package/dist/components/Reactions/ReactionSelectorWithButton.d.ts +1 -2
  10. package/dist/components/Reactions/ReactionSelectorWithButton.js +2 -2
  11. package/dist/components/Threads/hooks/useThreadManagerState.js +1 -1
  12. package/dist/context/ComponentContext.d.ts +7 -1
  13. package/dist/experimental/MessageActions/MessageActions.d.ts +17 -0
  14. package/dist/experimental/MessageActions/MessageActions.js +48 -0
  15. package/dist/experimental/MessageActions/defaults.d.ts +5 -0
  16. package/dist/experimental/MessageActions/defaults.js +93 -0
  17. package/dist/experimental/MessageActions/hooks/index.d.ts +2 -0
  18. package/dist/experimental/MessageActions/hooks/index.js +2 -0
  19. package/dist/experimental/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts +8 -0
  20. package/dist/experimental/MessageActions/hooks/useBaseMessageActionSetFilter.js +57 -0
  21. package/dist/experimental/MessageActions/hooks/useSplitMessageActionSet.d.ts +5 -0
  22. package/dist/experimental/MessageActions/hooks/useSplitMessageActionSet.js +12 -0
  23. package/dist/experimental/MessageActions/index.d.ts +3 -0
  24. package/dist/experimental/MessageActions/index.js +3 -0
  25. package/dist/experimental/index.browser.cjs +1091 -0
  26. package/dist/experimental/index.browser.cjs.map +7 -0
  27. package/dist/experimental/index.d.ts +1 -0
  28. package/dist/experimental/index.js +1 -0
  29. package/dist/experimental/index.node.cjs +1099 -0
  30. package/dist/experimental/index.node.cjs.map +7 -0
  31. package/dist/i18n/Streami18n.d.ts +1 -0
  32. package/dist/i18n/de.json +1 -0
  33. package/dist/i18n/en.json +1 -0
  34. package/dist/i18n/es.json +1 -0
  35. package/dist/i18n/fr.json +1 -0
  36. package/dist/i18n/hi.json +1 -0
  37. package/dist/i18n/it.json +1 -0
  38. package/dist/i18n/ja.json +1 -0
  39. package/dist/i18n/ko.json +1 -0
  40. package/dist/i18n/nl.json +1 -0
  41. package/dist/i18n/pt.json +1 -0
  42. package/dist/i18n/ru.json +1 -0
  43. package/dist/i18n/tr.json +1 -0
  44. package/dist/index.browser.cjs +29 -9
  45. package/dist/index.browser.cjs.map +3 -3
  46. package/dist/index.node.cjs +30 -9
  47. package/dist/index.node.cjs.map +3 -3
  48. package/dist/utils/getChannel.js +7 -3
  49. package/package.json +16 -1
@@ -20184,6 +20184,7 @@ __export(src_exports, {
20184
20184
  Message: () => Message,
20185
20185
  MessageActions: () => MessageActions,
20186
20186
  MessageActionsBox: () => MessageActionsBox,
20187
+ MessageActionsWrapper: () => MessageActionsWrapper,
20187
20188
  MessageBounceProvider: () => MessageBounceProvider,
20188
20189
  MessageContext: () => MessageContext,
20189
20190
  MessageDeleted: () => MessageDeleted,
@@ -37758,9 +37759,12 @@ var getChannel = async ({
37758
37759
  if (queryPromise) {
37759
37760
  await queryPromise;
37760
37761
  } else {
37761
- WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid] = theChannel.watch(options);
37762
- await WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
37763
- delete WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
37762
+ try {
37763
+ WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid] = theChannel.watch(options);
37764
+ await WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
37765
+ } finally {
37766
+ delete WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
37767
+ }
37764
37768
  }
37765
37769
  return theChannel;
37766
37770
  };
@@ -38742,6 +38746,7 @@ var de_default = {
38742
38746
  "People matching": "Passende Personen",
38743
38747
  Pin: "Pin",
38744
38748
  "Pinned by": "Gepinnt von",
38749
+ Quote: "Quote",
38745
38750
  "Recording format is not supported and cannot be reproduced": "Aufnahmeformat wird nicht unterst\xFCtzt und kann nicht wiedergegeben werden",
38746
38751
  Reply: "Antworten",
38747
38752
  "Reply to Message": "Auf Nachricht antworten",
@@ -38895,6 +38900,7 @@ var en_default = {
38895
38900
  "People matching": "People matching",
38896
38901
  Pin: "Pin",
38897
38902
  "Pinned by": "Pinned by",
38903
+ Quote: "Quote",
38898
38904
  "Recording format is not supported and cannot be reproduced": "Recording format is not supported and cannot be reproduced",
38899
38905
  Reply: "Reply",
38900
38906
  "Reply to Message": "Reply to Message",
@@ -39038,6 +39044,7 @@ var es_default = {
39038
39044
  "People matching": "Personas que coinciden",
39039
39045
  Pin: "Alfiler",
39040
39046
  "Pinned by": "Fijado por",
39047
+ Quote: "Quote",
39041
39048
  "Recording format is not supported and cannot be reproduced": "El formato de grabaci\xF3n no es compatible y no se puede reproducir",
39042
39049
  Reply: "Respuesta",
39043
39050
  "Reply to Message": "Responder al mensaje",
@@ -39195,6 +39202,7 @@ var fr_default = {
39195
39202
  "People matching": "Correspondance de personnes",
39196
39203
  Pin: "\xC9pingle",
39197
39204
  "Pinned by": "\xC9pingl\xE9 par",
39205
+ Quote: "Quote",
39198
39206
  "Recording format is not supported and cannot be reproduced": "Le format d'enregistrement n'est pas pris en charge et ne peut pas \xEAtre reproduit",
39199
39207
  Reply: "R\xE9ponse",
39200
39208
  "Reply to Message": "R\xE9pondre au message",
@@ -39353,6 +39361,7 @@ var hi_default = {
39353
39361
  "People matching": "\u092E\u0947\u0932 \u0916\u093E\u0924\u0947 \u0932\u094B\u0917",
39354
39362
  Pin: "\u092A\u093F\u0928",
39355
39363
  "Pinned by": "\u0926\u094D\u0935\u093E\u0930\u093E \u092A\u093F\u0928 \u0915\u093F\u092F\u093E \u0917\u092F\u093E",
39364
+ Quote: "Quote",
39356
39365
  "Recording format is not supported and cannot be reproduced": "\u0930\u0947\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u092B\u093C\u0949\u0930\u094D\u092E\u0947\u091F \u0938\u092E\u0930\u094D\u0925\u093F\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948 \u0914\u0930 \u092A\u0941\u0928\u0903 \u0909\u0924\u094D\u092A\u0928\u094D\u0928 \u0928\u0939\u0940\u0902 \u0915\u093F\u092F\u093E \u091C\u093E \u0938\u0915\u0924\u093E",
39357
39366
  Reply: "\u091C\u0935\u093E\u092C \u0926\u0947 \u0926\u094B",
39358
39367
  "Reply to Message": "\u0938\u0902\u0926\u0947\u0936 \u0915\u093E \u091C\u0935\u093E\u092C \u0926\u0947\u0902",
@@ -39506,6 +39515,7 @@ var it_default = {
39506
39515
  "People matching": "Persone che corrispondono",
39507
39516
  Pin: "Pin",
39508
39517
  "Pinned by": "Appuntato da",
39518
+ Quote: "Quote",
39509
39519
  "Recording format is not supported and cannot be reproduced": "Il formato di registrazione non \xE8 supportato e non pu\xF2 essere riprodotto",
39510
39520
  Reply: "Rispondere",
39511
39521
  "Reply to Message": "Rispondi al messaggio",
@@ -39663,6 +39673,7 @@ var ja_default = {
39663
39673
  "People matching": "\u4E00\u81F4\u3059\u308B\u4EBA",
39664
39674
  Pin: "\u30D4\u30F3",
39665
39675
  "Pinned by": "\u30D4\u30F3\u3057\u305F\u65B9",
39676
+ Quote: "Quote",
39666
39677
  "Recording format is not supported and cannot be reproduced": "\u9332\u97F3\u5F62\u5F0F\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u304A\u3089\u305A\u3001\u518D\u751F\u3067\u304D\u307E\u305B\u3093",
39667
39678
  Reply: "\u8FD4\u4E8B",
39668
39679
  "Reply to Message": "\u30E1\u30C3\u30BB\u30FC\u30B8\u306B\u8FD4\u4FE1",
@@ -39814,6 +39825,7 @@ var ko_default = {
39814
39825
  "People matching": "\uC77C\uCE58\uD558\uB294 \uC0AC\uB78C",
39815
39826
  Pin: "\uD540",
39816
39827
  "Pinned by": "\uD540\uD588\uB358 \uBD84:",
39828
+ Quote: "Quote",
39817
39829
  "Recording format is not supported and cannot be reproduced": "\uB179\uC74C \uD615\uC2DD\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC73C\uBBC0\uB85C \uC7AC\uC0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",
39818
39830
  Reply: "\uB2F5\uC7A5",
39819
39831
  "Reply to Message": "\uBA54\uC2DC\uC9C0\uC5D0 \uB2F5\uC7A5",
@@ -39965,6 +39977,7 @@ var nl_default = {
39965
39977
  "People matching": "Mensen die matchen",
39966
39978
  Pin: "Pin",
39967
39979
  "Pinned by": "Vastgemaakt door",
39980
+ Quote: "Quote",
39968
39981
  "Recording format is not supported and cannot be reproduced": "Opnameformaat wordt niet ondersteund en kan niet worden gereproduceerd",
39969
39982
  Reply: "Antwoord",
39970
39983
  "Reply to Message": "Antwoord op bericht",
@@ -40118,6 +40131,7 @@ var pt_default = {
40118
40131
  "People matching": "Pessoas correspondentes",
40119
40132
  Pin: "Fixar",
40120
40133
  "Pinned by": "Fixado por",
40134
+ Quote: "Quote",
40121
40135
  "Recording format is not supported and cannot be reproduced": "Formato de grava\xE7\xE3o n\xE3o \xE9 suportado e n\xE3o pode ser reproduzido",
40122
40136
  Reply: "Responder",
40123
40137
  "Reply to Message": "Responder a mensagem",
@@ -40275,6 +40289,7 @@ var ru_default = {
40275
40289
  "People matching": "\u0421\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u043B\u044E\u0434\u0438",
40276
40290
  Pin: "\u0428\u0442\u044B\u0440\u044C",
40277
40291
  "Pinned by": "\u0417\u0430\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u043E",
40292
+ Quote: "Quote",
40278
40293
  "Recording format is not supported and cannot be reproduced": "\u0424\u043E\u0440\u043C\u0430\u0442 \u0437\u0430\u043F\u0438\u0441\u0438 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0438 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D",
40279
40294
  Reply: "\u041E\u0442\u0432\u0435\u0447\u0430\u0442\u044C",
40280
40295
  "Reply to Message": "\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
@@ -40436,6 +40451,7 @@ var tr_default = {
40436
40451
  "People matching": "E\u015Fle\u015Fen ki\u015Filer",
40437
40452
  Pin: "Toplu i\u011Fne",
40438
40453
  "Pinned by": "Sabitleyen",
40454
+ Quote: "Quote",
40439
40455
  "Recording format is not supported and cannot be reproduced": "Kay\u0131t format\u0131 desteklenmiyor ve \xE7o\u011Falt\u0131lam\u0131yor",
40440
40456
  Reply: "Cevapla",
40441
40457
  "Reply to Message": "Mesaj\u0131 Cevapla",
@@ -45102,8 +45118,7 @@ var ReactionSelector = import_react108.default.memo(
45102
45118
 
45103
45119
  // src/components/Reactions/ReactionSelectorWithButton.tsx
45104
45120
  var ReactionSelectorWithButton = ({
45105
- ReactionIcon: ReactionIcon2,
45106
- theme
45121
+ ReactionIcon: ReactionIcon2
45107
45122
  }) => {
45108
45123
  const { t: t2 } = useTranslationContext("ReactionSelectorWithButton");
45109
45124
  const { isMyMessage, message } = useMessageContext("MessageOptions");
@@ -45126,7 +45141,7 @@ var ReactionSelectorWithButton = ({
45126
45141
  {
45127
45142
  "aria-expanded": dialogIsOpen,
45128
45143
  "aria-label": t2("aria/Open Reaction Selector"),
45129
- className: `str-chat__message-${theme}__actions__action str-chat__message-${theme}__actions__action--reactions str-chat__message-reactions-button`,
45144
+ className: "str-chat__message-reactions-button",
45130
45145
  "data-testid": "message-reaction-action",
45131
45146
  onClick: () => dialog?.toggle(),
45132
45147
  ref: buttonRef
@@ -45181,7 +45196,7 @@ var UnMemoizedMessageOptions = (props) => {
45181
45196
  },
45182
45197
  /* @__PURE__ */ import_react110.default.createElement(ThreadIcon2, { className: "str-chat__message-action-icon" })
45183
45198
  ),
45184
- shouldShowReactions && /* @__PURE__ */ import_react110.default.createElement(ReactionSelectorWithButton, { ReactionIcon: ReactionIcon2, theme })
45199
+ shouldShowReactions && /* @__PURE__ */ import_react110.default.createElement(ReactionSelectorWithButton, { ReactionIcon: ReactionIcon2 })
45185
45200
  );
45186
45201
  };
45187
45202
  var MessageOptions = import_react110.default.memo(
@@ -47253,9 +47268,12 @@ var MessageSimpleWithContext = (props) => {
47253
47268
  Attachment: Attachment2 = Attachment,
47254
47269
  Avatar: Avatar2 = Avatar,
47255
47270
  EditMessageInput = EditMessageForm,
47271
+ MessageOptions: MessageOptions2 = MessageOptions,
47272
+ // TODO: remove this "passthrough" in the next
47273
+ // major release and use the new default instead
47274
+ MessageActions: MessageActions2 = MessageOptions2,
47256
47275
  MessageDeleted: MessageDeleted2 = MessageDeleted,
47257
47276
  MessageBouncePrompt: MessageBouncePrompt2 = MessageBouncePrompt,
47258
- MessageOptions: MessageOptions2 = MessageOptions,
47259
47277
  MessageRepliesCountButton: MessageRepliesCountButton2 = MessageRepliesCountButton,
47260
47278
  MessageStatus: MessageStatus2 = MessageStatus,
47261
47279
  MessageTimestamp: MessageTimestamp2 = MessageTimestamp,
@@ -47337,7 +47355,7 @@ var MessageSimpleWithContext = (props) => {
47337
47355
  onClick: handleClick,
47338
47356
  onKeyUp: handleClick
47339
47357
  },
47340
- /* @__PURE__ */ import_react151.default.createElement(MessageOptions2, null),
47358
+ /* @__PURE__ */ import_react151.default.createElement(MessageActions2, null),
47341
47359
  /* @__PURE__ */ import_react151.default.createElement("div", { className: "str-chat__message-reactions-host" }, hasReactions && /* @__PURE__ */ import_react151.default.createElement(ReactionsList2, { reverse: true })),
47342
47360
  /* @__PURE__ */ import_react151.default.createElement("div", { className: "str-chat__message-bubble" }, message.attachments?.length && !message.quoted_message ? /* @__PURE__ */ import_react151.default.createElement(Attachment2, { actionHandler: handleAction, attachments: message.attachments }) : null, /* @__PURE__ */ import_react151.default.createElement(MessageText, { message, renderText: renderText2 }), message.mml && /* @__PURE__ */ import_react151.default.createElement(
47343
47361
  MML,
@@ -50577,6 +50595,7 @@ var ChannelInner = (props) => {
50577
50595
  LinkPreviewList: props.LinkPreviewList,
50578
50596
  LoadingIndicator: props.LoadingIndicator,
50579
50597
  Message: props.Message,
50598
+ MessageActions: props.MessageActions,
50580
50599
  MessageBouncePrompt: props.MessageBouncePrompt,
50581
50600
  MessageDeleted: props.MessageDeleted,
50582
50601
  MessageListNotifications: props.MessageListNotifications,
@@ -50626,6 +50645,7 @@ var ChannelInner = (props) => {
50626
50645
  props.LinkPreviewList,
50627
50646
  props.LoadingIndicator,
50628
50647
  props.Message,
50648
+ props.MessageActions,
50629
50649
  props.MessageBouncePrompt,
50630
50650
  props.MessageDeleted,
50631
50651
  props.MessageListNotifications,
@@ -52565,6 +52585,7 @@ var Window = import_react222.default.memo(UnMemoizedWindow);
52565
52585
  Message,
52566
52586
  MessageActions,
52567
52587
  MessageActionsBox,
52588
+ MessageActionsWrapper,
52568
52589
  MessageBounceProvider,
52569
52590
  MessageContext,
52570
52591
  MessageDeleted,