bootstrap-table-rails 1.19.1 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bootstrap-table-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/.DS_Store +0 -0
  4. data/vendor/assets/javascripts/bootstrap-table/.DS_Store +0 -0
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +906 -337
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +816 -382
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +817 -383
  8. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +2 -1
  9. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +2787 -2003
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1003 -429
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +536 -240
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +1381 -923
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +546 -250
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +547 -249
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +471 -186
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +883 -525
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +852 -449
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css +9 -1
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +2649 -1097
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/utils.js +1276 -710
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +566 -272
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +861 -414
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +16 -8
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +652 -351
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +572 -249
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +782 -370
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +532 -237
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +538 -246
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +744 -294
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +572 -258
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +510 -200
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +471 -186
  33. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +539 -244
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +864 -531
  35. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +526 -235
  36. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +457 -180
  37. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +457 -180
  38. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +465 -188
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +457 -180
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +477 -200
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +457 -180
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +457 -180
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +457 -180
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +457 -180
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +457 -180
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +457 -180
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +457 -180
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +457 -180
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +457 -180
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +457 -180
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +457 -180
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +457 -180
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +457 -180
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +457 -180
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +457 -180
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +457 -180
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +457 -180
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +457 -180
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +460 -182
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +457 -180
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hi-IN.js +1083 -0
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +457 -180
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +457 -180
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +457 -180
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +457 -180
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +457 -180
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +457 -180
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +482 -204
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-lb-LU.js +1083 -0
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +457 -180
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +457 -180
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +496 -180
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +496 -180
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +457 -180
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +457 -180
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +457 -180
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +457 -180
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +457 -180
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +457 -180
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +457 -180
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +457 -180
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +457 -180
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +457 -180
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +457 -180
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +457 -180
  86. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +457 -180
  87. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +457 -180
  88. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +457 -180
  89. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +457 -180
  90. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +457 -180
  91. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +1 -0
  92. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.js +547 -255
  93. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +1 -0
  94. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +543 -235
  95. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +1 -0
  96. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +547 -239
  97. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +1 -0
  98. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +545 -252
  99. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +1 -0
  100. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +541 -233
  101. metadata +5 -3
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
3
3
  typeof define === 'function' && define.amd ? define(['jquery'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery));
5
- }(this, (function ($) { 'use strict';
5
+ })(this, (function ($) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -27,6 +27,9 @@
27
27
  function _createClass(Constructor, protoProps, staticProps) {
28
28
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
29
  if (staticProps) _defineProperties(Constructor, staticProps);
30
+ Object.defineProperty(Constructor, "prototype", {
31
+ writable: false
32
+ });
30
33
  return Constructor;
31
34
  }
32
35
 
@@ -42,6 +45,9 @@
42
45
  configurable: true
43
46
  }
44
47
  });
48
+ Object.defineProperty(subClass, "prototype", {
49
+ writable: false
50
+ });
45
51
  if (superClass) _setPrototypeOf(subClass, superClass);
46
52
  }
47
53
 
@@ -85,6 +91,8 @@
85
91
  function _possibleConstructorReturn(self, call) {
86
92
  if (call && (typeof call === "object" || typeof call === "function")) {
87
93
  return call;
94
+ } else if (call !== void 0) {
95
+ throw new TypeError("Derived constructors may only return object or undefined");
88
96
  }
89
97
 
90
98
  return _assertThisInitialized(self);
@@ -118,7 +126,7 @@
118
126
  return object;
119
127
  }
120
128
 
121
- function _get(target, property, receiver) {
129
+ function _get() {
122
130
  if (typeof Reflect !== "undefined" && Reflect.get) {
123
131
  _get = Reflect.get;
124
132
  } else {
@@ -129,14 +137,14 @@
129
137
  var desc = Object.getOwnPropertyDescriptor(base, property);
130
138
 
131
139
  if (desc.get) {
132
- return desc.get.call(receiver);
140
+ return desc.get.call(arguments.length < 3 ? target : receiver);
133
141
  }
134
142
 
135
143
  return desc.value;
136
144
  };
137
145
  }
138
146
 
139
- return _get(target, property, receiver || target);
147
+ return _get.apply(this, arguments);
140
148
  }
141
149
 
142
150
  function _unsupportedIterableToArray(o, minLen) {
@@ -157,9 +165,9 @@
157
165
  }
158
166
 
159
167
  function _createForOfIteratorHelper(o, allowArrayLike) {
160
- var it;
168
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
161
169
 
162
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
170
+ if (!it) {
163
171
  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
164
172
  if (it) o = it;
165
173
  var i = 0;
@@ -192,7 +200,7 @@
192
200
  err;
193
201
  return {
194
202
  s: function () {
195
- it = o[Symbol.iterator]();
203
+ it = it.call(o);
196
204
  },
197
205
  n: function () {
198
206
  var step = it.next();
@@ -248,6 +256,18 @@
248
256
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
249
257
  });
250
258
 
259
+ var functionBindNative = !fails(function () {
260
+ var test = (function () { /* empty */ }).bind();
261
+ // eslint-disable-next-line no-prototype-builtins -- safe
262
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
263
+ });
264
+
265
+ var call$2 = Function.prototype.call;
266
+
267
+ var functionCall = functionBindNative ? call$2.bind(call$2) : function () {
268
+ return call$2.apply(call$2, arguments);
269
+ };
270
+
251
271
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
252
272
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
253
273
  var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
@@ -257,13 +277,13 @@
257
277
 
258
278
  // `Object.prototype.propertyIsEnumerable` method implementation
259
279
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
260
- var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {
280
+ var f$5 = NASHORN_BUG ? function propertyIsEnumerable(V) {
261
281
  var descriptor = getOwnPropertyDescriptor$1(this, V);
262
282
  return !!descriptor && descriptor.enumerable;
263
283
  } : $propertyIsEnumerable;
264
284
 
265
285
  var objectPropertyIsEnumerable = {
266
- f: f$4
286
+ f: f$5
267
287
  };
268
288
 
269
289
  var createPropertyDescriptor = function (bitmap, value) {
@@ -275,27 +295,44 @@
275
295
  };
276
296
  };
277
297
 
278
- var toString = {}.toString;
298
+ var FunctionPrototype$2 = Function.prototype;
299
+ var bind$1 = FunctionPrototype$2.bind;
300
+ var call$1 = FunctionPrototype$2.call;
301
+ var uncurryThis = functionBindNative && bind$1.bind(call$1, call$1);
302
+
303
+ var functionUncurryThis = functionBindNative ? function (fn) {
304
+ return fn && uncurryThis(fn);
305
+ } : function (fn) {
306
+ return fn && function () {
307
+ return call$1.apply(fn, arguments);
308
+ };
309
+ };
310
+
311
+ var toString$1 = functionUncurryThis({}.toString);
312
+ var stringSlice$5 = functionUncurryThis(''.slice);
279
313
 
280
314
  var classofRaw = function (it) {
281
- return toString.call(it).slice(8, -1);
315
+ return stringSlice$5(toString$1(it), 8, -1);
282
316
  };
283
317
 
284
- var split = ''.split;
318
+ var Object$4 = global_1.Object;
319
+ var split = functionUncurryThis(''.split);
285
320
 
286
321
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
287
322
  var indexedObject = fails(function () {
288
323
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
289
324
  // eslint-disable-next-line no-prototype-builtins -- safe
290
- return !Object('z').propertyIsEnumerable(0);
325
+ return !Object$4('z').propertyIsEnumerable(0);
291
326
  }) ? function (it) {
292
- return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
293
- } : Object;
327
+ return classofRaw(it) == 'String' ? split(it, '') : Object$4(it);
328
+ } : Object$4;
329
+
330
+ var TypeError$b = global_1.TypeError;
294
331
 
295
332
  // `RequireObjectCoercible` abstract operation
296
333
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
297
334
  var requireObjectCoercible = function (it) {
298
- if (it == undefined) throw TypeError("Can't call method on " + it);
335
+ if (it == undefined) throw TypeError$b("Can't call method on " + it);
299
336
  return it;
300
337
  };
301
338
 
@@ -307,88 +344,309 @@
307
344
  return indexedObject(requireObjectCoercible(it));
308
345
  };
309
346
 
347
+ // `IsCallable` abstract operation
348
+ // https://tc39.es/ecma262/#sec-iscallable
349
+ var isCallable = function (argument) {
350
+ return typeof argument == 'function';
351
+ };
352
+
310
353
  var isObject = function (it) {
311
- return typeof it === 'object' ? it !== null : typeof it === 'function';
354
+ return typeof it == 'object' ? it !== null : isCallable(it);
312
355
  };
313
356
 
314
- // `ToPrimitive` abstract operation
315
- // https://tc39.es/ecma262/#sec-toprimitive
316
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
317
- // and the second argument - flag - preferred type is a string
318
- var toPrimitive = function (input, PREFERRED_STRING) {
319
- if (!isObject(input)) return input;
357
+ var aFunction = function (argument) {
358
+ return isCallable(argument) ? argument : undefined;
359
+ };
360
+
361
+ var getBuiltIn = function (namespace, method) {
362
+ return arguments.length < 2 ? aFunction(global_1[namespace]) : global_1[namespace] && global_1[namespace][method];
363
+ };
364
+
365
+ var objectIsPrototypeOf = functionUncurryThis({}.isPrototypeOf);
366
+
367
+ var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
368
+
369
+ var process = global_1.process;
370
+ var Deno = global_1.Deno;
371
+ var versions = process && process.versions || Deno && Deno.version;
372
+ var v8 = versions && versions.v8;
373
+ var match, version;
374
+
375
+ if (v8) {
376
+ match = v8.split('.');
377
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
378
+ // but their correct versions are not interesting for us
379
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
380
+ }
381
+
382
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
383
+ // so check `userAgent` even if `.v8` exists, but 0
384
+ if (!version && engineUserAgent) {
385
+ match = engineUserAgent.match(/Edge\/(\d+)/);
386
+ if (!match || match[1] >= 74) {
387
+ match = engineUserAgent.match(/Chrome\/(\d+)/);
388
+ if (match) version = +match[1];
389
+ }
390
+ }
391
+
392
+ var engineV8Version = version;
393
+
394
+ /* eslint-disable es/no-symbol -- required for testing */
395
+
396
+
397
+
398
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
399
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
400
+ var symbol = Symbol();
401
+ // Chrome 38 Symbol has incorrect toString conversion
402
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
403
+ return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
404
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
405
+ !Symbol.sham && engineV8Version && engineV8Version < 41;
406
+ });
407
+
408
+ /* eslint-disable es/no-symbol -- required for testing */
409
+
410
+
411
+ var useSymbolAsUid = nativeSymbol
412
+ && !Symbol.sham
413
+ && typeof Symbol.iterator == 'symbol';
414
+
415
+ var Object$3 = global_1.Object;
416
+
417
+ var isSymbol = useSymbolAsUid ? function (it) {
418
+ return typeof it == 'symbol';
419
+ } : function (it) {
420
+ var $Symbol = getBuiltIn('Symbol');
421
+ return isCallable($Symbol) && objectIsPrototypeOf($Symbol.prototype, Object$3(it));
422
+ };
423
+
424
+ var String$3 = global_1.String;
425
+
426
+ var tryToString = function (argument) {
427
+ try {
428
+ return String$3(argument);
429
+ } catch (error) {
430
+ return 'Object';
431
+ }
432
+ };
433
+
434
+ var TypeError$a = global_1.TypeError;
435
+
436
+ // `Assert: IsCallable(argument) is true`
437
+ var aCallable = function (argument) {
438
+ if (isCallable(argument)) return argument;
439
+ throw TypeError$a(tryToString(argument) + ' is not a function');
440
+ };
441
+
442
+ // `GetMethod` abstract operation
443
+ // https://tc39.es/ecma262/#sec-getmethod
444
+ var getMethod = function (V, P) {
445
+ var func = V[P];
446
+ return func == null ? undefined : aCallable(func);
447
+ };
448
+
449
+ var TypeError$9 = global_1.TypeError;
450
+
451
+ // `OrdinaryToPrimitive` abstract operation
452
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
453
+ var ordinaryToPrimitive = function (input, pref) {
320
454
  var fn, val;
321
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
322
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
323
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
324
- throw TypeError("Can't convert object to primitive value");
455
+ if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
456
+ if (isCallable(fn = input.valueOf) && !isObject(val = functionCall(fn, input))) return val;
457
+ if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = functionCall(fn, input))) return val;
458
+ throw TypeError$9("Can't convert object to primitive value");
459
+ };
460
+
461
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
462
+ var defineProperty = Object.defineProperty;
463
+
464
+ var setGlobal = function (key, value) {
465
+ try {
466
+ defineProperty(global_1, key, { value: value, configurable: true, writable: true });
467
+ } catch (error) {
468
+ global_1[key] = value;
469
+ } return value;
470
+ };
471
+
472
+ var SHARED = '__core-js_shared__';
473
+ var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
474
+
475
+ var sharedStore = store$1;
476
+
477
+ var shared = createCommonjsModule(function (module) {
478
+ (module.exports = function (key, value) {
479
+ return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
480
+ })('versions', []).push({
481
+ version: '3.21.1',
482
+ mode: 'global',
483
+ copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
484
+ license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',
485
+ source: 'https://github.com/zloirock/core-js'
486
+ });
487
+ });
488
+
489
+ var Object$2 = global_1.Object;
490
+
491
+ // `ToObject` abstract operation
492
+ // https://tc39.es/ecma262/#sec-toobject
493
+ var toObject = function (argument) {
494
+ return Object$2(requireObjectCoercible(argument));
495
+ };
496
+
497
+ var hasOwnProperty = functionUncurryThis({}.hasOwnProperty);
498
+
499
+ // `HasOwnProperty` abstract operation
500
+ // https://tc39.es/ecma262/#sec-hasownproperty
501
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
502
+ return hasOwnProperty(toObject(it), key);
503
+ };
504
+
505
+ var id = 0;
506
+ var postfix = Math.random();
507
+ var toString = functionUncurryThis(1.0.toString);
508
+
509
+ var uid = function (key) {
510
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
511
+ };
512
+
513
+ var WellKnownSymbolsStore = shared('wks');
514
+ var Symbol$1 = global_1.Symbol;
515
+ var symbolFor = Symbol$1 && Symbol$1['for'];
516
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
517
+
518
+ var wellKnownSymbol = function (name) {
519
+ if (!hasOwnProperty_1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
520
+ var description = 'Symbol.' + name;
521
+ if (nativeSymbol && hasOwnProperty_1(Symbol$1, name)) {
522
+ WellKnownSymbolsStore[name] = Symbol$1[name];
523
+ } else if (useSymbolAsUid && symbolFor) {
524
+ WellKnownSymbolsStore[name] = symbolFor(description);
525
+ } else {
526
+ WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
527
+ }
528
+ } return WellKnownSymbolsStore[name];
325
529
  };
326
530
 
327
- var hasOwnProperty = {}.hasOwnProperty;
531
+ var TypeError$8 = global_1.TypeError;
532
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
328
533
 
329
- var has$1 = function (it, key) {
330
- return hasOwnProperty.call(it, key);
534
+ // `ToPrimitive` abstract operation
535
+ // https://tc39.es/ecma262/#sec-toprimitive
536
+ var toPrimitive = function (input, pref) {
537
+ if (!isObject(input) || isSymbol(input)) return input;
538
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
539
+ var result;
540
+ if (exoticToPrim) {
541
+ if (pref === undefined) pref = 'default';
542
+ result = functionCall(exoticToPrim, input, pref);
543
+ if (!isObject(result) || isSymbol(result)) return result;
544
+ throw TypeError$8("Can't convert object to primitive value");
545
+ }
546
+ if (pref === undefined) pref = 'number';
547
+ return ordinaryToPrimitive(input, pref);
548
+ };
549
+
550
+ // `ToPropertyKey` abstract operation
551
+ // https://tc39.es/ecma262/#sec-topropertykey
552
+ var toPropertyKey = function (argument) {
553
+ var key = toPrimitive(argument, 'string');
554
+ return isSymbol(key) ? key : key + '';
331
555
  };
332
556
 
333
557
  var document$1 = global_1.document;
334
558
  // typeof document.createElement is 'object' in old IE
335
- var EXISTS = isObject(document$1) && isObject(document$1.createElement);
559
+ var EXISTS$1 = isObject(document$1) && isObject(document$1.createElement);
336
560
 
337
561
  var documentCreateElement = function (it) {
338
- return EXISTS ? document$1.createElement(it) : {};
562
+ return EXISTS$1 ? document$1.createElement(it) : {};
339
563
  };
340
564
 
341
- // Thank's IE8 for his funny defineProperty
565
+ // Thanks to IE8 for its funny defineProperty
342
566
  var ie8DomDefine = !descriptors && !fails(function () {
343
- // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
567
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
344
568
  return Object.defineProperty(documentCreateElement('div'), 'a', {
345
569
  get: function () { return 7; }
346
570
  }).a != 7;
347
571
  });
348
572
 
349
573
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
350
- var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
574
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
351
575
 
352
576
  // `Object.getOwnPropertyDescriptor` method
353
577
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
354
- var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
578
+ var f$4 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
355
579
  O = toIndexedObject(O);
356
- P = toPrimitive(P, true);
580
+ P = toPropertyKey(P);
357
581
  if (ie8DomDefine) try {
358
- return $getOwnPropertyDescriptor(O, P);
582
+ return $getOwnPropertyDescriptor$1(O, P);
359
583
  } catch (error) { /* empty */ }
360
- if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
584
+ if (hasOwnProperty_1(O, P)) return createPropertyDescriptor(!functionCall(objectPropertyIsEnumerable.f, O, P), O[P]);
361
585
  };
