bootstrap-table-rails 1.18.3 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +1 -1
  4. data/bootstrap-table-rails.gemspec +2 -2
  5. data/lib/bootstrap-table-rails/version.rb +1 -1
  6. data/vendor/assets/javascripts/.DS_Store +0 -0
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +939 -357
  8. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +947 -392
  9. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +953 -396
  10. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +3 -1
  11. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +3034 -2119
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1017 -430
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +564 -249
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +1488 -961
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +579 -260
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +574 -258
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +486 -189
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +909 -538
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +921 -501
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css +9 -1
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +2712 -1132
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/utils.js +1326 -747
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +586 -275
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +892 -425
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +16 -8
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +670 -357
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +590 -252
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +820 -386
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css +5 -2
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +549 -240
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +557 -251
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +773 -304
  33. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +586 -258
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +547 -205
  35. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +487 -189
  36. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +559 -247
  37. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +901 -551
  38. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +600 -245
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +472 -183
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +472 -183
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +480 -191
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +472 -183
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +492 -203
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +472 -183
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +472 -183
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +472 -183
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +472 -183
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +472 -183
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +472 -183
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +472 -183
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +472 -183
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +490 -200
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +472 -183
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +472 -183
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +472 -183
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +472 -183
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +472 -183
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +472 -183
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +472 -183
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +472 -183
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +472 -183
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +475 -185
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +472 -183
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hi-IN.js +1083 -0
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +472 -183
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +472 -183
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +472 -183
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +472 -183
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +472 -183
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +472 -183
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +497 -207
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-lb-LU.js +1083 -0
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +472 -183
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +472 -183
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +511 -183
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +511 -183
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +472 -183
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +472 -183
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +472 -183
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +472 -183
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +472 -183
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +472 -183
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +472 -183
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +472 -183
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +472 -183
  86. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +472 -183
  87. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +472 -183
  88. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +472 -183
  89. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +472 -183
  90. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +472 -183
  91. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +472 -183
  92. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +472 -183
  93. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +472 -183
  94. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +2 -0
  95. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.js +564 -258
  96. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +2 -0
  97. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +560 -238
  98. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +2 -0
  99. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +564 -242
  100. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +2 -0
  101. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +562 -255
  102. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +2 -0
  103. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +558 -236
  104. metadata +8 -6
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
3
3
  typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BootstrapTable = {}, global.jQuery));
5
- }(this, (function (exports, $) { 'use strict';
5
+ })(this, (function (exports, $) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -11,17 +11,11 @@
11
11
  function _typeof(obj) {
12
12
  "@babel/helpers - typeof";
13
13
 
14
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
15
- _typeof = function (obj) {
16
- return typeof obj;
17
- };
18
- } else {
19
- _typeof = function (obj) {
20
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
21
- };
22
- }
23
-
24
- return _typeof(obj);
14
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15
+ return typeof obj;
16
+ } : function (obj) {
17
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18
+ }, _typeof(obj);
25
19
  }
26
20
 
27
21
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -36,9 +30,10 @@
36
30
 
37
31
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
38
32
  var global_1 =
39
- /* global globalThis -- safe */
33
+ // eslint-disable-next-line es/no-global-this -- safe
40
34
  check(typeof globalThis == 'object' && globalThis) ||
41
35
  check(typeof window == 'object' && window) ||
36
+ // eslint-disable-next-line no-restricted-globals -- safe
42
37
  check(typeof self == 'object' && self) ||
43
38
  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
44
39
  // eslint-disable-next-line no-new-func -- fallback
@@ -54,24 +49,38 @@
54
49
 
55
50
  // Detect IE8's incomplete defineProperty implementation
56
51
  var descriptors = !fails(function () {
52
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
57
53
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
58
54
  });
59
55
 
60
- var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
56
+ var functionBindNative = !fails(function () {
57
+ var test = (function () { /* empty */ }).bind();
58
+ // eslint-disable-next-line no-prototype-builtins -- safe
59
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
60
+ });
61
+
62
+ var call$2 = Function.prototype.call;
63
+
64
+ var functionCall = functionBindNative ? call$2.bind(call$2) : function () {
65
+ return call$2.apply(call$2, arguments);
66
+ };
67
+
68
+ var $propertyIsEnumerable = {}.propertyIsEnumerable;
69
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
61
70
  var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
62
71
 
63
72
  // Nashorn ~ JDK8 bug
64
- var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
73
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
65
74
 
66
75
  // `Object.prototype.propertyIsEnumerable` method implementation
67
76
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
68
- var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {
77
+ var f$5 = NASHORN_BUG ? function propertyIsEnumerable(V) {
69
78
  var descriptor = getOwnPropertyDescriptor$1(this, V);
70
79
  return !!descriptor && descriptor.enumerable;
71
- } : nativePropertyIsEnumerable;
80
+ } : $propertyIsEnumerable;
72
81
 
73
82
  var objectPropertyIsEnumerable = {
74
- f: f$4
83
+ f: f$5
75
84
  };
76
85
 
77
86
  var createPropertyDescriptor = function (bitmap, value) {
@@ -83,27 +92,44 @@
83
92
  };
84
93
  };
85
94
 
86
- var toString = {}.toString;
95
+ var FunctionPrototype$2 = Function.prototype;
96
+ var bind$1 = FunctionPrototype$2.bind;
97
+ var call$1 = FunctionPrototype$2.call;
98
+ var uncurryThis = functionBindNative && bind$1.bind(call$1, call$1);
99
+
100
+ var functionUncurryThis = functionBindNative ? function (fn) {
101
+ return fn && uncurryThis(fn);
102
+ } : function (fn) {
103
+ return fn && function () {
104
+ return call$1.apply(fn, arguments);
105
+ };
106
+ };
107
+
108
+ var toString$1 = functionUncurryThis({}.toString);
109
+ var stringSlice$5 = functionUncurryThis(''.slice);
87
110
 
88
111
  var classofRaw = function (it) {
89
- return toString.call(it).slice(8, -1);
112
+ return stringSlice$5(toString$1(it), 8, -1);
90
113
  };
91
114
 
92
- var split = ''.split;
115
+ var Object$4 = global_1.Object;
116
+ var split = functionUncurryThis(''.split);
93
117
 
94
118
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
95
119
  var indexedObject = fails(function () {
96
120
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
97
121
  // eslint-disable-next-line no-prototype-builtins -- safe
98
- return !Object('z').propertyIsEnumerable(0);
122
+ return !Object$4('z').propertyIsEnumerable(0);
99
123
  }) ? function (it) {
100
- return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
101
- } : Object;
124
+ return classofRaw(it) == 'String' ? split(it, '') : Object$4(it);
125
+ } : Object$4;
126
+
127
+ var TypeError$a = global_1.TypeError;
102
128
 
103
129
  // `RequireObjectCoercible` abstract operation
104
130
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
105
131
  var requireObjectCoercible = function (it) {
106
- if (it == undefined) throw TypeError("Can't call method on " + it);
132
+ if (it == undefined) throw TypeError$a("Can't call method on " + it);
107
133
  return it;
108
134
  };
109
135
 
@@ -115,85 +141,309 @@
115
141
  return indexedObject(requireObjectCoercible(it));
116
142
  };
117
143
 
144
+ // `IsCallable` abstract operation
145
+ // https://tc39.es/ecma262/#sec-iscallable
146
+ var isCallable = function (argument) {
147
+ return typeof argument == 'function';
148
+ };
149
+
118
150
  var isObject = function (it) {
119
- return typeof it === 'object' ? it !== null : typeof it === 'function';
151
+ return typeof it == 'object' ? it !== null : isCallable(it);
120
152
  };
121
153
 
122
- // `ToPrimitive` abstract operation
123
- // https://tc39.es/ecma262/#sec-toprimitive
124
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
125
- // and the second argument - flag - preferred type is a string
126
- var toPrimitive = function (input, PREFERRED_STRING) {
127
- if (!isObject(input)) return input;
154
+ var aFunction = function (argument) {
155
+ return isCallable(argument) ? argument : undefined;
156
+ };
157
+
158
+ var getBuiltIn = function (namespace, method) {
159
+ return arguments.length < 2 ? aFunction(global_1[namespace]) : global_1[namespace] && global_1[namespace][method];
160
+ };
161
+
162
+ var objectIsPrototypeOf = functionUncurryThis({}.isPrototypeOf);
163
+
164
+ var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
165
+
166
+ var process = global_1.process;
167
+ var Deno = global_1.Deno;
168
+ var versions = process && process.versions || Deno && Deno.version;
169
+ var v8 = versions && versions.v8;
170
+ var match, version;
171
+
172
+ if (v8) {
173
+ match = v8.split('.');
174
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
175
+ // but their correct versions are not interesting for us
176
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
177
+ }
178
+
179
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
180
+ // so check `userAgent` even if `.v8` exists, but 0
181
+ if (!version && engineUserAgent) {
182
+ match = engineUserAgent.match(/Edge\/(\d+)/);
183
+ if (!match || match[1] >= 74) {
184
+ match = engineUserAgent.match(/Chrome\/(\d+)/);
185
+ if (match) version = +match[1];
186
+ }
187
+ }
188
+
189
+ var engineV8Version = version;
190
+
191
+ /* eslint-disable es/no-symbol -- required for testing */
192
+
193
+
194
+
195
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
196
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
197
+ var symbol = Symbol();
198
+ // Chrome 38 Symbol has incorrect toString conversion
199
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
200
+ return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
201
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
202
+ !Symbol.sham && engineV8Version && engineV8Version < 41;
203
+ });
204
+
205
+ /* eslint-disable es/no-symbol -- required for testing */
206
+
207
+
208
+ var useSymbolAsUid = nativeSymbol
209
+ && !Symbol.sham
210
+ && typeof Symbol.iterator == 'symbol';
211
+
212
+ var Object$3 = global_1.Object;
213
+
214
+ var isSymbol = useSymbolAsUid ? function (it) {
215
+ return typeof it == 'symbol';
216
+ } : function (it) {
217
+ var $Symbol = getBuiltIn('Symbol');
218
+ return isCallable($Symbol) && objectIsPrototypeOf($Symbol.prototype, Object$3(it));
219
+ };
220
+
221
+ var String$3 = global_1.String;
222
+
223
+ var tryToString = function (argument) {
224
+ try {
225
+ return String$3(argument);
226
+ } catch (error) {
227
+ return 'Object';
228
+ }
229
+ };
230
+
231
+ var TypeError$9 = global_1.TypeError;
232
+
233
+ // `Assert: IsCallable(argument) is true`
234
+ var aCallable = function (argument) {
235
+ if (isCallable(argument)) return argument;
236
+ throw TypeError$9(tryToString(argument) + ' is not a function');
237
+ };
238
+
239
+ // `GetMethod` abstract operation
240
+ // https://tc39.es/ecma262/#sec-getmethod
241
+ var getMethod = function (V, P) {
242
+ var func = V[P];
243
+ return func == null ? undefined : aCallable(func);
244
+ };
245
+
246
+ var TypeError$8 = global_1.TypeError;
247
+
248
+ // `OrdinaryToPrimitive` abstract operation
249
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
250
+ var ordinaryToPrimitive = function (input, pref) {
128
251
  var fn, val;
129
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
130
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
131
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
132
- throw TypeError("Can't convert object to primitive value");
252
+ if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
253
+ if (isCallable(fn = input.valueOf) && !isObject(val = functionCall(fn, input))) return val;
254
+ if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
255
+ throw TypeError$8("Can't convert object to primitive value");
133
256
  };
134
257
 
135
- var hasOwnProperty = {}.hasOwnProperty;
258
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
259
+ var defineProperty = Object.defineProperty;
260
+
261
+ var setGlobal = function (key, value) {
262
+ try {
263
+ defineProperty(global_1, key, { value: value, configurable: true, writable: true });
264
+ } catch (error) {
265
+ global_1[key] = value;
266
+ } return value;
267
+ };
268
+
269
+ var SHARED = '__core-js_shared__';
270
+ var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
271
+
272
+ var sharedStore = store$1;
273
+
274
+ var shared = createCommonjsModule(function (module) {
275
+ (module.exports = function (key, value) {
276
+ return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
277
+ })('versions', []).push({
278
+ version: '3.21.1',
279
+ mode: 'global',
280
+ copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
281
+ license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',
282
+ source: 'https://github.com/zloirock/core-js'
283
+ });
284
+ });
285
+
286
+ var Object$2 = global_1.Object;
136
287
 
137
- var has$1 = function (it, key) {
138
- return hasOwnProperty.call(it, key);
288
+ // `ToObject` abstract operation
289
+ // https://tc39.es/ecma262/#sec-toobject
290
+ var toObject = function (argument) {
291
+ return Object$2(requireObjectCoercible(argument));
292
+ };
293
+
294
+ var hasOwnProperty = functionUncurryThis({}.hasOwnProperty);
295
+
296
+ // `HasOwnProperty` abstract operation
297
+ // https://tc39.es/ecma262/#sec-hasownproperty
298
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
299
+ return hasOwnProperty(toObject(it), key);
300
+ };
301
+
302
+ var id = 0;
303
+ var postfix = Math.random();
304
+ var toString = functionUncurryThis(1.0.toString);
305
+
306
+ var uid = function (key) {
307
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
308
+ };
309
+
310
+ var WellKnownSymbolsStore = shared('wks');
311
+ var Symbol$1 = global_1.Symbol;
312
+ var symbolFor = Symbol$1 && Symbol$1['for'];
313
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
314
+
315
+ var wellKnownSymbol = function (name) {
316
+ if (!hasOwnProperty_1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
317
+ var description = 'Symbol.' + name;
318
+ if (nativeSymbol && hasOwnProperty_1(Symbol$1, name)) {
319
+ WellKnownSymbolsStore[name] = Symbol$1[name];
320
+ } else if (useSymbolAsUid && symbolFor) {
321
+ WellKnownSymbolsStore[name] = symbolFor(description);
322
+ } else {
323
+ WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
324
+ }
325
+ } return WellKnownSymbolsStore[name];
326
+ };
327
+
328
+ var TypeError$7 = global_1.TypeError;
329
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
330
+
331
+ // `ToPrimitive` abstract operation
332
+ // https://tc39.es/ecma262/#sec-toprimitive
333
+ var toPrimitive = function (input, pref) {
334
+ if (!isObject(input) || isSymbol(input)) return input;
335
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
336
+ var result;
337
+ if (exoticToPrim) {
338
+ if (pref === undefined) pref = 'default';
339
+ result = functionCall(exoticToPrim, input, pref);
340
+ if (!isObject(result) || isSymbol(result)) return result;
341
+ throw TypeError$7("Can't convert object to primitive value");
342
+ }
343
+ if (pref === undefined) pref = 'number';
344
+ return ordinaryToPrimitive(input, pref);
345
+ };
346
+
347
+ // `ToPropertyKey` abstract operation
348
+ // https://tc39.es/ecma262/#sec-topropertykey
349
+ var toPropertyKey = function (argument) {
350
+ var key = toPrimitive(argument, 'string');
351
+ return isSymbol(key) ? key : key + '';
139
352
  };
140
353
 
141
354
  var document$1 = global_1.document;
142
355
  // typeof document.createElement is 'object' in old IE
143
- var EXISTS = isObject(document$1) && isObject(document$1.createElement);
356
+ var EXISTS$1 = isObject(document$1) && isObject(document$1.createElement);
144
357
 
145
358
  var documentCreateElement = function (it) {
146
- return EXISTS ? document$1.createElement(it) : {};
359
+ return EXISTS$1 ? document$1.createElement(it) : {};
147
360
  };
148
361
 
149
- // Thank's IE8 for his funny defineProperty
362
+ // Thanks to IE8 for its funny defineProperty
150
363
  var ie8DomDefine = !descriptors && !fails(function () {
364
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
151
365
  return Object.defineProperty(documentCreateElement('div'), 'a', {
152
366
  get: function () { return 7; }
153
367
  }).a != 7;
154
368
  });
155
369
 
156
- var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
370
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
371
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
157
372
 
158
373
  // `Object.getOwnPropertyDescriptor` method
159
374
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
160
- var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
375
+ var f$4 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
161
376
  O = toIndexedObject(O);
162
- P = toPrimitive(P, true);
377
+ P = toPropertyKey(P);
163
378
  if (ie8DomDefine) try {
164
- return nativeGetOwnPropertyDescriptor(O, P);
379
+ return $getOwnPropertyDescriptor$1(O, P);
165
380
  } catch (error) { /* empty */ }
166
- if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
381
+ if (hasOwnProperty_1(O, P)) return createPropertyDescriptor(!functionCall(objectPropertyIsEnumerable.f, O, P), O[P]);
167
382
  };
168
383
 
169
384
  var objectGetOwnPropertyDescriptor = {
170
- f: f$3
385
+ f: f$4
171
386
  };
