bootstrap-table-rails 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +142 -33
  3. data/lib/bootstrap-table-rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +588 -19
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +3 -1
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +3 -1
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +1 -2
  8. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +399 -181
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js +23 -2
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +28 -8
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +3 -2
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +999 -240
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +3 -2
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/custom-view/bootstrap-table-custom-view.js +1587 -0
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +1 -1
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +1054 -211
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +28 -3
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +846 -720
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/{cell-input/bootstrap-table-cell-input.js → filter-control/utils.js} +1136 -1023
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +44 -1
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +6 -15
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +1 -1
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +1 -1
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +1 -1
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +31 -3
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +1 -1
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +1 -1
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +170 -25
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +4 -2
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +3 -3
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +1 -1
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +2 -1
  33. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +45 -7
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +14 -1
  35. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +10 -1
  36. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +10 -1
  37. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-bg-BG.js +771 -0
  38. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +10 -1
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +10 -1
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +10 -1
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +10 -1
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +10 -1
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +10 -1
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +10 -1
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +10 -1
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +10 -1
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +10 -1
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +10 -1
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +10 -1
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +10 -1
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +10 -1
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +10 -1
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +10 -1
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +10 -1
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +10 -1
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +10 -1
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +10 -1
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +10 -1
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +10 -1
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +10 -1
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +10 -1
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +10 -1
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +25 -16
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +10 -1
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +10 -1
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +10 -1
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +10 -1
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +10 -1
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +11 -2
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +10 -1
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +10 -1
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +13 -3
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +10 -1
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +10 -1
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +10 -1
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +10 -1
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js +10 -1
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js +10 -1
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +10 -1
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +10 -1
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +10 -1
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +10 -1
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +10 -1
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +10 -1
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +10 -1
  86. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +10 -1
  87. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +10 -1
  88. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.css +768 -0
  89. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/bootstrap-table.js +1049 -0
  90. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.eot +0 -0
  91. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.svg +28 -0
  92. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.ttf +0 -0
  93. data/vendor/assets/javascripts/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.woff +0 -0
  94. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +0 -1
  95. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +54 -2
  96. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +0 -1
  97. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +54 -2
  98. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +0 -1
  99. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +55 -3
  100. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +0 -1
  101. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +54 -2
  102. metadata +10 -3
  103. data/vendor/assets/javascripts/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.css +0 -12
@@ -4,7 +4,7 @@
4
4
  (global = global || self, factory(global.jQuery));
5
5
  }(this, (function ($) { 'use strict';
6
6
 
7
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
7
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
8
8
 
9
9
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
10
10
 
@@ -526,6 +526,18 @@
526
526
  }
527
527
  };
528
528
 
529
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
530
+ // Chrome 38 Symbol has incorrect toString conversion
531
+ // eslint-disable-next-line no-undef
532
+ return !String(Symbol());
533
+ });
534
+
535
+ var useSymbolAsUid = nativeSymbol
536
+ // eslint-disable-next-line no-undef
537
+ && !Symbol.sham
538
+ // eslint-disable-next-line no-undef
539
+ && typeof Symbol() == 'symbol';
540
+
529
541
  // `IsArray` abstract operation
530
542
  // https://tc39.github.io/ecma262/#sec-isarray
531
543
  var isArray = Array.isArray || function isArray(arg) {
@@ -538,23 +550,122 @@
538
550
  return Object(requireObjectCoercible(argument));
539
551
  };
540
552
 
541
- var createProperty = function (object, key, value) {
542
- var propertyKey = toPrimitive(key);
543
- if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
544
- else object[propertyKey] = value;
553
+ // `Object.keys` method
554
+ // https://tc39.github.io/ecma262/#sec-object.keys
555
+ var objectKeys = Object.keys || function keys(O) {
556
+ return objectKeysInternal(O, enumBugKeys);
545
557
  };
546
558
 
547
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
548
- // Chrome 38 Symbol has incorrect toString conversion
549
- // eslint-disable-next-line no-undef
550
- return !String(Symbol());
551
- });
559
+ // `Object.defineProperties` method
560
+ // https://tc39.github.io/ecma262/#sec-object.defineproperties
561
+ var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
562
+ anObject(O);
563
+ var keys = objectKeys(Properties);
564
+ var length = keys.length;
565
+ var index = 0;
566
+ var key;
567
+ while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
568
+ return O;
569
+ };
552
570
 
553
- var useSymbolAsUid = nativeSymbol
554
- // eslint-disable-next-line no-undef
555
- && !Symbol.sham
556
- // eslint-disable-next-line no-undef
557
- && typeof Symbol() == 'symbol';
571
+ var html = getBuiltIn('document', 'documentElement');
572
+
573
+ var GT = '>';
574
+ var LT = '<';
575
+ var PROTOTYPE = 'prototype';
576
+ var SCRIPT = 'script';
577
+ var IE_PROTO = sharedKey('IE_PROTO');
578
+
579
+ var EmptyConstructor = function () { /* empty */ };
580
+
581
+ var scriptTag = function (content) {
582
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
583
+ };
584
+
585
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
586
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
587
+ activeXDocument.write(scriptTag(''));
588
+ activeXDocument.close();
589
+ var temp = activeXDocument.parentWindow.Object;
590
+ activeXDocument = null; // avoid memory leak
591
+ return temp;
592
+ };
593
+
594
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
595
+ var NullProtoObjectViaIFrame = function () {
596
+ // Thrash, waste and sodomy: IE GC bug
597
+ var iframe = documentCreateElement('iframe');
598
+ var JS = 'java' + SCRIPT + ':';
599
+ var iframeDocument;
600
+ iframe.style.display = 'none';
601
+ html.appendChild(iframe);
602
+ // https://github.com/zloirock/core-js/issues/475
603
+ iframe.src = String(JS);
604
+ iframeDocument = iframe.contentWindow.document;
605
+ iframeDocument.open();
606
+ iframeDocument.write(scriptTag('document.F=Object'));
607
+ iframeDocument.close();
608
+ return iframeDocument.F;
609
+ };
610
+
611
+ // Check for document.domain and active x support
612
+ // No need to use active x approach when document.domain is not set
613
+ // see https://github.com/es-shims/es5-shim/issues/150
614
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
615
+ // avoid IE GC bug
616
+ var activeXDocument;
617
+ var NullProtoObject = function () {
618
+ try {
619
+ /* global ActiveXObject */
620
+ activeXDocument = document.domain && new ActiveXObject('htmlfile');
621
+ } catch (error) { /* ignore */ }
622
+ NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
623
+ var length = enumBugKeys.length;
624
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
625
+ return NullProtoObject();
626
+ };
627
+
628
+ hiddenKeys[IE_PROTO] = true;
629
+
630
+ // `Object.create` method
631
+ // https://tc39.github.io/ecma262/#sec-object.create
632
+ var objectCreate = Object.create || function create(O, Properties) {
633
+ var result;
634
+ if (O !== null) {
635
+ EmptyConstructor[PROTOTYPE] = anObject(O);
636
+ result = new EmptyConstructor();
637
+ EmptyConstructor[PROTOTYPE] = null;
638
+ // add "__proto__" for Object.getPrototypeOf polyfill
639
+ result[IE_PROTO] = O;
640
+ } else result = NullProtoObject();
641
+ return Properties === undefined ? result : objectDefineProperties(result, Properties);
642
+ };
643
+
644
+ var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
645
+
646
+ var toString$1 = {}.toString;
647
+
648
+ var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
649
+ ? Object.getOwnPropertyNames(window) : [];
650
+
651
+ var getWindowNames = function (it) {
652
+ try {
653
+ return nativeGetOwnPropertyNames(it);
654
+ } catch (error) {
655
+ return windowNames.slice();
656
+ }
657
+ };
658
+
659
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
660
+ var f$5 = function getOwnPropertyNames(it) {
661
+ return windowNames && toString$1.call(it) == '[object Window]'
662
+ ? getWindowNames(it)
663
+ : nativeGetOwnPropertyNames(toIndexedObject(it));
664
+ };
665
+
666
+ var objectGetOwnPropertyNamesExternal = {
667
+ f: f$5
668
+ };
558
669
 