362
586
 
363
587
  var objectGetOwnPropertyDescriptor = {
364
- f: f$3
588
+ f: f$4
365
589
  };
366
590
 
367
- var anObject = function (it) {
368
- if (!isObject(it)) {
369
- throw TypeError(String(it) + ' is not an object');
370
- } return it;
591
+ // V8 ~ Chrome 36-
592
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
593
+ var v8PrototypeDefineBug = descriptors && fails(function () {
594
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
595
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
596
+ value: 42,
597
+ writable: false
598
+ }).prototype != 42;
599
+ });
600
+
601
+ var String$2 = global_1.String;
602
+ var TypeError$7 = global_1.TypeError;
603
+
604
+ // `Assert: Type(argument) is Object`
605
+ var anObject = function (argument) {
606
+ if (isObject(argument)) return argument;
607
+ throw TypeError$7(String$2(argument) + ' is not an object');
371
608
  };
372
609
 
610
+ var TypeError$6 = global_1.TypeError;
373
611
  // eslint-disable-next-line es/no-object-defineproperty -- safe
374
612
  var $defineProperty = Object.defineProperty;
613
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
614
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
615
+ var ENUMERABLE = 'enumerable';
616
+ var CONFIGURABLE$1 = 'configurable';
617
+ var WRITABLE = 'writable';
375
618
 
376
619
  // `Object.defineProperty` method
377
620
  // https://tc39.es/ecma262/#sec-object.defineproperty
378
- var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {
621
+ var f$3 = descriptors ? v8PrototypeDefineBug ? function defineProperty(O, P, Attributes) {
622
+ anObject(O);
623
+ P = toPropertyKey(P);
624
+ anObject(Attributes);
625
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
626
+ var current = $getOwnPropertyDescriptor(O, P);
627
+ if (current && current[WRITABLE]) {
628
+ O[P] = Attributes.value;
629
+ Attributes = {
630
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
631
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
632
+ writable: false
633
+ };
634
+ }
635
+ } return $defineProperty(O, P, Attributes);
636
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
379
637
  anObject(O);
380
- P = toPrimitive(P, true);
638
+ P = toPropertyKey(P);
381
639
  anObject(Attributes);
382
640
  if (ie8DomDefine) try {
383
641
  return $defineProperty(O, P, Attributes);
384
642
  } catch (error) { /* empty */ }
385
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
643
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$6('Accessors not supported');
386
644
  if ('value' in Attributes) O[P] = Attributes.value;
387
645
  return O;
388
646
  };
389
647
 
390
648
  var objectDefineProperty = {
391
- f: f$2
649
+ f: f$3
392
650
  };
393
651
 
394
652
  var createNonEnumerableProperty = descriptors ? function (object, key, value) {
@@ -398,25 +656,12 @@
398
656
  return object;
399
657
  };
400
658
 
401
- var setGlobal = function (key, value) {
402
- try {
403
- createNonEnumerableProperty(global_1, key, value);
404
- } catch (error) {
405
- global_1[key] = value;
406
- } return value;
407
- };
408
-
409
- var SHARED = '__core-js_shared__';
410
- var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
411
-
412
- var sharedStore = store$1;
413
-
414
- var functionToString = Function.toString;
659
+ var functionToString = functionUncurryThis(Function.toString);
415
660
 
416
- // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
417
- if (typeof sharedStore.inspectSource != 'function') {
661
+ // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
662
+ if (!isCallable(sharedStore.inspectSource)) {
418
663
  sharedStore.inspectSource = function (it) {
419
- return functionToString.call(it);
664
+ return functionToString(it);
420
665
  };
421
666
  }
422
667
 
@@ -424,24 +669,7 @@
424
669
 
425
670
  var WeakMap$1 = global_1.WeakMap;
426
671
 
427
- var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
428
-
429
- var shared = createCommonjsModule(function (module) {
430
- (module.exports = function (key, value) {
431
- return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
432
- })('versions', []).push({
433
- version: '3.10.1',
434
- mode: 'global',
435
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
436
- });
437
- });
438
-
439
- var id = 0;
440
- var postfix = Math.random();
441
-
442
- var uid = function (key) {
443
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
444
- };
672
+ var nativeWeakMap = isCallable(WeakMap$1) && /native code/.test(inspectSource(WeakMap$1));
445
673
 
446
674
  var keys = shared('keys');
447
675
 
@@ -451,6 +679,8 @@
451
679
 
452
680
  var hiddenKeys$1 = {};
453
681
 
682
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
683
+ var TypeError$5 = global_1.TypeError;
454
684
  var WeakMap = global_1.WeakMap;
455
685
  var set, get, has;
456
686
 
@@ -462,40 +692,42 @@
462
692
  return function (it) {
463
693
  var state;
464
694
  if (!isObject(it) || (state = get(it)).type !== TYPE) {
465
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
695
+ throw TypeError$5('Incompatible receiver, ' + TYPE + ' required');
466
696
  } return state;
467
697
  };
468
698
  };
469
699
 
470
- if (nativeWeakMap) {
700
+ if (nativeWeakMap || sharedStore.state) {
471
701
  var store = sharedStore.state || (sharedStore.state = new WeakMap());
472
- var wmget = store.get;
473
- var wmhas = store.has;
474
- var wmset = store.set;
702
+ var wmget = functionUncurryThis(store.get);
703
+ var wmhas = functionUncurryThis(store.has);
704
+ var wmset = functionUncurryThis(store.set);
475
705
  set = function (it, metadata) {
706
+ if (wmhas(store, it)) throw new TypeError$5(OBJECT_ALREADY_INITIALIZED);
476
707
  metadata.facade = it;
477
- wmset.call(store, it, metadata);
708
+ wmset(store, it, metadata);
478
709
  return metadata;
479
710
  };
480
711
  get = function (it) {
481
- return wmget.call(store, it) || {};
712
+ return wmget(store, it) || {};
482
713
  };
483
714
  has = function (it) {
484
- return wmhas.call(store, it);
715
+ return wmhas(store, it);
485
716
  };
486
717
  } else {
487
718
  var STATE = sharedKey('state');
488
719
  hiddenKeys$1[STATE] = true;
489
720
  set = function (it, metadata) {
721
+ if (hasOwnProperty_1(it, STATE)) throw new TypeError$5(OBJECT_ALREADY_INITIALIZED);
490
722
  metadata.facade = it;
491
723
  createNonEnumerableProperty(it, STATE, metadata);
492
724
  return metadata;
493
725
  };
494
726
  get = function (it) {
495
- return has$1(it, STATE) ? it[STATE] : {};
727
+ return hasOwnProperty_1(it, STATE) ? it[STATE] : {};
496
728
  };
497
729
  has = function (it) {
498
- return has$1(it, STATE);
730
+ return hasOwnProperty_1(it, STATE);
499
731
  };
500
732
  }
501
733
 
@@ -507,7 +739,24 @@
507
739
  getterFor: getterFor
508
740
  };
509
741
 