172
387
 
173
- var anObject = function (it) {
174
- if (!isObject(it)) {
175
- throw TypeError(String(it) + ' is not an object');
176
- } return it;
388
+ // V8 ~ Chrome 36-
389
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
390
+ var v8PrototypeDefineBug = descriptors && fails(function () {
391
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
392
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
393
+ value: 42,
394
+ writable: false
395
+ }).prototype != 42;
396
+ });
397
+
398
+ var String$2 = global_1.String;
399
+ var TypeError$6 = global_1.TypeError;
400
+
401
+ // `Assert: Type(argument) is Object`
402
+ var anObject = function (argument) {
403
+ if (isObject(argument)) return argument;
404
+ throw TypeError$6(String$2(argument) + ' is not an object');
177
405
  };
178
406
 
179
- var nativeDefineProperty = Object.defineProperty;
407
+ var TypeError$5 = global_1.TypeError;
408
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
409
+ var $defineProperty = Object.defineProperty;
410
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
411
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
412
+ var ENUMERABLE = 'enumerable';
413
+ var CONFIGURABLE$1 = 'configurable';
414
+ var WRITABLE = 'writable';
180
415
 
181
416
  // `Object.defineProperty` method
182
417
  // https://tc39.es/ecma262/#sec-object.defineproperty
183
- var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
418
+ var f$3 = descriptors ? v8PrototypeDefineBug ? function defineProperty(O, P, Attributes) {
419
+ anObject(O);
420
+ P = toPropertyKey(P);
421
+ anObject(Attributes);
422
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
423
+ var current = $getOwnPropertyDescriptor(O, P);
424
+ if (current && current[WRITABLE]) {
425
+ O[P] = Attributes.value;
426
+ Attributes = {
427
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
428
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
429
+ writable: false
430
+ };
431
+ }
432
+ } return $defineProperty(O, P, Attributes);
433
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
184
434
  anObject(O);
185
- P = toPrimitive(P, true);
435
+ P = toPropertyKey(P);
186
436
  anObject(Attributes);
187
437
  if (ie8DomDefine) try {
188
- return nativeDefineProperty(O, P, Attributes);
438
+ return $defineProperty(O, P, Attributes);
189
439
  } catch (error) { /* empty */ }
190
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
440
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$5('Accessors not supported');
191
441
  if ('value' in Attributes) O[P] = Attributes.value;
192
442
  return O;
193
443
  };
194
444
 
195
445
  var objectDefineProperty = {
196
- f: f$2
446
+ f: f$3
197
447
  };
198
448
 
199
449
  var createNonEnumerableProperty = descriptors ? function (object, key, value) {
@@ -203,25 +453,12 @@
203
453
  return object;
204
454
  };
205
455
 
206
- var setGlobal = function (key, value) {
207
- try {
208
- createNonEnumerableProperty(global_1, key, value);
209
- } catch (error) {
210
- global_1[key] = value;
211
- } return value;
212
- };
213
-
214
- var SHARED = '__core-js_shared__';
215
- var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
216
-
217
- var sharedStore = store$1;
218
-
219
- var functionToString = Function.toString;
456
+ var functionToString = functionUncurryThis(Function.toString);
220
457
 
221
- // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
222
- if (typeof sharedStore.inspectSource != 'function') {
458
+ // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
459
+ if (!isCallable(sharedStore.inspectSource)) {
223
460
  sharedStore.inspectSource = function (it) {
224
- return functionToString.call(it);
461
+ return functionToString(it);
225
462
  };
226
463
  }
227
464
 
@@ -229,24 +466,7 @@
229
466
 
230
467
  var WeakMap$1 = global_1.WeakMap;
231
468
 
232
- var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
233
-
234
- var shared = createCommonjsModule(function (module) {
235
- (module.exports = function (key, value) {
236
- return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
237
- })('versions', []).push({
238
- version: '3.9.1',
239
- mode: 'global',
240
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
241
- });
242
- });
243
-
244
- var id = 0;
245
- var postfix = Math.random();
246
-
247
- var uid = function (key) {
248
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
249
- };
469
+ var nativeWeakMap = isCallable(WeakMap$1) && /native code/.test(inspectSource(WeakMap$1));
250
470
 
251
471
  var keys = shared('keys');
252
472
 
@@ -256,6 +476,8 @@
256
476
 
257
477
  var hiddenKeys$1 = {};
258
478
 
479
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
480
+ var TypeError$4 = global_1.TypeError;
259
481
  var WeakMap = global_1.WeakMap;
260
482
  var set, get, has;
261
483
 
@@ -267,40 +489,42 @@
267
489
  return function (it) {
268
490
  var state;
269
491
  if (!isObject(it) || (state = get(it)).type !== TYPE) {
270
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
492
+ throw TypeError$4('Incompatible receiver, ' + TYPE + ' required');
271
493
  } return state;
272
494
  };
273
495
  };
274
496
 
275
- if (nativeWeakMap) {
497
+ if (nativeWeakMap || sharedStore.state) {
276
498
  var store = sharedStore.state || (sharedStore.state = new WeakMap());
277
- var wmget = store.get;
278
- var wmhas = store.has;
279
- var wmset = store.set;
499
+ var wmget = functionUncurryThis(store.get);
500
+ var wmhas = functionUncurryThis(store.has);
501
+ var wmset = functionUncurryThis(store.set);
280
502
  set = function (it, metadata) {
503
+ if (wmhas(store, it)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED);
281
504
  metadata.facade = it;
282
- wmset.call(store, it, metadata);
505
+ wmset(store, it, metadata);
283
506
  return metadata;
284
507
  };
285
508
  get = function (it) {
286
- return wmget.call(store, it) || {};
509
+ return wmget(store, it) || {};
287
510
  };
288
511
  has = function (it) {
289
- return wmhas.call(store, it);
512
+ return wmhas(store, it);
290
513
  };
291
514
  } else {
292
515
  var STATE = sharedKey('state');
293
516
  hiddenKeys$1[STATE] = true;
294
517
  set = function (it, metadata) {
518
+ if (hasOwnProperty_1(it, STATE)) throw new TypeError$4(OBJECT_ALREADY_INITIALIZED);
295
519
  metadata.facade = it;
296
520
  createNonEnumerableProperty(it, STATE, metadata);
297
521
  return metadata;
298
522
  };
299
523
  get = function (it) {
300
- return has$1(it, STATE) ? it[STATE] : {};
524
+ return hasOwnProperty_1(it, STATE) ? it[STATE] : {};
301
525
  };
302
526
  has = function (it) {
303
- return has$1(it, STATE);
527
+ return hasOwnProperty_1(it, STATE);
304
528
  };
305
529
  }
306
530
 
@@ -312,7 +536,24 @@
312
536
  getterFor: getterFor
313
537
  };
314
538
 
