react-mentions 4.4.2 → 4.4.4

Sign up to get free protection for your applications and to get access to all the features.
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 = {