559
670
  var WellKnownSymbolsStore = shared('wks');
560
671
  var Symbol$1 = global_1.Symbol;
@@ -567,106 +678,32 @@
567
678
  } return WellKnownSymbolsStore[name];
568
679
  };
569
680
 
570
- var SPECIES = wellKnownSymbol('species');
681
+ var f$6 = wellKnownSymbol;
571
682
 
572
- // `ArraySpeciesCreate` abstract operation
573
- // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
574
- var arraySpeciesCreate = function (originalArray, length) {
575
- var C;
576
- if (isArray(originalArray)) {
577
- C = originalArray.constructor;
578
- // cross-realm fallback
579
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
580
- else if (isObject(C)) {
581
- C = C[SPECIES];
582
- if (C === null) C = undefined;
583
- }
584
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
683
+ var wrappedWellKnownSymbol = {
684
+ f: f$6
585
685
  };
586
686
 
587
- var userAgent = getBuiltIn('navigator', 'userAgent') || '';
588
-
589
- var process = global_1.process;
590
- var versions = process && process.versions;
591
- var v8 = versions && versions.v8;
592
- var match, version;
687
+ var defineProperty = objectDefineProperty.f;
593
688
 
594
- if (v8) {
595
- match = v8.split('.');
596
- version = match[0] + match[1];
597
- } else if (userAgent) {
598
- match = userAgent.match(/Edge\/(\d+)/);
599
- if (!match || match[1] >= 74) {
600
- match = userAgent.match(/Chrome\/(\d+)/);
601
- if (match) version = match[1];
602
- }
603
- }
604
-
605
- var v8Version = version && +version;
606
-
607
- var SPECIES$1 = wellKnownSymbol('species');
608
-
609
- var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
610
- // We can't use this feature detection in V8 since it causes
611
- // deoptimization and serious performance degradation
612
- // https://github.com/zloirock/core-js/issues/677
613
- return v8Version >= 51 || !fails(function () {
614
- var array = [];
615
- var constructor = array.constructor = {};
616
- constructor[SPECIES$1] = function () {
617
- return { foo: 1 };
618
- };
619
- return array[METHOD_NAME](Boolean).foo !== 1;
689
+ var defineWellKnownSymbol = function (NAME) {
690
+ var Symbol = path.Symbol || (path.Symbol = {});
691
+ if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
692
+ value: wrappedWellKnownSymbol.f(NAME)
620
693
  });
621
694
  };
622
695
 
623
- var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
624
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
625
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
696
+ var defineProperty$1 = objectDefineProperty.f;
626
697
 
627
- // We can't use this feature detection in V8 since it causes
628
- // deoptimization and serious performance degradation
629
- // https://github.com/zloirock/core-js/issues/679
630
- var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
631
- var array = [];
632
- array[IS_CONCAT_SPREADABLE] = false;
633
- return array.concat()[0] !== array;
634
- });
635
698
 
636
- var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
637
699
 
638
- var isConcatSpreadable = function (O) {
639
- if (!isObject(O)) return false;
640
- var spreadable = O[IS_CONCAT_SPREADABLE];
641
- return spreadable !== undefined ? !!spreadable : isArray(O);
642
- };
643
-
644
- var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
700
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
645
701
 
646
- // `Array.prototype.concat` method
647
- // https://tc39.github.io/ecma262/#sec-array.prototype.concat
648
- // with adding support of @@isConcatSpreadable and @@species
649
- _export({ target: 'Array', proto: true, forced: FORCED }, {
650
- concat: function concat(arg) { // eslint-disable-line no-unused-vars
651
- var O = toObject(this);
652
- var A = arraySpeciesCreate(O, 0);
653
- var n = 0;
654
- var i, k, length, len, E;
655
- for (i = -1, length = arguments.length; i < length; i++) {
656
- E = i === -1 ? O : arguments[i];
657
- if (isConcatSpreadable(E)) {
658
- len = toLength(E.length);
659
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
660
- for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
661
- } else {
662
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
663
- createProperty(A, n++, E);
664
- }
665
- }
666
- A.length = n;
667
- return A;
702
+ var setToStringTag = function (it, TAG, STATIC) {
703
+ if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
704
+ defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
668
705
  }
669
- });
706
+ };
670
707
 
671
708
  var aFunction$1 = function (it) {
672
709
  if (typeof it != 'function') {
@@ -697,6 +734,23 @@
697
734
  };
698
735
  };
699
736
 
737
+ var SPECIES = wellKnownSymbol('species');
738
+
739
+ // `ArraySpeciesCreate` abstract operation
740
+ // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
741
+ var arraySpeciesCreate = function (originalArray, length) {
742
+ var C;
743
+ if (isArray(originalArray)) {
744
+ C = originalArray.constructor;
745
+ // cross-realm fallback
746
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
747
+ else if (isObject(C)) {
748
+ C = C[SPECIES];
749
+ if (C === null) C = undefined;
750
+ }
751
+ } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
752
+ };
753
+
700
754
  var push = [].push;
701
755
 
702
756
  // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
@@ -757,97 +811,417 @@
757
811
  findIndex: createMethod$1(6)
758
812
  };
759
813
 