742
+ var FunctionPrototype$1 = Function.prototype;
743
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
744
+ var getDescriptor = descriptors && Object.getOwnPropertyDescriptor;
745
+
746
+ var EXISTS = hasOwnProperty_1(FunctionPrototype$1, 'name');
747
+ // additional protection from minified / mangled / dropped function names
748
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
749
+ var CONFIGURABLE = EXISTS && (!descriptors || (descriptors && getDescriptor(FunctionPrototype$1, 'name').configurable));
750
+
751
+ var functionName = {
752
+ EXISTS: EXISTS,
753
+ PROPER: PROPER,
754
+ CONFIGURABLE: CONFIGURABLE
755
+ };
756
+
510
757
  var redefine = createCommonjsModule(function (module) {
758
+ var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
759
+
511
760
  var getInternalState = internalState.get;
512
761
  var enforceInternalState = internalState.enforce;
513
762
  var TEMPLATE = String(String).split('String');
@@ -516,14 +765,18 @@
516
765
  var unsafe = options ? !!options.unsafe : false;
517
766
  var simple = options ? !!options.enumerable : false;
518
767
  var noTargetGet = options ? !!options.noTargetGet : false;
768
+ var name = options && options.name !== undefined ? options.name : key;
519
769
  var state;
520
- if (typeof value == 'function') {
521
- if (typeof key == 'string' && !has$1(value, 'name')) {
522
- createNonEnumerableProperty(value, 'name', key);
770
+ if (isCallable(value)) {
771
+ if (String(name).slice(0, 7) === 'Symbol(') {
772
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
773
+ }
774
+ if (!hasOwnProperty_1(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
775
+ createNonEnumerableProperty(value, 'name', name);
523
776
  }
524
777
  state = enforceInternalState(value);
525
778
  if (!state.source) {
526
- state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
779
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
527
780
  }
528
781
  }
529
782
  if (O === global_1) {
@@ -539,54 +792,51 @@
539
792
  else createNonEnumerableProperty(O, key, value);
540
793
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
541
794
  })(Function.prototype, 'toString', function toString() {
542
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
795
+ return isCallable(this) && getInternalState(this).source || inspectSource(this);
543
796
  });
544
797
  });
545
798
 
546
- var path = global_1;
547
-
548
- var aFunction$1 = function (variable) {
549
- return typeof variable == 'function' ? variable : undefined;
550
- };
551
-
552
- var getBuiltIn = function (namespace, method) {
553
- return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global_1[namespace])
554
- : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
555
- };
556
-
557
799
  var ceil = Math.ceil;
558
800
  var floor$1 = Math.floor;
559
801
 
560
- // `ToInteger` abstract operation
561
- // https://tc39.es/ecma262/#sec-tointeger
562
- var toInteger = function (argument) {
563
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
802
+ // `ToIntegerOrInfinity` abstract operation
803
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
804
+ var toIntegerOrInfinity = function (argument) {
805
+ var number = +argument;
806
+ // eslint-disable-next-line no-self-compare -- safe
807
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number);
564
808
  };
565
809
 
810
+ var max$2 = Math.max;
566
811
  var min$3 = Math.min;
567
812
 
813
+ // Helper for a popular repeating case of the spec:
814
+ // Let integer be ? ToInteger(index).
815
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
816
+ var toAbsoluteIndex = function (index, length) {
817
+ var integer = toIntegerOrInfinity(index);
818
+ return integer < 0 ? max$2(integer + length, 0) : min$3(integer, length);
819
+ };
820
+
821
+ var min$2 = Math.min;
822
+
568
823
  // `ToLength` abstract operation
569
824
  // https://tc39.es/ecma262/#sec-tolength
570
825
  var toLength = function (argument) {
571
- return argument > 0 ? min$3(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
826
+ return argument > 0 ? min$2(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
572
827
  };
573
828
 
574
- var max$1 = Math.max;
575
- var min$2 = Math.min;
576
-
577
- // Helper for a popular repeating case of the spec:
578
- // Let integer be ? ToInteger(index).
579
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
580
- var toAbsoluteIndex = function (index, length) {
581
- var integer = toInteger(index);
582
- return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length);
829
+ // `LengthOfArrayLike` abstract operation
830
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
831
+ var lengthOfArrayLike = function (obj) {
832
+ return toLength(obj.length);
583
833
  };
584
834
 
585
835
  // `Array.prototype.{ indexOf, includes }` methods implementation
586
836
  var createMethod$2 = function (IS_INCLUDES) {
587
837
  return function ($this, el, fromIndex) {
588
838
  var O = toIndexedObject($this);
589
- var length = toLength(O.length);
839
+ var length = lengthOfArrayLike(O);
590
840
  var index = toAbsoluteIndex(fromIndex, length);
591
841
  var value;
592
842
  // Array#includes uses SameValueZero equality algorithm
@@ -611,18 +861,20 @@
611
861
  indexOf: createMethod$2(false)
612
862
  };
613
863
 
614
- var indexOf = arrayIncludes.indexOf;
864
+ var indexOf$1 = arrayIncludes.indexOf;
865
+
615
866
 
867
+ var push$3 = functionUncurryThis([].push);
616
868
 
617
869
  var objectKeysInternal = function (object, names) {
618
870
  var O = toIndexedObject(object);
619
871
  var i = 0;
620
872
  var result = [];
621
873
  var key;
622
- for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
874
+ for (key in O) !hasOwnProperty_1(hiddenKeys$1, key) && hasOwnProperty_1(O, key) && push$3(result, key);
623
875
  // Don't enum bug & hidden keys
624
- while (names.length > i) if (has$1(O, key = names[i++])) {
625
- ~indexOf(result, key) || result.push(key);
876
+ while (names.length > i) if (hasOwnProperty_1(O, key = names[i++])) {
877
+ ~indexOf$1(result, key) || push$3(result, key);
626
878
  }
627
879
  return result;
628
880
  };
@@ -643,35 +895,39 @@
643
895
  // `Object.getOwnPropertyNames` method
644
896
  // https://tc39.es/ecma262/#sec-object.getownpropertynames
645
897
  // eslint-disable-next-line es/no-object-getownpropertynames -- safe
646
- var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
898
+ var f$2 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
647
899
  return objectKeysInternal(O, hiddenKeys);
648
900
  };
649
901
 
650
902
  var objectGetOwnPropertyNames = {
651
- f: f$1
903
+ f: f$2
652
904
  };
653
905
 
654
906
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
655
- var f = Object.getOwnPropertySymbols;
907
+ var f$1 = Object.getOwnPropertySymbols;
656
908
 
657
909
  var objectGetOwnPropertySymbols = {
658
- f: f
910
+ f: f$1
659
911
  };
660
912
 
913
+ var concat$1 = functionUncurryThis([].concat);
914
+
661
915
  // all object keys, includes non-enumerable and symbols
662
916
  var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
663
917
  var keys = objectGetOwnPropertyNames.f(anObject(it));
664
918
  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
665
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
919
+ return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
666
920
  };
667
921
 
668
- var copyConstructorProperties = function (target, source) {
922
+ var copyConstructorProperties = function (target, source, exceptions) {
669
923
  var keys = ownKeys(source);
670
924
  var defineProperty = objectDefineProperty.f;
671
925
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
672
926
  for (var i = 0; i < keys.length; i++) {
673
927
  var key = keys[i];
674
- if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
928
+ if (!hasOwnProperty_1(target, key) && !(exceptions && hasOwnProperty_1(exceptions, key))) {
929
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
930
+ }
675
931
  }
676
932
  };
677
933
 
@@ -681,7 +937,7 @@
681
937
  var value = data[normalize(feature)];
682
938
  return value == POLYFILL ? true
683
939
  : value == NATIVE ? false
684
- : typeof detection == 'function' ? fails(detection)
940
+ : isCallable(detection) ? fails(detection)
685
941
  : !!detection;
686
942
  };
687
943
 
@@ -715,6 +971,7 @@
715
971
  options.sham - add a flag to not completely full polyfills
716
972
  options.enumerable - export as enumerable property
717
973
  options.noTargetGet - prevent calling a getter on target
974
+ options.name - the .name of the function if it does not match the key
718
975
  */
719
976
  var _export = function (options, source) {
720
977
  var TARGET = options.target;
@@ -737,7 +994,7 @@
737
994
  FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
738
995
  // contained in target
739
996
  if (!FORCED && targetProperty !== undefined) {
740
- if (typeof sourceProperty === typeof targetProperty) continue;
997
+ if (typeof sourceProperty == typeof targetProperty) continue;
741
998
  copyConstructorProperties(sourceProperty, targetProperty);
742
999
  }
743
1000
  // add a flag to not completely full polyfills
@@ -749,92 +1006,312 @@
749
1006
  }
750
1007
  };
751
1008
 
752
- // `IsArray` abstract operation
753
- // https://tc39.es/ecma262/#sec-isarray
754
- // eslint-disable-next-line es/no-array-isarray -- safe
755
- var isArray = Array.isArray || function isArray(arg) {
756
- return classofRaw(arg) == 'Array';
1009
+ // `Object.keys` method
1010
+ // https://tc39.es/ecma262/#sec-object.keys
1011
+ // eslint-disable-next-line es/no-object-keys -- safe
1012
+ var objectKeys = Object.keys || function keys(O) {
1013
+ return objectKeysInternal(O, enumBugKeys);
757
1014
  };
758
1015
 
759
- // `ToObject` abstract operation
760
- // https://tc39.es/ecma262/#sec-toobject
761
- var toObject = function (argument) {
762
- return Object(requireObjectCoercible(argument));
1016
+ // `Object.defineProperties` method
1017
+ // https://tc39.es/ecma262/#sec-object.defineproperties
1018
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
1019
+ var f = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) {
1020
+ anObject(O);
1021
+ var props = toIndexedObject(Properties);
1022
+ var keys = objectKeys(Properties);
1023
+ var length = keys.length;
1024
+ var index = 0;
1025
+ var key;
1026
+ while (length > index) objectDefineProperty.f(O, key = keys[index++], props[key]);
1027
+ return O;
763
1028
  };
764
1029
 
765
- var createProperty = function (object, key, value) {
766
- var propertyKey = toPrimitive(key);
767
- if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
768
- else object[propertyKey] = value;
1030
+ var objectDefineProperties = {
1031
+ f: f
769
1032
  };
770
1033
 
771
- var engineIsNode = classofRaw(global_1.process) == 'process';
1034
+ var html = getBuiltIn('document', 'documentElement');
772
1035
 
773
- var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
1036
+ /* global ActiveXObject -- old IE, WSH */
774
1037
 
775
- var process = global_1.process;
776
- var versions = process && process.versions;
777
- var v8 = versions && versions.v8;
778
- var match, version;
779
1038
 
780
- if (v8) {
781
- match = v8.split('.');
782
- version = match[0] + match[1];
783
- } else if (engineUserAgent) {
784
- match = engineUserAgent.match(/Edge\/(\d+)/);
785
- if (!match || match[1] >= 74) {
786
- match = engineUserAgent.match(/Chrome\/(\d+)/);
787
- if (match) version = match[1];
788
- }
789
- }
790
1039
 
791
- var engineV8Version = version && +version;
792
1040
 
793
- // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
794
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
795
- // eslint-disable-next-line es/no-symbol -- required for testing
796
- return !Symbol.sham &&
797
- // Chrome 38 Symbol has incorrect toString conversion
798
- // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
799
- (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
800
- });
801
1041
 
802
- /* eslint-disable es/no-symbol -- required for testing */
803
1042
 
804
1043
 
805
- var useSymbolAsUid = nativeSymbol
806
- && !Symbol.sham
807
- && typeof Symbol.iterator == 'symbol';
808
1044
 
809
- var WellKnownSymbolsStore = shared('wks');
810
- var Symbol$1 = global_1.Symbol;
811
- var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
1045
+ var GT = '>';
1046
+ var LT = '<';
1047
+ var PROTOTYPE = 'prototype';
1048
+ var SCRIPT = 'script';
1049
+ var IE_PROTO = sharedKey('IE_PROTO');
812
1050
 
813
- var wellKnownSymbol = function (name) {
814
- if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
815
- if (nativeSymbol && has$1(Symbol$1, name)) {
816
- WellKnownSymbolsStore[name] = Symbol$1[name];
817
- } else {
818
- WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
819
- }
820
- } return WellKnownSymbolsStore[name];
1051
+ var EmptyConstructor = function () { /* empty */ };
1052
+
1053
+ var scriptTag = function (content) {
1054
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1055
+ };
1056
+
1057
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1058
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
1059
+ activeXDocument.write(scriptTag(''));
1060
+ activeXDocument.close();
1061
+ var temp = activeXDocument.parentWindow.Object;
1062
+ activeXDocument = null; // avoid memory leak
1063
+ return temp;
1064
+ };
1065
+
1066
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
1067
+ var NullProtoObjectViaIFrame = function () {
1068
+ // Thrash, waste and sodomy: IE GC bug
1069
+ var iframe = documentCreateElement('iframe');
1070
+ var JS = 'java' + SCRIPT + ':';
1071
+ var iframeDocument;
1072
+ iframe.style.display = 'none';
1073
+ html.appendChild(iframe);
1074
+ // https://github.com/zloirock/core-js/issues/475
1075
+ iframe.src = String(JS);
1076
+ iframeDocument = iframe.contentWindow.document;
1077
+ iframeDocument.open();
1078
+ iframeDocument.write(scriptTag('document.F=Object'));
1079
+ iframeDocument.close();
1080
+ return iframeDocument.F;
1081
+ };
1082
+
1083
+ // Check for document.domain and active x support
1084
+ // No need to use active x approach when document.domain is not set
1085
+ // see https://github.com/es-shims/es5-shim/issues/150
1086
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1087
+ // avoid IE GC bug
1088
+ var activeXDocument;
1089
+ var NullProtoObject = function () {
1090
+ try {
1091
+ activeXDocument = new ActiveXObject('htmlfile');
1092
+ } catch (error) { /* ignore */ }
1093
+ NullProtoObject = typeof document != 'undefined'
1094
+ ? document.domain && activeXDocument
1095
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
1096
+ : NullProtoObjectViaIFrame()
1097
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
1098
+ var length = enumBugKeys.length;
1099
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1100
+ return NullProtoObject();
1101
+ };
1102
+
1103
+ hiddenKeys$1[IE_PROTO] = true;
1104
+
1105
+ // `Object.create` method
1106
+ // https://tc39.es/ecma262/#sec-object.create
1107
+ var objectCreate = Object.create || function create(O, Properties) {
1108
+ var result;
1109
+ if (O !== null) {
1110
+ EmptyConstructor[PROTOTYPE] = anObject(O);
1111
+ result = new EmptyConstructor();
1112
+ EmptyConstructor[PROTOTYPE] = null;
1113
+ // add "__proto__" for Object.getPrototypeOf polyfill
1114
+ result[IE_PROTO] = O;
1115
+ } else result = NullProtoObject();
1116
+ return Properties === undefined ? result : objectDefineProperties.f(result, Properties);
1117
+ };
1118
+
1119
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
1120
+ var ArrayPrototype = Array.prototype;
1121
+
1122
+ // Array.prototype[@@unscopables]
1123
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1124
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
1125
+ objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
1126
+ configurable: true,
1127
+ value: objectCreate(null)
1128
+ });
1129
+ }
1130
+
1131
+ // add a key to Array.prototype[@@unscopables]
1132
+ var addToUnscopables = function (key) {
1133
+ ArrayPrototype[UNSCOPABLES][key] = true;
1134
+ };
1135
+
1136
+ var $includes = arrayIncludes.includes;
1137
+
1138
+
1139
+ // `Array.prototype.includes` method
1140
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
1141
+ _export({ target: 'Array', proto: true }, {
1142
+ includes: function includes(el /* , fromIndex = 0 */) {
1143
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
1144
+ }
1145
+ });
1146
+
1147
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1148
+ addToUnscopables('includes');
1149
+
1150
+ var MATCH$1 = wellKnownSymbol('match');
1151
+
1152
+ // `IsRegExp` abstract operation
1153
+ // https://tc39.es/ecma262/#sec-isregexp
1154
+ var isRegexp = function (it) {
1155
+ var isRegExp;
1156
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1157
+ };
1158
+
1159
+ var TypeError$4 = global_1.TypeError;
1160
+
1161
+ var notARegexp = function (it) {
1162
+ if (isRegexp(it)) {
1163
+ throw TypeError$4("The method doesn't accept regular expressions");
1164
+ } return it;
1165
+ };
1166
+
1167
+ var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
1168
+ var test = {};
1169
+
1170
+ test[TO_STRING_TAG$1] = 'z';
1171
+
1172
+ var toStringTagSupport = String(test) === '[object z]';
1173
+
1174
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1175
+ var Object$1 = global_1.Object;
1176
+
1177
+ // ES3 wrong here
1178
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1179
+
1180
+ // fallback for IE11 Script Access Denied error
1181
+ var tryGet = function (it, key) {
1182
+ try {
1183
+ return it[key];
1184
+ } catch (error) { /* empty */ }
1185
+ };
1186
+
1187
+ // getting tag from ES6+ `Object.prototype.toString`
1188
+ var classof = toStringTagSupport ? classofRaw : function (it) {
1189
+ var O, tag, result;
1190
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
1191
+ // @@toStringTag case
1192
+ : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag
1193
+ // builtinTag case
1194
+ : CORRECT_ARGUMENTS ? classofRaw(O)
1195
+ // ES3 arguments fallback
1196
+ : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
1197
+ };
1198
+
1199
+ var String$1 = global_1.String;
1200
+
1201
+ var toString_1 = function (argument) {
1202
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1203
+ return String$1(argument);
1204
+ };
1205
+
1206
+ var MATCH = wellKnownSymbol('match');
1207
+
1208
+ var correctIsRegexpLogic = function (METHOD_NAME) {
1209
+ var regexp = /./;
1210
+ try {
1211
+ '/./'[METHOD_NAME](regexp);
1212
+ } catch (error1) {
1213
+ try {
1214
+ regexp[MATCH] = false;
1215
+ return '/./'[METHOD_NAME](regexp);
1216
+ } catch (error2) { /* empty */ }
1217
+ } return false;
1218
+ };
1219
+
1220
+ var stringIndexOf$1 = functionUncurryThis(''.indexOf);
1221
+
1222
+ // `String.prototype.includes` method
1223
+ // https://tc39.es/ecma262/#sec-string.prototype.includes
1224
+ _export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
1225
+ includes: function includes(searchString /* , position = 0 */) {
1226
+ return !!~stringIndexOf$1(
1227
+ toString_1(requireObjectCoercible(this)),
1228
+ toString_1(notARegexp(searchString)),
1229
+ arguments.length > 1 ? arguments[1] : undefined
1230
+ );
1231
+ }
1232
+ });
1233
+
1234
+ // `IsArray` abstract operation
1235
+ // https://tc39.es/ecma262/#sec-isarray
1236
+ // eslint-disable-next-line es/no-array-isarray -- safe
1237
+ var isArray = Array.isArray || function isArray(argument) {
1238
+ return classofRaw(argument) == 'Array';
1239
+ };
1240
+
1241
+ var createProperty = function (object, key, value) {
1242
+ var propertyKey = toPropertyKey(key);
1243
+ if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
1244
+ else object[propertyKey] = value;
1245
+ };
1246
+
1247
+ var noop = function () { /* empty */ };
1248
+ var empty = [];
1249
+ var construct = getBuiltIn('Reflect', 'construct');
1250
+ var constructorRegExp = /^\s*(?:class|function)\b/;
1251
+ var exec$1 = functionUncurryThis(constructorRegExp.exec);
1252
+ var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1253
+
1254
+ var isConstructorModern = function isConstructor(argument) {
1255
+ if (!isCallable(argument)) return false;
1256
+ try {
1257
+ construct(noop, empty, argument);
1258
+ return true;
1259
+ } catch (error) {
1260
+ return false;
1261
+ }
821
1262
  };
822
1263
 
1264
+ var isConstructorLegacy = function isConstructor(argument) {
1265
+ if (!isCallable(argument)) return false;
1266
+ switch (classof(argument)) {
1267
+ case 'AsyncFunction':
1268
+ case 'GeneratorFunction':
1269
+ case 'AsyncGeneratorFunction': return false;
1270
+ }
1271
+ try {
1272
+ // we can't check .prototype since constructors produced by .bind haven't it
1273
+ // `Function#toString` throws on some built-it function in some legacy engines
1274
+ // (for example, `DOMQuad` and similar in FF41-)
1275
+ return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource(argument));
1276
+ } catch (error) {
1277
+ return true;
1278
+ }
1279
+ };
1280
+
1281
+ isConstructorLegacy.sham = true;
1282
+
1283
+ // `IsConstructor` abstract operation
1284
+ // https://tc39.es/ecma262/#sec-isconstructor
1285
+ var isConstructor = !construct || fails(function () {
1286
+ var called;
1287
+ return isConstructorModern(isConstructorModern.call)
1288
+ || !isConstructorModern(Object)
1289
+ || !isConstructorModern(function () { called = true; })
1290
+ || called;
1291
+ }) ? isConstructorLegacy : isConstructorModern;
1292
+
823
1293
  var SPECIES$3 = wellKnownSymbol('species');
1294
+ var Array$2 = global_1.Array;
824
1295
 
825
- // `ArraySpeciesCreate` abstract operation
1296
+ // a part of `ArraySpeciesCreate` abstract operation
826
1297
  // https://tc39.es/ecma262/#sec-arrayspeciescreate
827
- var arraySpeciesCreate = function (originalArray, length) {
1298
+ var arraySpeciesConstructor = function (originalArray) {
828
1299
  var C;
829
1300
  if (isArray(originalArray)) {
830
1301
  C = originalArray.constructor;
831
1302
  // cross-realm fallback
832
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
1303
+ if (isConstructor(C) && (C === Array$2 || isArray(C.prototype))) C = undefined;
833
1304
  else if (isObject(C)) {
834
1305
  C = C[SPECIES$3];
835
1306
  if (C === null) C = undefined;
836
1307
  }
837
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
1308
+ } return C === undefined ? Array$2 : C;
1309
+ };
1310
+
1311
+ // `ArraySpeciesCreate` abstract operation
1312
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
1313
+ var arraySpeciesCreate = function (originalArray, length) {
1314
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
838
1315
  };
839
1316
 
840
1317
  var SPECIES$2 = wellKnownSymbol('species');
@@ -856,6 +1333,7 @@
856
1333
  var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
857
1334
  var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
858
1335
  var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1336
+ var TypeError$3 = global_1.TypeError;
859
1337
 
860
1338
  // We can't use this feature detection in V8 since it causes
861
1339
  // deoptimization and serious performance degradation
@@ -889,11 +1367,11 @@
889
1367
  for (i = -1, length = arguments.length; i < length; i++) {
890
1368
  E = i === -1 ? O : arguments[i];
891
1369
  if (isConcatSpreadable(E)) {
892
- len = toLength(E.length);
893
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1370
+ len = lengthOfArrayLike(E);
1371
+ if (n + len > MAX_SAFE_INTEGER) throw TypeError$3(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
894
1372
  for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
895
1373
  } else {
896
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1374
+ if (n >= MAX_SAFE_INTEGER) throw TypeError$3(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
897
1375
  createProperty(A, n++, E);
898
1376
  }
899
1377
  }
@@ -902,27 +1380,6 @@
902
1380
  }
903
1381
  });
904
1382
 
905
- var arrayMethodIsStrict = function (METHOD_NAME, argument) {
906
- var method = [][METHOD_NAME];
907
- return !!method && fails(function () {
908
- // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
909
- method.call(null, argument || function () { throw 1; }, 1);
910
- });
911
- };
912
-
913
- var nativeJoin = [].join;
914
-
915
- var ES3_STRINGS = indexedObject != Object;
916
- var STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');
917
-
918
- // `Array.prototype.join` method
919
- // https://tc39.es/ecma262/#sec-array.prototype.join
920
- _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {
921
- join: function join(separator) {
922
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
923
- }
924
- });
925
-
926
1383
  // `RegExp.prototype.flags` getter implementation
927
1384
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
928
1385
  var regexpFlags = function () {
@@ -937,71 +1394,118 @@
937
1394
  return result;
938
1395
  };
939
1396
 
940
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
941
- // so we use an intermediate function.
942
- function RE(s, f) {
943
- return RegExp(s, f);
944
- }
1397
+ // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1398
+ var $RegExp$2 = global_1.RegExp;
945
1399
 
946
1400
  var UNSUPPORTED_Y$2 = fails(function () {
947
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
948
- var re = RE('a', 'y');
1401
+ var re = $RegExp$2('a', 'y');
949
1402
  re.lastIndex = 2;
950
1403
  return re.exec('abcd') != null;
951
1404
  });
952
1405
 
