@json-editor/json-editor 2.11.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.env +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +77 -1
  4. package/README_ADDON.md +5 -1
  5. package/dist/jsoneditor.js +1 -1
  6. package/dist/jsoneditor.js.LICENSE.txt +1 -1
  7. package/dist/nonmin/jsoneditor.js +330 -169
  8. package/dist/nonmin/jsoneditor.js.map +1 -1
  9. package/docs/cleave.html +1 -1
  10. package/docs/datetime.html +1 -1
  11. package/docs/describedby.html +1 -1
  12. package/docs/index.html +5 -3
  13. package/docs/meta_schema.json +5 -1
  14. package/docs/radio.html +1 -1
  15. package/docs/select2.html +1 -1
  16. package/docs/selectize.html +2 -5
  17. package/docs/signature.html +12 -11
  18. package/docs/wysiwyg.html +1 -1
  19. package/package.json +1 -1
  20. package/src/core.js +10 -1
  21. package/src/defaults.js +3 -1
  22. package/src/editor.js +1 -1
  23. package/src/editors/array/selectize.js +0 -2
  24. package/src/editors/array.js +24 -13
  25. package/src/editors/base64.js +9 -0
  26. package/src/editors/integer.js +3 -2
  27. package/src/editors/multiple.js +3 -0
  28. package/src/editors/number.js +4 -2
  29. package/src/editors/object.js +71 -3
  30. package/src/editors/signature.js +16 -16
  31. package/src/editors/string.js +4 -0
  32. package/src/editors/table.js +17 -14
  33. package/src/resolvers.js +6 -2
  34. package/src/schemaloader.js +13 -0
  35. package/src/theme.js +4 -0
  36. package/src/themes/bootstrap3.js +6 -0
  37. package/src/themes/bootstrap4.js +6 -0
  38. package/src/themes/bootstrap5.js +6 -0
  39. package/src/validator.js +28 -0
  40. package/tests/codeceptjs/constrains/dependentRequired_test.js +33 -0
  41. package/tests/codeceptjs/core_test.js +10 -0
  42. package/tests/codeceptjs/editors/array_test.js +52 -0
  43. package/tests/codeceptjs/editors/object_test.js +20 -0
  44. package/tests/codeceptjs/issues/issue-gh-1330_test.js +8 -0
  45. package/tests/codeceptjs/issues/issue-gh-1338_test.js +2 -0
  46. package/tests/codeceptjs/issues/issue-gh-1364_test.js +13 -0
  47. package/tests/codeceptjs/issues/issue-gh-1367_test.js +11 -0
  48. package/tests/codeceptjs/issues/issue-gh-1383_test.js +9 -0
  49. package/tests/codeceptjs/issues/issue-gh-1384_test.js +9 -0
  50. package/tests/codeceptjs/issues/issue-gh-1410_test.js +13 -0
  51. package/tests/codeceptjs/issues/issue-gh-1422_test.js +9 -0
  52. package/tests/docker-compose-local.yml +4 -0
  53. package/tests/pages/array-selectize-create.html +62 -0
  54. package/tests/pages/array-table-responsive.html +65 -0
  55. package/tests/pages/button_state_mode_1.html +34 -0
  56. package/tests/pages/button_state_mode_2.html +35 -0
  57. package/tests/pages/dependentRequired.html +71 -0
  58. package/tests/pages/issues/issue-gh-1330.html +52 -0
  59. package/tests/pages/issues/issue-gh-1364.html +64 -0
  60. package/tests/pages/issues/issue-gh-1367.html +49 -0
  61. package/tests/pages/issues/issue-gh-1383.html +31 -0
  62. package/tests/pages/issues/issue-gh-1383.json +14 -0
  63. package/tests/pages/issues/issue-gh-1384.html +31 -0
  64. package/tests/pages/issues/issue-gh-1384.json +36 -0
  65. package/tests/pages/issues/issue-gh-1410.html +57 -0
  66. package/tests/pages/issues/issue-gh-1422.html +68 -0
  67. package/tests/pages/keep_only_existing_values.html +1 -1
  68. package/tests/pages/load-events.html +60 -0
  69. package/tests/pages/meta-schema.html +5 -1
  70. package/tests/pages/meta_schema.json +5 -1
  71. package/tests/pages/object-case-sensitive-property-search-false.html +41 -0
  72. package/tests/pages/object-case-sensitive-property-search-true.html +41 -0
  73. package/dist/dev/jsoneditor.js +0 -3687
  74. package/dist/jsoneditor.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  * * @name JSON Editor
4
4
  * * @description JSON Schema Based Editor
5
5
  * * This library is the continuation of jdorn's great work (see also https://github.com/jdorn/json-editor/issues/800)
6
- * * @version "2.11.0"
6
+ * * @version "2.12.0"
7
7
  * * @author Jeremy Dorn
8
8
  * * @see https://github.com/jdorn/json-editor/
9
9
  * * @see https://github.com/json-editor/json-editor
@@ -502,7 +502,9 @@ var options = {
502
502
  use_name_attributes: true,
503
503
  prompt_before_delete: true,
504
504
  use_default_values: true,
505
- max_depth: 0
505
+ max_depth: 0,
506
+ button_state_mode: 1,
507
+ case_sensitive_property_search: true
506
508
  };
507
509
 
508
510
  /* This assignment was previously in index.js but makes more sense here */
@@ -894,9 +896,9 @@ var AbstractEditor = /*#__PURE__*/function () {
894
896
  value: function postBuild() {
895
897
  this.setupWatchListeners();
896
898
  this.addLinks();
899
+ this.register();
897
900
  this.setValue(this.getDefault(), true);
898
901
  this.updateHeaderText();
899
- this.register();
900
902
  this.onWatchedFieldChange();
901
903
  }
902
904
  }, {
@@ -2098,36 +2100,46 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
2098
2100
  /* TODO: sortable */
2099
2101
  }