760
- // `Object.keys` method
761
- // https://tc39.github.io/ecma262/#sec-object.keys
762
- var objectKeys = Object.keys || function keys(O) {
763
- return objectKeysInternal(O, enumBugKeys);
814
+ var $forEach = arrayIteration.forEach;
815
+
816
+ var HIDDEN = sharedKey('hidden');
817
+ var SYMBOL = 'Symbol';
818
+ var PROTOTYPE$1 = 'prototype';
819
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
820
+ var setInternalState = internalState.set;
821
+ var getInternalState = internalState.getterFor(SYMBOL);
822
+ var ObjectPrototype = Object[PROTOTYPE$1];
823
+ var $Symbol = global_1.Symbol;
824
+ var $stringify = getBuiltIn('JSON', 'stringify');
825
+ var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
826
+ var nativeDefineProperty$1 = objectDefineProperty.f;
827
+ var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
828
+ var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
829
+ var AllSymbols = shared('symbols');
830
+ var ObjectPrototypeSymbols = shared('op-symbols');
831
+ var StringToSymbolRegistry = shared('string-to-symbol-registry');
832
+ var SymbolToStringRegistry = shared('symbol-to-string-registry');
833
+ var WellKnownSymbolsStore$1 = shared('wks');
834
+ var QObject = global_1.QObject;
835
+ // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
836
+ var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
837
+
838
+ // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
839
+ var setSymbolDescriptor = descriptors && fails(function () {
840
+ return objectCreate(nativeDefineProperty$1({}, 'a', {
841
+ get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
842
+ })).a != 7;
843
+ }) ? function (O, P, Attributes) {
844
+ var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
845
+ if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
846
+ nativeDefineProperty$1(O, P, Attributes);
847
+ if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
848
+ nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
849
+ }
850
+ } : nativeDefineProperty$1;
851
+
852
+ var wrap = function (tag, description) {
853
+ var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
854
+ setInternalState(symbol, {
855
+ type: SYMBOL,
856
+ tag: tag,
857
+ description: description
858
+ });
859
+ if (!descriptors) symbol.description = description;
860
+ return symbol;
764
861
  };
765
862
 
766
- // `Object.defineProperties` method
767
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
768
- var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
863
+ var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
864
+ return typeof it == 'symbol';
865
+ } : function (it) {
866
+ return Object(it) instanceof $Symbol;
867
+ };
868
+
869
+ var $defineProperty = function defineProperty(O, P, Attributes) {
870
+ if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
769
871
  anObject(O);
770
- var keys = objectKeys(Properties);
771
- var length = keys.length;
772
- var index = 0;
773
- var key;
774
- while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
872
+ var key = toPrimitive(P, true);
873
+ anObject(Attributes);
874
+ if (has(AllSymbols, key)) {
875
+ if (!Attributes.enumerable) {
876
+ if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
877
+ O[HIDDEN][key] = true;
878
+ } else {
879
+ if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
880
+ Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
881
+ } return setSymbolDescriptor(O, key, Attributes);
882
+ } return nativeDefineProperty$1(O, key, Attributes);
883
+ };
884
+
885
+ var $defineProperties = function defineProperties(O, Properties) {
886
+ anObject(O);
887
+ var properties = toIndexedObject(Properties);
888
+ var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
889
+ $forEach(keys, function (key) {
890
+ if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
891
+ });
775
892
  return O;
776
893
  };
777
894
 
778
- var html = getBuiltIn('document', 'documentElement');
895
+ var $create = function create(O, Properties) {
896
+ return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
897
+ };
779
898
 
780
- var GT = '>';
781
- var LT = '<';
782
- var PROTOTYPE = 'prototype';
783
- var SCRIPT = 'script';
784
- var IE_PROTO = sharedKey('IE_PROTO');
899
+ var $propertyIsEnumerable = function propertyIsEnumerable(V) {
900
+ var P = toPrimitive(V, true);
901
+ var enumerable = nativePropertyIsEnumerable$1.call(this, P);
902
+ if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
903
+ return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
904
+ };
785
905
 
786
- var EmptyConstructor = function () { /* empty */ };
906
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
907
+ var it = toIndexedObject(O);
908
+ var key = toPrimitive(P, true);
909
+ if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
910
+ var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
911
+ if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
912
+ descriptor.enumerable = true;
913
+ }
914
+ return descriptor;
915
+ };
787
916
 
