react-mentions 4.4.2 → 4.4.4

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/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # react-mentions
2
+
3
+ ## 4.4.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 748d38a: fix npm publishing
8
+
9
+ ## 4.4.3
10
+
11
+ ### Patch Changes
12
+
13
+ - e7f35ab: fix npm publishing
@@ -8,10 +8,10 @@ var _toConsumableArray = _interopDefault(require('@babel/runtime/helpers/toConsu
8
8
  var _extends = _interopDefault(require('@babel/runtime/helpers/extends'));
9
9
  var _classCallCheck = _interopDefault(require('@babel/runtime/helpers/classCallCheck'));
10
10
  var _createClass = _interopDefault(require('@babel/runtime/helpers/createClass'));
11
- var _possibleConstructorReturn = _interopDefault(require('@babel/runtime/helpers/possibleConstructorReturn'));
12
- var _getPrototypeOf = _interopDefault(require('@babel/runtime/helpers/getPrototypeOf'));
13
11
  var _assertThisInitialized = _interopDefault(require('@babel/runtime/helpers/assertThisInitialized'));
14
12
  var _inherits = _interopDefault(require('@babel/runtime/helpers/inherits'));
13
+ var _possibleConstructorReturn = _interopDefault(require('@babel/runtime/helpers/possibleConstructorReturn'));
14
+ var _getPrototypeOf = _interopDefault(require('@babel/runtime/helpers/getPrototypeOf'));
15
15
  var _defineProperty = _interopDefault(require('@babel/runtime/helpers/defineProperty'));
16
16
  var React = require('react');
17
17
  var React__default = _interopDefault(React);
@@ -659,13 +659,15 @@ var omit = function omit(obj) {
659
659
  }, {});
660
660
  };
661
661
 