2100
2102
  }, {
2101
- key: "setVisibility",
2102
- value: function setVisibility(element, display) {
2103
- element.style.display = display ? '' : 'none';
2103
+ key: "setButtonState",
2104
+ value: function setButtonState(element, display) {
2105
+ var buttonStateMode = this.options.button_state_mode || this.jsoneditor.options.button_state_mode;
2106
+ switch (buttonStateMode) {
2107
+ case 1:
2108
+ element.style.display = display ? '' : 'none';
2109
+ break;
2110
+ case 2:
2111
+ element.disabled = !display;
2112
+ break;
2113
+ default:
2114
+ element.style.display = display ? '' : 'none';
2115
+ }
2104
2116
  }
2105
2117
  }, {
2106
2118
  key: "setupButtons",
2107
2119
  value: function setupButtons(minItems) {
2108
2120
  var controlsNeeded = [];
2109
2121
  if (!this.value.length) {
2110
- this.delete_last_row_button.style.display = 'none';
2111
- this.remove_all_rows_button.style.display = 'none';
2122
+ this.setButtonState(this.delete_last_row_button, false);
2123
+ this.setButtonState(this.remove_all_rows_button, false);
2112
2124
  } else if (this.value.length === 1) {
2113
- this.remove_all_rows_button.style.display = 'none';
2125
+ this.setButtonState(this.remove_all_rows_button, false);
2114
2126
 
2115
2127
  /* If there are minItems items in the array, or configured to hide the delete_last_row button, hide the delete button beneath the rows */
2116
2128
  var _display = !(minItems || this.hide_delete_last_row_buttons);
2117
- this.setVisibility(this.delete_last_row_button, _display);
2129
+ this.setButtonState(this.delete_last_row_button, _display);
2118
2130
  controlsNeeded.push(_display);
2119
2131
  } else {
2120
2132
  var display1 = !(minItems || this.hide_delete_last_row_buttons);
2121
- this.setVisibility(this.delete_last_row_button, display1);
2133
+ this.setButtonState(this.delete_last_row_button, display1);
2122
2134
  controlsNeeded.push(display1);
2123
2135
  var display2 = !(minItems || this.hide_delete_all_rows_buttons);
2124
- this.setVisibility(this.remove_all_rows_button, display2);
2136
+ this.setButtonState(this.remove_all_rows_button, display2);
2125
2137
  controlsNeeded.push(display2);
2126
2138
  }
2127
2139
 
2128
2140
  /* If there are maxItems in the array, hide the add button beneath the rows */
2129
2141
  var display = !(this.getMax() && this.getMax() <= this.rows.length || this.hide_add_button);
2130
- this.setVisibility(this.add_row_button, display);
2142
+ this.setButtonState(this.add_row_button, display);
2131
2143
  controlsNeeded.push(display);
2132
2144
  return controlsNeeded.some(function (e) {
2133
2145
  return e;
@@ -2149,12 +2161,12 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
2149
2161
  /* Hide the move down button for the last row */
2150
2162
  if (editor.movedown_button) {
2151
2163
  var display = i !== _this6.rows.length - 1;
2152
- _this6.setVisibility(editor.movedown_button, display);
2164
+ _this6.setButtonState(editor.movedown_button, display);
2153
2165
  }
2154
2166
 
2155
2167
  /* Hide the delete button if we have minItems items */
2156
2168
  if (editor.delete_button) {
2157
- _this6.setVisibility(editor.delete_button, !minItems);
2169
+ _this6.setButtonState(editor.delete_button, !minItems);
2158
2170
  }
2159
2171
 
2160
2172
  /* Get the value for this editor */
@@ -2381,8 +2393,8 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
2381
2393
  button.addEventListener('click', function (e) {
2382
2394
  e.preventDefault();
2383
2395
  e.stopPropagation();
2384
- if (_this12.panel) _this12.setVisibility(_this12.panel, _this12.collapsed);
2385
- if (_this12.tabs_holder) _this12.setVisibility(_this12.tabs_holder, _this12.collapsed);
2396
+ if (_this12.panel) _this12.setButtonState(_this12.panel, _this12.collapsed);
2397
+ if (_this12.tabs_holder) _this12.setButtonState(_this12.tabs_holder, _this12.collapsed);
2386
2398
  if (_this12.collapsed) {
2387
2399
  _this12.collapsed = false;
2388
2400
  _this12.row_holder.style.display = rowHolderDisplay;
@@ -3111,8 +3123,6 @@ var ArraySelectizeEditor = /*#__PURE__*/function (_MultiSelectEditor) {
3111
3123
  this.option_keys.push("".concat(value));
3112
3124
  this.option_titles.push("".concat(value));
3113
3125
  this.select_values["".concat(value)] = value;
3114
- /* Update Schema enum to prevent triggering "Value must be one of the enumerated values" */
3115
- this.schema.items["enum"].push(value);
3116
3126
  /* Add new value and label to selectize */
3117
3127
  this.selectize_instance.addOption({
3118
3128
  text: value,
@@ -3460,6 +3470,7 @@ var Base64Editor = /*#__PURE__*/function (_AbstractEditor) {
3460
3470
 
3461
3471
  /* File uploader */
3462
3472
  this.uploader = this.theme.getFormInputField('file');
3473
+ this.uploader.style.display = 'none';
3463
3474
 
3464
3475
  /* Set attribute of file input field to 'multiple' if: */
3465
3476
  /* 'multiple' key has been set to 'true' in the schema */
@@ -3506,6 +3517,11 @@ var Base64Editor = /*#__PURE__*/function (_AbstractEditor) {
3506
3517
  this.container.appendChild(this.preview);
3507
3518
  this.control = this.theme.getFormControl(this.label, this.uploader || this.input, this.preview, this.infoButton);
3508
3519
  this.container.appendChild(this.control);
3520
+ var uploadButton = this.getButton('button_upload', 'upload', 'button_upload');
3521
+ uploadButton.addEventListener('click', function () {
3522
+ _this2.uploader.click();
3523
+ });
3524
+ this.control.appendChild(uploadButton);
3509
3525
  }
3510
3526
  }, {
3511
3527
  key: "refreshPreview",
@@ -5732,8 +5748,9 @@ var IntegerEditor = /*#__PURE__*/function (_NumberEditor) {
5732
5748
  return undefined;
5733
5749
  }
5734
5750
  if (!this.schema["default"] && !this.jsoneditor.options.use_default_values && this.value === '') {
5735
- this.input.value = '';
5736
- return undefined;
5751
+ if (this.shouldBeUnset()) {
5752
+ return undefined;
5753
+ }
5737
5754
  } else {
5738
5755
  return (0,_utilities_js__WEBPACK_IMPORTED_MODULE_18__.isInteger)(this.value) ? parseInt(this.value) : this.value;
5739
5756
  }
@@ -6420,6 +6437,9 @@ var MultipleEditor = /*#__PURE__*/function (_AbstractEditor) {
6420
6437
  }, {
6421
6438
  key: "refreshValue",
6422
6439
  value: function refreshValue() {
6440
+ if (!this.editors[this.type]) {
6441
+ return;
6442
+ }
6423
6443
  this.value = this.editors[this.type].getValue();
6424
6444
  }
6425
6445
  }, {
@@ -7182,8 +7202,10 @@ var NumberEditor = /*#__PURE__*/function (_StringEditor) {
7182
7202
  return undefined;
7183
7203
  }
7184
7204
  if (!this.schema["default"] && !this.jsoneditor.options.use_default_values && this.value === '') {
7185
- this.input.value = '';
7186
- return undefined;
7205
+ if (this.shouldBeUnset()) {
7206
+ this.input.value = '';
7207
+ return undefined;
7208
+ }
7187
7209
  } else {
7188
7210
  return (0,_utilities__WEBPACK_IMPORTED_MODULE_20__.isNumber)(this.value) ? parseFloat(this.value) : this.value;
7189
7211
  }
@@ -8000,7 +8022,14 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8000
8022
  });
8001
8023
  this.addproperty_input.addEventListener('input', function (e) {
8002
8024
  e.target.previousSibling.childNodes.forEach(function (value) {
8003
- if (value.innerText.includes(e.target.value)) {
8025
+ var searchTerm = value.innerText;
8026
+ var propertyTitle = e.target.value;
8027
+ var caseSensitivePropertySearch = _this7.options.case_sensitive_property_search || _this7.jsoneditor.options.case_sensitive_property_search;
8028
+ if (!caseSensitivePropertySearch) {
8029
+ searchTerm = searchTerm.toLowerCase();
8030
+ propertyTitle = propertyTitle.toLowerCase();
8031
+ }
8032
+ if (searchTerm.includes(propertyTitle)) {
8004
8033
  value.style.display = '';
8005
8034
  } else {
8006
8035
  value.style.display = 'none';
@@ -8424,10 +8453,30 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8424
8453
  }, {
8425
8454
  key: "canHaveAdditionalProperties",
8426
8455
  value: function canHaveAdditionalProperties() {
8456
+ // schemas have priority over options
8457
+ // local options have priority over global options
8458
+ // lastly global options are evaluated
8459
+
8460
+ // If the schema additionalProperties keyword is a boolean let the keyword decide
8427
8461
  if (typeof this.schema.additionalProperties === 'boolean') {
8428
8462
  return this.schema.additionalProperties;
8429
8463
  }
8430
- return !this.jsoneditor.options.no_additional_properties;
8464
+
8465
+ // If the schema additionalProperties keyword is a schema then additional properties are allowed and limited by such schema
8466
+ if (_typeof(this.schema.additionalProperties) === 'object' && this.schema.additionalProperties !== null) {
8467
+ return true;
8468
+ }
8469
+
8470
+ // If the schema options no_additional_properties is a boolean let the option decide
8471
+ if (typeof this.options.no_additional_properties === 'boolean') {
8472
+ return !this.options.no_additional_properties;
8473
+ }
8474
+
8475
+ // If the global options no_additional_properties is a boolean let the option decide
8476
+ if (typeof this.jsoneditor.options.no_additional_properties === 'boolean') {
8477
+ return !this.jsoneditor.options.no_additional_properties;
8478
+ }
8479
+ return true;
8431
8480
  }
8432
8481
  }, {
8433
8482
  key: "destroy",
@@ -8474,15 +8523,53 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8474
8523
  }
8475
8524
  Object.keys(this.editors).forEach(function (i) {
8476
8525
  if (_this10.editors[i].isActive()) {
8526
+ _this10.editors[i].refreshValue();
8477
8527
  _this10.value[i] = _this10.editors[i].getValue();
8478
8528
  }
8479
8529
  });
8480
- if (this.adding_property) this.refreshAddProperties();
8530
+ Object.keys(this.editors).forEach(function (i) {
8531
+ if (_this10.editors[i].isActive()) {
8532
+ _this10.activateDependentRequired(_this10.editors[i].key);
8533
+ }
8534
+ });
8535
+ if (this.adding_property) {
8536
+ this.refreshAddProperties();
8537
+ }
8538
+ }
8539
+ }, {
8540
+ key: "activateDependentRequired",
8541
+ value: function activateDependentRequired(key) {
8542
+ var _this11 = this;
8543
+ var dependentRequired = this.getDependentRequired(key);
8544
+ dependentRequired.forEach(function (requiredProperty) {
8545
+ var dependentRequiredEditor;
8546
+ Object.entries(_this11.cached_editors).forEach(function (_ref7) {
8547
+ var _ref8 = _slicedToArray(_ref7, 2),
8548
+ i = _ref8[0],
8549
+ cachedEditor = _ref8[1];
8550
+ if (cachedEditor.key === requiredProperty) {
8551
+ dependentRequiredEditor = cachedEditor;
8552
+ }
8553
+ });
8554
+ if (dependentRequiredEditor && !dependentRequiredEditor.isActive()) {
8555
+ dependentRequiredEditor.activate();
8556
+ }
8557
+ });
8558
+ }
8559
+ }, {
8560
+ key: "getDependentRequired",
8561
+ value: function getDependentRequired(property) {
8562
+ if (this.schema.dependentRequired) {
8563
+ if ((0,_utilities_js__WEBPACK_IMPORTED_MODULE_40__.hasOwnProperty)(this.schema.dependentRequired, property)) {
8564
+ return this.schema.dependentRequired[property];
8565
+ }
8566
+ }
8567
+ return [];
8481
8568
  }
8482
8569
  }, {
8483
8570
  key: "refreshAddProperties",
8484
8571
  value: function refreshAddProperties() {
8485
- var _this11 = this;
8572
+ var _this12 = this;
8486
8573
  if (this.options.disable_properties || this.options.disable_properties !== false && this.jsoneditor.options.disable_properties) {
8487
8574
  this.addproperty_button.style.display = 'none';
8488
8575
  return;
@@ -8505,18 +8592,18 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8505
8592
 
8506
8593
  /* Check for which editors can't be removed or added back */
8507
8594
  Object.keys(this.cached_editors).forEach(function (i) {
8508
- _this11.addPropertyCheckbox(i);
8509
- if (_this11.isRequiredObject(_this11.cached_editors[i]) && i in _this11.editors) {
8510
- _this11.addproperty_checkboxes[i].disabled = true;
8511
- }
8512
- if (typeof _this11.schema.minProperties !== 'undefined' && numProps <= _this11.schema.minProperties) {
8513
- _this11.addproperty_checkboxes[i].disabled = _this11.addproperty_checkboxes[i].checked;
8514
- if (!_this11.addproperty_checkboxes[i].checked) showModal = true;
8515
- } else if (!(i in _this11.editors)) {
8516
- if (!canAdd && !(0,_utilities_js__WEBPACK_IMPORTED_MODULE_40__.hasOwnProperty)(_this11.schema.properties, i)) {
8517
- _this11.addproperty_checkboxes[i].disabled = true;
8595
+ _this12.addPropertyCheckbox(i);
8596
+ if (_this12.isRequiredObject(_this12.cached_editors[i]) && i in _this12.editors) {
8597
+ _this12.addproperty_checkboxes[i].disabled = true;
8598
+ }
8599
+ if (typeof _this12.schema.minProperties !== 'undefined' && numProps <= _this12.schema.minProperties) {
8600
+ _this12.addproperty_checkboxes[i].disabled = _this12.addproperty_checkboxes[i].checked;
8601
+ if (!_this12.addproperty_checkboxes[i].checked) showModal = true;
8602
+ } else if (!(i in _this12.editors)) {
8603
+ if (!canAdd && !(0,_utilities_js__WEBPACK_IMPORTED_MODULE_40__.hasOwnProperty)(_this12.schema.properties, i)) {
8604
+ _this12.addproperty_checkboxes[i].disabled = true;
8518
8605
  } else {
8519
- _this11.addproperty_checkboxes[i].disabled = false;
8606
+ _this12.addproperty_checkboxes[i].disabled = false;
8520
8607
  showModal = true;
8521
8608
  }
8522
8609
  } else {
@@ -8529,9 +8616,9 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8529
8616
 
8530
8617
  /* Additional addproperty checkboxes not tied to a current editor */
8531
8618
  Object.keys(this.schema.properties).forEach(function (i) {
8532
- if (_this11.cached_editors[i]) return;
8619
+ if (_this12.cached_editors[i]) return;
8533
8620
  showModal = true;
8534
- _this11.addPropertyCheckbox(i);
8621
+ _this12.addPropertyCheckbox(i);
8535
8622
  });
8536
8623
 
8537
8624
  /* If no editors can be added or removed, hide the modal button */
@@ -8562,39 +8649,39 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8562
8649
  }, {
8563
8650
  key: "setValue",
8564
8651
  value: function setValue(value, initial) {
8565
- var _this12 = this;
8652
+ var _this13 = this;
8566
8653
  value = value || {};
8567
8654
  if (_typeof(value) !== 'object' || Array.isArray(value)) value = {};
8568
8655
 
8569
8656
  /* First, set the values for all of the defined properties */
8570
- Object.entries(this.cached_editors).forEach(function (_ref7) {
8571
- var _ref8 = _slicedToArray(_ref7, 2),
8572
- i = _ref8[0],
8573
- editor = _ref8[1];
8657
+ Object.entries(this.cached_editors).forEach(function (_ref9) {
8658
+ var _ref10 = _slicedToArray(_ref9, 2),
8659
+ i = _ref10[0],
8660
+ editor = _ref10[1];
8574
8661
  /* Value explicitly set */
8575
8662
  if (typeof value[i] !== 'undefined') {
8576
- _this12.addObjectProperty(i);
8663
+ _this13.addObjectProperty(i);
8577
8664
  editor.setValue(value[i], initial);
8578
8665
  editor.activate();
8579
8666
  /* Otherwise, remove value unless this is the initial set or it's required */
8580
- } else if (!initial && !_this12.isRequiredObject(editor)) {
8581
- if (_this12.jsoneditor.options.show_opt_in || _this12.options.show_opt_in) {
8667
+ } else if (!initial && !_this13.isRequiredObject(editor)) {
8668
+ if (_this13.jsoneditor.options.show_opt_in || _this13.options.show_opt_in) {
8582
8669
  editor.deactivate();
8583
8670
  } else {
8584
- _this12.removeObjectProperty(i);
8671
+ _this13.removeObjectProperty(i);
8585
8672
  }
8586
8673
  /* Otherwise, set the value to the default */
8587
8674
  } else {
8588
8675
  editor.setValue(editor.getDefault(), initial);
8589
8676
  }
8590
8677
  });
8591
- Object.entries(value).forEach(function (_ref9) {
8592
- var _ref10 = _slicedToArray(_ref9, 2),
8593
- i = _ref10[0],
8594
- val = _ref10[1];
8595
- if (!_this12.cached_editors[i]) {
8596
- _this12.addObjectProperty(i);
8597
- if (_this12.editors[i]) _this12.editors[i].setValue(val, initial, !!_this12.editors[i].template);
8678
+ Object.entries(value).forEach(function (_ref11) {
8679
+ var _ref12 = _slicedToArray(_ref11, 2),
8680
+ i = _ref12[0],
8681
+ val = _ref12[1];
8682
+ if (!_this13.cached_editors[i]) {
8683
+ _this13.addObjectProperty(i);
8684
+ if (_this13.editors[i]) _this13.editors[i].setValue(val, initial, !!_this13.editors[i].template);
8598
8685
  }
8599
8686
  });
8600
8687
  this.refreshValue();
@@ -8604,12 +8691,12 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8604
8691
  }, {
8605
8692
  key: "showValidationErrors",
8606
8693
  value: function showValidationErrors(errors) {
8607
- var _this13 = this;
8694
+ var _this14 = this;
8608
8695
  /* Get all the errors that pertain to this editor */
8609
8696
  var myErrors = [];
8610
8697
  var otherErrors = [];
8611
8698
  errors.forEach(function (error) {
8612
- if (error.path === _this13.path) {
8699
+ if (error.path === _this14.path) {
8613
8700
  myErrors.push(error);
8614
8701
  } else {
8615
8702
  otherErrors.push(error);
@@ -8623,7 +8710,7 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
8623
8710
  this.error_holder.style.display = '';
8624
8711
  myErrors.forEach(function (error) {
8625
8712
  if (error.errorcount && error.errorcount > 1) error.message += " (".concat(error.errorcount, " errors)");
8626
- _this13.error_holder.appendChild(_this13.theme.getErrorMessage(error.message));
8713
+ _this14.error_holder.appendChild(_this14.theme.getErrorMessage(error.message));
8627
8714
  });
8628
8715
  /* Hide error area */
8629
8716
  } else {
@@ -10076,21 +10163,20 @@ var SignatureEditor = /*#__PURE__*/function (_StringEditor) {
10076
10163
  }
10077
10164
  canvas.classList.add('signature');
10078
10165
  signatureContainer.appendChild(canvas);
10079
- this.signaturePad = new window.SignaturePad(canvas, {
10080
- onEnd: function onEnd() {
10081
- /* check if the signature is not empty before setting a value */
10082
- if (!this.signaturePad.isEmpty()) {
10083
- this.input.value = this.signaturePad.toDataURL();
10084
- } else {
10085
- this.input.value = '';
10086
- }
10087
- this.is_dirty = true;
10088
- this.refreshValue();
10089
- this.watch_listener();
10090
- this.jsoneditor.notifyWatchers(this.path);
10091
- if (this.parent) this.parent.onChildEditorChange(this);else this.jsoneditor.onChange();
10166
+ this.signaturePad = new window.SignaturePad(canvas);
10167
+ this.signaturePad.onEnd = function () {
10168
+ /* check if the signature is not empty before setting a value */
10169
+ if (!_this.signaturePad.isEmpty()) {
10170
+ _this.input.value = _this.signaturePad.toDataURL();
10171
+ } else {
10172
+ _this.input.value = '';
10092
10173
  }
10093
- });
10174
+ _this.is_dirty = true;
10175
+ _this.refreshValue();
10176
+ _this.watch_listener();
10177
+ _this.jsoneditor.notifyWatchers(_this.path);
10178
+ if (_this.parent) _this.parent.onChildEditorChange(_this);else _this.jsoneditor.onChange();
10179
+ };
10094
10180
 
10095
10181
  /* create button containers and add clear signature button */
10096
10182
  var buttons = document.createElement('div');
@@ -11179,6 +11265,9 @@ var StringEditor = /*#__PURE__*/function (_AbstractEditor) {
11179
11265
  }, {
11180
11266
  key: "refreshValue",
11181
11267
  value: function refreshValue() {
11268
+ if (!this.input) {
11269
+ return;
11270
+ }
11182
11271
  this.value = this.input.value;
11183
11272
  if (typeof this.value !== 'string' && !this.shouldBeUnset()) this.value = '';
11184
11273
  this.serialized = this.value;
@@ -11401,8 +11490,10 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
11401
11490
  }, {
11402
11491
  key: "build",
11403
11492
  value: function build() {
11493
+ this.tableContainer = this.theme.getTableContainer();
11404
11494
  this.table = this.theme.getTable();
11405
- this.container.appendChild(this.table);
11495
+ this.tableContainer.appendChild(this.table);
11496
+ this.container.appendChild(this.tableContainer);
11406
11497
  this.thead = this.theme.getTableHead();
11407
11498
  this.table.appendChild(this.thead);
11408
11499
  this.header_row = this.theme.getTableRow();
@@ -11437,7 +11528,7 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
11437
11528
  this.panel = document.createElement('div');
11438
11529
  this.container.appendChild(this.panel);
11439
11530
  }
11440
- this.panel.appendChild(this.table);
11531
+ this.panel.appendChild(this.tableContainer);
11441
11532
  this.controls = this.theme.getButtonHolder();
11442
11533
  if (this.array_controls_top) {
11443
11534
  this.title.appendChild(this.controls);
@@ -11593,25 +11684,25 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
11593
11684
  if (editor.delete_button) {
11594
11685
  /* Hide the delete button if we have minItems items */
11595
11686
  var display = !minItems;
11596
- _this2.setVisibility(editor.delete_button, display);
11687
+ _this2.setButtonState(editor.delete_button, display);
11597
11688
  needRowButtons.push(display);
11598
11689
  }
11599
11690
  if (editor.copy_button) {
11600
11691
  /* Hide the copy button if we have maxItems items */
11601
11692
  var _display = !maxItems;
11602
- _this2.setVisibility(editor.copy_button, _display);
11693
+ _this2.setButtonState(editor.copy_button, _display);
11603
11694
  needRowButtons.push(_display);
11604
11695
  }
11605
11696
  if (editor.moveup_button) {
11606
11697
  /* Hide the moveup button for the first row */
11607
11698
  var _display2 = i !== 0;
11608
- _this2.setVisibility(editor.moveup_button, _display2);
11699
+ _this2.setButtonState(editor.moveup_button, _display2);
11609
11700
  needRowButtons.push(_display2);
11610
11701
  }
11611
11702
  if (editor.movedown_button) {
11612
11703
  /* Hide the movedown button for the last row */
11613
11704
  var _display3 = i !== _this2.rows.length - 1;
11614
- _this2.setVisibility(editor.movedown_button, _display3);
11705
+ _this2.setButtonState(editor.movedown_button, _display3);
11615
11706
  needRowButtons.push(_display3);
11616
11707
  }
11617
11708
  });
@@ -11620,24 +11711,24 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
11620
11711
  });
11621
11712
  /* Show/hide controls column in table */
11622
11713
  this.rows.forEach(function (editor) {
11623
- return _this2.setVisibility(editor.controls_cell, need);
11714
+ return _this2.setButtonState(editor.controls_cell, need);
11624
11715
  });
11625
- this.setVisibility(this.controls_header_cell, need);
11626
- this.setVisibility(this.table, this.value.length);
11716
+ this.setButtonState(this.controls_header_cell, need);
11717
+ this.setButtonState(this.table, this.value.length);
11627
11718
 
11628
11719
  /* If there are maxItems items in the array, or configured to hide the add_row_button button, hide the button beneath the rows */
11629
11720
  var display1 = !(maxItems || this.hide_add_button);
11630
- this.setVisibility(this.add_row_button, display1);
11721
+ this.setButtonState(this.add_row_button, display1);
11631
11722
 
11632
11723
  /* If there are minItems items in the array, or configured to hide the delete_last_row button, hide the button beneath the rows */
11633
11724
  var display2 = !(!this.value.length || minItems || this.hide_delete_last_row_buttons);
11634
- this.setVisibility(this.delete_last_row_button, display2);
11725
+ this.setButtonState(this.delete_last_row_button, display2);
11635
11726
 
11636
11727
  /* If there are minItems items in the array, or configured to hide the remove_all_rows_button button, hide the button beneath the rows */
11637
11728
  var display3 = !(this.value.length <= 1 || minItems || this.hide_delete_all_rows_buttons);
11638
- this.setVisibility(this.remove_all_rows_button, display3);
11729
+ this.setButtonState(this.remove_all_rows_button, display3);
11639
11730
  var controlsNeeded = display1 || display2 || display3;
11640
- this.setVisibility(this.controls, controlsNeeded);
11731
+ this.setButtonState(this.controls, controlsNeeded);
11641
11732
  }
11642
11733
  }, {
11643
11734
  key: "refreshValue",
@@ -11788,7 +11879,7 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
11788
11879
  this.toggle_button.addEventListener('click', function (e) {
11789
11880
  e.preventDefault();
11790
11881
  e.stopPropagation();
11791
- _this8.setVisibility(_this8.panel, _this8.collapsed);
11882
+ _this8.setButtonState(_this8.panel, _this8.collapsed);
11792
11883
  if (_this8.collapsed) {
11793
11884
  _this8.collapsed = false;
11794
11885
  _this8.setButtonText(e.currentTarget, '', 'collapse', 'button_collapse');
@@ -13590,7 +13681,10 @@ var enumeratedProperties = function enumeratedProperties(schema) {
13590
13681
  };
13591
13682
 
13592
13683
  /* Specialized editors for arrays of strings */
13593
- var arraysOfStrings = function arraysOfStrings(schema) {
13684
+ var arraysOfStrings = function arraysOfStrings(schema, je) {
13685
+ if (schema.items) {
13686
+ schema.items = je.expandSchema(schema.items);
13687
+ }
13594
13688
  if (schema.type === 'array' && schema.items && !Array.isArray(schema.items) && ['string', 'number', 'integer'].includes(schema.items.type)) {
13595
13689
  if (schema.format === 'choices') return 'arrayChoices';
13596
13690
  if (schema.uniqueItems) {
@@ -13662,7 +13756,7 @@ var xhtml = function xhtml(schema) {
13662
13756
  };
13663
13757
 
13664
13758
  /* Use the ace editor for schemas with format equals any of ace editor modes */
13665
- var aceModes = ['actionscript', 'batchfile', 'c', 'c++', 'cpp', 'coffee', 'csharp', 'css', 'dart', 'django', 'ejs', 'erlang', 'golang', 'groovy', 'handlebars', 'haskell', 'haxe', 'html', 'ini', 'jade', 'java', 'javascript', 'json', 'less', 'lisp', 'lua', 'makefile', 'matlab', 'mysql', 'objectivec', 'pascal', 'perl', 'pgsql', 'php', 'python', 'r', 'ruby', 'sass', 'scala', 'scss', 'sh', 'smarty', 'sql', 'sqlserver', 'stylus', 'svg', 'twig', 'vbscript', 'xml', 'yaml'];
13759
+ var aceModes = ['actionscript', 'batchfile', 'c', 'c++', 'cpp', 'coffee', 'csharp', 'css', 'dart', 'django', 'ejs', 'erlang', 'golang', 'groovy', 'handlebars', 'haskell', 'haxe', 'html', 'ini', 'jade', 'java', 'javascript', 'json', 'less', 'lisp', 'lua', 'makefile', 'matlab', 'mysql', 'objectivec', 'pascal', 'perl', 'pgsql', 'php', 'python', 'prql', 'r', 'ruby', 'rust', 'sass', 'scala', 'scss', 'sh', 'smarty', 'sql', 'sqlserver', 'stylus', 'svg', 'typescript', 'twig', 'vbscript', 'xml', 'yaml', 'zig'];
13666
13760
  var ace = function ace(schema) {
13667
13761
  return schema.type === 'string' && aceModes.includes(schema.format) && 'ace';
13668
13762
  };
@@ -14351,7 +14445,7 @@ var SchemaLoader = /*#__PURE__*/function () {
14351
14445
  }
14352
14446
  }
14353
14447
  if (externalSchema) {
14354
- _context2.next = 60;
14448
+ _context2.next = 61;
14355
14449
  break;
14356
14450
  }
14357
14451
  _context2.next = 48;
@@ -14378,37 +14472,41 @@ var SchemaLoader = /*#__PURE__*/function () {
14378
14472
  case 51:
14379
14473
  _context2.prev = 51;
14380
14474
  externalSchema = JSON.parse(_response.responseText);
14475
+ _this10.onSchemaLoaded({
14476
+ schema: externalSchema,
14477
+ schemaUrl: url
14478
+ });
14381
14479
  if (_this10.options.ajax_cache_responses) {
14382
14480
  _this10.cacheSet(url, externalSchema);
14383
14481
  }
14384
- _context2.next = 60;
14482
+ _context2.next = 61;
14385
14483
  break;
14386
- case 56:
14387
- _context2.prev = 56;
14484
+ case 57:
14485
+ _context2.prev = 57;
14388
14486
  _context2.t2 = _context2["catch"](51);
14389
14487
  // eslint-disable-next-line no-console
14390
14488
  console.log(_context2.t2);
14391
14489
  throw new Error("Failed to parse external ref ".concat(url));
14392
- case 60:
14490
+ case 61:
14393
14491
  if (!(!(typeof externalSchema === 'boolean' || _typeof(externalSchema) === 'object') || externalSchema === null || Array.isArray(externalSchema))) {
14394
- _context2.next = 62;
14492
+ _context2.next = 63;
14395
14493
  break;
14396
14494
  }
14397
14495
  throw new Error("External ref does not contain a valid schema - ".concat(url));
14398
- case 62:
14496
+ case 63:
14399
14497
  _this10.refs[uri] = externalSchema;
14400
14498
  newfileBase = _this10._getFileBaseFromFileLocation(url); // Add leading slash.
14401
14499
  if (url !== uri) {
14402
14500
  pathItems = url.split('/');
14403
14501
  url = (uri.substr(0, 1) === '/' ? '/' : '') + pathItems.pop();
14404
14502
  }
14405
- _context2.next = 67;
14503
+ _context2.next = 68;
14406
14504
  return _this10._asyncloadExternalRefs(externalSchema, url, newfileBase);
14407
- case 67:
14505
+ case 68:
14408
14506
  case "end":
14409
14507
  return _context2.stop();
14410
14508
  }
14411
- }, _loop, null, [[14, 33], [18, 22], [51, 56]]);
14509
+ }, _loop, null, [[14, 33], [18, 22], [51, 57]]);
14412
14510
  });
14413
14511
  _i2 = 0, _Object$keys = Object.keys(refs);
14414
14512
  case 5:
@@ -14435,6 +14533,8 @@ var SchemaLoader = /*#__PURE__*/function () {
14435
14533
  }
14436
14534
  return _context3.abrupt("return", true);
14437
14535
  case 15:
14536
+ this.onAllSchemasLoaded();
14537
+ case 16:
14438
14538
  case "end":
14439
14539
  return _context3.stop();
14440
14540
  }
@@ -14445,6 +14545,12 @@ var SchemaLoader = /*#__PURE__*/function () {
14445
14545
  }
14446
14546
  return _asyncloadExternalRefs;
14447
14547
  }()
14548
+ }, {
14549
+ key: "onSchemaLoaded",
14550
+ value: function onSchemaLoaded(payload) {}
14551
+ }, {
14552
+ key: "onAllSchemasLoaded",
14553
+ value: function onAllSchemasLoaded() {}
14448
14554
  }, {
14449
14555
  key: "extendSchemas",
14450
14556
  value: function extendSchemas(obj1, obj2) {
@@ -15479,6 +15585,11 @@ var AbstractTheme = /*#__PURE__*/function () {
15479
15585
  }
15480
15586
  if (title) button.setAttribute('title', title);
15481
15587
  }
15588
+ }, {
15589
+ key: "getTableContainer",
15590
+ value: function getTableContainer() {
15591
+ return document.createElement('div');
15592
+ }
15482
15593
 
15483
15594
  /* Table functions */
15484
15595
  }, {
@@ -16150,6 +16261,13 @@ var bootstrap3Theme = /*#__PURE__*/function (_AbstractTheme) {
16150
16261
  el.classList.add('btn', 'btn-default');
16151
16262
  return el;
16152
16263
  }
16264
+ }, {
16265
+ key: "getTableContainer",
16266
+ value: function getTableContainer() {
16267
+ var el = _get(_getPrototypeOf(bootstrap3Theme.prototype), "getTableContainer", this).call(this);
16268
+ el.classList.add('table-responsive');
16269
+ return el;
16270
+ }
16153
16271
  }, {
16154
16272
  key: "getTable",
16155
16273
  value: function getTable() {
@@ -16903,6 +17021,13 @@ var bootstrap4Theme = /*#__PURE__*/function (_AbstractTheme) {
16903
17021
  el.classList.add('btn', 'btn-secondary', 'btn-sm');
16904
17022
  return el;
16905
17023
  }
17024
+ }, {
17025
+ key: "getTableContainer",
17026
+ value: function getTableContainer() {
17027
+ var el = _get(_getPrototypeOf(bootstrap4Theme.prototype), "getTableContainer", this).call(this);
17028
+ el.classList.add('table-responsive');
17029
+ return el;
17030
+ }
16906
17031
  }, {
16907
17032
  key: "getTable",
16908
17033
  value: function getTable() {
@@ -17660,6 +17785,13 @@ var bootstrap5Theme = /*#__PURE__*/function (_AbstractTheme) {
17660
17785
  el.classList.add('btn', 'btn-secondary', 'btn-sm');
17661
17786
  return el;
17662
17787
  }
17788
+ }, {
17789
+ key: "getTableContainer",
17790
+ value: function getTableContainer() {
17791
+ var el = _get(_getPrototypeOf(bootstrap5Theme.prototype), "getTableContainer", this).call(this);
17792
+ el.classList.add('table-responsive');
17793
+ return el;
17794
+ }
17663
17795
  }, {
17664
17796
  key: "getTable",
17665
17797
  value: function getTable() {
@@ -19956,64 +20088,64 @@ __webpack_require__.r(__webpack_exports__);
19956
20088
  /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__);
19957
20089
  /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
19958
20090
  /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3__);
19959
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
19960
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_4__);
19961
- /* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.is-array.js */ "./node_modules/core-js/modules/es.array.is-array.js");
19962
- /* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_5__);
19963
- /* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ "./node_modules/core-js/modules/es.array.some.js");
19964
- /* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_6__);
19965
- /* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ "./node_modules/core-js/modules/es.array.reduce.js");
19966
- /* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_7__);
19967
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
19968
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_8__);
19969
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
19970
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_9__);
19971
- /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ "./node_modules/core-js/modules/es.regexp.constructor.js");
19972
- /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_10__);
19973
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
19974
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_11__);
19975
- /* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ "./node_modules/core-js/modules/es.object.entries.js");
19976
- /* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_12__);
19977
- /* harmony import */ var core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.every.js */ "./node_modules/core-js/modules/es.array.every.js");
19978
- /* harmony import */ var core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_13__);
19979
- /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js");
19980
- /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_14__);
19981
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
19982
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_15__);
19983
- /* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ "./node_modules/core-js/modules/es.parse-int.js");
19984
- /* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_16__);
19985
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
19986
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_17__);
19987
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
19988
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_18__);
19989
- /* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js");
19990
- /* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_19__);
19991
- /* harmony import */ var core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.symbol.to-primitive.js */ "./node_modules/core-js/modules/es.symbol.to-primitive.js");
19992
- /* harmony import */ var core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_20__);
19993
- /* harmony import */ var core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.date.to-primitive.js */ "./node_modules/core-js/modules/es.date.to-primitive.js");
19994
- /* harmony import */ var core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_21__);
19995
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
19996
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_22__);
19997
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
19998
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_23__);
19999
- /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js");
20000
- /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_24__);
20001
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
20002
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_25__);
20003
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
20004
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_26__);
20005
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
20006
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_27__);
20007
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
20008
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_28__);
20009
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
20010
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_29__);
20011
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
20012
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_30__);
20013
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
20014
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_31__);
20015
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
20016
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_32__);
20091
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
20092
+ /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__);
20093
+ /* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js");
20094
+ /* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5__);
20095
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
20096
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__);
20097
+ /* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.is-array.js */ "./node_modules/core-js/modules/es.array.is-array.js");
20098
+ /* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_7__);
20099
+ /* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.some.js */ "./node_modules/core-js/modules/es.array.some.js");
20100
+ /* harmony import */ var core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_8__);
20101
+ /* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ "./node_modules/core-js/modules/es.array.reduce.js");
20102
+ /* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_9__);
20103
+ /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
20104
+ /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_10__);
20105
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
20106
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_11__);
20107
+ /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ "./node_modules/core-js/modules/es.regexp.constructor.js");
20108
+ /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_12__);
20109
+ /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
20110
+ /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_13__);
20111
+ /* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ "./node_modules/core-js/modules/es.object.entries.js");
20112
+ /* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_14__);
20113
+ /* harmony import */ var core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.array.every.js */ "./node_modules/core-js/modules/es.array.every.js");
20114
+ /* harmony import */ var core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_every_js__WEBPACK_IMPORTED_MODULE_15__);
20115
+ /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js");
20116
+ /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_16__);
20117
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
20118
+ /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17__);
20119
+ /* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ "./node_modules/core-js/modules/es.parse-int.js");
20120
+ /* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_18__);
20121
+ /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
20122
+ /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19__);
20123
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
20124
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_20__);
20125
+ /* harmony import */ var core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.symbol.to-primitive.js */ "./node_modules/core-js/modules/es.symbol.to-primitive.js");
20126
+ /* harmony import */ var core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_to_primitive_js__WEBPACK_IMPORTED_MODULE_21__);
20127
+ /* harmony import */ var core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.date.to-primitive.js */ "./node_modules/core-js/modules/es.date.to-primitive.js");
20128
+ /* harmony import */ var core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_primitive_js__WEBPACK_IMPORTED_MODULE_22__);
20129
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
20130
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_23__);
20131
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
20132
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_24__);
20133
+ /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js");
20134
+ /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_25__);
20135
+ /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
20136
+ /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_26__);
20137
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
20138
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_27__);
20139
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
20140
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_28__);
20141
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
20142
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_29__);
20143
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
20144
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_30__);
20145
+ /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
20146
+ /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_31__);
20147
+ /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
20148
+ /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_32__);
20017
20149
  /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
