bootstrap-table-rails 1.18.2 → 1.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bootstrap-table-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +151 -144
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +453 -552
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +1378 -1479
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +3 -2
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +7404 -7422
  8. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1774 -1758
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +1206 -1213
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +2541 -2567
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +1232 -1252
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +1251 -1272
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +864 -857
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +1899 -1915
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +2227 -2251
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +3135 -3163
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/utils.js +2429 -2457
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +1605 -1627
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +1599 -1631
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +1 -1
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +1461 -1477
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +1290 -1318
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +1787 -1814
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +1118 -1137
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +283 -307
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +1641 -1679
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +1472 -1495
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +1035 -1055
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +914 -907
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +1246 -1236
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +2032 -2056
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +1186 -1206
  33. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +109 -102
  34. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +109 -102
  35. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +109 -102
  36. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +109 -102
  37. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +109 -102
  38. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +109 -102
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +109 -102
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +109 -102
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +109 -102
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +109 -102
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +109 -102
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +109 -102
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +109 -102
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +109 -102
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +109 -102
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +109 -102
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +109 -102
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +109 -102
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +128 -121
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +109 -102
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +109 -102
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +109 -102
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +109 -102
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +109 -102
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +109 -102
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +109 -102
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +109 -102
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +109 -102
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +109 -102
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +109 -102
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +109 -102
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +109 -102
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +109 -102
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +109 -102
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +109 -102
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +109 -102
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +109 -102
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +109 -102
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +132 -125
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +109 -102
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +109 -102
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +109 -102
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +109 -102
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +109 -102
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +109 -102
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +109 -102
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +109 -102
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +109 -102
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +109 -102
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +109 -102
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +109 -102
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +109 -102
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +109 -102
  86. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +2 -1
  87. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.js +1119 -1123
  88. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +2 -1
  89. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +1111 -1115
  90. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +6 -1
  91. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +1127 -1131
  92. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +6 -1
  93. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +1120 -1124
  94. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +2 -1
  95. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +1088 -1092
  96. metadata +1 -1