788
- var scriptTag = function (content) {
789
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
917
+ var $getOwnPropertyNames = function getOwnPropertyNames(O) {
918
+ var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
919
+ var result = [];
920
+ $forEach(names, function (key) {
921
+ if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
922
+ });
923
+ return result;
790
924
  };
791
925
 
792
- // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
793
- var NullProtoObjectViaActiveX = function (activeXDocument) {
794
- activeXDocument.write(scriptTag(''));
795
- activeXDocument.close();
796
- var temp = activeXDocument.parentWindow.Object;
797
- activeXDocument = null; // avoid memory leak
798
- return temp;
926
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
927
+ var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
928
+ var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
929
+ var result = [];
930
+ $forEach(names, function (key) {
931
+ if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
932
+ result.push(AllSymbols[key]);
933
+ }
934
+ });
935
+ return result;
936
+ };
937
+
938
+ // `Symbol` constructor
939
+ // https://tc39.github.io/ecma262/#sec-symbol-constructor
940
+ if (!nativeSymbol) {
941
+ $Symbol = function Symbol() {
942
+ if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
943
+ var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
944
+ var tag = uid(description);
945
+ var setter = function (value) {
946
+ if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
947
+ if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
948
+ setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
949
+ };
950
+ if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
951
+ return wrap(tag, description);
952
+ };
953
+
954
+ redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
955
+ return getInternalState(this).tag;
956
+ });
957
+
958
+ objectPropertyIsEnumerable.f = $propertyIsEnumerable;
959
+ objectDefineProperty.f = $defineProperty;
960
+ objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
961
+ objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
962
+ objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
963
+
964
+ if (descriptors) {
965
+ // https://github.com/tc39/proposal-Symbol-description
966
+ nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
967
+ configurable: true,
968
+ get: function description() {
969
+ return getInternalState(this).description;
970
+ }
971
+ });
972
+ {
973
+ redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
974
+ }
975
+ }
976
+ }
977
+
978
+ if (!useSymbolAsUid) {
979
+ wrappedWellKnownSymbol.f = function (name) {
980
+ return wrap(wellKnownSymbol(name), name);
981
+ };
982
+ }
983
+
984
+ _export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
985
+ Symbol: $Symbol
986
+ });
987
+
988
+ $forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
989
+ defineWellKnownSymbol(name);
990
+ });
991
+
992
+ _export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
993
+ // `Symbol.for` method
994
+ // https://tc39.github.io/ecma262/#sec-symbol.for
995
+ 'for': function (key) {
996
+ var string = String(key);
997
+ if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
998
+ var symbol = $Symbol(string);
999
+ StringToSymbolRegistry[string] = symbol;
1000
+ SymbolToStringRegistry[symbol] = string;
1001
+ return symbol;
1002
+ },
1003
+ // `Symbol.keyFor` method
1004
+ // https://tc39.github.io/ecma262/#sec-symbol.keyfor
1005
+ keyFor: function keyFor(sym) {
1006
+ if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
1007
+ if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
1008
+ },
1009
+ useSetter: function () { USE_SETTER = true; },
1010
+ useSimple: function () { USE_SETTER = false; }
1011
+ });
1012
+
1013
+ _export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
1014
+ // `Object.create` method
1015
+ // https://tc39.github.io/ecma262/#sec-object.create
1016
+ create: $create,
1017
+ // `Object.defineProperty` method
1018
+ // https://tc39.github.io/ecma262/#sec-object.defineproperty
1019
+ defineProperty: $defineProperty,
1020
+ // `Object.defineProperties` method
1021
+ // https://tc39.github.io/ecma262/#sec-object.defineproperties
1022
+ defineProperties: $defineProperties,
1023
+ // `Object.getOwnPropertyDescriptor` method
1024
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
1025
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor
1026
+ });
1027
+
1028
+ _export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
1029
+ // `Object.getOwnPropertyNames` method
1030
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
1031
+ getOwnPropertyNames: $getOwnPropertyNames,
1032
+ // `Object.getOwnPropertySymbols` method
1033
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
1034
+ getOwnPropertySymbols: $getOwnPropertySymbols
1035
+ });
1036
+
1037
+ // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
1038
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3443
1039
+ _export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
1040
+ getOwnPropertySymbols: function getOwnPropertySymbols(it) {
1041
+ return objectGetOwnPropertySymbols.f(toObject(it));
1042
+ }
1043
+ });
1044
+
1045
+ // `JSON.stringify` method behavior with symbols
1046
+ // https://tc39.github.io/ecma262/#sec-json.stringify
1047
+ if ($stringify) {
1048
+ var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
1049
+ var symbol = $Symbol();
1050
+ // MS Edge converts symbol values to JSON as {}
1051
+ return $stringify([symbol]) != '[null]'
1052
+ // WebKit converts symbol values to JSON as null
1053
+ || $stringify({ a: symbol }) != '{}'
1054
+ // V8 throws on boxed symbols
1055
+ || $stringify(Object(symbol)) != '{}';
1056
+ });
1057
+
1058
+ _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
1059
+ // eslint-disable-next-line no-unused-vars
1060
+ stringify: function stringify(it, replacer, space) {
1061
+ var args = [it];
1062
+ var index = 1;
1063
+ var $replacer;
1064
+ while (arguments.length > index) args.push(arguments[index++]);
1065
+ $replacer = replacer;
1066
+ if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
1067
+ if (!isArray(replacer)) replacer = function (key, value) {
1068
+ if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
1069
+ if (!isSymbol(value)) return value;
1070
+ };
1071
+ args[1] = replacer;
1072
+ return $stringify.apply(null, args);
1073
+ }
1074
+ });
1075
+ }
1076
+
1077
+ // `Symbol.prototype[@@toPrimitive]` method
1078
+ // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
1079
+ if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
1080
+ createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
1081
+ }
1082
+ // `Symbol.prototype[@@toStringTag]` property
1083
+ // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
1084
+ setToStringTag($Symbol, SYMBOL);
1085
+
1086
+ hiddenKeys[HIDDEN] = true;
1087
+
1088
+ var defineProperty$2 = objectDefineProperty.f;
1089
+
1090
+
1091
+ var NativeSymbol = global_1.Symbol;
1092
+
1093
+ if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
1094
+ // Safari 12 bug
1095
+ NativeSymbol().description !== undefined
1096
+ )) {
1097
+ var EmptyStringDescriptionStore = {};
1098
+ // wrap Symbol constructor for correct work with undefined description
1099
+ var SymbolWrapper = function Symbol() {
1100
+ var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
1101
+ var result = this instanceof SymbolWrapper
1102
+ ? new NativeSymbol(description)
1103
+ // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
1104
+ : description === undefined ? NativeSymbol() : NativeSymbol(description);
1105
+ if (description === '') EmptyStringDescriptionStore[result] = true;
1106
+ return result;
1107
+ };
1108
+ copyConstructorProperties(SymbolWrapper, NativeSymbol);
1109
+ var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
1110
+ symbolPrototype.constructor = SymbolWrapper;
1111
+
1112
+ var symbolToString = symbolPrototype.toString;
1113
+ var native = String(NativeSymbol('test')) == 'Symbol(test)';
1114
+ var regexp = /^Symbol\((.*)\)[^)]+$/;
1115
+ defineProperty$2(symbolPrototype, 'description', {
1116
+ configurable: true,
1117
+ get: function description() {
1118
+ var symbol = isObject(this) ? this.valueOf() : this;
1119
+ var string = symbolToString.call(symbol);
1120
+ if (has(EmptyStringDescriptionStore, symbol)) return '';
1121
+ var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
1122
+ return desc === '' ? undefined : desc;
1123
+ }
1124
+ });
1125
+
1126
+ _export({ global: true, forced: true }, {
1127
+ Symbol: SymbolWrapper
1128
+ });
1129
+ }
1130
+
1131
+ // `Symbol.iterator` well-known symbol
1132
+ // https://tc39.github.io/ecma262/#sec-symbol.iterator
1133
+ defineWellKnownSymbol('iterator');
1134
+
1135
+ var createProperty = function (object, key, value) {
1136
+ var propertyKey = toPrimitive(key);
1137
+ if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
1138
+ else object[propertyKey] = value;
1139
+ };
1140
+
1141
+ var userAgent = getBuiltIn('navigator', 'userAgent') || '';
1142
+
1143
+ var process = global_1.process;
1144
+ var versions = process && process.versions;
1145
+ var v8 = versions && versions.v8;
1146
+ var match, version;
1147
+
1148
+ if (v8) {
1149
+ match = v8.split('.');
1150
+ version = match[0] + match[1];
1151
+ } else if (userAgent) {
1152
+ match = userAgent.match(/Edge\/(\d+)/);
1153
+ if (!match || match[1] >= 74) {
1154
+ match = userAgent.match(/Chrome\/(\d+)/);
1155
+ if (match) version = match[1];
1156
+ }
1157
+ }
1158
+
1159
+ var v8Version = version && +version;
1160
+
1161
+ var SPECIES$1 = wellKnownSymbol('species');
1162
+
1163
+ var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
1164
+ // We can't use this feature detection in V8 since it causes
1165
+ // deoptimization and serious performance degradation
1166
+ // https://github.com/zloirock/core-js/issues/677
1167
+ return v8Version >= 51 || !fails(function () {
1168
+ var array = [];
1169
+ var constructor = array.constructor = {};
1170
+ constructor[SPECIES$1] = function () {
1171
+ return { foo: 1 };
1172
+ };
1173
+ return array[METHOD_NAME](Boolean).foo !== 1;
1174
+ });
799
1175
  };
800
1176
 
