bootstrap-table-rails 1.12.2 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +83 -77
  3. data/lib/bootstrap-table-rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +5420 -2066
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +2279 -0
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +2287 -0
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +238 -204
  8. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +7212 -3295
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js +2647 -182
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1631 -0
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +1092 -84
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.css +12 -0
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.js +2248 -0
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +2226 -413
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +1114 -102
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +820 -32
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +1619 -146
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +2668 -179
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css +4 -4
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +2831 -744
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.css +25 -0
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +1501 -0
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css +2 -6
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +1874 -226
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +120 -30
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +1387 -80
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +1239 -136
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +2113 -412
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css +11 -0
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +1043 -0
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +1173 -0
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +2055 -149
  33. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +1401 -181
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css +10 -10
  35. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +986 -118
  36. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +716 -75
  37. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css +13 -14
  38. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +1151 -118
  39. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +2547 -211
  40. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +1910 -109
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +762 -40
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +763 -40
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +763 -44
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +763 -44
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +762 -37
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +762 -52
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +762 -28
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +762 -49
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +763 -31
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +763 -44
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +762 -40
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +762 -43
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +764 -51
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +762 -40
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +762 -40
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +762 -43
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +762 -43
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +762 -43
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +762 -0
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +763 -28
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +762 -0
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +764 -95
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +762 -0
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +762 -43
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +763 -44
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +762 -43
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +762 -49
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +764 -52
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +762 -43
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +762 -40
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +762 -37
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +762 -43
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +762 -37
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +762 -0
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +763 -52
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +762 -37
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +764 -41
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +762 -43
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +762 -43
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +762 -72
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +762 -49
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +762 -0
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +762 -0
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +762 -37
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +762 -37
  86. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +763 -41
  87. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +762 -73
  88. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +762 -37
  89. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +762 -49
  90. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +762 -28
  91. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +762 -46
  92. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +762 -40
  93. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +421 -0
  94. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +989 -0
  95. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +395 -0
  96. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +999 -0
  97. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +391 -0
  98. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +992 -0
  99. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +403 -0
  100. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +966 -0
  101. metadata +30 -25
  102. data/vendor/assets/javascripts/bootstrap-table/extensions/angular/bootstrap-table-angular.js +0 -107
  103. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.css +0 -3
  104. data/vendor/assets/javascripts/bootstrap-table/extensions/click-edit-row/bootstrap-table-click-edit-row.css +0 -21
  105. data/vendor/assets/javascripts/bootstrap-table/extensions/click-edit-row/bootstrap-table-click-edit-row.js +0 -142
  106. data/vendor/assets/javascripts/bootstrap-table/extensions/filter/bootstrap-table-filter.js +0 -67
  107. data/vendor/assets/javascripts/bootstrap-table/extensions/flat-json/bootstrap-table-flat-json.js +0 -62
  108. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by/bootstrap-table-group-by.css +0 -53
  109. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by/bootstrap-table-group-by.js +0 -243
  110. data/vendor/assets/javascripts/bootstrap-table/extensions/multi-column-toggle/bootstrap-table-multi-toggle.js +0 -88
  111. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-search/bootstrap-table-multiple-search.js +0 -71
  112. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.css +0 -17
  113. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.js +0 -127
  114. data/vendor/assets/javascripts/bootstrap-table/extensions/natural-sorting/bootstrap-table-natural-sorting.js +0 -67
  115. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jumpto/bootstrap-table-jumpto.css +0 -8
  116. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jumpto/bootstrap-table-jumpto.js +0 -50
  117. data/vendor/assets/javascripts/bootstrap-table/extensions/select2-filter/bootstrap-table-select2-filter.js +0 -332
  118. data/vendor/assets/javascripts/bootstrap-table/extensions/tree-column/bootstrap-table-tree-column.css +0 -1
  119. data/vendor/assets/javascripts/bootstrap-table/extensions/tree-column/bootstrap-table-tree-column.js +0 -130
