react-mentions 3.1.0 → 3.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 +11 -10
- package/dist/react-mentions.cjs.dev.js +409 -52
- package/dist/react-mentions.cjs.prod.js +410 -41
- package/dist/react-mentions.esm.js +407 -50
- package/package.json +3 -2
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: !0
|
9
9
|
});
|
10
10
|
|
11
|
-
var _toConsumableArray = _interopDefault(require("@babel/runtime/helpers/toConsumableArray")), _extends = _interopDefault(require("@babel/runtime/helpers/extends")),
|
11
|
+
var _toConsumableArray = _interopDefault(require("@babel/runtime/helpers/toConsumableArray")), _extends = _interopDefault(require("@babel/runtime/helpers/extends")), _classCallCheck = _interopDefault(require("@babel/runtime/helpers/classCallCheck")), _createClass = _interopDefault(require("@babel/runtime/helpers/createClass")), _possibleConstructorReturn = _interopDefault(require("@babel/runtime/helpers/possibleConstructorReturn")), _getPrototypeOf = _interopDefault(require("@babel/runtime/helpers/getPrototypeOf")), _assertThisInitialized = _interopDefault(require("@babel/runtime/helpers/assertThisInitialized")), _inherits = _interopDefault(require("@babel/runtime/helpers/inherits")), _defineProperty = _interopDefault(require("@babel/runtime/helpers/defineProperty")), React = require("react"), React__default = _interopDefault(React), invariant = _interopDefault(require("invariant")), _slicedToArray = _interopDefault(require("@babel/runtime/helpers/slicedToArray")), PropTypes = _interopDefault(require("prop-types")), substyle = require("substyle"), substyle__default = _interopDefault(substyle), isEqual = _interopDefault(require("lodash/isEqual")), isNumber = _interopDefault(require("lodash/isNumber")), ReactDOM = _interopDefault(require("react-dom")), omit = _interopDefault(require("lodash/omit")), keys = _interopDefault(require("lodash/keys")), values = _interopDefault(require("lodash/values")), escapeRegex = function(str) {
|
12
12
|
return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
13
13
|
}, PLACEHOLDERS = {
|
14
14
|
id: "__id__",
|
@@ -124,7 +124,311 @@ var _toConsumableArray = _interopDefault(require("@babel/runtime/helpers/toConsu
|
|
124
124
|
regex;
|
125
125
|
}, makeMentionsMarkup = function(markup, id, display) {
|
126
126
|
return markup.replace(PLACEHOLDERS.id, id).replace(PLACEHOLDERS.display, display);
|
127
|
-
},
|
127
|
+
}, lettersDiacritics = [ {
|
128
|
+
base: "A",
|
129
|
+
letters: /(A|Ⓐ|A|À|Á|Â|Ầ|Ấ|Ẫ|Ẩ|Ã|Ā|Ă|Ằ|Ắ|Ẵ|Ẳ|Ȧ|Ǡ|Ä|Ǟ|Ả|Å|Ǻ|Ǎ|Ȁ|Ȃ|Ạ|Ậ|Ặ|Ḁ|Ą|Ⱥ|Ɐ|[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F])/g
|
130
|
+
}, {
|
131
|
+
base: "AA",
|
132
|
+
letters: /(Ꜳ|[\uA732])/g
|
133
|
+
}, {
|
134
|
+
base: "AE",
|
135
|
+
letters: /(Æ|Ǽ|Ǣ|[\u00C6\u01FC\u01E2])/g
|
136
|
+
}, {
|
137
|
+
base: "AO",
|
138
|
+
letters: /(Ꜵ|[\uA734])/g
|
139
|
+
}, {
|
140
|
+
base: "AU",
|
141
|
+
letters: /(Ꜷ|[\uA736])/g
|
142
|
+
}, {
|
143
|
+
base: "AV",
|
144
|
+
letters: /(Ꜹ|Ꜻ|[\uA738\uA73A])/g
|
145
|
+
}, {
|
146
|
+
base: "AY",
|
147
|
+
letters: /(Ꜽ|[\uA73C])/g
|
148
|
+
}, {
|
149
|
+
base: "B",
|
150
|
+
letters: /(B|Ⓑ|B|Ḃ|Ḅ|Ḇ|Ƀ|Ƃ|Ɓ|[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181])/g
|
151
|
+
}, {
|
152
|
+
base: "C",
|
153
|
+
letters: /(C|Ⓒ|C|Ć|Ĉ|Ċ|Č|Ç|Ḉ|Ƈ|Ȼ|Ꜿ|[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E])/g
|
154
|
+
}, {
|
155
|
+
base: "D",
|
156
|
+
letters: /(D|Ⓓ|D|Ḋ|Ď|Ḍ|Ḑ|Ḓ|Ḏ|Đ|Ƌ|Ɗ|Ɖ|Ꝺ|Ð|[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779\u00D0])/g
|
157
|
+
}, {
|
158
|
+
base: "DZ",
|
159
|
+
letters: /(DZ|DŽ|[\u01F1\u01C4])/g
|
160
|
+
}, {
|
161
|
+
base: "Dz",
|
162
|
+
letters: /(Dz|Dž|[\u01F2\u01C5])/g
|
163
|
+
}, {
|
164
|
+
base: "E",
|
165
|
+
letters: /(E|Ⓔ|E|È|É|Ê|Ề|Ế|Ễ|Ể|Ẽ|Ē|Ḕ|Ḗ|Ĕ|Ė|Ë|Ẻ|Ě|Ȅ|Ȇ|Ẹ|Ệ|Ȩ|Ḝ|Ę|Ḙ|Ḛ|Ɛ|Ǝ|[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E])/g
|
166
|
+
}, {
|
167
|
+
base: "F",
|
168
|
+
letters: /(F|Ⓕ|F|Ḟ|Ƒ|Ꝼ|[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B])/g
|
169
|
+
}, {
|
170
|
+
base: "G",
|
171
|
+
letters: /(G|Ⓖ|G|Ǵ|Ĝ|Ḡ|Ğ|Ġ|Ǧ|Ģ|Ǥ|Ɠ|Ꞡ|Ᵹ|Ꝿ|[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E])/g
|
172
|
+
}, {
|
173
|
+
base: "H",
|
174
|
+
letters: /(H|Ⓗ|H|Ĥ|Ḣ|Ḧ|Ȟ|Ḥ|Ḩ|Ḫ|Ħ|Ⱨ|Ⱶ|Ɥ|[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D])/g
|
175
|
+
}, {
|
176
|
+
base: "I",
|
177
|
+
letters: /(I|Ⓘ|I|Ì|Í|Î|Ĩ|Ī|Ĭ|İ|Ï|Ḯ|Ỉ|Ǐ|Ȉ|Ȋ|Ị|Į|Ḭ|Ɨ|[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197])/g
|
178
|
+
}, {
|
179
|
+
base: "J",
|
180
|
+
letters: /(J|Ⓙ|J|Ĵ|Ɉ|[\u004A\u24BF\uFF2A\u0134\u0248])/g
|
181
|
+
}, {
|
182
|
+
base: "K",
|
183
|
+
letters: /(K|Ⓚ|K|Ḱ|Ǩ|Ḳ|Ķ|Ḵ|Ƙ|Ⱪ|Ꝁ|Ꝃ|Ꝅ|Ꞣ|[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2])/g
|
184
|
+
}, {
|
185
|
+
base: "L",
|
186
|
+
letters: /(L|Ⓛ|L|Ŀ|Ĺ|Ľ|Ḷ|Ḹ|Ļ|Ḽ|Ḻ|Ł|Ƚ|Ɫ|Ⱡ|Ꝉ|Ꝇ|Ꞁ|[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780])/g
|
187
|
+
}, {
|
188
|
+
base: "LJ",
|
189
|
+
letters: /(LJ|[\u01C7])/g
|
190
|
+
}, {
|
191
|
+
base: "Lj",
|
192
|
+
letters: /(Lj|[\u01C8])/g
|
193
|
+
}, {
|
194
|
+
base: "M",
|
195
|
+
letters: /(M|Ⓜ|M|Ḿ|Ṁ|Ṃ|Ɱ|Ɯ|[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C])/g
|
196
|
+
}, {
|
197
|
+
base: "N",
|
198
|
+
letters: /(N|Ⓝ|N|Ǹ|Ń|Ñ|Ṅ|Ň|Ṇ|Ņ|Ṋ|Ṉ|Ƞ|Ɲ|Ꞑ|Ꞥ|Ŋ|[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4\u014A])/g
|
199
|
+
}, {
|
200
|
+
base: "NJ",
|
201
|
+
letters: /(NJ|[\u01CA])/g
|
202
|
+
}, {
|
203
|
+
base: "Nj",
|
204
|
+
letters: /(Nj|[\u01CB])/g
|
205
|
+
}, {
|
206
|
+
base: "O",
|
207
|
+
letters: /(O|Ⓞ|O|Ò|Ó|Ô|Ồ|Ố|Ỗ|Ổ|Õ|Ṍ|Ȭ|Ṏ|Ō|Ṑ|Ṓ|Ŏ|Ȯ|Ȱ|Ö|Ȫ|Ỏ|Ő|Ǒ|Ȍ|Ȏ|Ơ|Ờ|Ớ|Ỡ|Ở|Ợ|Ọ|Ộ|Ǫ|Ǭ|Ø|Ǿ|Ɔ|Ɵ|Ꝋ|Ꝍ|[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C])/g
|
208
|
+
}, {
|
209
|
+
base: "OE",
|
210
|
+
letters: /(Œ|[\u0152])/g
|
211
|
+
}, {
|
212
|
+
base: "OI",
|
213
|
+
letters: /(Ƣ|[\u01A2])/g
|
214
|
+
}, {
|
215
|
+
base: "OO",
|
216
|
+
letters: /(Ꝏ|[\uA74E])/g
|
217
|
+
}, {
|
218
|
+
base: "OU",
|
219
|
+
letters: /(Ȣ|[\u0222])/g
|
220
|
+
}, {
|
221
|
+
base: "P",
|
222
|
+
letters: /(P|Ⓟ|P|Ṕ|Ṗ|Ƥ|Ᵽ|Ꝑ|Ꝓ|Ꝕ|[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754])/g
|
223
|
+
}, {
|
224
|
+
base: "Q",
|
225
|
+
letters: /(Q|Ⓠ|Q|Ꝗ|Ꝙ|Ɋ|[\u0051\u24C6\uFF31\uA756\uA758\u024A])/g
|
226
|
+
}, {
|
227
|
+
base: "R",
|
228
|
+
letters: /(R|Ⓡ|R|Ŕ|Ṙ|Ř|Ȑ|Ȓ|Ṛ|Ṝ|Ŗ|Ṟ|Ɍ|Ɽ|Ꝛ|Ꞧ|Ꞃ|[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782])/g
|
229
|
+
}, {
|
230
|
+
base: "S",
|
231
|
+
letters: /(S|Ⓢ|S|ẞ|Ś|Ṥ|Ŝ|Ṡ|Š|Ṧ|Ṣ|Ṩ|Ș|Ş|Ȿ|Ꞩ|Ꞅ|[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784])/g
|
232
|
+
}, {
|
233
|
+
base: "T",
|
234
|
+
letters: /(T|Ⓣ|T|Ṫ|Ť|Ṭ|Ț|Ţ|Ṱ|Ṯ|Ŧ|Ƭ|Ʈ|Ⱦ|Ꞇ|[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786])/g
|
235
|
+
}, {
|
236
|
+
base: "TH",
|
237
|
+
letters: /(Þ|[\u00DE])/g
|
238
|
+
}, {
|
239
|
+
base: "TZ",
|
240
|
+
letters: /(Ꜩ|[\uA728])/g
|
241
|
+
}, {
|
242
|
+
base: "U",
|
243
|
+
letters: /(U|Ⓤ|U|Ù|Ú|Û|Ũ|Ṹ|Ū|Ṻ|Ŭ|Ü|Ǜ|Ǘ|Ǖ|Ǚ|Ủ|Ů|Ű|Ǔ|Ȕ|Ȗ|Ư|Ừ|Ứ|Ữ|Ử|Ự|Ụ|Ṳ|Ų|Ṷ|Ṵ|Ʉ|[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244])/g
|
244
|
+
}, {
|
245
|
+
base: "V",
|
246
|
+
letters: /(V|Ⓥ|V|Ṽ|Ṿ|Ʋ|Ꝟ|Ʌ|[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245])/g
|
247
|
+
}, {
|
248
|
+
base: "VY",
|
249
|
+
letters: /(Ꝡ|[\uA760])/g
|
250
|
+
}, {
|
251
|
+
base: "W",
|
252
|
+
letters: /(W|Ⓦ|W|Ẁ|Ẃ|Ŵ|Ẇ|Ẅ|Ẉ|Ⱳ|[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72])/g
|
253
|
+
}, {
|
254
|
+
base: "X",
|
255
|
+
letters: /(X|Ⓧ|X|Ẋ|Ẍ|[\u0058\u24CD\uFF38\u1E8A\u1E8C])/g
|
256
|
+
}, {
|
257
|
+
base: "Y",
|
258
|
+
letters: /(Y|Ⓨ|Y|Ỳ|Ý|Ŷ|Ỹ|Ȳ|Ẏ|Ÿ|Ỷ|Ỵ|Ƴ|Ɏ|Ỿ|[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE])/g
|
259
|
+
}, {
|
260
|
+
base: "Z",
|
261
|
+
letters: /(Z|Ⓩ|Z|Ź|Ẑ|Ż|Ž|Ẓ|Ẕ|Ƶ|Ȥ|Ɀ|Ⱬ|Ꝣ|[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762])/g
|
262
|
+
}, {
|
263
|
+
base: "a",
|
264
|
+
letters: /(a|ⓐ|a|ẚ|à|á|â|ầ|ấ|ẫ|ẩ|ã|ā|ă|ằ|ắ|ẵ|ẳ|ȧ|ǡ|ä|ǟ|ả|å|ǻ|ǎ|ȁ|ȃ|ạ|ậ|ặ|ḁ|ą|ⱥ|ɐ|[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250])/g
|
265
|
+
}, {
|
266
|
+
base: "aa",
|
267
|
+
letters: /(ꜳ|[\uA733])/g
|
268
|
+
}, {
|
269
|
+
base: "ae",
|
270
|
+
letters: /(æ|ǽ|ǣ|[\u00E6\u01FD\u01E3])/g
|
271
|
+
}, {
|
272
|
+
base: "ao",
|
273
|
+
letters: /(ꜵ|[\uA735])/g
|
274
|
+
}, {
|
275
|
+
base: "au",
|
276
|
+
letters: /(ꜷ|[\uA737])/g
|
277
|
+
}, {
|
278
|
+
base: "av",
|
279
|
+
letters: /(ꜹ|ꜻ|[\uA739\uA73B])/g
|
280
|
+
}, {
|
281
|
+
base: "ay",
|
282
|
+
letters: /(ꜽ|[\uA73D])/g
|
283
|
+
}, {
|
284
|
+
base: "b",
|
285
|
+
letters: /(b|ⓑ|b|ḃ|ḅ|ḇ|ƀ|ƃ|ɓ|[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253])/g
|
286
|
+
}, {
|
287
|
+
base: "c",
|
288
|
+
letters: /(c|ⓒ|c|ć|ĉ|ċ|č|ç|ḉ|ƈ|ȼ|ꜿ|ↄ|[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184])/g
|
289
|
+
}, {
|
290
|
+
base: "d",
|
291
|
+
letters: /(d|ⓓ|d|ḋ|ď|ḍ|ḑ|ḓ|ḏ|đ|ƌ|ɖ|ɗ|ꝺ|ð|[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A\u00F0])/g
|
292
|
+
}, {
|
293
|
+
base: "dz",
|
294
|
+
letters: /(dz|dž|[\u01F3\u01C6])/g
|
295
|
+
}, {
|
296
|
+
base: "e",
|
297
|
+
letters: /(e|ⓔ|e|è|é|ê|ề|ế|ễ|ể|ẽ|ē|ḕ|ḗ|ĕ|ė|ë|ẻ|ě|ȅ|ȇ|ẹ|ệ|ȩ|ḝ|ę|ḙ|ḛ|ɇ|ɛ|ǝ|[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD])/g
|
298
|
+
}, {
|
299
|
+
base: "f",
|
300
|
+
letters: /(f|ⓕ|f|ḟ|ƒ|ꝼ|[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C])/g
|
301
|
+
}, {
|
302
|
+
base: "g",
|
303
|
+
letters: /(g|ⓖ|g|ǵ|ĝ|ḡ|ğ|ġ|ǧ|ģ|ǥ|ɠ|ꞡ|ᵹ|ꝿ|[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F])/g
|
304
|
+
}, {
|
305
|
+
base: "h",
|
306
|
+
letters: /(h|ⓗ|h|ĥ|ḣ|ḧ|ȟ|ḥ|ḩ|ḫ|ẖ|ħ|ⱨ|ⱶ|ɥ|[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265])/g
|
307
|
+
}, {
|
308
|
+
base: "hv",
|
309
|
+
letters: /(ƕ|[\u0195])/g
|
310
|
+
}, {
|
311
|
+
base: "i",
|
312
|
+
letters: /(i|ⓘ|i|ì|í|î|ĩ|ī|ĭ|ï|ḯ|ỉ|ǐ|ȉ|ȋ|ị|į|ḭ|ɨ|ı|[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131])/g
|
313
|
+
}, {
|
314
|
+
base: "ij",
|
315
|
+
letters: /(ij|[\u0133])/g
|
316
|
+
}, {
|
317
|
+
base: "j",
|
318
|
+
letters: /(j|ⓙ|j|ĵ|ǰ|ɉ|[\u006A\u24D9\uFF4A\u0135\u01F0\u0249])/g
|
319
|
+
}, {
|
320
|
+
base: "k",
|
321
|
+
letters: /(k|ⓚ|k|ḱ|ǩ|ḳ|ķ|ḵ|ƙ|ⱪ|ꝁ|ꝃ|ꝅ|ꞣ|[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3])/g
|
322
|
+
}, {
|
323
|
+
base: "l",
|
324
|
+
letters: /(l|ⓛ|l|ŀ|ĺ|ľ|ḷ|ḹ|ļ|ḽ|ḻ|ł|ƚ|ɫ|ⱡ|ꝉ|ꞁ|ꝇ|[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u0142\u019A\u026B\u2C61\uA749\uA781\uA747])/g
|
325
|
+
}, {
|
326
|
+
base: "lj",
|
327
|
+
letters: /(lj|[\u01C9])/g
|
328
|
+
}, {
|
329
|
+
base: "m",
|
330
|
+
letters: /(m|ⓜ|m|ḿ|ṁ|ṃ|ɱ|ɯ|[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F])/g
|
331
|
+
}, {
|
332
|
+
base: "n",
|
333
|
+
letters: /(n|ⓝ|n|ǹ|ń|ñ|ṅ|ň|ṇ|ņ|ṋ|ṉ|ƞ|ɲ|ʼn|ꞑ|ꞥ|ŋ|[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5\u014B])/g
|
334
|
+
}, {
|
335
|
+
base: "nj",
|
336
|
+
letters: /(nj|[\u01CC])/g
|
337
|
+
}, {
|
338
|
+
base: "o",
|
339
|
+
letters: /(o|ⓞ|o|ò|ó|ô|ồ|ố|ỗ|ổ|õ|ṍ|ȭ|ṏ|ō|ṑ|ṓ|ŏ|ȯ|ȱ|ö|ȫ|ỏ|ő|ǒ|ȍ|ȏ|ơ|ờ|ớ|ỡ|ở|ợ|ọ|ộ|ǫ|ǭ|ø|ǿ|ɔ|ꝋ|ꝍ|ɵ|[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275])/g
|
340
|
+
}, {
|
341
|
+
base: "oe",
|
342
|
+
letters: /(œ|[\u0153])/g
|
343
|
+
}, {
|
344
|
+
base: "oi",
|
345
|
+
letters: /(ƣ|[\u01A3])/g
|
346
|
+
}, {
|
347
|
+
base: "ou",
|
348
|
+
letters: /(ȣ|[\u0223])/g
|
349
|
+
}, {
|
350
|
+
base: "oo",
|
351
|
+
letters: /(ꝏ|[\uA74F])/g
|
352
|
+
}, {
|
353
|
+
base: "p",
|
354
|
+
letters: /(p|ⓟ|p|ṕ|ṗ|ƥ|ᵽ|ꝑ|ꝓ|ꝕ|[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755])/g
|
355
|
+
}, {
|
356
|
+
base: "q",
|
357
|
+
letters: /(q|ⓠ|q|ɋ|ꝗ|ꝙ|[\u0071\u24E0\uFF51\u024B\uA757\uA759])/g
|
358
|
+
}, {
|
359
|
+
base: "r",
|
360
|
+
letters: /(r|ⓡ|r|ŕ|ṙ|ř|ȑ|ȓ|ṛ|ṝ|ŗ|ṟ|ɍ|ɽ|ꝛ|ꞧ|ꞃ|[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783])/g
|
361
|
+
}, {
|
362
|
+
base: "s",
|
363
|
+
letters: /(s|ⓢ|s|ś|ṥ|ŝ|ṡ|š|ṧ|ṣ|ṩ|ș|ş|ȿ|ꞩ|ꞅ|ẛ|ſ|[\u0073\u24E2\uFF53\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B\u017F])/g
|
364
|
+
}, {
|
365
|
+
base: "ss",
|
366
|
+
letters: /(ß|[\u00DF])/g
|
367
|
+
}, {
|
368
|
+
base: "t",
|
369
|
+
letters: /(t|ⓣ|t|ṫ|ẗ|ť|ṭ|ț|ţ|ṱ|ṯ|ŧ|ƭ|ʈ|ⱦ|ꞇ|[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787])/g
|
370
|
+
}, {
|
371
|
+
base: "th",
|
372
|
+
letters: /(þ|[\u00FE])/g
|
373
|
+
}, {
|
374
|
+
base: "tz",
|
375
|
+
letters: /(ꜩ|[\uA729])/g
|
376
|
+
}, {
|
377
|
+
base: "u",
|
378
|
+
letters: /(u|ⓤ|u|ù|ú|û|ũ|ṹ|ū|ṻ|ŭ|ü|ǜ|ǘ|ǖ|ǚ|ủ|ů|ű|ǔ|ȕ|ȗ|ư|ừ|ứ|ữ|ử|ự|ụ|ṳ|ų|ṷ|ṵ|ʉ|[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289])/g
|
379
|
+
}, {
|
380
|
+
base: "v",
|
381
|
+
letters: /(v|ⓥ|v|ṽ|ṿ|ʋ|ꝟ|ʌ|[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C])/g
|
382
|
+
}, {
|
383
|
+
base: "vy",
|
384
|
+
letters: /(ꝡ|[\uA761])/g
|
385
|
+
}, {
|
386
|
+
base: "w",
|
387
|
+
letters: /(w|ⓦ|w|ẁ|ẃ|ŵ|ẇ|ẅ|ẘ|ẉ|ⱳ|[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73])/g
|
388
|
+
}, {
|
389
|
+
base: "x",
|
390
|
+
letters: /(x|ⓧ|x|ẋ|ẍ|[\u0078\u24E7\uFF58\u1E8B\u1E8D])/g
|
391
|
+
}, {
|
392
|
+
base: "y",
|
393
|
+
letters: /(y|ⓨ|y|ỳ|ý|ŷ|ỹ|ȳ|ẏ|ÿ|ỷ|ẙ|ỵ|ƴ|ɏ|ỿ|[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF])/g
|
394
|
+
}, {
|
395
|
+
base: "z",
|
396
|
+
letters: /(z|ⓩ|z|ź|ẑ|ż|ž|ẓ|ẕ|ƶ|ȥ|ɀ|ⱬ|ꝣ|[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763])/g
|
397
|
+
} ], removeAccents = function(str) {
|
398
|
+
var formattedStr = str;
|
399
|
+
return lettersDiacritics.forEach(function(letterDiacritics) {
|
400
|
+
formattedStr = formattedStr.replace(letterDiacritics.letters, letterDiacritics.base);
|
401
|
+
}), formattedStr;
|
402
|
+
}, normalizeString = function(str) {
|
403
|
+
return removeAccents(str).toLowerCase();
|
404
|
+
}, getSubstringIndex = function(str, substr, ignoreAccents) {
|
405
|
+
return ignoreAccents ? normalizeString(str).indexOf(normalizeString(substr)) : str.toLowerCase().indexOf(substr.toLowerCase());
|
406
|
+
};
|
407
|
+
|
408
|
+
function ownKeys(object, enumerableOnly) {
|
409
|
+
var keys = Object.keys(object);
|
410
|
+
if (Object.getOwnPropertySymbols) {
|
411
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
412
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
413
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
414
|
+
})), keys.push.apply(keys, symbols);
|
415
|
+
}
|
416
|
+
return keys;
|
417
|
+
}
|
418
|
+
|
419
|
+
function _objectSpread(target) {
|
420
|
+
for (var i = 1; i < arguments.length; i++) {
|
421
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
422
|
+
i % 2 ? ownKeys(source, !0).forEach(function(key) {
|
423
|
+
_defineProperty(target, key, source[key]);
|
424
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(source).forEach(function(key) {
|
425
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
426
|
+
});
|
427
|
+
}
|
428
|
+
return target;
|
429
|
+
}
|
430
|
+
|
431
|
+
var _generateComponentKey = function(usedKeys, id) {
|
128
432
|
return usedKeys.hasOwnProperty(id) ? usedKeys[id]++ : usedKeys[id] = 0, id + "_" + usedKeys[id];
|
129
433
|
}, Highlighter = function(_Component) {
|
130
434
|
function Highlighter() {
|
@@ -174,7 +478,7 @@ var _toConsumableArray = _interopDefault(require("@babel/runtime/helpers/toConsu
|
|
174
478
|
substringComponentKey++;
|
175
479
|
}), components.push(" "), components !== resultComponents && resultComponents.push(this.renderHighlighterCaret(components)),
|
176
480
|
React__default.createElement("div", _extends({}, style, {
|
177
|
-
style: _objectSpread({}, inputStyle, style.style)
|
481
|
+
style: _objectSpread({}, inputStyle, {}, style.style)
|
178
482
|
}), resultComponents);
|
179
483
|
}
|
180
484
|
}, {
|
@@ -267,7 +571,7 @@ var styled = substyle.defaultStyle({
|
|
267
571
|
}, {
|
268
572
|
key: "renderHighlightedDisplay",
|
269
573
|
value: function(display) {
|
270
|
-
var _this$props2 = this.props, query = _this$props2.query, style = _this$props2.style, i = display
|
574
|
+
var _this$props2 = this.props, ignoreAccents = _this$props2.ignoreAccents, query = _this$props2.query, style = _this$props2.style, i = getSubstringIndex(display, query, ignoreAccents);
|
271
575
|
return -1 === i ? React__default.createElement("span", style("display"), display) : 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));
|
272
576
|
}
|
273
577
|
} ]), Suggestion;
|
@@ -277,6 +581,7 @@ _defineProperty(Suggestion, "propTypes", {
|
|
277
581
|
id: PropTypes.oneOfType([ PropTypes.string, PropTypes.number ]).isRequired,
|
278
582
|
query: PropTypes.string.isRequired,
|
279
583
|
index: PropTypes.number.isRequired,
|
584
|
+
ignoreAccents: PropTypes.bool,
|
280
585
|
suggestion: PropTypes.oneOfType([ PropTypes.string, PropTypes.shape({
|
281
586
|
id: PropTypes.oneOfType([ PropTypes.string, PropTypes.number ]).isRequired,
|
282
587
|
display: PropTypes.string
|
@@ -298,7 +603,32 @@ function LoadingIndicator(_ref) {
|
|
298
603
|
return React__default.createElement("div", style, React__default.createElement("div", spinnerStyle, React__default.createElement("div", spinnerStyle([ "element", "element1" ])), React__default.createElement("div", spinnerStyle([ "element", "element2" ])), React__default.createElement("div", spinnerStyle([ "element", "element3" ])), React__default.createElement("div", spinnerStyle([ "element", "element4" ])), React__default.createElement("div", spinnerStyle([ "element", "element5" ]))));
|
299
604
|
}
|
300
605
|
|
301
|
-
var LoadingIndicator$1 = substyle__default(LoadingIndicator)
|
606
|
+
var LoadingIndicator$1 = substyle__default(LoadingIndicator);
|
607
|
+
|
608
|
+
function ownKeys$1(object, enumerableOnly) {
|
609
|
+
var keys = Object.keys(object);
|
610
|
+
if (Object.getOwnPropertySymbols) {
|
611
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
612
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
613
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
614
|
+
})), keys.push.apply(keys, symbols);
|
615
|
+
}
|
616
|
+
return keys;
|
617
|
+
}
|
618
|
+
|
619
|
+
function _objectSpread$1(target) {
|
620
|
+
for (var i = 1; i < arguments.length; i++) {
|
621
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
622
|
+
i % 2 ? ownKeys$1(source, !0).forEach(function(key) {
|
623
|
+
_defineProperty(target, key, source[key]);
|
624
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(source).forEach(function(key) {
|
625
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
626
|
+
});
|
627
|
+
}
|
628
|
+
return target;
|
629
|
+
}
|
630
|
+
|
631
|
+
var SuggestionsOverlay = function(_Component) {
|
302
632
|
function SuggestionsOverlay() {
|
303
633
|
return _classCallCheck(this, SuggestionsOverlay), _possibleConstructorReturn(this, _getPrototypeOf(SuggestionsOverlay).apply(this, arguments));
|
304
634
|
}
|
@@ -336,13 +666,14 @@ var LoadingIndicator$1 = substyle__default(LoadingIndicator), SuggestionsOverlay
|
|
336
666
|
}, {
|
337
667
|
key: "renderSuggestion",
|
338
668
|
value: function(result, queryInfo, index) {
|
339
|
-
var _this3 = this, id = this.getID(result), isFocused = index === this.props.focusIndex, childIndex = queryInfo.childIndex, query = queryInfo.query, renderSuggestion = React.Children.toArray(this.props.children)[childIndex].props.renderSuggestion;
|
669
|
+
var _this3 = this, id = this.getID(result), isFocused = index === this.props.focusIndex, childIndex = queryInfo.childIndex, query = queryInfo.query, renderSuggestion = React.Children.toArray(this.props.children)[childIndex].props.renderSuggestion, ignoreAccents = this.props.ignoreAccents;
|
340
670
|
return React__default.createElement(Suggestion$1, {
|
341
671
|
style: this.props.style("item"),
|
342
672
|
key: "".concat(childIndex, "-").concat(id),
|
343
673
|
id: id,
|
344
674
|
query: query,
|
345
675
|
index: index,
|
676
|
+
ignoreAccents: ignoreAccents,
|
346
677
|
renderSuggestion: renderSuggestion,
|
347
678
|
suggestion: result,
|
348
679
|
focused: isFocused,
|
@@ -385,6 +716,7 @@ _defineProperty(SuggestionsOverlay, "propTypes", {
|
|
385
716
|
scrollFocusedIntoView: PropTypes.bool,
|
386
717
|
isLoading: PropTypes.bool,
|
387
718
|
onSelect: PropTypes.func,
|
719
|
+
ignoreAccents: PropTypes.bool,
|
388
720
|
children: PropTypes.oneOfType([ PropTypes.element, PropTypes.arrayOf(PropTypes.element) ]).isRequired
|
389
721
|
}), _defineProperty(SuggestionsOverlay, "defaultProps", {
|
390
722
|
suggestions: {},
|
@@ -394,29 +726,54 @@ _defineProperty(SuggestionsOverlay, "propTypes", {
|
|
394
726
|
});
|
395
727
|
|
396
728
|
var styled$2 = substyle.defaultStyle(function(_ref2) {
|
397
|
-
|
398
|
-
return _objectSpread({
|
729
|
+
return _objectSpread$1({
|
399
730
|
position: "absolute",
|
400
731
|
zIndex: 1,
|
401
732
|
backgroundColor: "white",
|
402
733
|
marginTop: 14,
|
403
734
|
minWidth: 100
|
404
|
-
}, position, {
|
735
|
+
}, _ref2.position, {
|
405
736
|
list: {
|
406
737
|
margin: 0,
|
407
738
|
padding: 0,
|
408
739
|
listStyleType: "none"
|
409
740
|
}
|
410
741
|
});
|
411
|
-
}), SuggestionsOverlay$1 = styled$2(SuggestionsOverlay)
|
742
|
+
}), SuggestionsOverlay$1 = styled$2(SuggestionsOverlay);
|
743
|
+
|
744
|
+
function ownKeys$2(object, enumerableOnly) {
|
745
|
+
var keys = Object.keys(object);
|
746
|
+
if (Object.getOwnPropertySymbols) {
|
747
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
748
|
+
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
749
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
750
|
+
})), keys.push.apply(keys, symbols);
|
751
|
+
}
|
752
|
+
return keys;
|
753
|
+
}
|
754
|
+
|
755
|
+
function _objectSpread$2(target) {
|
756
|
+
for (var i = 1; i < arguments.length; i++) {
|
757
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
758
|
+
i % 2 ? ownKeys$2(source, !0).forEach(function(key) {
|
759
|
+
_defineProperty(target, key, source[key]);
|
760
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(source).forEach(function(key) {
|
761
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
762
|
+
});
|
763
|
+
}
|
764
|
+
return target;
|
765
|
+
}
|
766
|
+
|
767
|
+
var makeTriggerRegex = function(trigger) {
|
412
768
|
var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
|
413
769
|
if (trigger instanceof RegExp) return trigger;
|
414
770
|
var allowSpaceInQuery = options.allowSpaceInQuery, escapedTriggerChar = escapeRegex(trigger);
|
415
771
|
return new RegExp("(?:^|\\s)(".concat(escapedTriggerChar, "([^").concat(allowSpaceInQuery ? "" : "\\s").concat(escapedTriggerChar, "]*))$"));
|
416
|
-
}, getDataProvider = function(data) {
|
772
|
+
}, getDataProvider = function(data, ignoreAccents) {
|
417
773
|
return data instanceof Array ? function(query, callback) {
|
418
774
|
for (var results = [], i = 0, l = data.length; i < l; ++i) {
|
419
|
-
|
775
|
+
var display = data[i].display || data[i].id;
|
776
|
+
getSubstringIndex(display, query, ignoreAccents) >= 0 && results.push(data[i]);
|
420
777
|
}
|
421
778
|
return results;
|
422
779
|
} : data;
|
@@ -430,6 +787,8 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
430
787
|
singleLine: PropTypes.bool,
|
431
788
|
allowSpaceInQuery: PropTypes.bool,
|
432
789
|
EXPERIMENTAL_cutCopyPaste: PropTypes.bool,
|
790
|
+
allowSuggestionsAboveCursor: PropTypes.bool,
|
791
|
+
ignoreAccents: PropTypes.bool,
|
433
792
|
value: PropTypes.string,
|
434
793
|
onKeyDown: PropTypes.func,
|
435
794
|
onSelect: PropTypes.func,
|
@@ -445,8 +804,8 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
445
804
|
var _this;
|
446
805
|
return _classCallCheck(this, MentionsInput), _this = _possibleConstructorReturn(this, _getPrototypeOf(MentionsInput).call(this, _props)),
|
447
806
|
_defineProperty(_assertThisInitialized(_this), "getInputProps", function(isTextarea) {
|
448
|
-
var _this$props = _this.props, readOnly = _this$props.readOnly, disabled = _this$props.disabled, style = _this$props.style
|
449
|
-
return _objectSpread({}, props, style("input"), {
|
807
|
+
var _this$props = _this.props, readOnly = _this$props.readOnly, disabled = _this$props.disabled, style = _this$props.style;
|
808
|
+
return _objectSpread$2({}, omit(_this.props, "style", keys(propTypes)), {}, style("input"), {
|
450
809
|
value: _this.getPlainText()
|
451
810
|
}, !readOnly && !disabled && {
|
452
811
|
onChange: _this.handleChange,
|
@@ -492,7 +851,8 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
492
851
|
scrollFocusedIntoView: !1
|
493
852
|
});
|
494
853
|
},
|
495
|
-
isLoading: _this.isLoading()
|
854
|
+
isLoading: _this.isLoading(),
|
855
|
+
ignoreAccents: _this.props.ignoreAccents
|
496
856
|
}, _this.props.children);
|
497
857
|
return _this.props.suggestionsPortalHost ? ReactDOM.createPortal(suggestionsNode, _this.props.suggestionsPortalHost) : suggestionsNode;
|
498
858
|
}), _defineProperty(_assertThisInitialized(_this), "renderHighlighter", function(inputStyle) {
|
@@ -602,27 +962,26 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
602
962
|
}), _defineProperty(_assertThisInitialized(_this), "handleSuggestionsMouseDown", function(ev) {
|
603
963
|
_this._suggestionsMouseDown = !0;
|
604
964
|
}), _defineProperty(_assertThisInitialized(_this), "updateSuggestionsPosition", function() {
|
605
|
-
var caretPosition = _this.state.caretPosition;
|
965
|
+
var caretPosition = _this.state.caretPosition, _this$props5 = _this.props, suggestionsPortalHost = _this$props5.suggestionsPortalHost, allowSuggestionsAboveCursor = _this$props5.allowSuggestionsAboveCursor;
|
606
966
|
if (caretPosition && _this.suggestionsRef) {
|
607
|
-
var suggestions = ReactDOM.findDOMNode(_this.suggestionsRef), highlighter = ReactDOM.findDOMNode(_this.highlighterRef)
|
967
|
+
var suggestions = ReactDOM.findDOMNode(_this.suggestionsRef), highlighter = ReactDOM.findDOMNode(_this.highlighterRef), caretOffsetParentRect = highlighter.getBoundingClientRect(), caretHeight = getComputedStyleLengthProp(highlighter, "font-size"), viewportRelative = {
|
968
|
+
left: caretOffsetParentRect.left + caretPosition.left,
|
969
|
+
top: caretOffsetParentRect.top + caretPosition.top + caretHeight
|
970
|
+
}, viewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
|
608
971
|
if (suggestions) {
|
609
972
|
var position = {};
|
610
|
-
if (
|
611
|
-
var caretOffsetParentRect = highlighter.getBoundingClientRect(), caretHeight = getComputedStyleLengthProp(highlighter, "font-size"), viewportRelative = {
|
612
|
-
left: caretOffsetParentRect.left + caretPosition.left,
|
613
|
-
top: caretOffsetParentRect.top + caretPosition.top + caretHeight
|
614
|
-
};
|
973
|
+
if (suggestionsPortalHost) {
|
615
974
|
position.position = "fixed";
|
616
|
-
var left = viewportRelative.left;
|
617
|
-
|
618
|
-
|
619
|
-
position.top -= highlighter.scrollTop;
|
975
|
+
var left = viewportRelative.left, top = viewportRelative.top;
|
976
|
+
left -= getComputedStyleLengthProp(suggestions, "margin-left"), top -= getComputedStyleLengthProp(suggestions, "margin-top"),
|
977
|
+
left -= highlighter.scrollLeft, top -= highlighter.scrollTop;
|
620
978
|
var viewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
|
621
|
-
left + suggestions.offsetWidth > viewportWidth ? position.left = Math.max(0, viewportWidth - suggestions.offsetWidth) : position.left = left
|
979
|
+
left + suggestions.offsetWidth > viewportWidth ? position.left = Math.max(0, viewportWidth - suggestions.offsetWidth) : position.left = left,
|
980
|
+
allowSuggestionsAboveCursor && top + suggestions.offsetHeight > viewportHeight && suggestions.offsetHeight < top - caretHeight ? position.top = Math.max(0, top - suggestions.offsetHeight - caretHeight) : position.top = top;
|
622
981
|
} else {
|
623
|
-
var _left = caretPosition.left - highlighter.scrollLeft;
|
982
|
+
var _left = caretPosition.left - highlighter.scrollLeft, _top = caretPosition.top - highlighter.scrollTop;
|
624
983
|
_left + suggestions.offsetWidth > _this.containerRef.offsetWidth ? position.right = 0 : position.left = _left,
|
625
|
-
|
984
|
+
allowSuggestionsAboveCursor && viewportRelative.top - highlighter.scrollTop + suggestions.offsetHeight > viewportHeight && suggestions.offsetHeight < caretOffsetParentRect.top - caretHeight - highlighter.scrollTop ? position.top = _top - suggestions.offsetHeight - caretHeight : position.top = _top;
|
626
985
|
}
|
627
986
|
isEqual(position, _this.state.suggestionsPosition) || _this.setState({
|
628
987
|
suggestionsPosition: position
|
@@ -671,11 +1030,11 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
671
1030
|
focusIndex: 0
|
672
1031
|
});
|
673
1032
|
}), _defineProperty(_assertThisInitialized(_this), "queryData", function(query, childIndex, querySequenceStart, querySequenceEnd, plainTextValue) {
|
674
|
-
var mentionChild = React.Children.toArray(
|
1033
|
+
var _this$props6 = _this.props, children = _this$props6.children, ignoreAccents = _this$props6.ignoreAccents, mentionChild = React.Children.toArray(children)[childIndex], syncResult = getDataProvider(mentionChild.props.data, ignoreAccents)(query, _this.updateSuggestions.bind(null, _this._queryId, childIndex, query, querySequenceStart, querySequenceEnd, plainTextValue));
|
675
1034
|
syncResult instanceof Array && _this.updateSuggestions(_this._queryId, childIndex, query, querySequenceStart, querySequenceEnd, plainTextValue, syncResult);
|
676
1035
|
}), _defineProperty(_assertThisInitialized(_this), "updateSuggestions", function(queryId, childIndex, query, querySequenceStart, querySequenceEnd, plainTextValue, results) {
|
677
1036
|
if (queryId === _this._queryId) {
|
678
|
-
_this.suggestions = _objectSpread({}, _this.suggestions, _defineProperty({}, childIndex, {
|
1037
|
+
_this.suggestions = _objectSpread$2({}, _this.suggestions, _defineProperty({}, childIndex, {
|
679
1038
|
queryInfo: {
|
680
1039
|
childIndex: childIndex,
|
681
1040
|
query: query,
|
@@ -761,10 +1120,10 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
761
1120
|
}, {
|
762
1121
|
key: "handlePaste",
|
763
1122
|
value: function(event) {
|
764
|
-
if (event.target === this.inputRef) {
|
1123
|
+
if (event.target === this.inputRef && this.supportsClipboardActions(event)) {
|
765
1124
|
event.preventDefault();
|
766
|
-
var _this$state3 = this.state, selectionStart = _this$state3.selectionStart, selectionEnd = _this$state3.selectionEnd, _this$
|
767
|
-
target: _objectSpread({}, event.target, {
|
1125
|
+
var _this$state3 = this.state, selectionStart = _this$state3.selectionStart, selectionEnd = _this$state3.selectionEnd, _this$props7 = this.props, value = _this$props7.value, children = _this$props7.children, config = readConfigFromChildren(children), markupStartIndex = mapPlainTextIndex(value, config, selectionStart, "START"), markupEndIndex = mapPlainTextIndex(value, config, selectionEnd, "END"), pastedMentions = event.clipboardData.getData("text/react-mentions"), pastedData = event.clipboardData.getData("text/plain"), newValue = spliceString(value, markupStartIndex, markupEndIndex, pastedMentions || pastedData).replace(/\r/g, ""), newPlainTextValue = getPlainText(newValue, config), eventMock = {
|
1126
|
+
target: _objectSpread$2({}, event.target, {
|
768
1127
|
value: newValue
|
769
1128
|
})
|
770
1129
|
};
|
@@ -774,22 +1133,28 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
774
1133
|
}, {
|
775
1134
|
key: "saveSelectionToClipboard",
|
776
1135
|
value: function(event) {
|
777
|
-
var _this$state4 = this.state, selectionStart = _this$state4.selectionStart, selectionEnd = _this$state4.selectionEnd, _this$
|
1136
|
+
var _this$state4 = this.state, selectionStart = _this$state4.selectionStart, selectionEnd = _this$state4.selectionEnd, _this$props8 = this.props, children = _this$props8.children, value = _this$props8.value, config = readConfigFromChildren(children), markupStartIndex = mapPlainTextIndex(value, config, selectionStart, "START"), markupEndIndex = mapPlainTextIndex(value, config, selectionEnd, "END");
|
778
1137
|
event.clipboardData.setData("text/plain", event.target.value.slice(selectionStart, selectionEnd)),
|
779
1138
|
event.clipboardData.setData("text/react-mentions", value.slice(markupStartIndex, markupEndIndex));
|
780
1139
|
}
|
1140
|
+
}, {
|
1141
|
+
key: "supportsClipboardActions",
|
1142
|
+
value: function(event) {
|
1143
|
+
return !!event.clipboardData;
|
1144
|
+
}
|
781
1145
|
}, {
|
782
1146
|
key: "handleCopy",
|
783
1147
|
value: function(event) {
|
784
|
-
event.target === this.inputRef && (event.preventDefault(),
|
1148
|
+
event.target === this.inputRef && this.supportsClipboardActions(event) && (event.preventDefault(),
|
1149
|
+
this.saveSelectionToClipboard(event));
|
785
1150
|
}
|
786
1151
|
}, {
|
787
1152
|
key: "handleCut",
|
788
1153
|
value: function(event) {
|
789
|
-
if (event.target === this.inputRef) {
|
1154
|
+
if (event.target === this.inputRef && this.supportsClipboardActions(event)) {
|
790
1155
|
event.preventDefault(), this.saveSelectionToClipboard(event);
|
791
|
-
var _this$state5 = this.state, selectionStart = _this$state5.selectionStart, selectionEnd = _this$state5.selectionEnd, _this$
|
792
|
-
target: _objectSpread({}, event.target, {
|
1156
|
+
var _this$state5 = this.state, selectionStart = _this$state5.selectionStart, selectionEnd = _this$state5.selectionEnd, _this$props9 = this.props, children = _this$props9.children, value = _this$props9.value, config = readConfigFromChildren(children), markupStartIndex = mapPlainTextIndex(value, config, selectionStart, "START"), markupEndIndex = mapPlainTextIndex(value, config, selectionEnd, "END"), newValue = [ value.slice(0, markupStartIndex), value.slice(markupEndIndex) ].join(""), newPlainTextValue = getPlainText(newValue, config), eventMock = {
|
1157
|
+
target: _objectSpread$2({}, event.target, {
|
793
1158
|
value: newPlainTextValue
|
794
1159
|
})
|
795
1160
|
};
|
@@ -800,7 +1165,9 @@ var styled$2 = substyle.defaultStyle(function(_ref2) {
|
|
800
1165
|
}(React__default.Component);
|
801
1166
|
|
802
1167
|
_defineProperty(MentionsInput, "propTypes", propTypes), _defineProperty(MentionsInput, "defaultProps", {
|
1168
|
+
ignoreAccents: !1,
|
803
1169
|
singleLine: !1,
|
1170
|
+
allowSuggestionsAboveCursor: !1,
|
804
1171
|
onKeyDown: function() {
|
805
1172
|
return null;
|
806
1173
|
},
|
@@ -822,14 +1189,16 @@ var getComputedStyleLengthProp = function(forElement, propertyName) {
|
|
822
1189
|
display: "block",
|
823
1190
|
position: "absolute",
|
824
1191
|
top: 0,
|
1192
|
+
left: 0,
|
825
1193
|
boxSizing: "border-box",
|
826
1194
|
backgroundColor: "transparent",
|
827
1195
|
width: "inherit",
|
828
1196
|
fontFamily: "inherit",
|
829
|
-
fontSize: "inherit"
|
1197
|
+
fontSize: "inherit",
|
1198
|
+
letterSpacing: "inherit"
|
830
1199
|
},
|
831
1200
|
"&multiLine": {
|
832
|
-
input: _objectSpread({
|
1201
|
+
input: _objectSpread$2({
|
833
1202
|
width: "100%",
|
834
1203
|
height: "100%",
|
835
1204
|
bottom: 0,
|