UNPKG

55.9 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
3 typeof define === 'function' && define.amd ? define(['jquery'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery));
5}(this, (function ($) { 'use strict';
6
7 function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
9 var $__default = /*#__PURE__*/_interopDefaultLegacy($);
10
11 var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
12
13 function createCommonjsModule(fn, module) {
14 return module = { exports: {} }, fn(module, module.exports), module.exports;
15 }
16
17 var check = function (it) {
18 return it && it.Math == Math && it;
19 };
20
21 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
22 var global_1 =
23 // eslint-disable-next-line no-undef
24 check(typeof globalThis == 'object' && globalThis) ||
25 check(typeof window == 'object' && window) ||
26 check(typeof self == 'object' && self) ||
27 check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
28 // eslint-disable-next-line no-new-func
29 (function () { return this; })() || Function('return this')();
30
31 var fails = function (exec) {
32 try {
33 return !!exec();
34 } catch (error) {
35 return true;
36 }
37 };
38
39 // Thank's IE8 for his funny defineProperty
40 var descriptors = !fails(function () {
41 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
42 });
43
44 var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
45 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
46
47 // Nashorn ~ JDK8 bug
48 var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
49
50 // `Object.prototype.propertyIsEnumerable` method implementation
51 // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
52 var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
53 var descriptor = getOwnPropertyDescriptor(this, V);
54 return !!descriptor && descriptor.enumerable;
55 } : nativePropertyIsEnumerable;
56
57 var objectPropertyIsEnumerable = {
58 f: f
59 };
60
61 var createPropertyDescriptor = function (bitmap, value) {
62 return {
63 enumerable: !(bitmap & 1),
64 configurable: !(bitmap & 2),
65 writable: !(bitmap & 4),
66 value: value
67 };
68 };
69
70 var toString = {}.toString;
71
72 var classofRaw = function (it) {
73 return toString.call(it).slice(8, -1);
74 };
75
76 var split = ''.split;
77
78 // fallback for non-array-like ES3 and non-enumerable old V8 strings
79 var indexedObject = fails(function () {
80 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
81 // eslint-disable-next-line no-prototype-builtins
82 return !Object('z').propertyIsEnumerable(0);
83 }) ? function (it) {
84 return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
85 } : Object;
86
87 // `RequireObjectCoercible` abstract operation
88 // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
89 var requireObjectCoercible = function (it) {
90 if (it == undefined) throw TypeError("Can't call method on " + it);
91 return it;
92 };
93
94 // toObject with fallback for non-array-like ES3 strings
95
96
97
98 var toIndexedObject = function (it) {
99 return indexedObject(requireObjectCoercible(it));
100 };
101
102 var isObject = function (it) {
103 return typeof it === 'object' ? it !== null : typeof it === 'function';
104 };
105
106 // `ToPrimitive` abstract operation
107 // https://tc39.github.io/ecma262/#sec-toprimitive
108 // instead of the ES6 spec version, we didn't implement @@toPrimitive case
109 // and the second argument - flag - preferred type is a string
110 var toPrimitive = function (input, PREFERRED_STRING) {
111 if (!isObject(input)) return input;
112 var fn, val;
113 if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
114 if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
115 if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
116 throw TypeError("Can't convert object to primitive value");
117 };
118
119 var hasOwnProperty = {}.hasOwnProperty;
120
121 var has = function (it, key) {
122 return hasOwnProperty.call(it, key);
123 };
124
125 var document$1 = global_1.document;
126 // typeof document.createElement is 'object' in old IE
127 var EXISTS = isObject(document$1) && isObject(document$1.createElement);
128
129 var documentCreateElement = function (it) {
130 return EXISTS ? document$1.createElement(it) : {};
131 };
132
133 // Thank's IE8 for his funny defineProperty
134 var ie8DomDefine = !descriptors && !fails(function () {
135 return Object.defineProperty(documentCreateElement('div'), 'a', {
136 get: function () { return 7; }
137 }).a != 7;
138 });
139
140 var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
141
142 // `Object.getOwnPropertyDescriptor` method
143 // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
144 var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
145 O = toIndexedObject(O);
146 P = toPrimitive(P, true);
147 if (ie8DomDefine) try {
148 return nativeGetOwnPropertyDescriptor(O, P);
149 } catch (error) { /* empty */ }
150 if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
151 };
152
153 var objectGetOwnPropertyDescriptor = {
154 f: f$1
155 };
156
157 var anObject = function (it) {
158 if (!isObject(it)) {
159 throw TypeError(String(it) + ' is not an object');
160 } return it;
161 };
162
163 var nativeDefineProperty = Object.defineProperty;
164
165 // `Object.defineProperty` method
166 // https://tc39.github.io/ecma262/#sec-object.defineproperty
167 var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
168 anObject(O);
169 P = toPrimitive(P, true);
170 anObject(Attributes);
171 if (ie8DomDefine) try {
172 return nativeDefineProperty(O, P, Attributes);
173 } catch (error) { /* empty */ }
174 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
175 if ('value' in Attributes) O[P] = Attributes.value;
176 return O;
177 };
178
179 var objectDefineProperty = {
180 f: f$2
181 };
182
183 var createNonEnumerableProperty = descriptors ? function (object, key, value) {
184 return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
185 } : function (object, key, value) {
186 object[key] = value;
187 return object;
188 };
189
190 var setGlobal = function (key, value) {
191 try {
192 createNonEnumerableProperty(global_1, key, value);
193 } catch (error) {
194 global_1[key] = value;
195 } return value;
196 };
197
198 var SHARED = '__core-js_shared__';
199 var store = global_1[SHARED] || setGlobal(SHARED, {});
200
201 var sharedStore = store;
202
203 var functionToString = Function.toString;
204
205 // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
206 if (typeof sharedStore.inspectSource != 'function') {
207 sharedStore.inspectSource = function (it) {
208 return functionToString.call(it);
209 };
210 }
211
212 var inspectSource = sharedStore.inspectSource;
213
214 var WeakMap = global_1.WeakMap;
215
216 var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
217
218 var shared = createCommonjsModule(function (module) {
219 (module.exports = function (key, value) {
220 return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
221 })('versions', []).push({
222 version: '3.8.1',
223 mode: 'global',
224 copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
225 });
226 });
227
228 var id = 0;
229 var postfix = Math.random();
230
231 var uid = function (key) {
232 return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
233 };
234
235 var keys = shared('keys');
236
237 var sharedKey = function (key) {
238 return keys[key] || (keys[key] = uid(key));
239 };
240
241 var hiddenKeys = {};
242
243 var WeakMap$1 = global_1.WeakMap;
244 var set, get, has$1;
245
246 var enforce = function (it) {
247 return has$1(it) ? get(it) : set(it, {});
248 };
249
250 var getterFor = function (TYPE) {
251 return function (it) {
252 var state;
253 if (!isObject(it) || (state = get(it)).type !== TYPE) {
254 throw TypeError('Incompatible receiver, ' + TYPE + ' required');
255 } return state;
256 };
257 };
258
259 if (nativeWeakMap) {
260 var store$1 = sharedStore.state || (sharedStore.state = new WeakMap$1());
261 var wmget = store$1.get;
262 var wmhas = store$1.has;
263 var wmset = store$1.set;
264 set = function (it, metadata) {
265 metadata.facade = it;
266 wmset.call(store$1, it, metadata);
267 return metadata;
268 };
269 get = function (it) {
270 return wmget.call(store$1, it) || {};
271 };
272 has$1 = function (it) {
273 return wmhas.call(store$1, it);
274 };
275 } else {
276 var STATE = sharedKey('state');
277 hiddenKeys[STATE] = true;
278 set = function (it, metadata) {
279 metadata.facade = it;
280 createNonEnumerableProperty(it, STATE, metadata);
281 return metadata;
282 };
283 get = function (it) {
284 return has(it, STATE) ? it[STATE] : {};
285 };
286 has$1 = function (it) {
287 return has(it, STATE);
288 };
289 }
290
291 var internalState = {
292 set: set,
293 get: get,
294 has: has$1,
295 enforce: enforce,
296 getterFor: getterFor
297 };
298
299 var redefine = createCommonjsModule(function (module) {
300 var getInternalState = internalState.get;
301 var enforceInternalState = internalState.enforce;
302 var TEMPLATE = String(String).split('String');
303
304 (module.exports = function (O, key, value, options) {
305 var unsafe = options ? !!options.unsafe : false;
306 var simple = options ? !!options.enumerable : false;
307 var noTargetGet = options ? !!options.noTargetGet : false;
308 var state;
309 if (typeof value == 'function') {
310 if (typeof key == 'string' && !has(value, 'name')) {
311 createNonEnumerableProperty(value, 'name', key);
312 }
313 state = enforceInternalState(value);
314 if (!state.source) {
315 state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
316 }
317 }
318 if (O === global_1) {
319 if (simple) O[key] = value;
320 else setGlobal(key, value);
321 return;
322 } else if (!unsafe) {
323 delete O[key];
324 } else if (!noTargetGet && O[key]) {
325 simple = true;
326 }
327 if (simple) O[key] = value;
328 else createNonEnumerableProperty(O, key, value);
329 // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
330 })(Function.prototype, 'toString', function toString() {
331 return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
332 });
333 });
334
335 var path = global_1;
336
337 var aFunction = function (variable) {
338 return typeof variable == 'function' ? variable : undefined;
339 };
340
341 var getBuiltIn = function (namespace, method) {
342 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
343 : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
344 };
345
346 var ceil = Math.ceil;
347 var floor = Math.floor;
348
349 // `ToInteger` abstract operation
350 // https://tc39.github.io/ecma262/#sec-tointeger
351 var toInteger = function (argument) {
352 return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
353 };
354
355 var min = Math.min;
356
357 // `ToLength` abstract operation
358 // https://tc39.github.io/ecma262/#sec-tolength
359 var toLength = function (argument) {
360 return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
361 };
362
363 var max = Math.max;
364 var min$1 = Math.min;
365
366 // Helper for a popular repeating case of the spec:
367 // Let integer be ? ToInteger(index).
368 // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
369 var toAbsoluteIndex = function (index, length) {
370 var integer = toInteger(index);
371 return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
372 };
373
374 // `Array.prototype.{ indexOf, includes }` methods implementation
375 var createMethod = function (IS_INCLUDES) {
376 return function ($this, el, fromIndex) {
377 var O = toIndexedObject($this);
378 var length = toLength(O.length);
379 var index = toAbsoluteIndex(fromIndex, length);
380 var value;
381 // Array#includes uses SameValueZero equality algorithm
382 // eslint-disable-next-line no-self-compare
383 if (IS_INCLUDES && el != el) while (length > index) {
384 value = O[index++];
385 // eslint-disable-next-line no-self-compare
386 if (value != value) return true;
387 // Array#indexOf ignores holes, Array#includes - not
388 } else for (;length > index; index++) {
389 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
390 } return !IS_INCLUDES && -1;
391 };
392 };
393
394 var arrayIncludes = {
395 // `Array.prototype.includes` method
396 // https://tc39.github.io/ecma262/#sec-array.prototype.includes
397 includes: createMethod(true),
398 // `Array.prototype.indexOf` method
399 // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
400 indexOf: createMethod(false)
401 };
402
403 var indexOf = arrayIncludes.indexOf;
404
405
406 var objectKeysInternal = function (object, names) {
407 var O = toIndexedObject(object);
408 var i = 0;
409 var result = [];
410 var key;
411 for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
412 // Don't enum bug & hidden keys
413 while (names.length > i) if (has(O, key = names[i++])) {
414 ~indexOf(result, key) || result.push(key);
415 }
416 return result;
417 };
418
419 // IE8- don't enum bug keys
420 var enumBugKeys = [
421 'constructor',
422 'hasOwnProperty',
423 'isPrototypeOf',
424 'propertyIsEnumerable',
425 'toLocaleString',
426 'toString',
427 'valueOf'
428 ];
429
430 var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
431
432 // `Object.getOwnPropertyNames` method
433 // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
434 var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
435 return objectKeysInternal(O, hiddenKeys$1);
436 };
437
438 var objectGetOwnPropertyNames = {
439 f: f$3
440 };
441
442 var f$4 = Object.getOwnPropertySymbols;
443
444 var objectGetOwnPropertySymbols = {
445 f: f$4
446 };
447
448 // all object keys, includes non-enumerable and symbols
449 var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
450 var keys = objectGetOwnPropertyNames.f(anObject(it));
451 var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
452 return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
453 };
454
455 var copyConstructorProperties = function (target, source) {
456 var keys = ownKeys(source);
457 var defineProperty = objectDefineProperty.f;
458 var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
459 for (var i = 0; i < keys.length; i++) {
460 var key = keys[i];
461 if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
462 }
463 };
464
465 var replacement = /#|\.prototype\./;
466
467 var isForced = function (feature, detection) {
468 var value = data[normalize(feature)];
469 return value == POLYFILL ? true
470 : value == NATIVE ? false
471 : typeof detection == 'function' ? fails(detection)
472 : !!detection;
473 };
474
475 var normalize = isForced.normalize = function (string) {
476 return String(string).replace(replacement, '.').toLowerCase();
477 };
478
479 var data = isForced.data = {};
480 var NATIVE = isForced.NATIVE = 'N';
481 var POLYFILL = isForced.POLYFILL = 'P';
482
483 var isForced_1 = isForced;
484
485 var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
486
487
488
489
490
491
492 /*
493 options.target - name of the target object
494 options.global - target is the global object
495 options.stat - export as static methods of target
496 options.proto - export as prototype methods of target
497 options.real - real prototype method for the `pure` version
498 options.forced - export even if the native feature is available
499 options.bind - bind methods to the target, required for the `pure` version
500 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
501 options.unsafe - use the simple assignment of property instead of delete + defineProperty
502 options.sham - add a flag to not completely full polyfills
503 options.enumerable - export as enumerable property
504 options.noTargetGet - prevent calling a getter on target
505 */
506 var _export = function (options, source) {
507 var TARGET = options.target;
508 var GLOBAL = options.global;
509 var STATIC = options.stat;
510 var FORCED, target, key, targetProperty, sourceProperty, descriptor;
511 if (GLOBAL) {
512 target = global_1;
513 } else if (STATIC) {
514 target = global_1[TARGET] || setGlobal(TARGET, {});
515 } else {
516 target = (global_1[TARGET] || {}).prototype;
517 }
518 if (target) for (key in source) {
519 sourceProperty = source[key];
520 if (options.noTargetGet) {
521 descriptor = getOwnPropertyDescriptor$1(target, key);
522 targetProperty = descriptor && descriptor.value;
523 } else targetProperty = target[key];
524 FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
525 // contained in target
526 if (!FORCED && targetProperty !== undefined) {
527 if (typeof sourceProperty === typeof targetProperty) continue;
528 copyConstructorProperties(sourceProperty, targetProperty);
529 }
530 // add a flag to not completely full polyfills
531 if (options.sham || (targetProperty && targetProperty.sham)) {
532 createNonEnumerableProperty(sourceProperty, 'sham', true);
533 }
534 // extend global
535 redefine(target, key, sourceProperty, options);
536 }
537 };
538
539 // `IsArray` abstract operation
540 // https://tc39.github.io/ecma262/#sec-isarray
541 var isArray = Array.isArray || function isArray(arg) {
542 return classofRaw(arg) == 'Array';
543 };
544
545 // `ToObject` abstract operation
546 // https://tc39.github.io/ecma262/#sec-toobject
547 var toObject = function (argument) {
548 return Object(requireObjectCoercible(argument));
549 };
550
551 var createProperty = function (object, key, value) {
552 var propertyKey = toPrimitive(key);
553 if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
554 else object[propertyKey] = value;
555 };
556
557 var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
558 // Chrome 38 Symbol has incorrect toString conversion
559 // eslint-disable-next-line no-undef
560 return !String(Symbol());
561 });
562
563 var useSymbolAsUid = nativeSymbol
564 // eslint-disable-next-line no-undef
565 && !Symbol.sham
566 // eslint-disable-next-line no-undef
567 && typeof Symbol.iterator == 'symbol';
568
569 var WellKnownSymbolsStore = shared('wks');
570 var Symbol$1 = global_1.Symbol;
571 var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
572
573 var wellKnownSymbol = function (name) {
574 if (!has(WellKnownSymbolsStore, name)) {
575 if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
576 else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
577 } return WellKnownSymbolsStore[name];
578 };
579
580 var SPECIES = wellKnownSymbol('species');
581
582 // `ArraySpeciesCreate` abstract operation
583 // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
584 var arraySpeciesCreate = function (originalArray, length) {
585 var C;
586 if (isArray(originalArray)) {
587 C = originalArray.constructor;
588 // cross-realm fallback
589 if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
590 else if (isObject(C)) {
591 C = C[SPECIES];
592 if (C === null) C = undefined;
593 }
594 } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
595 };
596
597 var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
598
599 var process = global_1.process;
600 var versions = process && process.versions;
601 var v8 = versions && versions.v8;
602 var match, version;
603
604 if (v8) {
605 match = v8.split('.');
606 version = match[0] + match[1];
607 } else if (engineUserAgent) {
608 match = engineUserAgent.match(/Edge\/(\d+)/);
609 if (!match || match[1] >= 74) {
610 match = engineUserAgent.match(/Chrome\/(\d+)/);
611 if (match) version = match[1];
612 }
613 }
614
615 var engineV8Version = version && +version;
616
617 var SPECIES$1 = wellKnownSymbol('species');
618
619 var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
620 // We can't use this feature detection in V8 since it causes
621 // deoptimization and serious performance degradation
622 // https://github.com/zloirock/core-js/issues/677
623 return engineV8Version >= 51 || !fails(function () {
624 var array = [];
625 var constructor = array.constructor = {};
626 constructor[SPECIES$1] = function () {
627 return { foo: 1 };
628 };
629 return array[METHOD_NAME](Boolean).foo !== 1;
630 });
631 };
632
633 var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
634 var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
635 var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
636
637 // We can't use this feature detection in V8 since it causes
638 // deoptimization and serious performance degradation
639 // https://github.com/zloirock/core-js/issues/679
640 var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
641 var array = [];
642 array[IS_CONCAT_SPREADABLE] = false;
643 return array.concat()[0] !== array;
644 });
645
646 var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
647
648 var isConcatSpreadable = function (O) {
649 if (!isObject(O)) return false;
650 var spreadable = O[IS_CONCAT_SPREADABLE];
651 return spreadable !== undefined ? !!spreadable : isArray(O);
652 };
653
654 var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
655
656 // `Array.prototype.concat` method
657 // https://tc39.github.io/ecma262/#sec-array.prototype.concat
658 // with adding support of @@isConcatSpreadable and @@species
659 _export({ target: 'Array', proto: true, forced: FORCED }, {
660 concat: function concat(arg) { // eslint-disable-line no-unused-vars
661 var O = toObject(this);
662 var A = arraySpeciesCreate(O, 0);
663 var n = 0;
664 var i, k, length, len, E;
665 for (i = -1, length = arguments.length; i < length; i++) {
666 E = i === -1 ? O : arguments[i];
667 if (isConcatSpreadable(E)) {
668 len = toLength(E.length);
669 if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
670 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
671 } else {
672 if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
673 createProperty(A, n++, E);
674 }
675 }
676 A.length = n;
677 return A;
678 }
679 });
680
681 var aFunction$1 = function (it) {
682 if (typeof it != 'function') {
683 throw TypeError(String(it) + ' is not a function');
684 } return it;
685 };
686
687 // optional / simple context binding
688 var functionBindContext = function (fn, that, length) {
689 aFunction$1(fn);
690 if (that === undefined) return fn;
691 switch (length) {
692 case 0: return function () {
693 return fn.call(that);
694 };
695 case 1: return function (a) {
696 return fn.call(that, a);
697 };
698 case 2: return function (a, b) {
699 return fn.call(that, a, b);
700 };
701 case 3: return function (a, b, c) {
702 return fn.call(that, a, b, c);
703 };
704 }
705 return function (/* ...args */) {
706 return fn.apply(that, arguments);
707 };
708 };
709
710 var push = [].push;
711
712 // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
713 var createMethod$1 = function (TYPE) {
714 var IS_MAP = TYPE == 1;
715 var IS_FILTER = TYPE == 2;
716 var IS_SOME = TYPE == 3;
717 var IS_EVERY = TYPE == 4;
718 var IS_FIND_INDEX = TYPE == 6;
719 var IS_FILTER_OUT = TYPE == 7;
720 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
721 return function ($this, callbackfn, that, specificCreate) {
722 var O = toObject($this);
723 var self = indexedObject(O);
724 var boundFunction = functionBindContext(callbackfn, that, 3);
725 var length = toLength(self.length);
726 var index = 0;
727 var create = specificCreate || arraySpeciesCreate;
728 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
729 var value, result;
730 for (;length > index; index++) if (NO_HOLES || index in self) {
731 value = self[index];
732 result = boundFunction(value, index, O);
733 if (TYPE) {
734 if (IS_MAP) target[index] = result; // map
735 else if (result) switch (TYPE) {
736 case 3: return true; // some
737 case 5: return value; // find
738 case 6: return index; // findIndex
739 case 2: push.call(target, value); // filter
740 } else switch (TYPE) {
741 case 4: return false; // every
742 case 7: push.call(target, value); // filterOut
743 }
744 }
745 }
746 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
747 };
748 };
749
750 var arrayIteration = {
751 // `Array.prototype.forEach` method
752 // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
753 forEach: createMethod$1(0),
754 // `Array.prototype.map` method
755 // https://tc39.github.io/ecma262/#sec-array.prototype.map
756 map: createMethod$1(1),
757 // `Array.prototype.filter` method
758 // https://tc39.github.io/ecma262/#sec-array.prototype.filter
759 filter: createMethod$1(2),
760 // `Array.prototype.some` method
761 // https://tc39.github.io/ecma262/#sec-array.prototype.some
762 some: createMethod$1(3),
763 // `Array.prototype.every` method
764 // https://tc39.github.io/ecma262/#sec-array.prototype.every
765 every: createMethod$1(4),
766 // `Array.prototype.find` method
767 // https://tc39.github.io/ecma262/#sec-array.prototype.find
768 find: createMethod$1(5),
769 // `Array.prototype.findIndex` method
770 // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
771 findIndex: createMethod$1(6),
772 // `Array.prototype.filterOut` method
773 // https://github.com/tc39/proposal-array-filtering
774 filterOut: createMethod$1(7)
775 };
776
777 var defineProperty = Object.defineProperty;
778 var cache = {};
779
780 var thrower = function (it) { throw it; };
781
782 var arrayMethodUsesToLength = function (METHOD_NAME, options) {
783 if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
784 if (!options) options = {};
785 var method = [][METHOD_NAME];
786 var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
787 var argument0 = has(options, 0) ? options[0] : thrower;
788 var argument1 = has(options, 1) ? options[1] : undefined;
789
790 return cache[METHOD_NAME] = !!method && !fails(function () {
791 if (ACCESSORS && !descriptors) return true;
792 var O = { length: -1 };
793
794 if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });
795 else O[1] = 1;
796
797 method.call(O, argument0, argument1);
798 });
799 };
800
801 var $filter = arrayIteration.filter;
802
803
804
805 var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
806 // Edge 14- issue
807 var USES_TO_LENGTH = arrayMethodUsesToLength('filter');
808
809 // `Array.prototype.filter` method
810 // https://tc39.github.io/ecma262/#sec-array.prototype.filter
811 // with adding support of @@species
812 _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
813 filter: function filter(callbackfn /* , thisArg */) {
814 return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
815 }
816 });
817
818 // `Object.keys` method
819 // https://tc39.github.io/ecma262/#sec-object.keys
820 var objectKeys = Object.keys || function keys(O) {
821 return objectKeysInternal(O, enumBugKeys);
822 };
823
824 // `Object.defineProperties` method
825 // https://tc39.github.io/ecma262/#sec-object.defineproperties
826 var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
827 anObject(O);
828 var keys = objectKeys(Properties);
829 var length = keys.length;
830 var index = 0;
831 var key;
832 while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
833 return O;
834 };
835
836 var html = getBuiltIn('document', 'documentElement');
837
838 var GT = '>';
839 var LT = '<';
840 var PROTOTYPE = 'prototype';
841 var SCRIPT = 'script';
842 var IE_PROTO = sharedKey('IE_PROTO');
843
844 var EmptyConstructor = function () { /* empty */ };
845
846 var scriptTag = function (content) {
847 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
848 };
849
850 // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
851 var NullProtoObjectViaActiveX = function (activeXDocument) {
852 activeXDocument.write(scriptTag(''));
853 activeXDocument.close();
854 var temp = activeXDocument.parentWindow.Object;
855 activeXDocument = null; // avoid memory leak
856 return temp;
857 };
858
859 // Create object with fake `null` prototype: use iframe Object with cleared prototype
860 var NullProtoObjectViaIFrame = function () {
861 // Thrash, waste and sodomy: IE GC bug
862 var iframe = documentCreateElement('iframe');
863 var JS = 'java' + SCRIPT + ':';
864 var iframeDocument;
865 iframe.style.display = 'none';
866 html.appendChild(iframe);
867 // https://github.com/zloirock/core-js/issues/475
868 iframe.src = String(JS);
869 iframeDocument = iframe.contentWindow.document;
870 iframeDocument.open();
871 iframeDocument.write(scriptTag('document.F=Object'));
872 iframeDocument.close();
873 return iframeDocument.F;
874 };
875
876 // Check for document.domain and active x support
877 // No need to use active x approach when document.domain is not set
878 // see https://github.com/es-shims/es5-shim/issues/150
879 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
880 // avoid IE GC bug
881 var activeXDocument;
882 var NullProtoObject = function () {
883 try {
884 /* global ActiveXObject */
885 activeXDocument = document.domain && new ActiveXObject('htmlfile');
886 } catch (error) { /* ignore */ }
887 NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
888 var length = enumBugKeys.length;
889 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
890 return NullProtoObject();
891 };
892
893 hiddenKeys[IE_PROTO] = true;
894
895 // `Object.create` method
896 // https://tc39.github.io/ecma262/#sec-object.create
897 var objectCreate = Object.create || function create(O, Properties) {
898 var result;
899 if (O !== null) {
900 EmptyConstructor[PROTOTYPE] = anObject(O);
901 result = new EmptyConstructor();
902 EmptyConstructor[PROTOTYPE] = null;
903 // add "__proto__" for Object.getPrototypeOf polyfill
904 result[IE_PROTO] = O;
905 } else result = NullProtoObject();
906 return Properties === undefined ? result : objectDefineProperties(result, Properties);
907 };
908
909 var UNSCOPABLES = wellKnownSymbol('unscopables');
910 var ArrayPrototype = Array.prototype;
911
912 // Array.prototype[@@unscopables]
913 // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
914 if (ArrayPrototype[UNSCOPABLES] == undefined) {
915 objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
916 configurable: true,
917 value: objectCreate(null)
918 });
919 }
920
921 // add a key to Array.prototype[@@unscopables]
922 var addToUnscopables = function (key) {
923 ArrayPrototype[UNSCOPABLES][key] = true;
924 };
925
926 var $find = arrayIteration.find;
927
928
929
930 var FIND = 'find';
931 var SKIPS_HOLES = true;
932
933 var USES_TO_LENGTH$1 = arrayMethodUsesToLength(FIND);
934
935 // Shouldn't skip holes
936 if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
937
938 // `Array.prototype.find` method
939 // https://tc39.github.io/ecma262/#sec-array.prototype.find
940 _export({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH$1 }, {
941 find: function find(callbackfn /* , that = undefined */) {
942 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
943 }
944 });
945
946 // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
947 addToUnscopables(FIND);
948
949 // `FlattenIntoArray` abstract operation
950 // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
951 var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
952 var targetIndex = start;
953 var sourceIndex = 0;
954 var mapFn = mapper ? functionBindContext(mapper, thisArg, 3) : false;
955 var element;
956
957 while (sourceIndex < sourceLen) {
958 if (sourceIndex in source) {
959 element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
960
961 if (depth > 0 && isArray(element)) {
962 targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
963 } else {
964 if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');
965 target[targetIndex] = element;
966 }
967
968 targetIndex++;
969 }
970 sourceIndex++;
971 }
972 return targetIndex;
973 };
974
975 var flattenIntoArray_1 = flattenIntoArray;
976
977 // `Array.prototype.flat` method
978 // https://github.com/tc39/proposal-flatMap
979 _export({ target: 'Array', proto: true }, {
980 flat: function flat(/* depthArg = 1 */) {
981 var depthArg = arguments.length ? arguments[0] : undefined;
982 var O = toObject(this);
983 var sourceLen = toLength(O.length);
984 var A = arraySpeciesCreate(O, 0);
985 A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
986 return A;
987 }
988 });
989
990 var $includes = arrayIncludes.includes;
991
992
993
994 var USES_TO_LENGTH$2 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
995
996 // `Array.prototype.includes` method
997 // https://tc39.github.io/ecma262/#sec-array.prototype.includes
998 _export({ target: 'Array', proto: true, forced: !USES_TO_LENGTH$2 }, {
999 includes: function includes(el /* , fromIndex = 0 */) {
1000 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
1001 }
1002 });
1003
1004 // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
1005 addToUnscopables('includes');
1006
1007 var arrayMethodIsStrict = function (METHOD_NAME, argument) {
1008 var method = [][METHOD_NAME];
1009 return !!method && fails(function () {
1010 // eslint-disable-next-line no-useless-call,no-throw-literal
1011 method.call(null, argument || function () { throw 1; }, 1);
1012 });
1013 };
1014
1015 var $indexOf = arrayIncludes.indexOf;
1016
1017
1018
1019 var nativeIndexOf = [].indexOf;
1020
1021 var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
1022 var STRICT_METHOD = arrayMethodIsStrict('indexOf');
1023 var USES_TO_LENGTH$3 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
1024
1025 // `Array.prototype.indexOf` method
1026 // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
1027 _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH$3 }, {
1028 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
1029 return NEGATIVE_ZERO
1030 // convert -0 to +0
1031 ? nativeIndexOf.apply(this, arguments) || 0
1032 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
1033 }
1034 });
1035
1036 var nativeJoin = [].join;
1037
1038 var ES3_STRINGS = indexedObject != Object;
1039 var STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');
1040
1041 // `Array.prototype.join` method
1042 // https://tc39.github.io/ecma262/#sec-array.prototype.join
1043 _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {
1044 join: function join(separator) {
1045 return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
1046 }
1047 });
1048
1049 var $map = arrayIteration.map;
1050
1051
1052
1053 var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');
1054 // FF49- issue
1055 var USES_TO_LENGTH$4 = arrayMethodUsesToLength('map');
1056
1057 // `Array.prototype.map` method
1058 // https://tc39.github.io/ecma262/#sec-array.prototype.map
1059 // with adding support of @@species
1060 _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 || !USES_TO_LENGTH$4 }, {
1061 map: function map(callbackfn /* , thisArg */) {
1062 return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1063 }
1064 });
1065
1066 var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport('slice');
1067 var USES_TO_LENGTH$5 = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });
1068
1069 var SPECIES$2 = wellKnownSymbol('species');
1070 var nativeSlice = [].slice;
1071 var max$1 = Math.max;
1072
1073 // `Array.prototype.slice` method
1074 // https://tc39.github.io/ecma262/#sec-array.prototype.slice
1075 // fallback for not array-like ES3 strings and DOM objects
1076 _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 || !USES_TO_LENGTH$5 }, {
1077 slice: function slice(start, end) {
1078 var O = toIndexedObject(this);
1079 var length = toLength(O.length);
1080 var k = toAbsoluteIndex(start, length);
1081 var fin = toAbsoluteIndex(end === undefined ? length : end, length);
1082 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
1083 var Constructor, result, n;
1084 if (isArray(O)) {
1085 Constructor = O.constructor;
1086 // cross-realm fallback
1087 if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
1088 Constructor = undefined;
1089 } else if (isObject(Constructor)) {
1090 Constructor = Constructor[SPECIES$2];
1091 if (Constructor === null) Constructor = undefined;
1092 }
1093 if (Constructor === Array || Constructor === undefined) {
1094 return nativeSlice.call(O, k, fin);
1095 }
1096 }
1097 result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
1098 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
1099 result.length = n;
1100 return result;
1101 }
1102 });
1103
1104 var test = [];
1105 var nativeSort = test.sort;
1106
1107 // IE8-
1108 var FAILS_ON_UNDEFINED = fails(function () {
1109 test.sort(undefined);
1110 });
1111 // V8 bug
1112 var FAILS_ON_NULL = fails(function () {
1113 test.sort(null);
1114 });
1115 // Old WebKit
1116 var STRICT_METHOD$2 = arrayMethodIsStrict('sort');
1117
1118 var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$2;
1119
1120 // `Array.prototype.sort` method
1121 // https://tc39.github.io/ecma262/#sec-array.prototype.sort
1122 _export({ target: 'Array', proto: true, forced: FORCED$1 }, {
1123 sort: function sort(comparefn) {
1124 return comparefn === undefined
1125 ? nativeSort.call(toObject(this))
1126 : nativeSort.call(toObject(this), aFunction$1(comparefn));
1127 }
1128 });
1129
1130 // this method was added to unscopables after implementation
1131 // in popular engines, so it's moved to a separate module
1132
1133
1134 addToUnscopables('flat');
1135
1136 var nativeAssign = Object.assign;
1137 var defineProperty$1 = Object.defineProperty;
1138
1139 // `Object.assign` method
1140 // https://tc39.github.io/ecma262/#sec-object.assign
1141 var objectAssign = !nativeAssign || fails(function () {
1142 // should have correct order of operations (Edge bug)
1143 if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$1({}, 'a', {
1144 enumerable: true,
1145 get: function () {
1146 defineProperty$1(this, 'b', {
1147 value: 3,
1148 enumerable: false
1149 });
1150 }
1151 }), { b: 2 })).b !== 1) return true;
1152 // should work with symbols and should have deterministic property order (V8 bug)
1153 var A = {};
1154 var B = {};
1155 // eslint-disable-next-line no-undef
1156 var symbol = Symbol();
1157 var alphabet = 'abcdefghijklmnopqrst';
1158 A[symbol] = 7;
1159 alphabet.split('').forEach(function (chr) { B[chr] = chr; });
1160 return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
1161 }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
1162 var T = toObject(target);
1163 var argumentsLength = arguments.length;
1164 var index = 1;
1165 var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
1166 var propertyIsEnumerable = objectPropertyIsEnumerable.f;
1167 while (argumentsLength > index) {
1168 var S = indexedObject(arguments[index++]);
1169 var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
1170 var length = keys.length;
1171 var j = 0;
1172 var key;
1173 while (length > j) {
1174 key = keys[j++];
1175 if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
1176 }
1177 } return T;
1178 } : nativeAssign;
1179
1180 // `Object.assign` method
1181 // https://tc39.github.io/ecma262/#sec-object.assign
1182 _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
1183 assign: objectAssign
1184 });
1185
1186 function _classCallCheck(instance, Constructor) {
1187 if (!(instance instanceof Constructor)) {
1188 throw new TypeError("Cannot call a class as a function");
1189 }
1190 }
1191
1192 function _defineProperties(target, props) {
1193 for (var i = 0; i < props.length; i++) {
1194 var descriptor = props[i];
1195 descriptor.enumerable = descriptor.enumerable || false;
1196 descriptor.configurable = true;
1197 if ("value" in descriptor) descriptor.writable = true;
1198 Object.defineProperty(target, descriptor.key, descriptor);
1199 }
1200 }
1201
1202 function _createClass(Constructor, protoProps, staticProps) {
1203 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1204 if (staticProps) _defineProperties(Constructor, staticProps);
1205 return Constructor;
1206 }
1207
1208 function _inherits(subClass, superClass) {
1209 if (typeof superClass !== "function" && superClass !== null) {
1210 throw new TypeError("Super expression must either be null or a function");
1211 }
1212
1213 subClass.prototype = Object.create(superClass && superClass.prototype, {
1214 constructor: {
1215 value: subClass,
1216 writable: true,
1217 configurable: true
1218 }
1219 });
1220 if (superClass) _setPrototypeOf(subClass, superClass);
1221 }
1222
1223 function _getPrototypeOf(o) {
1224 _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1225 return o.__proto__ || Object.getPrototypeOf(o);
1226 };
1227 return _getPrototypeOf(o);
1228 }
1229
1230 function _setPrototypeOf(o, p) {
1231 _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1232 o.__proto__ = p;
1233 return o;
1234 };
1235
1236 return _setPrototypeOf(o, p);
1237 }
1238
1239 function _isNativeReflectConstruct() {
1240 if (typeof Reflect === "undefined" || !Reflect.construct) return false;
1241 if (Reflect.construct.sham) return false;
1242 if (typeof Proxy === "function") return true;
1243
1244 try {
1245 Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
1246 return true;
1247 } catch (e) {
1248 return false;
1249 }
1250 }
1251
1252 function _assertThisInitialized(self) {
1253 if (self === void 0) {
1254 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1255 }
1256
1257 return self;
1258 }
1259
1260 function _possibleConstructorReturn(self, call) {
1261 if (call && (typeof call === "object" || typeof call === "function")) {
1262 return call;
1263 }
1264
1265 return _assertThisInitialized(self);
1266 }
1267
1268 function _createSuper(Derived) {
1269 var hasNativeReflectConstruct = _isNativeReflectConstruct();
1270
1271 return function _createSuperInternal() {
1272 var Super = _getPrototypeOf(Derived),
1273 result;
1274
1275 if (hasNativeReflectConstruct) {
1276 var NewTarget = _getPrototypeOf(this).constructor;
1277
1278 result = Reflect.construct(Super, arguments, NewTarget);
1279 } else {
1280 result = Super.apply(this, arguments);
1281 }
1282
1283 return _possibleConstructorReturn(this, result);
1284 };
1285 }
1286
1287 function _superPropBase(object, property) {
1288 while (!Object.prototype.hasOwnProperty.call(object, property)) {
1289 object = _getPrototypeOf(object);
1290 if (object === null) break;
1291 }
1292
1293 return object;
1294 }
1295
1296 function _get(target, property, receiver) {
1297 if (typeof Reflect !== "undefined" && Reflect.get) {
1298 _get = Reflect.get;
1299 } else {
1300 _get = function _get(target, property, receiver) {
1301 var base = _superPropBase(target, property);
1302
1303 if (!base) return;
1304 var desc = Object.getOwnPropertyDescriptor(base, property);
1305
1306 if (desc.get) {
1307 return desc.get.call(receiver);
1308 }
1309
1310 return desc.value;
1311 };
1312 }
1313
1314 return _get(target, property, receiver || target);
1315 }
1316
1317 function _unsupportedIterableToArray(o, minLen) {
1318 if (!o) return;
1319 if (typeof o === "string") return _arrayLikeToArray(o, minLen);
1320 var n = Object.prototype.toString.call(o).slice(8, -1);
1321 if (n === "Object" && o.constructor) n = o.constructor.name;
1322 if (n === "Map" || n === "Set") return Array.from(o);
1323 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
1324 }
1325
1326 function _arrayLikeToArray(arr, len) {
1327 if (len == null || len > arr.length) len = arr.length;
1328
1329 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
1330
1331 return arr2;
1332 }
1333
1334 function _createForOfIteratorHelper(o, allowArrayLike) {
1335 var it;
1336
1337 if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
1338 if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
1339 if (it) o = it;
1340 var i = 0;
1341
1342 var F = function () {};
1343
1344 return {
1345 s: F,
1346 n: function () {
1347 if (i >= o.length) return {
1348 done: true
1349 };
1350 return {
1351 done: false,
1352 value: o[i++]
1353 };
1354 },
1355 e: function (e) {
1356 throw e;
1357 },
1358 f: F
1359 };
1360 }
1361
1362 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1363 }
1364
1365 var normalCompletion = true,
1366 didErr = false,
1367 err;
1368 return {
1369 s: function () {
1370 it = o[Symbol.iterator]();
1371 },
1372 n: function () {
1373 var step = it.next();
1374 normalCompletion = step.done;
1375 return step;
1376 },
1377 e: function (e) {
1378 didErr = true;
1379 err = e;
1380 },
1381 f: function () {
1382 try {
1383 if (!normalCompletion && it.return != null) it.return();
1384 } finally {
1385 if (didErr) throw err;
1386 }
1387 }
1388 };
1389 }
1390
1391 /**
1392 * @update zhixin wen <wenzhixin2010@gmail.com>
1393 */
1394
1395 var Utils = $__default['default'].fn.bootstrapTable.utils;
1396
1397 function printPageBuilderDefault(table) {
1398 return "\n <html>\n <head>\n <style type=\"text/css\" media=\"print\">\n @page {\n size: auto;\n margin: 25px 0 25px 0;\n }\n </style>\n <style type=\"text/css\" media=\"all\">\n table {\n border-collapse: collapse;\n font-size: 12px;\n }\n table, th, td {\n border: 1px solid grey;\n }\n th, td {\n text-align: center;\n vertical-align: middle;\n }\n p {\n font-weight: bold;\n margin-left:20px;\n }\n table {\n width:94%;\n margin-left:3%;\n margin-right:3%;\n }\n div.bs-table-print {\n text-align:center;\n }\n </style>\n </head>\n <title>Print Table</title>\n <body>\n <p>Printed on: ".concat(new Date(), " </p>\n <div class=\"bs-table-print\">").concat(table, "</div>\n </body>\n </html>");
1399 }
1400
1401 $__default['default'].extend($__default['default'].fn.bootstrapTable.locales, {
1402 formatPrint: function formatPrint() {
1403 return 'Print';
1404 }
1405 });
1406 $__default['default'].extend($__default['default'].fn.bootstrapTable.defaults, $__default['default'].fn.bootstrapTable.locales);
1407 $__default['default'].extend($__default['default'].fn.bootstrapTable.defaults, {
1408 showPrint: false,
1409 printAsFilteredAndSortedOnUI: true,
1410 printSortColumn: undefined,
1411 printSortOrder: 'asc',
1412 printPageBuilder: function printPageBuilder(table) {
1413 return printPageBuilderDefault(table);
1414 }
1415 });
1416 $__default['default'].extend($__default['default'].fn.bootstrapTable.COLUMN_DEFAULTS, {
1417 printFilter: undefined,
1418 printIgnore: false,
1419 printFormatter: undefined
1420 });
1421 $__default['default'].extend($__default['default'].fn.bootstrapTable.defaults.icons, {
1422 print: {
1423 bootstrap3: 'glyphicon-print icon-share',
1424 'bootstrap-table': 'icon-printer'
1425 }[$__default['default'].fn.bootstrapTable.theme] || 'fa-print'
1426 });
1427
1428 $__default['default'].BootstrapTable = /*#__PURE__*/function (_$$BootstrapTable) {
1429 _inherits(_class, _$$BootstrapTable);
1430
1431 var _super = _createSuper(_class);
1432
1433 function _class() {
1434 _classCallCheck(this, _class);
1435
1436 return _super.apply(this, arguments);
1437 }
1438
1439 _createClass(_class, [{
1440 key: "init",
1441 value: function init() {
1442 var _get2;
1443
1444 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1445 args[_key] = arguments[_key];
1446 }
1447
1448 (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
1449
1450 if (!this.options.showPrint) {
1451 return;
1452 }
1453
1454 this.mergedCells = [];
1455 }
1456 }, {
1457 key: "initToolbar",
1458 value: function initToolbar() {
1459 var _this = this,
1460 _get3;
1461
1462 this.showToolbar = this.showToolbar || this.options.showPrint;
1463
1464 if (this.options.showPrint) {
1465 this.buttons = Object.assign(this.buttons, {
1466 print: {
1467 text: this.options.formatPrint(),
1468 icon: this.options.icons.print,
1469 event: function event() {
1470 _this.doPrint(_this.options.printAsFilteredAndSortedOnUI ? _this.getData() : _this.options.data.slice(0));
1471 },
1472 attributes: {
1473 'aria-label': this.options.formatPrint(),
1474 title: this.options.formatPrint()
1475 }
1476 }
1477 });
1478 }
1479
1480 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1481 args[_key2] = arguments[_key2];
1482 }
1483
1484 (_get3 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get3, [this].concat(args));
1485 }
1486 }, {
1487 key: "mergeCells",
1488 value: function mergeCells(options) {
1489 _get(_getPrototypeOf(_class.prototype), "mergeCells", this).call(this, options);
1490
1491 if (!this.options.showPrint) {
1492 return;
1493 }
1494
1495 var col = this.getVisibleFields().indexOf(options.field);
1496
1497 if (Utils.hasDetailViewIcon(this.options)) {
1498 col += 1;
1499 }
1500
1501 this.mergedCells.push({
1502 row: options.index,
1503 col: col,
1504 rowspan: options.rowspan || 1,
1505 colspan: options.colspan || 1
1506 });
1507 }
1508 }, {
1509 key: "doPrint",
1510 value: function doPrint(data) {
1511 var _this2 = this;
1512
1513 var formatValue = function formatValue(row, i, column) {
1514 var value = Utils.calculateObjectValue(column, column.printFormatter, [row[column.field], row, i], row[column.field]);
1515 return typeof value === 'undefined' || value === null ? _this2.options.undefinedText : value;
1516 };
1517
1518 var buildTable = function buildTable(data, columnsArray) {
1519 var dir = _this2.$el.attr('dir') || 'ltr';
1520 var html = ["<table dir=\"".concat(dir, "\"><thead>")];
1521
1522 var _iterator = _createForOfIteratorHelper(columnsArray),
1523 _step;
1524
1525 try {
1526 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1527 var _columns2 = _step.value;
1528 html.push('<tr>');
1529
1530 for (var _h = 0; _h < _columns2.length; _h++) {
1531 if (!_columns2[_h].printIgnore) {
1532 html.push("<th\n ".concat(Utils.sprintf(' rowspan="%s"', _columns2[_h].rowspan), "\n ").concat(Utils.sprintf(' colspan="%s"', _columns2[_h].colspan), "\n >").concat(_columns2[_h].title, "</th>"));
1533 }
1534 }
1535
1536 html.push('</tr>');
1537 }
1538 } catch (err) {
1539 _iterator.e(err);
1540 } finally {
1541 _iterator.f();
1542 }
1543
1544 html.push('</thead><tbody>');
1545 var dontRender = [];
1546
1547 if (_this2.mergedCells) {
1548 for (var mc = 0; mc < _this2.mergedCells.length; mc++) {
1549 var currentMergedCell = _this2.mergedCells[mc];
1550
1551 for (var rs = 0; rs < currentMergedCell.rowspan; rs++) {
1552 var row = currentMergedCell.row + rs;
1553
1554 for (var cs = 0; cs < currentMergedCell.colspan; cs++) {
1555 var col = currentMergedCell.col + cs;
1556 dontRender.push("".concat(row, ",").concat(col));
1557 }
1558 }
1559 }
1560 }
1561
1562 for (var i = 0; i < data.length; i++) {
1563 html.push('<tr>');
1564 var columns = columnsArray.flat(1);
1565 columns.sort(function (c1, c2) {
1566 return c1.colspanIndex - c2.colspanIndex;
1567 });
1568
1569 for (var j = 0; j < columns.length; j++) {
1570 if (columns[j].colspanGroup > 0) continue;
1571 var rowspan = 0;
1572 var colspan = 0;
1573
1574 if (_this2.mergedCells) {
1575 for (var _mc = 0; _mc < _this2.mergedCells.length; _mc++) {
1576 var _currentMergedCell = _this2.mergedCells[_mc];
1577
1578 if (_currentMergedCell.col === j && _currentMergedCell.row === i) {
1579 rowspan = _currentMergedCell.rowspan;
1580 colspan = _currentMergedCell.colspan;
1581 }
1582 }
1583 }
1584
1585 if (!columns[j].printIgnore && columns[j].field && (!dontRender.includes("".concat(i, ",").concat(j)) || rowspan > 0 && colspan > 0)) {
1586 if (rowspan > 0 && colspan > 0) {
1587 html.push("<td ".concat(Utils.sprintf(' rowspan="%s"', rowspan), " ").concat(Utils.sprintf(' colspan="%s"', colspan), ">"), formatValue(data[i], i, columns[j]), '</td>');
1588 } else {
1589 html.push('<td>', formatValue(data[i], i, columns[j]), '</td>');
1590 }
1591 }
1592 }
1593
1594 html.push('</tr>');
1595 }
1596
1597 html.push('</tbody>');
1598
1599 if (_this2.options.showFooter) {
1600 html.push('<footer><tr>');
1601
1602 var _iterator2 = _createForOfIteratorHelper(columnsArray),
1603 _step2;
1604
1605 try {
1606 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1607 var _columns = _step2.value;
1608
1609 for (var h = 0; h < _columns.length; h++) {
1610 if (!_columns[h].printIgnore) {
1611 var footerData = Utils.trToData(_columns, _this2.$el.find('>tfoot>tr'));
1612 var footerValue = Utils.calculateObjectValue(_columns[h], _columns[h].footerFormatter, [data], footerData[0] && footerData[0][_columns[h].field] || '');
1613 html.push("<th>".concat(footerValue, "</th>"));
1614 }
1615 }
1616 }
1617 } catch (err) {
1618 _iterator2.e(err);
1619 } finally {
1620 _iterator2.f();
1621 }
1622
1623 html.push('</tr></footer>');
1624 }
1625
1626 html.push('</table>');
1627 return html.join('');
1628 };
1629
1630 var sortRows = function sortRows(data, colName, sortOrder) {
1631 if (!colName) {
1632 return data;
1633 }
1634
1635 var reverse = sortOrder !== 'asc';
1636 reverse = -(+reverse || -1);
1637 return data.sort(function (a, b) {
1638 return reverse * a[colName].localeCompare(b[colName]);
1639 });
1640 };
1641
1642 var filterRow = function filterRow(row, filters) {
1643 for (var index = 0; index < filters.length; ++index) {
1644 if (row[filters[index].colName] !== filters[index].value) {
1645 return false;
1646 }
1647 }
1648
1649 return true;
1650 };
1651
1652 var filterRows = function filterRows(data, filters) {
1653 return data.filter(function (row) {
1654 return filterRow(row, filters);
1655 });
1656 };
1657
1658 var getColumnFilters = function getColumnFilters(columns) {
1659 return !columns || !columns[0] ? [] : columns[0].filter(function (col) {
1660 return col.printFilter;
1661 }).map(function (col) {
1662 return {
1663 colName: col.field,
1664 value: col.printFilter
1665 };
1666 });
1667 };
1668
1669 data = filterRows(data, getColumnFilters(this.options.columns));
1670 data = sortRows(data, this.options.printSortColumn, this.options.printSortOrder);
1671 var table = buildTable(data, this.options.columns);
1672 var newWin = window.open('');
1673 newWin.document.write(this.options.printPageBuilder.call(this, table));
1674 newWin.document.close();
1675 newWin.focus();
1676 newWin.print();
1677 newWin.close();
1678 }
1679 }]);
1680
1681 return _class;
1682 }($__default['default'].BootstrapTable);
1683
1684})));