@@ -1,2462 +1,2434 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BootstrapTable = {}, global.jQuery));
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BootstrapTable = {}, global.jQuery));
5
5
  }(this, (function (exports, $) { 'use strict';
6
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
- var arrayMethodIsStrict = function (METHOD_NAME, argument) {
950
- var method = [][METHOD_NAME];
951
- return !!method && fails(function () {
952
- // eslint-disable-next-line no-useless-call,no-throw-literal
953
- method.call(null, argument || function () { throw 1; }, 1);
954
- });
955
- };
956
-
957
- var $forEach = arrayIteration.forEach;
958
-
959
-
960
-
961
- var STRICT_METHOD = arrayMethodIsStrict('forEach');
962
- var USES_TO_LENGTH$2 = arrayMethodUsesToLength('forEach');
963
-
964
- // `Array.prototype.forEach` method implementation
965
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
966
- var arrayForEach = (!STRICT_METHOD || !USES_TO_LENGTH$2) ? function forEach(callbackfn /* , thisArg */) {
967
- return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
968
- } : [].forEach;
969
-
970
- // `Array.prototype.forEach` method
971
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
972
- _export({ target: 'Array', proto: true, forced: [].forEach != arrayForEach }, {
973
- forEach: arrayForEach
974
- });
975
-
976
- var $includes = arrayIncludes.includes;
977
-
978
-
979
-
980
- var USES_TO_LENGTH$3 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
981
-
982
- // `Array.prototype.includes` method
983
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
984
- _export({ target: 'Array', proto: true, forced: !USES_TO_LENGTH$3 }, {
985
- includes: function includes(el /* , fromIndex = 0 */) {
986
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
987
- }
988
- });
989
-
990
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
991
- addToUnscopables('includes');
992
-
993
- var $indexOf = arrayIncludes.indexOf;
994
-
995
-
996
-
997
- var nativeIndexOf = [].indexOf;
998
-
999
- var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
1000
- var STRICT_METHOD$1 = arrayMethodIsStrict('indexOf');
1001
- var USES_TO_LENGTH$4 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
1002
-
1003
- // `Array.prototype.indexOf` method
1004
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
1005
- _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD$1 || !USES_TO_LENGTH$4 }, {
1006
- indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
1007
- return NEGATIVE_ZERO
1008
- // convert -0 to +0
1009
- ? nativeIndexOf.apply(this, arguments) || 0
1010
- : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
1011
- }
1012
- });
1013
-
1014
- var nativeJoin = [].join;
1015
-
1016
- var ES3_STRINGS = indexedObject != Object;
1017
- var STRICT_METHOD$2 = arrayMethodIsStrict('join', ',');
1018
-
1019
- // `Array.prototype.join` method
1020
- // https://tc39.github.io/ecma262/#sec-array.prototype.join
1021
- _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$2 }, {
1022
- join: function join(separator) {
1023
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
1024
- }
1025
- });
1026
-
1027
- var test = [];
1028
- var nativeSort = test.sort;
1029
-
1030
- // IE8-
1031
- var FAILS_ON_UNDEFINED = fails(function () {
1032
- test.sort(undefined);
1033
- });
1034
- // V8 bug
1035
- var FAILS_ON_NULL = fails(function () {
1036
- test.sort(null);
1037
- });
1038
- // Old WebKit
1039
- var STRICT_METHOD$3 = arrayMethodIsStrict('sort');
1040
-
1041
- var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$3;
1042
-
1043
- // `Array.prototype.sort` method
1044
- // https://tc39.github.io/ecma262/#sec-array.prototype.sort
1045
- _export({ target: 'Array', proto: true, forced: FORCED$1 }, {
1046
- sort: function sort(comparefn) {
1047
- return comparefn === undefined
1048
- ? nativeSort.call(toObject(this))
1049
- : nativeSort.call(toObject(this), aFunction$1(comparefn));
1050
- }
1051
- });
1052
-
1053
- var FAILS_ON_PRIMITIVES = fails(function () { objectKeys(1); });
1054
-
1055
- // `Object.keys` method
1056
- // https://tc39.github.io/ecma262/#sec-object.keys
1057
- _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
1058
- keys: function keys(it) {
1059
- return objectKeys(toObject(it));
1060
- }
1061
- });
1062
-
1063
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1064
- var test$1 = {};
1065
-
1066
- test$1[TO_STRING_TAG] = 'z';
1067
-
1068
- var toStringTagSupport = String(test$1) === '[object z]';
1069
-
1070
- var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
1071
- // ES3 wrong here
1072
- var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1073
-
1074
- // fallback for IE11 Script Access Denied error
1075
- var tryGet = function (it, key) {
1076
- try {
1077
- return it[key];
1078
- } catch (error) { /* empty */ }
1079
- };
1080
-
1081
- // getting tag from ES6+ `Object.prototype.toString`
1082
- var classof = toStringTagSupport ? classofRaw : function (it) {
1083
- var O, tag, result;
1084
- return it === undefined ? 'Undefined' : it === null ? 'Null'
1085
- // @@toStringTag case
1086
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag
1087
- // builtinTag case
1088
- : CORRECT_ARGUMENTS ? classofRaw(O)
1089
- // ES3 arguments fallback
1090
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
1091
- };
1092
-
1093
- // `Object.prototype.toString` method implementation
1094
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
1095
- var objectToString = toStringTagSupport ? {}.toString : function toString() {
1096
- return '[object ' + classof(this) + ']';
1097
- };
1098
-
1099
- // `Object.prototype.toString` method
1100
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
1101
- if (!toStringTagSupport) {
1102
- redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
1103
- }
1104
-
1105
- // `RegExp.prototype.flags` getter implementation
1106
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
1107
- var regexpFlags = function () {
1108
- var that = anObject(this);
1109
- var result = '';
1110
- if (that.global) result += 'g';
1111
- if (that.ignoreCase) result += 'i';
1112
- if (that.multiline) result += 'm';
1113
- if (that.dotAll) result += 's';
1114
- if (that.unicode) result += 'u';
1115
- if (that.sticky) result += 'y';
1116
- return result;
1117
- };
1118
-
1119
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
1120
- // so we use an intermediate function.
1121
- function RE(s, f) {
1122
- return RegExp(s, f);
1123
- }
1124
-
1125
- var UNSUPPORTED_Y = fails(function () {
1126
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1127
- var re = RE('a', 'y');
1128
- re.lastIndex = 2;
1129
- return re.exec('abcd') != null;
1130
- });
1131
-
1132
- var BROKEN_CARET = fails(function () {
1133
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1134
- var re = RE('^r', 'gy');
1135
- re.lastIndex = 2;
1136
- return re.exec('str') != null;
1137
- });
1138
-
1139
- var regexpStickyHelpers = {
1140
- UNSUPPORTED_Y: UNSUPPORTED_Y,
1141
- BROKEN_CARET: BROKEN_CARET
1142
- };
1143
-
1144
- var nativeExec = RegExp.prototype.exec;
1145
- // This always refers to the native implementation, because the
1146
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
1147
- // which loads this file before patching the method.
1148
- var nativeReplace = String.prototype.replace;
1149
-
1150
- var patchedExec = nativeExec;
1151
-
1152
- var UPDATES_LAST_INDEX_WRONG = (function () {
1153
- var re1 = /a/;
1154
- var re2 = /b*/g;
1155
- nativeExec.call(re1, 'a');
1156
- nativeExec.call(re2, 'a');
1157
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1158
- })();
1159
-
1160
- var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1161
-
1162
- // nonparticipating capturing group, copied from es5-shim's String#split patch.
1163
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1164
-
1165
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
1166
-
1167
- if (PATCH) {
1168
- patchedExec = function exec(str) {
1169
- var re = this;
1170
- var lastIndex, reCopy, match, i;
1171
- var sticky = UNSUPPORTED_Y$1 && re.sticky;
1172
- var flags = regexpFlags.call(re);
1173
- var source = re.source;
1174
- var charsAdded = 0;
1175
- var strCopy = str;
1176
-
1177
- if (sticky) {
1178
- flags = flags.replace('y', '');
1179
- if (flags.indexOf('g') === -1) {
1180
- flags += 'g';
1181
- }
1182
-
1183
- strCopy = String(str).slice(re.lastIndex);
1184
- // Support anchored sticky behavior.
1185
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1186
- source = '(?: ' + source + ')';
1187
- strCopy = ' ' + strCopy;
1188
- charsAdded++;
1189
- }
1190
- // ^(? + rx + ) is needed, in combination with some str slicing, to
1191
- // simulate the 'y' flag.
1192
- reCopy = new RegExp('^(?:' + source + ')', flags);
1193
- }
1194
-
1195
- if (NPCG_INCLUDED) {
1196
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1197
- }
1198
- if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1199
-
1200
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
1201
-
1202
- if (sticky) {
1203
- if (match) {
1204
- match.input = match.input.slice(charsAdded);
1205
- match[0] = match[0].slice(charsAdded);
1206
- match.index = re.lastIndex;
1207
- re.lastIndex += match[0].length;
1208
- } else re.lastIndex = 0;
1209
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
1210
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1211
- }
1212
- if (NPCG_INCLUDED && match && match.length > 1) {
1213
- // Fix browsers whose `exec` methods don't consistently return `undefined`
1214
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1215
- nativeReplace.call(match[0], reCopy, function () {
1216
- for (i = 1; i < arguments.length - 2; i++) {
1217
- if (arguments[i] === undefined) match[i] = undefined;
1218
- }
1219
- });
1220
- }
1221
-
1222
- return match;
1223
- };
1224
- }
1225
-
1226
- var regexpExec = patchedExec;
1227
-
1228
- _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
1229
- exec: regexpExec
1230
- });
1231
-
1232
- var TO_STRING = 'toString';
1233
- var RegExpPrototype = RegExp.prototype;
1234
- var nativeToString = RegExpPrototype[TO_STRING];
1235
-
1236
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
1237
- // FF44- RegExp#toString has a wrong name
1238
- var INCORRECT_NAME = nativeToString.name != TO_STRING;
1239
-
1240
- // `RegExp.prototype.toString` method
1241
- // https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
1242
- if (NOT_GENERIC || INCORRECT_NAME) {
1243
- redefine(RegExp.prototype, TO_STRING, function toString() {
1244
- var R = anObject(this);
1245
- var p = String(R.source);
1246
- var rf = R.flags;
1247
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
1248
- return '/' + p + '/' + f;
1249
- }, { unsafe: true });
1250
- }
1251
-
1252
- // TODO: Remove from `core-js@4` since it's moved to entry points
1253
-
1254
-
1255
-
1256
-
1257
-
1258
-
1259
-
1260
- var SPECIES$2 = wellKnownSymbol('species');
1261
-
1262
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1263
- // #replace needs built-in support for named groups.
1264
- // #match works fine because it just return the exec results, even if it has
1265
- // a "grops" property.
1266
- var re = /./;
1267
- re.exec = function () {
1268
- var result = [];
1269
- result.groups = { a: '7' };
1270
- return result;
1271
- };
1272
- return ''.replace(re, '$<a>') !== '7';
1273
- });
1274
-
1275
- // IE <= 11 replaces $0 with the whole match, as if it was $&
1276
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1277
- var REPLACE_KEEPS_$0 = (function () {
1278
- return 'a'.replace(/./, '$0') === '$0';
1279
- })();
1280
-
1281
- var REPLACE = wellKnownSymbol('replace');
1282
- // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1283
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1284
- if (/./[REPLACE]) {
1285
- return /./[REPLACE]('a', '$0') === '';
1286
- }
1287
- return false;
1288
- })();
1289
-
1290
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1291
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1292
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1293
- var re = /(?:)/;
1294
- var originalExec = re.exec;
1295
- re.exec = function () { return originalExec.apply(this, arguments); };
1296
- var result = 'ab'.split(re);
1297
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1298
- });
1299
-
1300
- var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1301
- var SYMBOL = wellKnownSymbol(KEY);
1302
-
1303
- var DELEGATES_TO_SYMBOL = !fails(function () {
1304
- // String methods call symbol-named RegEp methods
1305
- var O = {};
1306
- O[SYMBOL] = function () { return 7; };
1307
- return ''[KEY](O) != 7;
1308
- });
1309
-
1310
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1311
- // Symbol-named RegExp methods call .exec
1312
- var execCalled = false;
1313
- var re = /a/;
1314
-
1315
- if (KEY === 'split') {
1316
- // We can't use real regex here since it causes deoptimization
1317
- // and serious performance degradation in V8
1318
- // https://github.com/zloirock/core-js/issues/306
1319
- re = {};
1320
- // RegExp[@@split] doesn't call the regex's exec method, but first creates
1321
- // a new one. We need to return the patched regex when creating the new one.
1322
- re.constructor = {};
1323
- re.constructor[SPECIES$2] = function () { return re; };
1324
- re.flags = '';
1325
- re[SYMBOL] = /./[SYMBOL];
1326
- }
1327
-
1328
- re.exec = function () { execCalled = true; return null; };
1329
-
1330
- re[SYMBOL]('');
1331
- return !execCalled;
1332
- });
1333
-
1334
- if (
1335
- !DELEGATES_TO_SYMBOL ||
1336
- !DELEGATES_TO_EXEC ||
1337
- (KEY === 'replace' && !(
1338
- REPLACE_SUPPORTS_NAMED_GROUPS &&
1339
- REPLACE_KEEPS_$0 &&
1340
- !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1341
- )) ||
1342
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1343
- ) {
1344
- var nativeRegExpMethod = /./[SYMBOL];
1345
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1346
- if (regexp.exec === regexpExec) {
1347
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1348
- // The native String method already delegates to @@method (this
1349
- // polyfilled function), leasing to infinite recursion.
1350
- // We avoid it by directly calling the native @@method method.
1351
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1352
- }
1353
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1354
- }
1355
- return { done: false };
1356
- }, {
1357
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
1358
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1359
- });
1360
- var stringMethod = methods[0];
1361
- var regexMethod = methods[1];
1362
-
1363
- redefine(String.prototype, KEY, stringMethod);
1364
- redefine(RegExp.prototype, SYMBOL, length == 2
1365
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1366
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1367
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
1368
- // 21.2.5.6 RegExp.prototype[@@match](string)
1369
- // 21.2.5.9 RegExp.prototype[@@search](string)
1370
- : function (string) { return regexMethod.call(string, this); }
1371
- );
1372
- }
1373
-
1374
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1375
- };
1376
-
1377
- // `String.prototype.{ codePointAt, at }` methods implementation
1378
- var createMethod$2 = function (CONVERT_TO_STRING) {
1379
- return function ($this, pos) {
1380
- var S = String(requireObjectCoercible($this));
1381
- var position = toInteger(pos);
1382
- var size = S.length;
1383
- var first, second;
1384
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1385
- first = S.charCodeAt(position);
1386
- return first < 0xD800 || first > 0xDBFF || position + 1 === size
1387
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1388
- ? CONVERT_TO_STRING ? S.charAt(position) : first
1389
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1390
- };
1391
- };
1392
-
1393
- var stringMultibyte = {
1394
- // `String.prototype.codePointAt` method
1395
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
1396
- codeAt: createMethod$2(false),
1397
- // `String.prototype.at` method
1398
- // https://github.com/mathiasbynens/String.prototype.at
1399
- charAt: createMethod$2(true)
1400
- };
1401
-
1402
- var charAt = stringMultibyte.charAt;
1403
-
1404
- // `AdvanceStringIndex` abstract operation
1405
- // https://tc39.github.io/ecma262/#sec-advancestringindex
1406
- var advanceStringIndex = function (S, index, unicode) {
1407
- return index + (unicode ? charAt(S, index).length : 1);
1408
- };
1409
-
1410
- // `RegExpExec` abstract operation
1411
- // https://tc39.github.io/ecma262/#sec-regexpexec
1412
- var regexpExecAbstract = function (R, S) {
1413
- var exec = R.exec;
1414
- if (typeof exec === 'function') {
1415
- var result = exec.call(R, S);
1416
- if (typeof result !== 'object') {
1417
- throw TypeError('RegExp exec method returned something other than an Object or null');
1418
- }
1419
- return result;
1420
- }
1421
-
1422
- if (classofRaw(R) !== 'RegExp') {
1423
- throw TypeError('RegExp#exec called on incompatible receiver');
1424
- }
1425
-
1426
- return regexpExec.call(R, S);
1427
- };
1428
-
1429
- // @@match logic
1430
- fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
1431
- return [
1432
- // `String.prototype.match` method
1433
- // https://tc39.github.io/ecma262/#sec-string.prototype.match
1434
- function match(regexp) {
1435
- var O = requireObjectCoercible(this);
1436
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
1437
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
1438
- },
1439
- // `RegExp.prototype[@@match]` method
1440
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
1441
- function (regexp) {
1442
- var res = maybeCallNative(nativeMatch, regexp, this);
1443
- if (res.done) return res.value;
1444
-
1445
- var rx = anObject(regexp);
1446
- var S = String(this);
1447
-
1448
- if (!rx.global) return regexpExecAbstract(rx, S);
1449
-
1450
- var fullUnicode = rx.unicode;
1451
- rx.lastIndex = 0;
1452
- var A = [];
1453
- var n = 0;
1454
- var result;
1455
- while ((result = regexpExecAbstract(rx, S)) !== null) {
1456
- var matchStr = String(result[0]);
1457
- A[n] = matchStr;
1458
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1459
- n++;
1460
- }
1461
- return n === 0 ? null : A;
1462
- }
1463
- ];
1464
- });
1465
-
1466
- var max$1 = Math.max;
1467
- var min$2 = Math.min;
1468
- var floor$1 = Math.floor;
1469
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
1470
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
1471
-
1472
- var maybeToString = function (it) {
1473
- return it === undefined ? it : String(it);
1474
- };
1475
-
1476
- // @@replace logic
1477
- fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1478
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
1479
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
1480
- var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
1481
-
1482
- return [
1483
- // `String.prototype.replace` method
1484
- // https://tc39.github.io/ecma262/#sec-string.prototype.replace
1485
- function replace(searchValue, replaceValue) {
1486
- var O = requireObjectCoercible(this);
1487
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1488
- return replacer !== undefined
1489
- ? replacer.call(searchValue, O, replaceValue)
1490
- : nativeReplace.call(String(O), searchValue, replaceValue);
1491
- },
1492
- // `RegExp.prototype[@@replace]` method
1493
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
1494
- function (regexp, replaceValue) {
1495
- if (
1496
- (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
1497
- (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
1498
- ) {
1499
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1500
- if (res.done) return res.value;
1501
- }
1502
-
1503
- var rx = anObject(regexp);
1504
- var S = String(this);
1505
-
1506
- var functionalReplace = typeof replaceValue === 'function';
1507
- if (!functionalReplace) replaceValue = String(replaceValue);
1508
-
1509
- var global = rx.global;
1510
- if (global) {
1511
- var fullUnicode = rx.unicode;
1512
- rx.lastIndex = 0;
1513
- }
1514
- var results = [];
1515
- while (true) {
1516
- var result = regexpExecAbstract(rx, S);
1517
- if (result === null) break;
1518
-
1519
- results.push(result);
1520
- if (!global) break;
1521
-
1522
- var matchStr = String(result[0]);
1523
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1524
- }
1525
-
1526
- var accumulatedResult = '';
1527
- var nextSourcePosition = 0;
1528
- for (var i = 0; i < results.length; i++) {
1529
- result = results[i];
1530
-
1531
- var matched = String(result[0]);
1532
- var position = max$1(min$2(toInteger(result.index), S.length), 0);
1533
- var captures = [];
1534
- // NOTE: This is equivalent to
1535
- // captures = result.slice(1).map(maybeToString)
1536
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1537
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1538
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1539
- for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1540
- var namedCaptures = result.groups;
1541
- if (functionalReplace) {
1542
- var replacerArgs = [matched].concat(captures, position, S);
1543
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1544
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
1545
- } else {
1546
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1547
- }
1548
- if (position >= nextSourcePosition) {
1549
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1550
- nextSourcePosition = position + matched.length;
1551
- }
1552
- }
1553
- return accumulatedResult + S.slice(nextSourcePosition);
1554
- }
1555
- ];
1556
-
1557
- // https://tc39.github.io/ecma262/#sec-getsubstitution
1558
- function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
1559
- var tailPos = position + matched.length;
1560
- var m = captures.length;
1561
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1562
- if (namedCaptures !== undefined) {
1563
- namedCaptures = toObject(namedCaptures);
1564
- symbols = SUBSTITUTION_SYMBOLS;
1565
- }
1566
- return nativeReplace.call(replacement, symbols, function (match, ch) {
1567
- var capture;
1568
- switch (ch.charAt(0)) {
1569
- case '$': return '$';
1570
- case '&': return matched;
1571
- case '`': return str.slice(0, position);
1572
- case "'": return str.slice(tailPos);
1573
- case '<':
1574
- capture = namedCaptures[ch.slice(1, -1)];
1575
- break;
1576
- default: // \d\d?
1577
- var n = +ch;
1578
- if (n === 0) return match;
1579
- if (n > m) {
1580
- var f = floor$1(n / 10);
1581
- if (f === 0) return match;
1582
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1583
- return match;
1584
- }
1585
- capture = captures[n - 1];
1586
- }
1587
- return capture === undefined ? '' : capture;
1588
- });
1589
- }
1590
- });
1591
-
1592
- var MATCH = wellKnownSymbol('match');
1593
-
1594
- // `IsRegExp` abstract operation
1595
- // https://tc39.github.io/ecma262/#sec-isregexp
1596
- var isRegexp = function (it) {
1597
- var isRegExp;
1598
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1599
- };
1600
-
1601
- var SPECIES$3 = wellKnownSymbol('species');
1602
-
1603
- // `SpeciesConstructor` abstract operation
1604
- // https://tc39.github.io/ecma262/#sec-speciesconstructor
1605
- var speciesConstructor = function (O, defaultConstructor) {
1606
- var C = anObject(O).constructor;
1607
- var S;
1608
- return C === undefined || (S = anObject(C)[SPECIES$3]) == undefined ? defaultConstructor : aFunction$1(S);
1609
- };
1610
-
1611
- var arrayPush = [].push;
1612
- var min$3 = Math.min;
1613
- var MAX_UINT32 = 0xFFFFFFFF;
1614
-
1615
- // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
1616
- var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
1617
-
1618
- // @@split logic
1619
- fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
1620
- var internalSplit;
1621
- if (
1622
- 'abbc'.split(/(b)*/)[1] == 'c' ||
1623
- 'test'.split(/(?:)/, -1).length != 4 ||
1624
- 'ab'.split(/(?:ab)*/).length != 2 ||
1625
- '.'.split(/(.?)(.?)/).length != 4 ||
1626
- '.'.split(/()()/).length > 1 ||
1627
- ''.split(/.?/).length
1628
- ) {
1629
- // based on es5-shim implementation, need to rework it
1630
- internalSplit = function (separator, limit) {
1631
- var string = String(requireObjectCoercible(this));
1632
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1633
- if (lim === 0) return [];
1634
- if (separator === undefined) return [string];
1635
- // If `separator` is not a regex, use native split
1636
- if (!isRegexp(separator)) {
1637
- return nativeSplit.call(string, separator, lim);
1638
- }
1639
- var output = [];
1640
- var flags = (separator.ignoreCase ? 'i' : '') +
1641
- (separator.multiline ? 'm' : '') +
1642
- (separator.unicode ? 'u' : '') +
1643
- (separator.sticky ? 'y' : '');
1644
- var lastLastIndex = 0;
1645
- // Make `global` and avoid `lastIndex` issues by working with a copy
1646
- var separatorCopy = new RegExp(separator.source, flags + 'g');
1647
- var match, lastIndex, lastLength;
1648
- while (match = regexpExec.call(separatorCopy, string)) {
1649
- lastIndex = separatorCopy.lastIndex;
1650
- if (lastIndex > lastLastIndex) {
1651
- output.push(string.slice(lastLastIndex, match.index));
1652
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
1653
- lastLength = match[0].length;
1654
- lastLastIndex = lastIndex;
1655
- if (output.length >= lim) break;
1656
- }
1657
- if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
1658
- }
1659
- if (lastLastIndex === string.length) {
1660
- if (lastLength || !separatorCopy.test('')) output.push('');
1661
- } else output.push(string.slice(lastLastIndex));
1662
- return output.length > lim ? output.slice(0, lim) : output;
1663
- };
1664
- // Chakra, V8
1665
- } else if ('0'.split(undefined, 0).length) {
1666
- internalSplit = function (separator, limit) {
1667
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
1668
- };
1669
- } else internalSplit = nativeSplit;
1670
-
1671
- return [
1672
- // `String.prototype.split` method
1673
- // https://tc39.github.io/ecma262/#sec-string.prototype.split
1674
- function split(separator, limit) {
1675
- var O = requireObjectCoercible(this);
1676
- var splitter = separator == undefined ? undefined : separator[SPLIT];
1677
- return splitter !== undefined
1678
- ? splitter.call(separator, O, limit)
1679
- : internalSplit.call(String(O), separator, limit);
1680
- },
1681
- // `RegExp.prototype[@@split]` method
1682
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
1683
- //
1684
- // NOTE: This cannot be properly polyfilled in engines that don't support
1685
- // the 'y' flag.
1686
- function (regexp, limit) {
1687
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
1688
- if (res.done) return res.value;
1689
-
1690
- var rx = anObject(regexp);
1691
- var S = String(this);
1692
- var C = speciesConstructor(rx, RegExp);
1693
-
1694
- var unicodeMatching = rx.unicode;
1695
- var flags = (rx.ignoreCase ? 'i' : '') +
1696
- (rx.multiline ? 'm' : '') +
1697
- (rx.unicode ? 'u' : '') +
1698
- (SUPPORTS_Y ? 'y' : 'g');
1699
-
1700
- // ^(? + rx + ) is needed, in combination with some S slicing, to
1701
- // simulate the 'y' flag.
1702
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
1703
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1704
- if (lim === 0) return [];
1705
- if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
1706
- var p = 0;
1707
- var q = 0;
1708
- var A = [];
1709
- while (q < S.length) {
1710
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
1711
- var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
1712
- var e;
1713
- if (
1714
- z === null ||
1715
- (e = min$3(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
1716
- ) {
1717
- q = advanceStringIndex(S, q, unicodeMatching);
1718
- } else {
1719
- A.push(S.slice(p, q));
1720
- if (A.length === lim) return A;
1721
- for (var i = 1; i <= z.length - 1; i++) {
1722
- A.push(z[i]);
1723
- if (A.length === lim) return A;
1724
- }
1725
- q = p = e;
1726
- }
1727
- }
1728
- A.push(S.slice(p));
1729
- return A;
1730
- }
1731
- ];
1732
- }, !SUPPORTS_Y);
1733
-
1734
- // a string of all valid unicode whitespaces
1735
- // eslint-disable-next-line max-len
1736
- var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
1737
-
1738
- var whitespace = '[' + whitespaces + ']';
1739
- var ltrim = RegExp('^' + whitespace + whitespace + '*');
1740
- var rtrim = RegExp(whitespace + whitespace + '*$');
1741
-
1742
- // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
1743
- var createMethod$3 = function (TYPE) {
1744
- return function ($this) {
1745
- var string = String(requireObjectCoercible($this));
1746
- if (TYPE & 1) string = string.replace(ltrim, '');
1747
- if (TYPE & 2) string = string.replace(rtrim, '');
1748
- return string;
1749
- };
1750
- };
1751
-
1752
- var stringTrim = {
1753
- // `String.prototype.{ trimLeft, trimStart }` methods
1754
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
1755
- start: createMethod$3(1),
1756
- // `String.prototype.{ trimRight, trimEnd }` methods
1757
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
1758
- end: createMethod$3(2),
1759
- // `String.prototype.trim` method
1760
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
1761
- trim: createMethod$3(3)
1762
- };
1763
-
1764
- var non = '\u200B\u0085\u180E';
1765
-
1766
- // check that a method works with the correct list
1767
- // of whitespaces and has a correct name
1768
- var stringTrimForced = function (METHOD_NAME) {
1769
- return fails(function () {
1770
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
1771
- });
1772
- };
1773
-
1774
- var $trim = stringTrim.trim;
1775
-
1776
-
1777
- // `String.prototype.trim` method
1778
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
1779
- _export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {
1780
- trim: function trim() {
1781
- return $trim(this);
1782
- }
1783
- });
1784
-
1785
- // iterable DOM collections
1786
- // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
1787
- var domIterables = {
1788
- CSSRuleList: 0,
1789
- CSSStyleDeclaration: 0,
1790
- CSSValueList: 0,
1791
- ClientRectList: 0,
1792
- DOMRectList: 0,
1793
- DOMStringList: 0,
1794
- DOMTokenList: 1,
1795
- DataTransferItemList: 0,
1796
- FileList: 0,
1797
- HTMLAllCollection: 0,
1798
- HTMLCollection: 0,
1799
- HTMLFormElement: 0,
1800
- HTMLSelectElement: 0,
1801
- MediaList: 0,
1802
- MimeTypeArray: 0,
1803
- NamedNodeMap: 0,
1804
- NodeList: 1,
1805
- PaintRequestList: 0,
1806
- Plugin: 0,
1807
- PluginArray: 0,
1808
- SVGLengthList: 0,
1809
- SVGNumberList: 0,
1810
- SVGPathSegList: 0,
1811
- SVGPointList: 0,
1812
- SVGStringList: 0,
1813
- SVGTransformList: 0,
1814
- SourceBufferList: 0,
1815
- StyleSheetList: 0,
1816
- TextTrackCueList: 0,
1817
- TextTrackList: 0,
1818
- TouchList: 0
1819
- };
1820
-
1821
- for (var COLLECTION_NAME in domIterables) {
1822
- var Collection = global_1[COLLECTION_NAME];
1823
- var CollectionPrototype = Collection && Collection.prototype;
1824
- // some Chrome versions have non-configurable methods on DOMTokenList
1825
- if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
1826
- createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
1827
- } catch (error) {
1828
- CollectionPrototype.forEach = arrayForEach;
1829
- }
1830
- }
1831
-
1832
- function _typeof(obj) {
1833
- "@babel/helpers - typeof";
1834
-
1835
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
1836
- _typeof = function (obj) {
1837
- return typeof obj;
1838
- };
1839
- } else {
1840
- _typeof = function (obj) {
1841
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1842
- };
1843
- }
1844
-
1845
- return _typeof(obj);
1846
- }
1847
-
1848
- var Utils = $__default['default'].fn.bootstrapTable.utils;
1849
- var searchControls = 'select, input:not([type="checkbox"]):not([type="radio"])';
1850
- function getOptionsFromSelectControl(selectControl) {
1851
- return selectControl.get(selectControl.length - 1).options;
1852
- }
1853
- function getControlContainer(that) {
1854
- if (that.options.filterControlContainer) {
1855
- return $__default['default']("".concat(that.options.filterControlContainer));
1856
- }
1857
-
1858
- return that.$header;
1859
- }
1860
- function getSearchControls(that) {
1861
- return getControlContainer(that).find(searchControls);
1862
- }
1863
- function hideUnusedSelectOptions(selectControl, uniqueValues) {
1864
- var options = getOptionsFromSelectControl(selectControl);
1865
-
1866
- for (var i = 0; i < options.length; i++) {
1867
- if (options[i].value !== '') {
1868
- if (!uniqueValues.hasOwnProperty(options[i].value)) {
1869
- selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).hide();
1870
- } else {
1871
- selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).show();
1872
- }
1873
- }
1874
- }
1875
- }
1876
- function existOptionInSelectControl(selectControl, value) {
1877
- var options = getOptionsFromSelectControl(selectControl);
1878
-
1879
- for (var i = 0; i < options.length; i++) {
1880
- if (options[i].value === Utils.unescapeHTML(value.toString())) {
1881
- // The value is not valid to add
1882
- return true;
1883
- }
1884
- } // If we get here, the value is valid to add
1885
-
1886
-
1887
- return false;
1888
- }
1889
- function addOptionToSelectControl(selectControl, _value, text, selected) {
1890
- var value = _value === undefined || _value === null ? '' : _value.toString().trim();
1891
- var $selectControl = $__default['default'](selectControl.get(selectControl.length - 1));
1892
-
1893
- if (!existOptionInSelectControl(selectControl, value)) {
1894
- var option = $__default['default']("<option value=\"".concat(value, "\">").concat(text, "</option>"));
1895
-
1896
- if (value === selected) {
1897
- option.attr('selected', true);
1898
- }
1899
-
1900
- $selectControl.append(option);
1901
- }
1902
- }
1903
- function sortSelectControl(selectControl, orderBy) {
1904
- var $selectControl = $__default['default'](selectControl.get(selectControl.length - 1));
1905
- var $opts = $selectControl.find('option:gt(0)');
1906
-
1907
- if (orderBy !== 'server') {
1908
- $opts.sort(function (a, b) {
1909
- return Utils.sort(a.textContent, b.textContent, orderBy === 'desc' ? -1 : 1);
1910
- });
1911
- }
1912
-
1913
- $selectControl.find('option:gt(0)').remove();
1914
- $selectControl.append($opts);
1915
- }
1916
- function fixHeaderCSS(_ref) {
1917
- var $tableHeader = _ref.$tableHeader;
1918
- $tableHeader.css('height', '89px');
1919
- }
1920
- function getElementClass($element) {
1921
- return $element.attr('class').replace('form-control', '').replace('focus-temp', '').replace('search-input', '').trim();
1922
- }
1923
- function getCursorPosition(el) {
1924
- if (Utils.isIEBrowser()) {
1925
- if ($__default['default'](el).is('input[type=text]')) {
1926
- var pos = 0;
1927
-
1928
- if ('selectionStart' in el) {
1929
- pos = el.selectionStart;
1930
- } else if ('selection' in document) {
1931
- el.focus();
1932
- var Sel = document.selection.createRange();
1933
- var SelLength = document.selection.createRange().text.length;
1934
- Sel.moveStart('character', -el.value.length);
1935
- pos = Sel.text.length - SelLength;
1936
- }
1937
-
1938
- return pos;
1939
- }
1940
-
1941
- return -1;
1942
- }
1943
-
1944
- return -1;
1945
- }
1946
- function setCursorPosition(el) {
1947
- $__default['default'](el).val(el.value);
1948
- }
1949
- function copyValues(that) {
1950
- var searchControls = getSearchControls(that);
1951
- that.options.valuesFilterControl = [];
1952
- searchControls.each(function () {
1953
- var $field = $__default['default'](this);
1954
-
1955
- if (that.options.height) {
1956
- var fieldClass = getElementClass($field);
1957
- $field = $__default['default'](".fixed-table-header .".concat(fieldClass));
1958
- }
1959
-
1960
- that.options.valuesFilterControl.push({
1961
- field: $field.closest('[data-field]').data('field'),
1962
- value: $field.val(),
1963
- position: getCursorPosition($field.get(0)),
1964
- hasFocus: $field.is(':focus')
1965
- });
1966
- });
1967
- }
1968
- function setValues(that) {
1969
- var field = null;
1970
- var result = [];
1971
- var searchControls = getSearchControls(that);
1972
-
1973
- if (that.options.valuesFilterControl.length > 0) {
1974
- // Callback to apply after settings fields values
1975
- var fieldToFocusCallback = null;
1976
- searchControls.each(function (i, el) {
1977
- var $this = $__default['default'](el);
1978
- field = $this.closest('[data-field]').data('field');
1979
- result = that.options.valuesFilterControl.filter(function (valueObj) {
1980
- return valueObj.field === field;
1981
- });
1982
-
1983
- if (result.length > 0) {
1984
- if ($this.is('[type=radio]')) {
1985
- return;
1986
- }
1987
-
1988
- $this.val(result[0].value);
1989
-
1990
- if (result[0].hasFocus && result[0].value !== '') {
1991
- // set callback if the field had the focus.
1992
- fieldToFocusCallback = function (fieldToFocus, carretPosition) {
1993
- // Closure here to capture the field and cursor position
1994
- var closedCallback = function closedCallback() {
1995
- fieldToFocus.focus();
1996
- setCursorPosition(fieldToFocus);
1997
- };
1998
-
1999
- return closedCallback;
2000
- }($this.get(0), result[0].position);
2001
- }
2002
- }
2003
- }); // Callback call.
2004
-
2005
- if (fieldToFocusCallback !== null) {
2006
- fieldToFocusCallback();
2007
- }
2008
- }
2009
- }
2010
- function collectBootstrapCookies() {
2011
- var cookies = [];
2012
- var foundCookies = document.cookie.match(/(?:bs.table.)(\w*)/g);
2013
- var foundLocalStorage = localStorage;
2014
-
2015
- if (foundCookies) {
2016
- $__default['default'].each(foundCookies, function (i, _cookie) {
2017
- var cookie = _cookie;
2018
-
2019
- if (/./.test(cookie)) {
2020
- cookie = cookie.split('.').pop();
2021
- }
2022
-
2023
- if ($__default['default'].inArray(cookie, cookies) === -1) {
2024
- cookies.push(cookie);
2025
- }
2026
- });
2027
- }
2028
-
2029
- if (foundLocalStorage) {
2030
- for (var i = 0; i < foundLocalStorage.length; i++) {
2031
- var cookie = foundLocalStorage.key(i);
2032
-
2033
- if (/./.test(cookie)) {
2034
- cookie = cookie.split('.').pop();
2035
- }
2036
-
2037
- if (!cookies.includes(cookie)) {
2038
- cookies.push(cookie);
2039
- }
2040
- }
2041
- }
2042
-
2043
- return cookies;
2044
- }
2045
- function escapeID(id) {
2046
- // eslint-disable-next-line no-useless-escape
2047
- return String(id).replace(/([:.\[\],])/g, '\\$1');
2048
- }
2049
- function isColumnSearchableViaSelect(_ref2) {
2050
- var filterControl = _ref2.filterControl,
2051
- searchable = _ref2.searchable;
2052
- return filterControl && filterControl.toLowerCase() === 'select' && searchable;
2053
- }
2054
- function isFilterDataNotGiven(_ref3) {
2055
- var filterData = _ref3.filterData;
2056
- return filterData === undefined || filterData.toLowerCase() === 'column';
2057
- }
2058
- function hasSelectControlElement(selectControl) {
2059
- return selectControl && selectControl.length > 0;
2060
- }
2061
- function initFilterSelectControls(that) {
2062
- var data = that.data;
2063
- var z = that.options.pagination ? that.options.sidePagination === 'server' ? that.pageTo : that.options.totalRows : that.pageTo;
2064
- $__default['default'].each(that.header.fields, function (j, field) {
2065
- var column = that.columns[that.fieldsColumnsIndex[field]];
2066
- var selectControl = getControlContainer(that).find("select.bootstrap-table-filter-control-".concat(escapeID(column.field)));
2067
-
2068
- if (isColumnSearchableViaSelect(column) && isFilterDataNotGiven(column) && hasSelectControlElement(selectControl)) {
2069
- if (selectControl.get(selectControl.length - 1).options.length === 0) {
2070
- // Added the default option
2071
- addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault);
2072
- }
2073
-
2074
- var uniqueValues = {};
2075
-
2076
- for (var i = 0; i < z; i++) {
2077
- // Added a new value
2078
- var fieldValue = Utils.getItemField(data[i], field, false);
2079
- var formatter = that.options.editable && column.editable ? column._formatter : that.header.formatters[j];
2080
- var formattedValue = Utils.calculateObjectValue(that.header, formatter, [fieldValue, data[i], i], fieldValue);
2081
-
2082
- if (column.filterDataCollector) {
2083
- formattedValue = Utils.calculateObjectValue(that.header, column.filterDataCollector, [fieldValue, data[i], formattedValue], formattedValue);
2084
- }
2085
-
2086
- if (column.searchFormatter) {
2087
- fieldValue = formattedValue;
2088
- }
2089
-
2090
- uniqueValues[formattedValue] = fieldValue;
2091
-
2092
- if (_typeof(formattedValue) === 'object' && formattedValue !== null) {
2093
- formattedValue.forEach(function (value) {
2094
- addOptionToSelectControl(selectControl, value, value, column.filterDefault);
2095
- });
2096
- continue;
2097
- } // eslint-disable-next-line guard-for-in
2098
-
2099
-
2100
- for (var key in uniqueValues) {
2101
- addOptionToSelectControl(selectControl, uniqueValues[key], key, column.filterDefault);
2102
- }
2103
- }
2104
-
2105
- sortSelectControl(selectControl, column.filterOrderBy);
2106
-
2107
- if (that.options.hideUnusedSelectOptions) {
2108
- hideUnusedSelectOptions(selectControl, uniqueValues);
2109
- }
2110
- }
2111
- });
2112
- }
2113
- function getFilterDataMethod(objFilterDataMethod, searchTerm) {
2114
- var keys = Object.keys(objFilterDataMethod);
2115
-
2116
- for (var i = 0; i < keys.length; i++) {
2117
- if (keys[i] === searchTerm) {
2118
- return objFilterDataMethod[searchTerm];
2119
- }
2120
- }
2121
-
2122
- return null;
2123
- }
2124
- function createControls(that, header) {
2125
- var addedFilterControl = false;
2126
- var html;
2127
- $__default['default'].each(that.columns, function (_, column) {
2128
- html = [];
2129
-
2130
- if (!column.visible) {
2131
- return;
2132
- }
2133
-
2134
- if (!column.filterControl && !that.options.filterControlContainer) {
2135
- html.push('<div class="no-filter-control"></div>');
2136
- } else if (that.options.filterControlContainer) {
2137
- var $filterControls = $__default['default'](".bootstrap-table-filter-control-".concat(column.field));
2138
- $__default['default'].each($filterControls, function (_, filterControl) {
2139
- var $filterControl = $__default['default'](filterControl);
2140
-
2141
- if (!$filterControl.is('[type=radio]')) {
2142
- var placeholder = column.filterControlPlaceholder ? column.filterControlPlaceholder : '';
2143
- $filterControl.attr('placeholder', placeholder).val(column.filterDefault);
2144
- }
2145
-
2146
- $filterControl.attr('data-field', column.field);
2147
- });
2148
- addedFilterControl = true;
2149
- } else {
2150
- var nameControl = column.filterControl.toLowerCase();
2151
- html.push('<div class="filter-control">');
2152
- addedFilterControl = true;
2153
-
2154
- if (column.searchable && that.options.filterTemplate[nameControl]) {
2155
- html.push(that.options.filterTemplate[nameControl](that, column.field, column.filterControlPlaceholder ? column.filterControlPlaceholder : '', column.filterDefault));
2156
- }
2157
- }
2158
-
2159
- if (!column.filterControl && '' !== column.filterDefault && 'undefined' !== typeof column.filterDefault) {
2160
- if ($__default['default'].isEmptyObject(that.filterColumnsPartial)) {
2161
- that.filterColumnsPartial = {};
2162
- }
2163
-
2164
- that.filterColumnsPartial[column.field] = column.filterDefault;
2165
- }
2166
-
2167
- $__default['default'].each(header.find('th'), function (i, th) {
2168
- var $th = $__default['default'](th);
2169
-
2170
- if ($th.data('field') === column.field) {
2171
- $th.find('.fht-cell').append(html.join(''));
2172
- return false;
2173
- }
2174
- });
2175
-
2176
- if (column.filterData && column.filterData.toLowerCase() !== 'column') {
2177
- var filterDataType = getFilterDataMethod(
2178
- /* eslint-disable no-use-before-define */
2179
- filterDataMethods, column.filterData.substring(0, column.filterData.indexOf(':')));
2180
- var filterDataSource;
2181
- var selectControl;
2182
-
2183
- if (filterDataType) {
2184
- filterDataSource = column.filterData.substring(column.filterData.indexOf(':') + 1, column.filterData.length);
2185
- selectControl = header.find(".bootstrap-table-filter-control-".concat(escapeID(column.field)));
2186
- addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault);
2187
- filterDataType(filterDataSource, selectControl, that.options.filterOrderBy, column.filterDefault);
2188
- } else {
2189
- throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, obj, json, url, func.' + ' Use like this: var: {key: "value"}');
2190
- }
2191
- }
2192
- });
2193
-
2194
- if (addedFilterControl) {
2195
- header.off('keyup', 'input').on('keyup', 'input', function (_ref4, obj) {
2196
- var currentTarget = _ref4.currentTarget,
2197
- keyCode = _ref4.keyCode;
2198
- syncControls(that); // Simulate enter key action from clear button
2199
-
2200
- keyCode = obj ? obj.keyCode : keyCode;
2201
-
2202
- if (that.options.searchOnEnterKey && keyCode !== 13) {
2203
- return;
2204
- }
2205
-
2206
- if ($__default['default'].inArray(keyCode, [37, 38, 39, 40]) > -1) {
2207
- return;
2208
- }
2209
-
2210
- var $currentTarget = $__default['default'](currentTarget);
2211
-
2212
- if ($currentTarget.is(':checkbox') || $currentTarget.is(':radio')) {
2213
- return;
2214
- }
2215
-
2216
- clearTimeout(currentTarget.timeoutId || 0);
2217
- currentTarget.timeoutId = setTimeout(function () {
2218
- that.onColumnSearch({
2219
- currentTarget: currentTarget,
2220
- keyCode: keyCode
2221
- });
2222
- }, that.options.searchTimeOut);
2223
- });
2224
- header.off('change', 'select:not(".ms-offscreen")').on('change', 'select:not(".ms-offscreen")', function (_ref5) {
2225
- var currentTarget = _ref5.currentTarget,
2226
- keyCode = _ref5.keyCode;
2227
- syncControls(that);
2228
- var $select = $__default['default'](currentTarget);
2229
- var value = $select.val();
2230
-
2231
- if (value && value.length > 0 && value.trim()) {
2232
- $select.find('option[selected]').removeAttr('selected');
2233
- $select.find("option[value=\"".concat(value, "\"]")).attr('selected', true);
2234
- } else {
2235
- $select.find('option[selected]').removeAttr('selected');
2236
- }
2237
-
2238
- clearTimeout(currentTarget.timeoutId || 0);
2239
- currentTarget.timeoutId = setTimeout(function () {
2240
- that.onColumnSearch({
2241
- currentTarget: currentTarget,
2242
- keyCode: keyCode
2243
- });
2244
- }, that.options.searchTimeOut);
2245
- });
2246
- header.off('mouseup', 'input:not([type=radio])').on('mouseup', 'input:not([type=radio])', function (_ref6) {
2247
- var currentTarget = _ref6.currentTarget,
2248
- keyCode = _ref6.keyCode;
2249
- var $input = $__default['default'](currentTarget);
2250
- var oldValue = $input.val();
2251
-
2252
- if (oldValue === '') {
2253
- return;
2254
- }
2255
-
2256
- setTimeout(function () {
2257
- syncControls(that);
2258
- var newValue = $input.val();
2259
-
2260
- if (newValue === '') {
2261
- clearTimeout(currentTarget.timeoutId || 0);
2262
- currentTarget.timeoutId = setTimeout(function () {
2263
- that.onColumnSearch({
2264
- currentTarget: currentTarget,
2265
- keyCode: keyCode
2266
- });
2267
- }, that.options.searchTimeOut);
2268
- }
2269
- }, 1);
2270
- });
2271
- header.off('change', 'input[type=radio]').on('change', 'input[type=radio]', function (_ref7) {
2272
- var currentTarget = _ref7.currentTarget,
2273
- keyCode = _ref7.keyCode;
2274
- clearTimeout(currentTarget.timeoutId || 0);
2275
- currentTarget.timeoutId = setTimeout(function () {
2276
- syncControls(that);
2277
- that.onColumnSearch({
2278
- currentTarget: currentTarget,
2279
- keyCode: keyCode
2280
- });
2281
- }, that.options.searchTimeOut);
2282
- });
2283
-
2284
- if (header.find('.date-filter-control').length > 0) {
2285
- $__default['default'].each(that.columns, function (i, _ref8) {
2286
- var filterDefault = _ref8.filterDefault,
2287
- filterControl = _ref8.filterControl,
2288
- field = _ref8.field,
2289
- filterDatepickerOptions = _ref8.filterDatepickerOptions;
2290
-
2291
- if (filterControl !== undefined && filterControl.toLowerCase() === 'datepicker') {
2292
- var $datepicker = header.find(".date-filter-control.bootstrap-table-filter-control-".concat(field));
2293
- $datepicker.datepicker(filterDatepickerOptions);
2294
-
2295
- if (filterDefault) {
2296
- $datepicker.datepicker('setDate', filterDefault);
2297
- }
2298
-
2299
- $datepicker.on('changeDate', function (_ref9) {
2300
- var currentTarget = _ref9.currentTarget,
2301
- keyCode = _ref9.keyCode;
2302
- clearTimeout(currentTarget.timeoutId || 0);
2303
- currentTarget.timeoutId = setTimeout(function () {
2304
- syncControls(that);
2305
- that.onColumnSearch({
2306
- currentTarget: currentTarget,
2307
- keyCode: keyCode
2308
- });
2309
- }, that.options.searchTimeOut);
2310
- });
2311
- }
2312
- });
2313
- }
2314
-
2315
- if (that.options.sidePagination !== 'server' && !that.options.height) {
2316
- that.triggerSearch();
2317
- }
2318
-
2319
- if (!that.options.filterControlVisible) {
2320
- header.find('.filter-control, .no-filter-control').hide();
2321
- }
2322
- } else {
2323
- header.find('.filter-control, .no-filter-control').hide();
2324
- }
2325
-
2326
- that.trigger('created-controls');
2327
- }
2328
- function getDirectionOfSelectOptions(_alignment) {
2329
- var alignment = _alignment === undefined ? 'left' : _alignment.toLowerCase();
2330
-
2331
- switch (alignment) {
2332
- case 'left':
2333
- return 'ltr';
2334
-
2335
- case 'right':
2336
- return 'rtl';
2337
-
2338
- case 'auto':
2339
- return 'auto';
2340
-
2341
- default:
2342
- return 'ltr';
2343
- }
2344
- }
2345
- function syncControls(that) {
2346
- if (that.options.height) {
2347
- var controlsTableHeader = that.$tableHeader.find(searchControls);
2348
- that.$header.find(searchControls).each(function (_, control) {
2349
- var $control = $__default['default'](control);
2350
- var controlClass = getElementClass($control);
2351
- var foundControl = controlsTableHeader.filter(function (_, ele) {
2352
- var eleClass = getElementClass($__default['default'](ele));
2353
- return controlClass === eleClass;
2354
- });
2355
-
2356
- if (foundControl.length === 0) {
2357
- return;
2358
- }
2359
-
2360
- if ($control.is('select')) {
2361
- $control.find('option:selected').removeAttr('selected');
2362
- $control.find("option[value='".concat(foundControl.val(), "']")).attr('selected', true);
2363
- } else {
2364
- $control.val(foundControl.val());
2365
- }
2366
- });
2367
- }
2368
- }
2369
- var filterDataMethods = {
2370
- func: function func(filterDataSource, selectControl, filterOrderBy, selected) {
2371
- var variableValues = window[filterDataSource].apply(); // eslint-disable-next-line guard-for-in
2372
-
2373
- for (var key in variableValues) {
2374
- addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2375
- }
2376
-
2377
- sortSelectControl(selectControl, filterOrderBy);
2378
- },
2379
- obj: function obj(filterDataSource, selectControl, filterOrderBy, selected) {
2380
- var objectKeys = filterDataSource.split('.');
2381
- var variableName = objectKeys.shift();
2382
- var variableValues = window[variableName];
2383
-
2384
- if (objectKeys.length > 0) {
2385
- objectKeys.forEach(function (key) {
2386
- variableValues = variableValues[key];
2387
- });
2388
- } // eslint-disable-next-line guard-for-in
2389
-
2390
-
2391
- for (var key in variableValues) {
2392
- addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2393
- }
2394
-
2395
- sortSelectControl(selectControl, filterOrderBy);
2396
- },
2397
- var: function _var(filterDataSource, selectControl, filterOrderBy, selected) {
2398
- var variableValues = window[filterDataSource];
2399
- var isArray = Array.isArray(variableValues);
2400
-
2401
- for (var key in variableValues) {
2402
- if (isArray) {
2403
- addOptionToSelectControl(selectControl, variableValues[key], variableValues[key], selected);
2404
- } else {
2405
- addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2406
- }
2407
- }
2408
-
2409
- sortSelectControl(selectControl, filterOrderBy);
2410
- },
2411
- url: function url(filterDataSource, selectControl, filterOrderBy, selected) {
2412
- $__default['default'].ajax({
2413
- url: filterDataSource,
2414
- dataType: 'json',
2415
- success: function success(data) {
2416
- // eslint-disable-next-line guard-for-in
2417
- for (var key in data) {
2418
- addOptionToSelectControl(selectControl, key, data[key], selected);
2419
- }
2420
-
2421
- sortSelectControl(selectControl, filterOrderBy);
2422
- }
2423
- });
2424
- },
2425
- json: function json(filterDataSource, selectControl, filterOrderBy, selected) {
2426
- var variableValues = JSON.parse(filterDataSource); // eslint-disable-next-line guard-for-in
2427
-
2428
- for (var key in variableValues) {
2429
- addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2430
- }
2431
-
2432
- sortSelectControl(selectControl, filterOrderBy);
2433
- }
2434
- };
2435
-
2436
- exports.addOptionToSelectControl = addOptionToSelectControl;
2437
- exports.collectBootstrapCookies = collectBootstrapCookies;
2438
- exports.copyValues = copyValues;
2439
- exports.createControls = createControls;
2440
- exports.escapeID = escapeID;
2441
- exports.existOptionInSelectControl = existOptionInSelectControl;
2442
- exports.fixHeaderCSS = fixHeaderCSS;
2443
- exports.getControlContainer = getControlContainer;
2444
- exports.getCursorPosition = getCursorPosition;
2445
- exports.getDirectionOfSelectOptions = getDirectionOfSelectOptions;
2446
- exports.getElementClass = getElementClass;
2447
- exports.getFilterDataMethod = getFilterDataMethod;
2448
- exports.getOptionsFromSelectControl = getOptionsFromSelectControl;
2449
- exports.getSearchControls = getSearchControls;
2450
- exports.hasSelectControlElement = hasSelectControlElement;
2451
- exports.hideUnusedSelectOptions = hideUnusedSelectOptions;
2452
- exports.initFilterSelectControls = initFilterSelectControls;
2453
- exports.isColumnSearchableViaSelect = isColumnSearchableViaSelect;
2454
- exports.isFilterDataNotGiven = isFilterDataNotGiven;
2455
- exports.setCursorPosition = setCursorPosition;
2456
- exports.setValues = setValues;
2457
- exports.sortSelectControl = sortSelectControl;
2458
- exports.syncControls = syncControls;
2459
-
2460
- Object.defineProperty(exports, '__esModule', { value: true });
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
10
+
11
+ function _typeof(obj) {
12
+ "@babel/helpers - typeof";
13
+
14
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
15
+ _typeof = function (obj) {
16
+ return typeof obj;
17
+ };
18
+ } else {
19
+ _typeof = function (obj) {
20
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
21
+ };
22
+ }
23
+
24
+ return _typeof(obj);
25
+ }
26
+
27
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
28
+
29
+ function createCommonjsModule(fn, module) {
30
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
31
+ }
32
+
33
+ var check = function (it) {
34
+ return it && it.Math == Math && it;
35
+ };
36
+
37
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
38
+ var global_1 =
39
+ /* global globalThis -- safe */
40
+ check(typeof globalThis == 'object' && globalThis) ||
41
+ check(typeof window == 'object' && window) ||
42
+ check(typeof self == 'object' && self) ||
43
+ check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
44
+ // eslint-disable-next-line no-new-func -- fallback
45
+ (function () { return this; })() || Function('return this')();
46
+
47
+ var fails = function (exec) {
48
+ try {
49
+ return !!exec();
50
+ } catch (error) {
51
+ return true;
52
+ }
53
+ };
54
+
55
+ // Detect IE8's incomplete defineProperty implementation
56
+ var descriptors = !fails(function () {
57
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
58
+ });
59
+
60
+ var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
61
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
62
+
63
+ // Nashorn ~ JDK8 bug
64
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
65
+
66
+ // `Object.prototype.propertyIsEnumerable` method implementation
67
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
68
+ var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {
69
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
70
+ return !!descriptor && descriptor.enumerable;
71
+ } : nativePropertyIsEnumerable;
72
+
73
+ var objectPropertyIsEnumerable = {
74
+ f: f$4
75
+ };
76
+
77
+ var createPropertyDescriptor = function (bitmap, value) {
78
+ return {
79
+ enumerable: !(bitmap & 1),
80
+ configurable: !(bitmap & 2),
81
+ writable: !(bitmap & 4),
82
+ value: value
83
+ };
84
+ };
85
+
86
+ var toString = {}.toString;
87
+
88
+ var classofRaw = function (it) {
89
+ return toString.call(it).slice(8, -1);
90
+ };
91
+
92
+ var split = ''.split;
93
+
94
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
95
+ var indexedObject = fails(function () {
96
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
97
+ // eslint-disable-next-line no-prototype-builtins -- safe
98
+ return !Object('z').propertyIsEnumerable(0);
99
+ }) ? function (it) {
100
+ return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
101
+ } : Object;
102
+
103
+ // `RequireObjectCoercible` abstract operation
104
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
105
+ var requireObjectCoercible = function (it) {
106
+ if (it == undefined) throw TypeError("Can't call method on " + it);
107
+ return it;
108
+ };
109
+
110
+ // toObject with fallback for non-array-like ES3 strings
111
+
112
+
113
+
114
+ var toIndexedObject = function (it) {
115
+ return indexedObject(requireObjectCoercible(it));
116
+ };
117
+
118
+ var isObject = function (it) {
119
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
120
+ };
121
+
122
+ // `ToPrimitive` abstract operation
123
+ // https://tc39.es/ecma262/#sec-toprimitive
124
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
125
+ // and the second argument - flag - preferred type is a string
126
+ var toPrimitive = function (input, PREFERRED_STRING) {
127
+ if (!isObject(input)) return input;
128
+ var fn, val;
129
+ if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
130
+ if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
131
+ if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
132
+ throw TypeError("Can't convert object to primitive value");
133
+ };
134
+
135
+ var hasOwnProperty = {}.hasOwnProperty;
136
+
137
+ var has$1 = function (it, key) {
138
+ return hasOwnProperty.call(it, key);
139
+ };
140
+
141
+ var document$1 = global_1.document;
142
+ // typeof document.createElement is 'object' in old IE
143
+ var EXISTS = isObject(document$1) && isObject(document$1.createElement);
144
+
145
+ var documentCreateElement = function (it) {
146
+ return EXISTS ? document$1.createElement(it) : {};
147
+ };
148
+
149
+ // Thank's IE8 for his funny defineProperty
150
+ var ie8DomDefine = !descriptors && !fails(function () {
151
+ return Object.defineProperty(documentCreateElement('div'), 'a', {
152
+ get: function () { return 7; }
153
+ }).a != 7;
154
+ });
155
+
156
+ var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
157
+
158
+ // `Object.getOwnPropertyDescriptor` method
159
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
160
+ var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
161
+ O = toIndexedObject(O);
162
+ P = toPrimitive(P, true);
163
+ if (ie8DomDefine) try {
164
+ return nativeGetOwnPropertyDescriptor(O, P);
165
+ } catch (error) { /* empty */ }
166
+ if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
167
+ };
168
+
169
+ var objectGetOwnPropertyDescriptor = {
170
+ f: f$3
171
+ };
172
+
173
+ var anObject = function (it) {
174
+ if (!isObject(it)) {
175
+ throw TypeError(String(it) + ' is not an object');
176
+ } return it;
177
+ };
178
+
179
+ var nativeDefineProperty = Object.defineProperty;
180
+
181
+ // `Object.defineProperty` method
182
+ // https://tc39.es/ecma262/#sec-object.defineproperty
183
+ var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
184
+ anObject(O);
185
+ P = toPrimitive(P, true);
186
+ anObject(Attributes);
187
+ if (ie8DomDefine) try {
188
+ return nativeDefineProperty(O, P, Attributes);
189
+ } catch (error) { /* empty */ }
190
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
191
+ if ('value' in Attributes) O[P] = Attributes.value;
192
+ return O;
193
+ };
194
+
195
+ var objectDefineProperty = {
196
+ f: f$2
197
+ };
198
+
199
+ var createNonEnumerableProperty = descriptors ? function (object, key, value) {
200
+ return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
201
+ } : function (object, key, value) {
202
+ object[key] = value;
203
+ return object;
204
+ };
205
+
206
+ var setGlobal = function (key, value) {
207
+ try {
208
+ createNonEnumerableProperty(global_1, key, value);
209
+ } catch (error) {
210
+ global_1[key] = value;
211
+ } return value;
212
+ };
213
+
214
+ var SHARED = '__core-js_shared__';
215
+ var store$1 = global_1[SHARED] || setGlobal(SHARED, {});
216
+
217
+ var sharedStore = store$1;
218
+
219
+ var functionToString = Function.toString;
220
+
221
+ // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
222
+ if (typeof sharedStore.inspectSource != 'function') {
223
+ sharedStore.inspectSource = function (it) {
224
+ return functionToString.call(it);
225
+ };
226
+ }
227
+
228
+ var inspectSource = sharedStore.inspectSource;
229
+
230
+ var WeakMap$1 = global_1.WeakMap;
231
+
232
+ var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
233
+
234
+ var shared = createCommonjsModule(function (module) {
235
+ (module.exports = function (key, value) {
236
+ return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
237
+ })('versions', []).push({
238
+ version: '3.9.1',
239
+ mode: 'global',
240
+ copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
241
+ });
242
+ });
243
+
244
+ var id = 0;
245
+ var postfix = Math.random();
246
+
247
+ var uid = function (key) {
248
+ return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
249
+ };
250
+
251
+ var keys = shared('keys');
252
+
253
+ var sharedKey = function (key) {
254
+ return keys[key] || (keys[key] = uid(key));
255
+ };
256
+
257
+ var hiddenKeys$1 = {};
258
+
259
+ var WeakMap = global_1.WeakMap;
260
+ var set, get, has;
261
+
262
+ var enforce = function (it) {
263
+ return has(it) ? get(it) : set(it, {});
264
+ };
265
+
266
+ var getterFor = function (TYPE) {
267
+ return function (it) {
268
+ var state;
269
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
270
+ throw TypeError('Incompatible receiver, ' + TYPE + ' required');
271
+ } return state;
272
+ };
273
+ };
274
+
275
+ if (nativeWeakMap) {
276
+ var store = sharedStore.state || (sharedStore.state = new WeakMap());
277
+ var wmget = store.get;
278
+ var wmhas = store.has;
279
+ var wmset = store.set;
280
+ set = function (it, metadata) {
281
+ metadata.facade = it;
282
+ wmset.call(store, it, metadata);
283
+ return metadata;
284
+ };
285
+ get = function (it) {
286
+ return wmget.call(store, it) || {};
287
+ };
288
+ has = function (it) {
289
+ return wmhas.call(store, it);
290
+ };
291
+ } else {
292
+ var STATE = sharedKey('state');
293
+ hiddenKeys$1[STATE] = true;
294
+ set = function (it, metadata) {
295
+ metadata.facade = it;
296
+ createNonEnumerableProperty(it, STATE, metadata);
297
+ return metadata;
298
+ };
299
+ get = function (it) {
300
+ return has$1(it, STATE) ? it[STATE] : {};
301
+ };
302
+ has = function (it) {
303
+ return has$1(it, STATE);
304
+ };
305
+ }
306
+
307
+ var internalState = {
308
+ set: set,
309
+ get: get,
310
+ has: has,
311
+ enforce: enforce,
312
+ getterFor: getterFor
313
+ };
314
+
315
+ var redefine = createCommonjsModule(function (module) {
316
+ var getInternalState = internalState.get;
317
+ var enforceInternalState = internalState.enforce;
318
+ var TEMPLATE = String(String).split('String');
319
+
320
+ (module.exports = function (O, key, value, options) {
321
+ var unsafe = options ? !!options.unsafe : false;
322
+ var simple = options ? !!options.enumerable : false;
323
+ var noTargetGet = options ? !!options.noTargetGet : false;
324
+ var state;
325
+ if (typeof value == 'function') {
326
+ if (typeof key == 'string' && !has$1(value, 'name')) {
327
+ createNonEnumerableProperty(value, 'name', key);
328
+ }
329
+ state = enforceInternalState(value);
330
+ if (!state.source) {
331
+ state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
332
+ }
333
+ }
334
+ if (O === global_1) {
335
+ if (simple) O[key] = value;
336
+ else setGlobal(key, value);
337
+ return;
338
+ } else if (!unsafe) {
339
+ delete O[key];
340
+ } else if (!noTargetGet && O[key]) {
341
+ simple = true;
342
+ }
343
+ if (simple) O[key] = value;
344
+ else createNonEnumerableProperty(O, key, value);
345
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
346
+ })(Function.prototype, 'toString', function toString() {
347
+ return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
348
+ });
349
+ });
350
+
351
+ var path = global_1;
352
+
353
+ var aFunction$1 = function (variable) {
354
+ return typeof variable == 'function' ? variable : undefined;
355
+ };
356
+
357
+ var getBuiltIn = function (namespace, method) {
358
+ return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global_1[namespace])
359
+ : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
360
+ };
361
+
362
+ var ceil = Math.ceil;
363
+ var floor$1 = Math.floor;
364
+
365
+ // `ToInteger` abstract operation
366
+ // https://tc39.es/ecma262/#sec-tointeger
367
+ var toInteger = function (argument) {
368
+ return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$1 : ceil)(argument);
369
+ };
370
+
371
+ var min$3 = Math.min;
372
+
373
+ // `ToLength` abstract operation
374
+ // https://tc39.es/ecma262/#sec-tolength
375
+ var toLength = function (argument) {
376
+ return argument > 0 ? min$3(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
377
+ };
378
+
379
+ var max$1 = Math.max;
380
+ var min$2 = Math.min;
381
+
382
+ // Helper for a popular repeating case of the spec:
383
+ // Let integer be ? ToInteger(index).
384
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
385
+ var toAbsoluteIndex = function (index, length) {
386
+ var integer = toInteger(index);
387
+ return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length);
388
+ };
389
+
390
+ // `Array.prototype.{ indexOf, includes }` methods implementation
391
+ var createMethod$3 = function (IS_INCLUDES) {
392
+ return function ($this, el, fromIndex) {
393
+ var O = toIndexedObject($this);
394
+ var length = toLength(O.length);
395
+ var index = toAbsoluteIndex(fromIndex, length);
396
+ var value;
397
+ // Array#includes uses SameValueZero equality algorithm
398
+ // eslint-disable-next-line no-self-compare -- NaN check
399
+ if (IS_INCLUDES && el != el) while (length > index) {
400
+ value = O[index++];
401
+ // eslint-disable-next-line no-self-compare -- NaN check
402
+ if (value != value) return true;
403
+ // Array#indexOf ignores holes, Array#includes - not
404
+ } else for (;length > index; index++) {
405
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
406
+ } return !IS_INCLUDES && -1;
407
+ };
408
+ };
409
+
410
+ var arrayIncludes = {
411
+ // `Array.prototype.includes` method
412
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
413
+ includes: createMethod$3(true),
414
+ // `Array.prototype.indexOf` method
415
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
416
+ indexOf: createMethod$3(false)
417
+ };
418
+
419
+ var indexOf = arrayIncludes.indexOf;
420
+
421
+
422
+ var objectKeysInternal = function (object, names) {
423
+ var O = toIndexedObject(object);
424
+ var i = 0;
425
+ var result = [];
426
+ var key;
427
+ for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
428
+ // Don't enum bug & hidden keys
429
+ while (names.length > i) if (has$1(O, key = names[i++])) {
430
+ ~indexOf(result, key) || result.push(key);
431
+ }
432
+ return result;
433
+ };
434
+
435
+ // IE8- don't enum bug keys
436
+ var enumBugKeys = [
437
+ 'constructor',
438
+ 'hasOwnProperty',
439
+ 'isPrototypeOf',
440
+ 'propertyIsEnumerable',
441
+ 'toLocaleString',
442
+ 'toString',
443
+ 'valueOf'
444
+ ];
445
+
446
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
447
+
448
+ // `Object.getOwnPropertyNames` method
449
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
450
+ var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
451
+ return objectKeysInternal(O, hiddenKeys);
452
+ };
453
+
454
+ var objectGetOwnPropertyNames = {
455
+ f: f$1
456
+ };
457
+
458
+ var f = Object.getOwnPropertySymbols;
459
+
460
+ var objectGetOwnPropertySymbols = {
461
+ f: f
462
+ };
463
+
464
+ // all object keys, includes non-enumerable and symbols
465
+ var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
466
+ var keys = objectGetOwnPropertyNames.f(anObject(it));
467
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
468
+ return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
469
+ };
470
+
471
+ var copyConstructorProperties = function (target, source) {
472
+ var keys = ownKeys(source);
473
+ var defineProperty = objectDefineProperty.f;
474
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
475
+ for (var i = 0; i < keys.length; i++) {
476
+ var key = keys[i];
477
+ if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
478
+ }
479
+ };
480
+
481
+ var replacement = /#|\.prototype\./;
482
+
483
+ var isForced = function (feature, detection) {
484
+ var value = data[normalize(feature)];
485
+ return value == POLYFILL ? true
486
+ : value == NATIVE ? false
487
+ : typeof detection == 'function' ? fails(detection)
488
+ : !!detection;
489
+ };
490
+
491
+ var normalize = isForced.normalize = function (string) {
492
+ return String(string).replace(replacement, '.').toLowerCase();
493
+ };
494
+
495
+ var data = isForced.data = {};
496
+ var NATIVE = isForced.NATIVE = 'N';
497
+ var POLYFILL = isForced.POLYFILL = 'P';
498
+
499
+ var isForced_1 = isForced;
500
+
501
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
502
+
503
+
504
+
505
+
506
+
507
+
508
+ /*
509
+ options.target - name of the target object
510
+ options.global - target is the global object
511
+ options.stat - export as static methods of target
512
+ options.proto - export as prototype methods of target
513
+ options.real - real prototype method for the `pure` version
514
+ options.forced - export even if the native feature is available
515
+ options.bind - bind methods to the target, required for the `pure` version
516
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
517
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
518
+ options.sham - add a flag to not completely full polyfills
519
+ options.enumerable - export as enumerable property
520
+ options.noTargetGet - prevent calling a getter on target
521
+ */
522
+ var _export = function (options, source) {
523
+ var TARGET = options.target;
524
+ var GLOBAL = options.global;
525
+ var STATIC = options.stat;
526
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
527
+ if (GLOBAL) {
528
+ target = global_1;
529
+ } else if (STATIC) {
530
+ target = global_1[TARGET] || setGlobal(TARGET, {});
531
+ } else {
532
+ target = (global_1[TARGET] || {}).prototype;
533
+ }
534
+ if (target) for (key in source) {
535
+ sourceProperty = source[key];
536
+ if (options.noTargetGet) {
537
+ descriptor = getOwnPropertyDescriptor(target, key);
538
+ targetProperty = descriptor && descriptor.value;
539
+ } else targetProperty = target[key];
540
+ FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
541
+ // contained in target
542
+ if (!FORCED && targetProperty !== undefined) {
543
+ if (typeof sourceProperty === typeof targetProperty) continue;
544
+ copyConstructorProperties(sourceProperty, targetProperty);
545
+ }
546
+ // add a flag to not completely full polyfills
547
+ if (options.sham || (targetProperty && targetProperty.sham)) {
548
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
549
+ }
550
+ // extend global
551
+ redefine(target, key, sourceProperty, options);
552
+ }
553
+ };
554
+
555
+ var aFunction = function (it) {
556
+ if (typeof it != 'function') {
557
+ throw TypeError(String(it) + ' is not a function');
558
+ } return it;
559
+ };
560
+
561
+ // optional / simple context binding
562
+ var functionBindContext = function (fn, that, length) {
563
+ aFunction(fn);
564
+ if (that === undefined) return fn;
565
+ switch (length) {
566
+ case 0: return function () {
567
+ return fn.call(that);
568
+ };
569
+ case 1: return function (a) {
570
+ return fn.call(that, a);
571
+ };
572
+ case 2: return function (a, b) {
573
+ return fn.call(that, a, b);
574
+ };
575
+ case 3: return function (a, b, c) {
576
+ return fn.call(that, a, b, c);
577
+ };
578
+ }
579
+ return function (/* ...args */) {
580
+ return fn.apply(that, arguments);
581
+ };
582
+ };
583
+
584
+ // `ToObject` abstract operation
585
+ // https://tc39.es/ecma262/#sec-toobject
586
+ var toObject = function (argument) {
587
+ return Object(requireObjectCoercible(argument));
588
+ };
589
+
590
+ // `IsArray` abstract operation
591
+ // https://tc39.es/ecma262/#sec-isarray
592
+ var isArray = Array.isArray || function isArray(arg) {
593
+ return classofRaw(arg) == 'Array';
594
+ };
595
+
596
+ var engineIsNode = classofRaw(global_1.process) == 'process';
597
+
598
+ var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
599
+
600
+ var process = global_1.process;
601
+ var versions = process && process.versions;
602
+ var v8 = versions && versions.v8;
603
+ var match, version;
604
+
605
+ if (v8) {
606
+ match = v8.split('.');
607
+ version = match[0] + match[1];
608
+ } else if (engineUserAgent) {
609
+ match = engineUserAgent.match(/Edge\/(\d+)/);
610
+ if (!match || match[1] >= 74) {
611
+ match = engineUserAgent.match(/Chrome\/(\d+)/);
612
+ if (match) version = match[1];
613
+ }
614
+ }
615
+
616
+ var engineV8Version = version && +version;
617
+
618
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
619
+ /* global Symbol -- required for testing */
620
+ return !Symbol.sham &&
621
+ // Chrome 38 Symbol has incorrect toString conversion
622
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
623
+ (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
624
+ });
625
+
626
+ var useSymbolAsUid = nativeSymbol
627
+ /* global Symbol -- safe */
628
+ && !Symbol.sham
629
+ && typeof Symbol.iterator == 'symbol';
630
+
631
+ var WellKnownSymbolsStore = shared('wks');
632
+ var Symbol$1 = global_1.Symbol;
633
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
634
+
635
+ var wellKnownSymbol = function (name) {
636
+ if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
637
+ if (nativeSymbol && has$1(Symbol$1, name)) {
638
+ WellKnownSymbolsStore[name] = Symbol$1[name];
639
+ } else {
640
+ WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
641
+ }
642
+ } return WellKnownSymbolsStore[name];
643
+ };
644
+
645
+ var SPECIES$3 = wellKnownSymbol('species');
646
+
647
+ // `ArraySpeciesCreate` abstract operation
648
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
649
+ var arraySpeciesCreate = function (originalArray, length) {
650
+ var C;
651
+ if (isArray(originalArray)) {
652
+ C = originalArray.constructor;
653
+ // cross-realm fallback
654
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
655
+ else if (isObject(C)) {
656
+ C = C[SPECIES$3];
657
+ if (C === null) C = undefined;
658
+ }
659
+ } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
660
+ };
661
+
662
+ var push = [].push;
663
+
664
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
665
+ var createMethod$2 = function (TYPE) {
666
+ var IS_MAP = TYPE == 1;
667
+ var IS_FILTER = TYPE == 2;
668
+ var IS_SOME = TYPE == 3;
669
+ var IS_EVERY = TYPE == 4;
670
+ var IS_FIND_INDEX = TYPE == 6;
671
+ var IS_FILTER_OUT = TYPE == 7;
672
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
673
+ return function ($this, callbackfn, that, specificCreate) {
674
+ var O = toObject($this);
675
+ var self = indexedObject(O);
676
+ var boundFunction = functionBindContext(callbackfn, that, 3);
677
+ var length = toLength(self.length);
678
+ var index = 0;
679
+ var create = specificCreate || arraySpeciesCreate;
680
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
681
+ var value, result;
682
+ for (;length > index; index++) if (NO_HOLES || index in self) {
683
+ value = self[index];
684
+ result = boundFunction(value, index, O);
685
+ if (TYPE) {
686
+ if (IS_MAP) target[index] = result; // map
687
+ else if (result) switch (TYPE) {
688
+ case 3: return true; // some
689
+ case 5: return value; // find
690
+ case 6: return index; // findIndex
691
+ case 2: push.call(target, value); // filter
692
+ } else switch (TYPE) {
693
+ case 4: return false; // every
694
+ case 7: push.call(target, value); // filterOut
695
+ }
696
+ }
697
+ }
698
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
699
+ };
700
+ };
701
+
702
+ var arrayIteration = {
703
+ // `Array.prototype.forEach` method
704
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
705
+ forEach: createMethod$2(0),
706
+ // `Array.prototype.map` method
707
+ // https://tc39.es/ecma262/#sec-array.prototype.map
708
+ map: createMethod$2(1),
709
+ // `Array.prototype.filter` method
710
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
711
+ filter: createMethod$2(2),
712
+ // `Array.prototype.some` method
713
+ // https://tc39.es/ecma262/#sec-array.prototype.some
714
+ some: createMethod$2(3),
715
+ // `Array.prototype.every` method
716
+ // https://tc39.es/ecma262/#sec-array.prototype.every
717
+ every: createMethod$2(4),
718
+ // `Array.prototype.find` method
719
+ // https://tc39.es/ecma262/#sec-array.prototype.find
720
+ find: createMethod$2(5),
721
+ // `Array.prototype.findIndex` method
722
+ // https://tc39.es/ecma262/#sec-array.prototype.findIndex
723
+ findIndex: createMethod$2(6),
724
+ // `Array.prototype.filterOut` method
725
+ // https://github.com/tc39/proposal-array-filtering
726
+ filterOut: createMethod$2(7)
727
+ };
728
+
729
+ // `Object.keys` method
730
+ // https://tc39.es/ecma262/#sec-object.keys
731
+ var objectKeys = Object.keys || function keys(O) {
732
+ return objectKeysInternal(O, enumBugKeys);
733
+ };
734
+
735
+ // `Object.defineProperties` method
736
+ // https://tc39.es/ecma262/#sec-object.defineproperties
737
+ var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
738
+ anObject(O);
739
+ var keys = objectKeys(Properties);
740
+ var length = keys.length;
741
+ var index = 0;
742
+ var key;
743
+ while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
744
+ return O;
745
+ };
746
+
747
+ var html = getBuiltIn('document', 'documentElement');
748
+
749
+ var GT = '>';
750
+ var LT = '<';
751
+ var PROTOTYPE = 'prototype';
752
+ var SCRIPT = 'script';
753
+ var IE_PROTO = sharedKey('IE_PROTO');
754
+
755
+ var EmptyConstructor = function () { /* empty */ };
756
+
757
+ var scriptTag = function (content) {
758
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
759
+ };
760
+
761
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
762
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
763
+ activeXDocument.write(scriptTag(''));
764
+ activeXDocument.close();
765
+ var temp = activeXDocument.parentWindow.Object;
766
+ activeXDocument = null; // avoid memory leak
767
+ return temp;
768
+ };
769
+
770
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
771
+ var NullProtoObjectViaIFrame = function () {
772
+ // Thrash, waste and sodomy: IE GC bug
773
+ var iframe = documentCreateElement('iframe');
774
+ var JS = 'java' + SCRIPT + ':';
775
+ var iframeDocument;
776
+ iframe.style.display = 'none';
777
+ html.appendChild(iframe);
778
+ // https://github.com/zloirock/core-js/issues/475
779
+ iframe.src = String(JS);
780
+ iframeDocument = iframe.contentWindow.document;
781
+ iframeDocument.open();
782
+ iframeDocument.write(scriptTag('document.F=Object'));
783
+ iframeDocument.close();
784
+ return iframeDocument.F;
785
+ };
786
+
787
+ // Check for document.domain and active x support
788
+ // No need to use active x approach when document.domain is not set
789
+ // see https://github.com/es-shims/es5-shim/issues/150
790
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
791
+ // avoid IE GC bug
792
+ var activeXDocument;
793
+ var NullProtoObject = function () {
794
+ try {
795
+ /* global ActiveXObject -- old IE */
796
+ activeXDocument = document.domain && new ActiveXObject('htmlfile');
797
+ } catch (error) { /* ignore */ }
798
+ NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
799
+ var length = enumBugKeys.length;
800
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
801
+ return NullProtoObject();
802
+ };
803
+
804
+ hiddenKeys$1[IE_PROTO] = true;
805
+
806
+ // `Object.create` method
807
+ // https://tc39.es/ecma262/#sec-object.create
808
+ var objectCreate = Object.create || function create(O, Properties) {
809
+ var result;
810
+ if (O !== null) {
811
+ EmptyConstructor[PROTOTYPE] = anObject(O);
812
+ result = new EmptyConstructor();
813
+ EmptyConstructor[PROTOTYPE] = null;
814
+ // add "__proto__" for Object.getPrototypeOf polyfill
815
+ result[IE_PROTO] = O;
816
+ } else result = NullProtoObject();
817
+ return Properties === undefined ? result : objectDefineProperties(result, Properties);
818
+ };
819
+
820
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
821
+ var ArrayPrototype = Array.prototype;
822
+
823
+ // Array.prototype[@@unscopables]
824
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
825
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
826
+ objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
827
+ configurable: true,
828
+ value: objectCreate(null)
829
+ });
830
+ }
831
+
832
+ // add a key to Array.prototype[@@unscopables]
833
+ var addToUnscopables = function (key) {
834
+ ArrayPrototype[UNSCOPABLES][key] = true;
835
+ };
836
+
837
+ var $find = arrayIteration.find;
838
+
839
+
840
+ var FIND = 'find';
841
+ var SKIPS_HOLES = true;
842
+
843
+ // Shouldn't skip holes
844
+ if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
845
+
846
+ // `Array.prototype.find` method
847
+ // https://tc39.es/ecma262/#sec-array.prototype.find
848
+ _export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
849
+ find: function find(callbackfn /* , that = undefined */) {
850
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
851
+ }
852
+ });
853
+
854
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
855
+ addToUnscopables(FIND);
856
+
857
+ var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
858
+ var test$1 = {};
859
+
860
+ test$1[TO_STRING_TAG$1] = 'z';
861
+
862
+ var toStringTagSupport = String(test$1) === '[object z]';
863
+
864
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
865
+ // ES3 wrong here
866
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
867
+
868
+ // fallback for IE11 Script Access Denied error
869
+ var tryGet = function (it, key) {
870
+ try {
871
+ return it[key];
872
+ } catch (error) { /* empty */ }
873
+ };
874
+
875
+ // getting tag from ES6+ `Object.prototype.toString`
876
+ var classof = toStringTagSupport ? classofRaw : function (it) {
877
+ var O, tag, result;
878
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
879
+ // @@toStringTag case
880
+ : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
881
+ // builtinTag case
882
+ : CORRECT_ARGUMENTS ? classofRaw(O)
883
+ // ES3 arguments fallback
884
+ : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
885
+ };
886
+
887
+ // `Object.prototype.toString` method implementation
888
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
889
+ var objectToString = toStringTagSupport ? {}.toString : function toString() {
890
+ return '[object ' + classof(this) + ']';
891
+ };
892
+
893
+ // `Object.prototype.toString` method
894
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
895
+ if (!toStringTagSupport) {
896
+ redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
897
+ }
898
+
899
+ // `RegExp.prototype.flags` getter implementation
900
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
901
+ var regexpFlags = function () {
902
+ var that = anObject(this);
903
+ var result = '';
904
+ if (that.global) result += 'g';
905
+ if (that.ignoreCase) result += 'i';
906
+ if (that.multiline) result += 'm';
907
+ if (that.dotAll) result += 's';
908
+ if (that.unicode) result += 'u';
909
+ if (that.sticky) result += 'y';
910
+ return result;
911
+ };
912
+
913
+ var TO_STRING = 'toString';
914
+ var RegExpPrototype = RegExp.prototype;
915
+ var nativeToString = RegExpPrototype[TO_STRING];
916
+
917
+ var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
918
+ // FF44- RegExp#toString has a wrong name
919
+ var INCORRECT_NAME = nativeToString.name != TO_STRING;
920
+
921
+ // `RegExp.prototype.toString` method
922
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
923
+ if (NOT_GENERIC || INCORRECT_NAME) {
924
+ redefine(RegExp.prototype, TO_STRING, function toString() {
925
+ var R = anObject(this);
926
+ var p = String(R.source);
927
+ var rf = R.flags;
928
+ var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
929
+ return '/' + p + '/' + f;
930
+ }, { unsafe: true });
931
+ }
932
+
933
+ // a string of all valid unicode whitespaces
934
+ var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
935
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
936
+
937
+ var whitespace = '[' + whitespaces + ']';
938
+ var ltrim = RegExp('^' + whitespace + whitespace + '*');
939
+ var rtrim = RegExp(whitespace + whitespace + '*$');
940
+
941
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
942
+ var createMethod$1 = function (TYPE) {
943
+ return function ($this) {
944
+ var string = String(requireObjectCoercible($this));
945
+ if (TYPE & 1) string = string.replace(ltrim, '');
946
+ if (TYPE & 2) string = string.replace(rtrim, '');
947
+ return string;
948
+ };
949
+ };
950
+
951
+ var stringTrim = {
952
+ // `String.prototype.{ trimLeft, trimStart }` methods
953
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
954
+ start: createMethod$1(1),
955
+ // `String.prototype.{ trimRight, trimEnd }` methods
956
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
957
+ end: createMethod$1(2),
958
+ // `String.prototype.trim` method
959
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
960
+ trim: createMethod$1(3)
961
+ };
962
+
963
+ var non = '\u200B\u0085\u180E';
964
+
965
+ // check that a method works with the correct list
966
+ // of whitespaces and has a correct name
967
+ var stringTrimForced = function (METHOD_NAME) {
968
+ return fails(function () {
969
+ return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
970
+ });
971
+ };
972
+
973
+ var $trim = stringTrim.trim;
974
+
975
+
976
+ // `String.prototype.trim` method
977
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
978
+ _export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {
979
+ trim: function trim() {
980
+ return $trim(this);
981
+ }
982
+ });
983
+
984
+ var createProperty = function (object, key, value) {
985
+ var propertyKey = toPrimitive(key);
986
+ if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
987
+ else object[propertyKey] = value;
988
+ };
989
+
990
+ var SPECIES$2 = wellKnownSymbol('species');
991
+
992
+ var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
993
+ // We can't use this feature detection in V8 since it causes
994
+ // deoptimization and serious performance degradation
995
+ // https://github.com/zloirock/core-js/issues/677
996
+ return engineV8Version >= 51 || !fails(function () {
997
+ var array = [];
998
+ var constructor = array.constructor = {};
999
+ constructor[SPECIES$2] = function () {
1000
+ return { foo: 1 };
1001
+ };
1002
+ return array[METHOD_NAME](Boolean).foo !== 1;
1003
+ });
1004
+ };
1005
+
1006
+ var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1007
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
1008
+ var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1009
+
1010
+ // We can't use this feature detection in V8 since it causes
1011
+ // deoptimization and serious performance degradation
1012
+ // https://github.com/zloirock/core-js/issues/679
1013
+ var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
1014
+ var array = [];
1015
+ array[IS_CONCAT_SPREADABLE] = false;
1016
+ return array.concat()[0] !== array;
1017
+ });
1018
+
1019
+ var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
1020
+
1021
+ var isConcatSpreadable = function (O) {
1022
+ if (!isObject(O)) return false;
1023
+ var spreadable = O[IS_CONCAT_SPREADABLE];
1024
+ return spreadable !== undefined ? !!spreadable : isArray(O);
1025
+ };
1026
+
1027
+ var FORCED$1 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1028
+
1029
+ // `Array.prototype.concat` method
1030
+ // https://tc39.es/ecma262/#sec-array.prototype.concat
1031
+ // with adding support of @@isConcatSpreadable and @@species
1032
+ _export({ target: 'Array', proto: true, forced: FORCED$1 }, {
1033
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
1034
+ concat: function concat(arg) {
1035
+ var O = toObject(this);
1036
+ var A = arraySpeciesCreate(O, 0);
1037
+ var n = 0;
1038
+ var i, k, length, len, E;
1039
+ for (i = -1, length = arguments.length; i < length; i++) {
1040
+ E = i === -1 ? O : arguments[i];
1041
+ if (isConcatSpreadable(E)) {
1042
+ len = toLength(E.length);
1043
+ if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1044
+ for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1045
+ } else {
1046
+ if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1047
+ createProperty(A, n++, E);
1048
+ }
1049
+ }
1050
+ A.length = n;
1051
+ return A;
1052
+ }
1053
+ });
1054
+
1055
+ var arrayMethodIsStrict = function (METHOD_NAME, argument) {
1056
+ var method = [][METHOD_NAME];
1057
+ return !!method && fails(function () {
1058
+ // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
1059
+ method.call(null, argument || function () { throw 1; }, 1);
1060
+ });
1061
+ };
1062
+
1063
+ var test = [];
1064
+ var nativeSort = test.sort;
1065
+
1066
+ // IE8-
1067
+ var FAILS_ON_UNDEFINED = fails(function () {
1068
+ test.sort(undefined);
1069
+ });
1070
+ // V8 bug
1071
+ var FAILS_ON_NULL = fails(function () {
1072
+ test.sort(null);
1073
+ });
1074
+ // Old WebKit
1075
+ var STRICT_METHOD$3 = arrayMethodIsStrict('sort');
1076
+
1077
+ var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$3;
1078
+
1079
+ // `Array.prototype.sort` method
1080
+ // https://tc39.es/ecma262/#sec-array.prototype.sort
1081
+ _export({ target: 'Array', proto: true, forced: FORCED }, {
1082
+ sort: function sort(comparefn) {
1083
+ return comparefn === undefined
1084
+ ? nativeSort.call(toObject(this))
1085
+ : nativeSort.call(toObject(this), aFunction(comparefn));
1086
+ }
1087
+ });
1088
+
1089
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
1090
+ // so we use an intermediate function.
1091
+ function RE(s, f) {
1092
+ return RegExp(s, f);
1093
+ }
1094
+
1095
+ var UNSUPPORTED_Y$1 = fails(function () {
1096
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1097
+ var re = RE('a', 'y');
1098
+ re.lastIndex = 2;
1099
+ return re.exec('abcd') != null;
1100
+ });
1101
+
1102
+ var BROKEN_CARET = fails(function () {
1103
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1104
+ var re = RE('^r', 'gy');
1105
+ re.lastIndex = 2;
1106
+ return re.exec('str') != null;
1107
+ });
1108
+
1109
+ var regexpStickyHelpers = {
1110
+ UNSUPPORTED_Y: UNSUPPORTED_Y$1,
1111
+ BROKEN_CARET: BROKEN_CARET
1112
+ };
1113
+
1114
+ var nativeExec = RegExp.prototype.exec;
1115
+ // This always refers to the native implementation, because the
1116
+ // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
1117
+ // which loads this file before patching the method.
1118
+ var nativeReplace = String.prototype.replace;
1119
+
1120
+ var patchedExec = nativeExec;
1121
+
1122
+ var UPDATES_LAST_INDEX_WRONG = (function () {
1123
+ var re1 = /a/;
1124
+ var re2 = /b*/g;
1125
+ nativeExec.call(re1, 'a');
1126
+ nativeExec.call(re2, 'a');
1127
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1128
+ })();
1129
+
1130
+ var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1131
+
1132
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
1133
+ // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
1134
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1135
+
1136
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
1137
+
1138
+ if (PATCH) {
1139
+ patchedExec = function exec(str) {
1140
+ var re = this;
1141
+ var lastIndex, reCopy, match, i;
1142
+ var sticky = UNSUPPORTED_Y && re.sticky;
1143
+ var flags = regexpFlags.call(re);
1144
+ var source = re.source;
1145
+ var charsAdded = 0;
1146
+ var strCopy = str;
1147
+
1148
+ if (sticky) {
1149
+ flags = flags.replace('y', '');
1150
+ if (flags.indexOf('g') === -1) {
1151
+ flags += 'g';
1152
+ }
1153
+
1154
+ strCopy = String(str).slice(re.lastIndex);
1155
+ // Support anchored sticky behavior.
1156
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1157
+ source = '(?: ' + source + ')';
1158
+ strCopy = ' ' + strCopy;
1159
+ charsAdded++;
1160
+ }
1161
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
1162
+ // simulate the 'y' flag.
1163
+ reCopy = new RegExp('^(?:' + source + ')', flags);
1164
+ }
1165
+
1166
+ if (NPCG_INCLUDED) {
1167
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1168
+ }
1169
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1170
+
1171
+ match = nativeExec.call(sticky ? reCopy : re, strCopy);
1172
+
1173
+ if (sticky) {
1174
+ if (match) {
1175
+ match.input = match.input.slice(charsAdded);
1176
+ match[0] = match[0].slice(charsAdded);
1177
+ match.index = re.lastIndex;
1178
+ re.lastIndex += match[0].length;
1179
+ } else re.lastIndex = 0;
1180
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
1181
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1182
+ }
1183
+ if (NPCG_INCLUDED && match && match.length > 1) {
1184
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
1185
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1186
+ nativeReplace.call(match[0], reCopy, function () {
1187
+ for (i = 1; i < arguments.length - 2; i++) {
1188
+ if (arguments[i] === undefined) match[i] = undefined;
1189
+ }
1190
+ });
1191
+ }
1192
+
1193
+ return match;
1194
+ };
1195
+ }
1196
+
1197
+ var regexpExec = patchedExec;
1198
+
1199
+ // `RegExp.prototype.exec` method
1200
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
1201
+ _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
1202
+ exec: regexpExec
1203
+ });
1204
+
1205
+ // TODO: Remove from `core-js@4` since it's moved to entry points
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+ var SPECIES$1 = wellKnownSymbol('species');
1214
+
1215
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1216
+ // #replace needs built-in support for named groups.
1217
+ // #match works fine because it just return the exec results, even if it has
1218
+ // a "grops" property.
1219
+ var re = /./;
1220
+ re.exec = function () {
1221
+ var result = [];
1222
+ result.groups = { a: '7' };
1223
+ return result;
1224
+ };
1225
+ return ''.replace(re, '$<a>') !== '7';
1226
+ });
1227
+
1228
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
1229
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1230
+ var REPLACE_KEEPS_$0 = (function () {
1231
+ return 'a'.replace(/./, '$0') === '$0';
1232
+ })();
1233
+
1234
+ var REPLACE = wellKnownSymbol('replace');
1235
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
1236
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
1237
+ if (/./[REPLACE]) {
1238
+ return /./[REPLACE]('a', '$0') === '';
1239
+ }
1240
+ return false;
1241
+ })();
1242
+
1243
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1244
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1245
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1246
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
1247
+ var re = /(?:)/;
1248
+ var originalExec = re.exec;
1249
+ re.exec = function () { return originalExec.apply(this, arguments); };
1250
+ var result = 'ab'.split(re);
1251
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1252
+ });
1253
+
1254
+ var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1255
+ var SYMBOL = wellKnownSymbol(KEY);
1256
+
1257
+ var DELEGATES_TO_SYMBOL = !fails(function () {
1258
+ // String methods call symbol-named RegEp methods
1259
+ var O = {};
1260
+ O[SYMBOL] = function () { return 7; };
1261
+ return ''[KEY](O) != 7;
1262
+ });
1263
+
1264
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1265
+ // Symbol-named RegExp methods call .exec
1266
+ var execCalled = false;
1267
+ var re = /a/;
1268
+
1269
+ if (KEY === 'split') {
1270
+ // We can't use real regex here since it causes deoptimization
1271
+ // and serious performance degradation in V8
1272
+ // https://github.com/zloirock/core-js/issues/306
1273
+ re = {};
1274
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
1275
+ // a new one. We need to return the patched regex when creating the new one.
1276
+ re.constructor = {};
1277
+ re.constructor[SPECIES$1] = function () { return re; };
1278
+ re.flags = '';
1279
+ re[SYMBOL] = /./[SYMBOL];
1280
+ }
1281
+
1282
+ re.exec = function () { execCalled = true; return null; };
1283
+
1284
+ re[SYMBOL]('');
1285
+ return !execCalled;
1286
+ });
1287
+
1288
+ if (
1289
+ !DELEGATES_TO_SYMBOL ||
1290
+ !DELEGATES_TO_EXEC ||
1291
+ (KEY === 'replace' && !(
1292
+ REPLACE_SUPPORTS_NAMED_GROUPS &&
1293
+ REPLACE_KEEPS_$0 &&
1294
+ !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1295
+ )) ||
1296
+ (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1297
+ ) {
1298
+ var nativeRegExpMethod = /./[SYMBOL];
1299
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1300
+ if (regexp.exec === regexpExec) {
1301
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1302
+ // The native String method already delegates to @@method (this
1303
+ // polyfilled function), leasing to infinite recursion.
1304
+ // We avoid it by directly calling the native @@method method.
1305
+ return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1306
+ }
1307
+ return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1308
+ }
1309
+ return { done: false };
1310
+ }, {
1311
+ REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
1312
+ REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
1313
+ });
1314
+ var stringMethod = methods[0];
1315
+ var regexMethod = methods[1];
1316
+
1317
+ redefine(String.prototype, KEY, stringMethod);
1318
+ redefine(RegExp.prototype, SYMBOL, length == 2
1319
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1320
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1321
+ ? function (string, arg) { return regexMethod.call(string, this, arg); }
1322
+ // 21.2.5.6 RegExp.prototype[@@match](string)
1323
+ // 21.2.5.9 RegExp.prototype[@@search](string)
1324
+ : function (string) { return regexMethod.call(string, this); }
1325
+ );
1326
+ }
1327
+
1328
+ if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1329
+ };
1330
+
1331
+ // `String.prototype.{ codePointAt, at }` methods implementation
1332
+ var createMethod = function (CONVERT_TO_STRING) {
1333
+ return function ($this, pos) {
1334
+ var S = String(requireObjectCoercible($this));
1335
+ var position = toInteger(pos);
1336
+ var size = S.length;
1337
+ var first, second;
1338
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1339
+ first = S.charCodeAt(position);
1340
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
1341
+ || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1342
+ ? CONVERT_TO_STRING ? S.charAt(position) : first
1343
+ : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1344
+ };
1345
+ };
1346
+
1347
+ var stringMultibyte = {
1348
+ // `String.prototype.codePointAt` method
1349
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
1350
+ codeAt: createMethod(false),
1351
+ // `String.prototype.at` method
1352
+ // https://github.com/mathiasbynens/String.prototype.at
1353
+ charAt: createMethod(true)
1354
+ };
1355
+
1356
+ var charAt = stringMultibyte.charAt;
1357
+
1358
+ // `AdvanceStringIndex` abstract operation
1359
+ // https://tc39.es/ecma262/#sec-advancestringindex
1360
+ var advanceStringIndex = function (S, index, unicode) {
1361
+ return index + (unicode ? charAt(S, index).length : 1);
1362
+ };
1363
+
1364
+ var floor = Math.floor;
1365
+ var replace = ''.replace;
1366
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
1367
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
1368
+
1369
+ // https://tc39.es/ecma262/#sec-getsubstitution
1370
+ var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
1371
+ var tailPos = position + matched.length;
1372
+ var m = captures.length;
1373
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1374
+ if (namedCaptures !== undefined) {
1375
+ namedCaptures = toObject(namedCaptures);
1376
+ symbols = SUBSTITUTION_SYMBOLS;
1377
+ }
1378
+ return replace.call(replacement, symbols, function (match, ch) {
1379
+ var capture;
1380
+ switch (ch.charAt(0)) {
1381
+ case '$': return '$';
1382
+ case '&': return matched;
1383
+ case '`': return str.slice(0, position);
1384
+ case "'": return str.slice(tailPos);
1385
+ case '<':
1386
+ capture = namedCaptures[ch.slice(1, -1)];
1387
+ break;
1388
+ default: // \d\d?
1389
+ var n = +ch;
1390
+ if (n === 0) return match;
1391
+ if (n > m) {
1392
+ var f = floor(n / 10);
1393
+ if (f === 0) return match;
1394
+ if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1395
+ return match;
1396
+ }
1397
+ capture = captures[n - 1];
1398
+ }
1399
+ return capture === undefined ? '' : capture;
1400
+ });
1401
+ };
1402
+
1403
+ // `RegExpExec` abstract operation
1404
+ // https://tc39.es/ecma262/#sec-regexpexec
1405
+ var regexpExecAbstract = function (R, S) {
1406
+ var exec = R.exec;
1407
+ if (typeof exec === 'function') {
1408
+ var result = exec.call(R, S);
1409
+ if (typeof result !== 'object') {
1410
+ throw TypeError('RegExp exec method returned something other than an Object or null');
1411
+ }
1412
+ return result;
1413
+ }
1414
+
1415
+ if (classofRaw(R) !== 'RegExp') {
1416
+ throw TypeError('RegExp#exec called on incompatible receiver');
1417
+ }
1418
+
1419
+ return regexpExec.call(R, S);
1420
+ };
1421
+
1422
+ var max = Math.max;
1423
+ var min$1 = Math.min;
1424
+
1425
+ var maybeToString = function (it) {
1426
+ return it === undefined ? it : String(it);
1427
+ };
1428
+
1429
+ // @@replace logic
1430
+ fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1431
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
1432
+ var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
1433
+ var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
1434
+
1435
+ return [
1436
+ // `String.prototype.replace` method
1437
+ // https://tc39.es/ecma262/#sec-string.prototype.replace
1438
+ function replace(searchValue, replaceValue) {
1439
+ var O = requireObjectCoercible(this);
1440
+ var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1441
+ return replacer !== undefined
1442
+ ? replacer.call(searchValue, O, replaceValue)
1443
+ : nativeReplace.call(String(O), searchValue, replaceValue);
1444
+ },
1445
+ // `RegExp.prototype[@@replace]` method
1446
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
1447
+ function (regexp, replaceValue) {
1448
+ if (
1449
+ (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
1450
+ (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
1451
+ ) {
1452
+ var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1453
+ if (res.done) return res.value;
1454
+ }
1455
+
1456
+ var rx = anObject(regexp);
1457
+ var S = String(this);
1458
+
1459
+ var functionalReplace = typeof replaceValue === 'function';
1460
+ if (!functionalReplace) replaceValue = String(replaceValue);
1461
+
1462
+ var global = rx.global;
1463
+ if (global) {
1464
+ var fullUnicode = rx.unicode;
1465
+ rx.lastIndex = 0;
1466
+ }
1467
+ var results = [];
1468
+ while (true) {
1469
+ var result = regexpExecAbstract(rx, S);
1470
+ if (result === null) break;
1471
+
1472
+ results.push(result);
1473
+ if (!global) break;
1474
+
1475
+ var matchStr = String(result[0]);
1476
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1477
+ }
1478
+
1479
+ var accumulatedResult = '';
1480
+ var nextSourcePosition = 0;
1481
+ for (var i = 0; i < results.length; i++) {
1482
+ result = results[i];
1483
+
1484
+ var matched = String(result[0]);
1485
+ var position = max(min$1(toInteger(result.index), S.length), 0);
1486
+ var captures = [];
1487
+ // NOTE: This is equivalent to
1488
+ // captures = result.slice(1).map(maybeToString)
1489
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1490
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1491
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1492
+ for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1493
+ var namedCaptures = result.groups;
1494
+ if (functionalReplace) {
1495
+ var replacerArgs = [matched].concat(captures, position, S);
1496
+ if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1497
+ var replacement = String(replaceValue.apply(undefined, replacerArgs));
1498
+ } else {
1499
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1500
+ }
1501
+ if (position >= nextSourcePosition) {
1502
+ accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1503
+ nextSourcePosition = position + matched.length;
1504
+ }
1505
+ }
1506
+ return accumulatedResult + S.slice(nextSourcePosition);
1507
+ }
1508
+ ];
1509
+ });
1510
+
1511
+ var $filter = arrayIteration.filter;
1512
+
1513
+
1514
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
1515
+
1516
+ // `Array.prototype.filter` method
1517
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
1518
+ // with adding support of @@species
1519
+ _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
1520
+ filter: function filter(callbackfn /* , thisArg */) {
1521
+ return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1522
+ }
1523
+ });
1524
+
1525
+ // @@match logic
1526
+ fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
1527
+ return [
1528
+ // `String.prototype.match` method
1529
+ // https://tc39.es/ecma262/#sec-string.prototype.match
1530
+ function match(regexp) {
1531
+ var O = requireObjectCoercible(this);
1532
+ var matcher = regexp == undefined ? undefined : regexp[MATCH];
1533
+ return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
1534
+ },
1535
+ // `RegExp.prototype[@@match]` method
1536
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
1537
+ function (regexp) {
1538
+ var res = maybeCallNative(nativeMatch, regexp, this);
1539
+ if (res.done) return res.value;
1540
+
1541
+ var rx = anObject(regexp);
1542
+ var S = String(this);
1543
+
1544
+ if (!rx.global) return regexpExecAbstract(rx, S);
1545
+
1546
+ var fullUnicode = rx.unicode;
1547
+ rx.lastIndex = 0;
1548
+ var A = [];
1549
+ var n = 0;
1550
+ var result;
1551
+ while ((result = regexpExecAbstract(rx, S)) !== null) {
1552
+ var matchStr = String(result[0]);
1553
+ A[n] = matchStr;
1554
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1555
+ n++;
1556
+ }
1557
+ return n === 0 ? null : A;
1558
+ }
1559
+ ];
1560
+ });
1561
+
1562
+ var MATCH = wellKnownSymbol('match');
1563
+
1564
+ // `IsRegExp` abstract operation
1565
+ // https://tc39.es/ecma262/#sec-isregexp
1566
+ var isRegexp = function (it) {
1567
+ var isRegExp;
1568
+ return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
1569
+ };
1570
+
1571
+ var SPECIES = wellKnownSymbol('species');
1572
+
1573
+ // `SpeciesConstructor` abstract operation
1574
+ // https://tc39.es/ecma262/#sec-speciesconstructor
1575
+ var speciesConstructor = function (O, defaultConstructor) {
1576
+ var C = anObject(O).constructor;
1577
+ var S;
1578
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
1579
+ };
1580
+
1581
+ var arrayPush = [].push;
1582
+ var min = Math.min;
1583
+ var MAX_UINT32 = 0xFFFFFFFF;
1584
+
1585
+ // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
1586
+ var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
1587
+
1588
+ // @@split logic
1589
+ fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
1590
+ var internalSplit;
1591
+ if (
1592
+ 'abbc'.split(/(b)*/)[1] == 'c' ||
1593
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
1594
+ 'test'.split(/(?:)/, -1).length != 4 ||
1595
+ 'ab'.split(/(?:ab)*/).length != 2 ||
1596
+ '.'.split(/(.?)(.?)/).length != 4 ||
1597
+ // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
1598
+ '.'.split(/()()/).length > 1 ||
1599
+ ''.split(/.?/).length
1600
+ ) {
1601
+ // based on es5-shim implementation, need to rework it
1602
+ internalSplit = function (separator, limit) {
1603
+ var string = String(requireObjectCoercible(this));
1604
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1605
+ if (lim === 0) return [];
1606
+ if (separator === undefined) return [string];
1607
+ // If `separator` is not a regex, use native split
1608
+ if (!isRegexp(separator)) {
1609
+ return nativeSplit.call(string, separator, lim);
1610
+ }
1611
+ var output = [];
1612
+ var flags = (separator.ignoreCase ? 'i' : '') +
1613
+ (separator.multiline ? 'm' : '') +
1614
+ (separator.unicode ? 'u' : '') +
1615
+ (separator.sticky ? 'y' : '');
1616
+ var lastLastIndex = 0;
1617
+ // Make `global` and avoid `lastIndex` issues by working with a copy
1618
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
1619
+ var match, lastIndex, lastLength;
1620
+ while (match = regexpExec.call(separatorCopy, string)) {
1621
+ lastIndex = separatorCopy.lastIndex;
1622
+ if (lastIndex > lastLastIndex) {
1623
+ output.push(string.slice(lastLastIndex, match.index));
1624
+ if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
1625
+ lastLength = match[0].length;
1626
+ lastLastIndex = lastIndex;
1627
+ if (output.length >= lim) break;
1628
+ }
1629
+ if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
1630
+ }
1631
+ if (lastLastIndex === string.length) {
1632
+ if (lastLength || !separatorCopy.test('')) output.push('');
1633
+ } else output.push(string.slice(lastLastIndex));
1634
+ return output.length > lim ? output.slice(0, lim) : output;
1635
+ };
1636
+ // Chakra, V8
1637
+ } else if ('0'.split(undefined, 0).length) {
1638
+ internalSplit = function (separator, limit) {
1639
+ return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
1640
+ };
1641
+ } else internalSplit = nativeSplit;
1642
+
1643
+ return [
1644
+ // `String.prototype.split` method
1645
+ // https://tc39.es/ecma262/#sec-string.prototype.split
1646
+ function split(separator, limit) {
1647
+ var O = requireObjectCoercible(this);
1648
+ var splitter = separator == undefined ? undefined : separator[SPLIT];
1649
+ return splitter !== undefined
1650
+ ? splitter.call(separator, O, limit)
1651
+ : internalSplit.call(String(O), separator, limit);
1652
+ },
1653
+ // `RegExp.prototype[@@split]` method
1654
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
1655
+ //
1656
+ // NOTE: This cannot be properly polyfilled in engines that don't support
1657
+ // the 'y' flag.
1658
+ function (regexp, limit) {
1659
+ var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
1660
+ if (res.done) return res.value;
1661
+
1662
+ var rx = anObject(regexp);
1663
+ var S = String(this);
1664
+ var C = speciesConstructor(rx, RegExp);
1665
+
1666
+ var unicodeMatching = rx.unicode;
1667
+ var flags = (rx.ignoreCase ? 'i' : '') +
1668
+ (rx.multiline ? 'm' : '') +
1669
+ (rx.unicode ? 'u' : '') +
1670
+ (SUPPORTS_Y ? 'y' : 'g');
1671
+
1672
+ // ^(? + rx + ) is needed, in combination with some S slicing, to
1673
+ // simulate the 'y' flag.
1674
+ var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
1675
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
1676
+ if (lim === 0) return [];
1677
+ if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
1678
+ var p = 0;
1679
+ var q = 0;
1680
+ var A = [];
1681
+ while (q < S.length) {
1682
+ splitter.lastIndex = SUPPORTS_Y ? q : 0;
1683
+ var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
1684
+ var e;
1685
+ if (
1686
+ z === null ||
1687
+ (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
1688
+ ) {
1689
+ q = advanceStringIndex(S, q, unicodeMatching);
1690
+ } else {
1691
+ A.push(S.slice(p, q));
1692
+ if (A.length === lim) return A;
1693
+ for (var i = 1; i <= z.length - 1; i++) {
1694
+ A.push(z[i]);
1695
+ if (A.length === lim) return A;
1696
+ }
1697
+ q = p = e;
1698
+ }
1699
+ }
1700
+ A.push(S.slice(p));
1701
+ return A;
1702
+ }
1703
+ ];
1704
+ }, !SUPPORTS_Y);
1705
+
1706
+ var $includes = arrayIncludes.includes;
1707
+
1708
+
1709
+ // `Array.prototype.includes` method
1710
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
1711
+ _export({ target: 'Array', proto: true }, {
1712
+ includes: function includes(el /* , fromIndex = 0 */) {
1713
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
1714
+ }
1715
+ });
1716
+
1717
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1718
+ addToUnscopables('includes');
1719
+
1720
+ // iterable DOM collections
1721
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
1722
+ var domIterables = {
1723
+ CSSRuleList: 0,
1724
+ CSSStyleDeclaration: 0,
1725
+ CSSValueList: 0,
1726
+ ClientRectList: 0,
1727
+ DOMRectList: 0,
1728
+ DOMStringList: 0,
1729
+ DOMTokenList: 1,
1730
+ DataTransferItemList: 0,
1731
+ FileList: 0,
1732
+ HTMLAllCollection: 0,
1733
+ HTMLCollection: 0,
1734
+ HTMLFormElement: 0,
1735
+ HTMLSelectElement: 0,
1736
+ MediaList: 0,
1737
+ MimeTypeArray: 0,
1738
+ NamedNodeMap: 0,
1739
+ NodeList: 1,
1740
+ PaintRequestList: 0,
1741
+ Plugin: 0,
1742
+ PluginArray: 0,
1743
+ SVGLengthList: 0,
1744
+ SVGNumberList: 0,
1745
+ SVGPathSegList: 0,
1746
+ SVGPointList: 0,
1747
+ SVGStringList: 0,
1748
+ SVGTransformList: 0,
1749
+ SourceBufferList: 0,
1750
+ StyleSheetList: 0,
1751
+ TextTrackCueList: 0,
1752
+ TextTrackList: 0,
1753
+ TouchList: 0
1754
+ };
1755
+
1756
+ var $forEach = arrayIteration.forEach;
1757
+
1758
+
1759
+ var STRICT_METHOD$2 = arrayMethodIsStrict('forEach');
1760
+
1761
+ // `Array.prototype.forEach` method implementation
1762
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
1763
+ var arrayForEach = !STRICT_METHOD$2 ? function forEach(callbackfn /* , thisArg */) {
1764
+ return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1765
+ } : [].forEach;
1766
+
1767
+ for (var COLLECTION_NAME in domIterables) {
1768
+ var Collection = global_1[COLLECTION_NAME];
1769
+ var CollectionPrototype = Collection && Collection.prototype;
1770
+ // some Chrome versions have non-configurable methods on DOMTokenList
1771
+ if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
1772
+ createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
1773
+ } catch (error) {
1774
+ CollectionPrototype.forEach = arrayForEach;
1775
+ }
1776
+ }
1777
+
1778
+ var FAILS_ON_PRIMITIVES = fails(function () { objectKeys(1); });
1779
+
1780
+ // `Object.keys` method
1781
+ // https://tc39.es/ecma262/#sec-object.keys
1782
+ _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
1783
+ keys: function keys(it) {
1784
+ return objectKeys(toObject(it));
1785
+ }
1786
+ });
1787
+
1788
+ var nativeJoin = [].join;
1789
+
1790
+ var ES3_STRINGS = indexedObject != Object;
1791
+ var STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');
1792
+
1793
+ // `Array.prototype.join` method
1794
+ // https://tc39.es/ecma262/#sec-array.prototype.join
1795
+ _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {
1796
+ join: function join(separator) {
1797
+ return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
1798
+ }
1799
+ });
1800
+
1801
+ var $indexOf = arrayIncludes.indexOf;
1802
+
1803
+
1804
+ var nativeIndexOf = [].indexOf;
1805
+
1806
+ var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
1807
+ var STRICT_METHOD = arrayMethodIsStrict('indexOf');
1808
+
1809
+ // `Array.prototype.indexOf` method
1810
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
1811
+ _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
1812
+ indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
1813
+ return NEGATIVE_ZERO
1814
+ // convert -0 to +0
1815
+ ? nativeIndexOf.apply(this, arguments) || 0
1816
+ : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
1817
+ }
1818
+ });
1819
+
1820
+ var Utils = $__default['default'].fn.bootstrapTable.utils;
1821
+ var searchControls = 'select, input:not([type="checkbox"]):not([type="radio"])';
1822
+ function getOptionsFromSelectControl(selectControl) {
1823
+ return selectControl.get(selectControl.length - 1).options;
1824
+ }
1825
+ function getControlContainer(that) {
1826
+ if (that.options.filterControlContainer) {
1827
+ return $__default['default']("".concat(that.options.filterControlContainer));
1828
+ }
1829
+
1830
+ return that.$header;
1831
+ }
1832
+ function getSearchControls(that) {
1833
+ return getControlContainer(that).find(searchControls);
1834
+ }
1835
+ function hideUnusedSelectOptions(selectControl, uniqueValues) {
1836
+ var options = getOptionsFromSelectControl(selectControl);
1837
+
1838
+ for (var i = 0; i < options.length; i++) {
1839
+ if (options[i].value !== '') {
1840
+ if (!uniqueValues.hasOwnProperty(options[i].value)) {
1841
+ selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).hide();
1842
+ } else {
1843
+ selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).show();
1844
+ }
1845
+ }
1846
+ }
1847
+ }
1848
+ function existOptionInSelectControl(selectControl, value) {
1849
+ var options = getOptionsFromSelectControl(selectControl);
1850
+
1851
+ for (var i = 0; i < options.length; i++) {
1852
+ if (options[i].value === Utils.unescapeHTML(value.toString())) {
1853
+ // The value is not valid to add
1854
+ return true;
1855
+ }
1856
+ } // If we get here, the value is valid to add
1857
+
1858
+
1859
+ return false;
1860
+ }
1861
+ function addOptionToSelectControl(selectControl, _value, text, selected) {
1862
+ var value = _value === undefined || _value === null ? '' : _value.toString().trim();
1863
+ var $selectControl = $__default['default'](selectControl.get(selectControl.length - 1));
1864
+
1865
+ if (!existOptionInSelectControl(selectControl, value)) {
1866
+ var option = $__default['default']("<option value=\"".concat(value, "\">").concat(text, "</option>"));
1867
+
1868
+ if (value === selected) {
1869
+ option.attr('selected', true);
1870
+ }
1871
+
1872
+ $selectControl.append(option);
1873
+ }
1874
+ }
1875
+ function sortSelectControl(selectControl, orderBy) {
1876
+ var $selectControl = $__default['default'](selectControl.get(selectControl.length - 1));
1877
+ var $opts = $selectControl.find('option:gt(0)');
1878
+
1879
+ if (orderBy !== 'server') {
1880
+ $opts.sort(function (a, b) {
1881
+ return Utils.sort(a.textContent, b.textContent, orderBy === 'desc' ? -1 : 1);
1882
+ });
1883
+ }
1884
+
1885
+ $selectControl.find('option:gt(0)').remove();
1886
+ $selectControl.append($opts);
1887
+ }
1888
+ function fixHeaderCSS(_ref) {
1889
+ var $tableHeader = _ref.$tableHeader;
1890
+ $tableHeader.css('height', '89px');
1891
+ }
1892
+ function getElementClass($element) {
1893
+ return $element.attr('class').replace('form-control', '').replace('focus-temp', '').replace('search-input', '').trim();
1894
+ }
1895
+ function getCursorPosition(el) {
1896
+ if (Utils.isIEBrowser()) {
1897
+ if ($__default['default'](el).is('input[type=text]')) {
1898
+ var pos = 0;
1899
+
1900
+ if ('selectionStart' in el) {
1901
+ pos = el.selectionStart;
1902
+ } else if ('selection' in document) {
1903
+ el.focus();
1904
+ var Sel = document.selection.createRange();
1905
+ var SelLength = document.selection.createRange().text.length;
1906
+ Sel.moveStart('character', -el.value.length);
1907
+ pos = Sel.text.length - SelLength;
1908
+ }
1909
+
1910
+ return pos;
1911
+ }
1912
+
1913
+ return -1;
1914
+ }
1915
+
1916
+ return -1;
1917
+ }
1918
+ function setCursorPosition(el) {
1919
+ $__default['default'](el).val(el.value);
1920
+ }
1921
+ function copyValues(that) {
1922
+ var searchControls = getSearchControls(that);
1923
+ that.options.valuesFilterControl = [];
1924
+ searchControls.each(function () {
1925
+ var $field = $__default['default'](this);
1926
+
1927
+ if (that.options.height) {
1928
+ var fieldClass = getElementClass($field);
1929
+ $field = $__default['default'](".fixed-table-header .".concat(fieldClass));
1930
+ }
1931
+
1932
+ that.options.valuesFilterControl.push({
1933
+ field: $field.closest('[data-field]').data('field'),
1934
+ value: $field.val(),
1935
+ position: getCursorPosition($field.get(0)),
1936
+ hasFocus: $field.is(':focus')
1937
+ });
1938
+ });
1939
+ }
1940
+ function setValues(that) {
1941
+ var field = null;
1942
+ var result = [];
1943
+ var searchControls = getSearchControls(that);
1944
+
1945
+ if (that.options.valuesFilterControl.length > 0) {
1946
+ // Callback to apply after settings fields values
1947
+ var fieldToFocusCallback = null;
1948
+ searchControls.each(function (i, el) {
1949
+ var $this = $__default['default'](el);
1950
+ field = $this.closest('[data-field]').data('field');
1951
+ result = that.options.valuesFilterControl.filter(function (valueObj) {
1952
+ return valueObj.field === field;
1953
+ });
1954
+
1955
+ if (result.length > 0) {
1956
+ if ($this.is('[type=radio]')) {
1957
+ return;
1958
+ }
1959
+
1960
+ $this.val(result[0].value);
1961
+
1962
+ if (result[0].hasFocus && result[0].value !== '') {
1963
+ // set callback if the field had the focus.
1964
+ fieldToFocusCallback = function (fieldToFocus, carretPosition) {
1965
+ // Closure here to capture the field and cursor position
1966
+ var closedCallback = function closedCallback() {
1967
+ fieldToFocus.focus();
1968
+ setCursorPosition(fieldToFocus);
1969
+ };
1970
+
1971
+ return closedCallback;
1972
+ }($this.get(0), result[0].position);
1973
+ }
1974
+ }
1975
+ }); // Callback call.
1976
+
1977
+ if (fieldToFocusCallback !== null) {
1978
+ fieldToFocusCallback();
1979
+ }
1980
+ }
1981
+ }
1982
+ function collectBootstrapCookies() {
1983
+ var cookies = [];
1984
+ var foundCookies = document.cookie.match(/(?:bs.table.)(\w*)/g);
1985
+ var foundLocalStorage = localStorage;
1986
+
1987
+ if (foundCookies) {
1988
+ $__default['default'].each(foundCookies, function (i, _cookie) {
1989
+ var cookie = _cookie;
1990
+
1991
+ if (/./.test(cookie)) {
1992
+ cookie = cookie.split('.').pop();
1993
+ }
1994
+
1995
+ if ($__default['default'].inArray(cookie, cookies) === -1) {
1996
+ cookies.push(cookie);
1997
+ }
1998
+ });
1999
+ }
2000
+
2001
+ if (foundLocalStorage) {
2002
+ for (var i = 0; i < foundLocalStorage.length; i++) {
2003
+ var cookie = foundLocalStorage.key(i);
2004
+
2005
+ if (/./.test(cookie)) {
2006
+ cookie = cookie.split('.').pop();
2007
+ }
2008
+
2009
+ if (!cookies.includes(cookie)) {
2010
+ cookies.push(cookie);
2011
+ }
2012
+ }
2013
+ }
2014
+
2015
+ return cookies;
2016
+ }
2017
+ function escapeID(id) {
2018
+ // eslint-disable-next-line no-useless-escape
2019
+ return String(id).replace(/([:.\[\],])/g, '\\$1');
2020
+ }
2021
+ function isColumnSearchableViaSelect(_ref2) {
2022
+ var filterControl = _ref2.filterControl,
2023
+ searchable = _ref2.searchable;
2024
+ return filterControl && filterControl.toLowerCase() === 'select' && searchable;
2025
+ }
2026
+ function isFilterDataNotGiven(_ref3) {
2027
+ var filterData = _ref3.filterData;
2028
+ return filterData === undefined || filterData.toLowerCase() === 'column';
2029
+ }
2030
+ function hasSelectControlElement(selectControl) {
2031
+ return selectControl && selectControl.length > 0;
2032
+ }
2033
+ function initFilterSelectControls(that) {
2034
+ var data = that.data;
2035
+ var z = that.options.pagination ? that.options.sidePagination === 'server' ? that.pageTo : that.options.totalRows : that.pageTo;
2036
+ $__default['default'].each(that.header.fields, function (j, field) {
2037
+ var column = that.columns[that.fieldsColumnsIndex[field]];
2038
+ var selectControl = getControlContainer(that).find("select.bootstrap-table-filter-control-".concat(escapeID(column.field)));
2039
+
2040
+ if (isColumnSearchableViaSelect(column) && isFilterDataNotGiven(column) && hasSelectControlElement(selectControl)) {
2041
+ if (selectControl.get(selectControl.length - 1).options.length === 0) {
2042
+ // Added the default option, must use a non-breaking space(&nbsp;) to pass the W3C validator
2043
+ addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder || '&nbsp;', column.filterDefault);
2044
+ }
2045
+
2046
+ var uniqueValues = {};
2047
+
2048
+ for (var i = 0; i < z; i++) {
2049
+ // Added a new value
2050
+ var fieldValue = Utils.getItemField(data[i], field, false);
2051
+ var formatter = that.options.editable && column.editable ? column._formatter : that.header.formatters[j];
2052
+ var formattedValue = Utils.calculateObjectValue(that.header, formatter, [fieldValue, data[i], i], fieldValue);
2053
+
2054
+ if (column.filterDataCollector) {
2055
+ formattedValue = Utils.calculateObjectValue(that.header, column.filterDataCollector, [fieldValue, data[i], formattedValue], formattedValue);
2056
+ }
2057
+
2058
+ if (column.searchFormatter) {
2059
+ fieldValue = formattedValue;
2060
+ }
2061
+
2062
+ uniqueValues[formattedValue] = fieldValue;
2063
+
2064
+ if (_typeof(formattedValue) === 'object' && formattedValue !== null) {
2065
+ formattedValue.forEach(function (value) {
2066
+ addOptionToSelectControl(selectControl, value, value, column.filterDefault);
2067
+ });
2068
+ continue;
2069
+ } // eslint-disable-next-line guard-for-in
2070
+
2071
+
2072
+ for (var key in uniqueValues) {
2073
+ addOptionToSelectControl(selectControl, uniqueValues[key], key, column.filterDefault);
2074
+ }
2075
+ }
2076
+
2077
+ sortSelectControl(selectControl, column.filterOrderBy);
2078
+
2079
+ if (that.options.hideUnusedSelectOptions) {
2080
+ hideUnusedSelectOptions(selectControl, uniqueValues);
2081
+ }
2082
+ }
2083
+ });
2084
+ }
2085
+ function getFilterDataMethod(objFilterDataMethod, searchTerm) {
2086
+ var keys = Object.keys(objFilterDataMethod);
2087
+
2088
+ for (var i = 0; i < keys.length; i++) {
2089
+ if (keys[i] === searchTerm) {
2090
+ return objFilterDataMethod[searchTerm];
2091
+ }
2092
+ }
2093
+
2094
+ return null;
2095
+ }
2096
+ function createControls(that, header) {
2097
+ var addedFilterControl = false;
2098
+ var html;
2099
+ $__default['default'].each(that.columns, function (_, column) {
2100
+ html = [];
2101
+
2102
+ if (!column.visible) {
2103
+ return;
2104
+ }
2105
+
2106
+ if (!column.filterControl && !that.options.filterControlContainer) {
2107
+ html.push('<div class="no-filter-control"></div>');
2108
+ } else if (that.options.filterControlContainer) {
2109
+ var $filterControls = $__default['default'](".bootstrap-table-filter-control-".concat(column.field));
2110
+ $__default['default'].each($filterControls, function (_, filterControl) {
2111
+ var $filterControl = $__default['default'](filterControl);
2112
+
2113
+ if (!$filterControl.is('[type=radio]')) {
2114
+ var placeholder = column.filterControlPlaceholder ? column.filterControlPlaceholder : '';
2115
+ $filterControl.attr('placeholder', placeholder).val(column.filterDefault);
2116
+ }
2117
+
2118
+ $filterControl.attr('data-field', column.field);
2119
+ });
2120
+ addedFilterControl = true;
2121
+ } else {
2122
+ var nameControl = column.filterControl.toLowerCase();
2123
+ html.push('<div class="filter-control">');
2124
+ addedFilterControl = true;
2125
+
2126
+ if (column.searchable && that.options.filterTemplate[nameControl]) {
2127
+ html.push(that.options.filterTemplate[nameControl](that, column.field, column.filterControlPlaceholder ? column.filterControlPlaceholder : '', column.filterDefault));
2128
+ }
2129
+ }
2130
+
2131
+ if (!column.filterControl && '' !== column.filterDefault && 'undefined' !== typeof column.filterDefault) {
2132
+ if ($__default['default'].isEmptyObject(that.filterColumnsPartial)) {
2133
+ that.filterColumnsPartial = {};
2134
+ }
2135
+
2136
+ that.filterColumnsPartial[column.field] = column.filterDefault;
2137
+ }
2138
+
2139
+ $__default['default'].each(header.find('th'), function (i, th) {
2140
+ var $th = $__default['default'](th);
2141
+
2142
+ if ($th.data('field') === column.field) {
2143
+ $th.find('.fht-cell').append(html.join(''));
2144
+ return false;
2145
+ }
2146
+ });
2147
+
2148
+ if (column.filterData && column.filterData.toLowerCase() !== 'column') {
2149
+ var filterDataType = getFilterDataMethod(
2150
+ /* eslint-disable no-use-before-define */
2151
+ filterDataMethods, column.filterData.substring(0, column.filterData.indexOf(':')));
2152
+ var filterDataSource;
2153
+ var selectControl;
2154
+
2155
+ if (filterDataType) {
2156
+ filterDataSource = column.filterData.substring(column.filterData.indexOf(':') + 1, column.filterData.length);
2157
+ selectControl = header.find(".bootstrap-table-filter-control-".concat(escapeID(column.field)));
2158
+ addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault);
2159
+ filterDataType(filterDataSource, selectControl, that.options.filterOrderBy, column.filterDefault);
2160
+ } else {
2161
+ throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, obj, json, url, func.' + ' Use like this: var: {key: "value"}');
2162
+ }
2163
+ }
2164
+ });
2165
+
2166
+ if (addedFilterControl) {
2167
+ header.off('keyup', 'input').on('keyup', 'input', function (_ref4, obj) {
2168
+ var currentTarget = _ref4.currentTarget,
2169
+ keyCode = _ref4.keyCode;
2170
+ syncControls(that); // Simulate enter key action from clear button
2171
+
2172
+ keyCode = obj ? obj.keyCode : keyCode;
2173
+
2174
+ if (that.options.searchOnEnterKey && keyCode !== 13) {
2175
+ return;
2176
+ }
2177
+
2178
+ if ($__default['default'].inArray(keyCode, [37, 38, 39, 40]) > -1) {
2179
+ return;
2180
+ }
2181
+
2182
+ var $currentTarget = $__default['default'](currentTarget);
2183
+
2184
+ if ($currentTarget.is(':checkbox') || $currentTarget.is(':radio')) {
2185
+ return;
2186
+ }
2187
+
2188
+ clearTimeout(currentTarget.timeoutId || 0);
2189
+ currentTarget.timeoutId = setTimeout(function () {
2190
+ that.onColumnSearch({
2191
+ currentTarget: currentTarget,
2192
+ keyCode: keyCode
2193
+ });
2194
+ }, that.options.searchTimeOut);
2195
+ });
2196
+ header.off('change', 'select:not(".ms-offscreen")').on('change', 'select:not(".ms-offscreen")', function (_ref5) {
2197
+ var currentTarget = _ref5.currentTarget,
2198
+ keyCode = _ref5.keyCode;
2199
+ syncControls(that);
2200
+ var $select = $__default['default'](currentTarget);
2201
+ var value = $select.val();
2202
+
2203
+ if (value && value.length > 0 && value.trim()) {
2204
+ $select.find('option[selected]').removeAttr('selected');
2205
+ $select.find("option[value=\"".concat(value, "\"]")).attr('selected', true);
2206
+ } else {
2207
+ $select.find('option[selected]').removeAttr('selected');
2208
+ }
2209
+
2210
+ clearTimeout(currentTarget.timeoutId || 0);
2211
+ currentTarget.timeoutId = setTimeout(function () {
2212
+ that.onColumnSearch({
2213
+ currentTarget: currentTarget,
2214
+ keyCode: keyCode
2215
+ });
2216
+ }, that.options.searchTimeOut);
2217
+ });
2218
+ header.off('mouseup', 'input:not([type=radio])').on('mouseup', 'input:not([type=radio])', function (_ref6) {
2219
+ var currentTarget = _ref6.currentTarget,
2220
+ keyCode = _ref6.keyCode;
2221
+ var $input = $__default['default'](currentTarget);
2222
+ var oldValue = $input.val();
2223
+
2224
+ if (oldValue === '') {
2225
+ return;
2226
+ }
2227
+
2228
+ setTimeout(function () {
2229
+ syncControls(that);
2230
+ var newValue = $input.val();
2231
+
2232
+ if (newValue === '') {
2233
+ clearTimeout(currentTarget.timeoutId || 0);
2234
+ currentTarget.timeoutId = setTimeout(function () {
2235
+ that.onColumnSearch({
2236
+ currentTarget: currentTarget,
2237
+ keyCode: keyCode
2238
+ });
2239
+ }, that.options.searchTimeOut);
2240
+ }
2241
+ }, 1);
2242
+ });
2243
+ header.off('change', 'input[type=radio]').on('change', 'input[type=radio]', function (_ref7) {
2244
+ var currentTarget = _ref7.currentTarget,
2245
+ keyCode = _ref7.keyCode;
2246
+ clearTimeout(currentTarget.timeoutId || 0);
2247
+ currentTarget.timeoutId = setTimeout(function () {
2248
+ syncControls(that);
2249
+ that.onColumnSearch({
2250
+ currentTarget: currentTarget,
2251
+ keyCode: keyCode
2252
+ });
2253
+ }, that.options.searchTimeOut);
2254
+ });
2255
+
2256
+ if (header.find('.date-filter-control').length > 0) {
2257
+ $__default['default'].each(that.columns, function (i, _ref8) {
2258
+ var filterDefault = _ref8.filterDefault,
2259
+ filterControl = _ref8.filterControl,
2260
+ field = _ref8.field,
2261
+ filterDatepickerOptions = _ref8.filterDatepickerOptions;
2262
+
2263
+ if (filterControl !== undefined && filterControl.toLowerCase() === 'datepicker') {
2264
+ var $datepicker = header.find(".date-filter-control.bootstrap-table-filter-control-".concat(field));
2265
+ $datepicker.datepicker(filterDatepickerOptions);
2266
+
2267
+ if (filterDefault) {
2268
+ $datepicker.datepicker('setDate', filterDefault);
2269
+ }
2270
+
2271
+ $datepicker.on('changeDate', function (_ref9) {
2272
+ var currentTarget = _ref9.currentTarget,
2273
+ keyCode = _ref9.keyCode;
2274
+ clearTimeout(currentTarget.timeoutId || 0);
2275
+ currentTarget.timeoutId = setTimeout(function () {
2276
+ syncControls(that);
2277
+ that.onColumnSearch({
2278
+ currentTarget: currentTarget,
2279
+ keyCode: keyCode
2280
+ });
2281
+ }, that.options.searchTimeOut);
2282
+ });
2283
+ }
2284
+ });
2285
+ }
2286
+
2287
+ if (that.options.sidePagination !== 'server' && !that.options.height) {
2288
+ that.triggerSearch();
2289
+ }
2290
+
2291
+ if (!that.options.filterControlVisible) {
2292
+ header.find('.filter-control, .no-filter-control').hide();
2293
+ }
2294
+ } else {
2295
+ header.find('.filter-control, .no-filter-control').hide();
2296
+ }
2297
+
2298
+ that.trigger('created-controls');
2299
+ }
2300
+ function getDirectionOfSelectOptions(_alignment) {
2301
+ var alignment = _alignment === undefined ? 'left' : _alignment.toLowerCase();
2302
+
2303
+ switch (alignment) {
2304
+ case 'left':
2305
+ return 'ltr';
2306
+
2307
+ case 'right':
2308
+ return 'rtl';
2309
+
2310
+ case 'auto':
2311
+ return 'auto';
2312
+
2313
+ default:
2314
+ return 'ltr';
2315
+ }
2316
+ }
2317
+ function syncControls(that) {
2318
+ if (that.options.height) {
2319
+ var controlsTableHeader = that.$tableHeader.find(searchControls);
2320
+ that.$header.find(searchControls).each(function (_, control) {
2321
+ var $control = $__default['default'](control);
2322
+ var controlClass = getElementClass($control);
2323
+ var foundControl = controlsTableHeader.filter(function (_, ele) {
2324
+ var eleClass = getElementClass($__default['default'](ele));
2325
+ return controlClass === eleClass;
2326
+ });
2327
+
2328
+ if (foundControl.length === 0) {
2329
+ return;
2330
+ }
2331
+
2332
+ if ($control.is('select')) {
2333
+ $control.find('option:selected').removeAttr('selected');
2334
+ $control.find("option[value='".concat(foundControl.val(), "']")).attr('selected', true);
2335
+ } else {
2336
+ $control.val(foundControl.val());
2337
+ }
2338
+ });
2339
+ }
2340
+ }
2341
+ var filterDataMethods = {
2342
+ func: function func(filterDataSource, selectControl, filterOrderBy, selected) {
2343
+ var variableValues = window[filterDataSource].apply(); // eslint-disable-next-line guard-for-in
2344
+
2345
+ for (var key in variableValues) {
2346
+ addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2347
+ }
2348
+
2349
+ sortSelectControl(selectControl, filterOrderBy);
2350
+ },
2351
+ obj: function obj(filterDataSource, selectControl, filterOrderBy, selected) {
2352
+ var objectKeys = filterDataSource.split('.');
2353
+ var variableName = objectKeys.shift();
2354
+ var variableValues = window[variableName];
2355
+
2356
+ if (objectKeys.length > 0) {
2357
+ objectKeys.forEach(function (key) {
2358
+ variableValues = variableValues[key];
2359
+ });
2360
+ } // eslint-disable-next-line guard-for-in
2361
+
2362
+
2363
+ for (var key in variableValues) {
2364
+ addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2365
+ }
2366
+
2367
+ sortSelectControl(selectControl, filterOrderBy);
2368
+ },
2369
+ var: function _var(filterDataSource, selectControl, filterOrderBy, selected) {
2370
+ var variableValues = window[filterDataSource];
2371
+ var isArray = Array.isArray(variableValues);
2372
+
2373
+ for (var key in variableValues) {
2374
+ if (isArray) {
2375
+ addOptionToSelectControl(selectControl, variableValues[key], variableValues[key], selected);
2376
+ } else {
2377
+ addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2378
+ }
2379
+ }
2380
+
2381
+ sortSelectControl(selectControl, filterOrderBy);
2382
+ },
2383
+ url: function url(filterDataSource, selectControl, filterOrderBy, selected) {
2384
+ $__default['default'].ajax({
2385
+ url: filterDataSource,
2386
+ dataType: 'json',
2387
+ success: function success(data) {
2388
+ // eslint-disable-next-line guard-for-in
2389
+ for (var key in data) {
2390
+ addOptionToSelectControl(selectControl, key, data[key], selected);
2391
+ }
2392
+
2393
+ sortSelectControl(selectControl, filterOrderBy);
2394
+ }
2395
+ });
2396
+ },
2397
+ json: function json(filterDataSource, selectControl, filterOrderBy, selected) {
2398
+ var variableValues = JSON.parse(filterDataSource); // eslint-disable-next-line guard-for-in
2399
+
2400
+ for (var key in variableValues) {
2401
+ addOptionToSelectControl(selectControl, key, variableValues[key], selected);
2402
+ }
2403
+
2404
+ sortSelectControl(selectControl, filterOrderBy);
2405
+ }
2406
+ };
2407
+
2408
+ exports.addOptionToSelectControl = addOptionToSelectControl;
2409
+ exports.collectBootstrapCookies = collectBootstrapCookies;
2410
+ exports.copyValues = copyValues;
2411
+ exports.createControls = createControls;
2412
+ exports.escapeID = escapeID;
2413
+ exports.existOptionInSelectControl = existOptionInSelectControl;
2414
+ exports.fixHeaderCSS = fixHeaderCSS;
2415
+ exports.getControlContainer = getControlContainer;
2416
+ exports.getCursorPosition = getCursorPosition;
2417
+ exports.getDirectionOfSelectOptions = getDirectionOfSelectOptions;
2418
+ exports.getElementClass = getElementClass;
2419
+ exports.getFilterDataMethod = getFilterDataMethod;
2420
+ exports.getOptionsFromSelectControl = getOptionsFromSelectControl;
2421
+ exports.getSearchControls = getSearchControls;
2422
+ exports.hasSelectControlElement = hasSelectControlElement;
2423
+ exports.hideUnusedSelectOptions = hideUnusedSelectOptions;
2424
+ exports.initFilterSelectControls = initFilterSelectControls;
2425
+ exports.isColumnSearchableViaSelect = isColumnSearchableViaSelect;
2426
+ exports.isFilterDataNotGiven = isFilterDataNotGiven;
2427
+ exports.setCursorPosition = setCursorPosition;
2428
+ exports.setValues = setValues;
2429
+ exports.sortSelectControl = sortSelectControl;
2430
+ exports.syncControls = syncControls;
2431
+
2432
+ Object.defineProperty(exports, '__esModule', { value: true });
2461
2433
 
2462
2434
  })));