539
+ var FunctionPrototype$1 = Function.prototype;
540
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
541
+ var getDescriptor = descriptors && Object.getOwnPropertyDescriptor;
542
+
543
+ var EXISTS = hasOwnProperty_1(FunctionPrototype$1, 'name');
544
+ // additional protection from minified / mangled / dropped function names
545
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
546
+ var CONFIGURABLE = EXISTS && (!descriptors || (descriptors && getDescriptor(FunctionPrototype$1, 'name').configurable));
547
+
548
+ var functionName = {
549
+ EXISTS: EXISTS,
550
+ PROPER: PROPER,
551
+ CONFIGURABLE: CONFIGURABLE
552
+ };
553
+
315
554
  var redefine = createCommonjsModule(function (module) {
555
+ var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
556
+
316
557
  var getInternalState = internalState.get;
317
558
  var enforceInternalState = internalState.enforce;
318
559
  var TEMPLATE = String(String).split('String');
@@ -321,14 +562,18 @@
321
562
  var unsafe = options ? !!options.unsafe : false;
322
563
  var simple = options ? !!options.enumerable : false;
323
564
  var noTargetGet = options ? !!options.noTargetGet : false;
565
+ var name = options && options.name !== undefined ? options.name : key;
324
566
  var state;
325
- if (typeof value == 'function') {
326
- if (typeof key == 'string' && !has$1(value, 'name')) {
327
- createNonEnumerableProperty(value, 'name', key);
567
+ if (isCallable(value)) {
568
+ if (String(name).slice(0, 7) === 'Symbol(') {
569
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
570
+ }
571
+ if (!hasOwnProperty_1(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
572
+ createNonEnumerableProperty(value, 'name', name);
328
573
  }
329
574
  state = enforceInternalState(value);
330
575
  if (!state.source) {
331
- state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
576
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
332
577
  }
333
578
  }
334
579
  if (O === global_1) {
@@ -344,54 +589,51 @@
344
589
  else createNonEnumerableProperty(O, key, value);
345
590
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
346
591
  })(Function.prototype, 'toString', function toString() {
347
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
592
+ return isCallable(this) && getInternalState(this).source || inspectSource(this);
348
593
  });
349
594
  });
350
595
 
351
- var path = global_1;
352
-
353
- var aFunction$1 = function (variable) {
354
- return typeof variable == 'function' ? variable : undefined;
355
- };
596
+ var ceil = Math.ceil;
597
+ var floor$2 = Math.floor;
356
598
 
357
- var getBuiltIn = function (namespace, method) {
358
- return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global_1[namespace])
359
- : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
599
+ // `ToIntegerOrInfinity` abstract operation
600
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
601
+ var toIntegerOrInfinity = function (argument) {
602
+ var number = +argument;
603
+ // eslint-disable-next-line no-self-compare -- safe
604
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$2 : ceil)(number);
360
605
  };
361
606
 
362
- var ceil = Math.ceil;
363
- var floor$1 = Math.floor;
607
+ var max$2 = Math.max;
608
+ var min$3 = Math.min;
364
609
 
365
- // `ToInteger` abstract operation
366
- // https://tc39.es/ecma262/#sec-tointeger
367
- var toInteger = function (argument) {
368
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
610
+ // Helper for a popular repeating case of the spec:
611
+ // Let integer be ? ToInteger(index).
612
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
613
+ var toAbsoluteIndex = function (index, length) {
614
+ var integer = toIntegerOrInfinity(index);
615
+ return integer < 0 ? max$2(integer + length, 0) : min$3(integer, length);
369
616
  };
370
617
 
371
- var min$3 = Math.min;
618
+ var min$2 = Math.min;
372
619
 
373
620
  // `ToLength` abstract operation
374
621
  // https://tc39.es/ecma262/#sec-tolength
375
622
  var toLength = function (argument) {
376
- return argument > 0 ? min$3(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
623
+ return argument > 0 ? min$2(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
377
624
  };
378
625
 
379
- var max$1 = Math.max;
380
- var min$2 = Math.min;
381
-
382
- // Helper for a popular repeating case of the spec:
383
- // Let integer be ? ToInteger(index).
384
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
385
- var toAbsoluteIndex = function (index, length) {
386
- var integer = toInteger(index);
387
- return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length);
626
+ // `LengthOfArrayLike` abstract operation
627
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
628
+ var lengthOfArrayLike = function (obj) {
629
+ return toLength(obj.length);
388
630
  };
389
631
 
390
632
  // `Array.prototype.{ indexOf, includes }` methods implementation
391
633
  var createMethod$3 = function (IS_INCLUDES) {
392
634
  return function ($this, el, fromIndex) {
393
635
  var O = toIndexedObject($this);
394
- var length = toLength(O.length);
636
+ var length = lengthOfArrayLike(O);
395
637
  var index = toAbsoluteIndex(fromIndex, length);
396
638
  var value;
397
639
  // Array#includes uses SameValueZero equality algorithm
@@ -416,18 +658,20 @@
416
658
  indexOf: createMethod$3(false)
417
659
  };
418
660
 
419
- var indexOf = arrayIncludes.indexOf;
661
+ var indexOf$1 = arrayIncludes.indexOf;
662
+
420
663
 
664
+ var push$4 = functionUncurryThis([].push);
421
665
 
422
666
  var objectKeysInternal = function (object, names) {
423
667
  var O = toIndexedObject(object);
424
668
  var i = 0;
425
669
  var result = [];
426
670
  var key;
427
- for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
671
+ for (key in O) !hasOwnProperty_1(hiddenKeys$1, key) && hasOwnProperty_1(O, key) && push$4(result, key);
428
672
  // Don't enum bug & hidden keys
429
- while (names.length > i) if (has$1(O, key = names[i++])) {
430
- ~indexOf(result, key) || result.push(key);
673
+ while (names.length > i) if (hasOwnProperty_1(O, key = names[i++])) {
674
+ ~indexOf$1(result, key) || push$4(result, key);
431
675
  }
432
676
  return result;
433
677
  };
@@ -447,34 +691,40 @@
447
691
 
448
692
  // `Object.getOwnPropertyNames` method
449
693
  // https://tc39.es/ecma262/#sec-object.getownpropertynames
450
- var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
694
+ // eslint-disable-next-line es/no-object-getownpropertynames -- safe
695
+ var f$2 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
451
696
  return objectKeysInternal(O, hiddenKeys);
452
697
  };
453
698
 
454
699
  var objectGetOwnPropertyNames = {
455
- f: f$1
700
+ f: f$2
456
701
  };
457
702
 
458
- var f = Object.getOwnPropertySymbols;
703
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
704
+ var f$1 = Object.getOwnPropertySymbols;
459
705
 
460
706
  var objectGetOwnPropertySymbols = {
461
- f: f
707
+ f: f$1
462
708
  };
463
709
 
710
+ var concat$1 = functionUncurryThis([].concat);
711
+
464
712
  // all object keys, includes non-enumerable and symbols
465
713
  var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
466
714
  var keys = objectGetOwnPropertyNames.f(anObject(it));
467
715
  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
468
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
716
+ return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
469
717
  };
470
718
 
471
- var copyConstructorProperties = function (target, source) {
719
+ var copyConstructorProperties = function (target, source, exceptions) {
472
720
  var keys = ownKeys(source);
473
721
  var defineProperty = objectDefineProperty.f;
474
722
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
475
723
  for (var i = 0; i < keys.length; i++) {
476
724
  var key = keys[i];
477
- if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
725
+ if (!hasOwnProperty_1(target, key) && !(exceptions && hasOwnProperty_1(exceptions, key))) {
726
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
727
+ }
478
728
  }
479
729
  };
480
730
 
@@ -484,7 +734,7 @@
484
734
  var value = data[normalize(feature)];
485
735
  return value == POLYFILL ? true
486
736
  : value == NATIVE ? false
487
- : typeof detection == 'function' ? fails(detection)
737
+ : isCallable(detection) ? fails(detection)
488
738
  : !!detection;
489
739
  };
490
740
 
@@ -518,6 +768,7 @@
518
768
  options.sham - add a flag to not completely full polyfills
519
769
  options.enumerable - export as enumerable property
520
770
  options.noTargetGet - prevent calling a getter on target
771
+ options.name - the .name of the function if it does not match the key
521
772
  */
522
773
  var _export = function (options, source) {
523
774
  var TARGET = options.target;
@@ -540,7 +791,7 @@
540
791
  FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
541
792
  // contained in target
542
793
  if (!FORCED && targetProperty !== undefined) {
543
- if (typeof sourceProperty === typeof targetProperty) continue;
794
+ if (typeof sourceProperty == typeof targetProperty) continue;
544
795
  copyConstructorProperties(sourceProperty, targetProperty);
545
796
  }
546
797
  // add a flag to not completely full polyfills
@@ -552,132 +803,144 @@
552
803
  }
553
804
  };
554
805
 
555
- var aFunction = function (it) {
556
- if (typeof it != 'function') {
557
- throw TypeError(String(it) + ' is not a function');
558
- } return it;
559
- };
806
+ var bind = functionUncurryThis(functionUncurryThis.bind);
560
807
 
561
808
  // optional / simple context binding
562
- var functionBindContext = function (fn, that, length) {
563
- aFunction(fn);
564
- if (that === undefined) return fn;
565
- switch (length) {
566
- case 0: return function () {
567
- return fn.call(that);
568
- };
569
- case 1: return function (a) {
570
- return fn.call(that, a);
571
- };
572
- case 2: return function (a, b) {
573
- return fn.call(that, a, b);
574
- };
575
- case 3: return function (a, b, c) {
576
- return fn.call(that, a, b, c);
577
- };
578
- }
579
- return function (/* ...args */) {
809
+ var functionBindContext = function (fn, that) {
810
+ aCallable(fn);
811
+ return that === undefined ? fn : functionBindNative ? bind(fn, that) : function (/* ...args */) {
580
812
  return fn.apply(that, arguments);
581
813
  };
582
814
  };
583
815
 
584
- // `ToObject` abstract operation
585
- // https://tc39.es/ecma262/#sec-toobject
586
- var toObject = function (argument) {
587
- return Object(requireObjectCoercible(argument));
588
- };
589
-
590
816
  // `IsArray` abstract operation
591
817
  // https://tc39.es/ecma262/#sec-isarray
592
- var isArray = Array.isArray || function isArray(arg) {
593
- return classofRaw(arg) == 'Array';
818
+ // eslint-disable-next-line es/no-array-isarray -- safe
819
+ var isArray = Array.isArray || function isArray(argument) {
820
+ return classofRaw(argument) == 'Array';
594
821
  };
595
822
 
596
- var engineIsNode = classofRaw(global_1.process) == 'process';
823
+ var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
824
+ var test$1 = {};
597
825
 
598
- var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
826
+ test$1[TO_STRING_TAG$1] = 'z';
599
827
 
600
- var process = global_1.process;
601
- var versions = process && process.versions;
602
- var v8 = versions && versions.v8;
603
- var match, version;
828
+ var toStringTagSupport = String(test$1) === '[object z]';
604
829
 
605
- if (v8) {
606
- match = v8.split('.');
607
- version = match[0] + match[1];
608
- } else if (engineUserAgent) {
609
- match = engineUserAgent.match(/Edge\/(\d+)/);
610
- if (!match || match[1] >= 74) {
611
- match = engineUserAgent.match(/Chrome\/(\d+)/);
612
- if (match) version = match[1];
613
- }
614
- }
830
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
831
+ var Object$1 = global_1.Object;
615
832
 
616
- var engineV8Version = version && +version;
833
+ // ES3 wrong here
834
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
617
835
 
618
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
619
- /* global Symbol -- required for testing */
620
- return !Symbol.sham &&
621
- // Chrome 38 Symbol has incorrect toString conversion
622
- // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
623
- (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
624
- });
836
+ // fallback for IE11 Script Access Denied error
837
+ var tryGet = function (it, key) {
838
+ try {
839
+ return it[key];
840
+ } catch (error) { /* empty */ }
841
+ };
625
842
 
626
- var useSymbolAsUid = nativeSymbol
627
- /* global Symbol -- safe */
628
- && !Symbol.sham
629
- && typeof Symbol.iterator == 'symbol';
843
+ // getting tag from ES6+ `Object.prototype.toString`
844
+ var classof = toStringTagSupport ? classofRaw : function (it) {
845
+ var O, tag, result;
846
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
847
+ // @@toStringTag case
848
+ : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag
849
+ // builtinTag case
850
+ : CORRECT_ARGUMENTS ? classofRaw(O)
851
+ // ES3 arguments fallback
852
+ : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
853
+ };
630
854
 
631
- var WellKnownSymbolsStore = shared('wks');
632
- var Symbol$1 = global_1.Symbol;
633
- var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
855
+ var noop = function () { /* empty */ };
856
+ var empty = [];
857
+ var construct = getBuiltIn('Reflect', 'construct');
858
+ var constructorRegExp = /^\s*(?:class|function)\b/;
859
+ var exec$1 = functionUncurryThis(constructorRegExp.exec);
860
+ var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
634
861
 
635
- var wellKnownSymbol = function (name) {
636
- if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
637
- if (nativeSymbol && has$1(Symbol$1, name)) {
638
- WellKnownSymbolsStore[name] = Symbol$1[name];
639
- } else {
640
- WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
641
- }
642
- } return WellKnownSymbolsStore[name];
862
+ var isConstructorModern = function isConstructor(argument) {
863
+ if (!isCallable(argument)) return false;
864
+ try {
865
+ construct(noop, empty, argument);
866
+ return true;
867
+ } catch (error) {
868
+ return false;
869
+ }
643
870
  };
644
871
 
872
+ var isConstructorLegacy = function isConstructor(argument) {
873
+ if (!isCallable(argument)) return false;
874
+ switch (classof(argument)) {
875
+ case 'AsyncFunction':
876
+ case 'GeneratorFunction':
877
+ case 'AsyncGeneratorFunction': return false;
878
+ }
879
+ try {
880
+ // we can't check .prototype since constructors produced by .bind haven't it
881
+ // `Function#toString` throws on some built-it function in some legacy engines
882
+ // (for example, `DOMQuad` and similar in FF41-)
883
+ return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource(argument));
884
+ } catch (error) {
885
+ return true;
886
+ }
887
+ };
888
+
889
+ isConstructorLegacy.sham = true;
890
+
891
+ // `IsConstructor` abstract operation
892
+ // https://tc39.es/ecma262/#sec-isconstructor
893
+ var isConstructor = !construct || fails(function () {
894
+ var called;
895
+ return isConstructorModern(isConstructorModern.call)
896
+ || !isConstructorModern(Object)
897
+ || !isConstructorModern(function () { called = true; })
898
+ || called;
899
+ }) ? isConstructorLegacy : isConstructorModern;
900
+
645
901
  var SPECIES$3 = wellKnownSymbol('species');
902
+ var Array$2 = global_1.Array;
646
903
 
647
- // `ArraySpeciesCreate` abstract operation
904
+ // a part of `ArraySpeciesCreate` abstract operation
648
905
  // https://tc39.es/ecma262/#sec-arrayspeciescreate
649
- var arraySpeciesCreate = function (originalArray, length) {
906
+ var arraySpeciesConstructor = function (originalArray) {
650
907
  var C;
651
908
  if (isArray(originalArray)) {
652
909
  C = originalArray.constructor;
653
910
  // cross-realm fallback
654
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
911
+ if (isConstructor(C) && (C === Array$2 || isArray(C.prototype))) C = undefined;
655
912
  else if (isObject(C)) {
656
913
  C = C[SPECIES$3];
657
914
  if (C === null) C = undefined;
658
915
  }
659
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
916
+ } return C === undefined ? Array$2 : C;
660
917
  };
661
918
 
662
- var push = [].push;
919
+ // `ArraySpeciesCreate` abstract operation
920
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
921
+ var arraySpeciesCreate = function (originalArray, length) {
922
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
923
+ };
663
924
 
664
- // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
925
+ var push$3 = functionUncurryThis([].push);
926
+
927
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
665
928
  var createMethod$2 = function (TYPE) {
666
929
  var IS_MAP = TYPE == 1;
667
930
  var IS_FILTER = TYPE == 2;
668
931
  var IS_SOME = TYPE == 3;
669
932
  var IS_EVERY = TYPE == 4;
670
933
  var IS_FIND_INDEX = TYPE == 6;
671
- var IS_FILTER_OUT = TYPE == 7;
934
+ var IS_FILTER_REJECT = TYPE == 7;
672
935
  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
673
936
  return function ($this, callbackfn, that, specificCreate) {
674
937
  var O = toObject($this);
675
938
  var self = indexedObject(O);
676
- var boundFunction = functionBindContext(callbackfn, that, 3);
677
- var length = toLength(self.length);
939
+ var boundFunction = functionBindContext(callbackfn, that);
940
+ var length = lengthOfArrayLike(self);
678
941
  var index = 0;
679
942
  var create = specificCreate || arraySpeciesCreate;
680
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
943
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
681
944
  var value, result;
682
945
  for (;length > index; index++) if (NO_HOLES || index in self) {
683
946
  value = self[index];
@@ -688,10 +951,10 @@
688
951
  case 3: return true; // some
689
952
  case 5: return value; // find
690
953
  case 6: return index; // findIndex
691
- case 2: push.call(target, value); // filter
954
+ case 2: push$3(target, value); // filter
692
955
  } else switch (TYPE) {
693
956
  case 4: return false; // every
694
- case 7: push.call(target, value); // filterOut
957
+ case 7: push$3(target, value); // filterReject
695
958
  }
696
959
  }
697
960
  }
@@ -721,31 +984,47 @@
721
984
  // `Array.prototype.findIndex` method
722
985
  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
723
986
  findIndex: createMethod$2(6),
724
- // `Array.prototype.filterOut` method
987
+ // `Array.prototype.filterReject` method
725
988
  // https://github.com/tc39/proposal-array-filtering
726
- filterOut: createMethod$2(7)
989
+ filterReject: createMethod$2(7)
727
990
  };
728
991
 
729
992
  // `Object.keys` method
730
993
  // https://tc39.es/ecma262/#sec-object.keys
994
+ // eslint-disable-next-line es/no-object-keys -- safe
731
995
  var objectKeys = Object.keys || function keys(O) {
732
996
  return objectKeysInternal(O, enumBugKeys);
733
997
  };
734
998
 
735
999
  // `Object.defineProperties` method
736
1000
  // https://tc39.es/ecma262/#sec-object.defineproperties
737
- var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
1001
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
1002
+ var f = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) {
738
1003
  anObject(O);
1004
+ var props = toIndexedObject(Properties);
739
1005
  var keys = objectKeys(Properties);
740
1006
  var length = keys.length;
741
1007
  var index = 0;
742
1008
  var key;
743
- while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
1009
+ while (length > index) objectDefineProperty.f(O, key = keys[index++], props[key]);
744
1010
  return O;
745
1011
  };
746
1012
 
1013
+ var objectDefineProperties = {
1014
+ f: f
1015
+ };
1016
+
747
1017
  var html = getBuiltIn('document', 'documentElement');
748
1018
 
1019
+ /* global ActiveXObject -- old IE, WSH */
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
749
1028
  var GT = '>';
750
1029
  var LT = '<';
751
1030
  var PROTOTYPE = 'prototype';
@@ -792,10 +1071,13 @@
792
1071
  var activeXDocument;
793
1072
  var NullProtoObject = function () {
794
1073
  try {
795
- /* global ActiveXObject -- old IE */
796
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
1074
+ activeXDocument = new ActiveXObject('htmlfile');
797
1075
  } catch (error) { /* ignore */ }
798
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
1076
+ NullProtoObject = typeof document != 'undefined'
1077
+ ? document.domain && activeXDocument
1078
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
1079
+ : NullProtoObjectViaIFrame()
1080
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
799
1081
  var length = enumBugKeys.length;
800
1082
  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
801
1083
  return NullProtoObject();
@@ -814,7 +1096,7 @@
814
1096
  // add "__proto__" for Object.getPrototypeOf polyfill
815
1097
  result[IE_PROTO] = O;
816
1098
  } else result = NullProtoObject();
817
- return Properties === undefined ? result : objectDefineProperties(result, Properties);
1099
+ return Properties === undefined ? result : objectDefineProperties.f(result, Properties);
818
1100
  };
819
1101
 
820
1102
  var UNSCOPABLES = wellKnownSymbol('unscopables');
@@ -854,36 +1136,6 @@
854
1136
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
855
1137
  addToUnscopables(FIND);
856
1138
 
857
- var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
858
- var test$1 = {};
859
-
860
- test$1[TO_STRING_TAG$1] = 'z';
861
-
862
- var toStringTagSupport = String(test$1) === '[object z]';
863
-
864
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
865
- // ES3 wrong here
866
- var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
867
-
868
- // fallback for IE11 Script Access Denied error
869
- var tryGet = function (it, key) {
870
- try {
871
- return it[key];
872
- } catch (error) { /* empty */ }
873
- };
874
-
875
- // getting tag from ES6+ `Object.prototype.toString`
876
- var classof = toStringTagSupport ? classofRaw : function (it) {
877
- var O, tag, result;
878
- return it === undefined ? 'Undefined' : it === null ? 'Null'
879
- // @@toStringTag case
880
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
881
- // builtinTag case
882
- : CORRECT_ARGUMENTS ? classofRaw(O)
883
- // ES3 arguments fallback
884
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
885
- };
886
-
887
1139
  // `Object.prototype.toString` method implementation
888
1140
  // https://tc39.es/ecma262/#sec-object.prototype.tostring
889
1141
  var objectToString = toStringTagSupport ? {}.toString : function toString() {
@@ -896,44 +1148,18 @@
896
1148
  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
897
1149
  }
898
1150
 
899
- // `RegExp.prototype.flags` getter implementation
900
- // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
901
- var regexpFlags = function () {
902
- var that = anObject(this);
903
- var result = '';
904
- if (that.global) result += 'g';
905
- if (that.ignoreCase) result += 'i';
906
- if (that.multiline) result += 'm';
907
- if (that.dotAll) result += 's';
908
- if (that.unicode) result += 'u';
909
- if (that.sticky) result += 'y';
910
- return result;
911
- };
912
-
913
- var TO_STRING = 'toString';
914
- var RegExpPrototype = RegExp.prototype;
915
- var nativeToString = RegExpPrototype[TO_STRING];
1151
+ var String$1 = global_1.String;
916
1152
 
917
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
918
- // FF44- RegExp#toString has a wrong name
919
- var INCORRECT_NAME = nativeToString.name != TO_STRING;
920
-
921
- // `RegExp.prototype.toString` method
922
- // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
923
- if (NOT_GENERIC || INCORRECT_NAME) {
924
- redefine(RegExp.prototype, TO_STRING, function toString() {
925
- var R = anObject(this);
926
- var p = String(R.source);
927
- var rf = R.flags;
928
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
929
- return '/' + p + '/' + f;
930
- }, { unsafe: true });
931
- }
1153
+ var toString_1 = function (argument) {
1154
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1155
+ return String$1(argument);
1156
+ };
932
1157
 
933
1158
  // a string of all valid unicode whitespaces
934
1159
  var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
935
1160
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
936
1161
 
1162
+ var replace$2 = functionUncurryThis(''.replace);
937
1163
  var whitespace = '[' + whitespaces + ']';
938
1164
  var ltrim = RegExp('^' + whitespace + whitespace + '*');
939
1165
  var rtrim = RegExp(whitespace + whitespace + '*$');
@@ -941,9 +1167,9 @@
941
1167
  // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
942
1168
  var createMethod$1 = function (TYPE) {
943
1169
  return function ($this) {
944
- var string = String(requireObjectCoercible($this));
945
- if (TYPE & 1) string = string.replace(ltrim, '');
946
- if (TYPE & 2) string = string.replace(rtrim, '');
1170
+ var string = toString_1(requireObjectCoercible($this));
1171
+ if (TYPE & 1) string = replace$2(string, ltrim, '');
1172
+ if (TYPE & 2) string = replace$2(string, rtrim, '');
947
1173
  return string;
948
1174
  };
949
1175
  };
@@ -960,13 +1186,19 @@
960
1186
  trim: createMethod$1(3)
961
1187
  };
962
1188
 
1189
+ var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
1190
+
1191
+
1192
+
963
1193
  var non = '\u200B\u0085\u180E';
964
1194
 
965
1195
  // check that a method works with the correct list
966
1196
  // of whitespaces and has a correct name
967
1197
  var stringTrimForced = function (METHOD_NAME) {
968
1198
  return fails(function () {
969
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
1199
+ return !!whitespaces[METHOD_NAME]()
1200
+ || non[METHOD_NAME]() !== non
1201
+ || (PROPER_FUNCTION_NAME$1 && whitespaces[METHOD_NAME].name !== METHOD_NAME);
970
1202
  });
971
1203
  };
972
1204
 
@@ -981,87 +1213,132 @@
981
1213
  }
982
1214
  });
983
1215
 
1216
+ // `RegExp.prototype.flags` getter implementation
1217
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
1218
+ var regexpFlags = function () {
1219
+ var that = anObject(this);
1220
+ var result = '';
1221
+ if (that.global) result += 'g';
1222
+ if (that.ignoreCase) result += 'i';
1223
+ if (that.multiline) result += 'm';
1224
+ if (that.dotAll) result += 's';
1225
+ if (that.unicode) result += 'u';
1226
+ if (that.sticky) result += 'y';
1227
+ return result;
1228
+ };
1229
+
1230
+ var PROPER_FUNCTION_NAME = functionName.PROPER;
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+ var TO_STRING = 'toString';
1239
+ var RegExpPrototype$1 = RegExp.prototype;
1240
+ var n$ToString = RegExpPrototype$1[TO_STRING];
1241
+ var getFlags = functionUncurryThis(regexpFlags);
1242
+
1243
+ var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
1244
+ // FF44- RegExp#toString has a wrong name
1245
+ var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;
1246
+
1247
+ // `RegExp.prototype.toString` method
1248
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
1249
+ if (NOT_GENERIC || INCORRECT_NAME) {
1250
+ redefine(RegExp.prototype, TO_STRING, function toString() {
1251
+ var R = anObject(this);
1252
+ var p = toString_1(R.source);
1253
+ var rf = R.flags;
1254
+ var f = toString_1(rf === undefined && objectIsPrototypeOf(RegExpPrototype$1, R) && !('flags' in RegExpPrototype$1) ? getFlags(R) : rf);
1255
+ return '/' + p + '/' + f;
1256
+ }, { unsafe: true });
1257
+ }
1258
+
984
1259
  var createProperty = function (object, key, value) {
985
- var propertyKey = toPrimitive(key);
1260
+ var propertyKey = toPropertyKey(key);
986
1261
  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
987
1262
  else object[propertyKey] = value;
988
1263
  };
