@json-editor/json-editor 2.9.0-beta.0 → 2.9.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 (58) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/README.md +16 -7
  3. package/dist/jsoneditor.js +2 -2
  4. package/dist/jsoneditor.js.LICENSE.txt +15 -0
  5. package/dist/jsoneditor.js.map +1 -0
  6. package/dist/nonmin/jsoneditor.js +989 -127
  7. package/dist/nonmin/jsoneditor.js.map +1 -1
  8. package/docs/index.html +22 -10
  9. package/docs/meta_schema.json +3 -2
  10. package/docs/starrating.html +2 -6
  11. package/package.json +4 -2
  12. package/src/defaults.js +9 -1
  13. package/src/editor.js +17 -3
  14. package/src/editors/array.js +7 -4
  15. package/src/editors/multiselect.js +1 -0
  16. package/src/editors/object.css +3 -3
  17. package/src/editors/object.css.js +1 -1
  18. package/src/editors/object.js +5 -2
  19. package/src/editors/table.js +11 -4
  20. package/src/editors/upload.js +3 -2
  21. package/src/themes/barebones.js +3 -1
  22. package/src/themes/bootstrap5.css +97 -0
  23. package/src/themes/bootstrap5.css.js +3 -0
  24. package/src/themes/bootstrap5.js +623 -0
  25. package/src/themes/index.js +2 -0
  26. package/src/themes/tailwind.js +2 -2
  27. package/tests/codeceptjs/core_test.js +107 -17
  28. package/tests/codeceptjs/editors/array_test.js +6 -5
  29. package/tests/codeceptjs/editors/button_test.js +7 -6
  30. package/tests/codeceptjs/editors/checkbox_test.js +3 -2
  31. package/tests/codeceptjs/editors/integer_test.js +3 -2
  32. package/tests/codeceptjs/editors/issues/issue-gh-1158_test.js +10 -0
  33. package/tests/codeceptjs/editors/issues/issue-gh-1257_test.js +13 -0
  34. package/tests/codeceptjs/editors/number_test.js +2 -1
  35. package/tests/codeceptjs/editors/object_test.js +39 -38
  36. package/tests/codeceptjs/editors/option-no_default_values_test.js +1 -1
  37. package/tests/codeceptjs/editors/programmatic-changes_test.js +3 -2
  38. package/tests/codeceptjs/editors/tabs_test.js +5 -3
  39. package/tests/codeceptjs/editors/validation_test.js +3 -1
  40. package/tests/codeceptjs/meta-schema_test.js +72 -4
  41. package/tests/codeceptjs/schemaloader_test.js +2 -1
  42. package/tests/codeceptjs/test-config.js +3 -0
  43. package/tests/codeceptjs/themes_test.js +14 -0
  44. package/tests/pages/anyof-2.html +90 -0
  45. package/tests/pages/anyof.html +1 -1
  46. package/tests/pages/container-attributes.html +50 -0
  47. package/tests/pages/issues/issue-gh-1158.html +50 -0
  48. package/tests/pages/issues/issue-gh-1233-failing.html +46 -0
  49. package/tests/pages/issues/issue-gh-1233-passing.html +49 -0
  50. package/tests/pages/issues/issue-gh-1257.html +77 -0
  51. package/tests/pages/meta-schema.html +747 -0
  52. package/tests/pages/meta_schema.json +3 -16
  53. package/tests/pages/oneof-2.html +90 -0
  54. package/tests/pages/per-editor-options.html +44 -0
  55. package/tests/pages/stepper.html +2 -2
  56. package/tests/pages/themes.html +2 -0
  57. /package/tests/pages/{table-move-events.html → array-events-table.html} +0 -0
  58. /package/tests/pages/{array-move-events.html → array-events.html} +0 -0
@@ -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.9.0-beta.0"
6
+ * * @version "2.9.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
@@ -8342,6 +8342,7 @@ __webpack_require__.r(__webpack_exports__);
8342
8342
  /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
8343
8343
  /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_17__);
8344
8344
  /* harmony import */ var _resolvers_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./resolvers.js */ "./src/resolvers.js");
8345
+ /* harmony import */ var _editors_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./editors/index.js */ "./src/editors/index.js");
8345
8346
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8346
8347
 
8347
8348
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8372,6 +8373,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8372
8373
 
8373
8374
 
8374
8375
 
8376
+
8375
8377
 
8376
8378
  /* default theme */
8377
8379
 
@@ -8385,7 +8387,6 @@ var callbacks = {};
8385
8387
  var themes = {};
8386
8388
  var templates = {};
8387
8389
  var iconlibs = {};
8388
- var editors = {};
8389
8390
  var languages = {}; // eslint-disable-next-line camelcase
8390
8391
 
8391
8392
  var custom_validators = [];
@@ -8645,6 +8646,16 @@ languages.en = {
8645
8646
  */
8646
8647
  error_hostname: 'The hostname has the wrong format',
8647
8648
 
8649
+ /**
8650
+ * When uploads max size limit is exceeded
8651
+ */
8652
+ upload_max_size: 'Filesize too large. Max size is ',
8653
+
8654
+ /**
8655
+ * When the mime type does not match the type of the file
8656
+ */
8657
+ upload_wrong_file_format: 'Wrong file format. Allowed format(s): ',
8658
+
8648
8659
  /**
8649
8660
  * Text/Title on Save button
8650
8661
  */
@@ -8782,12 +8793,12 @@ languages.en = {
8782
8793
  };
8783
8794
  /* Default per-editor options */
8784
8795
 
8785
- Object.entries(editors).forEach(function (_ref) {
8796
+ Object.entries(_editors_index_js__WEBPACK_IMPORTED_MODULE_19__["editors"]).forEach(function (_ref) {
8786
8797
  var _ref2 = _slicedToArray(_ref, 2),
8787
8798
  i = _ref2[0],
8788
8799
  editor = _ref2[1];
8789
8800
 
8790
- editors[i].options = editor.options || {};
8801
+ _editors_index_js__WEBPACK_IMPORTED_MODULE_19__["editors"][i].options = editor.options || {};
8791
8802
  });
8792
8803
  /* Default upload handler */
8793
8804
 
@@ -8843,7 +8854,7 @@ var defaults = {
8843
8854
  callbacks: callbacks,
8844
8855
  templates: templates,
8845
8856
  iconlibs: iconlibs,
8846
- editors: editors,
8857
+ editors: _editors_index_js__WEBPACK_IMPORTED_MODULE_19__["editors"],
8847
8858
  languages: languages,
8848
8859
  resolvers: _resolvers_js__WEBPACK_IMPORTED_MODULE_18__["resolvers"],
8849
8860
  custom_validators: custom_validators,
@@ -9187,6 +9198,7 @@ var AbstractEditor = /*#__PURE__*/function () {
9187
9198
  key: "setContainer",
9188
9199
  value: function setContainer(container) {
9189
9200
  this.container = container;
9201
+ this.setContainerAttributes();
9190
9202
  if (this.schema.id) this.container.setAttribute('data-schemaid', this.schema.id);
9191
9203
  if (this.schema.type && typeof this.schema.type === 'string') this.container.setAttribute('data-schematype', this.schema.type);
9192
9204
  this.container.setAttribute('data-schemapath', this.path);
@@ -9617,12 +9629,13 @@ var AbstractEditor = /*#__PURE__*/function () {
9617
9629
  if (type === 'number') return this.isDefaultRequired() ? 0.0 : undefined;
9618
9630
  if (type === 'boolean') return this.isDefaultRequired() ? false : undefined;
9619
9631
  if (type === 'integer') return this.isDefaultRequired() ? 0 : undefined;
9620
- if (type === 'string') return '';
9632
+ if (type === 'string') return this.isDefaultRequired() ? '' : undefined;
9633
+ if (type === 'null') return null;
9621
9634
  if (type === 'object') return {};
9622
9635
  if (type === 'array') return [];
9623
9636
  }
9624
9637
 
9625
- return null;
9638
+ return undefined;
9626
9639
  }
9627
9640
  }, {
9628
9641
  key: "getTitle",
@@ -9687,7 +9700,7 @@ var AbstractEditor = /*#__PURE__*/function () {
9687
9700
 
9688
9701
  if (typeof el === 'string') name = el;
9689
9702
  /* Object */
9690
- else if (el.title && used[el.title] <= 1) name = el.title;else if (el.format && used[el.format] <= 1) name = el.format;else if (el.type && used[el.type] <= 1) name = el.type;else if (el.description && used[el.description] <= 1) name = el.descripton;else if (el.title) name = el.title;else if (el.format) name = el.format;else if (el.type) name = el.type;else if (el.description) name = el.description;else if (JSON.stringify(el).length < 500) name = JSON.stringify(el);else name = 'type';
9703
+ else if (el.title && used[el.title] <= 1) name = el.title;else if (el.format && used[el.format] <= 1) name = el.format;else if (el.type && used[el.type] <= 1) name = el.type;else if (el.description && used[el.description] <= 1) name = el.description;else if (el.title) name = el.title;else if (el.format) name = el.format;else if (el.type) name = el.type;else if (el.description) name = el.description;else if (JSON.stringify(el).length < 500) name = JSON.stringify(el);else name = 'type';
9691
9704
  disp.push(name);
9692
9705
  });
9693
9706
  /* Replace identical display text with "text 1", "text 2", etc. */
@@ -9723,10 +9736,25 @@ var AbstractEditor = /*#__PURE__*/function () {
9723
9736
  });
9724
9737
  }
9725
9738
  }
9739
+ }, {
9740
+ key: "setContainerAttributes",
9741
+ value: function setContainerAttributes() {
9742
+ var _this9 = this;
9743
+
9744
+ if (this.schema.options && this.schema.options.containerAttributes) {
9745
+ var containerAttributes = this.schema.options.containerAttributes;
9746
+ var protectedAttributes = ['data-schemapath', 'data-schematype', 'data-schemaid'];
9747
+ Object.keys(containerAttributes).forEach(function (key) {
9748
+ if (!protectedAttributes.includes(key.toLowerCase())) {
9749
+ _this9.container.setAttribute(key, containerAttributes[key]);
9750
+ }
9751
+ });
9752
+ }
9753
+ }
9726
9754
  }, {
9727
9755
  key: "expandCallbacks",
9728
9756
  value: function expandCallbacks(scope, options) {
9729
- var _this9 = this;
9757
+ var _this10 = this;
9730
9758
 
9731
9759
  var callback = this.defaults.callbacks[scope];
9732
9760
  Object.entries(options).forEach(function (_ref) {
@@ -9735,9 +9763,9 @@ var AbstractEditor = /*#__PURE__*/function () {
9735
9763
  value = _ref2[1];
9736
9764
 
9737
9765
  if (value === Object(value)) {
9738
- options[key] = _this9.expandCallbacks(scope, value);
9766
+ options[key] = _this10.expandCallbacks(scope, value);
9739
9767
  } else if (typeof value === 'string' && _typeof(callback) === 'object' && typeof callback[value] === 'function') {
9740
- options[key] = callback[value].bind(null, _this9);
9768
+ options[key] = callback[value].bind(null, _this10);
9741
9769
  }
9742
9770
  });
9743
9771
  return options;
@@ -10705,6 +10733,7 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
10705
10733
 
10706
10734
  var newActiveTab = null;
10707
10735
  var editor = _this8.rows[i];
10736
+ var editorValue = editor.getValue();
10708
10737
 
10709
10738
  _this8.setValue(newval);
10710
10739
 
@@ -10722,7 +10751,7 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
10722
10751
 
10723
10752
  _this8.onChange(true);
10724
10753
 
10725
- _this8.jsoneditor.trigger('deleteRow', editor);
10754
+ _this8.jsoneditor.trigger('deleteRow', editorValue);
10726
10755
  });
10727
10756
 
10728
10757
  if (holder) {
@@ -10968,7 +10997,7 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
10968
10997
  var rows = _this14.getValue();
10969
10998
 
10970
10999
  var newActiveTab = null;
10971
- var editor = rows.pop();
11000
+ var editorValue = rows.pop();
10972
11001
 
10973
11002
  _this14.setValue(rows);
10974
11003
 
@@ -10984,7 +11013,7 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
10984
11013
 
10985
11014
  _this14.onChange(true);
10986
11015
 
10987
- _this14.jsoneditor.trigger('deleteRow', editor);
11016
+ _this14.jsoneditor.trigger('deleteRow', editorValue);
10988
11017
  });
