bootstrap-table-rails 1.18.3 → 1.20.0

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