989
1264
 
990
- var SPECIES$2 = wellKnownSymbol('species');
1265
+ var Array$1 = global_1.Array;
1266
+ var max$1 = Math.max;
991
1267
 
992
- var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
993
- // We can't use this feature detection in V8 since it causes
994
- // deoptimization and serious performance degradation
995
- // https://github.com/zloirock/core-js/issues/677
996
- return engineV8Version >= 51 || !fails(function () {
997
- var array = [];
998
- var constructor = array.constructor = {};
999
- constructor[SPECIES$2] = function () {
1000
- return { foo: 1 };
1001
- };
1002
- return array[METHOD_NAME](Boolean).foo !== 1;
1003
- });
1268
+ var arraySliceSimple = function (O, start, end) {
1269
+ var length = lengthOfArrayLike(O);
1270
+ var k = toAbsoluteIndex(start, length);
1271
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
1272
+ var result = Array$1(max$1(fin - k, 0));
1273
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
1274
+ result.length = n;
1275
+ return result;
1004
1276
  };
1005
1277
 
1006
- var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1007
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
1008
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1278
+ var floor$1 = Math.floor;
1009
1279
 
1010
- // We can't use this feature detection in V8 since it causes
1011
- // deoptimization and serious performance degradation
1012
- // https://github.com/zloirock/core-js/issues/679
1013
- var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
1014
- var array = [];
1015
- array[IS_CONCAT_SPREADABLE] = false;
1016
- return array.concat()[0] !== array;
1017
- });
1280
+ var mergeSort = function (array, comparefn) {
1281
+ var length = array.length;
1282
+ var middle = floor$1(length / 2);
1283
+ return length < 8 ? insertionSort(array, comparefn) : merge(
1284
+ array,
1285
+ mergeSort(arraySliceSimple(array, 0, middle), comparefn),
1286
+ mergeSort(arraySliceSimple(array, middle), comparefn),
1287
+ comparefn
1288
+ );
1289
+ };
1290
+
1291
+ var insertionSort = function (array, comparefn) {
1292
+ var length = array.length;
1293
+ var i = 1;
1294
+ var element, j;
1295
+
1296
+ while (i < length) {
1297
+ j = i;
1298
+ element = array[i];
1299
+ while (j && comparefn(array[j - 1], element) > 0) {
1300
+ array[j] = array[--j];
1301
+ }
1302
+ if (j !== i++) array[j] = element;
1303
+ } return array;
1304
+ };
1018
1305
 
1019
- var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
1306
+ var merge = function (array, left, right, comparefn) {
1307
+ var llength = left.length;
1308
+ var rlength = right.length;
1309
+ var lindex = 0;
1310
+ var rindex = 0;
1020
1311
 
1021
- var isConcatSpreadable = function (O) {
1022
- if (!isObject(O)) return false;
1023
- var spreadable = O[IS_CONCAT_SPREADABLE];
1024
- return spreadable !== undefined ? !!spreadable : isArray(O);
1312
+ while (lindex < llength || rindex < rlength) {
1313
+ array[lindex + rindex] = (lindex < llength && rindex < rlength)
1314
+ ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
1315
+ : lindex < llength ? left[lindex++] : right[rindex++];
1316
+ } return array;
1025
1317
  };
1026
1318
 
1027
- var FORCED$1 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1028
-
1029
- // `Array.prototype.concat` method
1030
- // https://tc39.es/ecma262/#sec-array.prototype.concat
1031
- // with adding support of @@isConcatSpreadable and @@species
1032
- _export({ target: 'Array', proto: true, forced: FORCED$1 }, {
1033
- // eslint-disable-next-line no-unused-vars -- required for `.length`
1034
- concat: function concat(arg) {
1035
- var O = toObject(this);
1036
- var A = arraySpeciesCreate(O, 0);
1037
- var n = 0;
1038
- var i, k, length, len, E;
1039
- for (i = -1, length = arguments.length; i < length; i++) {
1040
- E = i === -1 ? O : arguments[i];
1041
- if (isConcatSpreadable(E)) {
1042
- len = toLength(E.length);
1043
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1044
- for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1045
- } else {
1046
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1047
- createProperty(A, n++, E);
1048
- }
1049
- }
1050
- A.length = n;
1051
- return A;
1052
- }
1053
- });
1319
+ var arraySort = mergeSort;
1054
1320
 
1055
1321
  var arrayMethodIsStrict = function (METHOD_NAME, argument) {
1056
1322
  var method = [][METHOD_NAME];
1057
1323
  return !!method && fails(function () {
1058
- // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
1059
- method.call(null, argument || function () { throw 1; }, 1);
1324
+ // eslint-disable-next-line no-useless-call -- required for testing
1325
+ method.call(null, argument || function () { return 1; }, 1);
1060
1326
  });
1061
1327
  };
1062
1328
 
1329
+ var firefox = engineUserAgent.match(/firefox\/(\d+)/i);
1330
+
1331
+ var engineFfVersion = !!firefox && +firefox[1];
1332
+
1333
+ var engineIsIeOrEdge = /MSIE|Trident/.test(engineUserAgent);
1334
+
1335
+ var webkit = engineUserAgent.match(/AppleWebKit\/(\d+)\./);
1336
+
1337
+ var engineWebkitVersion = !!webkit && +webkit[1];
1338
+
1063
1339
  var test = [];
1064
- var nativeSort = test.sort;
1340
+ var un$Sort = functionUncurryThis(test.sort);
1341
+ var push$2 = functionUncurryThis(test.push);
1065
1342
 
1066
1343
  // IE8-
1067
1344
  var FAILS_ON_UNDEFINED = fails(function () {
@@ -1074,86 +1351,194 @@
1074
1351
  // Old WebKit
1075
1352
  var STRICT_METHOD$3 = arrayMethodIsStrict('sort');
1076
1353
 
1077
- var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$3;
1354
+ var STABLE_SORT = !fails(function () {
1355
+ // feature detection can be too slow, so check engines versions
1356
+ if (engineV8Version) return engineV8Version < 70;
1357
+ if (engineFfVersion && engineFfVersion > 3) return;
1358
+ if (engineIsIeOrEdge) return true;
1359
+ if (engineWebkitVersion) return engineWebkitVersion < 603;
1360
+
1361
+ var result = '';
1362
+ var code, chr, value, index;
1363
+
1364
+ // generate an array with more 512 elements (Chakra and old V8 fails only in this case)
1365
+ for (code = 65; code < 76; code++) {
1366
+ chr = String.fromCharCode(code);
1367
+
1368
+ switch (code) {
1369
+ case 66: case 69: case 70: case 72: value = 3; break;
1370
+ case 68: case 71: value = 4; break;
1371
+ default: value = 2;
1372
+ }
1373
+
1374
+ for (index = 0; index < 47; index++) {
1375
+ test.push({ k: chr + index, v: value });
1376
+ }
1377
+ }
1378
+
1379
+ test.sort(function (a, b) { return b.v - a.v; });
1380
+
1381
+ for (index = 0; index < test.length; index++) {
1382
+ chr = test[index].k.charAt(0);
1383
+ if (result.charAt(result.length - 1) !== chr) result += chr;
1384
+ }
1385
+
1386
+ return result !== 'DGBEFHACIJK';
1387
+ });
1388
+
1389
+ var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$3 || !STABLE_SORT;
1390
+
1391
+ var getSortCompare = function (comparefn) {
1392
+ return function (x, y) {
1393
+ if (y === undefined) return -1;
1394
+ if (x === undefined) return 1;
1395
+ if (comparefn !== undefined) return +comparefn(x, y) || 0;
1396
+ return toString_1(x) > toString_1(y) ? 1 : -1;
1397
+ };
1398
+ };
1078
1399
 
1079
1400
  // `Array.prototype.sort` method
1080
1401
  // https://tc39.es/ecma262/#sec-array.prototype.sort
1081
- _export({ target: 'Array', proto: true, forced: FORCED }, {
1402
+ _export({ target: 'Array', proto: true, forced: FORCED$1 }, {
1082
1403
  sort: function sort(comparefn) {
1083
- return comparefn === undefined
1084
- ? nativeSort.call(toObject(this))
1085
- : nativeSort.call(toObject(this), aFunction(comparefn));
1404
+ if (comparefn !== undefined) aCallable(comparefn);
1405
+
1406
+ var array = toObject(this);
1407
+
1408
+ if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);
1409
+
1410
+ var items = [];
1411
+ var arrayLength = lengthOfArrayLike(array);
1412
+ var itemsLength, index;
1413
+
1414
+ for (index = 0; index < arrayLength; index++) {
1415
+ if (index in array) push$2(items, array[index]);
1416
+ }
1417
+
1418
+ arraySort(items, getSortCompare(comparefn));
1419
+
1420
+ itemsLength = items.length;
1421
+ index = 0;
1422
+
1423
+ while (index < itemsLength) array[index] = items[index++];
1424
+ while (index < arrayLength) delete array[index++];
1425
+
1426
+ return array;
1086
1427
  }
1087
1428
  });
1088
1429
 
1089
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
1090
- // so we use an intermediate function.
1091
- function RE(s, f) {
1092
- return RegExp(s, f);
1093
- }
1430
+ // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1431
+ var $RegExp$2 = global_1.RegExp;
1094
1432
 
1095
- var UNSUPPORTED_Y$1 = fails(function () {
1096
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1097
- var re = RE('a', 'y');
1433
+ var UNSUPPORTED_Y$2 = fails(function () {
1434
+ var re = $RegExp$2('a', 'y');
1098
1435
  re.lastIndex = 2;
1099
1436
  return re.exec('abcd') != null;
1100
1437
  });
1101
1438
 
1102
- var BROKEN_CARET = fails(function () {
1103
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1104
- var re = RE('^r', 'gy');
1105
- re.lastIndex = 2;
1106
- return re.exec('str') != null;
1107
- });
1439
+ // UC Browser bug
1440
+ // https://github.com/zloirock/core-js/issues/1008
1441
+ var MISSED_STICKY = UNSUPPORTED_Y$2 || fails(function () {
1442
+ return !$RegExp$2('a', 'y').sticky;
1443
+ });
1444
+
1445
+ var BROKEN_CARET = UNSUPPORTED_Y$2 || fails(function () {
1446
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1447
+ var re = $RegExp$2('^r', 'gy');
1448
+ re.lastIndex = 2;
1449
+ return re.exec('str') != null;
1450
+ });
1451
+
1452
+ var regexpStickyHelpers = {
1453
+ BROKEN_CARET: BROKEN_CARET,
1454
+ MISSED_STICKY: MISSED_STICKY,
1455
+ UNSUPPORTED_Y: UNSUPPORTED_Y$2
1456
+ };
1457
+
1458
+ // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
1459
+ var $RegExp$1 = global_1.RegExp;
1460
+
1461
+ var regexpUnsupportedDotAll = fails(function () {
1462
+ var re = $RegExp$1('.', 's');
1463
+ return !(re.dotAll && re.exec('\n') && re.flags === 's');
1464
+ });
1465
+
1466
+ // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
1467
+ var $RegExp = global_1.RegExp;
1468
+
1469
+ var regexpUnsupportedNcg = fails(function () {
1470
+ var re = $RegExp('(?<a>b)', 'g');
1471
+ return re.exec('b').groups.a !== 'b' ||
1472
+ 'b'.replace(re, '$<a>c') !== 'bc';
1473
+ });
1474
+
1475
+ /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
1476
+ /* eslint-disable regexp/no-useless-quantifier -- testing */
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+ var getInternalState = internalState.get;
1108
1485
 
1109
- var regexpStickyHelpers = {
1110
- UNSUPPORTED_Y: UNSUPPORTED_Y$1,
1111
- BROKEN_CARET: BROKEN_CARET
1112
- };
1113
1486
 
1114
- var nativeExec = RegExp.prototype.exec;
1115
- // This always refers to the native implementation, because the
1116
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
1117
- // which loads this file before patching the method.
1118
- var nativeReplace = String.prototype.replace;
1119
1487
 
1488
+ var nativeReplace = shared('native-string-replace', String.prototype.replace);
1489
+ var nativeExec = RegExp.prototype.exec;
1120
1490
  var patchedExec = nativeExec;
1491
+ var charAt$3 = functionUncurryThis(''.charAt);
1492
+ var indexOf = functionUncurryThis(''.indexOf);
1493
+ var replace$1 = functionUncurryThis(''.replace);
1494
+ var stringSlice$4 = functionUncurryThis(''.slice);
1121
1495
 
1122
1496
  var UPDATES_LAST_INDEX_WRONG = (function () {
1123
1497
  var re1 = /a/;
1124
1498
  var re2 = /b*/g;
1125
- nativeExec.call(re1, 'a');
1126
- nativeExec.call(re2, 'a');
1499
+ functionCall(nativeExec, re1, 'a');
1500
+ functionCall(nativeExec, re2, 'a');
1127
1501
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1128
1502
  })();
1129
1503
 
1130
- var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1504
+ var UNSUPPORTED_Y$1 = regexpStickyHelpers.BROKEN_CARET;
1131
1505
 
1132
1506
  // nonparticipating capturing group, copied from es5-shim's String#split patch.
1133
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
1134
1507
  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1135
1508
 
1136
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
1509
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1 || regexpUnsupportedDotAll || regexpUnsupportedNcg;
1137
1510
 
1138
1511
  if (PATCH) {
1139
- patchedExec = function exec(str) {
1512
+ patchedExec = function exec(string) {
1140
1513
  var re = this;
1141
- var lastIndex, reCopy, match, i;
1142
- var sticky = UNSUPPORTED_Y && re.sticky;
1143
- var flags = regexpFlags.call(re);
1514
+ var state = getInternalState(re);
1515
+ var str = toString_1(string);
1516
+ var raw = state.raw;
1517
+ var result, reCopy, lastIndex, match, i, object, group;
1518
+
1519
+ if (raw) {
1520
+ raw.lastIndex = re.lastIndex;
1521
+ result = functionCall(patchedExec, raw, str);
1522
+ re.lastIndex = raw.lastIndex;
1523
+ return result;
1524
+ }
1525
+
1526
+ var groups = state.groups;
1527
+ var sticky = UNSUPPORTED_Y$1 && re.sticky;
1528
+ var flags = functionCall(regexpFlags, re);
1144
1529
  var source = re.source;
1145
1530
  var charsAdded = 0;
1146
1531
  var strCopy = str;
1147
1532
 
1148
1533
  if (sticky) {
1149
- flags = flags.replace('y', '');
1150
- if (flags.indexOf('g') === -1) {
1534
+ flags = replace$1(flags, 'y', '');
1535
+ if (indexOf(flags, 'g') === -1) {
1151
1536
  flags += 'g';
1152
1537
  }
1153
1538
 
1154
- strCopy = String(str).slice(re.lastIndex);
1539
+ strCopy = stringSlice$4(str, re.lastIndex);
1155
1540
  // Support anchored sticky behavior.
1156
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1541
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
1157
1542
  source = '(?: ' + source + ')';
1158
1543
  strCopy = ' ' + strCopy;
1159
1544
  charsAdded++;
@@ -1168,12 +1553,12 @@
1168
1553
  }
1169
1554
  if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1170
1555
 
1171
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
1556
+ match = functionCall(nativeExec, sticky ? reCopy : re, strCopy);
1172
1557
 
1173
1558
  if (sticky) {
1174
1559
  if (match) {
1175
- match.input = match.input.slice(charsAdded);
1176
- match[0] = match[0].slice(charsAdded);
1560
+ match.input = stringSlice$4(match.input, charsAdded);
1561
+ match[0] = stringSlice$4(match[0], charsAdded);
1177
1562
  match.index = re.lastIndex;
1178
1563
  re.lastIndex += match[0].length;
1179
1564
  } else re.lastIndex = 0;
@@ -1183,13 +1568,21 @@
1183
1568
  if (NPCG_INCLUDED && match && match.length > 1) {
1184
1569
  // Fix browsers whose `exec` methods don't consistently return `undefined`
1185
1570
  // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1186
- nativeReplace.call(match[0], reCopy, function () {
1571
+ functionCall(nativeReplace, match[0], reCopy, function () {
1187
1572
  for (i = 1; i < arguments.length - 2; i++) {
1188
1573
  if (arguments[i] === undefined) match[i] = undefined;
1189
1574
  }
1190
1575
  });
1191
1576
  }
1192
1577
 
1578
+ if (match && groups) {
1579
+ match.groups = object = objectCreate(null);
1580
+ for (i = 0; i < groups.length; i++) {
1581
+ group = groups[i];
1582
+ object[group[0]] = match[group[1]];
1583
+ }
1584
+ }
1585
+
1193
1586
  return match;
1194
1587
  };
1195
1588
  }
@@ -1202,56 +1595,28 @@
1202
1595
  exec: regexpExec
1203
1596
  });
1204
1597
 
1205
- // TODO: Remove from `core-js@4` since it's moved to entry points
1206
-
1598
+ var FunctionPrototype = Function.prototype;
1599
+ var apply = FunctionPrototype.apply;
1600
+ var call = FunctionPrototype.call;
1207
1601
 
1602
+ // eslint-disable-next-line es/no-reflect -- safe
1603
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (functionBindNative ? call.bind(apply) : function () {
1604
+ return call.apply(apply, arguments);
1605
+ });
1208
1606
 
1607
+ // TODO: Remove from `core-js@4` since it's moved to entry points
1209
1608
 
1210
1609
 
1211
1610
 
1212
1611
 
1213
- var SPECIES$1 = wellKnownSymbol('species');
1214
1612
 
1215
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1216
- // #replace needs built-in support for named groups.
1217
- // #match works fine because it just return the exec results, even if it has
1218
- // a "grops" property.
1219
- var re = /./;
1220
- re.exec = function () {
1221
- var result = [];
1222
- result.groups = { a: '7' };
1223
- return result;
1224
- };
1225
- return ''.replace(re, '$<a>') !== '7';
1226
- });
1227
1613
 
1228
- // IE <= 11 replaces $0 with the whole match, as if it was $&
1229
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1230
- var REPLACE_KEEPS_$0 = (function () {
1231
- return 'a'.replace(/./, '$0') === '$0';
1232
- })();
1233
1614
 
1234
- var REPLACE = wellKnownSymbol('replace');
1235
- // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1236
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1237
- if (/./[REPLACE]) {
1238
- return /./[REPLACE]('a', '$0') === '';
1239
- }
1240
- return false;
1241
- })();
1242
1615
 
1243
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1244
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1245
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1246
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
1247
- var re = /(?:)/;
1248
- var originalExec = re.exec;
1249
- re.exec = function () { return originalExec.apply(this, arguments); };
1250
- var result = 'ab'.split(re);
1251
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1252
- });
1616
+ var SPECIES$2 = wellKnownSymbol('species');
1617
+ var RegExpPrototype = RegExp.prototype;
1253
1618
 
1254
- var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1619
+ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
1255
1620
  var SYMBOL = wellKnownSymbol(KEY);
1256
1621
 
1257
1622
  var DELEGATES_TO_SYMBOL = !fails(function () {
@@ -1274,7 +1639,7 @@
1274
1639
  // RegExp[@@split] doesn't call the regex's exec method, but first creates
1275
1640
  // a new one. We need to return the patched regex when creating the new one.
1276
1641
  re.constructor = {};
1277
- re.constructor[SPECIES$1] = function () { return re; };
1642
+ re.constructor[SPECIES$2] = function () { return re; };
1278
1643
  re.flags = '';
1279
1644
  re[SYMBOL] = /./[SYMBOL];
1280
1645
  }
@@ -1288,59 +1653,51 @@
1288
1653
  if (
1289
1654
  !DELEGATES_TO_SYMBOL ||
1290
1655
  !DELEGATES_TO_EXEC ||
1291
- (KEY === 'replace' && !(
1292
- REPLACE_SUPPORTS_NAMED_GROUPS &&
1293
- REPLACE_KEEPS_$0 &&
1294
- !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1295
- )) ||
1296
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1656
+ FORCED
1297
1657
  ) {
1298
- var nativeRegExpMethod = /./[SYMBOL];
1658
+ var uncurriedNativeRegExpMethod = functionUncurryThis(/./[SYMBOL]);
1299
1659
  var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1300
- if (regexp.exec === regexpExec) {
1660
+ var uncurriedNativeMethod = functionUncurryThis(nativeMethod);
1661
+ var $exec = regexp.exec;
1662
+ if ($exec === regexpExec || $exec === RegExpPrototype.exec) {
1301
1663
  if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1302
1664
  // The native String method already delegates to @@method (this
1303
1665
  // polyfilled function), leasing to infinite recursion.
1304
1666
  // We avoid it by directly calling the native @@method method.
1305
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1667
+ return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
1306
1668
  }
1307
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1669
+ return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
1308
1670
  }
1309
1671
  return { done: false };
1310
- }, {
1311
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
1312
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1313
1672
  });
1314
- var stringMethod = methods[0];
1315
- var regexMethod = methods[1];
1316
-
1317
- redefine(String.prototype, KEY, stringMethod);
1318
- redefine(RegExp.prototype, SYMBOL, length == 2
1319
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1320
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1321
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
1322
- // 21.2.5.6 RegExp.prototype[@@match](string)
1323
- // 21.2.5.9 RegExp.prototype[@@search](string)
1324
- : function (string) { return regexMethod.call(string, this); }
1325
- );
1673
+
1674
+ redefine(String.prototype, KEY, methods[0]);
1675
+ redefine(RegExpPrototype, SYMBOL, methods[1]);
1326
1676
  }
1327
1677
 
1328
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1678
+ if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
1329
1679
  };
1330
1680
 
1331
- // `String.prototype.{ codePointAt, at }` methods implementation
1681
+ var charAt$2 = functionUncurryThis(''.charAt);
1682
+ var charCodeAt = functionUncurryThis(''.charCodeAt);
1683
+ var stringSlice$3 = functionUncurryThis(''.slice);
1684
+
1332
1685
  var createMethod = function (CONVERT_TO_STRING) {
1333
1686
  return function ($this, pos) {
1334
- var S = String(requireObjectCoercible($this));
1335
- var position = toInteger(pos);
1687
+ var S = toString_1(requireObjectCoercible($this));
1688
+ var position = toIntegerOrInfinity(pos);
1336
1689
  var size = S.length;
1337
1690
  var first, second;
1338
1691
  if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1339
- first = S.charCodeAt(position);
1692
+ first = charCodeAt(S, position);
1340
1693
  return first < 0xD800 || first > 0xDBFF || position + 1 === size
1341
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1342
- ? CONVERT_TO_STRING ? S.charAt(position) : first
1343
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1694
+ || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
1695
+ ? CONVERT_TO_STRING
1696
+ ? charAt$2(S, position)
1697
+ : first
1698
+ : CONVERT_TO_STRING
1699
+ ? stringSlice$3(S, position, position + 2)
1700
+ : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1344
1701
  };
1345
1702
  };
1346
1703
 
@@ -1353,19 +1710,22 @@
1353
1710
  charAt: createMethod(true)
1354
1711
  };
