bootstrap-table-rails 1.19.0 → 1.20.1

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