801
- // Create object with fake `null` prototype: use iframe Object with cleared prototype
802
- var NullProtoObjectViaIFrame = function () {
803
- // Thrash, waste and sodomy: IE GC bug
804
- var iframe = documentCreateElement('iframe');
805
- var JS = 'java' + SCRIPT + ':';
806
- var iframeDocument;
807
- iframe.style.display = 'none';
808
- html.appendChild(iframe);
809
- // https://github.com/zloirock/core-js/issues/475
810
- iframe.src = String(JS);
811
- iframeDocument = iframe.contentWindow.document;
812
- iframeDocument.open();
813
- iframeDocument.write(scriptTag('document.F=Object'));
814
- iframeDocument.close();
815
- return iframeDocument.F;
816
- };
1177
+ var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1178
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
1179
+ var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
817
1180
 
818
- // Check for document.domain and active x support
819
- // No need to use active x approach when document.domain is not set
820
- // see https://github.com/es-shims/es5-shim/issues/150
821
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
822
- // avoid IE GC bug
823
- var activeXDocument;
824
- var NullProtoObject = function () {
825
- try {
826
- /* global ActiveXObject */
827
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
828
- } catch (error) { /* ignore */ }
829
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
830
- var length = enumBugKeys.length;
831
- while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
832
- return NullProtoObject();
833
- };
1181
+ // We can't use this feature detection in V8 since it causes
1182
+ // deoptimization and serious performance degradation
1183
+ // https://github.com/zloirock/core-js/issues/679
1184
+ var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
1185
+ var array = [];
1186
+ array[IS_CONCAT_SPREADABLE] = false;
1187
+ return array.concat()[0] !== array;
1188
+ });
834
1189
 
835
- hiddenKeys[IE_PROTO] = true;
1190
+ var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
836
1191
 
837
- // `Object.create` method
838
- // https://tc39.github.io/ecma262/#sec-object.create
839
- var objectCreate = Object.create || function create(O, Properties) {
840
- var result;
841
- if (O !== null) {
842
- EmptyConstructor[PROTOTYPE] = anObject(O);
843
- result = new EmptyConstructor();
844
- EmptyConstructor[PROTOTYPE] = null;
845
- // add "__proto__" for Object.getPrototypeOf polyfill
846
- result[IE_PROTO] = O;
847
- } else result = NullProtoObject();
848
- return Properties === undefined ? result : objectDefineProperties(result, Properties);
1192
+ var isConcatSpreadable = function (O) {
1193
+ if (!isObject(O)) return false;
1194
+ var spreadable = O[IS_CONCAT_SPREADABLE];
1195
+ return spreadable !== undefined ? !!spreadable : isArray(O);
849
1196
  };
850
1197
 
1198
+ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1199
+
1200
+ // `Array.prototype.concat` method
1201
+ // https://tc39.github.io/ecma262/#sec-array.prototype.concat
1202
+ // with adding support of @@isConcatSpreadable and @@species
1203
+ _export({ target: 'Array', proto: true, forced: FORCED }, {
1204
+ concat: function concat(arg) { // eslint-disable-line no-unused-vars
1205
+ var O = toObject(this);
1206
+ var A = arraySpeciesCreate(O, 0);
1207
+ var n = 0;
1208
+ var i, k, length, len, E;
1209
+ for (i = -1, length = arguments.length; i < length; i++) {
1210
+ E = i === -1 ? O : arguments[i];
1211
+ if (isConcatSpreadable(E)) {
1212
+ len = toLength(E.length);
1213
+ if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1214
+ for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1215
+ } else {
1216
+ if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1217
+ createProperty(A, n++, E);
1218
+ }
1219
+ }
1220
+ A.length = n;
1221
+ return A;
1222
+ }
1223
+ });
1224
+
851
1225
  var UNSCOPABLES = wellKnownSymbol('unscopables');
852
1226
  var ArrayPrototype = Array.prototype;
853
1227
 
@@ -912,6 +1286,211 @@
912
1286
  }
913
1287
  });
914
1288
 