1355
1712
 
1356
- var charAt = stringMultibyte.charAt;
1713
+ var charAt$1 = stringMultibyte.charAt;
1357
1714
 
1358
1715
  // `AdvanceStringIndex` abstract operation
1359
1716
  // https://tc39.es/ecma262/#sec-advancestringindex
1360
1717
  var advanceStringIndex = function (S, index, unicode) {
1361
- return index + (unicode ? charAt(S, index).length : 1);
1718
+ return index + (unicode ? charAt$1(S, index).length : 1);
1362
1719
  };
1363
1720
 
1364
1721
  var floor = Math.floor;
1365
- var replace = ''.replace;
1722
+ var charAt = functionUncurryThis(''.charAt);
1723
+ var replace = functionUncurryThis(''.replace);
1724
+ var stringSlice$2 = functionUncurryThis(''.slice);
1366
1725
  var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
1367
1726
  var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
1368
1727
 
1728
+ // `GetSubstitution` abstract operation
1369
1729
  // https://tc39.es/ecma262/#sec-getsubstitution
1370
1730
  var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
1371
1731
  var tailPos = position + matched.length;
@@ -1375,15 +1735,15 @@
1375
1735
  namedCaptures = toObject(namedCaptures);
1376
1736
  symbols = SUBSTITUTION_SYMBOLS;
1377
1737
  }
1378
- return replace.call(replacement, symbols, function (match, ch) {
1738
+ return replace(replacement, symbols, function (match, ch) {
1379
1739
  var capture;
1380
- switch (ch.charAt(0)) {
1740
+ switch (charAt(ch, 0)) {
1381
1741
  case '$': return '$';
1382
1742
  case '&': return matched;
1383
- case '`': return str.slice(0, position);
1384
- case "'": return str.slice(tailPos);
1743
+ case '`': return stringSlice$2(str, 0, position);
1744
+ case "'": return stringSlice$2(str, tailPos);
1385
1745
  case '<':
1386
- capture = namedCaptures[ch.slice(1, -1)];
1746
+ capture = namedCaptures[stringSlice$2(ch, 1, -1)];
1387
1747
  break;
1388
1748
  default: // \d\d?
1389
1749
  var n = +ch;
@@ -1391,7 +1751,7 @@
1391
1751
  if (n > m) {
1392
1752
  var f = floor(n / 10);
1393
1753
  if (f === 0) return match;
1394
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1754
+ if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
1395
1755
  return match;
1396
1756
  }
1397
1757
  capture = captures[n - 1];
@@ -1400,36 +1760,61 @@
1400
1760
  });
1401
1761
  };
1402
1762
 
1763
+ var TypeError$3 = global_1.TypeError;
1764
+
1403
1765
  // `RegExpExec` abstract operation
1404
1766
  // https://tc39.es/ecma262/#sec-regexpexec
1405
1767
  var regexpExecAbstract = function (R, S) {
1406
1768
  var exec = R.exec;
1407
- if (typeof exec === 'function') {
1408
- var result = exec.call(R, S);
1409
- if (typeof result !== 'object') {
1410
- throw TypeError('RegExp exec method returned something other than an Object or null');
1411
- }
1769
+ if (isCallable(exec)) {
1770
+ var result = functionCall(exec, R, S);
1771
+ if (result !== null) anObject(result);
1412
1772
  return result;
1413
1773
  }
1414
-
1415
- if (classofRaw(R) !== 'RegExp') {
1416
- throw TypeError('RegExp#exec called on incompatible receiver');
1417
- }
1418
-
1419
- return regexpExec.call(R, S);
1774
+ if (classofRaw(R) === 'RegExp') return functionCall(regexpExec, R, S);
1775
+ throw TypeError$3('RegExp#exec called on incompatible receiver');
1420
1776
  };
1421
1777
 
1778
+ var REPLACE = wellKnownSymbol('replace');
1422
1779
  var max = Math.max;
1423
1780
  var min$1 = Math.min;
1781
+ var concat = functionUncurryThis([].concat);
1782
+ var push$1 = functionUncurryThis([].push);
1783
+ var stringIndexOf = functionUncurryThis(''.indexOf);
1784
+ var stringSlice$1 = functionUncurryThis(''.slice);
1424
1785
 
1425
1786
  var maybeToString = function (it) {
1426
1787
  return it === undefined ? it : String(it);
1427
1788
  };
1428
1789
 
1790
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
1791
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1792
+ var REPLACE_KEEPS_$0 = (function () {
1793
+ // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
1794
+ return 'a'.replace(/./, '$0') === '$0';
1795
+ })();
1796
+
1797
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1798
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1799
+ if (/./[REPLACE]) {
1800
+ return /./[REPLACE]('a', '$0') === '';
1801
+ }
1802
+ return false;
1803
+ })();
1804
+
1805
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1806
+ var re = /./;
1807
+ re.exec = function () {
1808
+ var result = [];
1809
+ result.groups = { a: '7' };
1810
+ return result;
1811
+ };
1812
+ // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
1813
+ return ''.replace(re, '$<a>') !== '7';
1814
+ });
1815
+
1429
1816
  // @@replace logic
1430
- fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1431
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
1432
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
1817
+ fixRegexpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
1433
1818
  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
1434
1819
 
1435
1820
  return [
@@ -1437,27 +1822,28 @@
1437
1822
  // https://tc39.es/ecma262/#sec-string.prototype.replace
1438
1823
  function replace(searchValue, replaceValue) {
1439
1824
  var O = requireObjectCoercible(this);
1440
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1441
- return replacer !== undefined
1442
- ? replacer.call(searchValue, O, replaceValue)
1443
- : nativeReplace.call(String(O), searchValue, replaceValue);
1825
+ var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);
1826
+ return replacer
1827
+ ? functionCall(replacer, searchValue, O, replaceValue)
1828
+ : functionCall(nativeReplace, toString_1(O), searchValue, replaceValue);
1444
1829
  },
1445
1830
  // `RegExp.prototype[@@replace]` method
1446
1831
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
1447
- function (regexp, replaceValue) {
1832
+ function (string, replaceValue) {
1833
+ var rx = anObject(this);
1834
+ var S = toString_1(string);
1835
+
1448
1836
  if (
1449
- (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
1450
- (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
1837
+ typeof replaceValue == 'string' &&
1838
+ stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
1839
+ stringIndexOf(replaceValue, '$<') === -1
1451
1840
  ) {
1452
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1841
+ var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
1453
1842
  if (res.done) return res.value;
1454
1843
  }
1455
1844
 
1456
- var rx = anObject(regexp);
1457
- var S = String(this);
1458
-
1459
- var functionalReplace = typeof replaceValue === 'function';
1460
- if (!functionalReplace) replaceValue = String(replaceValue);
1845
+ var functionalReplace = isCallable(replaceValue);
1846
+ if (!functionalReplace) replaceValue = toString_1(replaceValue);
1461
1847
 
1462
1848
  var global = rx.global;
1463
1849
  if (global) {
@@ -1469,10 +1855,10 @@
1469
1855
  var result = regexpExecAbstract(rx, S);
1470
1856
  if (result === null) break;
1471
1857
 
1472
- results.push(result);
1858
+ push$1(results, result);
1473
1859
  if (!global) break;
1474
1860
 
1475
- var matchStr = String(result[0]);
1861
+ var matchStr = toString_1(result[0]);
1476
1862
  if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1477
1863
  }
1478
1864
 
@@ -1481,31 +1867,97 @@
1481
1867
  for (var i = 0; i < results.length; i++) {
1482
1868
  result = results[i];
1483
1869
 
1484
- var matched = String(result[0]);
1485
- var position = max(min$1(toInteger(result.index), S.length), 0);
1870
+ var matched = toString_1(result[0]);
1871
+ var position = max(min$1(toIntegerOrInfinity(result.index), S.length), 0);
1486
1872
  var captures = [];
1487
1873
  // NOTE: This is equivalent to
1488
1874
  // captures = result.slice(1).map(maybeToString)
1489
1875
  // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1490
1876
  // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1491
1877
  // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1492
- for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1878
+ for (var j = 1; j < result.length; j++) push$1(captures, maybeToString(result[j]));
1493
1879
  var namedCaptures = result.groups;
1494
1880
  if (functionalReplace) {
1495
- var replacerArgs = [matched].concat(captures, position, S);
1496
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1497
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
1881
+ var replacerArgs = concat([matched], captures, position, S);
1882
+ if (namedCaptures !== undefined) push$1(replacerArgs, namedCaptures);
1883
+ var replacement = toString_1(functionApply(replaceValue, undefined, replacerArgs));
1498
1884
  } else {
1499
1885
  replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1500
1886
  }
1501
1887
  if (position >= nextSourcePosition) {
1502
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1888
+ accumulatedResult += stringSlice$1(S, nextSourcePosition, position) + replacement;
1503
1889
  nextSourcePosition = position + matched.length;
1504
1890
  }
1505
1891
  }
1506
- return accumulatedResult + S.slice(nextSourcePosition);
1892
+ return accumulatedResult + stringSlice$1(S, nextSourcePosition);
1507
1893
  }
1508
1894
  ];
1895
+ }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
1896
+
1897
+ var SPECIES$1 = wellKnownSymbol('species');
1898
+
1899
+ var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
1900
+ // We can't use this feature detection in V8 since it causes
1901
+ // deoptimization and serious performance degradation
1902
+ // https://github.com/zloirock/core-js/issues/677
1903
+ return engineV8Version >= 51 || !fails(function () {
1904
+ var array = [];
1905
+ var constructor = array.constructor = {};
1906
+ constructor[SPECIES$1] = function () {
1907
+ return { foo: 1 };
1908
+ };
1909
+ return array[METHOD_NAME](Boolean).foo !== 1;
1910
+ });
1911
+ };
1912
+
1913
+ var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1914
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
1915
+ var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1916
+ var TypeError$2 = global_1.TypeError;
1917
+
1918
+ // We can't use this feature detection in V8 since it causes
1919
+ // deoptimization and serious performance degradation
1920
+ // https://github.com/zloirock/core-js/issues/679
1921
+ var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
1922
+ var array = [];
1923
+ array[IS_CONCAT_SPREADABLE] = false;
1924
+ return array.concat()[0] !== array;
1925
+ });
1926
+
1927
+ var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
1928
+
1929
+ var isConcatSpreadable = function (O) {
1930
+ if (!isObject(O)) return false;
1931
+ var spreadable = O[IS_CONCAT_SPREADABLE];
1932
+ return spreadable !== undefined ? !!spreadable : isArray(O);
1933
+ };
1934
+
1935
+ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1936
+
1937
+ // `Array.prototype.concat` method
1938
+ // https://tc39.es/ecma262/#sec-array.prototype.concat
1939
+ // with adding support of @@isConcatSpreadable and @@species
1940
+ _export({ target: 'Array', proto: true, forced: FORCED }, {
1941
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
1942
+ concat: function concat(arg) {
1943
+ var O = toObject(this);
1944
+ var A = arraySpeciesCreate(O, 0);
1945
+ var n = 0;
1946
+ var i, k, length, len, E;
1947
+ for (i = -1, length = arguments.length; i < length; i++) {
1948
+ E = i === -1 ? O : arguments[i];
1949
+ if (isConcatSpreadable(E)) {
1950
+ len = lengthOfArrayLike(E);
1951
+ if (n + len > MAX_SAFE_INTEGER) throw TypeError$2(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1952
+ for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1953
+ } else {
1954
+ if (n >= MAX_SAFE_INTEGER) throw TypeError$2(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1955
+ createProperty(A, n++, E);
1956
+ }
1957
+ }
1958
+ A.length = n;
1959
+ return A;
1960
+ }
1509
1961
  });
1510
1962
 
1511
1963
  var $filter = arrayIteration.filter;
@@ -1523,23 +1975,23 @@
1523
1975
  });