953
- var BROKEN_CARET = fails(function () {
1406
+ // UC Browser bug
1407
+ // https://github.com/zloirock/core-js/issues/1008
1408
+ var MISSED_STICKY = UNSUPPORTED_Y$2 || fails(function () {
1409
+ return !$RegExp$2('a', 'y').sticky;
1410
+ });
1411
+
1412
+ var BROKEN_CARET = UNSUPPORTED_Y$2 || fails(function () {
954
1413
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
955
- var re = RE('^r', 'gy');
1414
+ var re = $RegExp$2('^r', 'gy');
956
1415
  re.lastIndex = 2;
957
1416
  return re.exec('str') != null;
958
1417
  });
959
1418
 
960
1419
  var regexpStickyHelpers = {
961
- UNSUPPORTED_Y: UNSUPPORTED_Y$2,
962
- BROKEN_CARET: BROKEN_CARET
1420
+ BROKEN_CARET: BROKEN_CARET,
1421
+ MISSED_STICKY: MISSED_STICKY,
1422
+ UNSUPPORTED_Y: UNSUPPORTED_Y$2
963
1423
  };
964
1424
 
965
- var nativeExec = RegExp.prototype.exec;
966
- var nativeReplace = shared('native-string-replace', String.prototype.replace);
1425
+ // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
1426
+ var $RegExp$1 = global_1.RegExp;
967
1427
 
1428
+ var regexpUnsupportedDotAll = fails(function () {
1429
+ var re = $RegExp$1('.', 's');
1430
+ return !(re.dotAll && re.exec('\n') && re.flags === 's');
1431
+ });
1432
+
1433
+ // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
1434
+ var $RegExp = global_1.RegExp;
1435
+
1436
+ var regexpUnsupportedNcg = fails(function () {
1437
+ var re = $RegExp('(?<a>b)', 'g');
1438
+ return re.exec('b').groups.a !== 'b' ||
1439
+ 'b'.replace(re, '$<a>c') !== 'bc';
1440
+ });
1441
+
1442
+ /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
1443
+ /* eslint-disable regexp/no-useless-quantifier -- testing */
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+ var getInternalState = internalState.get;
1452
+
1453
+
1454
+
1455
+ var nativeReplace = shared('native-string-replace', String.prototype.replace);
1456
+ var nativeExec = RegExp.prototype.exec;
968
1457
  var patchedExec = nativeExec;
1458
+ var charAt$3 = functionUncurryThis(''.charAt);
1459
+ var indexOf = functionUncurryThis(''.indexOf);
1460
+ var replace$1 = functionUncurryThis(''.replace);
1461
+ var stringSlice$4 = functionUncurryThis(''.slice);
969
1462
 
970
1463
  var UPDATES_LAST_INDEX_WRONG = (function () {
971
1464
  var re1 = /a/;
972
1465
  var re2 = /b*/g;
973
- nativeExec.call(re1, 'a');
974
- nativeExec.call(re2, 'a');
1466
+ functionCall(nativeExec, re1, 'a');
1467
+ functionCall(nativeExec, re2, 'a');
975
1468
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
976
1469
  })();
977
1470
 
978
- var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1471
+ var UNSUPPORTED_Y$1 = regexpStickyHelpers.BROKEN_CARET;
979
1472
 
980
1473
  // nonparticipating capturing group, copied from es5-shim's String#split patch.
981
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
982
1474
  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
983
1475
 
984
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
1476
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1 || regexpUnsupportedDotAll || regexpUnsupportedNcg;
985
1477
 
986
1478
  if (PATCH) {
987
- patchedExec = function exec(str) {
1479
+ patchedExec = function exec(string) {
988
1480
  var re = this;
989
- var lastIndex, reCopy, match, i;
1481
+ var state = getInternalState(re);
1482
+ var str = toString_1(string);
1483
+ var raw = state.raw;
1484
+ var result, reCopy, lastIndex, match, i, object, group;
1485
+
1486
+ if (raw) {
1487
+ raw.lastIndex = re.lastIndex;
1488
+ result = functionCall(patchedExec, raw, str);
1489
+ re.lastIndex = raw.lastIndex;
1490
+ return result;
1491
+ }
1492
+
1493
+ var groups = state.groups;
990
1494
  var sticky = UNSUPPORTED_Y$1 && re.sticky;
991
- var flags = regexpFlags.call(re);
1495
+ var flags = functionCall(regexpFlags, re);
992
1496
  var source = re.source;
993
1497
  var charsAdded = 0;
994
1498
  var strCopy = str;
995
1499
 
996
1500
  if (sticky) {
997
- flags = flags.replace('y', '');
998
- if (flags.indexOf('g') === -1) {
1501
+ flags = replace$1(flags, 'y', '');
1502
+ if (indexOf(flags, 'g') === -1) {
999
1503
  flags += 'g';
1000
1504
  }
1001
1505
 
1002
- strCopy = String(str).slice(re.lastIndex);
1506
+ strCopy = stringSlice$4(str, re.lastIndex);
1003
1507
  // Support anchored sticky behavior.
1004
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1508
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
1005
1509
  source = '(?: ' + source + ')';
1006
1510
  strCopy = ' ' + strCopy;
1007
1511
  charsAdded++;
@@ -1016,12 +1520,12 @@
1016
1520
  }
1017
1521
  if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1018
1522
 
1019
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
1523
+ match = functionCall(nativeExec, sticky ? reCopy : re, strCopy);
1020
1524
 
1021
1525
  if (sticky) {
1022
1526
  if (match) {
1023
- match.input = match.input.slice(charsAdded);
1024
- match[0] = match[0].slice(charsAdded);
1527
+ match.input = stringSlice$4(match.input, charsAdded);
1528
+ match[0] = stringSlice$4(match[0], charsAdded);
1025
1529
  match.index = re.lastIndex;
1026
1530
  re.lastIndex += match[0].length;
1027
1531
  } else re.lastIndex = 0;
@@ -1031,13 +1535,21 @@
1031
1535
  if (NPCG_INCLUDED && match && match.length > 1) {
1032
1536
  // Fix browsers whose `exec` methods don't consistently return `undefined`
1033
1537
  // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1034
- nativeReplace.call(match[0], reCopy, function () {
1538
+ functionCall(nativeReplace, match[0], reCopy, function () {
1035
1539
  for (i = 1; i < arguments.length - 2; i++) {
1036
1540
  if (arguments[i] === undefined) match[i] = undefined;
1037
1541
  }
1038
1542
  });
1039
1543
  }
1040
1544
 
1545
+ if (match && groups) {
1546
+ match.groups = object = objectCreate(null);
1547
+ for (i = 0; i < groups.length; i++) {
1548
+ group = groups[i];
1549
+ object[group[0]] = match[group[1]];
1550
+ }
1551
+ }
1552
+
1041
1553
  return match;
1042
1554
  };
1043
1555
  }
@@ -1050,56 +1562,28 @@
1050
1562
  exec: regexpExec
1051
1563
  });
1052
1564
 
1053
- // TODO: Remove from `core-js@4` since it's moved to entry points
1565
+ var FunctionPrototype = Function.prototype;
1566
+ var apply = FunctionPrototype.apply;
1567
+ var call = FunctionPrototype.call;
1054
1568
 
1569
+ // eslint-disable-next-line es/no-reflect -- safe
1570
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (functionBindNative ? call.bind(apply) : function () {
1571
+ return call.apply(apply, arguments);
1572
+ });
1055
1573
 
1574
+ // TODO: Remove from `core-js@4` since it's moved to entry points
1056
1575
 
1057
1576
 
1058
1577
 
1059
1578
 
1060
- var SPECIES$1 = wellKnownSymbol('species');
1061
1579
 
1062
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1063
- // #replace needs built-in support for named groups.
1064
- // #match works fine because it just return the exec results, even if it has
1065
- // a "grops" property.
1066
- var re = /./;
1067
- re.exec = function () {
1068
- var result = [];
1069
- result.groups = { a: '7' };
1070
- return result;
1071
- };
1072
- return ''.replace(re, '$<a>') !== '7';
1073
- });
1074
1580
 
1075
- // IE <= 11 replaces $0 with the whole match, as if it was $&
1076
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1077
- var REPLACE_KEEPS_$0 = (function () {
1078
- // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
1079
- return 'a'.replace(/./, '$0') === '$0';
1080
- })();
1081
1581
 
1082
- var REPLACE = wellKnownSymbol('replace');
1083
- // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1084
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1085
- if (/./[REPLACE]) {
1086
- return /./[REPLACE]('a', '$0') === '';
1087
- }
1088
- return false;
1089
- })();
1090
1582
 
1091
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1092
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1093
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1094
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
1095
- var re = /(?:)/;
1096
- var originalExec = re.exec;
1097
- re.exec = function () { return originalExec.apply(this, arguments); };
1098
- var result = 'ab'.split(re);
1099
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1100
- });
1583
+ var SPECIES$1 = wellKnownSymbol('species');
1584
+ var RegExpPrototype$1 = RegExp.prototype;
1101
1585
 
1102
- var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1586
+ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
1103
1587
  var SYMBOL = wellKnownSymbol(KEY);
1104
1588
 
1105
1589
  var DELEGATES_TO_SYMBOL = !fails(function () {
@@ -1136,84 +1620,51 @@
1136
1620
  if (
1137
1621
  !DELEGATES_TO_SYMBOL ||
1138
1622
  !DELEGATES_TO_EXEC ||
1139
- (KEY === 'replace' && !(
1140
- REPLACE_SUPPORTS_NAMED_GROUPS &&
1141
- REPLACE_KEEPS_$0 &&
1142
- !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1143
- )) ||
1144
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1623
+ FORCED
1145
1624
  ) {
1146
- var nativeRegExpMethod = /./[SYMBOL];
1625
+ var uncurriedNativeRegExpMethod = functionUncurryThis(/./[SYMBOL]);
1147
1626
  var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1148
- if (regexp.exec === RegExp.prototype.exec) {
1627
+ var uncurriedNativeMethod = functionUncurryThis(nativeMethod);
1628
+ var $exec = regexp.exec;
1629
+ if ($exec === regexpExec || $exec === RegExpPrototype$1.exec) {
1149
1630
  if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1150
1631
  // The native String method already delegates to @@method (this
1151
1632
  // polyfilled function), leasing to infinite recursion.
1152
1633
  // We avoid it by directly calling the native @@method method.
1153
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1634
+ return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
1154
1635
  }
1155
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1636
+ return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
1156
1637
  }
1157
1638
  return { done: false };
1158
- }, {
1159
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
1160
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1161
1639
  });
1162
- var stringMethod = methods[0];
1163
- var regexMethod = methods[1];
1164
-
1165
- redefine(String.prototype, KEY, stringMethod);
1166
- redefine(RegExp.prototype, SYMBOL, length == 2
1167
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1168
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1169
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
1170
- // 21.2.5.6 RegExp.prototype[@@match](string)
1171
- // 21.2.5.9 RegExp.prototype[@@search](string)
1172
- : function (string) { return regexMethod.call(string, this); }
1173
- );
1174
- }
1175
-
1176
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1177
- };
1178
-
1179
- var MATCH = wellKnownSymbol('match');
1180
1640
 
1181
- // `IsRegExp` abstract operation
1182
- // https://tc39.es/ecma262/#sec-isregexp
1183
- var isRegexp = function (it) {
1184
- var isRegExp;
1185
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1186
- };
1641
+ redefine(String.prototype, KEY, methods[0]);
1642
+ redefine(RegExpPrototype$1, SYMBOL, methods[1]);
1643
+ }
1187
1644
 
1188
- var aFunction = function (it) {
1189
- if (typeof it != 'function') {
1190
- throw TypeError(String(it) + ' is not a function');
1191
- } return it;
1645
+ if (SHAM) createNonEnumerableProperty(RegExpPrototype$1[SYMBOL], 'sham', true);
1192
1646
  };
1193
1647
 
1194
- var SPECIES = wellKnownSymbol('species');
1195
-
1196
- // `SpeciesConstructor` abstract operation
1197
- // https://tc39.es/ecma262/#sec-speciesconstructor
1198
- var speciesConstructor = function (O, defaultConstructor) {
1199
- var C = anObject(O).constructor;
1200
- var S;
1201
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
1202
- };
1648
+ var charAt$2 = functionUncurryThis(''.charAt);
1649
+ var charCodeAt = functionUncurryThis(''.charCodeAt);
1650
+ var stringSlice$3 = functionUncurryThis(''.slice);
1203
1651
 
1204
- // `String.prototype.{ codePointAt, at }` methods implementation
1205
1652
  var createMethod$1 = function (CONVERT_TO_STRING) {
1206
1653
  return function ($this, pos) {
1207
- var S = String(requireObjectCoercible($this));
1208
- var position = toInteger(pos);
1654
+ var S = toString_1(requireObjectCoercible($this));
1655
+ var position = toIntegerOrInfinity(pos);
1209
1656
  var size = S.length;
1210
1657
  var first, second;
1211
1658
  if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1212
- first = S.charCodeAt(position);
1659
+ first = charCodeAt(S, position);
1213
1660
  return first < 0xD800 || first > 0xDBFF || position + 1 === size
1214
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1215
- ? CONVERT_TO_STRING ? S.charAt(position) : first
1216
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1661
+ || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
1662
+ ? CONVERT_TO_STRING
1663
+ ? charAt$2(S, position)
1664
+ : first
1665
+ : CONVERT_TO_STRING
1666
+ ? stringSlice$3(S, position, position + 2)
1667
+ : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1217
1668
  };
1218
1669
  };
1219
1670
 
@@ -1226,161 +1677,22 @@
1226
1677
  charAt: createMethod$1(true)
1227
1678
  };
1228
1679
 
1229
- var charAt = stringMultibyte.charAt;
1680
+ var charAt$1 = stringMultibyte.charAt;
1230
1681
 
1231
1682
  // `AdvanceStringIndex` abstract operation
1232
1683
  // https://tc39.es/ecma262/#sec-advancestringindex
1233
1684
  var advanceStringIndex = function (S, index, unicode) {
1234
- return index + (unicode ? charAt(S, index).length : 1);
1235
- };
1236
-
1237
- // `RegExpExec` abstract operation
1238
- // https://tc39.es/ecma262/#sec-regexpexec
1239
- var regexpExecAbstract = function (R, S) {
1240
- var exec = R.exec;
1241
- if (typeof exec === 'function') {
1242
- var result = exec.call(R, S);
1243
- if (typeof result !== 'object') {
1244
- throw TypeError('RegExp exec method returned something other than an Object or null');
1245
- }
1246
- return result;
1247
- }
1248
-
1249
- if (classofRaw(R) !== 'RegExp') {
1250
- throw TypeError('RegExp#exec called on incompatible receiver');
1251
- }
1252
-
1253
- return regexpExec.call(R, S);
1685
+ return index + (unicode ? charAt$1(S, index).length : 1);
1254
1686
  };
1255
1687
 
1256
- var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
1257
- var arrayPush = [].push;
1258
- var min$1 = Math.min;
1259
- var MAX_UINT32 = 0xFFFFFFFF;
1260
-
1261
- // @@split logic
1262
- fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
1263
- var internalSplit;
1264
- if (
1265
- 'abbc'.split(/(b)*/)[1] == 'c' ||
1266
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
1267
- 'test'.split(/(?:)/, -1).length != 4 ||
1268
- 'ab'.split(/(?:ab)*/).length != 2 ||
1269
- '.'.split(/(.?)(.?)/).length != 4 ||
1270
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
1271
- '.'.split(/()()/).length > 1 ||
1272
- ''.split(/.?/).length
1273
- ) {
1274
- // based on es5-shim implementation, need to rework it
1275
- internalSplit = function (separator, limit) {
1276
- var string = String(requireObjectCoercible(this));
1277
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1278
- if (lim === 0) return [];
1279
- if (separator === undefined) return [string];
1280
- // If `separator` is not a regex, use native split
1281
- if (!isRegexp(separator)) {
1282
- return nativeSplit.call(string, separator, lim);
1283
- }
1284
- var output = [];
1285
- var flags = (separator.ignoreCase ? 'i' : '') +
1286
- (separator.multiline ? 'm' : '') +
1287
- (separator.unicode ? 'u' : '') +
1288
- (separator.sticky ? 'y' : '');
1289
- var lastLastIndex = 0;
1290
- // Make `global` and avoid `lastIndex` issues by working with a copy
1291
- var separatorCopy = new RegExp(separator.source, flags + 'g');
1292
- var match, lastIndex, lastLength;
1293
- while (match = regexpExec.call(separatorCopy, string)) {
1294
- lastIndex = separatorCopy.lastIndex;
1295
- if (lastIndex > lastLastIndex) {
1296
- output.push(string.slice(lastLastIndex, match.index));
1297
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
1298
- lastLength = match[0].length;
1299
- lastLastIndex = lastIndex;
1300
- if (output.length >= lim) break;
1301
- }
1302
- if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
1303
- }
1304
- if (lastLastIndex === string.length) {
1305
- if (lastLength || !separatorCopy.test('')) output.push('');
1306
- } else output.push(string.slice(lastLastIndex));
1307
- return output.length > lim ? output.slice(0, lim) : output;
1308
- };
1309
- // Chakra, V8
1310
- } else if ('0'.split(undefined, 0).length) {
1311
- internalSplit = function (separator, limit) {
1312
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
1313
- };
1314
- } else internalSplit = nativeSplit;
1315
-
1316
- return [
1317
- // `String.prototype.split` method
1318
- // https://tc39.es/ecma262/#sec-string.prototype.split
1319
- function split(separator, limit) {
1320
- var O = requireObjectCoercible(this);
1321
- var splitter = separator == undefined ? undefined : separator[SPLIT];
1322
- return splitter !== undefined
1323
- ? splitter.call(separator, O, limit)
1324
- : internalSplit.call(String(O), separator, limit);
1325
- },
1326
- // `RegExp.prototype[@@split]` method
1327
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
1328
- //
1329
- // NOTE: This cannot be properly polyfilled in engines that don't support
1330
- // the 'y' flag.
1331
- function (regexp, limit) {
1332
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
1333
- if (res.done) return res.value;
1334
-
1335
- var rx = anObject(regexp);
1336
- var S = String(this);
1337
- var C = speciesConstructor(rx, RegExp);
1338
-
1339
- var unicodeMatching = rx.unicode;
1340
- var flags = (rx.ignoreCase ? 'i' : '') +
1341
- (rx.multiline ? 'm' : '') +
1342
- (rx.unicode ? 'u' : '') +
1343
- (UNSUPPORTED_Y ? 'g' : 'y');
1344
-
1345
- // ^(? + rx + ) is needed, in combination with some S slicing, to
1346
- // simulate the 'y' flag.
1347
- var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);
1348
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1349
- if (lim === 0) return [];
1350
- if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
1351
- var p = 0;
1352
- var q = 0;
1353
- var A = [];
1354
- while (q < S.length) {
1355
- splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
1356
- var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S);
1357
- var e;
1358
- if (
1359
- z === null ||
1360
- (e = min$1(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p
1361
- ) {
1362
- q = advanceStringIndex(S, q, unicodeMatching);
1363
- } else {
1364
- A.push(S.slice(p, q));
1365
- if (A.length === lim) return A;
1366
- for (var i = 1; i <= z.length - 1; i++) {
1367
- A.push(z[i]);
1368
- if (A.length === lim) return A;
1369
- }
1370
- q = p = e;
1371
- }
1372
- }
1373
- A.push(S.slice(p));
1374
- return A;
1375
- }
1376
- ];
1377
- }, UNSUPPORTED_Y);
1378
-
1379
1688
  var floor = Math.floor;