1289
+ var correctPrototypeGetter = !fails(function () {
1290
+ function F() { /* empty */ }
1291
+ F.prototype.constructor = null;
1292
+ return Object.getPrototypeOf(new F()) !== F.prototype;
1293
+ });
1294
+
1295
+ var IE_PROTO$1 = sharedKey('IE_PROTO');
1296
+ var ObjectPrototype$1 = Object.prototype;
1297
+
1298
+ // `Object.getPrototypeOf` method
1299
+ // https://tc39.github.io/ecma262/#sec-object.getprototypeof
1300
+ var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
1301
+ O = toObject(O);
1302
+ if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
1303
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
1304
+ return O.constructor.prototype;
1305
+ } return O instanceof Object ? ObjectPrototype$1 : null;
1306
+ };
1307
+
1308
+ var ITERATOR = wellKnownSymbol('iterator');
1309
+ var BUGGY_SAFARI_ITERATORS = false;
1310
+
1311
+ var returnThis = function () { return this; };
1312
+
1313
+ // `%IteratorPrototype%` object
1314
+ // https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
1315
+ var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
1316
+
1317
+ if ([].keys) {
1318
+ arrayIterator = [].keys();
1319
+ // Safari 8 has buggy iterators w/o `next`
1320
+ if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
1321
+ else {
1322
+ PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
1323
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
1324
+ }
1325
+ }
1326
+
1327
+ if (IteratorPrototype == undefined) IteratorPrototype = {};
1328
+
1329
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
1330
+ if ( !has(IteratorPrototype, ITERATOR)) {
1331
+ createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
1332
+ }
1333
+
1334
+ var iteratorsCore = {
1335
+ IteratorPrototype: IteratorPrototype,
1336
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
1337
+ };
1338
+
1339
+ var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
1340
+
1341
+ var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
1342
+ var TO_STRING_TAG = NAME + ' Iterator';
1343
+ IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
1344
+ setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
1345
+ return IteratorConstructor;
1346
+ };
1347
+
1348
+ var aPossiblePrototype = function (it) {
1349
+ if (!isObject(it) && it !== null) {
1350
+ throw TypeError("Can't set " + String(it) + ' as a prototype');
1351
+ } return it;
1352
+ };
1353
+
1354
+ // `Object.setPrototypeOf` method
1355
+ // https://tc39.github.io/ecma262/#sec-object.setprototypeof
1356
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
1357
+ /* eslint-disable no-proto */
1358
+ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
1359
+ var CORRECT_SETTER = false;
1360
+ var test = {};
1361
+ var setter;
1362
+ try {
1363
+ setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
1364
+ setter.call(test, []);
1365
+ CORRECT_SETTER = test instanceof Array;
1366
+ } catch (error) { /* empty */ }
1367
+ return function setPrototypeOf(O, proto) {
1368
+ anObject(O);
1369
+ aPossiblePrototype(proto);
1370
+ if (CORRECT_SETTER) setter.call(O, proto);
1371
+ else O.__proto__ = proto;
1372
+ return O;
1373
+ };
1374
+ }() : undefined);
1375
+
1376
+ var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
1377
+ var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
1378
+ var ITERATOR$1 = wellKnownSymbol('iterator');
1379
+ var KEYS = 'keys';
1380
+ var VALUES = 'values';
1381
+ var ENTRIES = 'entries';
1382
+
1383
+ var returnThis$1 = function () { return this; };
1384
+
1385
+ var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
1386
+ createIteratorConstructor(IteratorConstructor, NAME, next);
1387
+
1388
+ var getIterationMethod = function (KIND) {
1389
+ if (KIND === DEFAULT && defaultIterator) return defaultIterator;
1390
+ if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
1391
+ switch (KIND) {
1392
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
1393
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
1394
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
1395
+ } return function () { return new IteratorConstructor(this); };
1396
+ };
1397
+
1398
+ var TO_STRING_TAG = NAME + ' Iterator';
1399
+ var INCORRECT_VALUES_NAME = false;
1400
+ var IterablePrototype = Iterable.prototype;
1401
+ var nativeIterator = IterablePrototype[ITERATOR$1]
1402
+ || IterablePrototype['@@iterator']
1403
+ || DEFAULT && IterablePrototype[DEFAULT];
1404
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
1405
+ var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
1406
+ var CurrentIteratorPrototype, methods, KEY;
1407
+
1408
+ // fix native
1409
+ if (anyNativeIterator) {
1410
+ CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
1411
+ if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
1412
+ if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
1413
+ if (objectSetPrototypeOf) {
1414
+ objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
1415
+ } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
1416
+ createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
1417
+ }
1418
+ }
1419
+ // Set @@toStringTag to native iterators
1420
+ setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
1421
+ }
1422
+ }
1423
+
1424
+ // fix Array#{values, @@iterator}.name in V8 / FF
1425
+ if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1426
+ INCORRECT_VALUES_NAME = true;
1427
+ defaultIterator = function values() { return nativeIterator.call(this); };
1428
+ }
1429
+
1430
+ // define iterator
1431
+ if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
1432
+ createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
1433
+ }
1434
+
1435
+ // export additional methods
1436
+ if (DEFAULT) {
1437
+ methods = {
1438
+ values: getIterationMethod(VALUES),
1439
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
1440
+ entries: getIterationMethod(ENTRIES)
1441
+ };
1442
+ if (FORCED) for (KEY in methods) {
1443
+ if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1444
+ redefine(IterablePrototype, KEY, methods[KEY]);
1445
+ }
1446
+ } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
1447
+ }
1448
+
1449
+ return methods;
1450
+ };
1451
+
1452
+ var ARRAY_ITERATOR = 'Array Iterator';
1453
+ var setInternalState$1 = internalState.set;
1454
+ var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
1455
+
1456
+ // `Array.prototype.entries` method
1457
+ // https://tc39.github.io/ecma262/#sec-array.prototype.entries
1458
+ // `Array.prototype.keys` method
1459
+ // https://tc39.github.io/ecma262/#sec-array.prototype.keys
1460
+ // `Array.prototype.values` method
1461
+ // https://tc39.github.io/ecma262/#sec-array.prototype.values
1462
+ // `Array.prototype[@@iterator]` method
1463
+ // https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
1464
+ // `CreateArrayIterator` internal method
1465
+ // https://tc39.github.io/ecma262/#sec-createarrayiterator
1466
+ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
1467
+ setInternalState$1(this, {
1468
+ type: ARRAY_ITERATOR,
1469
+ target: toIndexedObject(iterated), // target
1470
+ index: 0, // next index
1471
+ kind: kind // kind
1472
+ });
1473
+ // `%ArrayIteratorPrototype%.next` method
1474
+ // https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
1475
+ }, function () {
1476
+ var state = getInternalState$1(this);
1477
+ var target = state.target;
1478
+ var kind = state.kind;
1479
+ var index = state.index++;
1480
+ if (!target || index >= target.length) {
1481
+ state.target = undefined;
1482
+ return { value: undefined, done: true };
1483
+ }
1484
+ if (kind == 'keys') return { value: index, done: false };
1485
+ if (kind == 'values') return { value: target[index], done: false };
1486
+ return { value: [index, target[index]], done: false };
1487
+ }, 'values');
1488
+
1489
+ // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
1490
+ addToUnscopables('keys');
1491
+ addToUnscopables('values');
1492
+ addToUnscopables('entries');
1493
+
915
1494
  var nativeJoin = [].join;
916
1495
 
917
1496
  var ES3_STRINGS = indexedObject != Object;
@@ -925,6 +1504,88 @@
925
1504
  }
926
1505
  });
927
1506
 
1507
+ var propertyIsEnumerable = objectPropertyIsEnumerable.f;
1508
+
1509
+ // `Object.{ entries, values }` methods implementation
1510
+ var createMethod$2 = function (TO_ENTRIES) {
1511
+ return function (it) {
1512
+ var O = toIndexedObject(it);
1513
+ var keys = objectKeys(O);
1514
+ var length = keys.length;
1515
+ var i = 0;
1516
+ var result = [];
1517
+ var key;
1518
+ while (length > i) {
1519
+ key = keys[i++];
1520
+ if (!descriptors || propertyIsEnumerable.call(O, key)) {
1521
+ result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
1522
+ }
1523
+ }
1524
+ return result;
1525
+ };
1526
+ };
1527
+
1528
+ var objectToArray = {
1529
+ // `Object.entries` method
1530
+ // https://tc39.github.io/ecma262/#sec-object.entries
1531
+ entries: createMethod$2(true),
1532
+ // `Object.values` method
1533
+ // https://tc39.github.io/ecma262/#sec-object.values
1534
+ values: createMethod$2(false)
1535
+ };
1536
+
1537
+ var $entries = objectToArray.entries;
1538
+
1539
+ // `Object.entries` method
1540
+ // https://tc39.github.io/ecma262/#sec-object.entries
1541
+ _export({ target: 'Object', stat: true }, {
1542
+ entries: function entries(O) {
1543
+ return $entries(O);
1544
+ }
1545
+ });
1546
+
1547
+ var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
1548
+ var test = {};
1549
+
1550
+ test[TO_STRING_TAG$1] = 'z';
1551
+
1552
+ var toStringTagSupport = String(test) === '[object z]';
1553
+
1554
+ var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
1555
+ // ES3 wrong here
1556
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1557
+
1558
+ // fallback for IE11 Script Access Denied error
1559
+ var tryGet = function (it, key) {
1560
+ try {
1561
+ return it[key];
1562
+ } catch (error) { /* empty */ }
1563
+ };
1564
+
1565
+ // getting tag from ES6+ `Object.prototype.toString`
1566
+ var classof = toStringTagSupport ? classofRaw : function (it) {
1567
+ var O, tag, result;
1568
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
1569
+ // @@toStringTag case
1570
+ : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
1571
+ // builtinTag case
1572
+ : CORRECT_ARGUMENTS ? classofRaw(O)
1573
+ // ES3 arguments fallback
1574
+ : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
1575
+ };
1576
+
1577
+ // `Object.prototype.toString` method implementation
1578
+ // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
1579
+ var objectToString = toStringTagSupport ? {}.toString : function toString() {
1580
+ return '[object ' + classof(this) + ']';
1581
+ };
1582
+
1583
+ // `Object.prototype.toString` method
1584
+ // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
1585
+ if (!toStringTagSupport) {
1586
+ redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
1587
+ }
1588
+
928
1589
  // `RegExp.prototype.flags` getter implementation