1524
1976
 
1525
1977
  // @@match logic
1526
- fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
1978
+ fixRegexpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {
1527
1979
  return [
1528
1980
  // `String.prototype.match` method
1529
1981
  // https://tc39.es/ecma262/#sec-string.prototype.match
1530
1982
  function match(regexp) {
1531
1983
  var O = requireObjectCoercible(this);
1532
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
1533
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
1984
+ var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);
1985
+ return matcher ? functionCall(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString_1(O));
1534
1986
  },
1535
1987
  // `RegExp.prototype[@@match]` method
1536
1988
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
1537
- function (regexp) {
1538
- var res = maybeCallNative(nativeMatch, regexp, this);
1539
- if (res.done) return res.value;
1989
+ function (string) {
1990
+ var rx = anObject(this);
1991
+ var S = toString_1(string);
1992
+ var res = maybeCallNative(nativeMatch, rx, S);
1540
1993
 
1541
- var rx = anObject(regexp);
1542
- var S = String(this);
1994
+ if (res.done) return res.value;
1543
1995
 
1544
1996
  if (!rx.global) return regexpExecAbstract(rx, S);
1545
1997
 
@@ -1549,7 +2001,7 @@
1549
2001
  var n = 0;
1550
2002
  var result;
1551
2003
  while ((result = regexpExecAbstract(rx, S)) !== null) {
1552
- var matchStr = String(result[0]);
2004
+ var matchStr = toString_1(result[0]);
1553
2005
  A[n] = matchStr;
1554
2006
  if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1555
2007
  n++;
@@ -1568,6 +2020,14 @@
1568
2020
  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1569
2021
  };
1570
2022
 
2023
+ var TypeError$1 = global_1.TypeError;
2024
+
2025
+ // `Assert: IsConstructor(argument) is true`
2026
+ var aConstructor = function (argument) {
2027
+ if (isConstructor(argument)) return argument;
2028
+ throw TypeError$1(tryToString(argument) + ' is not a constructor');
2029
+ };
2030
+
1571
2031
  var SPECIES = wellKnownSymbol('species');
1572
2032
 
1573
2033
  // `SpeciesConstructor` abstract operation
@@ -1575,18 +2035,30 @@
1575
2035
  var speciesConstructor = function (O, defaultConstructor) {
1576
2036
  var C = anObject(O).constructor;
1577
2037
  var S;
1578
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
2038
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
1579
2039
  };
1580
2040
 
1581
- var arrayPush = [].push;
1582
- var min = Math.min;
2041
+ var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
1583
2042
  var MAX_UINT32 = 0xFFFFFFFF;
2043
+ var min = Math.min;
2044
+ var $push = [].push;
2045
+ var exec = functionUncurryThis(/./.exec);
2046
+ var push = functionUncurryThis($push);
2047
+ var stringSlice = functionUncurryThis(''.slice);
1584
2048
 
1585
- // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
1586
- var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
2049
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
2050
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
2051
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
2052
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
2053
+ var re = /(?:)/;
2054
+ var originalExec = re.exec;
2055
+ re.exec = function () { return originalExec.apply(this, arguments); };
2056
+ var result = 'ab'.split(re);
2057
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
2058
+ });
1587
2059
 
1588
2060
  // @@split logic
1589
- fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
2061
+ fixRegexpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {
1590
2062
  var internalSplit;
1591
2063
  if (
1592
2064
  'abbc'.split(/(b)*/)[1] == 'c' ||
@@ -1594,19 +2066,19 @@
1594
2066
  'test'.split(/(?:)/, -1).length != 4 ||
1595
2067
  'ab'.split(/(?:ab)*/).length != 2 ||
1596
2068
  '.'.split(/(.?)(.?)/).length != 4 ||
1597
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
2069
+ // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
1598
2070
  '.'.split(/()()/).length > 1 ||
1599
2071
  ''.split(/.?/).length
1600
2072
  ) {
1601
2073
  // based on es5-shim implementation, need to rework it
1602
2074
  internalSplit = function (separator, limit) {
1603
- var string = String(requireObjectCoercible(this));
2075
+ var string = toString_1(requireObjectCoercible(this));
1604
2076
  var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1605
2077
  if (lim === 0) return [];
1606
2078
  if (separator === undefined) return [string];
1607
2079
  // If `separator` is not a regex, use native split
1608
2080
  if (!isRegexp(separator)) {
1609
- return nativeSplit.call(string, separator, lim);
2081
+ return functionCall(nativeSplit, string, separator, lim);
1610
2082
  }
1611
2083
  var output = [];
1612
2084
  var flags = (separator.ignoreCase ? 'i' : '') +
@@ -1617,11 +2089,11 @@
1617
2089
  // Make `global` and avoid `lastIndex` issues by working with a copy
1618
2090
  var separatorCopy = new RegExp(separator.source, flags + 'g');
1619
2091
  var match, lastIndex, lastLength;
1620
- while (match = regexpExec.call(separatorCopy, string)) {
2092
+ while (match = functionCall(regexpExec, separatorCopy, string)) {
1621
2093
  lastIndex = separatorCopy.lastIndex;
1622
2094
  if (lastIndex > lastLastIndex) {
1623
- output.push(string.slice(lastLastIndex, match.index));
1624
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
2095
+ push(output, stringSlice(string, lastLastIndex, match.index));
2096
+ if (match.length > 1 && match.index < string.length) functionApply($push, output, arraySliceSimple(match, 1));
1625
2097
  lastLength = match[0].length;
1626
2098
  lastLastIndex = lastIndex;
1627
2099
  if (output.length >= lim) break;
@@ -1629,14 +2101,14 @@
1629
2101
  if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
1630
2102
  }
1631
2103
  if (lastLastIndex === string.length) {
1632
- if (lastLength || !separatorCopy.test('')) output.push('');
1633
- } else output.push(string.slice(lastLastIndex));
1634
- return output.length > lim ? output.slice(0, lim) : output;
2104
+ if (lastLength || !exec(separatorCopy, '')) push(output, '');
2105
+ } else push(output, stringSlice(string, lastLastIndex));
2106
+ return output.length > lim ? arraySliceSimple(output, 0, lim) : output;
1635
2107
  };
1636
2108
  // Chakra, V8
1637
2109
  } else if ('0'.split(undefined, 0).length) {
1638
2110
  internalSplit = function (separator, limit) {
1639
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
2111
+ return separator === undefined && limit === 0 ? [] : functionCall(nativeSplit, this, separator, limit);
1640
2112
  };
1641
2113
  } else internalSplit = nativeSplit;
1642
2114
 
@@ -1645,33 +2117,34 @@
1645
2117
  // https://tc39.es/ecma262/#sec-string.prototype.split
1646
2118
  function split(separator, limit) {
1647
2119
  var O = requireObjectCoercible(this);
1648
- var splitter = separator == undefined ? undefined : separator[SPLIT];
1649
- return splitter !== undefined
1650
- ? splitter.call(separator, O, limit)
1651
- : internalSplit.call(String(O), separator, limit);
2120
+ var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);
2121
+ return splitter
2122
+ ? functionCall(splitter, separator, O, limit)
2123
+ : functionCall(internalSplit, toString_1(O), separator, limit);
1652
2124
  },
1653
2125
  // `RegExp.prototype[@@split]` method
1654
2126
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
1655
2127
  //
1656
2128
  // NOTE: This cannot be properly polyfilled in engines that don't support
1657
2129
  // the 'y' flag.
1658
- function (regexp, limit) {
1659
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
2130
+ function (string, limit) {
2131
+ var rx = anObject(this);
2132
+ var S = toString_1(string);
2133
+ var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);
2134
+
1660
2135
  if (res.done) return res.value;
1661
2136
 
1662
- var rx = anObject(regexp);
1663
- var S = String(this);
1664
2137
  var C = speciesConstructor(rx, RegExp);
1665
2138
 
1666
2139
  var unicodeMatching = rx.unicode;
1667
2140
  var flags = (rx.ignoreCase ? 'i' : '') +
1668
2141
  (rx.multiline ? 'm' : '') +
1669
2142
  (rx.unicode ? 'u' : '') +
1670
- (SUPPORTS_Y ? 'y' : 'g');
2143
+ (UNSUPPORTED_Y ? 'g' : 'y');
1671
2144
 
1672
2145
  // ^(? + rx + ) is needed, in combination with some S slicing, to
1673
2146
  // simulate the 'y' flag.
1674
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
2147
+ var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);
1675
2148
  var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1676
2149
  if (lim === 0) return [];
1677
2150
  if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
@@ -1679,29 +2152,29 @@
1679
2152
  var q = 0;
1680
2153
  var A = [];
1681
2154
  while (q < S.length) {
1682
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
1683
- var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
2155
+ splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
2156
+ var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);
1684
2157
  var e;
1685
2158
  if (
1686
2159
  z === null ||
1687
- (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
2160
+ (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p
1688
2161
  ) {
1689
2162
  q = advanceStringIndex(S, q, unicodeMatching);
1690
2163
  } else {
1691
- A.push(S.slice(p, q));
2164
+ push(A, stringSlice(S, p, q));
1692
2165
  if (A.length === lim) return A;
1693
2166
  for (var i = 1; i <= z.length - 1; i++) {
1694
- A.push(z[i]);
2167
+ push(A, z[i]);
1695
2168
  if (A.length === lim) return A;
1696
2169
  }
1697
2170
  q = p = e;
1698
2171
  }
1699
2172
  }
1700
- A.push(S.slice(p));
2173
+ push(A, stringSlice(S, p));
1701
2174
  return A;
1702
2175
  }
1703
2176
  ];
1704
- }, !SUPPORTS_Y);
2177
+ }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);
1705
2178
 
1706
2179
  var $includes = arrayIncludes.includes;
1707
2180
 
@@ -1753,6 +2226,14 @@
1753
2226
  TouchList: 0
1754
2227
  };
1755
2228
 
2229
+ // in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
2230
+
2231
+
2232
+ var classList = documentCreateElement('span').classList;
2233
+ var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;
2234
+
2235
+ var domTokenListPrototype = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;
2236
+
1756
2237
  var $forEach = arrayIteration.forEach;
1757
2238
 
1758
2239
 
@@ -1762,19 +2243,26 @@
1762
2243
  // https://tc39.es/ecma262/#sec-array.prototype.foreach
1763
2244
  var arrayForEach = !STRICT_METHOD$2 ? function forEach(callbackfn /* , thisArg */) {
1764
2245
  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2246
+ // eslint-disable-next-line es/no-array-prototype-foreach -- safe
1765
2247
  } : [].forEach;
1766
2248
 
1767
- for (var COLLECTION_NAME in domIterables) {
1768
- var Collection = global_1[COLLECTION_NAME];
1769
- var CollectionPrototype = Collection && Collection.prototype;
2249
+ var handlePrototype = function (CollectionPrototype) {
1770
2250
  // some Chrome versions have non-configurable methods on DOMTokenList
1771
2251
  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
1772
2252
  createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
1773
2253
  } catch (error) {
1774
2254
  CollectionPrototype.forEach = arrayForEach;
1775
2255
  }
2256
+ };
2257
+
2258
+ for (var COLLECTION_NAME in domIterables) {
2259
+ if (domIterables[COLLECTION_NAME]) {
2260
+ handlePrototype(global_1[COLLECTION_NAME] && global_1[COLLECTION_NAME].prototype);
2261
+ }
1776
2262
  }
1777
2263
 
2264
+ handlePrototype(domTokenListPrototype);
2265
+
1778
2266
  var FAILS_ON_PRIMITIVES = fails(function () { objectKeys(1); });
1779
2267
 
1780
2268
  // `Object.keys` method
@@ -1785,7 +2273,7 @@
1785
2273
  }
1786
2274
  });
1787
2275
 
1788
- var nativeJoin = [].join;
2276
+ var un$Join = functionUncurryThis([].join);
1789
2277
 
1790
2278
  var ES3_STRINGS = indexedObject != Object;
1791
2279
  var STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');
@@ -1794,41 +2282,59 @@
1794
2282
  // https://tc39.es/ecma262/#sec-array.prototype.join
1795
2283
  _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {
1796
2284
  join: function join(separator) {
1797
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
2285
+ return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);
1798
2286
  }
1799
2287
  });
1800
2288
 
1801
- var $indexOf = arrayIncludes.indexOf;
2289
+ /* eslint-disable es/no-array-prototype-indexof -- required for testing */
2290
+
2291
+
2292
+ var $IndexOf = arrayIncludes.indexOf;
1802
2293
 
1803
2294
 
1804
- var nativeIndexOf = [].indexOf;
2295
+ var un$IndexOf = functionUncurryThis([].indexOf);
1805
2296
 
1806
- var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
2297
+ var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0;
1807
2298
  var STRICT_METHOD = arrayMethodIsStrict('indexOf');
1808
2299
 
1809
2300
  // `Array.prototype.indexOf` method
1810
2301
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
1811
2302
  _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
1812
2303
  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
2304
+ var fromIndex = arguments.length > 1 ? arguments[1] : undefined;
1813
2305
  return NEGATIVE_ZERO
1814
2306
  // convert -0 to +0
1815
- ? nativeIndexOf.apply(this, arguments) || 0
1816
- : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
2307
+ ? un$IndexOf(this, searchElement, fromIndex) || 0
2308
+ : $IndexOf(this, searchElement, fromIndex);
1817
2309
  }
1818
2310
  });
1819
2311
 
1820
- var Utils = $__default['default'].fn.bootstrapTable.utils;
2312
+ /* eslint-disable no-use-before-define */
2313
+
2314
+ var Utils = $__default["default"].fn.bootstrapTable.utils;
1821
2315
  var searchControls = 'select, input:not([type="checkbox"]):not([type="radio"])';
2316
+ function getInputClass(that) {
2317
+ var isSelect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2318
+ var formControlClass = isSelect ? that.constants.classes.select : that.constants.classes.input;
2319
+ return that.options.iconSize ? Utils.sprintf('%s-%s', formControlClass, that.options.iconSize) : formControlClass;
2320
+ }
1822
2321
  function getOptionsFromSelectControl(selectControl) {
1823
- return selectControl.get(selectControl.length - 1).options;
2322
+ return selectControl[0].options;
1824
2323
  }
1825
2324
  function getControlContainer(that) {
1826
2325
  if (that.options.filterControlContainer) {
1827
- return $__default['default']("".concat(that.options.filterControlContainer));
2326
+ return $__default["default"]("".concat(that.options.filterControlContainer));
2327
+ }
2328
+
2329
+ if (that.options.height && that._initialized) {
2330
+ return $__default["default"]('.fixed-table-header table thead');
1828
2331
  }
1829
2332
 
1830
2333
  return that.$header;
1831
2334
  }
2335
+ function isKeyAllowed(keyCode) {
2336
+ return $__default["default"].inArray(keyCode, [37, 38, 39, 40]) > -1;
2337
+ }
1832
2338
  function getSearchControls(that) {
1833
2339
  return getControlContainer(that).find(searchControls);
1834
2340
  }
@@ -1849,7 +2355,7 @@
1849
2355
  var options = getOptionsFromSelectControl(selectControl);
1850
2356
 
