stream-chat-react 11.1.1 → 11.1.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.
@@ -21,6 +21,7 @@ export class ReactTextareaAutocomplete extends React.Component<any, any, any> {
21
21
  currentTrigger: null;
22
22
  data: null;
23
23
  dataLoading: boolean;
24
+ isComposing: boolean;
24
25
  left: null;
25
26
  selectionEnd: number;
26
27
  selectionStart: number;
@@ -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,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
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.jsx"],"names":[],"mappings":"AAmBA;IACE;;;;;;;MAOE;IA8WF;;OAEG;IACH;;;aAMC;IArXD,wBA6BC;IAbC;;;;;;;;;;;;MAYC;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,oDA6CC;IAED,sBA6EC;IATS,oDAAsB;CAUjC"}
@@ -502,6 +502,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
502
502
  currentTrigger: null,
503
503
  data: null,
504
504
  dataLoading: false,
505
+ isComposing: false,
505
506
  left: null,
506
507
  selectionEnd: 0,
507
508
  selectionStart: 0,
@@ -523,14 +524,15 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
523
524
  };
524
525
  ReactTextareaAutocomplete.prototype.renderSuggestionListContainer = function () {
525
526
  var _a = this.props, disableMentions = _a.disableMentions, dropdownClassName = _a.dropdownClassName, dropdownStyle = _a.dropdownStyle, itemClassName = _a.itemClassName, itemStyle = _a.itemStyle, listClassName = _a.listClassName, SuggestionItem = _a.SuggestionItem, _b = _a.SuggestionList, SuggestionList = _b === void 0 ? DefaultSuggestionList : _b;
527
+ var isComposing = this.state.isComposing;
526
528
  var triggerProps = this.getTriggerProps();
527
- if (triggerProps.values &&
528
- triggerProps.currentTrigger &&
529
- !(disableMentions && triggerProps.currentTrigger === '@')) {
530
- return (React.createElement("div", { className: clsx('rta__autocomplete', 'str-chat__suggestion-list-container', dropdownClassName), ref: this.setDropdownRef, style: dropdownStyle },
531
- React.createElement(SuggestionList, __assign({ className: clsx('str-chat__suggestion-list', listClassName), dropdownScroll: this._dropdownScroll, itemClassName: clsx('str-chat__suggestion-list-item', itemClassName), itemStyle: itemStyle, onSelect: this._onSelect, SuggestionItem: SuggestionItem }, triggerProps))));
532
- }
533
- return null;
529
+ if (isComposing ||
530
+ !triggerProps.values ||
531
+ !triggerProps.currentTrigger ||
532
+ (disableMentions && triggerProps.currentTrigger === '@'))
533
+ return null;
534
+ return (React.createElement("div", { className: clsx('rta__autocomplete', 'str-chat__suggestion-list-container', dropdownClassName), ref: this.setDropdownRef, style: dropdownStyle },
535
+ React.createElement(SuggestionList, __assign({ className: clsx('str-chat__suggestion-list', listClassName), dropdownScroll: this._dropdownScroll, itemClassName: clsx('str-chat__suggestion-list-item', itemClassName), itemStyle: itemStyle, onSelect: this._onSelect, SuggestionItem: SuggestionItem }, triggerProps))));
534
536
  };