10989
11018
  this.controls.appendChild(button);
10990
11019
  return button;
@@ -11004,13 +11033,15 @@ var ArrayEditor = /*#__PURE__*/function (_AbstractEditor) {
11004
11033
  return false;
11005
11034
  }
11006
11035
 
11036
+ var values = _this15.getValue();
11037
+
11007
11038
  _this15.empty(true);
11008
11039
 
11009
11040
  _this15.setValue([]);
11010
11041
 
11011
11042
  _this15.onChange(true);
11012
11043
 
11013
- _this15.jsoneditor.trigger('deleteAllRows');
11044
+ _this15.jsoneditor.trigger('deleteAllRows', values);
11014
11045
  });
11015
11046
  this.controls.appendChild(button);
11016
11047
  return button;
@@ -15580,6 +15611,7 @@ var MultiSelectEditor = /*#__PURE__*/function (_AbstractEditor) {
15580
15611
 
15581
15612
  this.select_options = {};
15582
15613
  this.select_values = {};
15614
+ this.option_titles = [];
15583
15615
  this.option_keys = [];
15584
15616
  this.option_enum = [];
15585
15617
  var i;
@@ -16107,7 +16139,7 @@ __webpack_require__.r(__webpack_exports__);
16107
16139
  ".property-selector": "width:295px;max-height:160px;padding:5px%200;overflow-y:auto;overflow-x:hidden;padding-left:5px",
16108
16140
  ".property-selector-input": "width:220px;margin-bottom:0;display:inline-block",
16109
16141
  ".json-editor-btntype-toggle": "margin:0%2010px%200%200",
16110
- ".je-edit-json--textarea": "height:170px%20!important;width:300px%20!important;display:block"
16142
+ ".je-edit-json--textarea": "height:170px;width:300px;display:block"
16111
16143
  });
16112
16144
  /* eslint-enable */
16113
16145
 
@@ -16920,6 +16952,7 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
16920
16952
  editor.build();
16921
16953
  editor.postBuild();
16922
16954
  editor.setOptInCheckbox(editor.header);
16955
+ editor.setValue(editor.getDefault(), true);
16923
16956
 
16924
16957
  if (_this7.editors[key].options.hidden) {
16925
16958
  holder.style.display = 'none';
@@ -17028,7 +17061,8 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
17028
17061
  this.addproperty_holder.appendChild(spacer);
17029
17062
  /* Close properties modal if clicked outside modal */
17030
17063
 
17031
- document.addEventListener('click', this.onOutsideModalClick.bind(this));
17064
+ this.onOutsideModalClickListener = this.onOutsideModalClick.bind(this);
17065
+ document.addEventListener('click', this.onOutsideModalClickListener, true);
17032
17066
  /* Description */
17033
17067
 
17034
17068
  if (this.schema.description) {
@@ -17509,7 +17543,7 @@ var ObjectEditor = /*#__PURE__*/function (_AbstractEditor) {
17509
17543
  this.cached_editors = null;
17510
17544
  if (this.editor_holder && this.editor_holder.parentNode) this.editor_holder.parentNode.removeChild(this.editor_holder);
17511
17545
  this.editor_holder = null;
17512
- document.removeEventListener('click', this.onOutsideModalClick);
17546
+ document.removeEventListener('click', this.onOutsideModalClickListener, true);
17513
17547
 
17514
17548
  _get(_getPrototypeOf(ObjectEditor.prototype), "destroy", this).call(this);
17515
17549
  }
@@ -21119,6 +21153,7 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
21119
21153
  }
21120
21154
 
21121
21155
  if (typeof value !== 'undefined') this.rows[i].setValue(value);
21156
+ return this.rows[i];
21122
21157
  }
21123
21158
  }, {
21124
21159
  key: "_createDeleteButton",
@@ -21140,13 +21175,16 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
21140
21175
 
21141
21176
  var value = _this4.getValue();
21142
21177
 
21178
+ var rows = _this4.getValue();
21179
+
21180
+ var editorValue = rows[j];
21143
21181
  value.splice(j, 1);
21144
21182
 
21145
21183
  _this4.setValue(value);
21146
21184
 
21147
21185
  _this4.onChange(true);
21148
21186
 
21149
- _this4.jsoneditor.trigger('deleteRow', _this4.rows[j]);
21187
+ _this4.jsoneditor.trigger('deleteRow', editorValue);
21150
21188
  });
21151
21189
  holder.appendChild(button);
21152
21190
  return button;
@@ -21345,13 +21383,13 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
21345
21383
 
21346
21384
  var rows = _this10.getValue();
21347
21385
 
21348
- var editor = rows.pop();
21386
+ var editorValue = rows.pop();
21349
21387
 
21350
21388
  _this10.setValue(rows);
21351
21389
 
21352
21390
  _this10.onChange(true);
21353
21391
 