1851
2357
  for (var i = 0; i < options.length; i++) {
1852
- if (options[i].value === Utils.unescapeHTML(value.toString())) {
2358
+ if (options[i].value === Utils.unescapeHTML(value)) {
1853
2359
  // The value is not valid to add
1854
2360
  return true;
1855
2361
  }
@@ -1858,78 +2364,90 @@
1858
2364
 
1859
2365
  return false;
1860
2366
  }
1861
- function addOptionToSelectControl(selectControl, _value, text, selected) {
2367
+ function addOptionToSelectControl(selectControl, _value, text, selected, shouldCompareText) {
1862
2368
  var value = _value === undefined || _value === null ? '' : _value.toString().trim();
1863
- var $selectControl = $__default['default'](selectControl.get(selectControl.length - 1));
1864
-
1865
- if (!existOptionInSelectControl(selectControl, value)) {
1866
- var option = $__default['default']("<option value=\"".concat(value, "\">").concat(text, "</option>"));
1867
-
1868
- if (value === selected) {
1869
- option.attr('selected', true);
1870
- }
2369
+ value = Utils.removeHTML(value);
2370
+ text = Utils.removeHTML(text);
1871
2371
 
1872
- $selectControl.append(option);
2372
+ if (existOptionInSelectControl(selectControl, value)) {
2373
+ return;
1873
2374
  }
2375
+
2376
+ var isSelected = shouldCompareText ? value === selected || text === selected : value === selected;
2377
+ var option = new Option(text, value, false, isSelected);
2378
+ selectControl.get(0).add(option);
1874
2379
  }
1875
2380
  function sortSelectControl(selectControl, orderBy) {
1876
- var $selectControl = $__default['default'](selectControl.get(selectControl.length - 1));
1877
- var $opts = $selectControl.find('option:gt(0)');
2381
+ var $selectControl = selectControl.get(0);
1878
2382
 
1879
- if (orderBy !== 'server') {
1880
- $opts.sort(function (a, b) {
1881
- return Utils.sort(a.textContent, b.textContent, orderBy === 'desc' ? -1 : 1);
1882
- });
2383
+ if (orderBy === 'server') {
2384
+ return;
2385
+ }
2386
+
2387
+ var tmpAry = new Array();
2388
+
2389
+ for (var i = 0; i < $selectControl.options.length; i++) {
2390
+ tmpAry[i] = new Array();
2391
+ tmpAry[i][0] = $selectControl.options[i].text;
2392
+ tmpAry[i][1] = $selectControl.options[i].value;
2393
+ tmpAry[i][2] = $selectControl.options[i].selected;
2394
+ }
2395
+
2396
+ tmpAry.sort(function (a, b) {
2397
+ return Utils.sort(a[0], b[0], orderBy === 'desc' ? -1 : 1);
2398
+ });
2399
+
2400
+ while ($selectControl.options.length > 0) {
2401
+ $selectControl.options[0] = null;
1883
2402
  }
1884
2403
 
1885
- $selectControl.find('option:gt(0)').remove();
1886
- $selectControl.append($opts);
2404
+ for (var _i = 0; _i < tmpAry.length; _i++) {
2405
+ var op = new Option(tmpAry[_i][0], tmpAry[_i][1], false, tmpAry[_i][2]);
2406
+ $selectControl.add(op);
2407
+ }
1887
2408
  }
1888
2409
  function fixHeaderCSS(_ref) {
1889
2410
  var $tableHeader = _ref.$tableHeader;
1890
- $tableHeader.css('height', '89px');
2411
+ $tableHeader.css('height', $tableHeader.find('table').outerHeight(true));
1891
2412
  }
1892
2413
  function getElementClass($element) {
1893
2414
  return $element.attr('class').replace('form-control', '').replace('focus-temp', '').replace('search-input', '').trim();
1894
2415
  }
1895
2416
  function getCursorPosition(el) {
1896
- if (Utils.isIEBrowser()) {
1897
- if ($__default['default'](el).is('input[type=text]')) {
1898
- var pos = 0;
1899
-
1900
- if ('selectionStart' in el) {
1901
- pos = el.selectionStart;
1902
- } else if ('selection' in document) {
1903
- el.focus();
1904
- var Sel = document.selection.createRange();
1905
- var SelLength = document.selection.createRange().text.length;
1906
- Sel.moveStart('character', -el.value.length);
1907
- pos = Sel.text.length - SelLength;
1908
- }
1909
-
1910
- return pos;
2417
+ if ($__default["default"](el).is('input[type=search]')) {
2418
+ var pos = 0;
2419
+
2420
+ if ('selectionStart' in el) {
2421
+ pos = el.selectionStart;
2422
+ } else if ('selection' in document) {
2423
+ el.focus();
2424
+ var Sel = document.selection.createRange();
2425
+ var SelLength = document.selection.createRange().text.length;
2426
+ Sel.moveStart('character', -el.value.length);
2427
+ pos = Sel.text.length - SelLength;
1911
2428
  }
1912
2429
 
1913
- return -1;
2430
+ return pos;
1914
2431
  }
1915
2432
 
1916
2433
  return -1;
1917
2434
  }
1918
- function setCursorPosition(el) {
1919
- $__default['default'](el).val(el.value);
1920
- }
1921
- function copyValues(that) {
2435
+ function cacheValues(that) {
1922
2436
  var searchControls = getSearchControls(that);
1923
- that.options.valuesFilterControl = [];
2437
+ that._valuesFilterControl = [];
1924
2438
  searchControls.each(function () {
1925
- var $field = $__default['default'](this);
2439
+ var $field = $__default["default"](this);
2440
+ var fieldClass = getElementClass($field);
1926
2441
 
1927
- if (that.options.height) {
1928
- var fieldClass = getElementClass($field);
1929
- $field = $__default['default'](".fixed-table-header .".concat(fieldClass));
2442
+ if (that.options.height && !that.options.filterControlContainer) {
2443
+ $field = $__default["default"](".fixed-table-header .".concat(fieldClass));
2444
+ } else if (that.options.filterControlContainer) {
2445
+ $field = $__default["default"]("".concat(that.options.filterControlContainer, " .").concat(fieldClass));
2446
+ } else {
2447
+ $field = $__default["default"](".".concat(fieldClass));
1930
2448
  }
1931
2449
 
1932
- that.options.valuesFilterControl.push({
2450
+ that._valuesFilterControl.push({
1933
2451
  field: $field.closest('[data-field]').data('field'),
1934
2452
  value: $field.val(),
1935
2453
  position: getCursorPosition($field.get(0)),
@@ -1937,62 +2455,85 @@
1937
2455
  });
1938
2456
  });
1939
2457
  }
2458
+ function setCaretPosition(elem, caretPos) {
2459
+ try {
2460
+ if (elem) {
2461
+ if (elem.createTextRange) {
2462
+ var range = elem.createTextRange();
2463
+ range.move('character', caretPos);
2464
+ range.select();
2465
+ } else {
2466
+ elem.setSelectionRange(caretPos, caretPos);
2467
+ }
2468
+ }
2469
+ } catch (ex) {// ignored
2470
+ }
2471
+ }
1940
2472
  function setValues(that) {
1941
2473
  var field = null;
1942
2474
  var result = [];
1943
2475
  var searchControls = getSearchControls(that);
1944
2476
 
1945
- if (that.options.valuesFilterControl.length > 0) {
2477
+ if (that._valuesFilterControl.length > 0) {
1946
2478
  // Callback to apply after settings fields values
1947
- var fieldToFocusCallback = null;
2479
+ var callbacks = [];
1948
2480
  searchControls.each(function (i, el) {
1949
- var $this = $__default['default'](el);
2481
+ var $this = $__default["default"](el);
1950
2482
  field = $this.closest('[data-field]').data('field');
1951
- result = that.options.valuesFilterControl.filter(function (valueObj) {
2483
+ result = that._valuesFilterControl.filter(function (valueObj) {
1952
2484
  return valueObj.field === field;
1953
2485
  });
1954
2486
 
1955
2487
  if (result.length > 0) {
1956
- if ($this.is('[type=radio]')) {
1957
- return;
1958
- }
1959
-
1960
- $this.val(result[0].value);
1961
-
1962
- if (result[0].hasFocus && result[0].value !== '') {
1963
- // set callback if the field had the focus.
1964
- fieldToFocusCallback = function (fieldToFocus, carretPosition) {
1965
- // Closure here to capture the field and cursor position
2488
+ if (result[0].hasFocus || result[0].value) {
2489
+ var fieldToFocusCallback = function (element, cacheElementInfo) {
2490
+ // Closure here to capture the field information
1966
2491
  var closedCallback = function closedCallback() {
1967
- fieldToFocus.focus();
1968
- setCursorPosition(fieldToFocus);
2492
+ if (cacheElementInfo.hasFocus) {
2493
+ element.focus();
2494
+ }
2495
+
2496
+ if (Array.isArray(cacheElementInfo.value)) {
2497
+ var $element = $__default["default"](element);
2498
+ $__default["default"].each(cacheElementInfo.value, function (i, e) {
2499
+ $element.find(Utils.sprintf('option[value=\'%s\']', e)).prop('selected', true);
2500
+ });
2501
+ } else {
2502
+ element.value = cacheElementInfo.value;
2503
+ }
2504
+
2505
+ setCaretPosition(element, cacheElementInfo.position);
1969
2506
  };
1970
2507
 
1971
2508
  return closedCallback;
1972
- }($this.get(0), result[0].position);
2509
+ }($this.get(0), result[0]);
2510
+
2511
+ callbacks.push(fieldToFocusCallback);
1973
2512
  }
1974
2513
  }
1975
2514
  }); // Callback call.
1976
2515
 
1977
- if (fieldToFocusCallback !== null) {
1978
- fieldToFocusCallback();
2516
+ if (callbacks.length > 0) {
2517
+ callbacks.forEach(function (callback) {
2518
+ return callback();
2519
+ });
1979
2520
  }
1980
2521
  }
1981
2522
  }
1982
- function collectBootstrapCookies() {
2523
+ function collectBootstrapTableFilterCookies() {
1983
2524
  var cookies = [];
1984
- var foundCookies = document.cookie.match(/(?:bs.table.)(\w*)/g);
2525
+ var foundCookies = document.cookie.match(/bs\.table\.(filterControl|searchText)/g);
1985
2526
  var foundLocalStorage = localStorage;
1986
2527
 
1987
2528
  if (foundCookies) {
1988
- $__default['default'].each(foundCookies, function (i, _cookie) {
2529
+ $__default["default"].each(foundCookies, function (i, _cookie) {
1989
2530
  var cookie = _cookie;
1990
2531
 
1991
2532
  if (/./.test(cookie)) {
1992
2533
  cookie = cookie.split('.').pop();
1993
2534
  }
1994
2535
 
1995
- if ($__default['default'].inArray(cookie, cookies) === -1) {
2536
+ if ($__default["default"].inArray(cookie, cookies) === -1) {
1996
2537
  cookies.push(cookie);
1997
2538
  }
1998
2539
  });
@@ -2031,26 +2572,30 @@
2031
2572
  return selectControl && selectControl.length > 0;
2032
2573
  }
2033
2574
  function initFilterSelectControls(that) {
2034
- var data = that.data;
2035
- var z = that.options.pagination ? that.options.sidePagination === 'server' ? that.pageTo : that.options.totalRows : that.pageTo;
2036
- $__default['default'].each(that.header.fields, function (j, field) {
2575
+ var data = that.options.data;
2576
+ $__default["default"].each(that.header.fields, function (j, field) {
2037
2577
  var column = that.columns[that.fieldsColumnsIndex[field]];
2038
2578
  var selectControl = getControlContainer(that).find("select.bootstrap-table-filter-control-".concat(escapeID(column.field)));
2039
2579
 
2040
2580
  if (isColumnSearchableViaSelect(column) && isFilterDataNotGiven(column) && hasSelectControlElement(selectControl)) {
2041
- if (selectControl.get(selectControl.length - 1).options.length === 0) {
2581
+ if (!selectControl[0].multiple && selectControl.get(selectControl.length - 1).options.length === 0) {
2042
2582
  // Added the default option, must use a non-breaking space(&nbsp;) to pass the W3C validator
2043
- addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder || '&nbsp;', column.filterDefault);
2583
+ addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder || ' ', column.filterDefault);
2044
2584
  }
2045
2585
 
2046
2586
  var uniqueValues = {};
2047
2587
 
2048
- for (var i = 0; i < z; i++) {
2588
+ for (var i = 0; i < data.length; i++) {
2049
2589
  // Added a new value
2050
2590
  var fieldValue = Utils.getItemField(data[i], field, false);
2051
2591
  var formatter = that.options.editable && column.editable ? column._formatter : that.header.formatters[j];
2052
2592
  var formattedValue = Utils.calculateObjectValue(that.header, formatter, [fieldValue, data[i], i], fieldValue);
2053
2593
 
2594
+ if (!fieldValue) {
2595
+ fieldValue = formattedValue;
2596
+ column._forceFormatter = true;
2597
+ }
2598
+
2054
2599
  if (column.filterDataCollector) {
2055
2600
  formattedValue = Utils.calculateObjectValue(that.header, column.filterDataCollector, [fieldValue, data[i], formattedValue], formattedValue);
2056
2601
  }
@@ -2066,18 +2611,12 @@
2066
2611
  addOptionToSelectControl(selectControl, value, value, column.filterDefault);
2067
2612
  });
2068
2613
  continue;
2069
- } // eslint-disable-next-line guard-for-in
2070
-
2071
-
2072
- for (var key in uniqueValues) {
2073
- addOptionToSelectControl(selectControl, uniqueValues[key], key, column.filterDefault);
2074
2614
  }
2075
- }
2615
+ } // eslint-disable-next-line guard-for-in
2076
2616
 
2077
- sortSelectControl(selectControl, column.filterOrderBy);
2078
2617
 
2079
- if (that.options.hideUnusedSelectOptions) {
2080
- hideUnusedSelectOptions(selectControl, uniqueValues);
2618
+ for (var key in uniqueValues) {
2619
+ addOptionToSelectControl(selectControl, uniqueValues[key], key, column.filterDefault);
2081
2620
  }
2082
2621
  }
2083
2622
  });
@@ -2096,7 +2635,7 @@
2096
2635
  function createControls(that, header) {
2097
2636
  var addedFilterControl = false;
2098
2637
  var html;
2099
- $__default['default'].each(that.columns, function (_, column) {
2638
+ $__default["default"].each(that.columns, function (_, column) {
2100
2639
  html = [];
2101
2640
 
2102
2641
  if (!column.visible) {
@@ -2106,12 +2645,13 @@
2106
2645
  if (!column.filterControl && !that.options.filterControlContainer) {
2107
2646
  html.push('<div class="no-filter-control"></div>');
2108
2647
  } else if (that.options.filterControlContainer) {
2109
- var $filterControls = $__default['default'](".bootstrap-table-filter-control-".concat(column.field));
2110
- $__default['default'].each($filterControls, function (_, filterControl) {
2111
- var $filterControl = $__default['default'](filterControl);
2648
+ // Use a filter control container instead of th
2649
+ var $filterControls = $__default["default"](".bootstrap-table-filter-control-".concat(column.field));
2650
+ $__default["default"].each($filterControls, function (_, filterControl) {
2651
+ var $filterControl = $__default["default"](filterControl);
2112
2652
 
2113
2653
  if (!$filterControl.is('[type=radio]')) {
2114
- var placeholder = column.filterControlPlaceholder ? column.filterControlPlaceholder : '';
2654
+ var placeholder = column.filterControlPlaceholder || '';
2115
2655
  $filterControl.attr('placeholder', placeholder).val(column.filterDefault);
2116
2656
  }
2117
2657
 
@@ -2119,44 +2659,45 @@
2119
2659
  });
2120
2660
  addedFilterControl = true;
2121
2661
  } else {
2662
+ // Create the control based on the html defined in the filterTemplate array.
2122
2663
  var nameControl = column.filterControl.toLowerCase();
2123
2664
  html.push('<div class="filter-control">');
2124
2665
  addedFilterControl = true;
2125
2666
 
2126
2667
  if (column.searchable && that.options.filterTemplate[nameControl]) {
2127
- html.push(that.options.filterTemplate[nameControl](that, column.field, column.filterControlPlaceholder ? column.filterControlPlaceholder : '', column.filterDefault));
2668
+ html.push(that.options.filterTemplate[nameControl](that, column, column.filterControlPlaceholder ? column.filterControlPlaceholder : '', column.filterDefault));
2128
2669
  }
2129
- }
2670
+ } // Filtering by default when it is set.
2671
+
2130
2672
 
2131
- if (!column.filterControl && '' !== column.filterDefault && 'undefined' !== typeof column.filterDefault) {
2132
- if ($__default['default'].isEmptyObject(that.filterColumnsPartial)) {
2673
+ if (column.filterControl && '' !== column.filterDefault && 'undefined' !== typeof column.filterDefault) {
2674
+ if ($__default["default"].isEmptyObject(that.filterColumnsPartial)) {
2133
2675
  that.filterColumnsPartial = {};
2134
2676
  }
2135
2677
 
2136
2678
  that.filterColumnsPartial[column.field] = column.filterDefault;
2137
2679
  }
2138
2680
 
2139
- $__default['default'].each(header.find('th'), function (i, th) {
2140
- var $th = $__default['default'](th);
2681
+ $__default["default"].each(header.find('th'), function (_, th) {
2682
+ var $th = $__default["default"](th);
2141
2683
 
2142
2684
  if ($th.data('field') === column.field) {
2143
- $th.find('.fht-cell').append(html.join(''));
2685
+ $th.find('.filter-control').remove();
2686
+ $th.find('.fht-cell').html(html.join(''));
2144
2687
  return false;
2145
2688
  }
2146
2689
  });
2147
2690
 
2148
2691
  if (column.filterData && column.filterData.toLowerCase() !== 'column') {
2149
- var filterDataType = getFilterDataMethod(
2150
- /* eslint-disable no-use-before-define */
2151
- filterDataMethods, column.filterData.substring(0, column.filterData.indexOf(':')));
2692
+ var filterDataType = getFilterDataMethod(filterDataMethods, column.filterData.substring(0, column.filterData.indexOf(':')));
2152
2693
  var filterDataSource;
2153
2694
  var selectControl;
2154
2695
 
2155
2696
  if (filterDataType) {
2156
2697
  filterDataSource = column.filterData.substring(column.filterData.indexOf(':') + 1, column.filterData.length);
2157
2698
  selectControl = header.find(".bootstrap-table-filter-control-".concat(escapeID(column.field)));
2158
- addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault);
2159
- filterDataType(filterDataSource, selectControl, that.options.filterOrderBy, column.filterDefault);
2699
+ addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault, true);
2700
+ filterDataType(that, filterDataSource, selectControl, that.options.filterOrderBy, column.filterDefault);
2160
2701
  } else {
2161
2702
  throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, obj, json, url, func.' + ' Use like this: var: {key: "value"}');
2162
2703
  }
@@ -2167,19 +2708,17 @@
2167
2708
  header.off('keyup', 'input').on('keyup', 'input', function (_ref4, obj) {
2168
2709
  var currentTarget = _ref4.currentTarget,
2169
2710
  keyCode = _ref4.keyCode;
2170
- syncControls(that); // Simulate enter key action from clear button
2171
-
2172
2711
  keyCode = obj ? obj.keyCode : keyCode;
2173
2712
 
2174
2713
  if (that.options.searchOnEnterKey && keyCode !== 13) {
2175
2714
  return;
2176
2715
  }
2177
2716
 
2178
- if ($__default['default'].inArray(keyCode, [37, 38, 39, 40]) > -1) {
2717
+ if (isKeyAllowed(keyCode)) {
2179
2718
  return;
2180
2719
  }
2181
2720
 
2182
- var $currentTarget = $__default['default'](currentTarget);
2721
+ var $currentTarget = $__default["default"](currentTarget);
2183
2722
 
2184
2723
  if ($currentTarget.is(':checkbox') || $currentTarget.is(':radio')) {
2185
2724
  return;
@@ -2193,18 +2732,23 @@
2193
2732
  });
2194
2733
  }, that.options.searchTimeOut);
2195
2734
  });
2196
- header.off('change', 'select:not(".ms-offscreen")').on('change', 'select:not(".ms-offscreen")', function (_ref5) {
2735
+ header.off('change', 'select', '.fc-multipleselect').on('change', 'select', '.fc-multipleselect', function (_ref5) {
2197
2736
  var currentTarget = _ref5.currentTarget,
2198
2737
  keyCode = _ref5.keyCode;
2199
- syncControls(that);
2200
- var $select = $__default['default'](currentTarget);
2201
- var value = $select.val();
2738
+ var $selectControl = $__default["default"](currentTarget);
2739
+ var value = $selectControl.val();
2202
2740
 
2203
- if (value && value.length > 0 && value.trim()) {
2204
- $select.find('option[selected]').removeAttr('selected');
2205
- $select.find("option[value=\"".concat(value, "\"]")).attr('selected', true);
2741
+ if (Array.isArray(value)) {
2742
+ for (var i = 0; i < value.length; i++) {
2743
+ if (value[i] && value[i].length > 0 && value[i].trim()) {
2744
+ $selectControl.find("option[value=\"".concat(value[i], "\"]")).attr('selected', true);
2745
+ }
2746
+ }
2747
+ } else if (value && value.length > 0 && value.trim()) {
2748
+ $selectControl.find('option[selected]').removeAttr('selected');
2749
+ $selectControl.find("option[value=\"".concat(value, "\"]")).attr('selected', true);
2206
2750
  } else {
2207
- $select.find('option[selected]').removeAttr('selected');
2751
+ $selectControl.find('option[selected]').removeAttr('selected');
2208
2752
  }
2209
2753
 
2210
2754
  clearTimeout(currentTarget.timeoutId || 0);
@@ -2218,7 +2762,7 @@
2218
2762
  header.off('mouseup', 'input:not([type=radio])').on('mouseup', 'input:not([type=radio])', function (_ref6) {
2219
2763
  var currentTarget = _ref6.currentTarget,
2220
2764
  keyCode = _ref6.keyCode;
2221
- var $input = $__default['default'](currentTarget);
2765
+ var $input = $__default["default"](currentTarget);
2222
2766
  var oldValue = $input.val();
2223
2767
 
2224
2768
  if (oldValue === '') {
@@ -2226,7 +2770,6 @@
2226
2770
  }
2227
2771
 
2228
2772
  setTimeout(function () {
2229
- syncControls(that);
2230
2773
  var newValue = $input.val();
2231
2774
 
2232
2775
  if (newValue === '') {
@@ -2245,16 +2788,15 @@
2245
2788
  keyCode = _ref7.keyCode;
2246
2789
  clearTimeout(currentTarget.timeoutId || 0);
2247
2790
  currentTarget.timeoutId = setTimeout(function () {
2248
- syncControls(that);
2249
2791
  that.onColumnSearch({
2250
2792
  currentTarget: currentTarget,
2251
2793
  keyCode: keyCode
2252
2794
  });
2253
2795
  }, that.options.searchTimeOut);
2254
- });
2796
+ }); // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date
2255
2797
 
2256
2798
  if (header.find('.date-filter-control').length > 0) {
2257
- $__default['default'].each(that.columns, function (i, _ref8) {
2799
+ $__default["default"].each(that.columns, function (i, _ref8) {
2258
2800
  var filterDefault = _ref8.filterDefault,
2259
2801
  filterControl = _ref8.filterControl,
2260
2802
  field = _ref8.field,
@@ -2262,21 +2804,33 @@
2262
2804
 
2263
2805
  if (filterControl !== undefined && filterControl.toLowerCase() === 'datepicker') {
2264
2806
  var $datepicker = header.find(".date-filter-control.bootstrap-table-filter-control-".concat(field));
2265
- $datepicker.datepicker(filterDatepickerOptions);
2266
2807
 
2267
2808
  if (filterDefault) {
2268
- $datepicker.datepicker('setDate', filterDefault);
2809
+ $datepicker.value(filterDefault);
2269
2810
  }
2270
2811
 
2271
- $datepicker.on('changeDate', function (_ref9) {
2272
- var currentTarget = _ref9.currentTarget,
2273
- keyCode = _ref9.keyCode;
2812
+ if (filterDatepickerOptions.min) {
2813
+ $datepicker.attr('min', filterDatepickerOptions.min);
2814
+ }
2815
+
2816
+ if (filterDatepickerOptions.max) {
2817
+ $datepicker.attr('max', filterDatepickerOptions.max);
2818
+ }
2819
+
2820
+ if (filterDatepickerOptions.step) {
2821
+ $datepicker.attr('step', filterDatepickerOptions.step);
2822
+ }
2823
+
2824
+ if (filterDatepickerOptions.pattern) {
2825
+ $datepicker.attr('pattern', filterDatepickerOptions.pattern);
2826
+ }
2827
+
2828
+ $datepicker.on('change', function (_ref9) {
2829
+ var currentTarget = _ref9.currentTarget;
2274
2830
  clearTimeout(currentTarget.timeoutId || 0);
2275
2831
  currentTarget.timeoutId = setTimeout(function () {
2276
- syncControls(that);
2277
2832
  that.onColumnSearch({
2278
- currentTarget: currentTarget,
2279
- keyCode: keyCode
2833
+ currentTarget: currentTarget
2280
2834
  });
2281
2835
  }, that.options.searchTimeOut);
2282
2836
  });
@@ -2284,7 +2838,7 @@
2284
2838
  });
2285
2839
  }
2286
2840
 
2287
- if (that.options.sidePagination !== 'server' && !that.options.height) {
2841
+ if (that.options.sidePagination !== 'server') {
2288
2842
  that.triggerSearch();
2289
2843
  }
2290
2844
 
@@ -2314,41 +2868,48 @@
2314
2868
  return 'ltr';
2315
2869
  }
2316
2870
  }
2317
- function syncControls(that) {
2318
- if (that.options.height) {
2319
- var controlsTableHeader = that.$tableHeader.find(searchControls);
2320
- that.$header.find(searchControls).each(function (_, control) {
2321
- var $control = $__default['default'](control);
2322
- var controlClass = getElementClass($control);
2323
- var foundControl = controlsTableHeader.filter(function (_, ele) {
2324
- var eleClass = getElementClass($__default['default'](ele));
2325
- return controlClass === eleClass;
2326
- });
2871
+ function syncHeaders(that) {
2872
+ if (!that.options.height) {
2873
+ return;
2874
+ }
2327
2875
 
2328
- if (foundControl.length === 0) {
2329
- return;
2330
- }
2876
+ var fixedHeader = $__default["default"]('.fixed-table-header table thead');
2331
2877
 
2332
- if ($control.is('select')) {
2333
- $control.find('option:selected').removeAttr('selected');
2334
- $control.find("option[value='".concat(foundControl.val(), "']")).attr('selected', true);
2335
- } else {
2336
- $control.val(foundControl.val());
2337
- }
2338
- });
2878
+ if (fixedHeader.length === 0) {
2879
+ return;
2339
2880
  }
2881
+
2882
+ that.$header.children().find('th[data-field]').each(function (_, element) {
2883
+ if (element.classList[0] !== 'bs-checkbox') {
2884
+ var $element = $__default["default"](element);
2885
+ var $field = $element.data('field');
2886
+ var $fixedField = $__default["default"]("th[data-field='".concat($field, "']")).not($element);
2887
+ var input = $element.find('input');
2888
+ var fixedInput = $fixedField.find('input');
2889
+
2890
+ if (input.length > 0 && fixedInput.length > 0) {
2891
+ if (input.val() !== fixedInput.val()) {
2892
+ input.val(fixedInput.val());
2893
+ }
2894
+ }
2895
+ }
2896
+ });
2340
2897
  }
2341
2898
  var filterDataMethods = {
2342
- func: function func(filterDataSource, selectControl, filterOrderBy, selected) {
2899
+ func: function func(that, filterDataSource, selectControl, filterOrderBy, selected) {
2343
2900
  var variableValues = window[filterDataSource].apply(); // eslint-disable-next-line guard-for-in
2344
2901
 
2345
2902
  for (var key in variableValues) {
2346
2903
  addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2347
2904
  }
2348
2905
 
2349
- sortSelectControl(selectControl, filterOrderBy);
2906
+ if (that.options.sortSelectOptions) {
2907
+ sortSelectControl(selectControl, filterOrderBy);
2908
+ }
2909
+
2910
+ setValues(that);
2350
2911
  },
2351
- obj: function obj(filterDataSource, selectControl, filterOrderBy, selected) {
2912
+ obj: function obj(that, filterDataSource, selectControl, filterOrderBy, selected) {
2352
2913
  var objectKeys = filterDataSource.split('.');
2353
2914
  var variableName = objectKeys.shift();
2354
2915
  var variableValues = window[variableName];
@@ -2364,24 +2925,32 @@
2364
2925
  addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2365
2926
  }
2366
2927
 
2367
- sortSelectControl(selectControl, filterOrderBy);
2928
+ if (that.options.sortSelectOptions) {
2929
+ sortSelectControl(selectControl, filterOrderBy);
2930
+ }
2931
+
2932
+ setValues(that);
2368
2933
  },
2369
- var: function _var(filterDataSource, selectControl, filterOrderBy, selected) {
2934
+ var: function _var(that, filterDataSource, selectControl, filterOrderBy, selected) {
2370
2935
  var variableValues = window[filterDataSource];
2371
2936
  var isArray = Array.isArray(variableValues);
2372
2937
 
2373
2938
  for (var key in variableValues) {
2374
2939
  if (isArray) {
2375
- addOptionToSelectControl(selectControl, variableValues[key], variableValues[key], selected);
2940
+ addOptionToSelectControl(selectControl, variableValues[key], variableValues[key], selected, true);
2376
2941
  } else {
2377
- addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2942
+ addOptionToSelectControl(selectControl, key, variableValues[key], selected, true);
2378
2943
  }
2379
2944
  }
2380
2945
 
2381
- sortSelectControl(selectControl, filterOrderBy);
2946
+ if (that.options.sortSelectOptions) {
2947
+ sortSelectControl(selectControl, filterOrderBy);
2948
+ }
2949
+
2950
+ setValues(that);
2382
2951
  },
2383
- url: function url(filterDataSource, selectControl, filterOrderBy, selected) {
2384
- $__default['default'].ajax({
2952
+ url: function url(that, filterDataSource, selectControl, filterOrderBy, selected) {
2953
+ $__default["default"].ajax({
2385
2954
  url: filterDataSource,
2386
2955
  dataType: 'json',
2387
2956
  success: function success(data) {
@@ -2390,24 +2959,32 @@
2390
2959
  addOptionToSelectControl(selectControl, key, data[key], selected);
2391
2960
  }
2392
2961
 
2393
- sortSelectControl(selectControl, filterOrderBy);
2962
+ if (that.options.sortSelectOptions) {
2963
+ sortSelectControl(selectControl, filterOrderBy);
2964
+ }
2965
+
2966
+ setValues(that);
2394
2967
  }
2395
2968
  });
2396
2969
  },
2397
- json: function json(filterDataSource, selectControl, filterOrderBy, selected) {
2970
+ json: function json(that, filterDataSource, selectControl, filterOrderBy, selected) {
2398
2971
  var variableValues = JSON.parse(filterDataSource); // eslint-disable-next-line guard-for-in
2399
2972
 
2400
2973
  for (var key in variableValues) {
2401
2974
  addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2402
2975
  }
2403
2976
 
2404
- sortSelectControl(selectControl, filterOrderBy);
2977
+ if (that.options.sortSelectOptions) {
2978
+ sortSelectControl(selectControl, filterOrderBy);
2979
+ }
2980
+
2981
+ setValues(that);
2405
2982
  }
2406
2983
  };
2407
2984
 
2408
2985
  exports.addOptionToSelectControl = addOptionToSelectControl;
2409
- exports.collectBootstrapCookies = collectBootstrapCookies;
2410
- exports.copyValues = copyValues;
2986
+ exports.cacheValues = cacheValues;
2987
+ exports.collectBootstrapTableFilterCookies = collectBootstrapTableFilterCookies;
2411
2988
  exports.createControls = createControls;
2412
2989
  exports.escapeID = escapeID;
2413
2990
  exports.existOptionInSelectControl = existOptionInSelectControl;
@@ -2417,6 +2994,7 @@
2417
2994
  exports.getDirectionOfSelectOptions = getDirectionOfSelectOptions;
2418
2995
  exports.getElementClass = getElementClass;
2419
2996
  exports.getFilterDataMethod = getFilterDataMethod;
2997
+ exports.getInputClass = getInputClass;
2420
2998
  exports.getOptionsFromSelectControl = getOptionsFromSelectControl;
2421
2999
  exports.getSearchControls = getSearchControls;
2422
3000
  exports.hasSelectControlElement = hasSelectControlElement;
@@ -2424,11 +3002,12 @@
2424
3002
  exports.initFilterSelectControls = initFilterSelectControls;
2425
3003
  exports.isColumnSearchableViaSelect = isColumnSearchableViaSelect;
2426
3004
  exports.isFilterDataNotGiven = isFilterDataNotGiven;
2427
- exports.setCursorPosition = setCursorPosition;
3005
+ exports.isKeyAllowed = isKeyAllowed;
3006
+ exports.setCaretPosition = setCaretPosition;
2428
3007
  exports.setValues = setValues;
2429
3008
  exports.sortSelectControl = sortSelectControl;
2430
- exports.syncControls = syncControls;
3009
+ exports.syncHeaders = syncHeaders;
2431
3010
 
2432
3011
  Object.defineProperty(exports, '__esModule', { value: true });
2433
3012
 
2434
- })));
3013
+ }));