1380
- var replace = ''.replace;
1689
+ var charAt = functionUncurryThis(''.charAt);
1690
+ var replace = functionUncurryThis(''.replace);
1691
+ var stringSlice$2 = functionUncurryThis(''.slice);
1381
1692
  var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
1382
1693
  var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
1383
1694
 
1695
+ // `GetSubstitution` abstract operation
1384
1696
  // https://tc39.es/ecma262/#sec-getsubstitution
1385
1697
  var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
1386
1698
  var tailPos = position + matched.length;
@@ -1390,15 +1702,15 @@
1390
1702
  namedCaptures = toObject(namedCaptures);
1391
1703
  symbols = SUBSTITUTION_SYMBOLS;
1392
1704
  }
1393
- return replace.call(replacement, symbols, function (match, ch) {
1705
+ return replace(replacement, symbols, function (match, ch) {
1394
1706
  var capture;
1395
- switch (ch.charAt(0)) {
1707
+ switch (charAt(ch, 0)) {
1396
1708
  case '$': return '$';
1397
1709
  case '&': return matched;
1398
- case '`': return str.slice(0, position);
1399
- case "'": return str.slice(tailPos);
1710
+ case '`': return stringSlice$2(str, 0, position);
1711
+ case "'": return stringSlice$2(str, tailPos);
1400
1712
  case '<':
1401
- capture = namedCaptures[ch.slice(1, -1)];
1713
+ capture = namedCaptures[stringSlice$2(ch, 1, -1)];
1402
1714
  break;
1403
1715
  default: // \d\d?
1404
1716
  var n = +ch;
@@ -1406,7 +1718,7 @@
1406
1718
  if (n > m) {
1407
1719
  var f = floor(n / 10);
1408
1720
  if (f === 0) return match;
1409
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1721
+ if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
1410
1722
  return match;
1411
1723
  }
1412
1724
  capture = captures[n - 1];
@@ -1415,17 +1727,61 @@
1415
1727
  });
1416
1728
  };
1417
1729
 
1418
- var max = Math.max;
1419
- var min = Math.min;
1730
+ var TypeError$2 = global_1.TypeError;
1731
+
1732
+ // `RegExpExec` abstract operation
1733
+ // https://tc39.es/ecma262/#sec-regexpexec
1734
+ var regexpExecAbstract = function (R, S) {
1735
+ var exec = R.exec;
1736
+ if (isCallable(exec)) {
1737
+ var result = functionCall(exec, R, S);
1738
+ if (result !== null) anObject(result);
1739
+ return result;
1740
+ }
1741
+ if (classofRaw(R) === 'RegExp') return functionCall(regexpExec, R, S);
1742
+ throw TypeError$2('RegExp#exec called on incompatible receiver');
1743
+ };
1744
+
1745
+ var REPLACE = wellKnownSymbol('replace');
1746
+ var max$1 = Math.max;
1747
+ var min$1 = Math.min;
1748
+ var concat = functionUncurryThis([].concat);
1749
+ var push$2 = functionUncurryThis([].push);
1750
+ var stringIndexOf = functionUncurryThis(''.indexOf);
1751
+ var stringSlice$1 = functionUncurryThis(''.slice);
1420
1752
 
1421
1753
  var maybeToString = function (it) {
1422
1754
  return it === undefined ? it : String(it);
1423
1755
  };
1424
1756
 
1757
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
1758
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1759
+ var REPLACE_KEEPS_$0 = (function () {
1760
+ // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
1761
+ return 'a'.replace(/./, '$0') === '$0';
1762
+ })();
1763
+
1764
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1765
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1766
+ if (/./[REPLACE]) {
1767
+ return /./[REPLACE]('a', '$0') === '';
1768
+ }
1769
+ return false;
1770
+ })();
1771
+
1772
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1773
+ var re = /./;
1774
+ re.exec = function () {
1775
+ var result = [];
1776
+ result.groups = { a: '7' };
1777
+ return result;
1778
+ };
1779
+ // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
1780
+ return ''.replace(re, '$<a>') !== '7';
1781
+ });
1782
+
1425
1783
  // @@replace logic
1426
- fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1427
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
1428
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
1784
+ fixRegexpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
1429
1785
  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
1430
1786
 
1431
1787
  return [
@@ -1433,27 +1789,28 @@
1433
1789
  // https://tc39.es/ecma262/#sec-string.prototype.replace
1434
1790
  function replace(searchValue, replaceValue) {
1435
1791
  var O = requireObjectCoercible(this);
1436
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1437
- return replacer !== undefined
1438
- ? replacer.call(searchValue, O, replaceValue)
1439
- : nativeReplace.call(String(O), searchValue, replaceValue);
1792
+ var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);
1793
+ return replacer
1794
+ ? functionCall(replacer, searchValue, O, replaceValue)
1795
+ : functionCall(nativeReplace, toString_1(O), searchValue, replaceValue);
1440
1796
  },
1441
1797
  // `RegExp.prototype[@@replace]` method
1442
1798
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
1443
- function (regexp, replaceValue) {
1799
+ function (string, replaceValue) {
1800
+ var rx = anObject(this);
1801
+ var S = toString_1(string);
1802
+
1444
1803
  if (
1445
- (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
1446
- (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
1804
+ typeof replaceValue == 'string' &&
1805
+ stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
1806
+ stringIndexOf(replaceValue, '$<') === -1
1447
1807
  ) {
1448
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1808
+ var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
1449
1809
  if (res.done) return res.value;
1450
1810
  }
1451
1811
 
1452
- var rx = anObject(regexp);
1453
- var S = String(this);
1454
-
1455
- var functionalReplace = typeof replaceValue === 'function';
1456
- if (!functionalReplace) replaceValue = String(replaceValue);
1812
+ var functionalReplace = isCallable(replaceValue);
1813
+ if (!functionalReplace) replaceValue = toString_1(replaceValue);
1457
1814
 
1458
1815
  var global = rx.global;
1459
1816
  if (global) {
@@ -1465,10 +1822,10 @@
1465
1822
  var result = regexpExecAbstract(rx, S);
1466
1823
  if (result === null) break;
1467
1824
 
1468
- results.push(result);
1825
+ push$2(results, result);
1469
1826
  if (!global) break;
1470
1827
 
1471
- var matchStr = String(result[0]);
1828
+ var matchStr = toString_1(result[0]);
1472
1829
  if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1473
1830
  }
1474
1831
 
@@ -1477,32 +1834,44 @@
1477
1834
  for (var i = 0; i < results.length; i++) {
1478
1835
  result = results[i];
1479
1836
 
1480
- var matched = String(result[0]);
1481
- var position = max(min(toInteger(result.index), S.length), 0);
1837
+ var matched = toString_1(result[0]);
1838
+ var position = max$1(min$1(toIntegerOrInfinity(result.index), S.length), 0);
1482
1839
  var captures = [];
1483
1840
  // NOTE: This is equivalent to
1484
1841
  // captures = result.slice(1).map(maybeToString)
1485
1842
  // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1486
1843
  // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1487
1844
  // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1488
- for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1845
+ for (var j = 1; j < result.length; j++) push$2(captures, maybeToString(result[j]));
1489
1846
  var namedCaptures = result.groups;
1490
1847
  if (functionalReplace) {
1491
- var replacerArgs = [matched].concat(captures, position, S);
1492
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1493
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
1848
+ var replacerArgs = concat([matched], captures, position, S);
1849
+ if (namedCaptures !== undefined) push$2(replacerArgs, namedCaptures);
1850
+ var replacement = toString_1(functionApply(replaceValue, undefined, replacerArgs));
1494
1851
  } else {
1495
1852
  replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1496
1853
  }
1497
1854
  if (position >= nextSourcePosition) {
1498
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1855
+ accumulatedResult += stringSlice$1(S, nextSourcePosition, position) + replacement;
1499
1856
  nextSourcePosition = position + matched.length;
1500
1857
  }
1501
1858
  }
1502
- return accumulatedResult + S.slice(nextSourcePosition);
1859
+ return accumulatedResult + stringSlice$1(S, nextSourcePosition);
1503
1860
  }
1504
1861
  ];
1505
- });
1862
+ }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
1863
+
1864
+ // `Object.prototype.toString` method implementation
1865
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
1866
+ var objectToString = toStringTagSupport ? {}.toString : function toString() {
1867
+ return '[object ' + classof(this) + ']';
1868
+ };
1869
+
1870
+ // `Object.prototype.toString` method
1871
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
1872
+ if (!toStringTagSupport) {
1873
+ redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
1874
+ }
1506
1875
 
1507
1876
  // iterable DOM collections
1508
1877
  // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
@@ -1540,48 +1909,43 @@
1540
1909
  TouchList: 0
1541
1910
  };
1542
1911
 
1912
+ // in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
1913
+
1914
+
1915
+ var classList = documentCreateElement('span').classList;
1916
+ var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;
1917
+
1918
+ var domTokenListPrototype = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;
1919
+
1920
+ var bind = functionUncurryThis(functionUncurryThis.bind);
1921
+
1543
1922
  // optional / simple context binding
1544
- var functionBindContext = function (fn, that, length) {
1545
- aFunction(fn);
1546
- if (that === undefined) return fn;
1547
- switch (length) {
1548
- case 0: return function () {
1549
- return fn.call(that);
1550
- };
1551
- case 1: return function (a) {
1552
- return fn.call(that, a);
1553
- };
1554
- case 2: return function (a, b) {
1555
- return fn.call(that, a, b);
1556
- };
1557
- case 3: return function (a, b, c) {
1558
- return fn.call(that, a, b, c);
1559
- };
1560
- }
1561
- return function (/* ...args */) {
1923
+ var functionBindContext = function (fn, that) {
1924
+ aCallable(fn);
1925
+ return that === undefined ? fn : functionBindNative ? bind(fn, that) : function (/* ...args */) {
1562
1926
  return fn.apply(that, arguments);
1563
1927
  };
1564
1928
  };
1565
1929
 
1566
- var push = [].push;
1930
+ var push$1 = functionUncurryThis([].push);
1567
1931
 
1568
- // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
1932
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
1569
1933
  var createMethod = function (TYPE) {
1570
1934
  var IS_MAP = TYPE == 1;
1571
1935
  var IS_FILTER = TYPE == 2;
1572
1936
  var IS_SOME = TYPE == 3;
1573
1937
  var IS_EVERY = TYPE == 4;
1574
1938
  var IS_FIND_INDEX = TYPE == 6;
1575
- var IS_FILTER_OUT = TYPE == 7;
1939
+ var IS_FILTER_REJECT = TYPE == 7;
1576
1940
  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
1577
1941
  return function ($this, callbackfn, that, specificCreate) {
1578
1942
  var O = toObject($this);
1579
1943
  var self = indexedObject(O);
1580
- var boundFunction = functionBindContext(callbackfn, that, 3);
1581
- var length = toLength(self.length);
1944
+ var boundFunction = functionBindContext(callbackfn, that);
1945
+ var length = lengthOfArrayLike(self);
1582
1946
  var index = 0;
1583
1947
  var create = specificCreate || arraySpeciesCreate;
1584
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
1948
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
1585
1949
  var value, result;
1586
1950
  for (;length > index; index++) if (NO_HOLES || index in self) {
1587
1951
  value = self[index];
@@ -1592,10 +1956,10 @@
1592
1956
  case 3: return true; // some
1593
1957
  case 5: return value; // find
1594
1958
  case 6: return index; // findIndex
1595
- case 2: push.call(target, value); // filter
1959
+ case 2: push$1(target, value); // filter
1596
1960
  } else switch (TYPE) {
1597
1961
  case 4: return false; // every
1598
- case 7: push.call(target, value); // filterOut
1962
+ case 7: push$1(target, value); // filterReject
1599
1963
  }
1600
1964
  }
1601
1965
  }
@@ -1625,239 +1989,279 @@
1625
1989
  // `Array.prototype.findIndex` method
1626
1990
  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
1627
1991
  findIndex: createMethod(6),
1628
- // `Array.prototype.filterOut` method
1992
+ // `Array.prototype.filterReject` method
1629
1993
  // https://github.com/tc39/proposal-array-filtering
1630
- filterOut: createMethod(7)
1994
+ filterReject: createMethod(7)
1995
+ };
1996
+
1997
+ var arrayMethodIsStrict = function (METHOD_NAME, argument) {
1998
+ var method = [][METHOD_NAME];
1999
+ return !!method && fails(function () {
2000
+ // eslint-disable-next-line no-useless-call -- required for testing
2001
+ method.call(null, argument || function () { return 1; }, 1);
2002
+ });
1631
2003
  };
1632
2004
 
1633
2005
  var $forEach = arrayIteration.forEach;
1634
2006
 
1635
2007
 
1636
- var STRICT_METHOD = arrayMethodIsStrict('forEach');
2008
+ var STRICT_METHOD$1 = arrayMethodIsStrict('forEach');
1637
2009
 
1638
2010
  // `Array.prototype.forEach` method implementation
1639
2011
  // https://tc39.es/ecma262/#sec-array.prototype.foreach
1640
- var arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
2012
+ var arrayForEach = !STRICT_METHOD$1 ? function forEach(callbackfn /* , thisArg */) {
1641
2013
  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1642
2014
  // eslint-disable-next-line es/no-array-prototype-foreach -- safe
1643
2015
  } : [].forEach;
1644
2016
 
1645
- for (var COLLECTION_NAME in domIterables) {
1646
- var Collection = global_1[COLLECTION_NAME];
1647
- var CollectionPrototype = Collection && Collection.prototype;
2017
+ var handlePrototype = function (CollectionPrototype) {
1648
2018
  // some Chrome versions have non-configurable methods on DOMTokenList
1649
2019
  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
1650
2020
  createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
1651
2021
  } catch (error) {
1652
2022
  CollectionPrototype.forEach = arrayForEach;
1653
2023
  }
2024
+ };
2025
+
2026
+ for (var COLLECTION_NAME in domIterables) {
2027
+ if (domIterables[COLLECTION_NAME]) {
2028
+ handlePrototype(global_1[COLLECTION_NAME] && global_1[COLLECTION_NAME].prototype);
2029
+ }
1654
2030
  }
1655
2031
 
1656
- var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
1657
- var test = {};
2032
+ handlePrototype(domTokenListPrototype);
1658
2033
 
1659
- test[TO_STRING_TAG$1] = 'z';
2034
+ var PROPER_FUNCTION_NAME = functionName.PROPER;
1660
2035
 
1661
- var toStringTagSupport = String(test) === '[object z]';
1662
2036
 
1663
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1664
- // ES3 wrong here
1665
- var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1666
2037
 
1667
- // fallback for IE11 Script Access Denied error
1668
- var tryGet = function (it, key) {
1669
- try {
1670
- return it[key];
1671
- } catch (error) { /* empty */ }
1672
- };
1673
2038
 
1674
- // getting tag from ES6+ `Object.prototype.toString`
1675
- var classof = toStringTagSupport ? classofRaw : function (it) {
1676
- var O, tag, result;
1677
- return it === undefined ? 'Undefined' : it === null ? 'Null'
1678
- // @@toStringTag case
1679
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
1680
- // builtinTag case
1681
- : CORRECT_ARGUMENTS ? classofRaw(O)
1682
- // ES3 arguments fallback
1683
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
1684
- };
1685
2039
 
1686
- // `Object.prototype.toString` method implementation
1687
- // https://tc39.es/ecma262/#sec-object.prototype.tostring
1688
- var objectToString = toStringTagSupport ? {}.toString : function toString() {
1689
- return '[object ' + classof(this) + ']';
1690
- };
1691
2040
 
1692
- // `Object.prototype.toString` method
1693
- // https://tc39.es/ecma262/#sec-object.prototype.tostring
1694
- if (!toStringTagSupport) {
1695
- redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
1696
- }
1697
2041
 
1698
2042
  var TO_STRING = 'toString';
1699
2043
  var RegExpPrototype = RegExp.prototype;
1700
- var nativeToString = RegExpPrototype[TO_STRING];
2044
+ var n$ToString = RegExpPrototype[TO_STRING];
2045
+ var getFlags = functionUncurryThis(regexpFlags);
1701
2046
 
1702
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
2047
+ var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
1703
2048
  // FF44- RegExp#toString has a wrong name
1704
- var INCORRECT_NAME = nativeToString.name != TO_STRING;
2049
+ var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;
1705
2050
 
1706
2051
  // `RegExp.prototype.toString` method
1707
2052
  // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
1708
2053
  if (NOT_GENERIC || INCORRECT_NAME) {
1709
2054
  redefine(RegExp.prototype, TO_STRING, function toString() {
1710
2055
  var R = anObject(this);
1711
- var p = String(R.source);
2056
+ var p = toString_1(R.source);
1712
2057
  var rf = R.flags;
1713
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
2058
+ var f = toString_1(rf === undefined && objectIsPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);
1714
2059
  return '/' + p + '/' + f;
1715
2060
  }, { unsafe: true });
1716
2061
  }
1717
2062
 
1718
- // `Object.keys` method
1719
- // https://tc39.es/ecma262/#sec-object.keys
1720
- // eslint-disable-next-line es/no-object-keys -- safe
1721
- var objectKeys = Object.keys || function keys(O) {
1722
- return objectKeysInternal(O, enumBugKeys);
1723
- };
2063
+ var $find = arrayIteration.find;
1724
2064
 
1725
- // `Object.defineProperties` method
1726
- // https://tc39.es/ecma262/#sec-object.defineproperties
1727
- // eslint-disable-next-line es/no-object-defineproperties -- safe
1728
- var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
1729
- anObject(O);
1730
- var keys = objectKeys(Properties);
1731
- var length = keys.length;
1732
- var index = 0;
1733
- var key;
1734
- while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
1735
- return O;
1736
- };
1737
2065
 
