react-mentions 4.3.0 → 4.3.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/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  A React component that let's you mention people in a textarea like you are used to on Facebook or Twitter.
9
9
 
10
- Used in production at [Signavio](https://signavio.com), [State](https://state.com), [Snips](https://snips.ai), [Swat.io](https://swat.io), [GotDone](https://www.gotdone.me), [Volinspire](https://volinspire.com), [Marvin](https://amazingmarvin.com), [Timely](https://timelyapp.com), [GuideFitter](https://www.guidefitter.com/), [Evite](https://www.evite.com/), [Publer](https://publer.me/), [Kontentino](https://www.kontentino.com/), and [you?](https://github.com/signavio/react-mentions/edit/master/README.md)
10
+ Used in production at [Signavio](https://signavio.com), [State](https://state.com), [Snips](https://snips.ai), [Swat.io](https://swat.io), [GotDone](https://www.gotdone.me), [Volinspire](https://volinspire.com), [Marvin](https://amazingmarvin.com), [Timely](https://timelyapp.com), [GuideFitter](https://www.guidefitter.com/), [Evite](https://www.evite.com/), [Publer](https://publer.me/), [Kontentino](https://www.kontentino.com/), [Wix.com](https://wix.com) and [you?](https://github.com/signavio/react-mentions/edit/master/README.md)
11
11
 
12
12
  ## Getting started
13
13
 
@@ -629,6 +629,10 @@ var getSubstringIndex = function getSubstringIndex(str, substr, ignoreAccents) {
629
629
  return normalizeString(str).indexOf(normalizeString(substr));
630
630
  };
631
631
 
632
+ var isIE = function isIE() {
633
+ return !!document.documentMode;
634
+ };
635
+
632
636
  var isNumber = function isNumber(val) {
633
637
  return typeof val === 'number';
634
638
  };
@@ -1425,13 +1429,16 @@ function (_React$Component) {
1425
1429
  });
1426
1430
 
1427
1431
  _defineProperty(_assertThisInitialized(_this), "handleChange", function (ev) {
1428
- isComposing = false; // if we are inside iframe, we need to find activeElement within its contentDocument
1432
+ isComposing = false;
1429
1433
 
1430
- var currentDocument = document.activeElement && document.activeElement.contentDocument || document;
1434
+ if (isIE()) {
1435
+ // if we are inside iframe, we need to find activeElement within its contentDocument
1436
+ var currentDocument = document.activeElement && document.activeElement.contentDocument || document;
1431
1437
 
1432
- if (currentDocument.activeElement !== ev.target) {
1433
- // fix an IE bug (blur from empty input element with placeholder attribute trigger "input" event)
1434
- return;
1438
+ if (currentDocument.activeElement !== ev.target) {
1439
+ // fix an IE bug (blur from empty input element with placeholder attribute trigger "input" event)
1440
+ return;
1441
+ }
1435
1442
  }
1436
1443
 
1437
1444
  var value = _this.props.value || '';
@@ -405,6 +405,8 @@ var _toConsumableArray = _interopDefault(require("@babel/runtime/helpers/toConsu
405
405
  return removeAccents(str).toLowerCase();
406
406
  }, getSubstringIndex = function(str, substr, ignoreAccents) {
407
407
  return ignoreAccents ? normalizeString(str).indexOf(normalizeString(substr)) : str.toLowerCase().indexOf(substr.toLowerCase());
408
+ }, isIE = function() {
409
+ return !!document.documentMode;
408
410
  }, isNumber = function(val) {
409
411
  return "number" == typeof val;
410
412
  }, keys = function(obj) {
@@ -887,27 +889,26 @@ var makeTriggerRegex = function(trigger) {
887
889
  var _this$props4, _this$props$valueLink;
888
890
  return _this.props.onChange ? (_this$props4 = _this.props).onChange.apply(_this$props4, [ event ].concat(args)) : _this.props.valueLink ? (_this$props$valueLink = _this.props.valueLink).requestChange.apply(_this$props$valueLink, [ event.target.value ].concat(args)) : void 0;
889
891
  }), _defineProperty(_assertThisInitialized(_this), "handleChange", function(ev) {
890
- if (isComposing = !1, (document.activeElement && document.activeElement.contentDocument || document).activeElement === ev.target) {
891
- var value = _this.props.value || "", config = readConfigFromChildren(_this.props.children), newPlainTextValue = ev.target.value, newValue = applyChangeToValue(value, newPlainTextValue, {
892
- selectionStartBefore: _this.state.selectionStart,
893
- selectionEndBefore: _this.state.selectionEnd,
894
- selectionEndAfter: ev.target.selectionEnd
895
- }, config);
896
- newPlainTextValue = getPlainText(newValue, config);
897
- var selectionStart = ev.target.selectionStart, selectionEnd = ev.target.selectionEnd, setSelectionAfterMentionChange = !1, startOfMention = findStartOfMentionInPlainText(value, config, selectionStart);
898
- void 0 !== startOfMention && _this.state.selectionEnd > startOfMention && (selectionEnd = selectionStart = startOfMention,
899
- setSelectionAfterMentionChange = !0), _this.setState({
900
- selectionStart: selectionStart,
901
- selectionEnd: selectionEnd,
902
- setSelectionAfterMentionChange: setSelectionAfterMentionChange
903
- });
904
- var mentions = getMentions(newValue, config), eventMock = {
905
- target: {
906
- value: newValue
907
- }
908
- };
909
- _this.executeOnChange(eventMock, newValue, newPlainTextValue, mentions);
910
- }
892
+ if ((isComposing = !1, isIE()) && (document.activeElement && document.activeElement.contentDocument || document).activeElement !== ev.target) return;
893
+ var value = _this.props.value || "", config = readConfigFromChildren(_this.props.children), newPlainTextValue = ev.target.value, newValue = applyChangeToValue(value, newPlainTextValue, {
894
+ selectionStartBefore: _this.state.selectionStart,
895
+ selectionEndBefore: _this.state.selectionEnd,
896
+ selectionEndAfter: ev.target.selectionEnd
897
+ }, config);
898
+ newPlainTextValue = getPlainText(newValue, config);
899
+ var selectionStart = ev.target.selectionStart, selectionEnd = ev.target.selectionEnd, setSelectionAfterMentionChange = !1, startOfMention = findStartOfMentionInPlainText(value, config, selectionStart);
900
+ void 0 !== startOfMention && _this.state.selectionEnd > startOfMention && (selectionEnd = selectionStart = startOfMention,
901
+ setSelectionAfterMentionChange = !0), _this.setState({
902
+ selectionStart: selectionStart,
903
+ selectionEnd: selectionEnd,
904
+ setSelectionAfterMentionChange: setSelectionAfterMentionChange
905
+ });
906
+ var mentions = getMentions(newValue, config), eventMock = {
907
+ target: {
908
+ value: newValue
909
+ }
910
+ };
911
+ _this.executeOnChange(eventMock, newValue, newPlainTextValue, mentions);
911
912
  }), _defineProperty(_assertThisInitialized(_this), "handleSelect", function(ev) {
912
913
  if (_this.setState({
913
914
  selectionStart: ev.target.selectionStart,
@@ -621,6 +621,10 @@ var getSubstringIndex = function getSubstringIndex(str, substr, ignoreAccents) {
621
621
  return normalizeString(str).indexOf(normalizeString(substr));
622
622
  };
623
623
 
624
+ var isIE = function isIE() {
625
+ return !!document.documentMode;
626
+ };
627
+
624
628
  var isNumber = function isNumber(val) {
625
629
  return typeof val === 'number';
626
630
  };
@@ -1417,13 +1421,16 @@ function (_React$Component) {
1417
1421
  });
1418
1422
 
1419
1423
  _defineProperty(_assertThisInitialized(_this), "handleChange", function (ev) {
1420
- isComposing = false; // if we are inside iframe, we need to find activeElement within its contentDocument
1424
+ isComposing = false;
1421
1425
 
1422
- var currentDocument = document.activeElement && document.activeElement.contentDocument || document;
1426
+ if (isIE()) {
1427
+ // if we are inside iframe, we need to find activeElement within its contentDocument
1428
+ var currentDocument = document.activeElement && document.activeElement.contentDocument || document;
1423
1429
 
1424
- if (currentDocument.activeElement !== ev.target) {
1425
- // fix an IE bug (blur from empty input element with placeholder attribute trigger "input" event)
1426
- return;
1430
+ if (currentDocument.activeElement !== ev.target) {
1431
+ // fix an IE bug (blur from empty input element with placeholder attribute trigger "input" event)
1432
+ return;
1433
+ }
1427
1434
  }
1428
1435
 
1429
1436
  var value = _this.props.value || '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-mentions",
3
- "version": "4.3.0",
3
+ "version": "4.3.1",
4
4
  "description": "React mentions input",
5
5
  "main": "dist/react-mentions.cjs.js",
6
6
  "module": "dist/react-mentions.esm.js",