jedison 1.12.2 → 1.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2207,6 +2207,9 @@ class Editor {
2207
2207
  }
2208
2208
  adaptForTable() {
2209
2209
  }
2210
+ // eslint-disable-next-line no-unused-vars
2211
+ adaptForHorizontal(labelCol, inputCol) {
2212
+ }
2210
2213
  /**
2211
2214
  * Adds attributes to generated html elements if specified in schema x-options
2212
2215
  */
@@ -3383,6 +3386,9 @@ class EditorRadios extends EditorBoolean {
3383
3386
  adaptForTable() {
3384
3387
  this.theme.adaptForTableRadiosControl(this.control);
3385
3388
  }
3389
+ adaptForHorizontal(labelCol, inputCol) {
3390
+ this.theme.adaptForHorizontalRadiosControl(this.control, labelCol, inputCol);
3391
+ }
3386
3392
  addEventListeners() {
3387
3393
  this.control.radios.forEach((radio) => {
3388
3394
  radio.addEventListener("change", () => {
@@ -3427,6 +3433,9 @@ class EditorBooleanSelect extends EditorBoolean {
3427
3433
  adaptForTable() {
3428
3434
  this.theme.adaptForTableSelectControl(this.control);
3429
3435
  }
3436
+ adaptForHorizontal(labelCol, inputCol) {
3437
+ this.theme.adaptForHorizontalSelectControl(this.control, labelCol, inputCol);
3438
+ }
3430
3439
  addEventListeners() {
3431
3440
  this.control.input.addEventListener("change", () => {
3432
3441
  const value = this.control.input.value === "true";
@@ -3455,6 +3464,9 @@ class EditorBooleanCheckbox extends EditorBoolean {
3455
3464
  adaptForTable(td) {
3456
3465
  this.theme.adaptForTableCheckboxControl(this.control, td);
3457
3466
  }
3467
+ adaptForHorizontal(labelCol, inputCol) {
3468
+ this.theme.adaptForHorizontalCheckboxControl(this.control, labelCol, inputCol);
3469
+ }
3458
3470
  addEventListeners() {
3459
3471
  this.control.input.addEventListener("change", () => {
3460
3472
  this.instance.setValue(this.control.input.checked, true, "user");
@@ -3560,6 +3572,9 @@ class EditorStringRadios extends EditorString {
3560
3572
  adaptForTable() {
3561
3573
  this.theme.adaptForTableRadiosControl(this.control);
3562
3574
  }
3575
+ adaptForHorizontal(labelCol, inputCol) {
3576
+ this.theme.adaptForHorizontalRadiosControl(this.control, labelCol, inputCol);
3577
+ }
3563
3578
  addEventListeners() {
3564
3579
  this.control.radios.forEach((radio) => {
3565
3580
  radio.addEventListener("change", () => {
@@ -3643,6 +3658,9 @@ class EditorStringSelect extends EditorString {
3643
3658
  adaptForTable() {
3644
3659
  this.theme.adaptForTableSelectControl(this.control);
3645
3660
  }
3661
+ adaptForHorizontal(labelCol, inputCol) {
3662
+ this.theme.adaptForHorizontalSelectControl(this.control, labelCol, inputCol);
3663
+ }
3646
3664
  addEventListeners() {
3647
3665
  this.control.input.addEventListener("change", () => {
3648
3666
  this.instance.setValue(this.control.input.value, true, "user");
@@ -3681,6 +3699,9 @@ class EditorStringTextarea extends EditorString {
3681
3699
  adaptForTable() {
3682
3700
  this.theme.adaptForTableTextareaControl(this.control);
3683
3701
  }
3702
+ adaptForHorizontal(labelCol, inputCol) {
3703
+ this.theme.adaptForHorizontalTextareaControl(this.control, labelCol, inputCol);
3704
+ }
3684
3705
  addEventListeners() {
3685
3706
  const eventType = this.getValidationEventType();
3686
3707
  this.control.input.addEventListener(eventType, () => {
@@ -3715,6 +3736,9 @@ class EditorStringAwesomplete extends EditorString {
3715
3736
  console.error("Awesomplete is not available or not loaded correctly.", e);
3716
3737
  }
3717
3738
  }
3739
+ adaptForHorizontal(labelCol, inputCol) {
3740
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
3741
+ }
3718
3742
  addEventListeners() {
3719
3743
  this.control.input.addEventListener("awesomplete-selectcomplete", () => {
3720
3744
  this.instance.setValue(this.control.input.value, true, "user");
@@ -3757,6 +3781,9 @@ class EditorStringEmojiButton extends EditorString {
3757
3781
  }, emojiButtonOptions);
3758
3782
  this.emojiButton = new window.EmojiButton(options);
3759
3783
  }
3784
+ adaptForHorizontal(labelCol, inputCol) {
3785
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
3786
+ }
3760
3787
  addEventListeners() {
3761
3788
  this.emojiButton.on("emoji", (emoji) => {
3762
3789
  this.control.input.value = emoji;
@@ -3821,6 +3848,9 @@ class EditorStringInput extends EditorString {
3821
3848
  adaptForTable() {
3822
3849
  this.theme.adaptForTableInputControl(this.control);
3823
3850
  }
3851
+ adaptForHorizontal(labelCol, inputCol) {
3852
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
3853
+ }
3824
3854
  addEventListeners() {
3825
3855
  const eventType = this.getValidationEventType();
3826
3856
  this.control.input.addEventListener(eventType, () => {
@@ -3867,6 +3897,9 @@ class EditorNumberRadios extends EditorNumber {
3867
3897
  adaptForTable() {
3868
3898
  this.theme.adaptForTableRadiosControl(this.control);
3869
3899
  }
3900
+ adaptForHorizontal(labelCol, inputCol) {
3901
+ this.theme.adaptForHorizontalRadiosControl(this.control, labelCol, inputCol);
3902
+ }
3870
3903
  addEventListeners() {
3871
3904
  this.control.radios.forEach((radio) => {
3872
3905
  radio.addEventListener("change", () => {
@@ -3953,6 +3986,9 @@ class EditorNumberSelect extends EditorNumber {
3953
3986
  adaptForTable() {
3954
3987
  this.theme.adaptForTableSelectControl(this.control);
3955
3988
  }
3989
+ adaptForHorizontal(labelCol, inputCol) {
3990
+ this.theme.adaptForHorizontalSelectControl(this.control, labelCol, inputCol);
3991
+ }
3956
3992
  addEventListeners() {
3957
3993
  this.control.input.addEventListener("change", () => {
3958
3994
  const value = this.sanitize(this.control.input.value);
@@ -3998,6 +4034,9 @@ class EditorNumberInput extends EditorNumber {
3998
4034
  adaptForTable() {
3999
4035
  this.theme.adaptForTableInputControl(this.control);
4000
4036
  }
4037
+ adaptForHorizontal(labelCol, inputCol) {
4038
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
4039
+ }
4001
4040
  addEventListeners() {
4002
4041
  const eventType = this.getValidationEventType();
4003
4042
  this.control.input.addEventListener(eventType, () => {
@@ -4104,7 +4143,9 @@ class EditorObject extends Editor {
4104
4143
  }
4105
4144
  build() {
4106
4145
  this.propertyActivators = {};
4107
- this.control = this.theme.getObjectControl(this.getObjectControlConfig());
4146
+ const card = getSchemaXOption(this.instance.schema, "card") ?? this.instance.jedison.getOption("card");
4147
+ const config = this.getObjectControlConfig();
4148
+ this.control = card === false ? this.theme.getObjectControlFlat(config) : this.theme.getObjectControl(config);
4108
4149
  this.control.jsonData.input.value = JSON.stringify(this.instance.getValue(), null, 2);
4109
4150
  }
4110
4151
  announcePropertyAdded(propertyName, child) {
@@ -4126,6 +4167,9 @@ class EditorObject extends Editor {
4126
4167
  this.announcePropertyAdded(propertyName, child);
4127
4168
  postAction();
4128
4169
  }
4170
+ adaptForHorizontal(labelCol, inputCol) {
4171
+ this.theme.adaptForHorizontalObjectControl(this.control, labelCol, inputCol, this.getTitle());
4172
+ }
4129
4173
  addEventListeners() {
4130
4174
  this.control.quickAddPropertyBtn.addEventListener("click", () => {
4131
4175
  this.addProperty(this.control.quickAddPropertyControl.input, () => {
@@ -4575,6 +4619,25 @@ class EditorObjectAccordion extends EditorObject {
4575
4619
  });
4576
4620
  }
4577
4621
  }
4622
+ class EditorObjectHorizontal extends EditorObject {
4623
+ static resolves(schema) {
4624
+ return getSchemaType(schema) === "object" && getSchemaXOption(schema, "format") === "horizontal";
4625
+ }
4626
+ build() {
4627
+ super.build();
4628
+ this.theme.initHorizontalObject(this.control.container);
4629
+ }
4630
+ refreshEditors() {
4631
+ const labelColumns = getSchemaXOption(this.instance.schema, "labelColumns");
4632
+ const inputColumns = getSchemaXOption(this.instance.schema, "inputColumns");
4633
+ super.refreshEditors();
4634
+ this.instance.children.forEach((child) => {
4635
+ if (child.isActive) {
4636
+ child.ui.adaptForHorizontal(labelColumns, inputColumns);
4637
+ }
4638
+ });
4639
+ }
4640
+ }
4578
4641
  class EditorArray extends Editor {
4579
4642
  static resolves(schema) {
4580
4643
  return getSchemaType(schema) === "array";
@@ -4623,6 +4686,9 @@ class EditorArray extends Editor {
4623
4686
  doDeleteAll();
4624
4687
  }
4625
4688
  }
4689
+ adaptForHorizontal(labelCol, inputCol) {
4690
+ this.theme.adaptForHorizontalArrayControl(this.control, labelCol, inputCol, this.getTitle());
4691
+ }
4626
4692
  addEventListeners() {
4627
4693
  this.control.addBtn.addEventListener("click", () => {
4628
4694
  this.instance.addItem("user");
@@ -5278,6 +5344,9 @@ class EditorArrayChoices extends Editor {
5278
5344
  console.error("Choices is not available or not loaded correctly.", e);
5279
5345
  }
5280
5346
  }
5347
+ adaptForHorizontal(labelCol, inputCol) {
5348
+ this.theme.adaptForHorizontalSelectControl(this.control, labelCol, inputCol);
5349
+ }
5281
5350
  addEventListeners() {
5282
5351
  this.control.input.addEventListener("change", () => {
5283
5352
  const value = this.choicesInstance.getValue(true);
@@ -5500,6 +5569,9 @@ class EditorMultiple extends Editor {
5500
5569
  adaptForTable(td) {
5501
5570
  this.theme.adaptForTableMultipleControl(this.control, td);
5502
5571
  }
5572
+ adaptForHorizontal(labelCol, inputCol) {
5573
+ this.theme.adaptForHorizontalMultipleControl(this.control, labelCol, inputCol, this.getTitle());
5574
+ }
5503
5575
  addEventListeners() {
5504
5576
  if (this.switcherInput === "select") {
5505
5577
  this.control.switcher.input.addEventListener("change", () => {
@@ -5594,6 +5666,9 @@ class EditorNull extends Editor {
5594
5666
  info: this.getInfo()
5595
5667
  });
5596
5668
  }
5669
+ adaptForHorizontal(labelCol, inputCol) {
5670
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
5671
+ }
5597
5672
  sanitize() {
5598
5673
  return null;
5599
5674
  }
@@ -5620,6 +5695,9 @@ class EditorStringSimpleMDE extends EditorString {
5620
5695
  console.error("simpleMDE is not available or not loaded correctly.", e);
5621
5696
  }
5622
5697
  }
5698
+ adaptForHorizontal(labelCol, inputCol) {
5699
+ this.theme.adaptForHorizontalTextareaControl(this.control, labelCol, inputCol);
5700
+ }
5623
5701
  addEventListeners() {
5624
5702
  this.simplemde.codemirror.on("blur", () => {
5625
5703
  const mdeText = this.simplemde.value();
@@ -5674,6 +5752,9 @@ class EditorStringQuill extends EditorString {
5674
5752
  console.error("Quill is not available or not loaded correctly.", e);
5675
5753
  }
5676
5754
  }
5755
+ adaptForHorizontal(labelCol, inputCol) {
5756
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
5757
+ }
5677
5758
  addEventListeners() {
5678
5759
  this.quill.root.addEventListener("blur", () => {
5679
5760
  const quillText = this.quill.getText();
@@ -5736,6 +5817,9 @@ class EditorStringJodit extends EditorString {
5736
5817
  console.error("Jodit is not available or not loaded correctly.", e);
5737
5818
  }
5738
5819
  }
5820
+ adaptForHorizontal(labelCol, inputCol) {
5821
+ this.theme.adaptForHorizontalTextareaControl(this.control, labelCol, inputCol);
5822
+ }
5739
5823
  addEventListeners() {
5740
5824
  this.jodit.events.on("change", () => {
5741
5825
  const joditValue = this.jodit.value;
@@ -5804,6 +5888,9 @@ class EditorStringPickr extends EditorString {
5804
5888
  console.error("Pickr is not available or not loaded correctly.", e);
5805
5889
  }
5806
5890
  }
5891
+ adaptForHorizontal(labelCol, inputCol) {
5892
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
5893
+ }
5807
5894
  addEventListeners() {
5808
5895
  }
5809
5896
  refreshUI() {
@@ -5850,6 +5937,9 @@ class EditorStringFlatpickr extends EditorString {
5850
5937
  console.error("Flatpickr is not available or not loaded correctly.", e);
5851
5938
  }
5852
5939
  }
5940
+ adaptForHorizontal(labelCol, inputCol) {
5941
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
5942
+ }
5853
5943
  addEventListeners() {
5854
5944
  this.control.input.addEventListener("change", () => {
5855
5945
  this.instance.setValue(this.control.input.value, true, "user");
@@ -5892,6 +5982,9 @@ class EditorStringIMask extends EditorString {
5892
5982
  console.error("IMask is not available or not loaded or configured correctly.", e);
5893
5983
  }
5894
5984
  }
5985
+ adaptForHorizontal(labelCol, inputCol) {
5986
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
5987
+ }
5895
5988
  addEventListeners() {
5896
5989
  this.imask.on("accept", () => {
5897
5990
  const value = this.useMaskedValue ? this.imask.value : this.imask.unmaskedValue;
@@ -5939,6 +6032,9 @@ class EditorNumberIMask extends EditorNumber {
5939
6032
  console.error("IMask is not available or not loaded or configured correctly.", e);
5940
6033
  }
5941
6034
  }
6035
+ adaptForHorizontal(labelCol, inputCol) {
6036
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
6037
+ }
5942
6038
  addEventListeners() {
5943
6039
  this.imask.on("accept", () => {
5944
6040
  const value = this.imask.typedValue;
@@ -5985,6 +6081,9 @@ class EditorNumberRaty extends EditorNumber {
5985
6081
  this.theme.visuallyHidden(this.control.label);
5986
6082
  this.theme.visuallyHidden(this.control.description);
5987
6083
  }
6084
+ adaptForHorizontal(labelCol, inputCol) {
6085
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
6086
+ }
5988
6087
  refreshDisabledState() {
5989
6088
  if (this.disabled || this.readOnly) {
5990
6089
  this.raty.readOnly(true);
@@ -6014,6 +6113,9 @@ class EditorAnyJson extends Editor {
6014
6113
  this.jsonErrorEl.style.color = "red";
6015
6114
  this.control.container.appendChild(this.jsonErrorEl);
6016
6115
  }
6116
+ adaptForHorizontal(labelCol, inputCol) {
6117
+ this.theme.adaptForHorizontalTextareaControl(this.control, labelCol, inputCol);
6118
+ }
6017
6119
  addEventListeners() {
6018
6120
  this.control.input.addEventListener("change", () => {
6019
6121
  try {
@@ -6172,6 +6274,9 @@ class EditorArrayCheckboxes extends Editor {
6172
6274
  adaptForTable(td) {
6173
6275
  this.theme.adaptForTableCheckboxesControl(this.control, td);
6174
6276
  }
6277
+ adaptForHorizontal(labelCol, inputCol) {
6278
+ this.theme.adaptForHorizontalCheckboxesControl(this.control, labelCol, inputCol);
6279
+ }
6175
6280
  addEventListeners() {
6176
6281
  this.control.checkboxes.forEach((checkbox) => {
6177
6282
  checkbox.addEventListener("change", () => {
@@ -6272,6 +6377,9 @@ class EditorNumberRange extends EditorNumber {
6272
6377
  adaptForTable() {
6273
6378
  this.theme.adaptForTableInputControl(this.control);
6274
6379
  }
6380
+ adaptForHorizontal(labelCol, inputCol) {
6381
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
6382
+ }
6275
6383
  addEventListeners() {
6276
6384
  this.control.input.addEventListener("input", () => {
6277
6385
  this.control.output.textContent = parseFloat(this.control.input.value);
@@ -6346,6 +6454,9 @@ class EditorStringAce extends EditorString {
6346
6454
  console.error("Ace editor is not available or not loaded correctly.", e);
6347
6455
  }
6348
6456
  }
6457
+ adaptForHorizontal(labelCol, inputCol) {
6458
+ this.theme.adaptForHorizontalTextareaControl(this.control, labelCol, inputCol);
6459
+ }
6349
6460
  addEventListeners() {
6350
6461
  if (!this.aceEditor) return;
6351
6462
  this.aceEditor.on("blur", () => {
@@ -6426,6 +6537,9 @@ class EditorStringFilepond extends EditorString {
6426
6537
  console.error("FilePond is not available or not loaded correctly.", e);
6427
6538
  }
6428
6539
  }
6540
+ adaptForHorizontal(labelCol, inputCol) {
6541
+ this.theme.adaptForHorizontalInputControl(this.control, labelCol, inputCol);
6542
+ }
6429
6543
  addEventListeners() {
6430
6544
  }
6431
6545
  refreshUI() {
@@ -6476,6 +6590,7 @@ class UiResolver {
6476
6590
  EditorObjectCategories,
6477
6591
  EditorObjectNav,
6478
6592
  EditorObjectAccordion,
6593
+ EditorObjectHorizontal,
6479
6594
  EditorObject,
6480
6595
  EditorArrayChoices,
6481
6596
  EditorArrayCheckboxes,
@@ -8307,6 +8422,161 @@ class Theme {
8307
8422
  switcherSlot
8308
8423
  };
8309
8424
  }
8425
+ /**
8426
+ * Flat variant of getObjectControl — same interface but no fieldset/legend/collapse/panel-body.
8427
+ * Children render directly in a plain container div.
8428
+ */
8429
+ getObjectControlFlat(config) {
8430
+ var _a;
8431
+ const container = document.createElement("div");
8432
+ const actions = this.getActionsSlot();
8433
+ const body = document.createElement("div");
8434
+ const ariaLive = this.getPropertiesAriaLive();
8435
+ const messages = this.getMessagesSlot();
8436
+ const childrenSlot = this.getChildrenSlot();
8437
+ const propertiesActivators = this.getPropertiesActivators();
8438
+ const info = this.getInfo(config.info);
8439
+ const description = this.getDescription({ content: config.description });
8440
+ const jsonData = this.getJsonData({ id: "json-data-" + config.id });
8441
+ const propertiesContainer = this.getPropertiesSlot({ id: "properties-slot-" + config.id });
8442
+ const propertiesToggle = this.getPropertiesToggle({
8443
+ content: config.propertiesToggleContent,
8444
+ id: "properties-slot-toggle-" + config.id,
8445
+ icon: "properties",
8446
+ propertiesContainer
8447
+ });
8448
+ const quickAddPropertyContainer = this.getQuickAddPropertySlot({ id: "quick-add-property-slot-" + config.id });
8449
+ const quickAddPropertyControl = this.getInputControl({
8450
+ type: "text",
8451
+ id: "jedi-quick-add-property-input-" + config.id,
8452
+ title: config.addPropertyContent
8453
+ });
8454
+ const quickAddPropertyBtn = this.getAddPropertyButton({ content: config.addPropertyContent, icon: "add" });
8455
+ const quickAddPropertyToggle = this.getQuickAddPropertyToggle({
8456
+ content: config.addPropertyContent,
8457
+ icon: "add",
8458
+ propertiesContainer: quickAddPropertyContainer
8459
+ });
8460
+ const collapse = document.createElement("div");
8461
+ const collapseToggle = document.createElement("div");
8462
+ const infoContainer = document.createElement("div");
8463
+ const switcherSlot = document.createElement("div");
8464
+ switcherSlot.classList.add("jedi-switcher-slot");
8465
+ const legend = document.createElement("div");
8466
+ legend.classList.add("jedi-editor-legend");
8467
+ legend.style.display = "flex";
8468
+ legend.style.justifyContent = "space-between";
8469
+ legend.style.alignItems = "center";
8470
+ const left = document.createElement("div");
8471
+ left.classList.add("jedi-editor-legend-left");
8472
+ const right = document.createElement("div");
8473
+ right.classList.add("jedi-editor-legend-right");
8474
+ right.style.display = "flex";
8475
+ right.style.alignItems = "center";
8476
+ legend.appendChild(left);
8477
+ legend.appendChild(right);
8478
+ const legendText = document.createElement("label");
8479
+ legendText.classList.add("jedi-title", "jedi-legend");
8480
+ legendText.textContent = config.title || "";
8481
+ if (config.titleHidden) {
8482
+ this.visuallyHidden(legendText);
8483
+ }
8484
+ left.appendChild(legendText);
8485
+ if (((_a = config == null ? void 0 : config.info) == null ? void 0 : _a.variant) === "modal") {
8486
+ this.infoAsModal(info, config.id, config.info);
8487
+ }
8488
+ if (config.editJsonData) {
8489
+ container.appendChild(jsonData.dialog);
8490
+ }
8491
+ const innerWrapper = document.createElement("div");
8492
+ innerWrapper.appendChild(legend);
8493
+ innerWrapper.appendChild(propertiesContainer);
8494
+ innerWrapper.appendChild(quickAddPropertyContainer);
8495
+ container.appendChild(innerWrapper);
8496
+ if (config.addProperty) {
8497
+ quickAddPropertyContainer.appendChild(quickAddPropertyControl.container);
8498
+ quickAddPropertyContainer.appendChild(quickAddPropertyBtn);
8499
+ }
8500
+ if (config.description) {
8501
+ body.appendChild(description);
8502
+ }
8503
+ body.appendChild(messages);
8504
+ if (config.readOnly === false) {
8505
+ right.appendChild(switcherSlot);
8506
+ right.appendChild(actions);
8507
+ }
8508
+ body.appendChild(childrenSlot);
8509
+ innerWrapper.appendChild(body);
8510
+ if (config.editJsonData) {
8511
+ actions.appendChild(jsonData.toggle);
8512
+ }
8513
+ if (config.addProperty) {
8514
+ actions.appendChild(quickAddPropertyToggle);
8515
+ }
8516
+ if (config.enablePropertiesToggle) {
8517
+ actions.appendChild(propertiesToggle);
8518
+ propertiesContainer.appendChild(ariaLive);
8519
+ propertiesContainer.appendChild(propertiesActivators);
8520
+ }
8521
+ if (config.enableCollapseToggle) {
8522
+ actions.appendChild(collapseToggle);
8523
+ }
8524
+ return {
8525
+ container,
8526
+ collapse,
8527
+ collapseToggle,
8528
+ description,
8529
+ body,
8530
+ actions,
8531
+ messages,
8532
+ childrenSlot,
8533
+ propertiesToggle,
8534
+ jsonData,
8535
+ propertiesContainer,
8536
+ quickAddPropertyContainer,
8537
+ quickAddPropertyControl,
8538
+ quickAddPropertyBtn,
8539
+ quickAddPropertyToggle,
8540
+ ariaLive,
8541
+ propertiesActivators,
8542
+ legend,
8543
+ legendText,
8544
+ infoContainer,
8545
+ right,
8546
+ switcherSlot,
8547
+ innerWrapper
8548
+ };
8549
+ }
8550
+ // eslint-disable-next-line no-unused-vars
8551
+ initHorizontalObject(container) {
8552
+ }
8553
+ // eslint-disable-next-line no-unused-vars
8554
+ adaptForHorizontalInputControl(control, labelCol, inputCol) {
8555
+ }
8556
+ // eslint-disable-next-line no-unused-vars
8557
+ adaptForHorizontalTextareaControl(control, labelCol, inputCol) {
8558
+ }
8559
+ // eslint-disable-next-line no-unused-vars
8560
+ adaptForHorizontalSelectControl(control, labelCol, inputCol) {
8561
+ }
8562
+ // eslint-disable-next-line no-unused-vars
8563
+ adaptForHorizontalCheckboxControl(control, labelCol, inputCol) {
8564
+ }
8565
+ // eslint-disable-next-line no-unused-vars
8566
+ adaptForHorizontalRadiosControl(control, labelCol, inputCol) {
8567
+ }
8568
+ // eslint-disable-next-line no-unused-vars
8569
+ adaptForHorizontalCheckboxesControl(control, labelCol, inputCol) {
8570
+ }
8571
+ // eslint-disable-next-line no-unused-vars
8572
+ adaptForHorizontalArrayControl(control, labelCol, inputCol, title) {
8573
+ }
8574
+ // eslint-disable-next-line no-unused-vars
8575
+ adaptForHorizontalObjectControl(control, labelCol, inputCol, title) {
8576
+ }
8577
+ // eslint-disable-next-line no-unused-vars
8578
+ adaptForHorizontalMultipleControl(control, labelCol, inputCol, title) {
8579
+ }
8310
8580
  /**
8311
8581
  * Returns an accordion item wrapping a child editor.
8312
8582
  * Used by EditorObjectAccordionProperties to wrap each property.
@@ -9302,6 +9572,81 @@ class ThemeBootstrap3 extends Theme {
9302
9572
  }
9303
9573
  return control;
9304
9574
  }
9575
+ initHorizontalObject(container) {
9576
+ container.classList.add("form-horizontal");
9577
+ }
9578
+ _adaptHorizontalControl(control, labelCol, inputCol) {
9579
+ if (!control.label || control.label.classList.contains("control-label")) return;
9580
+ const lc = labelCol ?? 3;
9581
+ const ic = inputCol ?? 6;
9582
+ control.container.classList.add("form-group");
9583
+ control.label.classList.add("control-label", `col-sm-${lc}`);
9584
+ const wrapper = document.createElement("div");
9585
+ wrapper.classList.add(`col-sm-${ic}`);
9586
+ Array.from(control.container.children).filter((el) => el !== control.label).forEach((el) => wrapper.appendChild(el));
9587
+ control.container.appendChild(wrapper);
9588
+ }
9589
+ adaptForHorizontalInputControl(control, labelCol, inputCol) {
9590
+ this._adaptHorizontalControl(control, labelCol, inputCol);
9591
+ }
9592
+ adaptForHorizontalTextareaControl(control, labelCol, inputCol) {
9593
+ this._adaptHorizontalControl(control, labelCol, inputCol);
9594
+ }
9595
+ adaptForHorizontalSelectControl(control, labelCol, inputCol) {
9596
+ this._adaptHorizontalControl(control, labelCol, inputCol);
9597
+ }
9598
+ adaptForHorizontalCheckboxControl(control, labelCol, inputCol) {
9599
+ if (control.formGroup.parentElement !== control.container) return;
9600
+ const lc = labelCol ?? 3;
9601
+ const ic = inputCol ?? 6;
9602
+ control.container.classList.add("form-group");
9603
+ const wrapper = document.createElement("div");
9604
+ wrapper.classList.add(`col-sm-${ic}`, `col-sm-offset-${lc}`);
9605
+ Array.from(control.container.children).forEach((el) => wrapper.appendChild(el));
9606
+ control.container.appendChild(wrapper);
9607
+ }
9608
+ adaptForHorizontalRadiosControl(control, labelCol, inputCol) {
9609
+ if (control.legend.parentElement !== control.fieldset) return;
9610
+ const lc = labelCol ?? 3;
9611
+ const ic = inputCol ?? 6;
9612
+ control.container.classList.add("form-group");
9613
+ control.legend.classList.add("control-label", `col-sm-${lc}`);
9614
+ control.container.insertBefore(control.legend, control.fieldset);
9615
+ const wrapper = document.createElement("div");
9616
+ wrapper.classList.add(`col-sm-${ic}`);
9617
+ control.fieldset.replaceWith(wrapper);
9618
+ wrapper.appendChild(control.fieldset);
9619
+ control.fieldset.classList.remove("panel", "panel-default");
9620
+ }
9621
+ adaptForHorizontalCheckboxesControl(control, labelCol, inputCol) {
9622
+ this.adaptForHorizontalRadiosControl(control, labelCol, inputCol);
9623
+ }
9624
+ _adaptHorizontalComplexControl(control, labelCol, inputCol, title) {
9625
+ if (control.container.classList.contains("jedi-horizontal")) return;
9626
+ const lc = labelCol ?? 3;
9627
+ const ic = inputCol ?? 6;
9628
+ const fakeLabel = document.createElement("label");
9629
+ fakeLabel.classList.add("control-label", `col-sm-${lc}`);
9630
+ fakeLabel.textContent = title || "";
9631
+ const wrapper = document.createElement("div");
9632
+ wrapper.classList.add(`col-sm-${ic}`);
9633
+ Array.from(control.container.children).forEach((el) => wrapper.appendChild(el));
9634
+ control.container.classList.add("form-group", "jedi-horizontal");
9635
+ control.container.appendChild(fakeLabel);
9636
+ control.container.appendChild(wrapper);
9637
+ if (control.legendText) {
9638
+ control.legendText.style.display = "none";
9639
+ }
9640
+ }
9641
+ adaptForHorizontalArrayControl(control, labelCol, inputCol, title) {
9642
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
9643
+ }
9644
+ adaptForHorizontalObjectControl(control, labelCol, inputCol, title) {
9645
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
9646
+ }
9647
+ adaptForHorizontalMultipleControl(control, labelCol, inputCol, title) {
9648
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
9649
+ }
9305
9650
  getAccordionItem(config) {
9306
9651
  const collapseId = config.id + "-acc-collapse";
9307
9652
  const container = document.createElement("div");
@@ -9754,6 +10099,77 @@ class ThemeBootstrap4 extends Theme {
9754
10099
  }
9755
10100
  return control;
9756
10101
  }
10102
+ _adaptHorizontalControl(control, labelCol, inputCol) {
10103
+ if (!control.label || control.label.classList.contains("col-form-label")) return;
10104
+ const lc = labelCol ?? 3;
10105
+ const ic = inputCol ?? 6;
10106
+ control.container.classList.add("row");
10107
+ control.label.classList.add("col-form-label", "text-sm-right", `col-sm-${lc}`);
10108
+ const wrapper = document.createElement("div");
10109
+ wrapper.classList.add(`col-sm-${ic}`);
10110
+ Array.from(control.container.children).filter((el) => el !== control.label).forEach((el) => wrapper.appendChild(el));
10111
+ control.container.appendChild(wrapper);
10112
+ }
10113
+ adaptForHorizontalInputControl(control, labelCol, inputCol) {
10114
+ this._adaptHorizontalControl(control, labelCol, inputCol);
10115
+ }
10116
+ adaptForHorizontalTextareaControl(control, labelCol, inputCol) {
10117
+ this._adaptHorizontalControl(control, labelCol, inputCol);
10118
+ }
10119
+ adaptForHorizontalSelectControl(control, labelCol, inputCol) {
10120
+ this._adaptHorizontalControl(control, labelCol, inputCol);
10121
+ }
10122
+ adaptForHorizontalCheckboxControl(control, labelCol, inputCol) {
10123
+ if (control.formGroup.parentElement !== control.container) return;
10124
+ const lc = labelCol ?? 3;
10125
+ const ic = inputCol ?? 6;
10126
+ control.container.classList.add("row");
10127
+ const wrapper = document.createElement("div");
10128
+ wrapper.classList.add(`col-sm-${ic}`, `offset-sm-${lc}`);
10129
+ Array.from(control.container.children).forEach((el) => wrapper.appendChild(el));
10130
+ control.container.appendChild(wrapper);
10131
+ }
10132
+ adaptForHorizontalRadiosControl(control, labelCol, inputCol) {
10133
+ if (control.legend.parentElement !== control.fieldset) return;
10134
+ const lc = labelCol ?? 3;
10135
+ const ic = inputCol ?? 6;
10136
+ control.container.classList.add("row");
10137
+ control.legend.classList.add("col-form-label", "text-sm-right", `col-sm-${lc}`);
10138
+ control.container.insertBefore(control.legend, control.fieldset);
10139
+ const wrapper = document.createElement("div");
10140
+ wrapper.classList.add(`col-sm-${ic}`);
10141
+ control.fieldset.replaceWith(wrapper);
10142
+ wrapper.appendChild(control.fieldset);
10143
+ }
10144
+ adaptForHorizontalCheckboxesControl(control, labelCol, inputCol) {
10145
+ this.adaptForHorizontalRadiosControl(control, labelCol, inputCol);
10146
+ }
10147
+ _adaptHorizontalComplexControl(control, labelCol, inputCol, title) {
10148
+ if (control.container.classList.contains("jedi-horizontal")) return;
10149
+ const lc = labelCol ?? 3;
10150
+ const ic = inputCol ?? 6;
10151
+ const fakeLabel = document.createElement("label");
10152
+ fakeLabel.classList.add("col-form-label", "text-sm-right", `col-sm-${lc}`);
10153
+ fakeLabel.textContent = title || "";
10154
+ const wrapper = document.createElement("div");
10155
+ wrapper.classList.add(`col-sm-${ic}`);
10156
+ Array.from(control.container.children).forEach((el) => wrapper.appendChild(el));
10157
+ control.container.classList.add("row", "jedi-horizontal");
10158
+ control.container.appendChild(fakeLabel);
10159
+ control.container.appendChild(wrapper);
10160
+ if (control.legendText) {
10161
+ control.legendText.style.display = "none";
10162
+ }
10163
+ }
10164
+ adaptForHorizontalArrayControl(control, labelCol, inputCol, title) {
10165
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
10166
+ }
10167
+ adaptForHorizontalObjectControl(control, labelCol, inputCol, title) {
10168
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
10169
+ }
10170
+ adaptForHorizontalMultipleControl(control, labelCol, inputCol, title) {
10171
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
10172
+ }
9757
10173
  getAccordionItem(config) {
9758
10174
  const collapseId = config.id + "-acc-collapse";
9759
10175
  const container = document.createElement("div");
@@ -10222,6 +10638,77 @@ class ThemeBootstrap5 extends Theme {
10222
10638
  }
10223
10639
  return control;
10224
10640
  }
10641
+ _adaptHorizontalControl(control, labelCol, inputCol) {
10642
+ if (!control.label || control.label.classList.contains("col-form-label")) return;
10643
+ const lc = labelCol ?? 3;
10644
+ const ic = inputCol ?? 6;
10645
+ control.container.classList.add("row");
10646
+ control.label.classList.add("col-form-label", "text-sm-end", `col-sm-${lc}`);
10647
+ const wrapper = document.createElement("div");
10648
+ wrapper.classList.add(`col-sm-${ic}`);
10649
+ Array.from(control.container.children).filter((el) => el !== control.label).forEach((el) => wrapper.appendChild(el));
10650
+ control.container.appendChild(wrapper);
10651
+ }
10652
+ adaptForHorizontalInputControl(control, labelCol, inputCol) {
10653
+ this._adaptHorizontalControl(control, labelCol, inputCol);
10654
+ }
10655
+ adaptForHorizontalTextareaControl(control, labelCol, inputCol) {
10656
+ this._adaptHorizontalControl(control, labelCol, inputCol);
10657
+ }
10658
+ adaptForHorizontalSelectControl(control, labelCol, inputCol) {
10659
+ this._adaptHorizontalControl(control, labelCol, inputCol);
10660
+ }
10661
+ adaptForHorizontalCheckboxControl(control, labelCol, inputCol) {
10662
+ if (control.formGroup.parentElement !== control.container) return;
10663
+ const lc = labelCol ?? 3;
10664
+ const ic = inputCol ?? 6;
10665
+ control.container.classList.add("row");
10666
+ const wrapper = document.createElement("div");
10667
+ wrapper.classList.add(`col-sm-${ic}`, `offset-sm-${lc}`);
10668
+ Array.from(control.container.children).forEach((el) => wrapper.appendChild(el));
10669
+ control.container.appendChild(wrapper);
10670
+ }
10671
+ adaptForHorizontalRadiosControl(control, labelCol, inputCol) {
10672
+ if (control.legend.parentElement !== control.fieldset) return;
10673
+ const lc = labelCol ?? 3;
10674
+ const ic = inputCol ?? 6;
10675
+ control.container.classList.add("row");
10676
+ control.legend.classList.add("col-form-label", "text-sm-end", `col-sm-${lc}`);
10677
+ control.container.insertBefore(control.legend, control.fieldset);
10678
+ const wrapper = document.createElement("div");
10679
+ wrapper.classList.add(`col-sm-${ic}`);
10680
+ control.fieldset.replaceWith(wrapper);
10681
+ wrapper.appendChild(control.fieldset);
10682
+ }
10683
+ adaptForHorizontalCheckboxesControl(control, labelCol, inputCol) {
10684
+ this.adaptForHorizontalRadiosControl(control, labelCol, inputCol);
10685
+ }
10686
+ _adaptHorizontalComplexControl(control, labelCol, inputCol, title) {
10687
+ if (control.container.classList.contains("jedi-horizontal")) return;
10688
+ const lc = labelCol ?? 3;
10689
+ const ic = inputCol ?? 6;
10690
+ const fakeLabel = document.createElement("label");
10691
+ fakeLabel.classList.add("col-form-label", "text-sm-end", `col-sm-${lc}`);
10692
+ fakeLabel.textContent = title || "";
10693
+ const wrapper = document.createElement("div");
10694
+ wrapper.classList.add(`col-sm-${ic}`);
10695
+ Array.from(control.container.children).forEach((el) => wrapper.appendChild(el));
10696
+ control.container.classList.add("row", "jedi-horizontal");
10697
+ control.container.appendChild(fakeLabel);
10698
+ control.container.appendChild(wrapper);
10699
+ if (control.legendText) {
10700
+ control.legendText.style.display = "none";
10701
+ }
10702
+ }
10703
+ adaptForHorizontalArrayControl(control, labelCol, inputCol, title) {
10704
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
10705
+ }
10706
+ adaptForHorizontalObjectControl(control, labelCol, inputCol, title) {
10707
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
10708
+ }
10709
+ adaptForHorizontalMultipleControl(control, labelCol, inputCol, title) {
10710
+ this._adaptHorizontalComplexControl(control, labelCol, inputCol, title);
10711
+ }
10225
10712
  getAccordionItem(config) {
10226
10713
  const collapseId = config.id + "-acc-collapse";
10227
10714
  const container = document.createElement("div");
@@ -10671,6 +11158,7 @@ const index = {
10671
11158
  EditorObjectCategories,
10672
11159
  EditorObjectNav,
10673
11160
  EditorObjectAccordion,
11161
+ EditorObjectHorizontal,
10674
11162
  EditorObject,
10675
11163
  EditorArrayChoices,
10676
11164
  EditorArrayNav,