1738
- var html = getBuiltIn('document', 'documentElement');
2066
+ var FIND = 'find';
2067
+ var SKIPS_HOLES = true;
1739
2068
 
1740
- var GT = '>';
1741
- var LT = '<';
1742
- var PROTOTYPE = 'prototype';
1743
- var SCRIPT = 'script';
1744
- var IE_PROTO = sharedKey('IE_PROTO');
2069
+ // Shouldn't skip holes
2070
+ if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
1745
2071
 
1746
- var EmptyConstructor = function () { /* empty */ };
2072
+ // `Array.prototype.find` method
2073
+ // https://tc39.es/ecma262/#sec-array.prototype.find
2074
+ _export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
2075
+ find: function find(callbackfn /* , that = undefined */) {
2076
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2077
+ }
2078
+ });
1747
2079
 
1748
- var scriptTag = function (content) {
1749
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1750
- };
2080
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2081
+ addToUnscopables(FIND);
1751
2082
 
1752
- // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1753
- var NullProtoObjectViaActiveX = function (activeXDocument) {
1754
- activeXDocument.write(scriptTag(''));
1755
- activeXDocument.close();
1756
- var temp = activeXDocument.parentWindow.Object;
1757
- activeXDocument = null; // avoid memory leak
1758
- return temp;
1759
- };
2083
+ var $filter = arrayIteration.filter;
1760
2084
 
1761
- // Create object with fake `null` prototype: use iframe Object with cleared prototype
1762
- var NullProtoObjectViaIFrame = function () {
1763
- // Thrash, waste and sodomy: IE GC bug
1764
- var iframe = documentCreateElement('iframe');
1765
- var JS = 'java' + SCRIPT + ':';
1766
- var iframeDocument;
1767
- iframe.style.display = 'none';
1768
- html.appendChild(iframe);
1769
- // https://github.com/zloirock/core-js/issues/475
1770
- iframe.src = String(JS);
1771
- iframeDocument = iframe.contentWindow.document;
1772
- iframeDocument.open();
1773
- iframeDocument.write(scriptTag('document.F=Object'));
1774
- iframeDocument.close();
1775
- return iframeDocument.F;
1776
- };
1777
2085
 
1778
- // Check for document.domain and active x support
1779
- // No need to use active x approach when document.domain is not set
1780
- // see https://github.com/es-shims/es5-shim/issues/150
1781
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1782
- // avoid IE GC bug
1783
- var activeXDocument;
1784
- var NullProtoObject = function () {
1785
- try {
1786
- /* global ActiveXObject -- old IE */
1787
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
1788
- } catch (error) { /* ignore */ }
1789
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
1790
- var length = enumBugKeys.length;
1791
- while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1792
- return NullProtoObject();
1793
- };
2086
+ var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('filter');
1794
2087
 
1795
- hiddenKeys$1[IE_PROTO] = true;
2088
+ // `Array.prototype.filter` method
2089
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
2090
+ // with adding support of @@species
2091
+ _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
2092
+ filter: function filter(callbackfn /* , thisArg */) {
2093
+ return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2094
+ }
2095
+ });
1796
2096
 
1797
- // `Object.create` method
1798
- // https://tc39.es/ecma262/#sec-object.create
1799
- var objectCreate = Object.create || function create(O, Properties) {
1800
- var result;
1801
- if (O !== null) {
1802
- EmptyConstructor[PROTOTYPE] = anObject(O);
1803
- result = new EmptyConstructor();
1804
- EmptyConstructor[PROTOTYPE] = null;
1805
- // add "__proto__" for Object.getPrototypeOf polyfill
1806
- result[IE_PROTO] = O;
1807
- } else result = NullProtoObject();
1808
- return Properties === undefined ? result : objectDefineProperties(result, Properties);
1809
- };
2097
+ var TypeError$1 = global_1.TypeError;
1810
2098
 
1811
- var UNSCOPABLES = wellKnownSymbol('unscopables');
1812
- var ArrayPrototype = Array.prototype;
2099
+ // `Assert: IsConstructor(argument) is true`
2100
+ var aConstructor = function (argument) {
2101
+ if (isConstructor(argument)) return argument;
2102
+ throw TypeError$1(tryToString(argument) + ' is not a constructor');
2103
+ };
1813
2104
 
1814
- // Array.prototype[@@unscopables]
1815
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1816
- if (ArrayPrototype[UNSCOPABLES] == undefined) {
1817
- objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
1818
- configurable: true,
1819
- value: objectCreate(null)
1820
- });
1821
- }
2105
+ var SPECIES = wellKnownSymbol('species');
1822
2106
 
1823
- // add a key to Array.prototype[@@unscopables]
1824
- var addToUnscopables = function (key) {
1825
- ArrayPrototype[UNSCOPABLES][key] = true;
2107
+ // `SpeciesConstructor` abstract operation
2108
+ // https://tc39.es/ecma262/#sec-speciesconstructor
2109
+ var speciesConstructor = function (O, defaultConstructor) {
2110
+ var C = anObject(O).constructor;
2111
+ var S;
2112
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
1826
2113
  };
1827
2114
 
1828
- var $find = arrayIteration.find;
1829
-
2115
+ var Array$1 = global_1.Array;
2116
+ var max = Math.max;
1830
2117
 
1831
- var FIND = 'find';
1832
- var SKIPS_HOLES = true;
2118
+ var arraySliceSimple = function (O, start, end) {
2119
+ var length = lengthOfArrayLike(O);
2120
+ var k = toAbsoluteIndex(start, length);
2121
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
2122
+ var result = Array$1(max(fin - k, 0));
2123
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
2124
+ result.length = n;
2125
+ return result;
2126
+ };
1833
2127
 
1834
- // Shouldn't skip holes
1835
- if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
2128
+ var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;
2129
+ var MAX_UINT32 = 0xFFFFFFFF;
2130
+ var min = Math.min;
2131
+ var $push = [].push;
2132
+ var exec = functionUncurryThis(/./.exec);
2133
+ var push = functionUncurryThis($push);
2134
+ var stringSlice = functionUncurryThis(''.slice);
1836
2135
 
1837
- // `Array.prototype.find` method
1838
- // https://tc39.es/ecma262/#sec-array.prototype.find
1839
- _export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
1840
- find: function find(callbackfn /* , that = undefined */) {
1841
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1842
- }
2136
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
2137
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
2138
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
2139
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
2140
+ var re = /(?:)/;
2141
+ var originalExec = re.exec;
2142
+ re.exec = function () { return originalExec.apply(this, arguments); };
2143
+ var result = 'ab'.split(re);
2144
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1843
2145
  });
1844
2146
 
1845
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1846
- addToUnscopables(FIND);
2147
+ // @@split logic
2148
+ fixRegexpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {
2149
+ var internalSplit;
2150
+ if (
2151
+ 'abbc'.split(/(b)*/)[1] == 'c' ||
2152
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
2153
+ 'test'.split(/(?:)/, -1).length != 4 ||
2154
+ 'ab'.split(/(?:ab)*/).length != 2 ||
2155
+ '.'.split(/(.?)(.?)/).length != 4 ||
2156
+ // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
2157
+ '.'.split(/()()/).length > 1 ||
2158
+ ''.split(/.?/).length
2159
+ ) {
2160
+ // based on es5-shim implementation, need to rework it
2161
+ internalSplit = function (separator, limit) {
2162
+ var string = toString_1(requireObjectCoercible(this));
2163
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
2164
+ if (lim === 0) return [];
2165
+ if (separator === undefined) return [string];
2166
+ // If `separator` is not a regex, use native split
2167
+ if (!isRegexp(separator)) {
2168
+ return functionCall(nativeSplit, string, separator, lim);
2169
+ }
2170
+ var output = [];
2171
+ var flags = (separator.ignoreCase ? 'i' : '') +
2172
+ (separator.multiline ? 'm' : '') +
2173
+ (separator.unicode ? 'u' : '') +
2174
+ (separator.sticky ? 'y' : '');
2175
+ var lastLastIndex = 0;
2176
+ // Make `global` and avoid `lastIndex` issues by working with a copy
2177
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
2178
+ var match, lastIndex, lastLength;
2179
+ while (match = functionCall(regexpExec, separatorCopy, string)) {
2180
+ lastIndex = separatorCopy.lastIndex;
2181
+ if (lastIndex > lastLastIndex) {
2182
+ push(output, stringSlice(string, lastLastIndex, match.index));
2183
+ if (match.length > 1 && match.index < string.length) functionApply($push, output, arraySliceSimple(match, 1));
2184
+ lastLength = match[0].length;
2185
+ lastLastIndex = lastIndex;
2186
+ if (output.length >= lim) break;
2187
+ }
2188
+ if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
2189
+ }
2190
+ if (lastLastIndex === string.length) {
2191
+ if (lastLength || !exec(separatorCopy, '')) push(output, '');
2192
+ } else push(output, stringSlice(string, lastLastIndex));
2193
+ return output.length > lim ? arraySliceSimple(output, 0, lim) : output;
2194
+ };
2195
+ // Chakra, V8
2196
+ } else if ('0'.split(undefined, 0).length) {
2197
+ internalSplit = function (separator, limit) {
2198
+ return separator === undefined && limit === 0 ? [] : functionCall(nativeSplit, this, separator, limit);
2199
+ };
2200
+ } else internalSplit = nativeSplit;
2201
+
2202
+ return [
2203
+ // `String.prototype.split` method
2204
+ // https://tc39.es/ecma262/#sec-string.prototype.split
2205
+ function split(separator, limit) {
2206
+ var O = requireObjectCoercible(this);
2207
+ var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);
2208
+ return splitter
2209
+ ? functionCall(splitter, separator, O, limit)
2210
+ : functionCall(internalSplit, toString_1(O), separator, limit);
2211
+ },
2212
+ // `RegExp.prototype[@@split]` method
2213
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
2214
+ //
2215
+ // NOTE: This cannot be properly polyfilled in engines that don't support
2216
+ // the 'y' flag.
2217
+ function (string, limit) {
2218
+ var rx = anObject(this);
2219
+ var S = toString_1(string);
2220
+ var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);
1847
2221
 
1848
- var $filter = arrayIteration.filter;
2222
+ if (res.done) return res.value;
1849
2223
 
2224
+ var C = speciesConstructor(rx, RegExp);
1850
2225
 
1851
- var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('filter');
2226
+ var unicodeMatching = rx.unicode;
2227
+ var flags = (rx.ignoreCase ? 'i' : '') +
2228
+ (rx.multiline ? 'm' : '') +
2229
+ (rx.unicode ? 'u' : '') +
2230
+ (UNSUPPORTED_Y ? 'g' : 'y');
1852
2231
 
1853
- // `Array.prototype.filter` method
1854
- // https://tc39.es/ecma262/#sec-array.prototype.filter
1855
- // with adding support of @@species
1856
- _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
1857
- filter: function filter(callbackfn /* , thisArg */) {
1858
- return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1859
- }
1860
- });
2232
+ // ^(? + rx + ) is needed, in combination with some S slicing, to
2233
+ // simulate the 'y' flag.
2234
+ var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);
2235
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
2236
+ if (lim === 0) return [];
2237
+ if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
2238
+ var p = 0;
2239
+ var q = 0;
2240
+ var A = [];
2241
+ while (q < S.length) {
2242
+ splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
2243
+ var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);
2244
+ var e;
2245
+ if (
2246
+ z === null ||
2247
+ (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p
2248
+ ) {
2249
+ q = advanceStringIndex(S, q, unicodeMatching);
2250
+ } else {
2251
+ push(A, stringSlice(S, p, q));
2252
+ if (A.length === lim) return A;
2253
+ for (var i = 1; i <= z.length - 1; i++) {
2254
+ push(A, z[i]);
2255
+ if (A.length === lim) return A;
2256
+ }
2257
+ q = p = e;
2258
+ }
2259
+ }
2260
+ push(A, stringSlice(S, p));
2261
+ return A;
2262
+ }
2263
+ ];
2264
+ }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);
1861
2265
 
1862
2266
  var $map = arrayIteration.map;
1863
2267
 
@@ -1882,23 +2286,23 @@
1882
2286
  };
1883
2287
 
1884
2288
  // @@search logic
1885
- fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
2289
+ fixRegexpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {
1886
2290
  return [
1887
2291
  // `String.prototype.search` method
1888
2292
  // https://tc39.es/ecma262/#sec-string.prototype.search
1889
2293
  function search(regexp) {
1890
2294
  var O = requireObjectCoercible(this);
1891
- var searcher = regexp == undefined ? undefined : regexp[SEARCH];
1892
- return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
2295
+ var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);
2296
+ return searcher ? functionCall(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString_1(O));
1893
2297
  },
1894
2298
  // `RegExp.prototype[@@search]` method
1895
2299
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
1896
- function (regexp) {
1897
- var res = maybeCallNative(nativeSearch, regexp, this);
1898
- if (res.done) return res.value;
2300
+ function (string) {
2301
+ var rx = anObject(this);
2302
+ var S = toString_1(string);
2303
+ var res = maybeCallNative(nativeSearch, rx, S);
1899
2304
 
1900
- var rx = anObject(regexp);
1901
- var S = String(this);
2305
+ if (res.done) return res.value;
1902
2306
 
1903
2307
  var previousLastIndex = rx.lastIndex;
1904
2308
  if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
@@ -1909,13 +2313,26 @@
1909
2313
  ];
1910
2314
  });
1911
2315
 
2316
+ var un$Join = functionUncurryThis([].join);
2317
+
2318
+ var ES3_STRINGS = indexedObject != Object;
2319
+ var STRICT_METHOD = arrayMethodIsStrict('join', ',');
2320
+
2321
+ // `Array.prototype.join` method
2322
+ // https://tc39.es/ecma262/#sec-array.prototype.join
2323
+ _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
2324
+ join: function join(separator) {
2325
+ return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);
2326
+ }
2327
+ });
2328
+
1912
2329
  /**
1913
2330
  * @author: Dennis Hernández
1914
2331
  * @webSite: http://djhvscf.github.io/Blog
1915
2332
  * @update zhixin wen <wenzhixin2010@gmail.com>
1916
2333
  */
