stream-chat-react 12.0.0 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Channel/Channel.d.ts +3 -103
- package/dist/components/ChannelList/ChannelList.js +3 -1
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +2 -3
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +1 -2
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +1 -2
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +1 -2
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +1 -2
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.js +1 -2
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +7 -2
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +1 -2
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +1 -2
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js +1 -2
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +1 -2
- package/dist/components/MessageList/MessageList.js +2 -2
- package/dist/components/MessageList/MessageListMainPanel.d.ts +1 -1
- package/dist/components/MessageList/MessageListMainPanel.js +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +2 -2
- package/dist/components/MessageList/VirtualizedMessageList.js +4 -3
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +2 -2
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js +2 -2
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +0 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +21 -17
- package/dist/context/ComponentContext.d.ts +50 -1
- package/dist/index.browser.cjs +66 -52
- package/dist/index.browser.cjs.map +3 -3
- package/dist/index.node.cjs +90 -76
- package/dist/index.node.cjs.map +3 -3
- package/package.json +1 -1
package/dist/index.node.cjs
CHANGED
|
@@ -10274,7 +10274,7 @@ var require_disallow_node = __commonJS({
|
|
|
10274
10274
|
var require_ast_to_react = __commonJS({
|
|
10275
10275
|
"node_modules/mml-react/node_modules/react-markdown/lib/ast-to-react.js"(exports2, module2) {
|
|
10276
10276
|
"use strict";
|
|
10277
|
-
var
|
|
10277
|
+
var React170 = require("react");
|
|
10278
10278
|
var xtend = require_immutable();
|
|
10279
10279
|
var ReactIs2 = require("react-is");
|
|
10280
10280
|
function astToReact(node2, options) {
|
|
@@ -10301,7 +10301,7 @@ var require_ast_to_react = __commonJS({
|
|
|
10301
10301
|
throw new Error("Renderer for type `".concat(node2.type, "` not defined or is not renderable"));
|
|
10302
10302
|
}
|
|
10303
10303
|
var nodeProps = getNodeProps(node2, key, options, renderer, parent, index3);
|
|
10304
|
-
return
|
|
10304
|
+
return React170.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || void 0);
|
|
10305
10305
|
function resolveChildren() {
|
|
10306
10306
|
return node2.children && node2.children.map(function(childNode, i) {
|
|
10307
10307
|
return astToReact(childNode, options, {
|
|
@@ -10315,7 +10315,7 @@ var require_ast_to_react = __commonJS({
|
|
|
10315
10315
|
var props = {
|
|
10316
10316
|
key
|
|
10317
10317
|
};
|
|
10318
|
-
var isSimpleRenderer = typeof renderer === "string" || renderer ===
|
|
10318
|
+
var isSimpleRenderer = typeof renderer === "string" || renderer === React170.Fragment;
|
|
10319
10319
|
if (opts.sourcePos && node2.position) {
|
|
10320
10320
|
props["data-sourcepos"] = flattenPosition2(node2.position);
|
|
10321
10321
|
}
|
|
@@ -10468,14 +10468,14 @@ var require_ast_to_react = __commonJS({
|
|
|
10468
10468
|
function mergeNodeChildren(node2, parsedChildren) {
|
|
10469
10469
|
var el = node2.element;
|
|
10470
10470
|
if (Array.isArray(el)) {
|
|
10471
|
-
var Fragment2 =
|
|
10472
|
-
return
|
|
10471
|
+
var Fragment2 = React170.Fragment || "div";
|
|
10472
|
+
return React170.createElement(Fragment2, null, el);
|
|
10473
10473
|
}
|
|
10474
10474
|
if (el.props.children || parsedChildren) {
|
|
10475
|
-
var children =
|
|
10476
|
-
return
|
|
10475
|
+
var children = React170.Children.toArray(el.props.children).concat(parsedChildren);
|
|
10476
|
+
return React170.cloneElement(el, null, children);
|
|
10477
10477
|
}
|
|
10478
|
-
return
|
|
10478
|
+
return React170.cloneElement(el, null);
|
|
10479
10479
|
}
|
|
10480
10480
|
function flattenPosition2(pos) {
|
|
10481
10481
|
return [pos.start.line, ":", pos.start.column, "-", pos.end.line, ":", pos.end.column].map(String).join("");
|
|
@@ -10599,9 +10599,9 @@ var require_renderers = __commonJS({
|
|
|
10599
10599
|
"node_modules/mml-react/node_modules/react-markdown/lib/renderers.js"(exports2, module2) {
|
|
10600
10600
|
"use strict";
|
|
10601
10601
|
var xtend = require_immutable();
|
|
10602
|
-
var
|
|
10603
|
-
var supportsStringRender = parseInt((
|
|
10604
|
-
var createElement =
|
|
10602
|
+
var React170 = require("react");
|
|
10603
|
+
var supportsStringRender = parseInt((React170.version || "16").slice(0, 2), 10) >= 16;
|
|
10604
|
+
var createElement = React170.createElement;
|
|
10605
10605
|
module2.exports = {
|
|
10606
10606
|
break: "br",
|
|
10607
10607
|
paragraph: "p",
|
|
@@ -10637,7 +10637,7 @@ var require_renderers = __commonJS({
|
|
|
10637
10637
|
}
|
|
10638
10638
|
function Root(props) {
|
|
10639
10639
|
var className = props.className;
|
|
10640
|
-
var root2 = !className &&
|
|
10640
|
+
var root2 = !className && React170.Fragment || "div";
|
|
10641
10641
|
return createElement(root2, className ? {
|
|
10642
10642
|
className
|
|
10643
10643
|
} : null, props.children);
|
|
@@ -10693,7 +10693,7 @@ var require_renderers = __commonJS({
|
|
|
10693
10693
|
var dangerous = props.allowDangerousHtml || props.escapeHtml === false;
|
|
10694
10694
|
var tag = props.isBlock ? "div" : "span";
|
|
10695
10695
|
if (!dangerous) {
|
|
10696
|
-
return createElement(
|
|
10696
|
+
return createElement(React170.Fragment || tag, null, props.value);
|
|
10697
10697
|
}
|
|
10698
10698
|
var nodeProps = {
|
|
10699
10699
|
dangerouslySetInnerHTML: {
|
|
@@ -10703,7 +10703,7 @@ var require_renderers = __commonJS({
|
|
|
10703
10703
|
return createElement(tag, nodeProps);
|
|
10704
10704
|
}
|
|
10705
10705
|
function ParsedHtml(props) {
|
|
10706
|
-
return props["data-sourcepos"] ?
|
|
10706
|
+
return props["data-sourcepos"] ? React170.cloneElement(props.element, {
|
|
10707
10707
|
"data-sourcepos": props["data-sourcepos"]
|
|
10708
10708
|
}) : props.element;
|
|
10709
10709
|
}
|
|
@@ -18555,8 +18555,8 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
18555
18555
|
function _interopDefault(ex) {
|
|
18556
18556
|
return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex;
|
|
18557
18557
|
}
|
|
18558
|
-
var
|
|
18559
|
-
var React__default = _interopDefault(
|
|
18558
|
+
var React170 = require("react");
|
|
18559
|
+
var React__default = _interopDefault(React170);
|
|
18560
18560
|
var parseXml = _interopDefault(require_src());
|
|
18561
18561
|
var dayjs = _interopDefault(require("dayjs"));
|
|
18562
18562
|
var sanitizeUrl4 = require("@braintree/sanitize-url");
|
|
@@ -19341,8 +19341,8 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19341
19341
|
className: "mml-carousel__track"
|
|
19342
19342
|
}, React__default.createElement("div", {
|
|
19343
19343
|
className: "mml-carousel__slides"
|
|
19344
|
-
},
|
|
19345
|
-
return
|
|
19344
|
+
}, React170.Children.map(children, function(child) {
|
|
19345
|
+
return React170.cloneElement(child, {
|
|
19346
19346
|
className: "mml-carousel__slide",
|
|
19347
19347
|
slideWidth
|
|
19348
19348
|
});
|
|
@@ -19386,7 +19386,7 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19386
19386
|
};
|
|
19387
19387
|
var Input = function Input2(_ref) {
|
|
19388
19388
|
var name = _ref.name, label = _ref.label, _ref$value = _ref.value, value = _ref$value === void 0 ? "" : _ref$value, _ref$type = _ref.type, type = _ref$type === void 0 ? "text" : _ref$type, _ref$placeholder = _ref.placeholder, placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder;
|
|
19389
|
-
var _useState =
|
|
19389
|
+
var _useState = React170.useState(value), state = _useState[0], setState = _useState[1];
|
|
19390
19390
|
var id = "mml-" + name;
|
|
19391
19391
|
return React__default.createElement(React__default.Fragment, null, label && React__default.createElement("label", {
|
|
19392
19392
|
className: "mml-card-header",
|
|
@@ -19516,7 +19516,7 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19516
19516
|
};
|
|
19517
19517
|
var Number2 = function Number3(_ref) {
|
|
19518
19518
|
var name = _ref.name, value = _ref.value;
|
|
19519
|
-
var _useState =
|
|
19519
|
+
var _useState = React170.useState(parseInt("" + value, 10) || 0), state = _useState[0], setState = _useState[1];
|
|
19520
19520
|
return React__default.createElement("div", {
|
|
19521
19521
|
className: "mml-number"
|
|
19522
19522
|
}, React__default.createElement("input", {
|
|
@@ -19553,7 +19553,7 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19553
19553
|
var VIRTUOSO_START_INDEX = 1e4;
|
|
19554
19554
|
var DatePickerSelect = function DatePickerSelect2(props) {
|
|
19555
19555
|
var onChange = props.onChange, icalFilter = props.icalFilter, getItemData2 = props.getItemData, itemClassName = props.itemClassName, interval = props.interval, format = props.format, value = props.value;
|
|
19556
|
-
var generateItems =
|
|
19556
|
+
var generateItems = React170.useCallback(function(quantity, firstIdx) {
|
|
19557
19557
|
return Array(quantity).fill(true).map(function(_, idx) {
|
|
19558
19558
|
return getItemData2({
|
|
19559
19559
|
interval,
|
|
@@ -19565,11 +19565,11 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19565
19565
|
return !icalFilter || icalFilter && icalFilter(newItem.value);
|
|
19566
19566
|
});
|
|
19567
19567
|
}, [interval, format, value, icalFilter, getItemData2]);
|
|
19568
|
-
var _useState =
|
|
19569
|
-
var _useState2 =
|
|
19570
|
-
var initialIndexOffset =
|
|
19571
|
-
var _useState3 =
|
|
19572
|
-
var handleClick =
|
|
19568
|
+
var _useState = React170.useState(generateItems(ITEMS_PER_PAGE * 2, -ITEMS_PER_PAGE)), items = _useState[0], setItems = _useState[1];
|
|
19569
|
+
var _useState2 = React170.useState(VIRTUOSO_START_INDEX), firstItemIndex = _useState2[0], setFirstItemIndex = _useState2[1];
|
|
19570
|
+
var initialIndexOffset = React170.useRef(INITIAL_INDEX);
|
|
19571
|
+
var _useState3 = React170.useState(null), selectedIdx = _useState3[0], setSelectedIdx = _useState3[1];
|
|
19572
|
+
var handleClick = React170.useCallback(function(item) {
|
|
19573
19573
|
onChange(item.value);
|
|
19574
19574
|
var firstItemIndex2 = initialIndexOffset.current || 0;
|
|
19575
19575
|
var nextFirstItemIdx = firstItemIndex2 - INITIAL_INDEX - ITEMS_PER_PAGE;
|
|
@@ -19583,12 +19583,12 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19583
19583
|
}
|
|
19584
19584
|
setSelectedIdx(item.idx);
|
|
19585
19585
|
}, [setItems, generateItems, initialIndexOffset, onChange]);
|
|
19586
|
-
var appendItems =
|
|
19586
|
+
var appendItems = React170.useCallback(function(lastItemIndex) {
|
|
19587
19587
|
setItems(function(items2) {
|
|
19588
19588
|
return [].concat(items2, generateItems(ITEMS_PER_PAGE, lastItemIndex));
|
|
19589
19589
|
});
|
|
19590
19590
|
}, [setItems, generateItems]);
|
|
19591
|
-
var prependItems =
|
|
19591
|
+
var prependItems = React170.useCallback(function() {
|
|
19592
19592
|
var firstItemIndex2 = initialIndexOffset.current || 0;
|
|
19593
19593
|
var nextFirstItemIdx = firstItemIndex2 - INITIAL_INDEX - ITEMS_PER_PAGE;
|
|
19594
19594
|
if (initialIndexOffset) {
|
|
@@ -19600,7 +19600,7 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19600
19600
|
setFirstItemIndex(firstItemIndex2 - ITEMS_PER_PAGE);
|
|
19601
19601
|
return false;
|
|
19602
19602
|
}, [setItems, generateItems, initialIndexOffset]);
|
|
19603
|
-
|
|
19603
|
+
React170.useEffect(function() {
|
|
19604
19604
|
if (value) {
|
|
19605
19605
|
var initialSelectedIdx = null;
|
|
19606
19606
|
for (var i = 0; i < items.length; i++) {
|
|
@@ -19670,7 +19670,7 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19670
19670
|
};
|
|
19671
19671
|
var DatePicker = function DatePicker2(_ref) {
|
|
19672
19672
|
var name = _ref.name, selected = _ref.selected, dateInterval = _ref.dateInterval, timeInterval = _ref.timeInterval, dateFormat = _ref.dateFormat, timeFormat = _ref.timeFormat, fullDay = _ref.fullDay, icalFilter = _ref.icalFilter;
|
|
19673
|
-
var _useState =
|
|
19673
|
+
var _useState = React170.useState(selected), date = _useState[0], setDate = _useState[1];
|
|
19674
19674
|
var handleChangeDate = function handleChangeDate2(value) {
|
|
19675
19675
|
setDate(function(prevDate) {
|
|
19676
19676
|
return prevDate.set("date", value.get("date")).set("month", value.get("month")).set("year", value.get("year"));
|
|
@@ -19750,14 +19750,14 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19750
19750
|
}();
|
|
19751
19751
|
var Scheduler = function Scheduler2(_ref2) {
|
|
19752
19752
|
var name = _ref2.name, selected = _ref2.selected, icalAvailability = _ref2.icalAvailability, _ref2$duration = _ref2.duration, duration = _ref2$duration === void 0 ? 30 : _ref2$duration, _ref2$dateInterval = _ref2.dateInterval, dateInterval = _ref2$dateInterval === void 0 ? 1 : _ref2$dateInterval, _ref2$timeInterval = _ref2.timeInterval, timeInterval = _ref2$timeInterval === void 0 ? 30 : _ref2$timeInterval, _ref2$dateFormat = _ref2.dateFormat, dateFormat = _ref2$dateFormat === void 0 ? "ddd MMM DD" : _ref2$dateFormat, _ref2$timeFormat = _ref2.timeFormat, timeFormat = _ref2$timeFormat === void 0 ? "hh:mm A" : _ref2$timeFormat, _ref2$fullDay = _ref2.fullDay, fullDay = _ref2$fullDay === void 0 ? false : _ref2$fullDay;
|
|
19753
|
-
var _useState =
|
|
19754
|
-
var _useState2 =
|
|
19755
|
-
var _useState3 =
|
|
19753
|
+
var _useState = React170.useState(false), loading = _useState[0], setLoading = _useState[1];
|
|
19754
|
+
var _useState2 = React170.useState(""), error = _useState2[0], setError = _useState2[1];
|
|
19755
|
+
var _useState3 = React170.useState(function() {
|
|
19756
19756
|
return function() {
|
|
19757
19757
|
return true;
|
|
19758
19758
|
};
|
|
19759
19759
|
}), icalFilter = _useState3[0], setIcalFilter = _useState3[1];
|
|
19760
|
-
|
|
19760
|
+
React170.useEffect(function() {
|
|
19761
19761
|
if (!icalAvailability) return;
|
|
19762
19762
|
setLoading(true);
|
|
19763
19763
|
setupIcalFilter(icalAvailability, duration).then(setIcalFilter)["catch"](function(err) {
|
|
@@ -19961,13 +19961,13 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19961
19961
|
}
|
|
19962
19962
|
var MML2 = function MML3(_ref) {
|
|
19963
19963
|
var source = _ref.source, onSubmit = _ref.onSubmit, converters2 = _ref.converters, _ref$theme = _ref.theme, theme = _ref$theme === void 0 ? "" : _ref$theme, _ref$className = _ref.className, className = _ref$className === void 0 ? "" : _ref$className, _ref$Loading = _ref.Loading, Loading$1 = _ref$Loading === void 0 ? Loading : _ref$Loading, _ref$Error = _ref.Error, Error2 = _ref$Error === void 0 ? Error$1 : _ref$Error, _ref$Success = _ref.Success, Success$1 = _ref$Success === void 0 ? Success : _ref$Success;
|
|
19964
|
-
var _useState =
|
|
19965
|
-
var _useState2 =
|
|
19964
|
+
var _useState = React170.useState(""), error = _useState[0], setError = _useState[1];
|
|
19965
|
+
var _useState2 = React170.useState({
|
|
19966
19966
|
loading: false,
|
|
19967
19967
|
error: "",
|
|
19968
19968
|
success: ""
|
|
19969
19969
|
}), submitState = _useState2[0], setSubmitState = _useState2[1];
|
|
19970
|
-
var tree =
|
|
19970
|
+
var tree = React170.useMemo(function() {
|
|
19971
19971
|
try {
|
|
19972
19972
|
return Parse(source, converters2);
|
|
19973
19973
|
} catch (e2) {
|
|
@@ -19976,7 +19976,7 @@ var require_mml_react_cjs_development = __commonJS({
|
|
|
19976
19976
|
return null;
|
|
19977
19977
|
}
|
|
19978
19978
|
}, [source, converters2]);
|
|
19979
|
-
var handleSubmit =
|
|
19979
|
+
var handleSubmit = React170.useCallback(/* @__PURE__ */ function() {
|
|
19980
19980
|
var _ref2 = _asyncToGenerator(/* @__PURE__ */ runtime_1.mark(function _callee(event) {
|
|
19981
19981
|
var state;
|
|
19982
19982
|
return runtime_1.wrap(function _callee$(_context) {
|
|
@@ -47994,7 +47994,7 @@ var import_react161 = require("react");
|
|
|
47994
47994
|
|
|
47995
47995
|
// src/components/MessageList/MessageListMainPanel.tsx
|
|
47996
47996
|
var import_react159 = __toESM(require("react"));
|
|
47997
|
-
var MESSAGE_LIST_MAIN_PANEL_CLASS = "str-chat__main-panel-inner";
|
|
47997
|
+
var MESSAGE_LIST_MAIN_PANEL_CLASS = "str-chat__main-panel-inner str-chat__message-list-main-panel";
|
|
47998
47998
|
var MessageListMainPanel = ({ children }) => /* @__PURE__ */ import_react159.default.createElement("div", { className: MESSAGE_LIST_MAIN_PANEL_CLASS }, children);
|
|
47999
47999
|
|
|
48000
48000
|
// src/components/MessageList/UnreadMessagesSeparator.tsx
|
|
@@ -48032,9 +48032,9 @@ var useUnreadMessagesNotification = ({
|
|
|
48032
48032
|
setShow(false);
|
|
48033
48033
|
return;
|
|
48034
48034
|
}
|
|
48035
|
-
const msgListPanel = document.
|
|
48035
|
+
const [msgListPanel] = document.getElementsByClassName(MESSAGE_LIST_MAIN_PANEL_CLASS);
|
|
48036
48036
|
if (!msgListPanel) return;
|
|
48037
|
-
const observedTarget = document.
|
|
48037
|
+
const [observedTarget] = document.getElementsByClassName(UNREAD_MESSAGE_SEPARATOR_CLASS);
|
|
48038
48038
|
if (!observedTarget) {
|
|
48039
48039
|
setShow(true);
|
|
48040
48040
|
return;
|
|
@@ -48720,7 +48720,8 @@ var MessageListWithContext = (props) => {
|
|
|
48720
48720
|
MessageListNotifications: MessageListNotifications2 = MessageListNotifications,
|
|
48721
48721
|
MessageNotification: MessageNotification2 = MessageNotification,
|
|
48722
48722
|
TypingIndicator: TypingIndicator2 = TypingIndicator,
|
|
48723
|
-
UnreadMessagesNotification: UnreadMessagesNotification2 = UnreadMessagesNotification
|
|
48723
|
+
UnreadMessagesNotification: UnreadMessagesNotification2 = UnreadMessagesNotification,
|
|
48724
|
+
MessageListMainPanel: MessageListMainPanel2 = MessageListMainPanel
|
|
48724
48725
|
} = useComponentContext("MessageList");
|
|
48725
48726
|
const {
|
|
48726
48727
|
hasNewMessages,
|
|
@@ -48824,7 +48825,7 @@ var MessageListWithContext = (props) => {
|
|
|
48824
48825
|
}
|
|
48825
48826
|
}, [highlightedMessageId]);
|
|
48826
48827
|
const showEmptyStateIndicator = elements.length === 0 && !threadList;
|
|
48827
|
-
return /* @__PURE__ */ import_react175.default.createElement(MessageListContextProvider, { value: { listElement, scrollToBottom } }, /* @__PURE__ */ import_react175.default.createElement(
|
|
48828
|
+
return /* @__PURE__ */ import_react175.default.createElement(MessageListContextProvider, { value: { listElement, scrollToBottom } }, /* @__PURE__ */ import_react175.default.createElement(MessageListMainPanel2, null, /* @__PURE__ */ import_react175.default.createElement(DialogManagerProvider, { id: "message-list-dialog-manager" }, !threadList && showUnreadMessagesNotification && /* @__PURE__ */ import_react175.default.createElement(UnreadMessagesNotification2, { unreadCount: channelUnreadUiState?.unread_messages }), /* @__PURE__ */ import_react175.default.createElement(
|
|
48828
48829
|
"div",
|
|
48829
48830
|
{
|
|
48830
48831
|
className: (0, import_clsx38.default)(messageListClass, customClasses?.threadList),
|
|
@@ -49102,39 +49103,39 @@ var useMessageSetKey = ({
|
|
|
49102
49103
|
};
|
|
49103
49104
|
|
|
49104
49105
|
// src/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.ts
|
|
49105
|
-
var import_react182 =
|
|
49106
|
+
var import_react182 = require("react");
|
|
49106
49107
|
var useScrollToBottomOnNewMessage = ({
|
|
49107
49108
|
messages,
|
|
49108
49109
|
scrollToBottom,
|
|
49109
49110
|
scrollToLatestMessageOnFocus
|
|
49110
49111
|
}) => {
|
|
49111
|
-
const [newMessagesReceivedInBackground, setNewMessagesReceivedInBackground] = import_react182.
|
|
49112
|
-
|
|
49113
|
-
)
|
|
49114
|
-
|
|
49115
|
-
|
|
49116
|
-
|
|
49112
|
+
const [newMessagesReceivedInBackground, setNewMessagesReceivedInBackground] = (0, import_react182.useState)(false);
|
|
49113
|
+
const scrollToBottomIfConfigured = (0, import_react182.useRef)();
|
|
49114
|
+
scrollToBottomIfConfigured.current = (event) => {
|
|
49115
|
+
if (!scrollToLatestMessageOnFocus || !newMessagesReceivedInBackground || event.target !== window) {
|
|
49116
|
+
return;
|
|
49117
|
+
}
|
|
49118
|
+
setTimeout(scrollToBottom, 100);
|
|
49119
|
+
};
|
|
49117
49120
|
(0, import_react182.useEffect)(() => {
|
|
49118
49121
|
setNewMessagesReceivedInBackground(true);
|
|
49119
49122
|
}, [messages]);
|
|
49120
|
-
const scrollToBottomIfConfigured = (0, import_react182.useCallback)(
|
|
49121
|
-
(event) => {
|
|
49122
|
-
if (!scrollToLatestMessageOnFocus || !newMessagesReceivedInBackground || event.target !== window)
|
|
49123
|
-
return;
|
|
49124
|
-
setTimeout(scrollToBottom, 100);
|
|
49125
|
-
},
|
|
49126
|
-
[scrollToLatestMessageOnFocus, scrollToBottom, newMessagesReceivedInBackground]
|
|
49127
|
-
);
|
|
49128
49123
|
(0, import_react182.useEffect)(() => {
|
|
49124
|
+
const handleFocus = (event) => {
|
|
49125
|
+
scrollToBottomIfConfigured.current?.(event);
|
|
49126
|
+
};
|
|
49127
|
+
const handleBlur = () => {
|
|
49128
|
+
setNewMessagesReceivedInBackground(false);
|
|
49129
|
+
};
|
|
49129
49130
|
if (typeof window !== "undefined") {
|
|
49130
|
-
window.addEventListener("focus",
|
|
49131
|
-
window.addEventListener("blur",
|
|
49131
|
+
window.addEventListener("focus", handleFocus);
|
|
49132
|
+
window.addEventListener("blur", handleBlur);
|
|
49132
49133
|
}
|
|
49133
49134
|
return () => {
|
|
49134
|
-
window.removeEventListener("focus",
|
|
49135
|
-
window.removeEventListener("blur",
|
|
49135
|
+
window.removeEventListener("focus", handleFocus);
|
|
49136
|
+
window.removeEventListener("blur", handleBlur);
|
|
49136
49137
|
};
|
|
49137
|
-
}, [
|
|
49138
|
+
}, []);
|
|
49138
49139
|
};
|
|
49139
49140
|
|
|
49140
49141
|
// src/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.ts
|
|
@@ -49235,6 +49236,7 @@ var messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
|
|
|
49235
49236
|
messageGroupStyles,
|
|
49236
49237
|
MessageSystem,
|
|
49237
49238
|
numItemsPrepended,
|
|
49239
|
+
openThread,
|
|
49238
49240
|
ownMessagesReadByOthers,
|
|
49239
49241
|
processedMessages: messageList,
|
|
49240
49242
|
reactionDetailsSort,
|
|
@@ -49287,6 +49289,7 @@ var messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
|
|
|
49287
49289
|
message,
|
|
49288
49290
|
Message: MessageUIComponent,
|
|
49289
49291
|
messageActions,
|
|
49292
|
+
openThread,
|
|
49290
49293
|
reactionDetailsSort,
|
|
49291
49294
|
readBy: ownMessagesReadByOthers[message.id] || [],
|
|
49292
49295
|
sortReactionDetails,
|
|
@@ -49353,6 +49356,7 @@ var VirtualizedMessageListWithContext = (props) => {
|
|
|
49353
49356
|
messageLimit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE,
|
|
49354
49357
|
messages,
|
|
49355
49358
|
notifications,
|
|
49359
|
+
openThread,
|
|
49356
49360
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
49357
49361
|
overscan = 0,
|
|
49358
49362
|
read,
|
|
@@ -49381,6 +49385,7 @@ var VirtualizedMessageListWithContext = (props) => {
|
|
|
49381
49385
|
MessageListNotifications: MessageListNotifications2 = MessageListNotifications,
|
|
49382
49386
|
MessageNotification: MessageNotification2 = MessageNotification,
|
|
49383
49387
|
MessageSystem = EventComponent,
|
|
49388
|
+
MessageListMainPanel: MessageListMainPanel2 = MessageListMainPanel,
|
|
49384
49389
|
UnreadMessagesNotification: UnreadMessagesNotification2 = UnreadMessagesNotification,
|
|
49385
49390
|
UnreadMessagesSeparator: UnreadMessagesSeparator2 = UnreadMessagesSeparator,
|
|
49386
49391
|
VirtualMessage: MessageUIComponentFromContext = MessageSimple,
|
|
@@ -49533,7 +49538,7 @@ var VirtualizedMessageListWithContext = (props) => {
|
|
|
49533
49538
|
};
|
|
49534
49539
|
}, [highlightedMessageId, processedMessages]);
|
|
49535
49540
|
if (!processedMessages) return null;
|
|
49536
|
-
return /* @__PURE__ */ import_react185.default.createElement(import_react185.default.Fragment, null, /* @__PURE__ */ import_react185.default.createElement(
|
|
49541
|
+
return /* @__PURE__ */ import_react185.default.createElement(import_react185.default.Fragment, null, /* @__PURE__ */ import_react185.default.createElement(MessageListMainPanel2, null, /* @__PURE__ */ import_react185.default.createElement(DialogManagerProvider, { id: "virtualized-message-list-dialog-manager" }, !threadList && showUnreadMessagesNotification && /* @__PURE__ */ import_react185.default.createElement(UnreadMessagesNotification2, { unreadCount: channelUnreadUiState?.unread_messages }), /* @__PURE__ */ import_react185.default.createElement("div", { className: customClasses?.virtualizedMessageList || "str-chat__virtual-list" }, /* @__PURE__ */ import_react185.default.createElement(
|
|
49537
49542
|
import_react_virtuoso2.Virtuoso,
|
|
49538
49543
|
{
|
|
49539
49544
|
atBottomStateChange,
|
|
@@ -49567,6 +49572,7 @@ var VirtualizedMessageListWithContext = (props) => {
|
|
|
49567
49572
|
messageGroupStyles,
|
|
49568
49573
|
MessageSystem,
|
|
49569
49574
|
numItemsPrepended,
|
|
49575
|
+
openThread,
|
|
49570
49576
|
ownMessagesReadByOthers,
|
|
49571
49577
|
processedMessages,
|
|
49572
49578
|
reactionDetailsSort,
|
|
@@ -50757,7 +50763,7 @@ var useChannelDeletedListener = (setChannels, customHandler) => {
|
|
|
50757
50763
|
return () => {
|
|
50758
50764
|
client.off("channel.deleted", handleEvent);
|
|
50759
50765
|
};
|
|
50760
|
-
}, [customHandler]);
|
|
50766
|
+
}, [client, customHandler, setChannels]);
|
|
50761
50767
|
};
|
|
50762
50768
|
|
|
50763
50769
|
// src/components/ChannelList/hooks/useChannelHiddenListener.ts
|
|
@@ -50781,7 +50787,7 @@ var useChannelHiddenListener = (setChannels, customHandler) => {
|
|
|
50781
50787
|
return () => {
|
|
50782
50788
|
client.off("channel.hidden", handleEvent);
|
|
50783
50789
|
};
|
|
50784
|
-
}, [customHandler]);
|
|
50790
|
+
}, [client, customHandler, setChannels]);
|
|
50785
50791
|
};
|
|
50786
50792
|
|
|
50787
50793
|
// src/components/ChannelList/hooks/useChannelTruncatedListener.ts
|
|
@@ -50802,7 +50808,7 @@ var useChannelTruncatedListener = (setChannels, customHandler, forceUpdate) => {
|
|
|
50802
50808
|
return () => {
|
|
50803
50809
|
client.off("channel.truncated", handleEvent);
|
|
50804
50810
|
};
|
|
50805
|
-
}, [customHandler]);
|
|
50811
|
+
}, [client, customHandler, forceUpdate, setChannels]);
|
|
50806
50812
|
};
|
|
50807
50813
|
|
|
50808
50814
|
// src/components/ChannelList/hooks/useChannelUpdatedListener.ts
|
|
@@ -50835,7 +50841,7 @@ var useChannelUpdatedListener = (setChannels, customHandler, forceUpdate) => {
|
|
|
50835
50841
|
return () => {
|
|
50836
50842
|
client.off("channel.updated", handleEvent);
|
|
50837
50843
|
};
|
|
50838
|
-
}, [customHandler]);
|
|
50844
|
+
}, [client, customHandler, forceUpdate, setChannels]);
|
|
50839
50845
|
};
|
|
50840
50846
|
|
|
50841
50847
|
// src/components/ChannelList/hooks/useChannelVisibleListener.ts
|
|
@@ -50860,7 +50866,7 @@ var useChannelVisibleListener = (setChannels, customHandler) => {
|
|
|
50860
50866
|
return () => {
|
|
50861
50867
|
client.off("channel.visible", handleEvent);
|
|
50862
50868
|
};
|
|
50863
|
-
}, [customHandler]);
|
|
50869
|
+
}, [client, customHandler, setChannels]);
|
|
50864
50870
|
};
|
|
50865
50871
|
|
|
50866
50872
|
// src/components/ChannelList/hooks/useConnectionRecoveredListener.ts
|
|
@@ -50877,7 +50883,7 @@ var useConnectionRecoveredListener = (forceUpdate) => {
|
|
|
50877
50883
|
return () => {
|
|
50878
50884
|
client.off("connection.recovered", handleEvent);
|
|
50879
50885
|
};
|
|
50880
|
-
}, []);
|
|
50886
|
+
}, [client, forceUpdate]);
|
|
50881
50887
|
};
|
|
50882
50888
|
|
|
50883
50889
|
// src/components/ChannelList/hooks/useMessageNewListener.ts
|
|
@@ -50921,7 +50927,13 @@ var useMessageNewListener = (setChannels, customHandler, lockChannelOrder = fals
|
|
|
50921
50927
|
return () => {
|
|
50922
50928
|
client.off("message.new", handleEvent);
|
|
50923
50929
|
};
|
|
50924
|
-
}, [
|
|
50930
|
+
}, [
|
|
50931
|
+
allowNewMessagesFromUnfilteredChannels,
|
|
50932
|
+
client,
|
|
50933
|
+
customHandler,
|
|
50934
|
+
lockChannelOrder,
|
|
50935
|
+
setChannels
|
|
50936
|
+
]);
|
|
50925
50937
|
};
|
|
50926
50938
|
|
|
50927
50939
|
// src/components/ChannelList/hooks/useMobileNavigation.ts
|
|
@@ -50969,7 +50981,7 @@ var useNotificationAddedToChannelListener = (setChannels, customHandler, allowNe
|
|
|
50969
50981
|
return () => {
|
|
50970
50982
|
client.off("notification.added_to_channel", handleEvent);
|
|
50971
50983
|
};
|
|
50972
|
-
}, [customHandler]);
|
|
50984
|
+
}, [allowNewMessagesFromUnfilteredChannels, client, customHandler, setChannels]);
|
|
50973
50985
|
};
|
|
50974
50986
|
|
|
50975
50987
|
// src/components/ChannelList/hooks/useNotificationMessageNewListener.ts
|
|
@@ -50994,7 +51006,7 @@ var useNotificationMessageNewListener = (setChannels, customHandler, allowNewMes
|
|
|
50994
51006
|
return () => {
|
|
50995
51007
|
client.off("notification.message_new", handleEvent);
|
|
50996
51008
|
};
|
|
50997
|
-
}, [customHandler]);
|
|
51009
|
+
}, [allowNewMessagesFromUnfilteredChannels, client, customHandler, setChannels]);
|
|
50998
51010
|
};
|
|
50999
51011
|
|
|
51000
51012
|
// src/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.ts
|
|
@@ -51015,7 +51027,7 @@ var useNotificationRemovedFromChannelListener = (setChannels, customHandler) =>
|
|
|
51015
51027
|
return () => {
|
|
51016
51028
|
client.off("notification.removed_from_channel", handleEvent);
|
|
51017
51029
|
};
|
|
51018
|
-
}, [customHandler]);
|
|
51030
|
+
}, [client, customHandler, setChannels]);
|
|
51019
51031
|
};
|
|
51020
51032
|
|
|
51021
51033
|
// src/components/ChannelList/hooks/usePaginatedChannels.ts
|
|
@@ -51122,7 +51134,7 @@ var useUserPresenceChangedListener = (setChannels) => {
|
|
|
51122
51134
|
return () => {
|
|
51123
51135
|
client.off("user.presence.changed", handleEvent);
|
|
51124
51136
|
};
|
|
51125
|
-
}, []);
|
|
51137
|
+
}, [client, setChannels]);
|
|
51126
51138
|
};
|
|
51127
51139
|
|
|
51128
51140
|
// src/components/ChannelSearch/ChannelSearch.tsx
|
|
@@ -51889,7 +51901,9 @@ var UnMemoizedChannelList = (props) => {
|
|
|
51889
51901
|
setActiveChannel(channels2[0], watchers);
|
|
51890
51902
|
}
|
|
51891
51903
|
};
|
|
51892
|
-
const forceUpdate = () => setChannelUpdateCount((count) => count + 1)
|
|
51904
|
+
const forceUpdate = (0, import_react211.useCallback)(() => setChannelUpdateCount((count) => count + 1), [
|
|
51905
|
+
setChannelUpdateCount
|
|
51906
|
+
]);
|
|
51893
51907
|
const onSearch = (0, import_react211.useCallback)((event) => {
|
|
51894
51908
|
if (!event.target.value) {
|
|
51895
51909
|
setSearchActive(false);
|