662
+ var _excluded = ["style", "className", "classNames"];
663
+
662
664
  function createDefaultStyle(defaultStyle, getModifiers) {
663
665
  var enhance = function enhance(ComponentToWrap) {
664
666
  var DefaultStyleEnhancer = function DefaultStyleEnhancer(_ref) {
665
667
  var style = _ref.style,
666
668
  className = _ref.className,
667
669
  classNames = _ref.classNames,
668
- rest = _objectWithoutProperties(_ref, ["style", "className", "classNames"]);
670
+ rest = _objectWithoutProperties(_ref, _excluded);
669
671
 
670
672
  var modifiers = getModifiers ? getModifiers(rest) : undefined;
671
673
  var styles = useStyles__default(defaultStyle, {
@@ -673,7 +675,7 @@ function createDefaultStyle(defaultStyle, getModifiers) {
673
675
  className: className,
674
676
  classNames: classNames
675
677
  }, modifiers);
676
- return React__default.createElement(ComponentToWrap, _extends({}, rest, {
678
+ return /*#__PURE__*/React__default.createElement(ComponentToWrap, _extends({}, rest, {
677
679
  style: styles
678
680
  }));
679
681
  };
@@ -686,6 +688,10 @@ function createDefaultStyle(defaultStyle, getModifiers) {
686
688
  return enhance;
687
689
  }
688
690
 
691
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
692
+
693
+ 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; } }
694
+
689
695
  var _generateComponentKey = function _generateComponentKey(usedKeys, id) {
690
696
  if (!usedKeys.hasOwnProperty(id)) {
691
697
  usedKeys[id] = 0;
@@ -696,17 +702,17 @@ var _generateComponentKey = function _generateComponentKey(usedKeys, id) {
696
702
  return id + '_' + usedKeys[id];
697
703
  };
698
704
 
699
- var Highlighter =
700
- /*#__PURE__*/
701
- function (_Component) {
705
+ var Highlighter = /*#__PURE__*/function (_Component) {
702
706
  _inherits(Highlighter, _Component);
703
707
 
708
+ var _super = _createSuper(Highlighter);
709
+
704
710
  function Highlighter() {
705
711
  var _this;
706
712
 
707
713
  _classCallCheck(this, Highlighter);
708
714
 
709
- _this = _possibleConstructorReturn(this, _getPrototypeOf(Highlighter).apply(this, arguments));
715
+ _this = _super.apply(this, arguments);
710
716
 
711
717
  _defineProperty(_assertThisInitialized(_this), "setCaretElement", function (el) {
712
718
  _this.caretElement = el;
@@ -809,7 +815,7 @@ function (_Component) {
809
815
  resultComponents.push(this.renderHighlighterCaret(components));
810
816
  }
811
817
 
812
- return React__default.createElement("div", _extends({}, style, {
818
+ return /*#__PURE__*/React__default.createElement("div", _extends({}, style, {
813
819
  ref: containerRef
814
820
  }), resultComponents);
815
821
  }
@@ -817,7 +823,7 @@ function (_Component) {
817
823
  key: "renderSubstring",
818
824
  value: function renderSubstring(string, key) {
819
825
  // set substring span to hidden, so that Emojis are not shown double in Mobile Safari
820
- return React__default.createElement("span", _extends({}, this.props.style('substring'), {
826
+ return /*#__PURE__*/React__default.createElement("span", _extends({}, this.props.style('substring'), {
821
827
  key: key
822
828
  }), string);
823
829
  } // Returns a clone of the Mention child applicable for the specified type to be rendered inside the highlighter
@@ -831,13 +837,13 @@ function (_Component) {
831
837
  key: key
832
838
  };
833
839
  var child = React.Children.toArray(this.props.children)[mentionChildIndex];
834
- return React__default.cloneElement(child, props);
840
+ return /*#__PURE__*/React__default.cloneElement(child, props);
835
841
  } // Renders an component to be inserted in the highlighter at the current caret position
836
842
 
837
843
  }, {
838
844
  key: "renderHighlighterCaret",
839
845
  value: function renderHighlighterCaret(children) {
840
- return React__default.createElement("span", _extends({}, this.props.style('caret'), {
846
+ return /*#__PURE__*/React__default.createElement("span", _extends({}, this.props.style('caret'), {
841
847
  ref: this.setCaretElement,
842
848
  key: "caret"
843
849
  }), children);
@@ -886,15 +892,19 @@ var styled = createDefaultStyle({
886
892
  });
887
893
  var Highlighter$1 = styled(Highlighter);
888
894
 
889
- var Suggestion =
890
- /*#__PURE__*/
891
- function (_Component) {
895
+ function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
896
+
897
+ function _isNativeReflectConstruct$1() { 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; } }
898
+
899
+ var Suggestion = /*#__PURE__*/function (_Component) {
892
900
  _inherits(Suggestion, _Component);
893
901
 
902
+ var _super = _createSuper$1(Suggestion);
903
+
894
904
  function Suggestion() {
895
905
  _classCallCheck(this, Suggestion);
896
906
 
897
- return _possibleConstructorReturn(this, _getPrototypeOf(Suggestion).apply(this, arguments));
907
+ return _super.apply(this, arguments);
898
908
  }
899
909
 
900
910
  _createClass(Suggestion, [{
@@ -902,7 +912,7 @@ function (_Component) {
902
912
  value: function render() {
903
913
  var rest = omit(this.props, ['style', 'classNames', 'className'], // substyle props
904
914
  keys(Suggestion.propTypes));
905
- return React__default.createElement("li", _extends({
915
+ return /*#__PURE__*/React__default.createElement("li", _extends({
906
916
  id: this.props.id,
907
917
  role: "option",
908
918
  "aria-selected": this.props.focused
@@ -954,10 +964,10 @@ function (_Component) {
954
964
  var i = getSubstringIndex(display, query, ignoreAccents);
955
965
 
956
966
  if (i === -1) {
957
- return React__default.createElement("span", style('display'), display);
967
+ return /*#__PURE__*/React__default.createElement("span", style('display'), display);
958
968
  }
959
969
 
960
- return React__default.createElement("span", style('display'), display.substring(0, i), React__default.createElement("b", style('highlight'), display.substring(i, i + query.length)), display.substring(i + query.length));
970
+ return /*#__PURE__*/React__default.createElement("span", style('display'), display.substring(0, i), /*#__PURE__*/React__default.createElement("b", style('highlight'), display.substring(i, i + query.length)), display.substring(i + query.length));
961
971
  }
962
972
  }]);
963
973
 
@@ -986,20 +996,31 @@ var styled$1 = createDefaultStyle({
986
996
  });
987
997
  var Suggestion$1 = styled$1(Suggestion);
988
998
 
989
- function LoadingIndicator() {
990
- var styles = useStyles__default();
999
+ function LoadingIndicator(_ref) {
1000
+ var style = _ref.style,
1001
+ className = _ref.className,
1002
+ classNames = _ref.classNames;
1003
+ var styles = useStyles__default(defaultstyle, {
1004
+ style: style,
1005
+ className: className,
1006
+ classNames: classNames
1007
+ });
991
1008
  var spinnerStyles = styles('spinner');
992
- return React__default.createElement("div", styles, React__default.createElement("div", spinnerStyles, React__default.createElement("div", spinnerStyles(['element', 'element1'])), React__default.createElement("div", spinnerStyles(['element', 'element2'])), React__default.createElement("div", spinnerStyles(['element', 'element3'])), React__default.createElement("div", spinnerStyles(['element', 'element4'])), React__default.createElement("div", spinnerStyles(['element', 'element5']))));
1009
+ return /*#__PURE__*/React__default.createElement("div", styles, /*#__PURE__*/React__default.createElement("div", spinnerStyles, /*#__PURE__*/React__default.createElement("div", spinnerStyles(['element', 'element1'])), /*#__PURE__*/React__default.createElement("div", spinnerStyles(['element', 'element2'])), /*#__PURE__*/React__default.createElement("div", spinnerStyles(['element', 'element3'])), /*#__PURE__*/React__default.createElement("div", spinnerStyles(['element', 'element4'])), /*#__PURE__*/React__default.createElement("div", spinnerStyles(['element', 'element5']))));
993
1010
  }
994
1011
 
995
- var SuggestionsOverlay =
996
- /*#__PURE__*/
997
- function (_Component) {
1012
+ var defaultstyle = {};
1013
+
1014
+ function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1015
+
1016
+ function _isNativeReflectConstruct$2() { 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; } }
1017
+
1018
+ var SuggestionsOverlay = /*#__PURE__*/function (_Component) {
998
1019
  _inherits(SuggestionsOverlay, _Component);
999
1020
 
1000
- function SuggestionsOverlay() {
1001
- var _getPrototypeOf2;
1021
+ var _super = _createSuper$2(SuggestionsOverlay);
1002
1022
 
1023
+ function SuggestionsOverlay() {
1003
1024
  var _this;
1004
1025
 
1005
1026
  _classCallCheck(this, SuggestionsOverlay);
@@ -1008,7 +1029,7 @@ function (_Component) {
1008
1029
  args[_key] = arguments[_key];
1009
1030
  }
1010
1031
 
1011
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SuggestionsOverlay)).call.apply(_getPrototypeOf2, [this].concat(args)));
1032
+ _this = _super.call.apply(_super, [this].concat(args));
1012
1033
 
1013
1034
  _defineProperty(_assertThisInitialized(_this), "handleMouseEnter", function (index, ev) {
1014
1035
  if (_this.props.onMouseEnter) {
@@ -1071,7 +1092,7 @@ function (_Component) {
1071
1092
  return null;
1072
1093
  }
1073
1094
 
1074
- return React__default.createElement("div", _extends({}, useStyles.inline({
1095
+ return /*#__PURE__*/React__default.createElement("div", _extends({}, useStyles.inline({
1075
1096
  position: position || 'absolute',
1076
1097
  left: left,
1077
1098
  right: right,
@@ -1079,7 +1100,7 @@ function (_Component) {
1079
1100
  }, style), {
1080
1101
  onMouseDown: onMouseDown,
1081
1102
  ref: containerRef
1082
- }), React__default.createElement("ul", _extends({
1103
+ }), /*#__PURE__*/React__default.createElement("ul", _extends({
1083
1104
  ref: this.setUlElement,
1084
1105
  id: id,
1085
1106
  role: "listbox",
@@ -1091,13 +1112,15 @@ function (_Component) {
1091
1112
  value: function renderSuggestions() {
1092
1113
  var _this2 = this;
1093
1114
 
1094
- return Object.values(this.props.suggestions).reduce(function (accResults, _ref) {
1115
+ var customSuggestionsContainer = this.props.customSuggestionsContainer;
1116
+ var suggestions = Object.values(this.props.suggestions).reduce(function (accResults, _ref) {
1095
1117
  var results = _ref.results,
1096
1118
  queryInfo = _ref.queryInfo;
1097
1119
  return [].concat(_toConsumableArray(accResults), _toConsumableArray(results.map(function (result, index) {
1098
1120
  return _this2.renderSuggestion(result, queryInfo, accResults.length + index);
1099
1121
  })));
1100
1122
  }, []);
1123
+ if (customSuggestionsContainer) return customSuggestionsContainer(suggestions);else return suggestions;
1101
1124
  }
1102
1125
  }, {
1103
1126
  key: "renderSuggestion",
@@ -1109,7 +1132,7 @@ function (_Component) {
1109
1132
  query = queryInfo.query;
1110
1133
  var renderSuggestion = React.Children.toArray(this.props.children)[childIndex].props.renderSuggestion;
1111
1134
  var ignoreAccents = this.props.ignoreAccents;
1112
- return React__default.createElement(Suggestion$1, {
1135
+ return /*#__PURE__*/React__default.createElement(Suggestion$1, {
1113
1136
  style: this.props.style('item'),
1114
1137
  key: "".concat(childIndex, "-").concat(getID(result)),
1115
1138
  id: getSuggestionHtmlId(this.props.id, index),
@@ -1134,7 +1157,7 @@ function (_Component) {
1134
1157
  return;
1135
1158
  }
1136
1159
 
1137
- return React__default.createElement(LoadingIndicator, {
1160
+ return /*#__PURE__*/React__default.createElement(LoadingIndicator, {
1138
1161
  style: this.props.style('loadingIndicator')
1139
1162
  });
1140
1163
  }
@@ -1191,9 +1214,13 @@ var styled$2 = createDefaultStyle({
1191
1214
  });
1192
1215
  var SuggestionsOverlay$1 = styled$2(SuggestionsOverlay);
1193
1216
 
1194
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
1217
+ function ownKeys(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; }
1218
+
1219
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1195
1220
 
1196
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1221
+ function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1222
+
1223
+ function _isNativeReflectConstruct$3() { 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; } }
1197
1224
  var makeTriggerRegex = function makeTriggerRegex(trigger) {
1198
1225
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1199
1226
 
@@ -1251,6 +1278,7 @@ var propTypes = {
1251
1278
  a11ySuggestionsListLabel: PropTypes.string,
1252
1279
  value: PropTypes.string,
1253
1280
  onKeyDown: PropTypes.func,
1281
+ customSuggestionsContainer: PropTypes.func,
1254
1282
  onSelect: PropTypes.func,
1255
1283
  onBlur: PropTypes.func,
1256
1284
  onChange: PropTypes.func,
@@ -1261,17 +1289,17 @@ var propTypes = {
1261
1289
  children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired
1262
1290
  };
1263
1291
 
1264
- var MentionsInput =
1265
- /*#__PURE__*/
1266
- function (_React$Component) {
1292
+ var MentionsInput = /*#__PURE__*/function (_React$Component) {
1267
1293
  _inherits(MentionsInput, _React$Component);
1268
1294
 
1295
+ var _super = _createSuper$3(MentionsInput);
1296
+
1269
1297
  function MentionsInput(_props) {
1270
1298
  var _this;
1271
1299
 
1272
1300
  _classCallCheck(this, MentionsInput);
1273
1301
 
1274
- _this = _possibleConstructorReturn(this, _getPrototypeOf(MentionsInput).call(this, _props));
1302
+ _this = _super.call(this, _props);
1275
1303
 
1276
1304
  _defineProperty(_assertThisInitialized(_this), "setContainerElement", function (el) {
1277
1305
  _this.containerElement = el;
@@ -1285,17 +1313,17 @@ function (_React$Component) {
1285
1313
 
1286
1314
  var props = omit(_this.props, ['style', 'classNames', 'className'], // substyle props
1287
1315
  keys(propTypes));
1288
- return _objectSpread({}, props, {}, style('input'), {
1289
- value: _this.getPlainText()
1316
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props), style('input')), {}, {
1317
+ value: _this.getPlainText(),
1318
+ onScroll: _this.updateHighlighterScroll
1290
1319
  }, !readOnly && !disabled && {
1291
1320
  onChange: _this.handleChange,
1292
1321
  onSelect: _this.handleSelect,
1293
1322
  onKeyDown: _this.handleKeyDown,
1294
1323
  onBlur: _this.handleBlur,
1295
1324
  onCompositionStart: _this.handleCompositionStart,
1296
- onCompositionEnd: _this.handleCompositionEnd,
1297
- onScroll: _this.updateHighlighterScroll
1298
- }, {}, _this.isOpened() && {
1325
+ onCompositionEnd: _this.handleCompositionEnd
1326
+ }), _this.isOpened() && {
1299
1327
  role: 'combobox',
1300
1328
  'aria-controls': _this.uuidSuggestionsOverlay,
1301
1329
  'aria-expanded': true,
@@ -1312,18 +1340,18 @@ function (_React$Component) {
1312
1340
 
1313
1341
  var inputProps = _this.getInputProps();
1314
1342
 
1315
- return React__default.createElement("div", style('control'), _this.renderHighlighter(), singleLine ? _this.renderInput(inputProps) : _this.renderTextarea(inputProps));
1343
+ return /*#__PURE__*/React__default.createElement("div", style('control'), _this.renderHighlighter(), singleLine ? _this.renderInput(inputProps) : _this.renderTextarea(inputProps));
1316
1344
  });
1317
1345
 
1318
1346
  _defineProperty(_assertThisInitialized(_this), "renderInput", function (props) {
1319
- return React__default.createElement("input", _extends({
1347
+ return /*#__PURE__*/React__default.createElement("input", _extends({
1320
1348
  type: "text",
1321
1349
  ref: _this.setInputRef
1322
1350
  }, props));
1323
1351
  });
1324
1352
 
1325
1353
  _defineProperty(_assertThisInitialized(_this), "renderTextarea", function (props) {
1326
- return React__default.createElement("textarea", _extends({
1354
+ return /*#__PURE__*/React__default.createElement("textarea", _extends({
1327
1355
  ref: _this.setInputRef
1328
1356
  }, props));
1329
1357
  });
@@ -1354,7 +1382,7 @@ function (_React$Component) {
1354
1382
  left = _this$state$suggestio.left,
1355
1383
  top = _this$state$suggestio.top,
1356
1384
  right = _this$state$suggestio.right;
1357
- var suggestionsNode = React__default.createElement(SuggestionsOverlay$1, {
1385
+ var suggestionsNode = /*#__PURE__*/React__default.createElement(SuggestionsOverlay$1, {
1358
1386
  id: _this.uuidSuggestionsOverlay,
1359
1387
  style: _this.props.style('suggestions'),
1360
1388
  position: position,
@@ -1365,6 +1393,7 @@ function (_React$Component) {
1365
1393
  scrollFocusedIntoView: _this.state.scrollFocusedIntoView,
1366
1394
  containerRef: _this.setSuggestionsElement,
1367
1395
  suggestions: _this.state.suggestions,
1396
+ customSuggestionsContainer: _this.props.customSuggestionsContainer,
1368
1397
  onSelect: _this.addMention,
1369
1398
  onMouseDown: _this.handleSuggestionsMouseDown,
1370
1399
  onMouseEnter: _this.handleSuggestionsMouseEnter,
@@ -1375,7 +1404,7 @@ function (_React$Component) {
1375
1404
  }, _this.props.children);
1376
1405
 
1377
1406
  if (_this.props.suggestionsPortalHost) {
1378
- return ReactDOM.createPortal(suggestionsNode, _this.props.suggestionsPortalHost);
1407
+ return /*#__PURE__*/ReactDOM.createPortal(suggestionsNode, _this.props.suggestionsPortalHost);
1379
1408
  } else {
1380
1409
  return suggestionsNode;
1381
1410
  }
@@ -1390,7 +1419,7 @@ function (_React$Component) {
1390
1419
  children = _this$props3.children,
1391
1420
  value = _this$props3.value,
1392
1421
  style = _this$props3.style;
1393
- return React__default.createElement(Highlighter$1, {
1422
+ return /*#__PURE__*/React__default.createElement(Highlighter$1, {
1394
1423
  containerRef: _this.setHighlighterElement,
1395
1424
  style: style('highlighter'),
1396
1425
  value: value,
@@ -1467,7 +1496,7 @@ function (_React$Component) {
1467
1496
 
1468
1497
  if (startOfMention !== undefined && _this.state.selectionEnd > startOfMention) {
1469
1498
  // only if a deletion has taken place
1470
- selectionStart = startOfMention;
1499
+ selectionStart = startOfMention + (ev.nativeEvent.data ? ev.nativeEvent.data.length : 0);
1471
1500
  selectionEnd = selectionStart;
1472
1501
  setSelectionAfterMentionChange = true;
1473
1502
  }
@@ -1827,7 +1856,7 @@ function (_React$Component) {
1827
1856
  if (queryId !== _this._queryId) return; // save in property so that multiple sync state updates from different mentions sources
1828
1857
  // won't overwrite each other
1829
1858
 
1830
- _this.suggestions = _objectSpread({}, _this.suggestions, _defineProperty({}, childIndex, {
1859
+ _this.suggestions = _objectSpread(_objectSpread({}, _this.suggestions), {}, _defineProperty({}, childIndex, {
1831
1860
  queryInfo: {
1832
1861
  childIndex: childIndex,
1833
1862
  query: query,
@@ -1973,7 +2002,7 @@ function (_React$Component) {
1973
2002
  }, {
1974
2003
  key: "render",
1975
2004
  value: function render() {
1976
- return React__default.createElement("div", _extends({
2005
+ return /*#__PURE__*/React__default.createElement("div", _extends({
1977
2006
  ref: this.setContainerElement
1978
2007
  }, this.props.style), this.renderControl(), this.renderSuggestionsOverlay());
1979
2008
  }
@@ -2003,7 +2032,7 @@ function (_React$Component) {
2003
2032
  var newValue = spliceString(value, markupStartIndex, markupEndIndex, pastedMentions || pastedData).replace(/\r/g, '');
2004
2033
  var newPlainTextValue = getPlainText(newValue, config);
2005
2034
  var eventMock = {
2006
- target: _objectSpread({}, event.target, {
2035
+ target: _objectSpread(_objectSpread({}, event.target), {}, {
2007
2036
  value: newValue
2008
2037
  })
2009
2038
  };
@@ -2016,9 +2045,10 @@ function (_React$Component) {
2016
2045
  }, {
2017
2046
  key: "saveSelectionToClipboard",
2018
2047
  value: function saveSelectionToClipboard(event) {
2019
- var _this$state4 = this.state,
2020
- selectionStart = _this$state4.selectionStart,
2021
- selectionEnd = _this$state4.selectionEnd;
2048
+ // use the actual selectionStart & selectionEnd instead of the one stored
2049
+ // in state to ensure copy & paste also works on disabled inputs & textareas
2050
+ var selectionStart = this.inputElement.selectionStart;
2051
+ var selectionEnd = this.inputElement.selectionEnd;
2022
2052
  var _this$props8 = this.props,
2023
2053
  children = _this$props8.children,
2024
2054
  value = _this$props8.value;
@@ -2060,9 +2090,9 @@ function (_React$Component) {
2060
2090
 
2061
2091
  event.preventDefault();
2062
2092
  this.saveSelectionToClipboard(event);
2063
- var _this$state5 = this.state,
2064
- selectionStart = _this$state5.selectionStart,
2065
- selectionEnd = _this$state5.selectionEnd;
2093
+ var _this$state4 = this.state,
2094
+ selectionStart = _this$state4.selectionStart,
2095
+ selectionEnd = _this$state4.selectionEnd;
2066
2096
  var _this$props9 = this.props,
2067
2097
  children = _this$props9.children,
2068
2098
  value = _this$props9.value;
@@ -2072,7 +2102,7 @@ function (_React$Component) {
2072
2102
  var newValue = [value.slice(0, markupStartIndex), value.slice(markupEndIndex)].join('');
2073
2103
  var newPlainTextValue = getPlainText(newValue, config);
2074
2104
  var eventMock = {
2075
- target: _objectSpread({}, event.target, {
2105
+ target: _objectSpread(_objectSpread({}, event.target), {}, {
2076
2106
  value: newPlainTextValue
2077
2107
  })
2078
2108
  };
@@ -2162,7 +2192,7 @@ var Mention = function Mention(_ref) {
2162
2192
  className: className,
2163
2193
  classNames: classNames
2164
2194
  });
2165
- return React__default.createElement("strong", styles, display);
2195
+ return /*#__PURE__*/React__default.createElement("strong", styles, display);
2166
2196
  };
2167
2197
 
2168
2198
  Mention.propTypes = {