@@ -1,226 +1,1874 @@
1
- /**
2
- * @author: Yura Knoxville
3
- * @version: v1.0.0
4
- */
5
-
6
- !function ($) {
7
-
8
- 'use strict';
9
-
10
- var initBodyCaller,
11
- tableGroups;
12
-
13
- // it only does '%s', and return '' when arguments are undefined
14
- var sprintf = function (str) {
15
- var args = arguments,
16
- flag = true,
17
- i = 1;
18
-
19
- str = str.replace(/%s/g, function () {
20
- var arg = args[i++];
21
-
22
- if (typeof arg === 'undefined') {
23
- flag = false;
24
- return '';
25
- }
26
- return arg;
27
- });
28
- return flag ? str : '';
29
- };
30
-
31
- var groupBy = function (array , f) {
32
- var groups = {};
33
- array.forEach(function(o) {
34
- var group = f(o);
35
- groups[group] = groups[group] || [];
36
- groups[group].push(o);
37
- });
38
-
39
- return groups;
40
- };
41
-
42
- $.extend($.fn.bootstrapTable.defaults, {
43
- groupBy: false,
44
- groupByField: ''
45
- });
46
-
47
- var BootstrapTable = $.fn.bootstrapTable.Constructor,
48
- _initSort = BootstrapTable.prototype.initSort,
49
- _initBody = BootstrapTable.prototype.initBody,
50
- _updateSelected = BootstrapTable.prototype.updateSelected;
51
-
52
- BootstrapTable.prototype.initSort = function () {
53
- _initSort.apply(this, Array.prototype.slice.apply(arguments));
54
-
55
- var that = this;
56
- tableGroups = [];
57
-
58
- if ((this.options.groupBy) && (this.options.groupByField !== '')) {
59
-
60
- if ((this.options.sortName != this.options.groupByField)) {
61
- this.data.sort(function(a, b) {
62
- return a[that.options.groupByField].localeCompare(b[that.options.groupByField]);
63
- });
64
- }
65
-
66
- var that = this;
67
- var groups = groupBy(that.data, function (item) {
68
- return [item[that.options.groupByField]];
69
- });
70
-
71
- var index = 0;
72
- $.each(groups, function(key, value) {
73
- tableGroups.push({
74
- id: index,
75
- name: key
76
- });
77
-
78
- value.forEach(function(item) {
79
- if (!item._data) {
80
- item._data = {};
81
- }
82
-
83
- item._data['parent-index'] = index;
84
- });
85
-
86
- index++;
87
- });
88
- }
89
- }
90
-
91
- BootstrapTable.prototype.initBody = function () {
92
- initBodyCaller = true;
93
-
94
- _initBody.apply(this, Array.prototype.slice.apply(arguments));
95
-
96
- if ((this.options.groupBy) && (this.options.groupByField !== '')) {
97
- var that = this,
98
- checkBox = false,
99
- visibleColumns = 0;
100
-
101
- this.columns.forEach(function(column) {
102
- if (column.checkbox) {
103
- checkBox = true;
104
- } else {
105
- if (column.visible) {
106
- visibleColumns += 1;
107
- }
108
- }
109
- });
110
-
111
- if (this.options.detailView && !this.options.cardView) {
112
- visibleColumns += 1;
113
- }
114
-
115
- tableGroups.forEach(function(item){
116
- var html = [];
117
-
118
- html.push(sprintf('<tr class="info groupBy expanded" data-group-index="%s">', item.id));
119
-
120
- if (that.options.detailView && !that.options.cardView) {
121
- html.push('<td class="detail"></td>');
122
- }
123
-
124
- if (checkBox) {
125
- html.push('<td class="bs-checkbox">',
126
- '<input name="btSelectGroup" type="checkbox" />',
127
- '</td>'
128
- );
129
- }
130
-
131
- html.push('<td',
132
- sprintf(' colspan="%s"', visibleColumns),
133
- '>', item.name, '</td>'
134
- );
135
-
136
- html.push('</tr>');
137
-
138
- that.$body.find('tr[data-parent-index='+item.id+']:first').before($(html.join('')));
139
- });
140
-
141
- this.$selectGroup = [];
142
- this.$body.find('[name="btSelectGroup"]').each(function() {
143
- var self = $(this);
144
-
145
- that.$selectGroup.push({
146
- group: self,
147
- item: that.$selectItem.filter(function () {
148
- return ($(this).closest('tr').data('parent-index') ===
149
- self.closest('tr').data('group-index'));
150
- })
151
- });
152
- });
153
-
154
- this.$container.off('click', '.groupBy')
155
- .on('click', '.groupBy', function() {
156
- $(this).toggleClass('expanded');
157
- that.$body.find('tr[data-parent-index='+$(this).closest('tr').data('group-index')+']').toggleClass('hidden');
158
- });
159
-
160
- this.$container.off('click', '[name="btSelectGroup"]')
161
- .on('click', '[name="btSelectGroup"]', function (event) {
162
- event.stopImmediatePropagation();
163
-
164
- var self = $(this);
165
- var checked = self.prop('checked');
166
- that[checked ? 'checkGroup' : 'uncheckGroup']($(this).closest('tr').data('group-index'));
167
- });
168
- }
169
-
170
- initBodyCaller = false;
171
- this.updateSelected();
172
- };
173
-
174
- BootstrapTable.prototype.updateSelected = function () {
175
- if (!initBodyCaller) {
176
- _updateSelected.apply(this, Array.prototype.slice.apply(arguments));
177
-
178
- if ((this.options.groupBy) && (this.options.groupByField !== '')) {
179
- this.$selectGroup.forEach(function (item) {
180
- var checkGroup = item.item.filter(':enabled').length ===
181
- item.item.filter(':enabled').filter(':checked').length;
182
-
183
- item.group.prop('checked', checkGroup);
184
- });
185
- }
186
- }
187
- };
188
-
189
- BootstrapTable.prototype.getGroupSelections = function (index) {
190
- var that = this;
191
-
192
- return $.grep(this.data, function (row) {
193
- return (row[that.header.stateField] && (row._data['parent-index'] === index));
194
- });
195
- };
196
-
197
- BootstrapTable.prototype.checkGroup = function (index) {
198
- this.checkGroup_(index, true);
199
- };
200
-
201
- BootstrapTable.prototype.uncheckGroup = function (index) {
202
- this.checkGroup_(index, false);
203
- };
204
-
205
- BootstrapTable.prototype.checkGroup_ = function (index, checked) {
206
- var rows;
207
- var filter = function() {
208
- return ($(this).closest('tr').data('parent-index') === index);
209
- };
210
-
211
- if (!checked) {
212
- rows = this.getGroupSelections(index);
213
- }
214
-
215
- this.$selectItem.filter(filter).prop('checked', checked);
216
-
217
-
218
- this.updateRows();
219
- this.updateSelected();
220
- if (checked) {
221
- rows = this.getGroupSelections(index);
222
- }
223
- this.trigger(checked ? 'check-all' : 'uncheck-all', rows);
224
- };
225
-
226
- }(jQuery);
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery'], factory) :
4
+ (global = global || self, factory(global.jQuery));
5
+ }(this, (function ($) { 'use strict';
6
+
7
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
8
+
9
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
10
+
11
+ function createCommonjsModule(fn, module) {
12
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
13
+ }
14
+
15
+ var check = function (it) {
16
+ return it && it.Math == Math && it;
17
+ };
18
+
19
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
20
+ var global_1 =
21
+ // eslint-disable-next-line no-undef
22
+ check(typeof globalThis == 'object' && globalThis) ||
23
+ check(typeof window == 'object' && window) ||
24
+ check(typeof self == 'object' && self) ||
25
+ check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
26
+ // eslint-disable-next-line no-new-func
27
+ Function('return this')();
28
+
29
+ var fails = function (exec) {
30
+ try {
31
+ return !!exec();
32
+ } catch (error) {
33
+ return true;
34
+ }
35
+ };
36
+
37
+ // Thank's IE8 for his funny defineProperty
38
+ var descriptors = !fails(function () {
39
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
40
+ });
41
+
42
+ var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
43
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
44
+
45
+ // Nashorn ~ JDK8 bug
46
+ var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
47
+
48
+ // `Object.prototype.propertyIsEnumerable` method implementation
49
+ // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
50
+ var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
51
+ var descriptor = getOwnPropertyDescriptor(this, V);
52
+ return !!descriptor && descriptor.enumerable;
53
+ } : nativePropertyIsEnumerable;
54
+
55
+ var objectPropertyIsEnumerable = {
56
+ f: f
57
+ };
58
+
59
+ var createPropertyDescriptor = function (bitmap, value) {
60
+ return {
61
+ enumerable: !(bitmap & 1),
62
+ configurable: !(bitmap & 2),
63
+ writable: !(bitmap & 4),
64
+ value: value
65
+ };
66
+ };
67
+
68
+ var toString = {}.toString;
69
+
70
+ var classofRaw = function (it) {
71
+ return toString.call(it).slice(8, -1);
72
+ };
73
+
74
+ var split = ''.split;
75
+
76
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
77
+ var indexedObject = fails(function () {
78
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
79
+ // eslint-disable-next-line no-prototype-builtins
80
+ return !Object('z').propertyIsEnumerable(0);
81
+ }) ? function (it) {
82
+ return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
83
+ } : Object;
84
+
85
+ // `RequireObjectCoercible` abstract operation
86
+ // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
87
+ var requireObjectCoercible = function (it) {
88
+ if (it == undefined) throw TypeError("Can't call method on " + it);
89
+ return it;
90
+ };
91
+
92
+ // toObject with fallback for non-array-like ES3 strings
93
+
94
+
95
+
96
+ var toIndexedObject = function (it) {
97
+ return indexedObject(requireObjectCoercible(it));
98
+ };
99
+
100
+ var isObject = function (it) {
101
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
102
+ };
103
+
104
+ // `ToPrimitive` abstract operation
105
+ // https://tc39.github.io/ecma262/#sec-toprimitive
106
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
107
+ // and the second argument - flag - preferred type is a string
108
+ var toPrimitive = function (input, PREFERRED_STRING) {
109
+ if (!isObject(input)) return input;
110
+ var fn, val;
111
+ if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
112
+ if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
113
+ if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
114
+ throw TypeError("Can't convert object to primitive value");
115
+ };
116
+
117
+ var hasOwnProperty = {}.hasOwnProperty;
118
+
119
+ var has = function (it, key) {
120
+ return hasOwnProperty.call(it, key);
121
+ };
122
+
123
+ var document$1 = global_1.document;
124
+ // typeof document.createElement is 'object' in old IE
125
+ var EXISTS = isObject(document$1) && isObject(document$1.createElement);
126
+
127
+ var documentCreateElement = function (it) {
128
+ return EXISTS ? document$1.createElement(it) : {};
129
+ };
130
+
131
+ // Thank's IE8 for his funny defineProperty
132
+ var ie8DomDefine = !descriptors && !fails(function () {
133
+ return Object.defineProperty(documentCreateElement('div'), 'a', {
134
+ get: function () { return 7; }
135
+ }).a != 7;
136
+ });
137
+
138
+ var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
139
+
140
+ // `Object.getOwnPropertyDescriptor` method
141
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
142
+ var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
143
+ O = toIndexedObject(O);
144
+ P = toPrimitive(P, true);
145
+ if (ie8DomDefine) try {
146
+ return nativeGetOwnPropertyDescriptor(O, P);
147
+ } catch (error) { /* empty */ }
148
+ if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
149
+ };
150
+
151
+ var objectGetOwnPropertyDescriptor = {
152
+ f: f$1
153
+ };
154
+
155
+ var anObject = function (it) {
156
+ if (!isObject(it)) {
157
+ throw TypeError(String(it) + ' is not an object');
158
+ } return it;
159
+ };
160
+
161
+ var nativeDefineProperty = Object.defineProperty;
162
+
163
+ // `Object.defineProperty` method
164
+ // https://tc39.github.io/ecma262/#sec-object.defineproperty
165
+ var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
166
+ anObject(O);
167
+ P = toPrimitive(P, true);
168
+ anObject(Attributes);
169
+ if (ie8DomDefine) try {
170
+ return nativeDefineProperty(O, P, Attributes);
171
+ } catch (error) { /* empty */ }
172
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
173
+ if ('value' in Attributes) O[P] = Attributes.value;
174
+ return O;
175
+ };
176
+
177
+ var objectDefineProperty = {
178
+ f: f$2
179
+ };
180
+
181
+ var createNonEnumerableProperty = descriptors ? function (object, key, value) {
182
+ return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
183
+ } : function (object, key, value) {
184
+ object[key] = value;
185
+ return object;
186
+ };
187
+
188
+ var setGlobal = function (key, value) {
189
+ try {
190
+ createNonEnumerableProperty(global_1, key, value);
191
+ } catch (error) {
192
+ global_1[key] = value;
193
+ } return value;
194
+ };
195
+
196
+ var SHARED = '__core-js_shared__';
197
+ var store = global_1[SHARED] || setGlobal(SHARED, {});
198
+
199
+ var sharedStore = store;
200
+
201
+ var functionToString = Function.toString;
202
+
203
+ // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
204
+ if (typeof sharedStore.inspectSource != 'function') {
205
+ sharedStore.inspectSource = function (it) {
206
+ return functionToString.call(it);
207
+ };
208
+ }
209
+
210
+ var inspectSource = sharedStore.inspectSource;
211
+
212
+ var WeakMap = global_1.WeakMap;
213
+
214
+ var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
215
+
216
+ var shared = createCommonjsModule(function (module) {
217
+ (module.exports = function (key, value) {
218
+ return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
219
+ })('versions', []).push({
220
+ version: '3.6.0',
221
+ mode: 'global',
222
+ copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
223
+ });
224
+ });
225
+
226
+ var id = 0;
227
+ var postfix = Math.random();
228
+
229
+ var uid = function (key) {
230
+ return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
231
+ };
232
+
233
+ var keys = shared('keys');
234
+
235
+ var sharedKey = function (key) {
236
+ return keys[key] || (keys[key] = uid(key));
237
+ };
238
+
239
+ var hiddenKeys = {};
240
+
241
+ var WeakMap$1 = global_1.WeakMap;
242
+ var set, get, has$1;
243
+
244
+ var enforce = function (it) {
245
+ return has$1(it) ? get(it) : set(it, {});
246
+ };
247
+
248
+ var getterFor = function (TYPE) {
249
+ return function (it) {
250
+ var state;
251
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
252
+ throw TypeError('Incompatible receiver, ' + TYPE + ' required');
253
+ } return state;
254
+ };
255
+ };
256
+
257
+ if (nativeWeakMap) {
258
+ var store$1 = new WeakMap$1();
259
+ var wmget = store$1.get;
260
+ var wmhas = store$1.has;
261
+ var wmset = store$1.set;
262
+ set = function (it, metadata) {
263
+ wmset.call(store$1, it, metadata);
264
+ return metadata;
265
+ };
266
+ get = function (it) {
267
+ return wmget.call(store$1, it) || {};
268
+ };
269
+ has$1 = function (it) {
270
+ return wmhas.call(store$1, it);
271
+ };
272
+ } else {
273
+ var STATE = sharedKey('state');
274
+ hiddenKeys[STATE] = true;
275
+ set = function (it, metadata) {
276
+ createNonEnumerableProperty(it, STATE, metadata);
277
+ return metadata;
278
+ };
279
+ get = function (it) {
280
+ return has(it, STATE) ? it[STATE] : {};
281
+ };
282
+ has$1 = function (it) {
283
+ return has(it, STATE);
284
+ };
285
+ }
286
+
287
+ var internalState = {
288
+ set: set,
289
+ get: get,
290
+ has: has$1,
291
+ enforce: enforce,
292
+ getterFor: getterFor
293
+ };
294
+
295
+ var redefine = createCommonjsModule(function (module) {
296
+ var getInternalState = internalState.get;
297
+ var enforceInternalState = internalState.enforce;
298
+ var TEMPLATE = String(String).split('String');
299
+
300
+ (module.exports = function (O, key, value, options) {
301
+ var unsafe = options ? !!options.unsafe : false;
302
+ var simple = options ? !!options.enumerable : false;
303
+ var noTargetGet = options ? !!options.noTargetGet : false;
304
+ if (typeof value == 'function') {
305
+ if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
306
+ enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
307
+ }
308
+ if (O === global_1) {
309
+ if (simple) O[key] = value;
310
+ else setGlobal(key, value);
311
+ return;
312
+ } else if (!unsafe) {
313
+ delete O[key];
314
+ } else if (!noTargetGet && O[key]) {
315
+ simple = true;
316
+ }
317
+ if (simple) O[key] = value;
318
+ else createNonEnumerableProperty(O, key, value);
319
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
320
+ })(Function.prototype, 'toString', function toString() {
321
+ return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
322
+ });
323
+ });
324
+
325
+ var path = global_1;
326
+
327
+ var aFunction = function (variable) {
328
+ return typeof variable == 'function' ? variable : undefined;
329
+ };
330
+
331
+ var getBuiltIn = function (namespace, method) {
332
+ return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
333
+ : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
334
+ };
335
+
336
+ var ceil = Math.ceil;
337
+ var floor = Math.floor;
338
+
339
+ // `ToInteger` abstract operation
340
+ // https://tc39.github.io/ecma262/#sec-tointeger
341
+ var toInteger = function (argument) {
342
+ return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
343
+ };
344
+
345
+ var min = Math.min;
346
+
347
+ // `ToLength` abstract operation
348
+ // https://tc39.github.io/ecma262/#sec-tolength
349
+ var toLength = function (argument) {
350
+ return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
351
+ };
352
+
353
+ var max = Math.max;
354
+ var min$1 = Math.min;
355
+
356
+ // Helper for a popular repeating case of the spec:
357
+ // Let integer be ? ToInteger(index).
358
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
359
+ var toAbsoluteIndex = function (index, length) {
360
+ var integer = toInteger(index);
361
+ return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
362
+ };
363
+
364
+ // `Array.prototype.{ indexOf, includes }` methods implementation
365
+ var createMethod = function (IS_INCLUDES) {
366
+ return function ($this, el, fromIndex) {
367
+ var O = toIndexedObject($this);
368
+ var length = toLength(O.length);
369
+ var index = toAbsoluteIndex(fromIndex, length);
370
+ var value;
371
+ // Array#includes uses SameValueZero equality algorithm
372
+ // eslint-disable-next-line no-self-compare
373
+ if (IS_INCLUDES && el != el) while (length > index) {
374
+ value = O[index++];
375
+ // eslint-disable-next-line no-self-compare
376
+ if (value != value) return true;
377
+ // Array#indexOf ignores holes, Array#includes - not
378
+ } else for (;length > index; index++) {
379
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
380
+ } return !IS_INCLUDES && -1;
381
+ };
382
+ };
383
+
384
+ var arrayIncludes = {
385
+ // `Array.prototype.includes` method
386
+ // https://tc39.github.io/ecma262/#sec-array.prototype.includes
387
+ includes: createMethod(true),
388
+ // `Array.prototype.indexOf` method
389
+ // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
390
+ indexOf: createMethod(false)
391
+ };
392
+
393
+ var indexOf = arrayIncludes.indexOf;
394
+
395
+
396
+ var objectKeysInternal = function (object, names) {
397
+ var O = toIndexedObject(object);
398
+ var i = 0;
399
+ var result = [];
400
+ var key;
401
+ for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
402
+ // Don't enum bug & hidden keys
403
+ while (names.length > i) if (has(O, key = names[i++])) {
404
+ ~indexOf(result, key) || result.push(key);
405
+ }
406
+ return result;
407
+ };
408
+
409
+ // IE8- don't enum bug keys
410
+ var enumBugKeys = [
411
+ 'constructor',
412
+ 'hasOwnProperty',
413
+ 'isPrototypeOf',
414
+ 'propertyIsEnumerable',
415
+ 'toLocaleString',
416
+ 'toString',
417
+ 'valueOf'
418
+ ];
419
+
420
+ var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
421
+
422
+ // `Object.getOwnPropertyNames` method
423
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
424
+ var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
425
+ return objectKeysInternal(O, hiddenKeys$1);
426
+ };
427
+
428
+ var objectGetOwnPropertyNames = {
429
+ f: f$3
430
+ };
431
+
432
+ var f$4 = Object.getOwnPropertySymbols;
433
+
434
+ var objectGetOwnPropertySymbols = {
435
+ f: f$4
436
+ };
437
+
438
+ // all object keys, includes non-enumerable and symbols
439
+ var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
440
+ var keys = objectGetOwnPropertyNames.f(anObject(it));
441
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
442
+ return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
443
+ };
444
+
445
+ var copyConstructorProperties = function (target, source) {
446
+ var keys = ownKeys(source);
447
+ var defineProperty = objectDefineProperty.f;
448
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
449
+ for (var i = 0; i < keys.length; i++) {
450
+ var key = keys[i];
451
+ if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
452
+ }
453
+ };
454
+
455
+ var replacement = /#|\.prototype\./;
456
+
457
+ var isForced = function (feature, detection) {
458
+ var value = data[normalize(feature)];
459
+ return value == POLYFILL ? true
460
+ : value == NATIVE ? false
461
+ : typeof detection == 'function' ? fails(detection)
462
+ : !!detection;
463
+ };
464
+
465
+ var normalize = isForced.normalize = function (string) {
466
+ return String(string).replace(replacement, '.').toLowerCase();
467
+ };
468
+
469
+ var data = isForced.data = {};
470
+ var NATIVE = isForced.NATIVE = 'N';
471
+ var POLYFILL = isForced.POLYFILL = 'P';
472
+
473
+ var isForced_1 = isForced;
474
+
475
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
476
+
477
+
478
+
479
+
480
+
481
+
482
+ /*
483
+ options.target - name of the target object
484
+ options.global - target is the global object
485
+ options.stat - export as static methods of target
486
+ options.proto - export as prototype methods of target
487
+ options.real - real prototype method for the `pure` version
488
+ options.forced - export even if the native feature is available
489
+ options.bind - bind methods to the target, required for the `pure` version
490
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
491
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
492
+ options.sham - add a flag to not completely full polyfills
493
+ options.enumerable - export as enumerable property
494
+ options.noTargetGet - prevent calling a getter on target
495
+ */
496
+ var _export = function (options, source) {
497
+ var TARGET = options.target;
498
+ var GLOBAL = options.global;
499
+ var STATIC = options.stat;
500
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
501
+ if (GLOBAL) {
502
+ target = global_1;
503
+ } else if (STATIC) {
504
+ target = global_1[TARGET] || setGlobal(TARGET, {});
505
+ } else {
506
+ target = (global_1[TARGET] || {}).prototype;
507
+ }
508
+ if (target) for (key in source) {
509
+ sourceProperty = source[key];
510
+ if (options.noTargetGet) {
511
+ descriptor = getOwnPropertyDescriptor$1(target, key);
512
+ targetProperty = descriptor && descriptor.value;
513
+ } else targetProperty = target[key];
514
+ FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
515
+ // contained in target
516
+ if (!FORCED && targetProperty !== undefined) {
517
+ if (typeof sourceProperty === typeof targetProperty) continue;
518
+ copyConstructorProperties(sourceProperty, targetProperty);
519
+ }
520
+ // add a flag to not completely full polyfills
521
+ if (options.sham || (targetProperty && targetProperty.sham)) {
522
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
523
+ }
524
+ // extend global
525
+ redefine(target, key, sourceProperty, options);
526
+ }
527
+ };
528
+
529
+ var aFunction$1 = function (it) {
530
+ if (typeof it != 'function') {
531
+ throw TypeError(String(it) + ' is not a function');
532
+ } return it;
533
+ };
534
+
535
+ // optional / simple context binding
536
+ var bindContext = function (fn, that, length) {
537
+ aFunction$1(fn);
538
+ if (that === undefined) return fn;
539
+ switch (length) {
540
+ case 0: return function () {
541
+ return fn.call(that);
542
+ };
543
+ case 1: return function (a) {
544
+ return fn.call(that, a);
545
+ };
546
+ case 2: return function (a, b) {
547
+ return fn.call(that, a, b);
548
+ };
549
+ case 3: return function (a, b, c) {
550
+ return fn.call(that, a, b, c);
551
+ };
552
+ }
553
+ return function (/* ...args */) {
554
+ return fn.apply(that, arguments);
555
+ };
556
+ };
557
+
558
+ // `ToObject` abstract operation
559
+ // https://tc39.github.io/ecma262/#sec-toobject
560
+ var toObject = function (argument) {
561
+ return Object(requireObjectCoercible(argument));
562
+ };
563
+
564
+ // `IsArray` abstract operation
565
+ // https://tc39.github.io/ecma262/#sec-isarray
566
+ var isArray = Array.isArray || function isArray(arg) {
567
+ return classofRaw(arg) == 'Array';
568
+ };
569
+
570
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
571
+ // Chrome 38 Symbol has incorrect toString conversion
572
+ // eslint-disable-next-line no-undef
573
+ return !String(Symbol());
574
+ });
575
+
576
+ var useSymbolAsUid = nativeSymbol
577
+ // eslint-disable-next-line no-undef
578
+ && !Symbol.sham
579
+ // eslint-disable-next-line no-undef
580
+ && typeof Symbol() == 'symbol';
581
+
582
+ var WellKnownSymbolsStore = shared('wks');
583
+ var Symbol$1 = global_1.Symbol;
584
+ var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
585
+
586
+ var wellKnownSymbol = function (name) {
587
+ if (!has(WellKnownSymbolsStore, name)) {
588
+ if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
589
+ else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
590
+ } return WellKnownSymbolsStore[name];
591
+ };
592
+
593
+ var SPECIES = wellKnownSymbol('species');
594
+
595
+ // `ArraySpeciesCreate` abstract operation
596
+ // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
597
+ var arraySpeciesCreate = function (originalArray, length) {
598
+ var C;
599
+ if (isArray(originalArray)) {
600
+ C = originalArray.constructor;
601
+ // cross-realm fallback
602
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
603
+ else if (isObject(C)) {
604
+ C = C[SPECIES];
605
+ if (C === null) C = undefined;
606
+ }
607
+ } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
608
+ };
609
+
610
+ var push = [].push;
611
+
612
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
613
+ var createMethod$1 = function (TYPE) {
614
+ var IS_MAP = TYPE == 1;
615
+ var IS_FILTER = TYPE == 2;
616
+ var IS_SOME = TYPE == 3;
617
+ var IS_EVERY = TYPE == 4;
618
+ var IS_FIND_INDEX = TYPE == 6;
619
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
620
+ return function ($this, callbackfn, that, specificCreate) {
621
+ var O = toObject($this);
622
+ var self = indexedObject(O);
623
+ var boundFunction = bindContext(callbackfn, that, 3);
624
+ var length = toLength(self.length);
625
+ var index = 0;
626
+ var create = specificCreate || arraySpeciesCreate;
627
+ var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
628
+ var value, result;
629
+ for (;length > index; index++) if (NO_HOLES || index in self) {
630
+ value = self[index];
631
+ result = boundFunction(value, index, O);
632
+ if (TYPE) {
633
+ if (IS_MAP) target[index] = result; // map
634
+ else if (result) switch (TYPE) {
635
+ case 3: return true; // some
636
+ case 5: return value; // find
637
+ case 6: return index; // findIndex
638
+ case 2: push.call(target, value); // filter
639
+ } else if (IS_EVERY) return false; // every
640
+ }
641
+ }
642
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
643
+ };
644
+ };
645
+
646
+ var arrayIteration = {
647
+ // `Array.prototype.forEach` method
648
+ // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
649
+ forEach: createMethod$1(0),
650
+ // `Array.prototype.map` method
651
+ // https://tc39.github.io/ecma262/#sec-array.prototype.map
652
+ map: createMethod$1(1),
653
+ // `Array.prototype.filter` method
654
+ // https://tc39.github.io/ecma262/#sec-array.prototype.filter
655
+ filter: createMethod$1(2),
656
+ // `Array.prototype.some` method
657
+ // https://tc39.github.io/ecma262/#sec-array.prototype.some
658
+ some: createMethod$1(3),
659
+ // `Array.prototype.every` method
660
+ // https://tc39.github.io/ecma262/#sec-array.prototype.every
661
+ every: createMethod$1(4),
662
+ // `Array.prototype.find` method
663
+ // https://tc39.github.io/ecma262/#sec-array.prototype.find
664
+ find: createMethod$1(5),
665
+ // `Array.prototype.findIndex` method
666
+ // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
667
+ findIndex: createMethod$1(6)
668
+ };
669
+
670
+ var userAgent = getBuiltIn('navigator', 'userAgent') || '';
671
+
672
+ var process = global_1.process;
673
+ var versions = process && process.versions;
674
+ var v8 = versions && versions.v8;
675
+ var match, version;
676
+
677
+ if (v8) {
678
+ match = v8.split('.');
679
+ version = match[0] + match[1];
680
+ } else if (userAgent) {
681
+ match = userAgent.match(/Edge\/(\d+)/);
682
+ if (!match || match[1] >= 74) {
683
+ match = userAgent.match(/Chrome\/(\d+)/);
684
+ if (match) version = match[1];
685
+ }
686
+ }
687
+
688
+ var v8Version = version && +version;
689
+
690
+ var SPECIES$1 = wellKnownSymbol('species');
691
+
692
+ var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
693
+ // We can't use this feature detection in V8 since it causes
694
+ // deoptimization and serious performance degradation
695
+ // https://github.com/zloirock/core-js/issues/677
696
+ return v8Version >= 51 || !fails(function () {
697
+ var array = [];
698
+ var constructor = array.constructor = {};
699
+ constructor[SPECIES$1] = function () {
700
+ return { foo: 1 };
701
+ };
702
+ return array[METHOD_NAME](Boolean).foo !== 1;
703
+ });
704
+ };
705
+
706
+ var $filter = arrayIteration.filter;
707
+
708
+
709
+
710
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
711
+ // Edge 14- issue
712
+ var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
713
+ [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
714
+ });
715
+
716
+ // `Array.prototype.filter` method
717
+ // https://tc39.github.io/ecma262/#sec-array.prototype.filter
718
+ // with adding support of @@species
719
+ _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
720
+ filter: function filter(callbackfn /* , thisArg */) {
721
+ return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
722
+ }
723
+ });
724
+
725
+ // `Object.keys` method
726
+ // https://tc39.github.io/ecma262/#sec-object.keys
727
+ var objectKeys = Object.keys || function keys(O) {
728
+ return objectKeysInternal(O, enumBugKeys);
729
+ };
730
+
731
+ // `Object.defineProperties` method
732
+ // https://tc39.github.io/ecma262/#sec-object.defineproperties
733
+ var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
734
+ anObject(O);
735
+ var keys = objectKeys(Properties);
736
+ var length = keys.length;
737
+ var index = 0;
738
+ var key;
739
+ while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
740
+ return O;
741
+ };
742
+
743
+ var html = getBuiltIn('document', 'documentElement');
744
+
745
+ var GT = '>';
746
+ var LT = '<';
747
+ var PROTOTYPE = 'prototype';
748
+ var SCRIPT = 'script';
749
+ var IE_PROTO = sharedKey('IE_PROTO');
750
+
751
+ var EmptyConstructor = function () { /* empty */ };
752
+
753
+ var scriptTag = function (content) {
754
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
755
+ };
756
+
757
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
758
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
759
+ activeXDocument.write(scriptTag(''));
760
+ activeXDocument.close();
761
+ var temp = activeXDocument.parentWindow.Object;
762
+ activeXDocument = null; // avoid memory leak
763
+ return temp;
764
+ };
765
+
766
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
767
+ var NullProtoObjectViaIFrame = function () {
768
+ // Thrash, waste and sodomy: IE GC bug
769
+ var iframe = documentCreateElement('iframe');
770
+ var JS = 'java' + SCRIPT + ':';
771
+ var iframeDocument;
772
+ iframe.style.display = 'none';
773
+ html.appendChild(iframe);
774
+ // https://github.com/zloirock/core-js/issues/475
775
+ iframe.src = String(JS);
776
+ iframeDocument = iframe.contentWindow.document;
777
+ iframeDocument.open();
778
+ iframeDocument.write(scriptTag('document.F=Object'));
779
+ iframeDocument.close();
780
+ return iframeDocument.F;
781
+ };
782
+
783
+ // Check for document.domain and active x support
784
+ // No need to use active x approach when document.domain is not set
785
+ // see https://github.com/es-shims/es5-shim/issues/150
786
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
787
+ // avoid IE GC bug
788
+ var activeXDocument;
789
+ var NullProtoObject = function () {
790
+ try {
791
+ /* global ActiveXObject */
792
+ activeXDocument = document.domain && new ActiveXObject('htmlfile');
793
+ } catch (error) { /* ignore */ }
794
+ NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
795
+ var length = enumBugKeys.length;
796
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
797
+ return NullProtoObject();
798
+ };
799
+
800
+ hiddenKeys[IE_PROTO] = true;
801
+
802
+ // `Object.create` method
803
+ // https://tc39.github.io/ecma262/#sec-object.create
804
+ var objectCreate = Object.create || function create(O, Properties) {
805
+ var result;
806
+ if (O !== null) {
807
+ EmptyConstructor[PROTOTYPE] = anObject(O);
808
+ result = new EmptyConstructor();
809
+ EmptyConstructor[PROTOTYPE] = null;
810
+ // add "__proto__" for Object.getPrototypeOf polyfill
811
+ result[IE_PROTO] = O;
812
+ } else result = NullProtoObject();
813
+ return Properties === undefined ? result : objectDefineProperties(result, Properties);
814
+ };
815
+
816
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
817
+ var ArrayPrototype = Array.prototype;
818
+
819
+ // Array.prototype[@@unscopables]
820
+ // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
821
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
822
+ objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
823
+ configurable: true,
824
+ value: objectCreate(null)
825
+ });
826
+ }
827
+
828
+ // add a key to Array.prototype[@@unscopables]
829
+ var addToUnscopables = function (key) {
830
+ ArrayPrototype[UNSCOPABLES][key] = true;
831
+ };
832
+
833
+ var $find = arrayIteration.find;
834
+
835
+
836
+ var FIND = 'find';
837
+ var SKIPS_HOLES = true;
838
+
839
+ // Shouldn't skip holes
840
+ if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
841
+
842
+ // `Array.prototype.find` method
843
+ // https://tc39.github.io/ecma262/#sec-array.prototype.find
844
+ _export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
845
+ find: function find(callbackfn /* , that = undefined */) {
846
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
847
+ }
848
+ });
849
+
850
+ // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
851
+ addToUnscopables(FIND);
852
+
853
+ var sloppyArrayMethod = function (METHOD_NAME, argument) {
854
+ var method = [][METHOD_NAME];
855
+ return !method || !fails(function () {
856
+ // eslint-disable-next-line no-useless-call,no-throw-literal
857
+ method.call(null, argument || function () { throw 1; }, 1);
858
+ });
859
+ };
860
+
861
+ var nativeJoin = [].join;
862
+
863
+ var ES3_STRINGS = indexedObject != Object;
864
+ var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
865
+
866
+ // `Array.prototype.join` method
867
+ // https://tc39.github.io/ecma262/#sec-array.prototype.join
868
+ _export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
869
+ join: function join(separator) {
870
+ return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
871
+ }
872
+ });
873
+
874
+ var createProperty = function (object, key, value) {
875
+ var propertyKey = toPrimitive(key);
876
+ if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
877
+ else object[propertyKey] = value;
878
+ };
879
+
880
+ var SPECIES$2 = wellKnownSymbol('species');
881
+ var nativeSlice = [].slice;
882
+ var max$1 = Math.max;
883
+
884
+ // `Array.prototype.slice` method
885
+ // https://tc39.github.io/ecma262/#sec-array.prototype.slice
886
+ // fallback for not array-like ES3 strings and DOM objects
887
+ _export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
888
+ slice: function slice(start, end) {
889
+ var O = toIndexedObject(this);
890
+ var length = toLength(O.length);
891
+ var k = toAbsoluteIndex(start, length);
892
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
893
+ // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
894
+ var Constructor, result, n;
895
+ if (isArray(O)) {
896
+ Constructor = O.constructor;
897
+ // cross-realm fallback
898
+ if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
899
+ Constructor = undefined;
900
+ } else if (isObject(Constructor)) {
901
+ Constructor = Constructor[SPECIES$2];
902
+ if (Constructor === null) Constructor = undefined;
903
+ }
904
+ if (Constructor === Array || Constructor === undefined) {
905
+ return nativeSlice.call(O, k, fin);
906
+ }
907
+ }
908
+ result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
909
+ for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
910
+ result.length = n;
911
+ return result;
912
+ }
913
+ });
914
+
915
+ var test = [];
916
+ var nativeSort = test.sort;
917
+
918
+ // IE8-
919
+ var FAILS_ON_UNDEFINED = fails(function () {
920
+ test.sort(undefined);
921
+ });
922
+ // V8 bug
923
+ var FAILS_ON_NULL = fails(function () {
924
+ test.sort(null);
925
+ });
926
+ // Old WebKit
927
+ var SLOPPY_METHOD$1 = sloppyArrayMethod('sort');
928
+
929
+ var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD$1;
930
+
931
+ // `Array.prototype.sort` method
932
+ // https://tc39.github.io/ecma262/#sec-array.prototype.sort
933
+ _export({ target: 'Array', proto: true, forced: FORCED }, {
934
+ sort: function sort(comparefn) {
935
+ return comparefn === undefined
936
+ ? nativeSort.call(toObject(this))
937
+ : nativeSort.call(toObject(this), aFunction$1(comparefn));
938
+ }
939
+ });
940
+
941
+ var defineProperty = objectDefineProperty.f;
942
+
943
+ var FunctionPrototype = Function.prototype;
944
+ var FunctionPrototypeToString = FunctionPrototype.toString;
945
+ var nameRE = /^\s*function ([^ (]*)/;
946
+ var NAME = 'name';
947
+
948
+ // Function instances `.name` property
949
+ // https://tc39.github.io/ecma262/#sec-function-instances-name
950
+ if (descriptors && !(NAME in FunctionPrototype)) {
951
+ defineProperty(FunctionPrototype, NAME, {
952
+ configurable: true,
953
+ get: function () {
954
+ try {
955
+ return FunctionPrototypeToString.call(this).match(nameRE)[1];
956
+ } catch (error) {
957
+ return '';
958
+ }
959
+ }
960
+ });
961
+ }
962
+
963
+ var nativeAssign = Object.assign;
964
+ var defineProperty$1 = Object.defineProperty;
965
+
966
+ // `Object.assign` method
967
+ // https://tc39.github.io/ecma262/#sec-object.assign
968
+ var objectAssign = !nativeAssign || fails(function () {
969
+ // should have correct order of operations (Edge bug)
970
+ if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$1({}, 'a', {
971
+ enumerable: true,
972
+ get: function () {
973
+ defineProperty$1(this, 'b', {
974
+ value: 3,
975
+ enumerable: false
976
+ });
977
+ }
978
+ }), { b: 2 })).b !== 1) return true;
979
+ // should work with symbols and should have deterministic property order (V8 bug)
980
+ var A = {};
981
+ var B = {};
982
+ // eslint-disable-next-line no-undef
983
+ var symbol = Symbol();
984
+ var alphabet = 'abcdefghijklmnopqrst';
985
+ A[symbol] = 7;
986
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
987
+ return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
988
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
989
+ var T = toObject(target);
990
+ var argumentsLength = arguments.length;
991
+ var index = 1;
992
+ var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
993
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
994
+ while (argumentsLength > index) {
995
+ var S = indexedObject(arguments[index++]);
996
+ var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
997
+ var length = keys.length;
998
+ var j = 0;
999
+ var key;
1000
+ while (length > j) {
1001
+ key = keys[j++];
1002
+ if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
1003
+ }
1004
+ } return T;
1005
+ } : nativeAssign;
1006
+
1007
+ // `Object.assign` method
1008
+ // https://tc39.github.io/ecma262/#sec-object.assign
1009
+ _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
1010
+ assign: objectAssign
1011
+ });
1012
+
1013
+ // `RegExp.prototype.flags` getter implementation
1014
+ // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
1015
+ var regexpFlags = function () {
1016
+ var that = anObject(this);
1017
+ var result = '';
1018
+ if (that.global) result += 'g';
1019
+ if (that.ignoreCase) result += 'i';
1020
+ if (that.multiline) result += 'm';
1021
+ if (that.dotAll) result += 's';
1022
+ if (that.unicode) result += 'u';
1023
+ if (that.sticky) result += 'y';
1024
+ return result;
1025
+ };
1026
+
1027
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
1028
+ // so we use an intermediate function.
1029
+ function RE(s, f) {
1030
+ return RegExp(s, f);
1031
+ }
1032
+
1033
+ var UNSUPPORTED_Y = fails(function () {
1034
+ // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1035
+ var re = RE('a', 'y');
1036
+ re.lastIndex = 2;
1037
+ return re.exec('abcd') != null;
1038
+ });
1039
+
1040
+ var BROKEN_CARET = fails(function () {
1041
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1042
+ var re = RE('^r', 'gy');
1043
+ re.lastIndex = 2;
1044
+ return re.exec('str') != null;
1045
+ });
1046
+
1047
+ var regexpStickyHelpers = {
1048
+ UNSUPPORTED_Y: UNSUPPORTED_Y,
1049
+ BROKEN_CARET: BROKEN_CARET
1050
+ };
1051
+
1052
+ var nativeExec = RegExp.prototype.exec;
1053
+ // This always refers to the native implementation, because the
1054
+ // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
1055
+ // which loads this file before patching the method.
1056
+ var nativeReplace = String.prototype.replace;
1057
+
1058
+ var patchedExec = nativeExec;
1059
+
1060
+ var UPDATES_LAST_INDEX_WRONG = (function () {
1061
+ var re1 = /a/;
1062
+ var re2 = /b*/g;
1063
+ nativeExec.call(re1, 'a');
1064
+ nativeExec.call(re2, 'a');
1065
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1066
+ })();
1067
+
1068
+ var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
1069
+
1070
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
1071
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1072
+
1073
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
1074
+
1075
+ if (PATCH) {
1076
+ patchedExec = function exec(str) {
1077
+ var re = this;
1078
+ var lastIndex, reCopy, match, i;
1079
+ var sticky = UNSUPPORTED_Y$1 && re.sticky;
1080
+ var flags = regexpFlags.call(re);
1081
+ var source = re.source;
1082
+ var charsAdded = 0;
1083
+ var strCopy = str;
1084
+
1085
+ if (sticky) {
1086
+ flags = flags.replace('y', '');
1087
+ if (flags.indexOf('g') === -1) {
1088
+ flags += 'g';
1089
+ }
1090
+
1091
+ strCopy = String(str).slice(re.lastIndex);
1092
+ // Support anchored sticky behavior.
1093
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
1094
+ source = '(?: ' + source + ')';
1095
+ strCopy = ' ' + strCopy;
1096
+ charsAdded++;
1097
+ }
1098
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
1099
+ // simulate the 'y' flag.
1100
+ reCopy = new RegExp('^(?:' + source + ')', flags);
1101
+ }
1102
+
1103
+ if (NPCG_INCLUDED) {
1104
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1105
+ }
1106
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1107
+
1108
+ match = nativeExec.call(sticky ? reCopy : re, strCopy);
1109
+
1110
+ if (sticky) {
1111
+ if (match) {
1112
+ match.input = match.input.slice(charsAdded);
1113
+ match[0] = match[0].slice(charsAdded);
1114
+ match.index = re.lastIndex;
1115
+ re.lastIndex += match[0].length;
1116
+ } else re.lastIndex = 0;
1117
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
1118
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1119
+ }
1120
+ if (NPCG_INCLUDED && match && match.length > 1) {
1121
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
1122
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1123
+ nativeReplace.call(match[0], reCopy, function () {
1124
+ for (i = 1; i < arguments.length - 2; i++) {
1125
+ if (arguments[i] === undefined) match[i] = undefined;
1126
+ }
1127
+ });
1128
+ }
1129
+
1130
+ return match;
1131
+ };
1132
+ }
1133
+
1134
+ var regexpExec = patchedExec;
1135
+
1136
+ _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
1137
+ exec: regexpExec
1138
+ });
1139
+
1140
+ var SPECIES$3 = wellKnownSymbol('species');
1141
+
1142
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
1143
+ // #replace needs built-in support for named groups.
1144
+ // #match works fine because it just return the exec results, even if it has
1145
+ // a "grops" property.
1146
+ var re = /./;
1147
+ re.exec = function () {
1148
+ var result = [];
1149
+ result.groups = { a: '7' };
1150
+ return result;
1151
+ };
1152
+ return ''.replace(re, '$<a>') !== '7';
1153
+ });
1154
+
1155
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
1156
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
1157
+ var REPLACE_KEEPS_$0 = (function () {
1158
+ return 'a'.replace(/./, '$0') === '$0';
1159
+ })();
1160
+
1161
+ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
1162
+ // Weex JS has frozen built-in prototypes, so use try / catch wrapper
1163
+ var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
1164
+ var re = /(?:)/;
1165
+ var originalExec = re.exec;
1166
+ re.exec = function () { return originalExec.apply(this, arguments); };
1167
+ var result = 'ab'.split(re);
1168
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
1169
+ });
1170
+
1171
+ var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
1172
+ var SYMBOL = wellKnownSymbol(KEY);
1173
+
1174
+ var DELEGATES_TO_SYMBOL = !fails(function () {
1175
+ // String methods call symbol-named RegEp methods
1176
+ var O = {};
1177
+ O[SYMBOL] = function () { return 7; };
1178
+ return ''[KEY](O) != 7;
1179
+ });
1180
+
1181
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
1182
+ // Symbol-named RegExp methods call .exec
1183
+ var execCalled = false;
1184
+ var re = /a/;
1185
+
1186
+ if (KEY === 'split') {
1187
+ // We can't use real regex here since it causes deoptimization
1188
+ // and serious performance degradation in V8
1189
+ // https://github.com/zloirock/core-js/issues/306
1190
+ re = {};
1191
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
1192
+ // a new one. We need to return the patched regex when creating the new one.
1193
+ re.constructor = {};
1194
+ re.constructor[SPECIES$3] = function () { return re; };
1195
+ re.flags = '';
1196
+ re[SYMBOL] = /./[SYMBOL];
1197
+ }
1198
+
1199
+ re.exec = function () { execCalled = true; return null; };
1200
+
1201
+ re[SYMBOL]('');
1202
+ return !execCalled;
1203
+ });
1204
+
1205
+ if (
1206
+ !DELEGATES_TO_SYMBOL ||
1207
+ !DELEGATES_TO_EXEC ||
1208
+ (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
1209
+ (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
1210
+ ) {
1211
+ var nativeRegExpMethod = /./[SYMBOL];
1212
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
1213
+ if (regexp.exec === regexpExec) {
1214
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
1215
+ // The native String method already delegates to @@method (this
1216
+ // polyfilled function), leasing to infinite recursion.
1217
+ // We avoid it by directly calling the native @@method method.
1218
+ return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
1219
+ }
1220
+ return { done: true, value: nativeMethod.call(str, regexp, arg2) };
1221
+ }
1222
+ return { done: false };
1223
+ }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
1224
+ var stringMethod = methods[0];
1225
+ var regexMethod = methods[1];
1226
+
1227
+ redefine(String.prototype, KEY, stringMethod);
1228
+ redefine(RegExp.prototype, SYMBOL, length == 2
1229
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
1230
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
1231
+ ? function (string, arg) { return regexMethod.call(string, this, arg); }
1232
+ // 21.2.5.6 RegExp.prototype[@@match](string)
1233
+ // 21.2.5.9 RegExp.prototype[@@search](string)
1234
+ : function (string) { return regexMethod.call(string, this); }
1235
+ );
1236
+ }
1237
+
1238
+ if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1239
+ };
1240
+
1241
+ // `String.prototype.{ codePointAt, at }` methods implementation
1242
+ var createMethod$2 = function (CONVERT_TO_STRING) {
1243
+ return function ($this, pos) {
1244
+ var S = String(requireObjectCoercible($this));
1245
+ var position = toInteger(pos);
1246
+ var size = S.length;
1247
+ var first, second;
1248
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1249
+ first = S.charCodeAt(position);
1250
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
1251
+ || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1252
+ ? CONVERT_TO_STRING ? S.charAt(position) : first
1253
+ : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1254
+ };
1255
+ };
1256
+
1257
+ var stringMultibyte = {
1258
+ // `String.prototype.codePointAt` method
1259
+ // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
1260
+ codeAt: createMethod$2(false),
1261
+ // `String.prototype.at` method
1262
+ // https://github.com/mathiasbynens/String.prototype.at
1263
+ charAt: createMethod$2(true)
1264
+ };
1265
+
1266
+ var charAt = stringMultibyte.charAt;
1267
+
1268
+ // `AdvanceStringIndex` abstract operation
1269
+ // https://tc39.github.io/ecma262/#sec-advancestringindex
1270
+ var advanceStringIndex = function (S, index, unicode) {
1271
+ return index + (unicode ? charAt(S, index).length : 1);
1272
+ };
1273
+
1274
+ // `RegExpExec` abstract operation
1275
+ // https://tc39.github.io/ecma262/#sec-regexpexec
1276
+ var regexpExecAbstract = function (R, S) {
1277
+ var exec = R.exec;
1278
+ if (typeof exec === 'function') {
1279
+ var result = exec.call(R, S);
1280
+ if (typeof result !== 'object') {
1281
+ throw TypeError('RegExp exec method returned something other than an Object or null');
1282
+ }
1283
+ return result;
1284
+ }
1285
+
1286
+ if (classofRaw(R) !== 'RegExp') {
1287
+ throw TypeError('RegExp#exec called on incompatible receiver');
1288
+ }
1289
+
1290
+ return regexpExec.call(R, S);
1291
+ };
1292
+
1293
+ var max$2 = Math.max;
1294
+ var min$2 = Math.min;
1295
+ var floor$1 = Math.floor;
1296
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
1297
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
1298
+
1299
+ var maybeToString = function (it) {
1300
+ return it === undefined ? it : String(it);
1301
+ };
1302
+
1303
+ // @@replace logic
1304
+ fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
1305
+ return [
1306
+ // `String.prototype.replace` method
1307
+ // https://tc39.github.io/ecma262/#sec-string.prototype.replace
1308
+ function replace(searchValue, replaceValue) {
1309
+ var O = requireObjectCoercible(this);
1310
+ var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
1311
+ return replacer !== undefined
1312
+ ? replacer.call(searchValue, O, replaceValue)
1313
+ : nativeReplace.call(String(O), searchValue, replaceValue);
1314
+ },
1315
+ // `RegExp.prototype[@@replace]` method
1316
+ // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
1317
+ function (regexp, replaceValue) {
1318
+ if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
1319
+ var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
1320
+ if (res.done) return res.value;
1321
+ }
1322
+
1323
+ var rx = anObject(regexp);
1324
+ var S = String(this);
1325
+
1326
+ var functionalReplace = typeof replaceValue === 'function';
1327
+ if (!functionalReplace) replaceValue = String(replaceValue);
1328
+
1329
+ var global = rx.global;
1330
+ if (global) {
1331
+ var fullUnicode = rx.unicode;
1332
+ rx.lastIndex = 0;
1333
+ }
1334
+ var results = [];
1335
+ while (true) {
1336
+ var result = regexpExecAbstract(rx, S);
1337
+ if (result === null) break;
1338
+
1339
+ results.push(result);
1340
+ if (!global) break;
1341
+
1342
+ var matchStr = String(result[0]);
1343
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
1344
+ }
1345
+
1346
+ var accumulatedResult = '';
1347
+ var nextSourcePosition = 0;
1348
+ for (var i = 0; i < results.length; i++) {
1349
+ result = results[i];
1350
+
1351
+ var matched = String(result[0]);
1352
+ var position = max$2(min$2(toInteger(result.index), S.length), 0);
1353
+ var captures = [];
1354
+ // NOTE: This is equivalent to
1355
+ // captures = result.slice(1).map(maybeToString)
1356
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
1357
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
1358
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
1359
+ for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
1360
+ var namedCaptures = result.groups;
1361
+ if (functionalReplace) {
1362
+ var replacerArgs = [matched].concat(captures, position, S);
1363
+ if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
1364
+ var replacement = String(replaceValue.apply(undefined, replacerArgs));
1365
+ } else {
1366
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
1367
+ }
1368
+ if (position >= nextSourcePosition) {
1369
+ accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
1370
+ nextSourcePosition = position + matched.length;
1371
+ }
1372
+ }
1373
+ return accumulatedResult + S.slice(nextSourcePosition);
1374
+ }
1375
+ ];
1376
+
1377
+ // https://tc39.github.io/ecma262/#sec-getsubstitution
1378
+ function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
1379
+ var tailPos = position + matched.length;
1380
+ var m = captures.length;
1381
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
1382
+ if (namedCaptures !== undefined) {
1383
+ namedCaptures = toObject(namedCaptures);
1384
+ symbols = SUBSTITUTION_SYMBOLS;
1385
+ }
1386
+ return nativeReplace.call(replacement, symbols, function (match, ch) {
1387
+ var capture;
1388
+ switch (ch.charAt(0)) {
1389
+ case '$': return '$';
1390
+ case '&': return matched;
1391
+ case '`': return str.slice(0, position);
1392
+ case "'": return str.slice(tailPos);
1393
+ case '<':
1394
+ capture = namedCaptures[ch.slice(1, -1)];
1395
+ break;
1396
+ default: // \d\d?
1397
+ var n = +ch;
1398
+ if (n === 0) return match;
1399
+ if (n > m) {
1400
+ var f = floor$1(n / 10);
1401
+ if (f === 0) return match;
1402
+ if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
1403
+ return match;
1404
+ }
1405
+ capture = captures[n - 1];
1406
+ }
1407
+ return capture === undefined ? '' : capture;
1408
+ });
1409
+ }
1410
+ });
1411
+
1412
+ // iterable DOM collections
1413
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
1414
+ var domIterables = {
1415
+ CSSRuleList: 0,
1416
+ CSSStyleDeclaration: 0,
1417
+ CSSValueList: 0,
1418
+ ClientRectList: 0,
1419
+ DOMRectList: 0,
1420
+ DOMStringList: 0,
1421
+ DOMTokenList: 1,
1422
+ DataTransferItemList: 0,
1423
+ FileList: 0,
1424
+ HTMLAllCollection: 0,
1425
+ HTMLCollection: 0,
1426
+ HTMLFormElement: 0,
1427
+ HTMLSelectElement: 0,
1428
+ MediaList: 0,
1429
+ MimeTypeArray: 0,
1430
+ NamedNodeMap: 0,
1431
+ NodeList: 1,
1432
+ PaintRequestList: 0,
1433
+ Plugin: 0,
1434
+ PluginArray: 0,
1435
+ SVGLengthList: 0,
1436
+ SVGNumberList: 0,
1437
+ SVGPathSegList: 0,
1438
+ SVGPointList: 0,
1439
+ SVGStringList: 0,
1440
+ SVGTransformList: 0,
1441
+ SourceBufferList: 0,
1442
+ StyleSheetList: 0,
1443
+ TextTrackCueList: 0,
1444
+ TextTrackList: 0,
1445
+ TouchList: 0
1446
+ };
1447
+
1448
+ var $forEach = arrayIteration.forEach;
1449
+
1450
+
1451
+ // `Array.prototype.forEach` method implementation
1452
+ // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
1453
+ var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
1454
+ return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1455
+ } : [].forEach;
1456
+
1457
+ for (var COLLECTION_NAME in domIterables) {
1458
+ var Collection = global_1[COLLECTION_NAME];
1459
+ var CollectionPrototype = Collection && Collection.prototype;
1460
+ // some Chrome versions have non-configurable methods on DOMTokenList
1461
+ if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
1462
+ createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
1463
+ } catch (error) {
1464
+ CollectionPrototype.forEach = arrayForEach;
1465
+ }
1466
+ }
1467
+
1468
+ function _typeof(obj) {
1469
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
1470
+ _typeof = function (obj) {
1471
+ return typeof obj;
1472
+ };
1473
+ } else {
1474
+ _typeof = function (obj) {
1475
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1476
+ };
1477
+ }
1478
+
1479
+ return _typeof(obj);
1480
+ }
1481
+
1482
+ function _classCallCheck(instance, Constructor) {
1483
+ if (!(instance instanceof Constructor)) {
1484
+ throw new TypeError("Cannot call a class as a function");
1485
+ }
1486
+ }
1487
+
1488
+ function _defineProperties(target, props) {
1489
+ for (var i = 0; i < props.length; i++) {
1490
+ var descriptor = props[i];
1491
+ descriptor.enumerable = descriptor.enumerable || false;
1492
+ descriptor.configurable = true;
1493
+ if ("value" in descriptor) descriptor.writable = true;
1494
+ Object.defineProperty(target, descriptor.key, descriptor);
1495
+ }
1496
+ }
1497
+
1498
+ function _createClass(Constructor, protoProps, staticProps) {
1499
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1500
+ if (staticProps) _defineProperties(Constructor, staticProps);
1501
+ return Constructor;
1502
+ }
1503
+
1504
+ function _inherits(subClass, superClass) {
1505
+ if (typeof superClass !== "function" && superClass !== null) {
1506
+ throw new TypeError("Super expression must either be null or a function");
1507
+ }
1508
+
1509
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
1510
+ constructor: {
1511
+ value: subClass,
1512
+ writable: true,
1513
+ configurable: true
1514
+ }
1515
+ });
1516
+ if (superClass) _setPrototypeOf(subClass, superClass);
1517
+ }
1518
+
1519
+ function _getPrototypeOf(o) {
1520
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1521
+ return o.__proto__ || Object.getPrototypeOf(o);
1522
+ };
1523
+ return _getPrototypeOf(o);
1524
+ }
1525
+
1526
+ function _setPrototypeOf(o, p) {
1527
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1528
+ o.__proto__ = p;
1529
+ return o;
1530
+ };
1531
+
1532
+ return _setPrototypeOf(o, p);
1533
+ }
1534
+
1535
+ function _assertThisInitialized(self) {
1536
+ if (self === void 0) {
1537
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1538
+ }
1539
+
1540
+ return self;
1541
+ }
1542
+
1543
+ function _possibleConstructorReturn(self, call) {
1544
+ if (call && (typeof call === "object" || typeof call === "function")) {
1545
+ return call;
1546
+ }
1547
+
1548
+ return _assertThisInitialized(self);
1549
+ }
1550
+
1551
+ function _superPropBase(object, property) {
1552
+ while (!Object.prototype.hasOwnProperty.call(object, property)) {
1553
+ object = _getPrototypeOf(object);
1554
+ if (object === null) break;
1555
+ }
1556
+
1557
+ return object;
1558
+ }
1559
+
1560
+ function _get(target, property, receiver) {
1561
+ if (typeof Reflect !== "undefined" && Reflect.get) {
1562
+ _get = Reflect.get;
1563
+ } else {
1564
+ _get = function _get(target, property, receiver) {
1565
+ var base = _superPropBase(target, property);
1566
+
1567
+ if (!base) return;
1568
+ var desc = Object.getOwnPropertyDescriptor(base, property);
1569
+
1570
+ if (desc.get) {
1571
+ return desc.get.call(receiver);
1572
+ }
1573
+
1574
+ return desc.value;
1575
+ };
1576
+ }
1577
+
1578
+ return _get(target, property, receiver || target);
1579
+ }
1580
+
1581
+ /**
1582
+ * @author: Yura Knoxville
1583
+ * @version: v1.1.0
1584
+ */
1585
+
1586
+ var initBodyCaller; // it only does '%s', and return '' when arguments are undefined
1587
+
1588
+ var sprintf = function sprintf(str) {
1589
+ var args = arguments;
1590
+ var flag = true;
1591
+ var i = 1;
1592
+ str = str.replace(/%s/g, function () {
1593
+ var arg = args[i++];
1594
+
1595
+ if (typeof arg === 'undefined') {
1596
+ flag = false;
1597
+ return '';
1598
+ }
1599
+
1600
+ return arg;
1601
+ });
1602
+ return flag ? str : '';
1603
+ };
1604
+
1605
+ var groupBy = function groupBy(array, f) {
1606
+ var tmpGroups = {};
1607
+ array.forEach(function (o) {
1608
+ var groups = f(o);
1609
+ tmpGroups[groups] = tmpGroups[groups] || [];
1610
+ tmpGroups[groups].push(o);
1611
+ });
1612
+ return tmpGroups;
1613
+ };
1614
+
1615
+ $.extend($.fn.bootstrapTable.defaults, {
1616
+ groupBy: false,
1617
+ groupByField: '',
1618
+ groupByFormatter: undefined
1619
+ });
1620
+ var Utils = $.fn.bootstrapTable.utils;
1621
+ var BootstrapTable = $.fn.bootstrapTable.Constructor;
1622
+ var _initSort = BootstrapTable.prototype.initSort;
1623
+ var _initBody = BootstrapTable.prototype.initBody;
1624
+ var _updateSelected = BootstrapTable.prototype.updateSelected;
1625
+
1626
+ BootstrapTable.prototype.initSort = function () {
1627
+ var _this = this;
1628
+
1629
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1630
+ args[_key] = arguments[_key];
1631
+ }
1632
+
1633
+ _initSort.apply(this, Array.prototype.slice.apply(args));
1634
+
1635
+ var that = this;
1636
+ this.tableGroups = [];
1637
+
1638
+ if (this.options.groupBy && this.options.groupByField !== '') {
1639
+ if (this.options.sortName !== this.options.groupByField) {
1640
+ if (this.options.customSort) {
1641
+ Utils.calculateObjectValue(this.options, this.options.customSort, [this.options.sortName, this.options.sortOrder, this.data]);
1642
+ } else {
1643
+ this.data.sort(function (a, b) {
1644
+ var groupByFields = _this.getGroupByFields();
1645
+
1646
+ var fieldValuesA = [];
1647
+ var fieldValuesB = [];
1648
+ $.each(groupByFields, function (i, field) {
1649
+ fieldValuesA.push(a[field]);
1650
+ fieldValuesB.push(b[field]);
1651
+ });
1652
+ a = fieldValuesA.join();
1653
+ b = fieldValuesB.join();
1654
+ return a.localeCompare(b, undefined, {
1655
+ numeric: true
1656
+ });
1657
+ });
1658
+ }
1659
+ }
1660
+
1661
+ var groups = groupBy(that.data, function (item) {
1662
+ var groupByFields = _this.getGroupByFields();
1663
+
1664
+ var groupValues = [];
1665
+ $.each(groupByFields, function (i, field) {
1666
+ groupValues.push(item[field]);
1667
+ });
1668
+ return groupValues.join(', ');
1669
+ });
1670
+ var index = 0;
1671
+ $.each(groups, function (key, value) {
1672
+ _this.tableGroups.push({
1673
+ id: index,
1674
+ name: key,
1675
+ data: value
1676
+ });
1677
+
1678
+ value.forEach(function (item) {
1679
+ if (!item._data) {
1680
+ item._data = {};
1681
+ }
1682
+
1683
+ item._data['parent-index'] = index;
1684
+ });
1685
+ index++;
1686
+ });
1687
+ }
1688
+ };
1689
+
1690
+ BootstrapTable.prototype.initBody = function () {
1691
+ initBodyCaller = true;
1692
+
1693
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1694
+ args[_key2] = arguments[_key2];
1695
+ }
1696
+
1697
+ _initBody.apply(this, Array.prototype.slice.apply(args));
1698
+
1699
+ if (this.options.groupBy && this.options.groupByField !== '') {
1700
+ var that = this;
1701
+ var checkBox = false;
1702
+ var visibleColumns = 0;
1703
+ this.columns.forEach(function (column) {
1704
+ if (column.checkbox) {
1705
+ checkBox = true;
1706
+ } else {
1707
+ if (column.visible) {
1708
+ visibleColumns += 1;
1709
+ }
1710
+ }
1711
+ });
1712
+
1713
+ if (this.options.detailView && !this.options.cardView) {
1714
+ visibleColumns += 1;
1715
+ }
1716
+
1717
+ this.tableGroups.forEach(function (item) {
1718
+ var html = [];
1719
+ html.push(sprintf('<tr class="info groupBy expanded" data-group-index="%s">', item.id));
1720
+
1721
+ if (that.options.detailView && !that.options.cardView) {
1722
+ html.push('<td class="detail"></td>');
1723
+ }
1724
+
1725
+ if (checkBox) {
1726
+ html.push('<td class="bs-checkbox">', '<input name="btSelectGroup" type="checkbox" />', '</td>');
1727
+ }
1728
+
1729
+ var formattedValue = item.name;
1730
+
1731
+ if (typeof that.options.groupByFormatter === 'function') {
1732
+ formattedValue = that.options.groupByFormatter(item.name, item.id, item.data);
1733
+ }
1734
+
1735
+ html.push('<td', sprintf(' colspan="%s"', visibleColumns), '>', formattedValue, '</td>');
1736
+ html.push('</tr>');
1737
+ that.$body.find("tr[data-parent-index=".concat(item.id, "]:first")).before($(html.join('')));
1738
+ });
1739
+ this.$selectGroup = [];
1740
+ this.$body.find('[name="btSelectGroup"]').each(function () {
1741
+ var self = $(this);
1742
+ that.$selectGroup.push({
1743
+ group: self,
1744
+ item: that.$selectItem.filter(function () {
1745
+ return $(this).closest('tr').data('parent-index') === self.closest('tr').data('group-index');
1746
+ })
1747
+ });
1748
+ });
1749
+ this.$container.off('click', '.groupBy').on('click', '.groupBy', function () {
1750
+ $(this).toggleClass('expanded');
1751
+ that.$body.find("tr[data-parent-index=".concat($(this).closest('tr').data('group-index'), "]")).toggleClass('hidden');
1752
+ });
1753
+ this.$container.off('click', '[name="btSelectGroup"]').on('click', '[name="btSelectGroup"]', function (event) {
1754
+ event.stopImmediatePropagation();
1755
+ var self = $(this);
1756
+ var checked = self.prop('checked');
1757
+ that[checked ? 'checkGroup' : 'uncheckGroup']($(this).closest('tr').data('group-index'));
1758
+ });
1759
+ }
1760
+
1761
+ initBodyCaller = false;
1762
+ this.updateSelected();
1763
+ };
1764
+
1765
+ BootstrapTable.prototype.updateSelected = function () {
1766
+ if (!initBodyCaller) {
1767
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1768
+ args[_key3] = arguments[_key3];
1769
+ }
1770
+
1771
+ _updateSelected.apply(this, Array.prototype.slice.apply(args));
1772
+
1773
+ if (this.options.groupBy && this.options.groupByField !== '') {
1774
+ this.$selectGroup.forEach(function (item) {
1775
+ var checkGroup = item.item.filter(':enabled').length === item.item.filter(':enabled').filter(':checked').length;
1776
+ item.group.prop('checked', checkGroup);
1777
+ });
1778
+ }
1779
+ }
1780
+ };
1781
+
1782
+ BootstrapTable.prototype.getGroupSelections = function (index) {
1783
+ var that = this;
1784
+ return this.data.filter(function (row) {
1785
+ return row[that.header.stateField] && row._data['parent-index'] === index;
1786
+ });
1787
+ };
1788
+
1789
+ BootstrapTable.prototype.checkGroup = function (index) {
1790
+ this.checkGroup_(index, true);
1791
+ };
1792
+
1793
+ BootstrapTable.prototype.uncheckGroup = function (index) {
1794
+ this.checkGroup_(index, false);
1795
+ };
1796
+
1797
+ BootstrapTable.prototype.checkGroup_ = function (index, checked) {
1798
+ var rows;
1799
+
1800
+ var filter = function filter() {
1801
+ return $(this).closest('tr').data('parent-index') === index;
1802
+ };
1803
+
1804
+ if (!checked) {
1805
+ rows = this.getGroupSelections(index);
1806
+ }
1807
+
1808
+ this.$selectItem.filter(filter).prop('checked', checked);
1809
+ this.updateRows();
1810
+ this.updateSelected();
1811
+
1812
+ if (checked) {
1813
+ rows = this.getGroupSelections(index);
1814
+ }
1815
+
1816
+ this.trigger(checked ? 'check-all' : 'uncheck-all', rows);
1817
+ };
1818
+
1819
+ BootstrapTable.prototype.getGroupByFields = function () {
1820
+ var groupByFields = this.options.groupByField;
1821
+
1822
+ if (!$.isArray(this.options.groupByField)) {
1823
+ groupByFields = [this.options.groupByField];
1824
+ }
1825
+
1826
+ return groupByFields;
1827
+ };
1828
+
1829
+ $.BootstrapTable =
1830
+ /*#__PURE__*/
1831
+ function (_$$BootstrapTable) {
1832
+ _inherits(_class, _$$BootstrapTable);
1833
+
1834
+ function _class() {
1835
+ _classCallCheck(this, _class);
1836
+
1837
+ return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
1838
+ }
1839
+
1840
+ _createClass(_class, [{
1841
+ key: "scrollTo",
1842
+ value: function scrollTo(params) {
1843
+ if (this.options.groupBy) {
1844
+ var options = {
1845
+ unit: 'px',
1846
+ value: 0
1847
+ };
1848
+
1849
+ if (_typeof(params) === 'object') {
1850
+ options = Object.assign(options, params);
1851
+ }
1852
+
1853
+ if (options.unit === 'rows') {
1854
+ var scrollTo = 0;
1855
+ this.$body.find("> tr:lt(".concat(options.value, ")")).each(function (i, el) {
1856
+ scrollTo += $(el).outerHeight(true);
1857
+ });
1858
+ var $targetColumn = this.$body.find("> tr:not(.groupBy):eq(".concat(options.value, ")"));
1859
+ $targetColumn.prevAll('.groupBy').each(function (i, el) {
1860
+ scrollTo += $(el).outerHeight(true);
1861
+ });
1862
+ this.$tableBody.scrollTop(scrollTo);
1863
+ return;
1864
+ }
1865
+ }
1866
+
1867
+ _get(_getPrototypeOf(_class.prototype), "scrollTo", this).call(this, params);
1868
+ }
1869
+ }]);
1870
+
1871
+ return _class;
1872
+ }($.BootstrapTable);
1873
+
1874
+ })));