1917
2334
 
1918
- var Utils = $__default['default'].fn.bootstrapTable.utils;
2335
+ var Utils = $__default["default"].fn.bootstrapTable.utils;
1919
2336
  var UtilsCookie = {
1920
2337
  cookieIds: {
1921
2338
  sortOrder: 'bs.table.sortOrder',
@@ -1931,139 +2348,33 @@
1931
2348
  filterBy: 'bs.table.filterBy'
1932
2349
  },
1933
2350
  getCurrentHeader: function getCurrentHeader(that) {
1934
- var header = that.$header;
1935
-
1936
- if (that.options.height) {
1937
- header = that.$tableHeader;
1938
- }
1939
-
1940
- return header;
2351
+ return that.options.height ? that.$tableHeader : that.$header;
1941
2352
  },
1942
2353
  getCurrentSearchControls: function getCurrentSearchControls(that) {
1943
- var searchControls = 'select, input';
1944
-
1945
- if (that.options.height) {
1946
- searchControls = 'table select, table input';
1947
- }
1948
-
1949
- return searchControls;
2354
+ return that.options.height ? 'table select, table input' : 'select, input';
1950
2355
  },
1951
- cookieEnabled: function cookieEnabled() {
1952
- return !!navigator.cookieEnabled;
2356
+ isCookieSupportedByBrowser: function isCookieSupportedByBrowser() {
2357
+ return navigator.cookieEnabled;
1953
2358
  },
1954
- inArrayCookiesEnabled: function inArrayCookiesEnabled(cookieName, cookiesEnabled) {
1955
- var index = -1;
1956
-
1957
- for (var i = 0; i < cookiesEnabled.length; i++) {
1958
- if (cookieName.toLowerCase() === cookiesEnabled[i].toLowerCase()) {
1959
- index = i;
1960
- break;
1961
- }
1962
- }
1963
-
1964
- return index;
2359
+ isCookieEnabled: function isCookieEnabled(that, cookieName) {
2360
+ return that.options.cookiesEnabled.includes(cookieName);
1965
2361
  },
1966
2362
  setCookie: function setCookie(that, cookieName, cookieValue) {
1967
- if (!that.options.cookie || !UtilsCookie.cookieEnabled() || that.options.cookieIdTable === '') {
1968
- return;
1969
- }
1970
-
1971
- if (UtilsCookie.inArrayCookiesEnabled(cookieName, that.options.cookiesEnabled) === -1) {
2363
+ if (!that.options.cookie || !UtilsCookie.isCookieEnabled(that, cookieName)) {
1972
2364
  return;
1973
2365
  }
1974
2366
 
1975
- cookieName = "".concat(that.options.cookieIdTable, ".").concat(cookieName);
1976
-
1977
- switch (that.options.cookieStorage) {
1978
- case 'cookieStorage':
1979
- document.cookie = [cookieName, '=', encodeURIComponent(cookieValue), "; expires=".concat(UtilsCookie.calculateExpiration(that.options.cookieExpire)), that.options.cookiePath ? "; path=".concat(that.options.cookiePath) : '', that.options.cookieDomain ? "; domain=".concat(that.options.cookieDomain) : '', that.options.cookieSecure ? '; secure' : '', ";SameSite=".concat(that.options.cookieSameSite)].join('');
1980
- break;
1981
-
1982
- case 'localStorage':
1983
- localStorage.setItem(cookieName, cookieValue);
1984
- break;
1985
-
1986
- case 'sessionStorage':
1987
- sessionStorage.setItem(cookieName, cookieValue);
1988
- break;
1989
-
1990
- case 'customStorage':
1991
- if (!that.options.cookieCustomStorageSet || !that.options.cookieCustomStorageGet || !that.options.cookieCustomStorageDelete) {
1992
- throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
1993
- }
1994
-
1995
- Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageSet, [cookieName, cookieValue], '');
1996
- break;
1997
-
1998
- default:
1999
- return false;
2000
- }
2001
-
2002
- return true;
2367
+ return that._storage.setItem("".concat(that.options.cookieIdTable, ".").concat(cookieName), cookieValue);
2003
2368
  },
2004
- getCookie: function getCookie(that, tableName, cookieName) {
2005
- if (!cookieName) {
2006
- return null;
2007
- }
2008
-
2009
- if (UtilsCookie.inArrayCookiesEnabled(cookieName, that.options.cookiesEnabled) === -1) {
2369
+ getCookie: function getCookie(that, cookieName) {
2370
+ if (!cookieName || !UtilsCookie.isCookieEnabled(that, cookieName)) {
2010
2371
  return null;
2011
2372
  }
2012
2373
 
2013
- cookieName = "".concat(tableName, ".").concat(cookieName);
2014
-
2015
- switch (that.options.cookieStorage) {
2016
- case 'cookieStorage':
2017
- var value = "; ".concat(document.cookie);
2018
- var parts = value.split("; ".concat(cookieName, "="));
2019
- return parts.length === 2 ? decodeURIComponent(parts.pop().split(';').shift()) : null;
2020
-
2021
- case 'localStorage':
2022
- return localStorage.getItem(cookieName);
2023
-
2024
- case 'sessionStorage':
2025
- return sessionStorage.getItem(cookieName);
2026
-
2027
- case 'customStorage':
2028
- if (!that.options.cookieCustomStorageSet || !that.options.cookieCustomStorageGet || !that.options.cookieCustomStorageDelete) {
2029
- throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
2030
- }
2031
-
2032
- return Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageGet, [cookieName], '');
2033
-
2034
- default:
2035
- return null;
2036
- }
2374
+ return that._storage.getItem("".concat(that.options.cookieIdTable, ".").concat(cookieName));
2037
2375
  },
2038
- deleteCookie: function deleteCookie(that, tableName, cookieName) {
2039
- cookieName = "".concat(tableName, ".").concat(cookieName);
2040
-
2041
- switch (that.options.cookieStorage) {
2042
- case 'cookieStorage':
2043
- document.cookie = [encodeURIComponent(cookieName), '=', '; expires=Thu, 01 Jan 1970 00:00:00 GMT', that.options.cookiePath ? "; path=".concat(that.options.cookiePath) : '', that.options.cookieDomain ? "; domain=".concat(that.options.cookieDomain) : '', ";SameSite=".concat(that.options.cookieSameSite)].join('');
2044
- break;
2045
-
2046
- case 'localStorage':
2047
- localStorage.removeItem(cookieName);
2048
- break;
2049
-
2050
- case 'sessionStorage':
2051
- sessionStorage.removeItem(cookieName);
2052
- break;
2053
-
2054
- case 'customStorage':
2055
- if (!that.options.cookieCustomStorageSet || !that.options.cookieCustomStorageGet || !that.options.cookieCustomStorageDelete) {
2056
- throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
2057
- }
2058
-
2059
- Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageDelete, [cookieName], '');
2060
- break;
2061
-
2062
- default:
2063
- return false;
2064
- }
2065
-
2066
- return true;
2376
+ deleteCookie: function deleteCookie(that, cookieName) {
2377
+ return that._storage.removeItem("".concat(that.options.cookieIdTable, ".").concat(cookieName));
2067
2378
  },
2068
2379
  calculateExpiration: function calculateExpiration(cookieExpire) {
2069
2380
  var time = cookieExpire.replace(/[0-9]*/, ''); // s,mi,h,d,m,y
@@ -2110,44 +2421,57 @@
2110
2421
  },
2111
2422
  initCookieFilters: function initCookieFilters(bootstrapTable) {
2112
2423
  setTimeout(function () {
2113
- var parsedCookieFilters = JSON.parse(UtilsCookie.getCookie(bootstrapTable, bootstrapTable.options.cookieIdTable, UtilsCookie.cookieIds.filterControl));
2424
+ var parsedCookieFilters = JSON.parse(UtilsCookie.getCookie(bootstrapTable, UtilsCookie.cookieIds.filterControl));
2114
2425
 
2115
- if (!bootstrapTable.options.filterControlValuesLoaded && parsedCookieFilters) {
2426
+ if (!bootstrapTable._filterControlValuesLoaded && parsedCookieFilters) {
2116
2427
  var cachedFilters = {};
2117
2428
  var header = UtilsCookie.getCurrentHeader(bootstrapTable);
2118
2429
  var searchControls = UtilsCookie.getCurrentSearchControls(bootstrapTable);
2119
2430
 
2120
2431
  var applyCookieFilters = function applyCookieFilters(element, filteredCookies) {
2121
2432
  filteredCookies.forEach(function (cookie) {
2122
- if (cookie.text === '' || element.type === 'radio' && element.value.toString() !== cookie.text.toString()) {
2433
+ var value = element.value.toString();
2434
+ var text = cookie.text;
2435
+
2436
+ if (text === '' || element.type === 'radio' && value !== text) {
2123
2437
  return;
2124
2438
  }
2125
2439
 
2126
- if (element.tagName === 'INPUT' && element.type === 'radio' && element.value.toString() === cookie.text.toString()) {
2440
+ if (element.tagName === 'INPUT' && element.type === 'radio' && value === text) {
2127
2441
  element.checked = true;
2128
- cachedFilters[cookie.field] = cookie.text;
2442
+ cachedFilters[cookie.field] = text;
2129
2443
  } else if (element.tagName === 'INPUT') {
2130
- element.value = cookie.text;
2131
- cachedFilters[cookie.field] = cookie.text;
2444
+ element.value = text;
2445
+ cachedFilters[cookie.field] = text;
2132
2446
  } else if (element.tagName === 'SELECT' && bootstrapTable.options.filterControlContainer) {
2133
- element.value = cookie.text;
2134
- cachedFilters[cookie.field] = cookie.text;
2135
- } else if (cookie.text !== '' && element.tagName === 'SELECT') {
2136
- for (var i = 0; i < element.length; i++) {
2137
- var currentElement = element[i];
2138
-
2139
- if (currentElement.value === cookie.text) {
2140
- currentElement.selected = true;
2141
- return;
2447
+ element.value = text;
2448
+ cachedFilters[cookie.field] = text;
2449
+ } else if (text !== '' && element.tagName === 'SELECT') {
2450
+ cachedFilters[cookie.field] = text;
2451
+
2452
+ var _iterator = _createForOfIteratorHelper(element),
2453
+ _step;
2454
+
2455
+ try {
2456
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
2457
+ var currentElement = _step.value;
2458
+
2459
+ if (currentElement.value === text) {
2460
+ currentElement.selected = true;
2461
+ return;
2462
+ }
2142
2463
  }
2464
+ } catch (err) {
2465
+ _iterator.e(err);
2466
+ } finally {
2467
+ _iterator.f();
2143
2468
  }
2144
2469
 
2145
2470
  var option = document.createElement('option');
2146
- option.value = cookie.text;
2147
- option.text = cookie.text;
2471
+ option.value = text;
2472
+ option.text = text;
2148
2473
  element.add(option, element[1]);
2149
2474
  element.selectedIndex = 1;
2150
- cachedFilters[cookie.field] = cookie.text;
2151
2475
  }
2152
2476
  });
2153
2477
  };
@@ -2155,24 +2479,24 @@
2155
2479
  var filterContainer = header;
2156
2480
 
2157
2481
  if (bootstrapTable.options.filterControlContainer) {
2158
- filterContainer = $__default['default']("".concat(bootstrapTable.options.filterControlContainer));
2482
+ filterContainer = $__default["default"]("".concat(bootstrapTable.options.filterControlContainer));
2159
2483
  }
2160
2484
 
2161
2485
  filterContainer.find(searchControls).each(function () {
2162
- var field = $__default['default'](this).closest('[data-field]').data('field');
2486
+ var field = $__default["default"](this).closest('[data-field]').data('field');
2163
2487
  var filteredCookies = parsedCookieFilters.filter(function (cookie) {
2164
2488
  return cookie.field === field;
2165
2489
  });
2166
2490
  applyCookieFilters(this, filteredCookies);
2167
2491
  });
2168
2492
  bootstrapTable.initColumnSearch(cachedFilters);
2169
- bootstrapTable.options.filterControlValuesLoaded = true;
2493
+ bootstrapTable._filterControlValuesLoaded = true;
2170
2494
  bootstrapTable.initServer();
2171
2495
  }
2172
2496
  }, 250);
2173
2497
  }
2174
2498
  };
2175
- $__default['default'].extend($__default['default'].fn.bootstrapTable.defaults, {
2499
+ $__default["default"].extend($__default["default"].fn.bootstrapTable.defaults, {
2176
2500
  cookie: false,
2177
2501
  cookieExpire: '2h',
2178
2502
  cookiePath: null,
@@ -2187,17 +2511,22 @@
2187
2511
  cookieCustomStorageSet: null,
2188
2512
  cookieCustomStorageDelete: null,
2189
2513
  // internal variable
2190
- filterControls: [],
2191
- filterControlValuesLoaded: false
2514
+ _filterControls: [],
2515
+ _filterControlValuesLoaded: false,
2516
+ _storage: {
2517
+ setItem: undefined,
2518
+ getItem: undefined,
2519
+ removeItem: undefined
2520
+ }
2192
2521
  });
2193
- $__default['default'].fn.bootstrapTable.methods.push('getCookies');
2194
- $__default['default'].fn.bootstrapTable.methods.push('deleteCookie');
2195
- $__default['default'].extend($__default['default'].fn.bootstrapTable.utils, {
2522
+ $__default["default"].fn.bootstrapTable.methods.push('getCookies');
2523
+ $__default["default"].fn.bootstrapTable.methods.push('deleteCookie');
2524
+ $__default["default"].extend($__default["default"].fn.bootstrapTable.utils, {
2196
2525
  setCookie: UtilsCookie.setCookie,
2197
2526
  getCookie: UtilsCookie.getCookie
2198
2527
  });
2199
2528
 
2200
- $__default['default'].BootstrapTable = /*#__PURE__*/function (_$$BootstrapTable) {
2529
+ $__default["default"].BootstrapTable = /*#__PURE__*/function (_$$BootstrapTable) {
2201
2530
  _inherits(_class, _$$BootstrapTable);
2202
2531
 
2203
2532
  var _super = _createSuper(_class);
@@ -2212,8 +2541,13 @@
2212
2541
  key: "init",
2213
2542
  value: function init() {
2214
2543
  if (this.options.cookie) {
2215
- // FilterBy logic
2216
- var filterByCookieValue = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.filterBy);
2544
+ if (this.options.cookieStorage === 'cookieStorage' && !UtilsCookie.isCookieSupportedByBrowser()) {
2545
+ throw new Error('Cookies are not enabled in this browser.');
2546
+ }
2547
+
2548
+ this.configureStorage(); // FilterBy logic
2549
+
2550
+ var filterByCookieValue = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.filterBy);
2217
2551
 
2218
2552
  if (typeof filterByCookieValue === 'boolean' && !filterByCookieValue) {
2219
2553
  throw new Error('The cookie value of filterBy must be a json!');
@@ -2229,8 +2563,8 @@
2229
2563
 
2230
2564
  this.filterColumns = filterByCookie ? filterByCookie : {}; // FilterControl logic
2231
2565
 
2232
- this.options.filterControls = [];
2233
- this.options.filterControlValuesLoaded = false;
2566
+ this._filterControls = [];
2567
+ this._filterControlValuesLoaded = false;
2234
2568
  this.options.cookiesEnabled = typeof this.options.cookiesEnabled === 'string' ? this.options.cookiesEnabled.replace('[', '').replace(']', '').replace(/'/g, '').replace(/ /g, '').toLowerCase().split(',') : this.options.cookiesEnabled;
2235
2569
 
2236
2570
  if (this.options.filterControl) {
@@ -2238,22 +2572,22 @@
2238
2572
  this.$el.on('column-search.bs.table', function (e, field, text) {
2239
2573
  var isNewField = true;
2240
2574
 
2241
- for (var i = 0; i < that.options.filterControls.length; i++) {
2242
- if (that.options.filterControls[i].field === field) {
2243
- that.options.filterControls[i].text = text;
2575
+ for (var i = 0; i < that._filterControls.length; i++) {
2576
+ if (that._filterControls[i].field === field) {
2577
+ that._filterControls[i].text = text;
2244
2578
  isNewField = false;
2245
2579
  break;
2246
2580
  }
2247
2581
  }
2248
2582
 
2249
2583
  if (isNewField) {
2250
- that.options.filterControls.push({
2584
+ that._filterControls.push({
2251
2585
  field: field,
2252
2586
  text: text
2253
2587
  });
2254
2588
  }
2255
2589
 
2256
- UtilsCookie.setCookie(that, UtilsCookie.cookieIds.filterControl, JSON.stringify(that.options.filterControls));
2590
+ UtilsCookie.setCookie(that, UtilsCookie.cookieIds.filterControl, JSON.stringify(that._filterControls));
2257
2591
  }).on('created-controls.bs.table', UtilsCookie.initCookieFilters(that));
2258
2592
  }
2259
2593
  }
@@ -2265,8 +2599,8 @@
2265
2599
  value: function initServer() {
2266
2600
  var _get2;
2267
2601
 
2268
- if (this.options.cookie && this.options.filterControl && !this.options.filterControlValuesLoaded) {
2269
- var cookie = JSON.parse(UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.filterControl));
2602
+ if (this.options.cookie && this.options.filterControl && !this._filterControlValuesLoaded) {
2603
+ var cookie = JSON.parse(UtilsCookie.getCookie(this, UtilsCookie.cookieIds.filterControl));
2270
2604
 
2271
2605
  if (cookie) {
2272
2606
  return;
@@ -2303,12 +2637,16 @@
2303
2637
 
2304
2638
  (_get4 = _get(_getPrototypeOf(_class.prototype), "onSort", this)).call.apply(_get4, [this].concat(args));
2305
2639
 
2640
+ if (!this.options.cookie) {
2641
+ return;
2642
+ }
2643
+
2306
2644
  if (this.options.sortName === undefined || this.options.sortOrder === undefined) {
2307
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName);
2308
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder);
2645
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds.sortName);
2646
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds.sortOrder);
2309
2647
  } else {
2310
2648
  this.options.sortPriority = null;
2311
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortPriority);
2649
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds.sortPriority);
2312
2650
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortOrder, this.options.sortOrder);
2313
2651
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortName, this.options.sortName);
2314
2652
  }
@@ -2325,12 +2663,12 @@
2325
2663
  (_get5 = _get(_getPrototypeOf(_class.prototype), "onMultipleSort", this)).call.apply(_get5, [this].concat(args));
2326
2664
 
2327
2665
  if (this.options.sortPriority === undefined) {
2328
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortPriority);
2666
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds.sortPriority);
2329
2667
  } else {
2330
2668
  this.options.sortName = undefined;
2331
2669
  this.options.sortOrder = undefined;
2332
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName);
2333
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder);
2670
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds.sortName);
2671
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds.sortOrder);
2334
2672
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortPriority, JSON.stringify(this.options.sortPriority));
2335
2673
  }
2336
2674
  }
@@ -2345,6 +2683,10 @@
2345
2683
 
2346
2684
  (_get6 = _get(_getPrototypeOf(_class.prototype), "onPageNumber", this)).call.apply(_get6, [this].concat(args));
2347
2685
 
2686
+ if (!this.options.cookie) {
2687
+ return;
2688
+ }
2689
+
2348
2690
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
2349
2691
  }
2350
2692
  }, {
@@ -2358,6 +2700,10 @@
2358
2700
 
2359
2701
  (_get7 = _get(_getPrototypeOf(_class.prototype), "onPageListChange", this)).call.apply(_get7, [this].concat(args));
2360
2702
 
2703
+ if (!this.options.cookie) {
2704
+ return;
2705
+ }
2706
+
2361
2707
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageList, this.options.pageSize);
2362
2708
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
2363
2709
  }
@@ -2372,6 +2718,10 @@
2372
2718
 
2373
2719
  (_get8 = _get(_getPrototypeOf(_class.prototype), "onPagePre", this)).call.apply(_get8, [this].concat(args));
2374
2720
 
2721
+ if (!this.options.cookie) {
2722
+ return;
2723
+ }
2724
+
2375
2725
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
2376
2726
  }
2377
2727
  }, {
@@ -2385,6 +2735,10 @@
2385
2735
 
2386
2736
  (_get9 = _get(_getPrototypeOf(_class.prototype), "onPageNext", this)).call.apply(_get9, [this].concat(args));
2387
2737
 
2738
+ if (!this.options.cookie) {
2739
+ return;
2740
+ }
2741
+
2388
2742
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
2389
2743
  }