929
1590
  // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
930
1591
  var regexpFlags = function () {
@@ -1052,6 +1713,60 @@
1052
1713
  exec: regexpExec
1053
1714
  });
1054
1715
 
1716
+ // `String.prototype.{ codePointAt, at }` methods implementation
1717
+ var createMethod$3 = function (CONVERT_TO_STRING) {
1718
+ return function ($this, pos) {
1719
+ var S = String(requireObjectCoercible($this));
1720
+ var position = toInteger(pos);
1721
+ var size = S.length;
1722
+ var first, second;
1723
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1724
+ first = S.charCodeAt(position);
1725
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
1726
+ || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1727
+ ? CONVERT_TO_STRING ? S.charAt(position) : first
1728
+ : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1729
+ };
1730
+ };
1731
+
1732
+ var stringMultibyte = {
1733
+ // `String.prototype.codePointAt` method
1734
+ // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
1735
+ codeAt: createMethod$3(false),
1736
+ // `String.prototype.at` method
1737
+ // https://github.com/mathiasbynens/String.prototype.at
1738
+ charAt: createMethod$3(true)
1739
+ };
1740
+
1741
+ var charAt = stringMultibyte.charAt;
1742
+
1743
+
1744
+
1745
+ var STRING_ITERATOR = 'String Iterator';
1746
+ var setInternalState$2 = internalState.set;
1747
+ var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
1748
+
1749
+ // `String.prototype[@@iterator]` method
1750
+ // https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
1751
+ defineIterator(String, 'String', function (iterated) {
1752
+ setInternalState$2(this, {
1753
+ type: STRING_ITERATOR,
1754
+ string: String(iterated),
1755
+ index: 0
1756
+ });
1757
+ // `%StringIteratorPrototype%.next` method
1758
+ // https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
1759
+ }, function next() {
1760
+ var state = getInternalState$2(this);
1761
+ var string = state.string;
1762
+ var index = state.index;
1763
+ var point;
1764
+ if (index >= string.length) return { value: undefined, done: true };
1765
+ point = charAt(string, index);
1766
+ state.index += point.length;
1767
+ return { value: point, done: false };
1768
+ });
1769
+
1055
1770
  var SPECIES$2 = wellKnownSymbol('species');
1056
1771
 
1057
1772
  var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
@@ -1153,37 +1868,12 @@
1153
1868
  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
1154
1869
  };
1155
1870
 
1156
- // `String.prototype.{ codePointAt, at }` methods implementation
1157
- var createMethod$2 = function (CONVERT_TO_STRING) {
1158
- return function ($this, pos) {
1159
- var S = String(requireObjectCoercible($this));
1160
- var position = toInteger(pos);
1161
- var size = S.length;
1162
- var first, second;
1163
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1164
- first = S.charCodeAt(position);
1165
- return first < 0xD800 || first > 0xDBFF || position + 1 === size
1166
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
1167
- ? CONVERT_TO_STRING ? S.charAt(position) : first
1168
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1169
- };
1170
- };
1171
-
1172
- var stringMultibyte = {
1173
- // `String.prototype.codePointAt` method
1174
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
1175
- codeAt: createMethod$2(false),
1176
- // `String.prototype.at` method
1177
- // https://github.com/mathiasbynens/String.prototype.at
1178
- charAt: createMethod$2(true)
1179
- };
1180
-
1181
- var charAt = stringMultibyte.charAt;
1871
+ var charAt$1 = stringMultibyte.charAt;
1182
1872
 
1183
1873
  // `AdvanceStringIndex` abstract operation
1184
1874
  // https://tc39.github.io/ecma262/#sec-advancestringindex
1185
1875
  var advanceStringIndex = function (S, index, unicode) {
1186
- return index + (unicode ? charAt(S, index).length : 1);
1876
+ return index + (unicode ? charAt$1(S, index).length : 1);
1187
1877
  };
1188
1878
 
1189
1879
  // `RegExpExec` abstract operation
@@ -1324,6 +2014,70 @@
1324
2014
  }
1325
2015
  });
1326
2016
 