21354
- _this10.jsoneditor.trigger('deleteRow', editor);
21392
+ _this10.jsoneditor.trigger('deleteRow', editorValue);
21355
21393
  });
21356
21394
  this.controls.appendChild(button);
21357
21395
  return button;
@@ -21371,11 +21409,13 @@ var TableEditor = /*#__PURE__*/function (_ArrayEditor) {
21371
21409
  return false;
21372
21410
  }
21373
21411
 
21412
+ var values = _this11.getValue();
21413
+
21374
21414
  _this11.setValue([]);
21375
21415
 
21376
21416
  _this11.onChange(true);
21377
21417
 
21378
- _this11.jsoneditor.trigger('deleteAllRows');
21418
+ _this11.jsoneditor.trigger('deleteAllRows', values);
21379
21419
  });
21380
21420
  this.controls.appendChild(button);
21381
21421
  return button;
@@ -21530,6 +21570,7 @@ var UploadEditor = /*#__PURE__*/function (_AbstractEditor) {
21530
21570
  if (!this.options.compact) this.header = this.label = this.theme.getFormInputLabel(this.getTitle(), this.isRequired());
21531
21571
  if (this.schema.description) this.description = this.theme.getFormInputDescription(this.translateProperty(this.schema.description));
21532
21572
  if (this.options.infoText) this.infoButton = this.theme.getInfoButton(this.translateProperty(this.options.infoText));
21573
+ if (this.options.hidden) this.container.style.display = 'none';
21533
21574
  /* Editor options */
21534
21575
 
21535
21576
  this.options = this.expandCallbacks('upload', Object(_utilities_js__WEBPACK_IMPORTED_MODULE_27__["extend"])({}, {
@@ -21633,9 +21674,9 @@ var UploadEditor = /*#__PURE__*/function (_AbstractEditor) {
21633
21674
 
21634
21675
  if (files && files.length) {
21635
21676
  if (_this.options.max_upload_size !== 0 && files[0].size > _this.options.max_upload_size) {
21636
- _this.theme.addInputError(_this.uploader, "Filesize too large. Max size is ".concat(_this.options.max_upload_size));
21677
+ _this.theme.addInputError(_this.uploader, "".concat(_this.translate('upload_max_size'), " ").concat(_this.options.max_upload_size));
21637
21678
  } else if (_this.options.mime_type.length !== 0 && !_this.isValidMimeType(files[0].type, _this.options.mime_type)) {
21638
- _this.theme.addInputError(_this.uploader, "Wrong file format. Allowed format(s): ".concat(_this.options.mime_type.toString()));
21679
+ _this.theme.addInputError(_this.uploader, "".concat(_this.translate('upload_wrong_file_format'), " ").concat(_this.options.mime_type.toString()));
21639
21680
  } else {
21640
21681
  if (_this.fileDisplay) _this.fileDisplay.value = files[0].name;
21641
21682
  var fr = new window.FileReader();
@@ -25446,7 +25487,10 @@ var barebonesTheme = /*#__PURE__*/function (_AbstractTheme) {
25446
25487
  var group = this.closest(input, '.form-control');
25447
25488
  input.errmsg = document.createElement('div');
25448
25489
  input.errmsg.setAttribute('class', 'errmsg');
25449
- group.appendChild(input.errmsg);
25490
+
25491
+ if (group.nodeName) {
25492
+ group.appendChild(input.errmsg);
25493
+ }
25450
25494
  } else {
25451
25495
  input.errmsg.style.display = 'block';
25452
25496
  }
@@ -26814,10 +26858,10 @@ bootstrap4Theme.rules = _bootstrap4_css_js__WEBPACK_IMPORTED_MODULE_24__["defaul
26814
26858
 
26815
26859
  /***/ }),
26816
26860
 
26817
- /***/ "./src/themes/html.css.js":
26818
- /*!********************************!*\
26819
- !*** ./src/themes/html.css.js ***!
26820
- \********************************/
26861
+ /***/ "./src/themes/bootstrap5.css.js":
26862
+ /*!**************************************!*\
26863
+ !*** ./src/themes/bootstrap5.css.js ***!
26864
+ \**************************************/
26821
26865
  /*! exports provided: default */
26822
26866
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
26823
26867
 
@@ -26825,12 +26869,19 @@ bootstrap4Theme.rules = _bootstrap4_css_js__WEBPACK_IMPORTED_MODULE_24__["defaul
26825
26869
  __webpack_require__.r(__webpack_exports__);
26826
26870
  /* eslint-disable */
26827
26871
  /* harmony default export */ __webpack_exports__["default"] = ({
26828
- ".je-form-input-label": "display:block;margin-bottom:3px;font-weight:bold",
26829
- ".je-form-input-description": "display:inline-block;margin:0;font-size:0.8em;font-style:italic",
26830
- ".je-indented-panel": "padding:5px;margin:10px;border-radius:3px;border:1px%20solid%20%23ddd",
26831
- ".je-child-editor-holder": "margin-bottom:8px",
26832
- ".je-header-button-holder": "display:inline-block;margin-left:10px;font-size:0.8em;vertical-align:middle",
26833
- ".je-table": "margin-bottom:5px;border-bottom:1px%20solid%20%23ccc",
26872
+ ".form-group": "margin-bottom:1rem",
26873
+ ".form-text": "display:block",
26874
+ ".jsoneditor-twbs5-text-button": "background:none;padding:0;border:0;color:currentColor",
26875
+ "td > .form-group": "margin-bottom:0",
26876
+ ".json-editor-btn-upload": "margin-top:1rem",
26877
+ ".je-noindent .card": "padding:0;border:0",
26878
+ ".je-tooltip:hover::before": "display:block;position:absolute;font-size:0.8em;color:%23fff;border-radius:0.2em;content:attr(title);background-color:%23000;margin-top:-2.5em;padding:0.3em",
26879
+ ".je-tooltip:hover::after": "display:block;position:absolute;font-size:0.8em;color:%23fff",
26880
+ ".select2-container--default .select2-selection--single": "height:calc(1.5em%20%2B%200.75rem%20%2B%202px)",
26881
+ ".select2-container--default .select2-selection--single .select2-selection__arrow": "height:calc(1.5em%20%2B%200.75rem%20%2B%202px)",
26882
+ ".select2-container--default .select2-selection--single .select2-selection__rendered": "line-height:calc(1.5em%20%2B%200.75rem%20%2B%202px)",
26883
+ ".selectize-control.form-control": "padding:0",
26884
+ ".selectize-dropdown.form-control": "padding:0;height:auto",
26834
26885
  ".je-upload-preview img": "float:left;margin:0%200.5rem%200.5rem%200;max-width:100%25;max-height:5rem",
26835
26886
  ".je-dropzone": "position:relative;margin:0.5rem%200;border:2px%20dashed%20black;width:100%25;height:60px;background:teal;transition:all%200.5s",
26836
26887
  ".je-dropzone:before": "position:absolute;content:attr(data-text);color:rgba(0%2C%200%2C%200%2C%200.6);left:50%25;top:50%25;transform:translate(-50%25%2C%20-50%25)",
@@ -26841,46 +26892,65 @@ __webpack_require__.r(__webpack_exports__);
26841
26892
 
26842
26893
  /***/ }),
26843
26894
 
26844
- /***/ "./src/themes/html.js":
26845
- /*!****************************!*\
26846
- !*** ./src/themes/html.js ***!
26847
- \****************************/
26848
- /*! exports provided: htmlTheme */
26895
+ /***/ "./src/themes/bootstrap5.js":
26896
+ /*!**********************************!*\
26897
+ !*** ./src/themes/bootstrap5.js ***!
26898
+ \**********************************/
26899
+ /*! exports provided: bootstrap5Theme */
26849
26900
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
26850
26901
 
26851
26902
  "use strict";
26852
26903
  __webpack_require__.r(__webpack_exports__);
26853
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "htmlTheme", function() { return htmlTheme; });
26854
- /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ "./node_modules/core-js/modules/es.object.set-prototype-of.js");
26855
- /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__);
26856
- /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
26857
- /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_1__);
26858
- /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js");
26859
- /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_2__);
26860
- /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ "./node_modules/core-js/modules/es.object.create.js");
26861
- /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_3__);
26862
- /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.reflect.get.js */ "./node_modules/core-js/modules/es.reflect.get.js");
26863
- /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_4__);
26864
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
26865
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5__);
26866
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
26867
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_6__);
26868
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
26869
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_7__);
26870
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
26871
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_8__);
26872
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
26873
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__);
26874
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
26875
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_10__);
26876
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
26877
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_11__);
26878
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
26879
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_12__);
26880
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
26881
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_13__);
26882
- /* harmony import */ var _theme_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../theme.js */ "./src/theme.js");
26883
- /* harmony import */ var _html_css_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./html.css.js */ "./src/themes/html.css.js");
26904
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bootstrap5Theme", function() { return bootstrap5Theme; });
26905
+ /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
26906
+ /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);
26907
+ /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js");
26908
+ /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);
26909
+ /* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ "./node_modules/core-js/modules/es.number.to-fixed.js");
26910
+ /* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_2__);
26911
+ /* harmony import */ var core_js_modules_es_date_now_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.date.now.js */ "./node_modules/core-js/modules/es.date.now.js");
26912
+ /* harmony import */ var core_js_modules_es_date_now_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_now_js__WEBPACK_IMPORTED_MODULE_3__);
26913
+ /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js");
26914
+ /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_4__);
26915
+ /* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ "./node_modules/core-js/modules/es.array.for-each.js");
26916
+ /* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__);
26917
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
26918
+ /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__);
26919
+ /* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ "./node_modules/core-js/modules/es.object.values.js");
26920
+ /* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_7__);
26921
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
26922
+ /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__);
26923
+ /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ "./node_modules/core-js/modules/es.object.set-prototype-of.js");
26924
+ /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_9__);
26925
+ /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
26926
+ /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_10__);
26927
+ /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js");
26928
+ /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_11__);
26929
+ /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ "./node_modules/core-js/modules/es.object.create.js");
26930
+ /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_12__);
26931
+ /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.reflect.get.js */ "./node_modules/core-js/modules/es.reflect.get.js");
26932
+ /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_13__);
26933
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
26934
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_14__);
26935
+ /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
26936
+ /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_15__);
26937
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
26938
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_16__);
26939
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
26940
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_17__);
26941
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
26942
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_18__);
26943
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
26944
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_19__);
26945
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
26946
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_20__);
26947
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
26948
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_21__);
26949
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
26950
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_22__);
26951
+ /* harmony import */ var _theme_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../theme.js */ "./src/theme.js");
26952
+ /* harmony import */ var _bootstrap5_css_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./bootstrap5.css.js */ "./src/themes/bootstrap5.css.js");
26953
+ /* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utilities */ "./src/utilities.js");
26884
26954
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
26885
26955
 