2390
2744
  }, {
@@ -2398,6 +2752,10 @@
2398
2752
 
2399
2753
  (_get10 = _get(_getPrototypeOf(_class.prototype), "_toggleColumn", this)).call.apply(_get10, [this].concat(args));
2400
2754
 
2755
+ if (!this.options.cookie) {
2756
+ return;
2757
+ }
2758
+
2401
2759
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(this.getVisibleColumns().map(function (column) {
2402
2760
  return column.field;
2403
2761
  })));
@@ -2413,6 +2771,10 @@
2413
2771
 
2414
2772
  (_get11 = _get(_getPrototypeOf(_class.prototype), "_toggleAllColumns", this)).call.apply(_get11, [this].concat(args));
2415
2773
 
2774
+ if (!this.options.cookie) {
2775
+ return;
2776
+ }
2777
+
2416
2778
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(this.getVisibleColumns().map(function (column) {
2417
2779
  return column.field;
2418
2780
  })));
@@ -2429,12 +2791,20 @@
2429
2791
  value: function selectPage(page) {
2430
2792
  _get(_getPrototypeOf(_class.prototype), "selectPage", this).call(this, page);
2431
2793
 
2794
+ if (!this.options.cookie) {
2795
+ return;
2796
+ }
2797
+
2432
2798
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, page);
2433
2799
  }
2434
2800
  }, {
2435
2801
  key: "onSearch",
2436
2802
  value: function onSearch(event) {
2437
- _get(_getPrototypeOf(_class.prototype), "onSearch", this).call(this, event);
2803
+ _get(_getPrototypeOf(_class.prototype), "onSearch", this).call(this, event, arguments.length > 1 ? arguments[1] : true);
2804
+
2805
+ if (!this.options.cookie) {
2806
+ return;
2807
+ }
2438
2808
 
2439
2809
  if (this.options.search) {
2440
2810
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.searchText, this.searchText);
@@ -2447,8 +2817,8 @@
2447
2817
  value: function initHeader() {
2448
2818
  var _get12;
2449
2819
 
2450
- if (this.options.reorderableColumns) {
2451
- this.columnsSortOrder = JSON.parse(UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.reorderColumns));
2820
+ if (this.options.reorderableColumns && this.options.cookie) {
2821
+ this.columnsSortOrder = JSON.parse(UtilsCookie.getCookie(this, UtilsCookie.cookieIds.reorderColumns));
2452
2822
  }
2453
2823
 
2454
2824
  for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
@@ -2473,6 +2843,10 @@
2473
2843
 
2474
2844
  (_get13 = _get(_getPrototypeOf(_class.prototype), "filterBy", this)).call.apply(_get13, [this].concat(args));
2475
2845
 
2846
+ if (!this.options.cookie) {
2847
+ return;
2848
+ }
2849
+
2476
2850
  UtilsCookie.setCookie(this, UtilsCookie.cookieIds.filterBy, JSON.stringify(this.filterColumns));
2477
2851
  }
2478
2852
  }, {
@@ -2484,21 +2858,21 @@
2484
2858
  return;
2485
2859
  }
2486
2860
 
2487
- if (this.options.cookieIdTable === '' || this.options.cookieExpire === '' || !UtilsCookie.cookieEnabled()) {
2861
+ if (this.options.cookieIdTable === '' || this.options.cookieExpire === '') {
2488
2862
  console.error('Configuration error. Please review the cookieIdTable and the cookieExpire property. If the properties are correct, then this browser does not support cookies.');
2489
2863
  this.options.cookie = false; // Make sure that the cookie extension is disabled
2490
2864
 
2491
2865
  return;
2492
2866
  }
2493
2867
 
2494
- var sortOrderCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder);
2495
- var sortOrderNameCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName);
2496
- var sortPriorityCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortPriority);
2497
- var pageNumberCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.pageNumber);
2498
- var pageListCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.pageList);
2499
- var searchTextCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.searchText);
2500
- var cardViewCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.cardView);
2501
- var columnsCookieValue = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.columns);
2868
+ var sortOrderCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.sortOrder);
2869
+ var sortOrderNameCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.sortName);
2870
+ var sortPriorityCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.sortPriority);
2871
+ var pageNumberCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.pageNumber);
2872
+ var pageListCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.pageList);
2873
+ var searchTextCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.searchText);
2874
+ var cardViewCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.cardView);
2875
+ var columnsCookieValue = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.columns);
2502
2876
 
2503
2877
  if (typeof columnsCookieValue === 'boolean' && !columnsCookieValue) {
2504
2878
  throw new Error('The cookie value of filterBy must be a json!');
@@ -2516,18 +2890,16 @@
2516
2890
  sortPriorityCookie = JSON.parse(sortPriorityCookie);
2517
2891
  } catch (e) {
2518
2892
  throw new Error('Could not parse the json of the sortPriority cookie!', sortPriorityCookie);
2519
- } // sortOrder
2520
-
2521
-
2522
- this.options.sortOrder = undefined; // sortName
2523
-
2524
- this.options.sortName = undefined;
2893
+ }
2525
2894
 
2526
2895
  if (!sortPriorityCookie) {
2527
2896
  // sortOrder
2528
2897
  this.options.sortOrder = sortOrderCookie ? sortOrderCookie : this.options.sortOrder; // sortName
2529
2898
 
2530
2899
  this.options.sortName = sortOrderNameCookie ? sortOrderNameCookie : this.options.sortName;
2900
+ } else {
2901
+ this.options.sortOrder = undefined;
2902
+ this.options.sortName = undefined;
2531
2903
  } // sortPriority
2532
2904
 
2533
2905
 
@@ -2543,18 +2915,26 @@
2543
2915
 
2544
2916
  this.options.pageSize = pageListCookie ? pageListCookie === this.options.formatAllRows() ? pageListCookie : +pageListCookie : this.options.pageSize; // searchText
2545
2917
 
2546
- this.options.searchText = searchTextCookie ? searchTextCookie : ''; // cardView
2918
+ if (UtilsCookie.isCookieEnabled(this, 'bs.table.searchText') && this.options.searchText === '') {
2919
+ this.options.searchText = searchTextCookie ? searchTextCookie : '';
2920
+ } // cardView
2921
+
2547
2922
 
2548
2923
  this.options.cardView = cardViewCookie === 'true' ? cardViewCookie : false;
2549
2924
 
2550
2925
  if (columnsCookie) {
2551
- var _iterator = _createForOfIteratorHelper(this.columns),
2552
- _step;
2926
+ var _iterator2 = _createForOfIteratorHelper(this.columns),
2927
+ _step2;
2553
2928
 
2554
2929
  try {
2555
2930
  var _loop = function _loop() {
2556
- var column = _step.value;
2557
- var filteredColumns = columnsCookie.filter(function (columnField) {
2931
+ var column = _step2.value;
2932
+
2933
+ if (!column.switchable) {
2934
+ return "continue";
2935
+ }
2936
+
2937
+ column.visible = columnsCookie.filter(function (columnField) {
2558
2938
  if (_this.isSelectionColumn(column)) {
2559
2939
  return true;
2560
2940
  }
@@ -2570,17 +2950,18 @@
2570
2950
  }
2571
2951
 
2572
2952
  return columnField === column.field;
2573
- });
2574
- column.visible = (filteredColumns.length > 0 || !column.switchable) && column.visible;
2953
+ }).length > 0;
2575
2954
  };
2576
2955
 
2577
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
2578
- _loop();
2956
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
2957
+ var _ret = _loop();
2958
+
2959
+ if (_ret === "continue") continue;
2579
2960
  }
2580
2961
  } catch (err) {
2581
- _iterator.e(err);
2962
+ _iterator2.e(err);
2582
2963
  } finally {
2583
- _iterator.f();
2964
+ _iterator2.f();
2584
2965
  }
2585
2966
  }
2586
2967
  }
@@ -2589,8 +2970,8 @@
2589
2970
  value: function getCookies() {
2590
2971
  var bootstrapTable = this;
2591
2972
  var cookies = {};
2592
- $__default['default'].each(UtilsCookie.cookieIds, function (key, value) {
2593
- cookies[key] = UtilsCookie.getCookie(bootstrapTable, bootstrapTable.options.cookieIdTable, value);
2973
+ $__default["default"].each(UtilsCookie.cookieIds, function (key, value) {
2974
+ cookies[key] = UtilsCookie.getCookie(bootstrapTable, value);
2594
2975
 
2595
2976
  if (key === 'columns') {
2596
2977
  cookies[key] = JSON.parse(cookies[key]);
@@ -2601,15 +2982,92 @@
2601
2982
  }, {
2602
2983
  key: "deleteCookie",
2603
2984
  value: function deleteCookie(cookieName) {
2604
- if (cookieName === '' || !UtilsCookie.cookieEnabled()) {
2985
+ if (!cookieName) {
2605
2986
  return;
2606
2987
  }
2607
2988
 
2608
- UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds[cookieName]);
2989
+ UtilsCookie.deleteCookie(this, UtilsCookie.cookieIds[cookieName]);
2990
+ }
2991
+ }, {
2992
+ key: "configureStorage",
2993
+ value: function configureStorage() {
2994
+ var that = this;
2995
+ this._storage = {};
2996
+
2997
+ switch (this.options.cookieStorage) {
2998
+ case 'cookieStorage':
2999
+ this._storage.setItem = function (cookieName, cookieValue) {
3000
+ document.cookie = [cookieName, '=', encodeURIComponent(cookieValue), "; expires=".concat(UtilsCookie.calculateExpiration(that.options.cookieExpire)), that.options.cookiePath ? "; path=".concat(that.options.cookiePath) : '', that.options.cookieDomain ? "; domain=".concat(that.options.cookieDomain) : '', that.options.cookieSecure ? '; secure' : '', ";SameSite=".concat(that.options.cookieSameSite)].join('');
3001
+ };
3002
+
3003
+ this._storage.getItem = function (cookieName) {
3004
+ var value = "; ".concat(document.cookie);
3005
+ var parts = value.split("; ".concat(cookieName, "="));
3006
+ return parts.length === 2 ? decodeURIComponent(parts.pop().split(';').shift()) : null;
3007
+ };
3008
+
3009
+ this._storage.removeItem = function (cookieName) {
3010
+ document.cookie = [encodeURIComponent(cookieName), '=', '; expires=Thu, 01 Jan 1970 00:00:00 GMT', that.options.cookiePath ? "; path=".concat(that.options.cookiePath) : '', that.options.cookieDomain ? "; domain=".concat(that.options.cookieDomain) : '', ";SameSite=".concat(that.options.cookieSameSite)].join('');
3011
+ };
3012
+
3013
+ break;
3014
+
3015
+ case 'localStorage':
3016
+ this._storage.setItem = function (cookieName, cookieValue) {
3017
+ localStorage.setItem(cookieName, cookieValue);
3018
+ };
3019
+
3020
+ this._storage.getItem = function (cookieName) {
3021
+ return localStorage.getItem(cookieName);
3022
+ };
3023
+
3024
+ this._storage.removeItem = function (cookieName) {
3025
+ localStorage.removeItem(cookieName);
3026
+ };
3027
+
3028
+ break;
3029
+
3030
+ case 'sessionStorage':
3031
+ this._storage.setItem = function (cookieName, cookieValue) {
3032
+ sessionStorage.setItem(cookieName, cookieValue);
3033
+ };
3034
+
3035
+ this._storage.getItem = function (cookieName) {
3036
+ return sessionStorage.getItem(cookieName);
3037
+ };
3038
+
3039
+ this._storage.removeItem = function (cookieName) {
3040
+ sessionStorage.removeItem(cookieName);
3041
+ };
3042
+
3043
+ break;
3044
+
3045
+ case 'customStorage':
3046
+ if (!this.options.cookieCustomStorageSet || !this.options.cookieCustomStorageGet || !this.options.cookieCustomStorageDelete) {
3047
+ throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
3048
+ }
3049
+
3050
+ this._storage.setItem = function (cookieName, cookieValue) {
3051
+ Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageSet, [cookieName, cookieValue], '');
3052
+ };
3053
+
3054
+ this._storage.getItem = function (cookieName) {
3055
+ return Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageGet, [cookieName], '');
3056
+ };
3057
+
3058
+ this._storage.removeItem = function (cookieName) {
3059
+ Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageDelete, [cookieName], '');
3060
+ };
3061
+
3062
+ break;
3063
+
3064
+ default:
3065
+ throw new Error('Storage method not supported.');
3066
+ }
2609
3067
  }
2610
3068
  }]);
2611
3069
 
2612
3070
  return _class;
2613
- }($__default['default'].BootstrapTable);
3071
+ }($__default["default"].BootstrapTable);
2614
3072
 
2615
- })));
3073
+ }));