20018
20150
  /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_33__);
20019
20151
  /* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
@@ -20090,6 +20222,28 @@ var Validator = /*#__PURE__*/function () {
20090
20222
  this.translateProperty = this.jsoneditor.translateProperty || defaults.translateProperty;
20091
20223
  this.defaults = defaults;
20092
20224
  this._validateSubSchema = {
20225
+ dependentRequired: function dependentRequired(schema, value, path) {
20226
+ var errors = [];
20227
+ if (typeof schema.dependentRequired !== 'undefined') {
20228
+ var missingProperties = [];
20229
+ Object.keys(schema.dependentRequired).forEach(function (key) {
20230
+ if (typeof value[key] !== 'undefined') {
20231
+ var requiredProperties = schema.dependentRequired[key];
20232
+ missingProperties = requiredProperties.filter(function (property) {
20233
+ return !(0,_utilities_js__WEBPACK_IMPORTED_MODULE_37__.hasOwnProperty)(value, property);
20234
+ });
20235
+ }
20236
+ });
20237
+ var invalid = missingProperties.length > 0;
20238
+ if (invalid) {
20239
+ errors.push({
20240
+ message: 'Must have the required properties: ' + missingProperties.join(', '),
20241
+ path: path
20242
+ });
20243
+ }
20244
+ }
20245
+ return errors;
20246
+ },
20093
20247
  dependentSchemas: function dependentSchemas(schema, value, path) {
20094
20248
  var _this = this;
20095
20249
  var errors = [];
@@ -30050,6 +30204,12 @@ var JSONEditor = /*#__PURE__*/function () {
30050
30204
  case 0:
30051
30205
  fetchUrl = document.location.origin + document.location.pathname.toString();
30052
30206
  loader = new _schemaloader_js__WEBPACK_IMPORTED_MODULE_37__.SchemaLoader(this.options);
30207
+ loader.onSchemaLoaded = function (payload) {
30208
+ _this2.trigger('schemaLoaded', payload);
30209
+ };
30210
+ loader.onAllSchemasLoaded = function () {
30211
+ _this2.trigger('allSchemasLoaded');
30212
+ };
30053
30213
  this.expandSchema = function (schema) {
30054
30214
  return loader.expandSchema(schema);
30055
30215
  };
@@ -30057,9 +30217,9 @@ var JSONEditor = /*#__PURE__*/function () {
30057
30217
  return loader.expandRefs(schema, fileBase);
30058
30218
  };
30059
30219
  location = document.location.toString();
30060
- _context.next = 7;
30220
+ _context.next = 9;
30061
30221
  return loader.load(this.schema, fetchUrl, location);
30062
- case 7:
30222
+ case 9:
30063
30223
  schema = _context.sent;
30064
30224
  validatorOptions = this.options.custom_validators ? {
30065
30225
  custom_validators: this.options.custom_validators
@@ -30092,7 +30252,7 @@ var JSONEditor = /*#__PURE__*/function () {
30092
30252
  _this2.trigger('ready');
30093
30253
  _this2.trigger('change');
30094
30254
  });
30095
- case 22:
30255
+ case 24:
30096
30256
  case "end":
30097
30257
  return _context.stop();
30098
30258
  }
@@ -30214,10 +30374,11 @@ var JSONEditor = /*#__PURE__*/function () {
30214
30374
  }, {
30215
30375
  key: "getEditorClass",
30216
30376
  value: function getEditorClass(schema) {
30377
+ var _this3 = this;
30217
30378
  var classname;
30218
30379
  schema = this.expandSchema(schema);
30219
30380
  JSONEditor.defaults.resolvers.find(function (resolver) {
30220
- classname = resolver(schema);
30381
+ classname = resolver(schema, _this3);
30221
30382
  return classname && JSONEditor.defaults.editors[classname];
30222
30383
  });
30223
30384
  if (!classname) throw new Error("Unknown editor for schema ".concat(JSON.stringify(schema)));
@@ -30235,24 +30396,24 @@ var JSONEditor = /*#__PURE__*/function () {
30235
30396
  }, {
30236
30397
  key: "onChange",
30237
30398
  value: function onChange() {
30238
- var _this3 = this;
30399
+ var _this4 = this;
30239
30400
  if (!this.ready) return;
30240
30401
  if (this.firing_change) return;
30241
30402
  this.firing_change = true;
30242
30403
  window.requestAnimationFrame(function () {
30243
- _this3.firing_change = false;
30244
- if (!_this3.ready) return;
30404
+ _this4.firing_change = false;
30405
+ if (!_this4.ready) return;
30245
30406
 
30246
30407
  /* Validate and cache results */
30247
- _this3.validation_results = _this3.validator.validate(_this3.root.getValue());
30248
- if (_this3.options.show_errors !== 'never') {
30249
- _this3.root.showValidationErrors(_this3.validation_results);
30408
+ _this4.validation_results = _this4.validator.validate(_this4.root.getValue());
30409
+ if (_this4.options.show_errors !== 'never') {
30410
+ _this4.root.showValidationErrors(_this4.validation_results);
30250
30411
  } else {
30251
- _this3.root.showValidationErrors([]);
30412
+ _this4.root.showValidationErrors([]);
30252
30413
  }
30253
30414
 
30254
30415
  /* Fire change event */
30255
- _this3.trigger('change');
30416
+ _this4.trigger('change');
30256
30417
  });
30257
30418
  return this;
30258
30419
  }