26886
26956
 
@@ -26893,6 +26963,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
26893
26963
 
26894
26964
 
26895
26965
 
26966
+
26967
+
26968
+
26969
+
26970
+
26971
+
26972
+
26973
+
26974
+
26896
26975
 
26897
26976
 
26898
26977
 
@@ -26924,77 +27003,857 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
26924
27003
 
26925
27004
 
26926
27005
 
26927
- var htmlTheme = /*#__PURE__*/function (_AbstractTheme) {
26928
- _inherits(htmlTheme, _AbstractTheme);
26929
27006
 
26930
- var _super = _createSuper(htmlTheme);
27007
+ /* Theme config options that allows changing various aspects of the output */
26931
27008
 
26932
- function htmlTheme() {
26933
- _classCallCheck(this, htmlTheme);
27009
+ var options = {
27010
+ disable_theme_rules: false,
27011
+ input_size: 'normal',
26934
27012
 
26935
- return _super.apply(this, arguments);
27013
+ /* Size of input and select elements. "small", "normal", "large" */
27014
+ object_indent: true,
27015
+
27016
+ /* Indent nested object elements (use nested .card layout) */
27017
+ object_background: 'bg-light',
27018
+
27019
+ /* Bootstrap 4 card background modifier class */
27020
+ object_text: '',
27021
+
27022
+ /* Bootstrap 5 card text color modifier class */
27023
+ table_border: false,
27024
+
27025
+ /* Add border to array "table" row and cells */
27026
+ table_zebrastyle: false,
27027
+
27028
+ /* Add "zebra style" to array "table" rows */
27029
+ tooltip: 'bootstrap'
27030
+ /* how to display tooltips (infoText). Can be `browser` for native `title`, `css` for simple CSS Styling, or `bootstrap` for TWBS/Popper.js handling */
27031
+
27032
+ };
27033
+ var bootstrap5Theme = /*#__PURE__*/function (_AbstractTheme) {
27034
+ _inherits(bootstrap5Theme, _AbstractTheme);
27035
+
27036
+ var _super = _createSuper(bootstrap5Theme);
27037
+
27038
+ function bootstrap5Theme(jsoneditor) {
27039
+ _classCallCheck(this, bootstrap5Theme);
27040
+
27041
+ return _super.call(this, jsoneditor, options);
26936
27042
  }
26937
27043
 
26938
- _createClass(htmlTheme, [{
26939
- key: "getFormInputLabel",
26940
- value: function getFormInputLabel(text, req) {
26941
- var el = _get(_getPrototypeOf(htmlTheme.prototype), "getFormInputLabel", this).call(this, text, req);
27044
+ _createClass(bootstrap5Theme, [{
27045
+ key: "getSelectInput",
27046
+ value: function getSelectInput(options, multiple) {
27047
+ var el = _get(_getPrototypeOf(bootstrap5Theme.prototype), "getSelectInput", this).call(this, options);
26942
27048
 
26943
- el.classList.add('je-form-input-label');
27049
+ el.classList.add('form-control');
27050
+ el.classList.add('form-select');
27051
+ if (this.options.input_size === 'small') el.classList.add('form-control-sm');
27052
+ if (this.options.input_size === 'large') el.classList.add('form-control-lg');
26944
27053
  return el;
26945
27054
  }
26946
27055
  }, {
26947
- key: "getFormInputDescription",
26948
- value: function getFormInputDescription(text) {
26949
- var el = _get(_getPrototypeOf(htmlTheme.prototype), "getFormInputDescription", this).call(this, text);
26950
-
26951
- el.classList.add('je-form-input-label');
27056
+ key: "getContainer",
27057
+ value: function getContainer() {
27058
+ var el = document.createElement('div');
27059
+ if (!this.options.object_indent) el.classList.add('je-noindent');
26952
27060
  return el;
26953
27061
  }
26954
27062
  }, {
26955
- key: "getIndentedPanel",
26956
- value: function getIndentedPanel() {
26957
- var el = _get(_getPrototypeOf(htmlTheme.prototype), "getIndentedPanel", this).call(this);
27063
+ key: "setGridColumnSize",
27064
+ value: function setGridColumnSize(el, size, offset) {
27065
+ el.classList.add("col-md-".concat(size));
26958
27066
 
26959
- el.classList.add('je-indented-panel');
26960
- return el;
26961
- }
26962
- }, {
26963
- key: "getTopIndentedPanel",
26964
- value: function getTopIndentedPanel() {
26965
- return this.getIndentedPanel();
27067
+ if (offset) {
27068
+ el.classList.add("offset-md-".concat(offset));
27069
+ }
26966
27070
  }
26967
27071
  }, {
26968
- key: "getChildEditorHolder",
26969
- value: function getChildEditorHolder() {
26970
- var el = _get(_getPrototypeOf(htmlTheme.prototype), "getChildEditorHolder", this).call(this);
27072
+ key: "afterInputReady",
27073
+ value: function afterInputReady(input) {
27074
+ if (input.controlgroup) return;
27075
+ /* set id/for */
26971
27076
 
26972
- el.classList.add('je-child-editor-holder');
26973
- return el;
27077
+ /* is not working for: [type=file], [type=checkbox] */
27078
+
27079
+ var id = input.name;
27080
+ input.id = id;
27081
+ /* 2x parentNode, b/c range input has an <div> wrapper */
27082
+
27083
+ var label = input.parentNode.parentNode.getElementsByTagName('label')[0];
27084
+
27085
+ if (label) {
27086
+ label.classList.add('form-label');
27087
+ label.htmlFor = id;
27088
+ }
27089
+
27090
+ input.controlgroup = this.closest(input, '.form-group');
26974
27091
  }
26975
27092
  }, {
26976
- key: "getHeaderButtonHolder",
26977
- value: function getHeaderButtonHolder() {
26978
- var el = this.getButtonHolder();
26979
- el.classList.add('je-header-button-holder');
27093
+ key: "getTextareaInput",
27094
+ value: function getTextareaInput() {
27095
+ var el = document.createElement('textarea');
27096
+ el.classList.add('form-control');
27097
+ if (this.options.input_size === 'small') el.classList.add('form-control-sm');
27098
+ if (this.options.input_size === 'large') el.classList.add('form-control-lg');
26980
27099
  return el;
26981
27100
  }
26982
27101
  }, {
26983
- key: "getTable",
26984
- value: function getTable() {
26985
- var el = _get(_getPrototypeOf(htmlTheme.prototype), "getTable", this).call(this);
27102
+ key: "getRangeInput",
27103
+ value: function getRangeInput(min, max, step) {
27104
+ var el = _get(_getPrototypeOf(bootstrap5Theme.prototype), "getRangeInput", this).call(this, min, max, step);
26986
27105
 
26987
- el.classList.add('je-table');
27106
+ el.classList.remove('form-control');
27107
+ el.classList.add('form-range');
26988
27108
  return el;
26989
27109
  }
26990
27110
  }, {
26991
- key: "addInputError",
26992
- value: function addInputError(input, text) {
26993
- var group = this.closest(input, '.form-control') || input.controlgroup;
26994
-
26995
- if (!input.errmsg) {
26996
- input.errmsg = document.createElement('div');
26997
- input.errmsg.setAttribute('class', 'errmsg');
27111
+ key: "getStepperButtons",
27112
+ value: function getStepperButtons(input) {
27113
+ var inputGroup = document.createElement('div');
27114
+ var minusBtn = document.createElement('button');
27115
+ minusBtn.setAttribute('type', 'button');
27116
+ var plusBtn = document.createElement('button');
27117
+ plusBtn.setAttribute('type', 'button');
27118
+ inputGroup.appendChild(minusBtn);
27119
+ inputGroup.appendChild(input);
27120
+ inputGroup.appendChild(plusBtn);
27121
+ inputGroup.classList.add('input-group');
27122
+ minusBtn.classList.add('btn');
27123
+ minusBtn.classList.add('btn-secondary');
27124
+ minusBtn.classList.add('stepper-down');
27125
+ plusBtn.classList.add('btn');
27126
+ plusBtn.classList.add('btn-secondary');
27127
+ plusBtn.classList.add('stepper-up');
27128
+ var readonly = input.getAttribute('readonly');
27129
+
27130
+ if (readonly) {
27131
+ minusBtn.setAttribute('disabled', true);
27132
+ plusBtn.setAttribute('disabled', true);
27133
+ }
27134
+
27135
+ minusBtn.textContent = '-';
27136
+ plusBtn.textContent = '+';
27137
+
27138
+ var initialize = function initialize(input, min) {
27139
+ if (min) {
27140
+ input.value = Number(min);
27141
+ } else {
27142
+ input.value = Number(input.value);
27143
+ }
27144
+
27145
+ input.setAttribute('initialized', '1');
27146
+ };
27147
+
27148
+ var min = input.getAttribute('min');
27149
+ var max = input.getAttribute('max');
27150
+ input.addEventListener('change', function () {
27151
+ if (!input.getAttribute('initialized')) {
27152
+ input.setAttribute('initialized', '1');
27153
+ }
27154
+ });
27155
+ minusBtn.addEventListener('click', function () {
27156
+ if (!input.getAttribute('initialized')) {
27157
+ initialize(input, min);
27158
+ } else if (min) {
27159
+ if (Number(input.value) > Number(min)) {
27160
+ input.stepDown();
27161
+ }
27162
+ } else {
27163
+ input.stepDown();
27164
+ }
27165
+
27166
+ Object(_utilities__WEBPACK_IMPORTED_MODULE_25__["trigger"])(input, 'change');
27167
+ });
27168
+ plusBtn.addEventListener('click', function () {
27169
+ if (!input.getAttribute('initialized')) {
27170
+ initialize(input, min);
27171
+ } else if (max) {
27172
+ if (Number(input.value) < Number(max)) {
27173
+ input.stepUp();
27174
+ }
27175
+ } else {
27176
+ input.stepUp();
27177
+ }
27178
+
27179
+ Object(_utilities__WEBPACK_IMPORTED_MODULE_25__["trigger"])(input, 'change');
27180
+ });
27181
+ return inputGroup;
27182
+ }
27183
+ }, {
27184
+ key: "getFormInputField",
27185
+ value: function getFormInputField(type) {
27186
+ var el = _get(_getPrototypeOf(bootstrap5Theme.prototype), "getFormInputField", this).call(this, type);
27187
+
27188
+ if (type !== 'checkbox' && type !== 'radio') {
27189
+ el.classList.add('form-control');
27190
+ if (this.options.input_size === 'small') el.classList.add('form-control-sm');
27191
+ if (this.options.input_size === 'large') el.classList.add('form-control-lg');
27192
+ }
27193
+
27194
+ return el;
27195
+ }
27196
+ }, {
27197
+ key: "getFormControl",
27198
+ value: function getFormControl(label, input, description, infoText) {
27199
+ var group = document.createElement('div');
27200
+ group.classList.add('form-group');
27201
+
27202
+ if (label && (input.type === 'checkbox' || input.type === 'radio')) {
27203
+ var check = document.createElement('div');
27204
+ check.classList.add('form-check');
27205
+ input.classList.add('form-check-input');
27206
+ label.classList.add('form-check-label');
27207
+ var unique = (Date.now() * Math.random()).toFixed(0);
27208
+ input.setAttribute('id', unique);
27209
+ label.setAttribute('for', unique);
27210
+ check.appendChild(input);
27211
+ check.appendChild(label);
27212
+ if (infoText) check.appendChild(infoText);
27213
+ group.appendChild(check);
27214
+ } else {
27215
+ if (label) {
27216
+ label.classList.add('form-label');
27217
+ group.appendChild(label);
27218
+ if (infoText) group.appendChild(infoText);
27219
+ }
27220
+
27221
+ group.appendChild(input);
27222
+ }
27223
+
27224
+ if (description) {
27225
+ group.appendChild(description);
27226
+ }
27227
+
27228
+ return group;
27229
+ }
27230
+ }, {
27231
+ key: "getInfoButton",
27232
+ value: function getInfoButton(text) {
27233
+ var button = document.createElement('button');
27234
+ /* shoud be a <button> but no fitting tbws style... */
27235
+
27236
+ button.type = 'button';
27237
+ button.classList.add('ms-3', 'jsoneditor-twbs5-text-button');
27238
+ button.setAttribute('data-toggle', 'tooltip');
27239
+ button.setAttribute('data-placement', 'auto');
27240
+ button.title = text;
27241
+ var icon = document.createTextNode('ⓘ');
27242
+ button.appendChild(icon);
27243
+
27244
+ if (this.options.tooltip === 'bootstrap') {
27245
+ if (window.jQuery && window.jQuery().tooltip) {
27246
+ window.jQuery(button).tooltip();
27247
+ } else {
27248
+ // eslint-disable-next-line no-console
27249
+ console.warn('Could not find popper jQuery plugin of Bootstrap.');
27250
+ }
27251
+ } else if (this.options.tooltip === 'css') {
27252
+ button.classList.add('je-tooltip');
27253
+ }
27254
+ /* else -> nothing todo for native [title] handling */
27255
+
27256
+
27257
+ return button;
27258
+ }
27259
+ /**
27260
+ * Generates a checkbox...
27261
+ *
27262
+ * Overwriten from master theme to get rid of inline styles.
27263
+ */
27264
+
27265
+ }, {
27266
+ key: "getCheckbox",
27267
+ value: function getCheckbox() {
27268
+ var el = this.getFormInputField('checkbox');
27269
+ return el;
27270
+ }
27271
+ /**
27272
+ * Multiple checkboxes in a row.
27273
+ *
27274
+ */
27275
+
27276
+ }, {
27277
+ key: "getMultiCheckboxHolder",
27278
+ value: function getMultiCheckboxHolder(controls, label, description, infoText) {
27279
+ var el = document.createElement('div');
27280
+ el.classList.add('form-group');
27281
+
27282
+ if (label) {
27283
+ el.appendChild(label);
27284
+
27285
+ if (infoText) {
27286
+ label.appendChild(infoText);
27287
+ }
27288
+ }
27289
+ /* for inline view we need an container so it doesnt wrap in the "row" of the <label> */
27290
+
27291
+
27292
+ var container = document.createElement('div');
27293
+ Object.values(controls).forEach(function (c) {
27294
+ /* controls are already parsed by getFormControl() so they have an .form-group */
27295
+
27296
+ /* wrapper we need to get rid of... */
27297
+ var ctrl = c.firstChild;
27298
+ container.appendChild(ctrl);
27299
+ });
27300
+ el.appendChild(container);
27301
+ if (description) el.appendChild(description);
27302
+ return el;
27303
+ }
27304
+ /**
27305
+ * Single radio element
27306
+ */
27307
+
27308
+ }, {
27309
+ key: "getFormRadio",
27310
+ value: function getFormRadio(attributes) {
27311
+ var el = this.getFormInputField('radio');
27312
+
27313
+ for (var key in attributes) {
27314
+ el.setAttribute(key, attributes[key]);
27315
+ }
27316
+
27317
+ el.classList.add('form-check-input');
27318
+ return el;
27319
+ }
27320
+ /**
27321
+ * Add the <label> for the single radio from getFormRadio()
27322
+ *
27323
+ */
27324
+
27325
+ }, {
27326
+ key: "getFormRadioLabel",
27327
+ value: function getFormRadioLabel(text, req) {
27328
+ var el = document.createElement('label');
27329
+ el.classList.add('form-check-label');
27330
+ el.appendChild(document.createTextNode(text));
27331
+ return el;
27332
+ }
27333
+ /**
27334
+ * Stack the radios from getFormRadio()/getFormRadioLabel()
27335
+ *
27336
+ */
27337
+
27338
+ }, {
27339
+ key: "getFormRadioControl",
27340
+ value: function getFormRadioControl(label, input, compact) {
27341
+ var el = document.createElement('div');
27342
+ el.classList.add('form-check');
27343
+ el.appendChild(input);
27344
+ el.appendChild(label);
27345
+
27346
+ if (compact) {
27347
+ el.classList.add('form-check-inline');
27348
+ }
27349
+
27350
+ return el;
27351
+ }
27352
+ }, {
27353
+ key: "getIndentedPanel",
27354
+ value: function getIndentedPanel() {
27355
+ var el = document.createElement('div');
27356
+ el.classList.add('card', 'card-body', 'my-3');
27357
+
27358
+ if (this.options.object_background) {
27359
+ el.classList.add(this.options.object_background);
27360
+ }
27361
+
27362
+ if (this.options.object_text) {
27363
+ el.classList.add(this.options.object_text);
27364
+ }
27365
+ /* for better twbs card styling we should be able to return a nested div */
27366
+
27367
+
27368
+ return el;
27369
+ }
27370
+ }, {
27371
+ key: "getFormInputDescription",
27372
+ value: function getFormInputDescription(text) {
27373
+ var el = document.createElement('small');
27374
+ el.classList.add('form-text');
27375
+ el.classList.add('d-block');
27376
+
27377
+ if (window.DOMPurify) {
27378
+ el.innerHTML = window.DOMPurify.sanitize(text);
27379
+ } else {
27380
+ el.textContent = this.cleanText(text);
27381
+ }
27382
+
27383
+ return el;
27384
+ }
27385
+ }, {
27386
+ key: "getHeader",
27387
+ value: function getHeader(text, pathDepth) {
27388
+ var el = document.createElement('h3');
27389
+ el.classList.add('card-title');
27390
+ el.classList.add('level-' + pathDepth);
27391
+
27392
+ if (typeof text === 'string') {
27393
+ el.textContent = text;
27394
+ } else {
27395
+ el.appendChild(text);
27396
+ }
27397
+
27398
+ el.style.display = 'inline-block';
27399
+ return el;
27400
+ }
27401
+ }, {
27402
+ key: "getHeaderButtonHolder",
27403
+ value: function getHeaderButtonHolder() {
27404
+ var el = this.getButtonHolder();
27405
+ return el;
27406
+ }
27407
+ }, {
27408
+ key: "getButtonHolder",
27409
+ value: function getButtonHolder() {
27410
+ var el = document.createElement('span');
27411
+ el.classList.add('btn-group');
27412
+ return el;
27413
+ }
27414
+ }, {
27415
+ key: "getFormButtonHolder",
27416
+ value: function getFormButtonHolder(buttonAlign) {
27417
+ var el = this.getButtonHolder();
27418
+ el.classList.add('d-block');
27419
+ if (buttonAlign === 'center') el.classList.add('text-center');else if (buttonAlign === 'right') el.classList.add('text-end');
27420
+ return el;
27421
+ }
27422
+ }, {
27423
+ key: "getButton",
27424
+ value: function getButton(text, icon, title) {
27425
+ var el = _get(_getPrototypeOf(bootstrap5Theme.prototype), "getButton", this).call(this, text, icon, title);
27426
+
27427
+ el.classList.add('btn', 'btn-secondary', 'btn-sm');
27428
+ return el;
27429
+ }
27430
+ }, {
27431
+ key: "getTable",
27432
+ value: function getTable() {
27433
+ var el = document.createElement('table');
27434
+ el.classList.add('table', 'table-sm');
27435
+
27436
+ if (this.options.table_border) {
27437
+ el.classList.add('table-bordered');
27438
+ }
27439
+
27440
+ if (this.options.table_zebrastyle) {
27441
+ el.classList.add('table-striped');
27442
+ }
27443
+
27444
+ return el;
27445
+ }
27446
+ }, {
27447
+ key: "getErrorMessage",
27448
+ value: function getErrorMessage(text) {
27449
+ var el = document.createElement('div');
27450
+ el.classList.add('alert', 'alert-danger');
27451
+ el.setAttribute('role', 'alert');
27452
+ el.appendChild(document.createTextNode(text));
27453
+ return el;
27454
+ }
27455
+ /**
27456
+ * input validation on <input>
27457
+ */
27458
+
27459
+ }, {
27460
+ key: "addInputError",
27461
+ value: function addInputError(input, text) {
27462
+ if (!input.controlgroup) return;
27463
+ input.controlgroup.classList.add('is-invalid');
27464
+
27465
+ if (!input.errmsg) {
27466
+ input.errmsg = document.createElement('p');
27467
+ input.errmsg.classList.add('invalid-feedback');
27468
+ input.controlgroup.appendChild(input.errmsg);
27469
+ input.errmsg.style.display = 'block';
27470
+ }
27471
+
27472
+ input.errmsg.style.display = 'block';
27473
+ input.errmsg.textContent = text;
27474
+ }
27475
+ }, {
27476
+ key: "removeInputError",
27477
+ value: function removeInputError(input) {
27478
+ if (!input.errmsg) return;
27479
+ input.errmsg.style.display = 'none';
27480
+ input.controlgroup.classList.remove('is-invalid');
27481
+ }
27482
+ }, {
27483
+ key: "getTabHolder",
27484
+ value: function getTabHolder(propertyName) {
27485
+ var el = document.createElement('div');
27486
+ var pName = typeof propertyName === 'undefined' ? '' : propertyName;
27487
+ el.innerHTML = "<div class='col-md-2' id='".concat(pName, "'><ul class='nav flex-column nav-pills'></ul></div><div class='col-md-10'><div class='tab-content' id='").concat(pName, "'></div></div>");
27488
+ el.classList.add('row');
27489
+ return el;
27490
+ }
27491
+ }, {
27492
+ key: "addTab",
27493
+ value: function addTab(holder, tab) {
27494
+ holder.children[0].children[0].appendChild(tab);
27495
+ }
27496
+ }, {
27497
+ key: "getTabContentHolder",
27498
+ value: function getTabContentHolder(tabHolder) {
27499
+ return tabHolder.children[1].children[0];
27500
+ }
27501
+ }, {
27502
+ key: "getTopTabHolder",
27503
+ value: function getTopTabHolder(propertyName) {
27504
+ var pName = typeof propertyName === 'undefined' ? '' : propertyName;
27505
+ var el = document.createElement('div');
27506
+ el.classList.add('card');
27507
+ el.innerHTML = "<div class='card-header'><ul class='nav nav-tabs card-header-tabs' id='".concat(pName, "'></ul></div><div class='card-body'><div class='tab-content' id='").concat(pName, "'></div></div>");
27508
+ return el;
27509
+ }
27510
+ }, {
27511
+ key: "getTab",
27512
+ value: function getTab(text, tabId) {
27513
+ var liel = document.createElement('li');
27514
+ liel.classList.add('nav-item');
27515
+ var ael = document.createElement('a');
27516
+ ael.classList.add('nav-link');
27517
+ ael.setAttribute('href', "#".concat(tabId));
27518
+ ael.setAttribute('data-toggle', 'tab');
27519
+ ael.appendChild(text);
27520
+ liel.appendChild(ael);
27521
+ return liel;
27522
+ }
27523
+ }, {
27524
+ key: "getTopTab",
27525
+ value: function getTopTab(text, tabId) {
27526
+ var el = document.createElement('li');
27527
+ el.classList.add('nav-item');
27528
+ var a = document.createElement('a');
27529
+ a.classList.add('nav-link');
27530
+ a.setAttribute('href', "#".concat(tabId));
27531
+ a.setAttribute('data-toggle', 'tab');
27532
+ a.appendChild(text);
27533
+ el.appendChild(a);
27534
+ return el;
27535
+ }
27536
+ }, {
27537
+ key: "getTabContent",
27538
+ value: function getTabContent() {
27539
+ var el = document.createElement('div');
27540
+ el.classList.add('tab-pane');
27541
+ el.setAttribute('role', 'tabpanel');
27542
+ return el;
27543
+ }
27544
+ }, {
27545
+ key: "getTopTabContent",
27546
+ value: function getTopTabContent() {
27547
+ var el = document.createElement('div');
27548
+ el.classList.add('tab-pane');
27549
+ el.setAttribute('role', 'tabpanel');
27550
+ return el;
27551
+ }
27552
+ }, {
27553
+ key: "markTabActive",
27554
+ value: function markTabActive(row) {
27555
+ row.tab.firstChild.classList.add('active');
27556
+
27557
+ if (typeof row.rowPane !== 'undefined') {
27558
+ row.rowPane.classList.add('active');
27559
+ } else {
27560
+ row.container.classList.add('active');
27561
+ }
27562
+ }
27563
+ }, {
27564
+ key: "markTabInactive",
27565
+ value: function markTabInactive(row) {
27566
+ row.tab.firstChild.classList.remove('active');
27567
+
27568
+ if (typeof row.rowPane !== 'undefined') {
27569
+ row.rowPane.classList.remove('active');
27570
+ } else {
27571
+ row.container.classList.remove('active');
27572
+ }
27573
+ }
27574
+ }, {
27575
+ key: "insertBasicTopTab",
27576
+ value: function insertBasicTopTab(tab, newTabsHolder) {
27577
+ newTabsHolder.children[0].children[0].insertBefore(tab, newTabsHolder.children[0].children[0].firstChild);
27578
+ }
27579
+ }, {
27580
+ key: "addTopTab",
27581
+ value: function addTopTab(holder, tab) {
27582
+ holder.children[0].children[0].appendChild(tab);
27583
+ }
27584
+ }, {
27585
+ key: "getTopTabContentHolder",
27586
+ value: function getTopTabContentHolder(tabHolder) {
27587
+ return tabHolder.children[1].children[0];
27588
+ }
27589
+ }, {
27590
+ key: "getFirstTab",
27591
+ value: function getFirstTab(holder) {
27592
+ return holder.firstChild.firstChild.firstChild;
27593
+ }
27594
+ }, {
27595
+ key: "getProgressBar",
27596
+ value: function getProgressBar() {
27597
+ var min = 0;
27598
+ var max = 100;
27599
+ var start = 0;
27600
+ var container = document.createElement('div');
27601
+ container.classList.add('progress');
27602
+ var bar = document.createElement('div');
27603
+ bar.classList.add('progress-bar');
27604
+ bar.setAttribute('role', 'progressbar');
27605
+ bar.setAttribute('aria-valuenow', start);
27606
+ bar.setAttribute('aria-valuemin', min);
27607
+ bar.setAttribute('aria-valuenax', max);
27608
+ bar.innerHTML = "".concat(start, "%");
27609
+ container.appendChild(bar);
27610
+ return container;
27611
+ }
27612
+ }, {
27613
+ key: "updateProgressBar",
27614
+ value: function updateProgressBar(progressBar, progress) {
27615
+ if (!progressBar) return;
27616
+ var bar = progressBar.firstChild;
27617
+ var percentage = "".concat(progress, "%");
27618
+ bar.setAttribute('aria-valuenow', progress);
27619
+ bar.style.width = percentage;
27620
+ bar.innerHTML = percentage;
27621
+ }
27622
+ }, {
27623
+ key: "updateProgressBarUnknown",
27624
+ value: function updateProgressBarUnknown(progressBar) {
27625
+ if (!progressBar) return;
27626
+ var bar = progressBar.firstChild;
27627
+ progressBar.classList.add('progress', 'progress-striped', 'active');
27628
+ bar.removeAttribute('aria-valuenow');
27629
+ bar.style.width = '100%';
27630
+ bar.innerHTML = '';
27631
+ }
27632
+ }, {
27633
+ key: "getBlockLink",
27634
+ value: function getBlockLink() {
27635
+ var link = document.createElement('a');
27636
+ link.classList.add('mb-3', 'd-inline-block');
27637
+ return link;
27638
+ }
27639
+ /**
27640
+ * Link after successfull upload
27641
+ */
27642
+
27643
+ }, {
27644
+ key: "getLinksHolder",
27645
+ value: function getLinksHolder() {
27646
+ var el = document.createElement('div');
27647
+ return el;
27648
+ }
27649
+ }, {
27650
+ key: "getInputGroup",
27651
+ value: function getInputGroup(input, buttons) {
27652
+ if (!input) return;
27653
+ var inputGroupContainer = document.createElement('div');
27654
+ inputGroupContainer.classList.add('input-group');
27655
+ inputGroupContainer.appendChild(input);
27656
+
27657
+ for (var i = 0; i < buttons.length; i++) {
27658
+ /* this uses the getButton() wrapper, so we have to remove the panel/ctrl spacing for this case */
27659
+ buttons[i].classList.remove('me-2', 'btn-secondary');
27660
+ buttons[i].classList.add('btn-outline-secondary');
27661
+ inputGroupContainer.appendChild(buttons[i]);
27662
+ }
27663
+
27664
+ return inputGroupContainer;
27665
+ }
27666
+ }]);
27667
+
27668
+ return bootstrap5Theme;
27669
+ }(_theme_js__WEBPACK_IMPORTED_MODULE_23__["AbstractTheme"]);
27670
+ /* Custom stylesheet rules. format: "selector" : "CSS rules" */
27671
+
27672
+ bootstrap5Theme.rules = _bootstrap5_css_js__WEBPACK_IMPORTED_MODULE_24__["default"];
27673
+
27674
+ /***/ }),
27675
+
27676
+ /***/ "./src/themes/html.css.js":
27677
+ /*!********************************!*\
27678
+ !*** ./src/themes/html.css.js ***!
27679
+ \********************************/
27680
+ /*! exports provided: default */
27681
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
27682
+
27683
+ "use strict";
27684
+ __webpack_require__.r(__webpack_exports__);
27685
+ /* eslint-disable */
27686
+ /* harmony default export */ __webpack_exports__["default"] = ({
27687
+ ".je-form-input-label": "display:block;margin-bottom:3px;font-weight:bold",
27688
+ ".je-form-input-description": "display:inline-block;margin:0;font-size:0.8em;font-style:italic",
27689
+ ".je-indented-panel": "padding:5px;margin:10px;border-radius:3px;border:1px%20solid%20%23ddd",
27690
+ ".je-child-editor-holder": "margin-bottom:8px",
27691
+ ".je-header-button-holder": "display:inline-block;margin-left:10px;font-size:0.8em;vertical-align:middle",
27692
+ ".je-table": "margin-bottom:5px;border-bottom:1px%20solid%20%23ccc",
27693
+ ".je-upload-preview img": "float:left;margin:0%200.5rem%200.5rem%200;max-width:100%25;max-height:5rem",
27694
+ ".je-dropzone": "position:relative;margin:0.5rem%200;border:2px%20dashed%20black;width:100%25;height:60px;background:teal;transition:all%200.5s",
27695
+ ".je-dropzone:before": "position:absolute;content:attr(data-text);color:rgba(0%2C%200%2C%200%2C%200.6);left:50%25;top:50%25;transform:translate(-50%25%2C%20-50%25)",
27696
+ ".je-dropzone.valid-dropzone": "background:green",
27697
+ ".je-dropzone.invalid-dropzone": "background:red"
27698
+ });
27699
+ /* eslint-enable */
27700
+
27701
+ /***/ }),
27702
+
27703
+ /***/ "./src/themes/html.js":
27704
+ /*!****************************!*\
27705
+ !*** ./src/themes/html.js ***!
27706
+ \****************************/
27707
+ /*! exports provided: htmlTheme */
27708
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
27709
+
27710
+ "use strict";
27711
+ __webpack_require__.r(__webpack_exports__);
27712
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "htmlTheme", function() { return htmlTheme; });
27713
+ /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ "./node_modules/core-js/modules/es.object.set-prototype-of.js");
27714
+ /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__);
27715
+ /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
27716
+ /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_1__);
27717
+ /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js");
27718
+ /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_2__);
27719
+ /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ "./node_modules/core-js/modules/es.object.create.js");
27720
+ /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_3__);
27721
+ /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.reflect.get.js */ "./node_modules/core-js/modules/es.reflect.get.js");
27722
+ /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_4__);
27723
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
27724
+ /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_5__);
27725
+ /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
27726
+ /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_6__);
27727
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
27728
+ /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_7__);
27729
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
27730
+ /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_8__);
27731
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
27732
+ /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__);
27733
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
27734
+ /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_10__);
27735
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
27736
+ /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_11__);
27737
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
27738
+ /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_12__);
27739
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
27740
+ /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_13__);
27741
+ /* harmony import */ var _theme_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../theme.js */ "./src/theme.js");
27742
+ /* harmony import */ var _html_css_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./html.css.js */ "./src/themes/html.css.js");
27743
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
27744
+
27745
+
27746
+
27747
+
27748
+
27749
+
27750
+
27751
+
27752
+
27753
+
27754
+
27755
+
27756
+
27757
+
27758
+
27759
+
27760
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27761
+
27762
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
27763
+
27764
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
27765
+
27766
+ function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
27767
+
27768
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
27769
+
27770
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
27771
+
27772
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
27773
+
27774
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
27775
+
27776
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
27777
+
27778
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
27779
+
27780
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27781
+
27782
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
27783
+
27784
+
27785
+
27786
+ var htmlTheme = /*#__PURE__*/function (_AbstractTheme) {
27787
+ _inherits(htmlTheme, _AbstractTheme);
27788
+
27789
+ var _super = _createSuper(htmlTheme);
27790
+
27791
+ function htmlTheme() {
27792
+ _classCallCheck(this, htmlTheme);
27793
+
27794
+ return _super.apply(this, arguments);
27795
+ }
27796
+
27797
+ _createClass(htmlTheme, [{
27798
+ key: "getFormInputLabel",
27799
+ value: function getFormInputLabel(text, req) {
27800
+ var el = _get(_getPrototypeOf(htmlTheme.prototype), "getFormInputLabel", this).call(this, text, req);
27801
+
27802
+ el.classList.add('je-form-input-label');
27803
+ return el;
27804
+ }
27805
+ }, {
27806
+ key: "getFormInputDescription",
27807
+ value: function getFormInputDescription(text) {
27808
+ var el = _get(_getPrototypeOf(htmlTheme.prototype), "getFormInputDescription", this).call(this, text);
27809
+
27810
+ el.classList.add('je-form-input-label');
27811
+ return el;
27812
+ }
27813
+ }, {
27814
+ key: "getIndentedPanel",
27815
+ value: function getIndentedPanel() {
27816
+ var el = _get(_getPrototypeOf(htmlTheme.prototype), "getIndentedPanel", this).call(this);
27817
+
27818
+ el.classList.add('je-indented-panel');
27819
+ return el;
27820
+ }
27821
+ }, {
27822
+ key: "getTopIndentedPanel",
27823
+ value: function getTopIndentedPanel() {
27824
+ return this.getIndentedPanel();
27825
+ }
27826
+ }, {
27827
+ key: "getChildEditorHolder",
27828
+ value: function getChildEditorHolder() {
27829
+ var el = _get(_getPrototypeOf(htmlTheme.prototype), "getChildEditorHolder", this).call(this);
27830
+
27831
+ el.classList.add('je-child-editor-holder');
27832
+ return el;
27833
+ }
27834
+ }, {
27835
+ key: "getHeaderButtonHolder",
27836
+ value: function getHeaderButtonHolder() {
27837
+ var el = this.getButtonHolder();
27838
+ el.classList.add('je-header-button-holder');
27839
+ return el;
27840
+ }
27841
+ }, {
27842
+ key: "getTable",
27843
+ value: function getTable() {
27844
+ var el = _get(_getPrototypeOf(htmlTheme.prototype), "getTable", this).call(this);
27845
+
27846
+ el.classList.add('je-table');
27847
+ return el;
27848
+ }
27849
+ }, {
27850
+ key: "addInputError",
27851
+ value: function addInputError(input, text) {
27852
+ var group = this.closest(input, '.form-control') || input.controlgroup;
27853
+
27854
+ if (!input.errmsg) {
27855
+ input.errmsg = document.createElement('div');
27856
+ input.errmsg.setAttribute('class', 'errmsg');
26998
27857
  input.errmsg.style = input.errmsg.style || {};
26999
27858
  input.errmsg.style.color = 'red';
27000
27859
  group.appendChild(input.errmsg);
@@ -27037,13 +27896,15 @@ __webpack_require__.r(__webpack_exports__);
27037
27896
  /* harmony import */ var _html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./html.js */ "./src/themes/html.js");
27038
27897
  /* harmony import */ var _bootstrap3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bootstrap3.js */ "./src/themes/bootstrap3.js");
27039
27898
  /* harmony import */ var _bootstrap4_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bootstrap4.js */ "./src/themes/bootstrap4.js");
27040
- /* harmony import */ var _jqueryui_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jqueryui.js */ "./src/themes/jqueryui.js");
27041
- /* harmony import */ var _barebones_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./barebones.js */ "./src/themes/barebones.js");
27042
- /* harmony import */ var _spectre_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./spectre.js */ "./src/themes/spectre.js");
27043
- /* harmony import */ var _tailwind_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./tailwind.js */ "./src/themes/tailwind.js");
27899
+ /* harmony import */ var _bootstrap5_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bootstrap5.js */ "./src/themes/bootstrap5.js");
27900
+ /* harmony import */ var _jqueryui_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jqueryui.js */ "./src/themes/jqueryui.js");
27901
+ /* harmony import */ var _barebones_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./barebones.js */ "./src/themes/barebones.js");
27902
+ /* harmony import */ var _spectre_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./spectre.js */ "./src/themes/spectre.js");
27903
+ /* harmony import */ var _tailwind_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tailwind.js */ "./src/themes/tailwind.js");
27044
27904
  // import { bootstrap2Theme } from './bootstrap2'