535
537
  ReactTextareaAutocomplete.prototype.render = function () {
536
538
  var _this = this;
@@ -556,7 +558,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
556
558
  }, onClick: function (e) {
557
559
  _this._onClickAndBlurHandler(e);
558
560
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
559
- }, onFocus: function (e) {
561
+ }, onCompositionEnd: function () { return _this.setState(function (pv) { return (__assign(__assign({}, pv), { isComposing: false })); }); }, onCompositionStart: function () { return _this.setState(function (pv) { return (__assign(__assign({}, pv), { isComposing: true })); }); }, onFocus: function (e) {
560
562
  var _a, _b;
561
563
  (_b = (_a = _this.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, e);
562
564
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
@@ -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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"}
@@ -91,9 +91,9 @@ var ChannelInner = function (props) {
91
91
  var markReadThrottled = throttle(markRead, 500, { leading: true, trailing: true });
92
92
  var handleEvent = function (event) { return __awaiter(void 0, void 0, void 0, function () {
93
93
  var mainChannelUpdated, unread, messageDate, cid, oldestID;
94
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
95
- return __generator(this, function (_m) {
96
- switch (_m.label) {
94
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
95
+ return __generator(this, function (_k) {
96
+ switch (_k.label) {
97
97
  case 0:
98
98
  if (event.message) {
99
99
  dispatch({
@@ -115,7 +115,7 @@ var ChannelInner = function (props) {
115
115
  if (((_a = event.message) === null || _a === void 0 ? void 0 : _a.parent_id) && !((_b = event.message) === null || _b === void 0 ? void 0 : _b.show_in_channel)) {
116
116
  mainChannelUpdated = false;
117
117
  }
118
- if (mainChannelUpdated && ((_d = (_c = event.message) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.id) !== client.userID) {
118
+ if (mainChannelUpdated) {
119
119
  if (!document.hidden) {
120
120
  markReadThrottled();
121
121
  }
@@ -129,9 +129,9 @@ var ChannelInner = function (props) {
129
129
  }
130
130
  }
131
131
  }
132
- if (((_f = (_e = event.message) === null || _e === void 0 ? void 0 : _e.user) === null || _f === void 0 ? void 0 : _f.id) === client.userID &&
133
- ((_g = event === null || event === void 0 ? void 0 : event.message) === null || _g === void 0 ? void 0 : _g.created_at) &&
134
- ((_h = event === null || event === void 0 ? void 0 : event.message) === null || _h === void 0 ? void 0 : _h.cid)) {
132
+ if (((_d = (_c = event.message) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.id) === client.userID &&
133
+ ((_e = event === null || event === void 0 ? void 0 : event.message) === null || _e === void 0 ? void 0 : _e.created_at) &&
134
+ ((_f = event === null || event === void 0 ? void 0 : event.message) === null || _f === void 0 ? void 0 : _f.cid)) {
135
135
  messageDate = new Date(event.message.created_at);
136
136
  cid = event.message.cid;
137
137
  if (!latestMessageDatesByChannels[cid] ||
@@ -141,7 +141,7 @@ var ChannelInner = function (props) {
141
141
  }
142
142
  }
143
143
  if (!(event.type === 'user.deleted')) return [3 /*break*/, 2];
144
- oldestID = (_l = (_k = (_j = channel.state) === null || _j === void 0 ? void 0 : _j.messages) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.id;
144
+ oldestID = (_j = (_h = (_g = channel.state) === null || _g === void 0 ? void 0 : _g.messages) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.id;
145
145
  /**
146
146
  * As the channel state is not normalized we re-fetch the channel data. Thus, we avoid having to search for user references in the channel state.
147
147
  */
@@ -155,8 +155,8 @@ var ChannelInner = function (props) {
155
155
  * As the channel state is not normalized we re-fetch the channel data. Thus, we avoid having to search for user references in the channel state.
156
156
  */
157
157
  // FIXME: we should use channelQueryOptions if they are available
158
- _m.sent();
159
- _m.label = 2;
158
+ _k.sent();
159
+ _k.label = 2;
160
160
  case 2:
161
161
  throttledCopyStateFromChannel();
162
162
  return [2 /*return*/];
@@ -218,6 +218,13 @@ var ChannelInner = function (props) {
218
218
  hasMore: hasMoreMessagesProbably(channel.state.messages.length, (_e = (_d = channelQueryOptions === null || channelQueryOptions === void 0 ? void 0 : channelQueryOptions.messages) === null || _d === void 0 ? void 0 : _d.limit) !== null && _e !== void 0 ? _e : DEFAULT_INITIAL_CHANNEL_PAGE_SIZE),
219
219
  type: 'initStateFromChannel',
220
220
  });
221
+ /**
222
+ * TODO: maybe pass last_read to the countUnread method to get proper value
223
+ * combined with channel.countUnread adjustment (_countMessageAsUnread)
224
+ * to allow counting own messages too
225
+ *
226
+ * const lastRead = channel.state.read[client.userID as string].last_read;
227
+ */
221
228
  if (channel.countUnread() > 0)
222
229
  markRead();
223
230
  // The more complex sync logic is done in Chat
@@ -1 +1 @@
1
- {"version":3,"file":"ModalGallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/ModalGallery.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,4CAA4C;IAC5C,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACzC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,iJA8BxB,CAAC"}
1
+ {"version":3,"file":"ModalGallery.d.ts","sourceRoot":"","sources":["../../../src/components/Gallery/ModalGallery.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,4CAA4C;IAC5C,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACzC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAYF,eAAO,MAAM,YAAY,iJA+BxB,CAAC"}
@@ -1,6 +1,16 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import ImageGallery from 'react-image-gallery';
3
+ import { BaseImage } from './BaseImage';
3
4
  import { useTranslationContext } from '../../context';
5
+ var onError = function (e) {
6
+ // Prevent having alt attribute on img as the img takes the height of the alt text
7
+ // instead of the CSS / element width & height when the CSS mask (fallback) is applied.
8
+ e.target.alt = '';
9
+ };
10
+ var renderItem = function (_a) {
11
+ var original = _a.original, originalAlt = _a.originalAlt;
12
+ return (React.createElement(BaseImage, { alt: originalAlt, className: 'image-gallery-image', onError: onError, src: original }));
13
+ };
4
14
  export var ModalGallery = function (props) {
5
15
  var images = props.images, index = props.index;
6
16
  var t = useTranslationContext('ModalGallery').t;
@@ -14,5 +24,5 @@ export var ModalGallery = function (props) {
14
24
  };
15
25
  });
16
26
  }, [images]);
17
- return (React.createElement(ImageGallery, { items: formattedArray, showIndex: true, showPlayButton: false, showThumbnails: false, startIndex: index }));
27
+ return (React.createElement(ImageGallery, { items: formattedArray, renderItem: renderItem, showIndex: true, showPlayButton: false, showThumbnails: false, startIndex: index }));
18
28
  };
@@ -3,5 +3,5 @@ export type CooldownTimerProps = {
3
3
  cooldownInterval: number;
4
4
  setCooldownRemaining: React.Dispatch<React.SetStateAction<number | undefined>>;
5
5
  };
6
- export declare const CooldownTimer: ({ cooldownInterval, setCooldownRemaining }: CooldownTimerProps) => JSX.Element;
6
+ export declare const CooldownTimer: ({ cooldownInterval }: CooldownTimerProps) => JSX.Element;
7
7
  //# sourceMappingURL=CooldownTimer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CooldownTimer.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/CooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CAChF,CAAC;AACF,eAAO,MAAM,aAAa,+CAAgD,kBAAkB,gBAoB3F,CAAC"}
1
+ {"version":3,"file":"CooldownTimer.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/CooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CAChF,CAAC;AACF,eAAO,MAAM,aAAa,yBAA0B,kBAAkB,gBAwBrE,CAAC"}
@@ -1,17 +1,20 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  export var CooldownTimer = function (_a) {
3
- var cooldownInterval = _a.cooldownInterval, setCooldownRemaining = _a.setCooldownRemaining;
4
- var _b = useState(cooldownInterval), seconds = _b[0], setSeconds = _b[1];
3
+ var cooldownInterval = _a.cooldownInterval;
4
+ var _b = useState(), seconds = _b[0], setSeconds = _b[1];
5
5
  useEffect(function () {
6
- var countdownInterval = setInterval(function () {
7
- if (seconds > 0) {
6
+ var countdownTimeout;
7
+ if (typeof seconds === 'number' && seconds > 0) {
8
+ countdownTimeout = setTimeout(function () {
8
9
  setSeconds(seconds - 1);
9
- }
10
- else {
11
- setCooldownRemaining(0);
12
- }
13
- }, 1000);
14
- return function () { return clearInterval(countdownInterval); };
15
- });
10
+ }, 1000);
11
+ }
12
+ return function () {
13
+ clearTimeout(countdownTimeout);
14
+ };
15
+ }, [seconds]);
16
+ useEffect(function () {
17
+ setSeconds(cooldownInterval !== null && cooldownInterval !== void 0 ? cooldownInterval : 0);
18
+ }, [cooldownInterval]);
16
19
  return (React.createElement("div", { className: 'str-chat__message-input-cooldown', "data-testid": 'cooldown-timer' }, seconds));
17
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAyCJ,CAAC"}
1
+ {"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAoDJ,CAAC"}
@@ -19,11 +19,20 @@ export var useCooldownTimer = function () {
19
19
  ? // prevent negative values
20
20
  Math.max(0, (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000)
21
21
  : undefined;
22
- setCooldownRemaining(!skipCooldown &&
22
+ var remaining = !skipCooldown &&
23
23
  typeof timeSinceOwnLastMessage !== 'undefined' &&
24
24
  cooldownInterval > timeSinceOwnLastMessage
25
25
  ? Math.round(cooldownInterval - timeSinceOwnLastMessage)
26
- : 0);
26
+ : 0;
27
+ setCooldownRemaining(remaining);
28
+ if (!remaining)
29
+ return;
30
+ var timeout = setTimeout(function () {
31
+ setCooldownRemaining(0);
32
+ }, remaining * 1000);
33
+ return function () {
34
+ clearTimeout(timeout);
35
+ };
27
36
  }, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
28
37
  return {
29
38
  cooldownInterval: cooldownInterval,