2017
+ // iterable DOM collections
2018
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
2019
+ var domIterables = {
2020
+ CSSRuleList: 0,
2021
+ CSSStyleDeclaration: 0,
2022
+ CSSValueList: 0,
2023
+ ClientRectList: 0,
2024
+ DOMRectList: 0,
2025
+ DOMStringList: 0,
2026
+ DOMTokenList: 1,
2027
+ DataTransferItemList: 0,
2028
+ FileList: 0,
2029
+ HTMLAllCollection: 0,
2030
+ HTMLCollection: 0,
2031
+ HTMLFormElement: 0,
2032
+ HTMLSelectElement: 0,
2033
+ MediaList: 0,
2034
+ MimeTypeArray: 0,
2035
+ NamedNodeMap: 0,
2036
+ NodeList: 1,
2037
+ PaintRequestList: 0,
2038
+ Plugin: 0,
2039
+ PluginArray: 0,
2040
+ SVGLengthList: 0,
2041
+ SVGNumberList: 0,
2042
+ SVGPathSegList: 0,
2043
+ SVGPointList: 0,
2044
+ SVGStringList: 0,
2045
+ SVGTransformList: 0,
2046
+ SourceBufferList: 0,
2047
+ StyleSheetList: 0,
2048
+ TextTrackCueList: 0,
2049
+ TextTrackList: 0,
2050
+ TouchList: 0
2051
+ };
2052
+
2053
+ var ITERATOR$2 = wellKnownSymbol('iterator');
2054
+ var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
2055
+ var ArrayValues = es_array_iterator.values;
2056
+
2057
+ for (var COLLECTION_NAME in domIterables) {
2058
+ var Collection = global_1[COLLECTION_NAME];
2059
+ var CollectionPrototype = Collection && Collection.prototype;
2060
+ if (CollectionPrototype) {
2061
+ // some Chrome versions have non-configurable methods on DOMTokenList
2062
+ if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
2063
+ createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
2064
+ } catch (error) {
2065
+ CollectionPrototype[ITERATOR$2] = ArrayValues;
2066
+ }
2067
+ if (!CollectionPrototype[TO_STRING_TAG$3]) {
2068
+ createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
2069
+ }
2070
+ if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
2071
+ // some Chrome versions have non-configurable methods on DOMTokenList
2072
+ if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
2073
+ createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
2074
+ } catch (error) {
2075
+ CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
2076
+ }
2077
+ }
2078
+ }
2079
+ }
2080
+
1327
2081
  function _classCallCheck(instance, Constructor) {
1328
2082
  if (!(instance instanceof Constructor)) {
1329
2083
  throw new TypeError("Cannot call a class as a function");
@@ -1423,6 +2177,48 @@
1423
2177
  return _get(target, property, receiver || target);
1424
2178
  }
1425
2179
 
2180
+ function _slicedToArray(arr, i) {
2181
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
2182
+ }
2183
+
2184
+ function _arrayWithHoles(arr) {
2185
+ if (Array.isArray(arr)) return arr;
2186
+ }
2187
+
2188
+ function _iterableToArrayLimit(arr, i) {
2189
+ if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
2190
+ return;
2191
+ }
2192
+
2193
+ var _arr = [];
2194
+ var _n = true;
2195
+ var _d = false;
2196
+ var _e = undefined;
2197
+
2198
+ try {
2199
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
2200
+ _arr.push(_s.value);
2201
+
2202
+ if (i && _arr.length === i) break;
2203
+ }
2204
+ } catch (err) {
2205
+ _d = true;
2206
+ _e = err;
2207
+ } finally {
2208
+ try {
2209
+ if (!_n && _i["return"] != null) _i["return"]();
2210
+ } finally {
2211
+ if (_d) throw _e;
2212
+ }
2213
+ }
2214
+
2215
+ return _arr;
2216
+ }
2217
+
2218
+ function _nonIterableRest() {
2219
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
2220
+ }
2221
+
1426
2222
  /**
1427
2223
  * @author zhixin wen <wenzhixin2010@gmail.com>
1428
2224
  * extensions: https://github.com/vitalets/x-editable
@@ -1444,6 +2240,9 @@
1444
2240
  return false;
1445
2241
  }
1446
2242
  });
2243
+ $.extend($.fn.bootstrapTable.columnDefaults, {
2244
+ alwaysUseFormatter: false
2245
+ });
1447
2246
  $.extend($.fn.bootstrapTable.Constructor.EVENTS, {
1448
2247
  'editable-init.bs.table': 'onEditableInit',
1449
2248
  'editable-save.bs.table': 'onEditableSave',
@@ -1506,7 +2305,7 @@
1506
2305
  var result = Utils.calculateObjectValue(column, column._formatter, [value, row, index], value);
1507
2306
  result = typeof result === 'undefined' || result === null ? _this.options.undefinedText : result;
1508
2307
 
1509
- if (_this.options.uniqueId !== undefined) {
2308
+ if (_this.options.uniqueId !== undefined && !column.alwaysUseFormatter) {
1510
2309
  var uniqueId = Utils.getItemField(row, _this.options.uniqueId, false);
1511
2310
 
1512
2311
  if ($.inArray(column.field + uniqueId, _this.editedCells) !== -1) {
@@ -1518,17 +2317,18 @@
1518
2317
  $.each(editableOptions, function (key, value) {
1519
2318
  editableDataMarkup.push(" ".concat(key, "=\"").concat(value, "\""));
1520
2319
  });
1521
- var _dont_edit_formatter = false;
2320
+ var noEditFormatter = false;
2321
+ var editableOpts = Utils.calculateObjectValue(column, column.editable, [index, row], {});
1522
2322
 
1523
- if (column.editable.hasOwnProperty('noeditFormatter')) {
1524
- _dont_edit_formatter = column.editable.noeditFormatter(value, row, index);
2323
+ if (editableOpts.hasOwnProperty('noEditFormatter')) {
2324
+ noEditFormatter = editableOpts.noEditFormatter(value, row, index);
1525
2325
  }
1526
2326
 
1527
- if (_dont_edit_formatter === false) {
2327
+ if (noEditFormatter === false) {
1528
2328
  return "<a href=\"javascript:void(0)\"\n data-name=\"".concat(column.field, "\"\n data-pk=\"").concat(row[_this.options.idField], "\"\n data-value=\"").concat(result, "\"\n ").concat(editableDataMarkup.join(''), "></a>");
1529
2329
  }
1530
2330
 
1531
- return _dont_edit_formatter;
2331
+ return noEditFormatter;
1532
2332
  };
1533
2333
  });
1534
2334
  }
@@ -1548,7 +2348,9 @@
1548
2348
  return;
1549
2349
  }
1550
2350
 
1551
- var data = _this2.getData();
2351
+ var data = _this2.getData({
2352
+ escape: true
2353
+ });
1552
2354
 
1553
2355
  var $field = _this2.$body.find("a[data-name=\"".concat(column.field, "\"]"));
1554
2356
 
@@ -1571,7 +2373,7 @@
1571
2373
  var row = data[rowIndex];
1572
2374
  var oldValue = row[column.field];
1573
2375
 
1574
- if (_this2.options.uniqueId !== undefined) {
2376
+ if (_this2.options.uniqueId !== undefined && !column.alwaysUseFormatter) {
1575
2377
  var uniqueId = Utils.getItemField(row, _this2.options.uniqueId, false);
1576
2378
 
1577
2379
  if ($.inArray(column.field + uniqueId, _this2.editedCells) === -1) {
@@ -1579,6 +2381,7 @@
1579
2381
  }
1580
2382
  }
1581
2383
 
2384
+ submitValue = Utils.escapeHTML(submitValue);
1582
2385
  $this.data('value', submitValue);
1583
2386
  row[column.field] = submitValue;
1584
2387
 
@@ -1611,6 +2414,46 @@
1611
2414
  });
1612
2415
  this.trigger('editable-init');
1613
2416
  }
2417
+ }, {
2418
+ key: "getData",
2419
+ value: function getData(params) {
2420
+ var data = _get(_getPrototypeOf(_class.prototype), "getData", this).call(this, params);
2421
+
2422
+ if (params && params.escape) {
2423
+ var _iteratorNormalCompletion = true;
2424
+ var _didIteratorError = false;
2425
+ var _iteratorError = undefined;
2426
+
2427
+ try {
2428
+ for (var _iterator = data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
2429
+ var row = _step.value;
2430
+
2431
+ for (var _i = 0, _Object$entries = Object.entries(row); _i < _Object$entries.length; _i++) {
2432
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
2433
+ key = _Object$entries$_i[0],
2434
+ value = _Object$entries$_i[1];
2435
+
2436
+ row[key] = Utils.unescapeHTML(value);
2437
+ }
2438
+ }
2439
+ } catch (err) {
2440
+ _didIteratorError = true;
2441
+ _iteratorError = err;
2442
+ } finally {
2443
+ try {
2444
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
2445
+ _iterator.return();
2446
+ }
2447
+ } finally {
2448
+ if (_didIteratorError) {
2449
+ throw _iteratorError;
2450
+ }
2451
+ }
2452
+ }
2453
+ }
2454
+
2455
+ return data;
2456
+ }
1614
2457
  }]);
1615
2458
 
1616
2459
  return _class;