27045
27905
 
27046
27906
 
27907
+
27047
27908
  // import { foundationTheme, foundation3Theme, foundation4Theme, foundation5Theme, foundation6Theme } from './foundation.js'
27048
27909
 
27049
27910
 
@@ -27056,16 +27917,17 @@ var themes = {
27056
27917
  // bootstrap2: bootstrap2Theme,
27057
27918
  bootstrap3: _bootstrap3_js__WEBPACK_IMPORTED_MODULE_1__["bootstrap3Theme"],
27058
27919
  bootstrap4: _bootstrap4_js__WEBPACK_IMPORTED_MODULE_2__["bootstrap4Theme"],
27920
+ bootstrap5: _bootstrap5_js__WEBPACK_IMPORTED_MODULE_3__["bootstrap5Theme"],
27059
27921
  // foundation: foundationTheme,
27060
27922
  // foundation3: foundation3Theme,
27061
27923
  // foundation4: foundation4Theme,
27062
27924
  // foundation5: foundation5Theme,
27063
27925
  // foundation6: foundation6Theme,
27064
- jqueryui: _jqueryui_js__WEBPACK_IMPORTED_MODULE_3__["jqueryuiTheme"],
27065
- barebones: _barebones_js__WEBPACK_IMPORTED_MODULE_4__["barebonesTheme"],
27926
+ jqueryui: _jqueryui_js__WEBPACK_IMPORTED_MODULE_4__["jqueryuiTheme"],
27927
+ barebones: _barebones_js__WEBPACK_IMPORTED_MODULE_5__["barebonesTheme"],
27066
27928
  // materialize: materializeTheme,
27067
- spectre: _spectre_js__WEBPACK_IMPORTED_MODULE_5__["spectreTheme"],
27068
- tailwind: _tailwind_js__WEBPACK_IMPORTED_MODULE_6__["tailwindTheme"]
27929
+ spectre: _spectre_js__WEBPACK_IMPORTED_MODULE_6__["spectreTheme"],
27930
+ tailwind: _tailwind_js__WEBPACK_IMPORTED_MODULE_7__["tailwindTheme"]
27069
27931
  };
27070
27932
 
27071
27933
  /***/ }),
@@ -28562,7 +29424,7 @@ var tailwindTheme = /*#__PURE__*/function (_AbstractTheme) {
28562
29424
  value: function addInputError(input, text) {
28563
29425
  if (!input.controlgroup) return;
28564
29426
  input.controlgroup.classList.add('has-error');
28565
- input.classList.add('bg-red-600');
29427
+ input.controlgroup.classList.add('text-red-600');
28566
29428
 
28567
29429
  if (!input.errmsg) {
28568
29430
  input.errmsg = document.createElement('p');
@@ -28579,7 +29441,7 @@ var tailwindTheme = /*#__PURE__*/function (_AbstractTheme) {
28579
29441
  value: function removeInputError(input) {
28580
29442
  if (!input.errmsg) return;
28581
29443
  input.errmsg.style.display = 'none';
28582
- input.classList.remove('bg-red-600');
29444
+ input.controlgroup.classList.remove('text-red-600');
28583
29445
  input.controlgroup.classList.remove('has-error');
28584
29446
  }
28585
29447
  }, {