stream-chat-react 10.7.0 → 10.7.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.
- package/dist/browser.full-bundle.js +213 -294
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +5 -5
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/index.cjs.js +125 -253
- package/dist/index.cjs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -5
package/dist/index.cjs.js
CHANGED
|
@@ -1951,16 +1951,14 @@ var getAttachmentType = function (attachment) {
|
|
|
1951
1951
|
|
|
1952
1952
|
var Item = /*#__PURE__*/React__default["default"].forwardRef(function Item(props, innerRef) {
|
|
1953
1953
|
var className = props.className,
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1954
|
+
Component = props.component,
|
|
1955
|
+
item = props.item,
|
|
1956
|
+
onClickHandler = props.onClickHandler,
|
|
1957
|
+
onSelectHandler = props.onSelectHandler,
|
|
1958
|
+
selected = props.selected,
|
|
1959
|
+
style = props.style;
|
|
1961
1960
|
var _useChatContext = useChatContext('SuggestionItem'),
|
|
1962
|
-
|
|
1963
|
-
|
|
1961
|
+
themeVersion = _useChatContext.themeVersion;
|
|
1964
1962
|
var selectItem = React.useCallback(function () {
|
|
1965
1963
|
return onSelectHandler(item);
|
|
1966
1964
|
}, [item, onClickHandler]);
|
|
@@ -4894,12 +4892,12 @@ var extend = function extend() {
|
|
|
4894
4892
|
};
|
|
4895
4893
|
|
|
4896
4894
|
function isPlainObject(value) {
|
|
4897
|
-
if (
|
|
4895
|
+
if (typeof value !== 'object' || value === null) {
|
|
4898
4896
|
return false;
|
|
4899
4897
|
}
|
|
4900
4898
|
|
|
4901
4899
|
const prototype = Object.getPrototypeOf(value);
|
|
4902
|
-
return prototype === null || prototype === Object.prototype;
|
|
4900
|
+
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
|
|
4903
4901
|
}
|
|
4904
4902
|
|
|
4905
4903
|
/**
|
|
@@ -23959,73 +23957,59 @@ var DefaultSuggestionListHeader = function (props) {
|
|
|
23959
23957
|
};
|
|
23960
23958
|
|
|
23961
23959
|
function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23962
|
-
|
|
23963
23960
|
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23964
23961
|
var List = function List(_ref) {
|
|
23965
23962
|
var className = _ref.className,
|
|
23966
|
-
|
|
23967
|
-
|
|
23968
|
-
|
|
23969
|
-
|
|
23970
|
-
|
|
23971
|
-
|
|
23972
|
-
|
|
23973
|
-
|
|
23974
|
-
|
|
23975
|
-
|
|
23976
|
-
|
|
23977
|
-
|
|
23978
|
-
|
|
23979
|
-
|
|
23980
|
-
|
|
23963
|
+
component = _ref.component,
|
|
23964
|
+
currentTrigger = _ref.currentTrigger,
|
|
23965
|
+
dropdownScroll = _ref.dropdownScroll,
|
|
23966
|
+
getSelectedItem = _ref.getSelectedItem,
|
|
23967
|
+
getTextToReplace = _ref.getTextToReplace,
|
|
23968
|
+
PropHeader = _ref.Header,
|
|
23969
|
+
itemClassName = _ref.itemClassName,
|
|
23970
|
+
itemStyle = _ref.itemStyle,
|
|
23971
|
+
onSelect = _ref.onSelect,
|
|
23972
|
+
selectionEnd = _ref.selectionEnd,
|
|
23973
|
+
style = _ref.style,
|
|
23974
|
+
PropSuggestionItem = _ref.SuggestionItem,
|
|
23975
|
+
propValue = _ref.value,
|
|
23976
|
+
values = _ref.values;
|
|
23981
23977
|
var _useComponentContext = useComponentContext('SuggestionList'),
|
|
23982
|
-
|
|
23983
|
-
|
|
23984
|
-
|
|
23978
|
+
AutocompleteSuggestionHeader = _useComponentContext.AutocompleteSuggestionHeader,
|
|
23979
|
+
AutocompleteSuggestionItem = _useComponentContext.AutocompleteSuggestionItem;
|
|
23985
23980
|
var _useChatContext = useChatContext('SuggestionList'),
|
|
23986
|
-
|
|
23987
|
-
|
|
23981
|
+
themeVersion = _useChatContext.themeVersion;
|
|
23988
23982
|
var SuggestionItem = PropSuggestionItem || AutocompleteSuggestionItem || Item;
|
|
23989
23983
|
var SuggestionHeader = PropHeader || AutocompleteSuggestionHeader || DefaultSuggestionListHeader;
|
|
23990
|
-
|
|
23991
23984
|
var _useState = React.useState(undefined),
|
|
23992
|
-
|
|
23993
|
-
|
|
23994
|
-
|
|
23995
|
-
|
|
23985
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
23986
|
+
selectedItem = _useState2[0],
|
|
23987
|
+
setSelectedItem = _useState2[1];
|
|
23996
23988
|
var itemsRef = [];
|
|
23997
|
-
|
|
23998
23989
|
var isSelected = function isSelected(item) {
|
|
23999
23990
|
return selectedItem === values.findIndex(function (value) {
|
|
24000
23991
|
return getId(value) === getId(item);
|
|
24001
23992
|
});
|
|
24002
23993
|
};
|
|
24003
|
-
|
|
24004
23994
|
var getId = function getId(item) {
|
|
24005
23995
|
var textToReplace = getTextToReplace(item);
|
|
24006
|
-
|
|
24007
23996
|
if (textToReplace.key) {
|
|
24008
23997
|
return textToReplace.key;
|
|
24009
23998
|
}
|
|
24010
|
-
|
|
24011
23999
|
if (typeof item === 'string' || !item.key) {
|
|
24012
24000
|
return textToReplace.text;
|
|
24013
24001
|
}
|
|
24014
|
-
|
|
24015
24002
|
return item.key;
|
|
24016
24003
|
};
|
|
24017
|
-
|
|
24018
24004
|
var modifyText = function modifyText(value) {
|
|
24019
24005
|
if (!value) return;
|
|
24020
24006
|
onSelect(getTextToReplace(value));
|
|
24021
24007
|
if (getSelectedItem) getSelectedItem(value);
|
|
24022
24008
|
};
|
|
24023
|
-
|
|
24024
24009
|
var handleClick = function handleClick(e) {
|
|
24025
24010
|
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
24026
24011
|
modifyText(values[selectedItem]);
|
|
24027
24012
|
};
|
|
24028
|
-
|
|
24029
24013
|
var selectItem = React.useCallback(function (item) {
|
|
24030
24014
|
var index = values.findIndex(function (value) {
|
|
24031
24015
|
return value.id ? value.id === item.id : value.name === item.name;
|
|
@@ -24041,7 +24025,6 @@ var List = function List(_ref) {
|
|
|
24041
24025
|
return newID;
|
|
24042
24026
|
});
|
|
24043
24027
|
}
|
|
24044
|
-
|
|
24045
24028
|
if (event.key === 'ArrowDown') {
|
|
24046
24029
|
setSelectedItem(function (prevSelected) {
|
|
24047
24030
|
if (prevSelected === undefined) return 0;
|
|
@@ -24050,14 +24033,13 @@ var List = function List(_ref) {
|
|
|
24050
24033
|
return newID;
|
|
24051
24034
|
});
|
|
24052
24035
|
}
|
|
24053
|
-
|
|
24054
24036
|
if ((event.key === 'Enter' || event.key === 'Tab') && selectedItem !== undefined) {
|
|
24055
24037
|
handleClick(event);
|
|
24056
24038
|
}
|
|
24057
|
-
|
|
24058
24039
|
return null;
|
|
24059
24040
|
}, [selectedItem, values] // eslint-disable-line
|
|
24060
24041
|
);
|
|
24042
|
+
|
|
24061
24043
|
React.useEffect(function () {
|
|
24062
24044
|
document.addEventListener('keydown', handleKeyDown, false);
|
|
24063
24045
|
return function () {
|
|
@@ -24118,12 +24100,11 @@ function defaultScrollToItem(container, item) {
|
|
|
24118
24100
|
var containerHight = parseInt(getComputedStyle(container).getPropertyValue('height'), 10) - itemHeight;
|
|
24119
24101
|
var actualScrollTop = container.scrollTop;
|
|
24120
24102
|
var itemOffsetTop = item.offsetTop;
|
|
24121
|
-
|
|
24122
24103
|
if (itemOffsetTop < actualScrollTop + containerHight && actualScrollTop < itemOffsetTop) {
|
|
24123
24104
|
return;
|
|
24124
|
-
}
|
|
24125
|
-
|
|
24105
|
+
}
|
|
24126
24106
|
|
|
24107
|
+
// eslint-disable-next-line
|
|
24127
24108
|
container.scrollTop = itemOffsetTop;
|
|
24128
24109
|
}
|
|
24129
24110
|
var errorMessage = function errorMessage(message) {
|
|
@@ -24133,40 +24114,33 @@ var triggerPropsCheck = function triggerPropsCheck(_ref) {
|
|
|
24133
24114
|
var trigger = _ref.trigger;
|
|
24134
24115
|
if (!trigger) return Error('Invalid prop trigger. Prop missing.');
|
|
24135
24116
|
var triggers = Object.entries(trigger);
|
|
24136
|
-
|
|
24137
24117
|
for (var i = 0; i < triggers.length; i += 1) {
|
|
24138
24118
|
var _triggers$i = _slicedToArray__default["default"](triggers[i], 2),
|
|
24139
|
-
|
|
24140
|
-
|
|
24141
|
-
|
|
24119
|
+
triggerChar = _triggers$i[0],
|
|
24120
|
+
settings = _triggers$i[1];
|
|
24142
24121
|
if (typeof triggerChar !== 'string' || triggerChar.length !== 1) {
|
|
24143
24122
|
return Error('Invalid prop trigger. Keys of the object has to be string / one character.');
|
|
24144
|
-
}
|
|
24145
|
-
|
|
24123
|
+
}
|
|
24146
24124
|
|
|
24125
|
+
// $FlowFixMe
|
|
24147
24126
|
var triggerSetting = settings;
|
|
24148
24127
|
var callback = triggerSetting.callback,
|
|
24149
|
-
|
|
24150
|
-
|
|
24151
|
-
|
|
24152
|
-
|
|
24128
|
+
component = triggerSetting.component,
|
|
24129
|
+
dataProvider = triggerSetting.dataProvider,
|
|
24130
|
+
output = triggerSetting.output;
|
|
24153
24131
|
if (!ReactIs.isValidElementType(component)) {
|
|
24154
24132
|
return Error('Invalid prop trigger: component should be defined.');
|
|
24155
24133
|
}
|
|
24156
|
-
|
|
24157
24134
|
if (!dataProvider || typeof dataProvider !== 'function') {
|
|
24158
24135
|
return Error('Invalid prop trigger: dataProvider should be defined.');
|
|
24159
24136
|
}
|
|
24160
|
-
|
|
24161
24137
|
if (output && typeof output !== 'function') {
|
|
24162
24138
|
return Error('Invalid prop trigger: output should be a function.');
|
|
24163
24139
|
}
|
|
24164
|
-
|
|
24165
24140
|
if (callback && typeof callback !== 'function') {
|
|
24166
24141
|
return Error('Invalid prop trigger: callback should be a function.');
|
|
24167
24142
|
}
|
|
24168
24143
|
}
|
|
24169
|
-
|
|
24170
24144
|
return null;
|
|
24171
24145
|
};
|
|
24172
24146
|
|
|
@@ -24236,24 +24210,16 @@ var UnMemoizedUserItem = function (_a) {
|
|
|
24236
24210
|
var UserItem = React__default["default"].memo(UnMemoizedUserItem);
|
|
24237
24211
|
|
|
24238
24212
|
function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24239
|
-
|
|
24240
24213
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24241
|
-
|
|
24242
24214
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
24243
|
-
|
|
24244
24215
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
24245
24216
|
var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
24246
24217
|
_inherits__default["default"](ReactTextareaAutocomplete, _React$Component);
|
|
24247
|
-
|
|
24248
24218
|
var _super = _createSuper(ReactTextareaAutocomplete);
|
|
24249
|
-
|
|
24250
24219
|
function ReactTextareaAutocomplete(_props) {
|
|
24251
24220
|
var _this;
|
|
24252
|
-
|
|
24253
24221
|
_classCallCheck__default["default"](this, ReactTextareaAutocomplete);
|
|
24254
|
-
|
|
24255
24222
|
_this = _super.call(this, _props);
|
|
24256
|
-
|
|
24257
24223
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getSelectionPosition", function () {
|
|
24258
24224
|
if (!_this.textareaRef) return null;
|
|
24259
24225
|
return {
|
|
@@ -24261,72 +24227,58 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24261
24227
|
selectionStart: _this.textareaRef.selectionStart
|
|
24262
24228
|
};
|
|
24263
24229
|
});
|
|
24264
|
-
|
|
24265
24230
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getSelectedText", function () {
|
|
24266
24231
|
if (!_this.textareaRef) return null;
|
|
24267
24232
|
var _this$textareaRef = _this.textareaRef,
|
|
24268
|
-
|
|
24269
|
-
|
|
24233
|
+
selectionEnd = _this$textareaRef.selectionEnd,
|
|
24234
|
+
selectionStart = _this$textareaRef.selectionStart;
|
|
24270
24235
|
if (selectionStart === selectionEnd) return null;
|
|
24271
24236
|
return _this.state.value.substr(selectionStart, selectionEnd - selectionStart);
|
|
24272
24237
|
});
|
|
24273
|
-
|
|
24274
24238
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "setCaretPosition", function () {
|
|
24275
24239
|
var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
24276
24240
|
if (!_this.textareaRef) return;
|
|
24277
|
-
|
|
24278
24241
|
_this.textareaRef.focus();
|
|
24279
|
-
|
|
24280
24242
|
_this.textareaRef.setSelectionRange(position, position);
|
|
24281
24243
|
});
|
|
24282
|
-
|
|
24283
24244
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getCaretPosition", function () {
|
|
24284
24245
|
if (!_this.textareaRef) return 0;
|
|
24285
24246
|
return _this.textareaRef.selectionEnd;
|
|
24286
24247
|
});
|
|
24287
|
-
|
|
24288
24248
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_defaultShouldSubmit", function (event) {
|
|
24289
24249
|
return event.key === 'Enter' && !event.shiftKey && !event.nativeEvent.isComposing;
|
|
24290
24250
|
});
|
|
24291
|
-
|
|
24292
24251
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_handleKeyDown", function (event) {
|
|
24293
24252
|
var _this$props$shouldSub = _this.props.shouldSubmit,
|
|
24294
|
-
|
|
24253
|
+
shouldSubmit = _this$props$shouldSub === void 0 ? _this._defaultShouldSubmit : _this$props$shouldSub;
|
|
24295
24254
|
|
|
24255
|
+
// prevent default behaviour when the selection list is rendered
|
|
24296
24256
|
if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && _this.dropdownRef) event.preventDefault();
|
|
24297
24257
|
if (shouldSubmit !== null && shouldSubmit !== void 0 && shouldSubmit(event)) return _this._onEnter(event);
|
|
24298
24258
|
if (event.key === ' ') return _this._onSpace(event);
|
|
24299
24259
|
if (event.key === 'Escape') return _this._closeAutocomplete();
|
|
24300
24260
|
});
|
|
24301
|
-
|
|
24302
24261
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_onEnter", function (event) {
|
|
24303
24262
|
if (!_this.textareaRef) return;
|
|
24304
24263
|
var trigger = _this.state.currentTrigger;
|
|
24305
|
-
|
|
24306
24264
|
if (!trigger || !_this.state.data) {
|
|
24307
24265
|
// trigger a submit
|
|
24308
24266
|
_this._replaceWord();
|
|
24309
|
-
|
|
24310
24267
|
if (_this.textareaRef) {
|
|
24311
24268
|
_this.textareaRef.selectionEnd = 0;
|
|
24312
24269
|
}
|
|
24313
|
-
|
|
24314
24270
|
_this.props.handleSubmit(event);
|
|
24315
|
-
|
|
24316
24271
|
_this._closeAutocomplete();
|
|
24317
24272
|
}
|
|
24318
24273
|
});
|
|
24319
|
-
|
|
24320
24274
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_onSpace", function () {
|
|
24321
|
-
if (!_this.props.replaceWord || !_this.textareaRef) return;
|
|
24275
|
+
if (!_this.props.replaceWord || !_this.textareaRef) return;
|
|
24322
24276
|
|
|
24277
|
+
// don't change characters if the element doesn't have focus
|
|
24323
24278
|
var hasFocus = _this.textareaRef.matches(':focus');
|
|
24324
|
-
|
|
24325
24279
|
if (!hasFocus) return;
|
|
24326
|
-
|
|
24327
24280
|
_this._replaceWord();
|
|
24328
24281
|
});
|
|
24329
|
-
|
|
24330
24282
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_replaceWord", function () {
|
|
24331
24283
|
var value = _this.state.value;
|
|
24332
24284
|
var lastWordRegex = /([^\s]+)(\s*)$/;
|
|
@@ -24334,14 +24286,11 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24334
24286
|
var lastWord = match && match[1];
|
|
24335
24287
|
if (!lastWord) return;
|
|
24336
24288
|
var spaces = match[2];
|
|
24337
|
-
|
|
24338
24289
|
var newWord = _this.props.replaceWord(lastWord);
|
|
24339
|
-
|
|
24340
24290
|
if (newWord == null) return;
|
|
24341
24291
|
var textBeforeWord = value.slice(0, _this.getCaretPosition() - match[0].length);
|
|
24342
24292
|
var textAfterCaret = value.slice(_this.getCaretPosition(), -1);
|
|
24343
24293
|
var newText = textBeforeWord + newWord + spaces + textAfterCaret;
|
|
24344
|
-
|
|
24345
24294
|
_this.setState({
|
|
24346
24295
|
value: newText
|
|
24347
24296
|
}, function () {
|
|
@@ -24349,53 +24298,47 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24349
24298
|
var e = new CustomEvent('change', {
|
|
24350
24299
|
bubbles: true
|
|
24351
24300
|
});
|
|
24352
|
-
|
|
24353
24301
|
_this.textareaRef.dispatchEvent(e);
|
|
24354
|
-
|
|
24355
24302
|
if (_this.props.onChange) _this.props.onChange(e);
|
|
24356
24303
|
});
|
|
24357
24304
|
});
|
|
24358
|
-
|
|
24359
24305
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_onSelect", function (newToken) {
|
|
24360
24306
|
var _this$props = _this.props,
|
|
24361
|
-
|
|
24362
|
-
|
|
24363
|
-
|
|
24364
|
-
|
|
24365
|
-
|
|
24307
|
+
closeCommandsList = _this$props.closeCommandsList,
|
|
24308
|
+
closeMentionsList = _this$props.closeMentionsList,
|
|
24309
|
+
onChange = _this$props.onChange,
|
|
24310
|
+
showCommandsList = _this$props.showCommandsList,
|
|
24311
|
+
showMentionsList = _this$props.showMentionsList;
|
|
24366
24312
|
var _this$state = _this.state,
|
|
24367
|
-
|
|
24368
|
-
|
|
24369
|
-
|
|
24313
|
+
stateTrigger = _this$state.currentTrigger,
|
|
24314
|
+
selectionEnd = _this$state.selectionEnd,
|
|
24315
|
+
textareaValue = _this$state.value;
|
|
24370
24316
|
var currentTrigger = showCommandsList ? '/' : showMentionsList ? '@' : stateTrigger;
|
|
24371
24317
|
if (!currentTrigger) return;
|
|
24372
|
-
|
|
24373
24318
|
var computeCaretPosition = function computeCaretPosition(position, token, startToken) {
|
|
24374
24319
|
switch (position) {
|
|
24375
24320
|
case 'start':
|
|
24376
24321
|
return startToken;
|
|
24377
|
-
|
|
24378
24322
|
case 'next':
|
|
24379
24323
|
case 'end':
|
|
24380
24324
|
return startToken + token.length;
|
|
24381
|
-
|
|
24382
24325
|
default:
|
|
24383
24326
|
if (!Number.isInteger(position)) {
|
|
24384
24327
|
throw new Error('RTA: caretPosition should be "start", "next", "end" or number.');
|
|
24385
24328
|
}
|
|
24386
|
-
|
|
24387
24329
|
return position;
|
|
24388
24330
|
}
|
|
24389
24331
|
};
|
|
24390
|
-
|
|
24391
24332
|
var textToModify = showCommandsList ? '/' : showMentionsList ? '@' : textareaValue.slice(0, selectionEnd);
|
|
24392
|
-
var startOfTokenPosition = textToModify.lastIndexOf(currentTrigger);
|
|
24333
|
+
var startOfTokenPosition = textToModify.lastIndexOf(currentTrigger);
|
|
24393
24334
|
|
|
24335
|
+
// we add space after emoji is selected if a caret position is next
|
|
24394
24336
|
var newTokenString = newToken.caretPosition === 'next' ? "".concat(newToken.text, " ") : newToken.text;
|
|
24395
24337
|
var newCaretPosition = computeCaretPosition(newToken.caretPosition, newTokenString, startOfTokenPosition);
|
|
24396
24338
|
var modifiedText = textToModify.substring(0, startOfTokenPosition) + newTokenString;
|
|
24397
|
-
var valueToReplace = textareaValue.replace(textToModify, modifiedText);
|
|
24339
|
+
var valueToReplace = textareaValue.replace(textToModify, modifiedText);
|
|
24398
24340
|
|
|
24341
|
+
// set the new textarea value and after that set the caret back to its position
|
|
24399
24342
|
_this.setState({
|
|
24400
24343
|
dataLoading: false,
|
|
24401
24344
|
value: valueToReplace
|
|
@@ -24404,25 +24347,17 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24404
24347
|
var e = new CustomEvent('change', {
|
|
24405
24348
|
bubbles: true
|
|
24406
24349
|
});
|
|
24407
|
-
|
|
24408
24350
|
_this.textareaRef.dispatchEvent(e);
|
|
24409
|
-
|
|
24410
24351
|
if (onChange) onChange(e);
|
|
24411
|
-
|
|
24412
24352
|
_this.setCaretPosition(newCaretPosition);
|
|
24413
24353
|
});
|
|
24414
|
-
|
|
24415
24354
|
_this._closeAutocomplete();
|
|
24416
|
-
|
|
24417
24355
|
if (showCommandsList) closeCommandsList();
|
|
24418
24356
|
if (showMentionsList) closeMentionsList();
|
|
24419
24357
|
});
|
|
24420
|
-
|
|
24421
24358
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_getItemOnSelect", function (paramTrigger) {
|
|
24422
24359
|
var stateTrigger = _this.state.currentTrigger;
|
|
24423
|
-
|
|
24424
24360
|
var triggerSettings = _this._getCurrentTriggerSettings(paramTrigger);
|
|
24425
|
-
|
|
24426
24361
|
var currentTrigger = paramTrigger || stateTrigger;
|
|
24427
24362
|
if (!currentTrigger || !triggerSettings) return null;
|
|
24428
24363
|
var callback = triggerSettings.callback;
|
|
@@ -24431,22 +24366,17 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24431
24366
|
if (typeof callback !== 'function') {
|
|
24432
24367
|
throw new Error('Output functor is not defined! You have to define "output" function. https://github.com/webscopeio/react-textarea-autocomplete#trigger-type');
|
|
24433
24368
|
}
|
|
24434
|
-
|
|
24435
24369
|
if (callback) {
|
|
24436
24370
|
return callback(item, currentTrigger);
|
|
24437
24371
|
}
|
|
24438
|
-
|
|
24439
24372
|
return null;
|
|
24440
24373
|
};
|
|
24441
24374
|
});
|
|
24442
|
-
|
|
24443
24375
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_getTextToReplace", function (paramTrigger) {
|
|
24444
24376
|
var _this$state2 = _this.state,
|
|
24445
|
-
|
|
24446
|
-
|
|
24447
|
-
|
|
24377
|
+
actualToken = _this$state2.actualToken,
|
|
24378
|
+
stateTrigger = _this$state2.currentTrigger;
|
|
24448
24379
|
var triggerSettings = _this._getCurrentTriggerSettings(paramTrigger);
|
|
24449
|
-
|
|
24450
24380
|
var currentTrigger = paramTrigger || stateTrigger;
|
|
24451
24381
|
if (!currentTrigger || !triggerSettings) return null;
|
|
24452
24382
|
var output = triggerSettings.output;
|
|
@@ -24454,91 +24384,74 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24454
24384
|
if (_typeof__default["default"](item) === 'object' && (!output || typeof output !== 'function')) {
|
|
24455
24385
|
throw new Error('Output functor is not defined! If you are using items as object you have to define "output" function. https://github.com/webscopeio/react-textarea-autocomplete#trigger-type');
|
|
24456
24386
|
}
|
|
24457
|
-
|
|
24458
24387
|
if (output) {
|
|
24459
24388
|
var textToReplace = output(item, currentTrigger);
|
|
24460
|
-
|
|
24461
24389
|
if (!textToReplace || typeof textToReplace === 'number') {
|
|
24462
24390
|
throw new Error("Output functor should return string or object in shape {text: string, caretPosition: string | number}.\nGot \"".concat(String(textToReplace), "\". Check the implementation for trigger \"").concat(currentTrigger, "\" and its token \"").concat(actualToken, "\"\n\nSee https://github.com/webscopeio/react-textarea-autocomplete#trigger-type for more informations.\n"));
|
|
24463
24391
|
}
|
|
24464
|
-
|
|
24465
24392
|
if (typeof textToReplace === 'string') {
|
|
24466
24393
|
return {
|
|
24467
24394
|
caretPosition: DEFAULT_CARET_POSITION,
|
|
24468
24395
|
text: textToReplace
|
|
24469
24396
|
};
|
|
24470
24397
|
}
|
|
24471
|
-
|
|
24472
24398
|
if (!textToReplace.text && currentTrigger !== ':') {
|
|
24473
24399
|
throw new Error("Output \"text\" is not defined! Object should has shape {text: string, caretPosition: string | number}. Check the implementation for trigger \"".concat(currentTrigger, "\" and its token \"").concat(actualToken, "\"\n"));
|
|
24474
24400
|
}
|
|
24475
|
-
|
|
24476
24401
|
if (!textToReplace.caretPosition) {
|
|
24477
24402
|
throw new Error("Output \"caretPosition\" is not defined! Object should has shape {text: string, caretPosition: string | number}. Check the implementation for trigger \"".concat(currentTrigger, "\" and its token \"").concat(actualToken, "\"\n"));
|
|
24478
24403
|
}
|
|
24479
|
-
|
|
24480
24404
|
return textToReplace;
|
|
24481
24405
|
}
|
|
24482
|
-
|
|
24483
24406
|
if (typeof item !== 'string') {
|
|
24484
24407
|
throw new Error('Output item should be string\n');
|
|
24485
24408
|
}
|
|
24486
|
-
|
|
24487
24409
|
return {
|
|
24488
24410
|
caretPosition: DEFAULT_CARET_POSITION,
|
|
24489
24411
|
text: "".concat(currentTrigger).concat(item).concat(currentTrigger)
|
|
24490
24412
|
};
|
|
24491
24413
|
};
|
|
24492
24414
|
});
|
|
24493
|
-
|
|
24494
24415
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_getCurrentTriggerSettings", function (paramTrigger) {
|
|
24495
24416
|
var stateTrigger = _this.state.currentTrigger;
|
|
24496
24417
|
var currentTrigger = paramTrigger || stateTrigger;
|
|
24497
24418
|
if (!currentTrigger) return null;
|
|
24498
24419
|
return _this.props.trigger[currentTrigger];
|
|
24499
24420
|
});
|
|
24500
|
-
|
|
24501
24421
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_getValuesFromProvider", function () {
|
|
24502
24422
|
var _this$state3 = _this.state,
|
|
24503
|
-
|
|
24504
|
-
|
|
24505
|
-
|
|
24423
|
+
actualToken = _this$state3.actualToken,
|
|
24424
|
+
currentTrigger = _this$state3.currentTrigger;
|
|
24506
24425
|
var triggerSettings = _this._getCurrentTriggerSettings();
|
|
24507
|
-
|
|
24508
24426
|
if (!currentTrigger || !triggerSettings) return;
|
|
24509
24427
|
var component = triggerSettings.component,
|
|
24510
|
-
|
|
24511
|
-
|
|
24428
|
+
dataProvider = triggerSettings.dataProvider;
|
|
24512
24429
|
if (typeof dataProvider !== 'function') {
|
|
24513
24430
|
throw new Error('Trigger provider has to be a function!');
|
|
24514
24431
|
}
|
|
24515
|
-
|
|
24516
24432
|
_this.setState({
|
|
24517
24433
|
dataLoading: true
|
|
24518
|
-
});
|
|
24519
|
-
|
|
24434
|
+
});
|
|
24520
24435
|
|
|
24436
|
+
// Modified: send the full text to support / style commands
|
|
24521
24437
|
dataProvider(actualToken, _this.state.value, function (data, token) {
|
|
24522
24438
|
// Make sure that the result is still relevant for current query
|
|
24523
24439
|
if (token !== _this.state.actualToken) return;
|
|
24524
|
-
|
|
24525
24440
|
if (!Array.isArray(data)) {
|
|
24526
24441
|
throw new Error('Trigger provider has to provide an array!');
|
|
24527
24442
|
}
|
|
24528
|
-
|
|
24529
24443
|
if (!ReactIs.isValidElementType(component)) {
|
|
24530
24444
|
throw new Error('Component should be defined!');
|
|
24531
|
-
}
|
|
24532
|
-
|
|
24445
|
+
}
|
|
24533
24446
|
|
|
24534
|
-
|
|
24447
|
+
// throw away if we resolved old trigger
|
|
24448
|
+
if (currentTrigger !== _this.state.currentTrigger) return;
|
|
24535
24449
|
|
|
24450
|
+
// if we haven't resolved any data let's close the autocomplete
|
|
24536
24451
|
if (!data.length) {
|
|
24537
24452
|
_this._closeAutocomplete();
|
|
24538
|
-
|
|
24539
24453
|
return;
|
|
24540
24454
|
}
|
|
24541
|
-
|
|
24542
24455
|
_this.setState({
|
|
24543
24456
|
component: component,
|
|
24544
24457
|
data: data,
|
|
@@ -24546,16 +24459,14 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24546
24459
|
});
|
|
24547
24460
|
});
|
|
24548
24461
|
});
|
|
24549
|
-
|
|
24550
24462
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_getSuggestions", function (paramTrigger) {
|
|
24551
24463
|
var _this$state4 = _this.state,
|
|
24552
|
-
|
|
24553
|
-
|
|
24464
|
+
stateTrigger = _this$state4.currentTrigger,
|
|
24465
|
+
data = _this$state4.data;
|
|
24554
24466
|
var currentTrigger = paramTrigger || stateTrigger;
|
|
24555
24467
|
if (!currentTrigger || !data || data && !data.length) return null;
|
|
24556
24468
|
return data;
|
|
24557
24469
|
});
|
|
24558
|
-
|
|
24559
24470
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_closeAutocomplete", function () {
|
|
24560
24471
|
_this.setState({
|
|
24561
24472
|
currentTrigger: null,
|
|
@@ -24565,54 +24476,45 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24565
24476
|
top: null
|
|
24566
24477
|
});
|
|
24567
24478
|
});
|
|
24568
|
-
|
|
24569
24479
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_cleanUpProps", function () {
|
|
24570
24480
|
var props = _objectSpread$2({}, _this.props);
|
|
24481
|
+
var notSafe = ['additionalTextareaProps', 'className', 'closeCommandsList', 'closeMentionsList', 'closeOnClickOutside', 'containerClassName', 'containerStyle', 'disableMentions', 'dropdownClassName', 'dropdownStyle', 'grow', 'handleSubmit', 'innerRef', 'itemClassName', 'itemStyle', 'listClassName', 'listStyle', 'loaderClassName', 'loaderStyle', 'loadingComponent', 'minChar', 'movePopupAsYouType', 'onCaretPositionChange', 'onChange', 'ref', 'replaceWord', 'scrollToItem', 'shouldSubmit', 'showCommandsList', 'showMentionsList', 'SuggestionItem', 'SuggestionList', 'trigger', 'value'];
|
|
24571
24482
|
|
|
24572
|
-
|
|
24573
|
-
|
|
24483
|
+
// eslint-disable-next-line
|
|
24574
24484
|
for (var prop in props) {
|
|
24575
24485
|
if (notSafe.includes(prop)) delete props[prop];
|
|
24576
24486
|
}
|
|
24577
|
-
|
|
24578
24487
|
return props;
|
|
24579
24488
|
});
|
|
24580
|
-
|
|
24581
24489
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_isCommand", function (text) {
|
|
24582
24490
|
if (text[0] !== '/') return false;
|
|
24583
24491
|
var tokens = text.split(' ');
|
|
24584
24492
|
return tokens.length <= 1;
|
|
24585
24493
|
});
|
|
24586
|
-
|
|
24587
24494
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_changeHandler", function (e) {
|
|
24588
24495
|
var _this$props2 = _this.props,
|
|
24589
|
-
|
|
24590
|
-
|
|
24591
|
-
|
|
24592
|
-
|
|
24593
|
-
|
|
24496
|
+
minChar = _this$props2.minChar,
|
|
24497
|
+
movePopupAsYouType = _this$props2.movePopupAsYouType,
|
|
24498
|
+
onCaretPositionChange = _this$props2.onCaretPositionChange,
|
|
24499
|
+
onChange = _this$props2.onChange,
|
|
24500
|
+
trigger = _this$props2.trigger;
|
|
24594
24501
|
var _this$state5 = _this.state,
|
|
24595
|
-
|
|
24596
|
-
|
|
24502
|
+
left = _this$state5.left,
|
|
24503
|
+
top = _this$state5.top;
|
|
24597
24504
|
var textarea = e.target;
|
|
24598
24505
|
var selectionEnd = textarea.selectionEnd,
|
|
24599
|
-
|
|
24600
|
-
|
|
24601
|
-
|
|
24506
|
+
selectionStart = textarea.selectionStart,
|
|
24507
|
+
value = textarea.value;
|
|
24602
24508
|
if (onChange) {
|
|
24603
24509
|
e.persist();
|
|
24604
24510
|
onChange(e);
|
|
24605
24511
|
}
|
|
24606
|
-
|
|
24607
24512
|
if (onCaretPositionChange) onCaretPositionChange(_this.getCaretPosition());
|
|
24608
|
-
|
|
24609
24513
|
_this.setState({
|
|
24610
24514
|
value: value
|
|
24611
24515
|
});
|
|
24612
|
-
|
|
24613
24516
|
var currentTrigger;
|
|
24614
24517
|
var lastToken;
|
|
24615
|
-
|
|
24616
24518
|
if (_this._isCommand(value)) {
|
|
24617
24519
|
currentTrigger = '/';
|
|
24618
24520
|
lastToken = value;
|
|
@@ -24626,35 +24528,31 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24626
24528
|
return a === lastToken[0];
|
|
24627
24529
|
}) || null;
|
|
24628
24530
|
}
|
|
24531
|
+
|
|
24629
24532
|
/*
|
|
24630
24533
|
if we lost the trigger token or there is no following character we want to close
|
|
24631
24534
|
the autocomplete
|
|
24632
24535
|
*/
|
|
24633
|
-
|
|
24634
|
-
|
|
24635
24536
|
if (!lastToken || lastToken.length <= minChar) {
|
|
24636
24537
|
_this._closeAutocomplete();
|
|
24637
|
-
|
|
24638
24538
|
return;
|
|
24639
24539
|
}
|
|
24540
|
+
var actualToken = lastToken.slice(1);
|
|
24640
24541
|
|
|
24641
|
-
|
|
24642
|
-
|
|
24542
|
+
// if trigger is not configured step out from the function, otherwise proceed
|
|
24643
24543
|
if (!currentTrigger) return;
|
|
24644
|
-
|
|
24645
|
-
|
|
24544
|
+
if (movePopupAsYouType || top === null && left === null ||
|
|
24545
|
+
// if we have single char - trigger it means we want to re-position the autocomplete
|
|
24646
24546
|
lastToken.length === 1) {
|
|
24647
24547
|
var _getCaretCoordinates = getCaretCoordinates__default["default"](textarea, selectionEnd),
|
|
24648
|
-
|
|
24649
|
-
|
|
24650
|
-
|
|
24548
|
+
newLeft = _getCaretCoordinates.left,
|
|
24549
|
+
newTop = _getCaretCoordinates.top;
|
|
24651
24550
|
_this.setState({
|
|
24652
24551
|
// make position relative to textarea
|
|
24653
24552
|
left: newLeft,
|
|
24654
24553
|
top: newTop - _this.textareaRef.scrollTop || 0
|
|
24655
24554
|
});
|
|
24656
24555
|
}
|
|
24657
|
-
|
|
24658
24556
|
_this.setState({
|
|
24659
24557
|
actualToken: actualToken,
|
|
24660
24558
|
currentTrigger: currentTrigger,
|
|
@@ -24668,77 +24566,62 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24668
24566
|
}
|
|
24669
24567
|
});
|
|
24670
24568
|
});
|
|
24671
|
-
|
|
24672
24569
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_selectHandler", function (e) {
|
|
24673
24570
|
var _this$props3 = _this.props,
|
|
24674
|
-
|
|
24675
|
-
|
|
24571
|
+
onCaretPositionChange = _this$props3.onCaretPositionChange,
|
|
24572
|
+
onSelect = _this$props3.onSelect;
|
|
24676
24573
|
if (onCaretPositionChange) onCaretPositionChange(_this.getCaretPosition());
|
|
24677
|
-
|
|
24678
24574
|
if (onSelect) {
|
|
24679
24575
|
e.persist();
|
|
24680
24576
|
onSelect(e);
|
|
24681
24577
|
}
|
|
24682
24578
|
});
|
|
24683
|
-
|
|
24684
24579
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_onClickAndBlurHandler", function (e) {
|
|
24685
24580
|
var _this$props4 = _this.props,
|
|
24686
|
-
|
|
24687
|
-
|
|
24581
|
+
closeOnClickOutside = _this$props4.closeOnClickOutside,
|
|
24582
|
+
onBlur = _this$props4.onBlur;
|
|
24583
|
+
|
|
24584
|
+
// If this is a click: e.target is the textarea, and e.relatedTarget is the thing
|
|
24688
24585
|
// that was actually clicked. If we clicked inside the auto-select dropdown, then
|
|
24689
24586
|
// that's not a blur, from the auto-select point of view, so then do nothing.
|
|
24690
|
-
|
|
24691
24587
|
var el = e.relatedTarget;
|
|
24692
|
-
|
|
24693
24588
|
if (_this.dropdownRef && el instanceof Node && _this.dropdownRef.contains(el)) {
|
|
24694
24589
|
return;
|
|
24695
24590
|
}
|
|
24696
|
-
|
|
24697
24591
|
if (closeOnClickOutside) _this._closeAutocomplete();
|
|
24698
|
-
|
|
24699
24592
|
if (onBlur) {
|
|
24700
24593
|
e.persist();
|
|
24701
24594
|
onBlur(e);
|
|
24702
24595
|
}
|
|
24703
24596
|
});
|
|
24704
|
-
|
|
24705
24597
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_onScrollHandler", function () {
|
|
24706
24598
|
return _this._closeAutocomplete();
|
|
24707
24599
|
});
|
|
24708
|
-
|
|
24709
24600
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "_dropdownScroll", function (item) {
|
|
24710
24601
|
var scrollToItem = _this.props.scrollToItem;
|
|
24711
24602
|
if (!scrollToItem) return;
|
|
24712
|
-
|
|
24713
24603
|
if (scrollToItem === true) {
|
|
24714
24604
|
defaultScrollToItem(_this.dropdownRef, item);
|
|
24715
24605
|
return;
|
|
24716
24606
|
}
|
|
24717
|
-
|
|
24718
24607
|
if (typeof scrollToItem !== 'function' || scrollToItem.length !== 2) {
|
|
24719
24608
|
throw new Error('`scrollToItem` has to be boolean (true for default implementation) or function with two parameters: container, item.');
|
|
24720
24609
|
}
|
|
24721
|
-
|
|
24722
24610
|
scrollToItem(_this.dropdownRef, item);
|
|
24723
24611
|
});
|
|
24724
|
-
|
|
24725
24612
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getTriggerProps", function () {
|
|
24726
24613
|
var _this$props5 = _this.props,
|
|
24727
|
-
|
|
24728
|
-
|
|
24729
|
-
|
|
24614
|
+
showCommandsList = _this$props5.showCommandsList,
|
|
24615
|
+
showMentionsList = _this$props5.showMentionsList,
|
|
24616
|
+
trigger = _this$props5.trigger;
|
|
24730
24617
|
var _this$state6 = _this.state,
|
|
24731
|
-
|
|
24732
|
-
|
|
24733
|
-
|
|
24734
|
-
|
|
24735
|
-
|
|
24618
|
+
component = _this$state6.component,
|
|
24619
|
+
currentTrigger = _this$state6.currentTrigger,
|
|
24620
|
+
selectionEnd = _this$state6.selectionEnd,
|
|
24621
|
+
value = _this$state6.value;
|
|
24736
24622
|
var selectedItem = _this._getItemOnSelect();
|
|
24737
|
-
|
|
24738
24623
|
var suggestionData = _this._getSuggestions();
|
|
24739
|
-
|
|
24740
24624
|
var textToReplace = _this._getTextToReplace();
|
|
24741
|
-
|
|
24742
24625
|
var triggerProps = {
|
|
24743
24626
|
component: component,
|
|
24744
24627
|
currentTrigger: currentTrigger,
|
|
@@ -24748,7 +24631,6 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24748
24631
|
value: value,
|
|
24749
24632
|
values: suggestionData
|
|
24750
24633
|
};
|
|
24751
|
-
|
|
24752
24634
|
if (showCommandsList && trigger['/'] || showMentionsList && trigger['@']) {
|
|
24753
24635
|
var currentCommands;
|
|
24754
24636
|
var getCommands = trigger[showCommandsList ? '/' : '@'].dataProvider;
|
|
@@ -24763,28 +24645,25 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24763
24645
|
triggerProps.value = showCommandsList ? '/' : '@';
|
|
24764
24646
|
triggerProps.values = currentCommands;
|
|
24765
24647
|
}
|
|
24766
|
-
|
|
24767
24648
|
return triggerProps;
|
|
24768
24649
|
});
|
|
24769
|
-
|
|
24770
24650
|
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "setDropdownRef", function (element) {
|
|
24771
24651
|
_this.dropdownRef = element;
|
|
24772
24652
|
});
|
|
24773
|
-
|
|
24774
24653
|
var _this$props6 = _this.props,
|
|
24775
|
-
|
|
24776
|
-
|
|
24777
|
-
|
|
24654
|
+
loadingComponent = _this$props6.loadingComponent,
|
|
24655
|
+
_trigger = _this$props6.trigger,
|
|
24656
|
+
_value = _this$props6.value;
|
|
24657
|
+
|
|
24658
|
+
// TODO: it would be better to have the parent control state...
|
|
24778
24659
|
// if (value) this.state.value = value;
|
|
24779
24660
|
|
|
24780
24661
|
if (!loadingComponent) {
|
|
24781
24662
|
throw new Error('RTA: loadingComponent is not defined');
|
|
24782
24663
|
}
|
|
24783
|
-
|
|
24784
24664
|
if (!_trigger) {
|
|
24785
24665
|
throw new Error('RTA: trigger is not defined');
|
|
24786
24666
|
}
|
|
24787
|
-
|
|
24788
24667
|
_this.state = {
|
|
24789
24668
|
actualToken: '',
|
|
24790
24669
|
component: null,
|
|
@@ -24799,22 +24678,20 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24799
24678
|
};
|
|
24800
24679
|
return _this;
|
|
24801
24680
|
}
|
|
24802
|
-
|
|
24803
24681
|
_createClass__default["default"](ReactTextareaAutocomplete, [{
|
|
24804
24682
|
key: "renderSuggestionListContainer",
|
|
24805
24683
|
value: function renderSuggestionListContainer() {
|
|
24806
24684
|
var _this$props7 = this.props,
|
|
24807
|
-
|
|
24808
|
-
|
|
24809
|
-
|
|
24810
|
-
|
|
24811
|
-
|
|
24812
|
-
|
|
24813
|
-
|
|
24814
|
-
|
|
24815
|
-
|
|
24685
|
+
disableMentions = _this$props7.disableMentions,
|
|
24686
|
+
dropdownClassName = _this$props7.dropdownClassName,
|
|
24687
|
+
dropdownStyle = _this$props7.dropdownStyle,
|
|
24688
|
+
itemClassName = _this$props7.itemClassName,
|
|
24689
|
+
itemStyle = _this$props7.itemStyle,
|
|
24690
|
+
listClassName = _this$props7.listClassName,
|
|
24691
|
+
SuggestionItem = _this$props7.SuggestionItem,
|
|
24692
|
+
_this$props7$Suggesti = _this$props7.SuggestionList,
|
|
24693
|
+
SuggestionList = _this$props7$Suggesti === void 0 ? List : _this$props7$Suggesti;
|
|
24816
24694
|
var triggerProps = this.getTriggerProps();
|
|
24817
|
-
|
|
24818
24695
|
if (triggerProps.values && triggerProps.currentTrigger && !(disableMentions && triggerProps.currentTrigger === '@')) {
|
|
24819
24696
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
24820
24697
|
className: clsx('rta__autocomplete', 'str-chat__suggestion-list-container', dropdownClassName),
|
|
@@ -24829,24 +24706,24 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24829
24706
|
SuggestionItem: SuggestionItem
|
|
24830
24707
|
}, triggerProps)));
|
|
24831
24708
|
}
|
|
24832
|
-
|
|
24833
24709
|
return null;
|
|
24834
24710
|
}
|
|
24835
24711
|
}, {
|
|
24836
24712
|
key: "render",
|
|
24837
24713
|
value: function render() {
|
|
24838
24714
|
var _this2 = this;
|
|
24839
|
-
|
|
24840
24715
|
var _this$props8 = this.props,
|
|
24841
|
-
|
|
24842
|
-
|
|
24843
|
-
|
|
24844
|
-
|
|
24716
|
+
className = _this$props8.className,
|
|
24717
|
+
containerClassName = _this$props8.containerClassName,
|
|
24718
|
+
containerStyle = _this$props8.containerStyle,
|
|
24719
|
+
style = _this$props8.style;
|
|
24845
24720
|
var maxRows = this.props.maxRows;
|
|
24846
24721
|
var _this$state7 = this.state,
|
|
24847
|
-
|
|
24848
|
-
|
|
24849
|
-
if (!this.props.grow) maxRows = 1;
|
|
24722
|
+
dataLoading = _this$state7.dataLoading,
|
|
24723
|
+
value = _this$state7.value;
|
|
24724
|
+
if (!this.props.grow) maxRows = 1;
|
|
24725
|
+
|
|
24726
|
+
// By setting defaultValue to undefined, avoid error:
|
|
24850
24727
|
// ForwardRef(TextareaAutosize) contains a textarea with both value and defaultValue props.
|
|
24851
24728
|
// Textarea elements must be either controlled or uncontrolled
|
|
24852
24729
|
|
|
@@ -24869,7 +24746,6 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24869
24746
|
onSelect: this._selectHandler,
|
|
24870
24747
|
ref: function ref(_ref) {
|
|
24871
24748
|
var _this2$props;
|
|
24872
|
-
|
|
24873
24749
|
(_this2$props = _this2.props) === null || _this2$props === void 0 ? void 0 : _this2$props.innerRef(_ref);
|
|
24874
24750
|
_this2.textareaRef = _ref;
|
|
24875
24751
|
},
|
|
@@ -24898,12 +24774,9 @@ var ReactTextareaAutocomplete = /*#__PURE__*/function (_React$Component) {
|
|
|
24898
24774
|
/**
|
|
24899
24775
|
* Close autocomplete, also clean up trigger (to avoid slow promises)
|
|
24900
24776
|
*/
|
|
24901
|
-
|
|
24902
24777
|
}]);
|
|
24903
|
-
|
|
24904
24778
|
return ReactTextareaAutocomplete;
|
|
24905
24779
|
}(React__default["default"].Component);
|
|
24906
|
-
|
|
24907
24780
|
_defineProperty__default["default"](ReactTextareaAutocomplete, "defaultProps", {
|
|
24908
24781
|
closeOnClickOutside: true,
|
|
24909
24782
|
maxRows: 10,
|
|
@@ -24912,7 +24785,6 @@ _defineProperty__default["default"](ReactTextareaAutocomplete, "defaultProps", {
|
|
|
24912
24785
|
scrollToItem: true,
|
|
24913
24786
|
value: ''
|
|
24914
24787
|
});
|
|
24915
|
-
|
|
24916
24788
|
ReactTextareaAutocomplete.propTypes = {
|
|
24917
24789
|
className: PropTypes__default["default"].string,
|
|
24918
24790
|
closeOnClickOutside: PropTypes__default["default"].bool,
|
|
@@ -33798,7 +33670,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
33798
33670
|
*/
|
|
33799
33671
|
var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
|
|
33800
33672
|
|
|
33801
|
-
var version = '10.7.
|
|
33673
|
+
var version = '10.7.1';
|
|
33802
33674
|
|
|
33803
33675
|
var useChat = function (_a) {
|
|
33804
33676
|
var _b, _c;
|