@innovastudio/contentbox 1.5.11 → 1.5.13

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.
@@ -4052,9 +4052,6 @@ class EditSection {
4052
4052
  <button title="${out('Tablet (Portrait)')}" class="input-breakpoint on" data-value="sm" style="width:40px;height:25px;">
4053
4053
  <svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-device-tablet"></use></svg>
4054
4054
  </button>
4055
-
4056
- <label for="chkReverseBoxes" style="margin:0;margin-left:70px;display:flex"><input id="chkReverseBoxes" type="checkbox" style="margin:0 7px 0 0"/><span>${out('Reverse Boxes')}</span></label>
4057
-
4058
4055
  </div>
4059
4056
  </div>
4060
4057
 
@@ -4090,6 +4087,10 @@ class EditSection {
4090
4087
  <span>${out('Hidden')}</span>
4091
4088
  </button>
4092
4089
  </div>
4090
+
4091
+ <div id="divReverseBoxes" style="display:none">
4092
+ <label for="chkReverseBoxes" style="margin:20px 0 0 0;display:flex"><input id="chkReverseBoxes" type="checkbox" style="margin:0 7px 0 0"/><span>${out('Reverse Boxes')}</span></label>
4093
+ </div>
4093
4094
  ` + '</div>' + '<div id="divSectionAnimation" class="is-tab-content" data-group="sectionsettings" style="display:none;padding-top:0">' + '<div style="display:flex;flex-direction:column;">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Start') + ':</div>' + '<div style="display:flex;flex-flow:wrap;">' + '<button title="' + out('Slide Left') + '" class="cmd-section-anim-start" data-value="slide-left">' + out('Slide Left') + '</button>' + '<button title="' + out('Slide Right') + '" class="cmd-section-anim-start" data-value="slide-right">' + out('Slide Right') + '</button>' + '<button title="' + out('Zoom In') + '" class="cmd-section-anim-start" data-value="zoom-in">' + out('Zoom In') + '</button>' + // '<button title="' + out('Zoom Out') + '" class="cmd-section-anim-start" data-value="zoom-out">' + out('Zoom Out') + '</button>' +
4094
4095
  '<button title="' + out('Clear') + '" class="cmd-section-anim-start" data-value=""><svg class="is-icon-flex"><use xlink:href="#icon-clean"></use></svg></button>' + '</div>' + '</div>';
4095
4096
  html += '<div style="display:flex;flex-direction:column;">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('End') + ':</div>' + '<div style="display:flex;flex-flow:wrap;">' + '<button title="' + out('Slide Left') + '" class="cmd-section-anim-end" data-value="slide-left">' + out('Slide Left') + '</button>' + '<button title="' + out('Slide Right') + '" class="cmd-section-anim-end" data-value="slide-right">' + out('Slide Right') + '</button>' + // '<button title="' + out('Slide Back') + '" class="cmd-section-anim-end" data-value="slide-back">' + out('Slide Back') + '</button>' +
@@ -4496,17 +4497,54 @@ class EditSection {
4496
4497
 
4497
4498
  this.builder.onChange();
4498
4499
  });
4499
- });
4500
+ }); // const chkReverseBoxes = modalEditSection.querySelector('#chkReverseBoxes');
4501
+ // chkReverseBoxes.addEventListener('click', ()=>{
4502
+ // let section = this.builder.activeSection;
4503
+ // if(!section) return;
4504
+ // this.builder.editor.saveForUndo();
4505
+ // if(chkReverseBoxes.checked) {
4506
+ // section.classList.add('box-reverse');
4507
+ // } else {
4508
+ // section.classList.remove('box-reverse');
4509
+ // }
4510
+ // //Trigger Change event
4511
+ // this.builder.settings.onChange();
4512
+ // });
4513
+
4500
4514
  const chkReverseBoxes = modalEditSection.querySelector('#chkReverseBoxes');
4501
4515
  chkReverseBoxes.addEventListener('click', () => {
4502
4516
  let section = this.builder.activeSection;
4503
4517
  if (!section) return;
4504
4518
  this.builder.editor.saveForUndo();
4519
+ section.classList.remove('box-reverse'); // clear old
4505
4520
 
4506
- if (chkReverseBoxes.checked) {
4507
- section.classList.add('box-reverse');
4508
- } else {
4509
- section.classList.remove('box-reverse');
4521
+ let divTarget = modalEditSection.querySelector('.div-target');
4522
+ let target = this.builder.editor.responsive.readTarget(divTarget);
4523
+
4524
+ if (target === 'xs') {
4525
+ if (chkReverseBoxes.checked) {
4526
+ section.classList.add('xs-box-reverse');
4527
+ } else {
4528
+ section.classList.remove('xs-box-reverse');
4529
+ }
4530
+ } else if (target === 'sm') {
4531
+ if (chkReverseBoxes.checked) {
4532
+ section.classList.add('sm-box-reverse');
4533
+ } else {
4534
+ section.classList.remove('sm-box-reverse');
4535
+ }
4536
+ } else if (target === 'md') {
4537
+ if (chkReverseBoxes.checked) {
4538
+ section.classList.add('md-box-reverse');
4539
+ } else {
4540
+ section.classList.remove('md-box-reverse');
4541
+ }
4542
+ } else if (target === '') {
4543
+ if (chkReverseBoxes.checked) {
4544
+ section.classList.add('desktop-box-reverse');
4545
+ } else {
4546
+ section.classList.remove('desktop-box-reverse');
4547
+ }
4510
4548
  } //Trigger Change event
4511
4549
 
4512
4550
 
@@ -4577,12 +4615,27 @@ class EditSection {
4577
4615
  } // Section Visibility
4578
4616
 
4579
4617
 
4580
- realtimeVisibility(cell) {
4618
+ realtimeVisibility(section) {
4581
4619
  let divTarget = this.modalEditSection.querySelector('.div-target');
4582
4620
  let divVisibility = this.modalEditSection.querySelector('.div-visibility');
4583
4621
  let target = this.builder.editor.responsive.readTarget(divTarget);
4584
- let valVisibility = this.builder.editor.responsive.getVisibility(cell, target);
4585
- this.builder.editor.responsive.showVisibility(divVisibility, valVisibility);
4622
+ let valVisibility = this.builder.editor.responsive.getVisibility(section, target);
4623
+ this.builder.editor.responsive.showVisibility(divVisibility, valVisibility); // Column reverse
4624
+
4625
+ let valReverse = false;
4626
+
4627
+ if (target === 'xs') {
4628
+ valReverse = section.classList.contains('xs-box-reverse');
4629
+ } else if (target === 'sm') {
4630
+ valReverse = section.classList.contains('sm-box-reverse');
4631
+ } else if (target === 'md') {
4632
+ valReverse = section.classList.contains('md-box-reverse');
4633
+ } else {
4634
+ valReverse = section.classList.contains('desktop-box-reverse');
4635
+ }
4636
+
4637
+ const chkReverseBoxes = this.modalEditSection.querySelector('#chkReverseBoxes');
4638
+ chkReverseBoxes.checked = valReverse;
4586
4639
  }
4587
4640
 
4588
4641
  read() {
@@ -4800,12 +4853,12 @@ class EditSection {
4800
4853
  dom$m.addClass(modalEditSection.querySelector('.input-breakpoint[data-value="sm"]'), 'on');
4801
4854
  }
4802
4855
 
4803
- const chkReverseBoxes = modalEditSection.querySelector('#chkReverseBoxes');
4856
+ const divReverseBoxes = modalEditSection.querySelector('#divReverseBoxes');
4804
4857
 
4805
- if (activeSection.classList.contains('box-reverse')) {
4806
- chkReverseBoxes.checked = true;
4858
+ if (activeSection.querySelectorAll('.is-box').length > 1) {
4859
+ divReverseBoxes.style.display = 'flex';
4807
4860
  } else {
4808
- chkReverseBoxes.checked = false;
4861
+ divReverseBoxes.style.display = 'none';
4809
4862
  }
4810
4863
  }
4811
4864
 
@@ -10786,9 +10839,9 @@ class EditBox {
10786
10839
  html += (this.builder.settings.enableContentStyle ? '<div style="padding-top:10px;display:flex;flex-direction: column;">' + // '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Typography') + ':</div>' +
10787
10840
  '<div style="display:flex">' + '<button title="' + out('Typography Style') + '" class="cmd-box-typography" data-value="+"> ' + out('Typography Style') + ' </button>' + '<br style="clear:both">' + '</div>' + '</div>' : '') + '</div>' + '<div id="divBoxContentContainer" class="is-tab-content" data-group="boxsettings" style="padding-top:0">' + '<div style="padding-top:10px;">' + '<label for="chkParallaxContent" style="margin:0;"><input id="chkParallaxContent" type="checkbox" /> ' + out('Parallax') + '</label>' + '</div>' + '<div style="padding-top:10px;">' + '<label for="chkFadeContent" style="margin:0;"><input id="chkFadeContent" type="checkbox" /> ' + out('Fade') + '</label>' + '</div>';
10788
10841
  html += '<div style="display:flex;flex-direction: row;">' + '<div style="display:flex;flex-direction: column;margin-right:20px;">' + '<div style="padding-top:13px;padding-bottom: 3px;">' + out('Position') + ':</div>' + '<div style="display:flex">' + '<button title="' + out('Top Left') + '" class="cmd-box-content-pos" data-value="topleft" style="width:40px;">&#8598;</button>' + '<button title="' + out('Top Center') + '" class="cmd-box-content-pos" data-value="topcenter" style="width:40px;border-left:none;">&#8593;</button>' + '<button title="' + out('Top Right') + '" class="cmd-box-content-pos" data-value="topright" style="width:40px;border-left:none;">&#8599;</button>' + '</div>' + '<div style="display:flex">' + '<button title="' + out('Middle Left') + '" class="cmd-box-content-pos" data-value="middleleft" style="width:40px;border-top:none;">&#8592;</button>' + '<button title="' + out('Middle Center') + '" class="cmd-box-content-pos" data-value="middlecenter" style="width:40px;border-left:none;border-top:none;">&#9737;</button>' + '<button title="' + out('Middle Right') + '" class="cmd-box-content-pos" data-value="middleright" style="width:40px;border-left:none;border-top:none;">&#8594;</button>' + '</div>' + '<div style="display:flex">' + '<button title="' + out('Bottom Left') + '" class="cmd-box-content-pos" data-value="bottomleft" style="width:40px;border-top:none;">&#8601;</button>' + '<button title="' + out('Bottom Center') + '" class="cmd-box-content-pos" data-value="bottomcenter" style="width:40px;border-left:none;border-top:none;">&#8595;</button>' + '<button title="' + out('Bottom Right') + '" class="cmd-box-content-pos" data-value="bottomright" style="width:40px;border-left:none;border-top:none;">&#8600;</button>' + '</div>' + '</div>' + '<div style="display:flex;flex-direction: column;">' + '<div style="padding-top:20px;padding-bottom: 1px;">' + out('Height') + ':</div>' + '<div style="display: flex;flex-direction: row;flex-wrap: wrap;">' + '<button title="' + out('Auto') + '" class="cmd-content-height" data-value="" style="width:60px">Auto</button>' + '<button title="' + out('Full') + '" class="cmd-content-height" data-value="100" style="width:40px">Full</button>' + '</div>' + '<div class="div-content-justify">' + '<div style="padding-top:10px;padding-bottom: 1px;">' + out('Justify') + ':</div>' + '<div style="display: flex;flex-direction: row;flex-wrap: wrap;">' + '<button title="' + out('Top') + '" class="cmd-content-justify" data-value="flex-start" style="width:40px"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-arrow-bar-to-up"></use></svg></button>' + '<button title="' + out('Bottom') + '" class="cmd-content-justify" data-value="flex-end" style="width:40px"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-arrow-bar-to-down"></use></svg></button>' + '<button title="' + out('Space Between') + '" class="cmd-content-justify" data-value="space-between" style="width:40px"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-space-between"></use></svg></button>' + '</div>' + '</div>' + '</div>' + '</div>';
10789
- html += '<div style="display:flex;flex-direction: row;">' + '<div style="display:flex;flex-direction: column;margin-right:25px">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Vertical Adjustment') + ':</div>' + '<div style="display:flex">' + '<button title="' + out('Decrease') + '" class="cmd-box-content-edge-y" data-value="-" style="width:40px;">-</button>' + '<button title="' + out('Increase') + '" class="cmd-box-content-edge-y" data-value="+" style="width:40px;border-left:none;">+</button>' + '<button title="' + out('Not Set') + '" class="cmd-box-content-edge-y" data-value="" style="display:none;width:40px;border-left:none;min-width:100px;">' + out('Not Set') + '</button>' + '</div>' + '</div>' + '<div style="display:flex;flex-direction: column;">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Horizontal Adjustment') + ':</div>' + '<div style="display:flex">' + '<button title="' + out('Decrease') + '" class="cmd-box-content-edge-x" data-value="-" style="width:40px;">-</button>' + '<button title="' + out('Increase') + '" class="cmd-box-content-edge-x" data-value="+" style="width:40px;border-left:none;">+</button>' + '<button title="' + out('Not Set') + '" class="cmd-box-content-edge-x" data-value="" style="display:none;width:40px;border-left:none;min-width:100px;">' + out('Not Set') + '</button>' + '</div>' + '</div>' + '</div>' + '<div style="display:flex;flex-direction: column;">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Content Spacing') + ':</div>' + '<div style="display:flex">' + '<button title="0" class="cmd-box-content-spacing on" data-value="0" style="width:40px;">0</button>' + // '<button title="10" class="cmd-box-content-spacing" data-value="10" style="width:40px;border-left:none;">10</button>' +
10790
- // '<button title="20" class="cmd-box-content-spacing" data-value="20" style="width:40px;border-left:none;">20</button>' +
10791
- '<button title="30" class="cmd-box-content-spacing" data-value="30" style="width:40px;border-left:none;">30</button>' + '<button title="40" class="cmd-box-content-spacing" data-value="40" style="width:40px;border-left:none;">40</button>' + '<button title="50" class="cmd-box-content-spacing" data-value="50" style="width:40px;border-left:none;">50</button>' + '<button title="60" class="cmd-box-content-spacing" data-value="60" style="width:40px;border-left:none;">60</button>' + '<button title="80" class="cmd-box-content-spacing" data-value="80" style="width:40px;border-left:none;">80</button>' + '<button title="' + out('Not Set') + '" class="cmd-box-content-spacing" data-value="">' + out('Not Set') + '</button>' + '</div>' + '</div>' + '</div>';
10842
+ html += '<div style="display:flex;flex-direction: row;">' + '<div style="display:flex;flex-direction: column;margin-right:25px">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Vertical Adjustment') + ':</div>' + '<div style="display:flex">' + '<button title="' + out('Decrease') + '" class="cmd-box-content-edge-y" data-value="-" style="width:40px;">-</button>' + '<button title="' + out('Increase') + '" class="cmd-box-content-edge-y" data-value="+" style="width:40px;border-left:none;">+</button>' + '<button title="' + out('Not Set') + '" class="cmd-box-content-edge-y" data-value="" style="display:none;width:40px;border-left:none;min-width:100px;">' + out('Not Set') + '</button>' + '</div>' + '</div>' + '<div style="display:flex;flex-direction: column;">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Horizontal Adjustment') + ':</div>' + '<div style="display:flex">' + '<button title="' + out('Decrease') + '" class="cmd-box-content-edge-x" data-value="-" style="width:40px;">-</button>' + '<button title="' + out('Increase') + '" class="cmd-box-content-edge-x" data-value="+" style="width:40px;border-left:none;">+</button>' + '<button title="' + out('Not Set') + '" class="cmd-box-content-edge-x" data-value="" style="display:none;width:40px;border-left:none;min-width:100px;">' + out('Not Set') + '</button>' + '</div>' + '</div>' + '</div>' + '<div style="display:none;flex-direction: column;">' + '<div style="padding-top:20px;padding-bottom: 3px;">' + out('Content Spacing') + ':</div>' + '<div style="display:flex">' + '<button title="0" class="cmd-box-content-spacing on" data-value="0" style="width:40px;">0</button>' + '<button title="10" class="cmd-box-content-spacing" data-value="10" style="width:40px;border-left:none;">10</button>' + '<button title="20" class="cmd-box-content-spacing" data-value="20" style="width:40px;border-left:none;">20</button>' + '<button title="30" class="cmd-box-content-spacing" data-value="30" style="width:40px;border-left:none;">30</button>' + '<button title="40" class="cmd-box-content-spacing" data-value="40" style="width:40px;border-left:none;">40</button>' + '<button title="50" class="cmd-box-content-spacing" data-value="50" style="width:40px;border-left:none;">50</button>' + '<button title="60" class="cmd-box-content-spacing" data-value="60" style="width:40px;border-left:none;">60</button>' + '<button title="80" class="cmd-box-content-spacing" data-value="80" style="width:40px;border-left:none;">80</button>' + '<button title="' + out('Not Set') + '" class="cmd-box-content-spacing" data-value="">' + out('Not Set') + '</button>' + '</div>' + '</div>' + '<div style="padding-top:20px;padding-bottom:0;">' + out('Content Spacing') + ':</div>' + '<div style="display:flex;flex-direction: column;">' + '<div style="padding-top:10px;padding-bottom: 3px;">' + out('Top') + ':</div>' + '<div style="display:flex">' + '<button title="0" class="cmd-box-content-topspacing on" data-value="0" style="width:40px">0</button>' + '<button title="10" class="cmd-box-content-topspacing" data-value="10" style="width:40px">10</button>' + '<button title="20" class="cmd-box-content-topspacing" data-value="20" style="width:40px">20</button>' + '<button title="30" class="cmd-box-content-topspacing" data-value="30" style="width:40px">30</button>' + '<button title="40" class="cmd-box-content-topspacing" data-value="40" style="width:40px">40</button>' + '<button title="50" class="cmd-box-content-topspacing" data-value="50" style="width:40px">50</button>' + '<button title="60" class="cmd-box-content-topspacing" data-value="60" style="width:40px">60</button>' + // '<button title="80" class="cmd-box-content-topspacing" data-value="80" style="width:40px">80</button>' +
10843
+ '<button title="' + out('Not Set') + '" class="cmd-box-content-topspacing" data-value="" style="width:40px"><svg class="is-icon-flex" style="width:10px;height:10px;"><use xlink:href="#icon-clean"></use></svg></button>' + '</div>' + '</div>' + '<div style="display:flex;flex-direction: column;">' + '<div style="padding-top:10px;padding-bottom: 3px;">' + out('Bottom') + ':</div>' + '<div style="display:flex">' + '<button title="0" class="cmd-box-content-bottomspacing on" data-value="0" style="width:40px;">0</button>' + '<button title="10" class="cmd-box-content-bottomspacing" data-value="10" style="width:40px">10</button>' + '<button title="20" class="cmd-box-content-bottomspacing" data-value="20" style="width:40px">20</button>' + '<button title="30" class="cmd-box-content-bottomspacing" data-value="30" style="width:40px">30</button>' + '<button title="40" class="cmd-box-content-bottomspacing" data-value="40" style="width:40px">40</button>' + '<button title="50" class="cmd-box-content-bottomspacing" data-value="50" style="width:40px">50</button>' + '<button title="60" class="cmd-box-content-bottomspacing" data-value="60" style="width:40px">60</button>' + // '<button title="80" class="cmd-box-content-bottomspacing" data-value="80" style="width:40px">80</button>' +
10844
+ '<button title="' + out('Not Set') + '" class="cmd-box-content-bottomspacing" data-value="" style="width:40px"><svg class="is-icon-flex" style="width:10px;height:10px;"><use xlink:href="#icon-clean"></use></svg></button>' + '</div>' + '</div>' + '</div>';
10792
10845
  html += '<div id="divBoxImage" class="is-tab-content" data-group="boxsettings" style="padding-top:0">' + (this.builder.settings.onCoverImageSelectClick != null ? '<div style="padding-top:20px;">' + '<button class="cmd-box-selectasset" style="width:120px;">' + out('Select Image') + '</button>' + '</div>' + '<div style="padding-top:20px;">' + '<label for="chkAnimateBg" style="margin:0;"><input id="chkAnimateBg" type="checkbox" /> ' + out('Ken Burns Effect') + '</label>' + '</div>' : '<div style="padding-top:20px;">' + '<label for="chkAnimateBg" style="margin:0;"><input id="chkAnimateBg" type="checkbox" /> ' + out('Ken Burns Effect') + '</label>' + '</div>') +
10793
10846
  /*
10794
10847
  '<label for="rdoKenBurns" style="display:flex;align-items:center;margin-bottom:10px;">' +
@@ -11436,6 +11489,78 @@ class EditBox {
11436
11489
  this.builder.settings.onChange();
11437
11490
  });
11438
11491
  });
11492
+ const btnContentTopSpacing = modalEditBox.querySelectorAll('.cmd-box-content-topspacing');
11493
+ btnContentTopSpacing.forEach(btn => {
11494
+ btn.addEventListener('click', () => {
11495
+ this.builder.editor.saveForUndo();
11496
+ let s = btn.getAttribute('data-value');
11497
+ let activeBox = this.builder.activeBox;
11498
+ let container = activeBox.querySelector('.is-container'); // cleanup old
11499
+
11500
+ container.classList.remove('content-py-0');
11501
+ container.classList.remove('content-py-10');
11502
+ container.classList.remove('content-py-20');
11503
+ container.classList.remove('content-py-30');
11504
+ container.classList.remove('content-py-40');
11505
+ container.classList.remove('content-py-50');
11506
+ container.classList.remove('content-py-60');
11507
+ container.classList.remove('content-py-70');
11508
+ container.classList.remove('content-py-80');
11509
+ container.classList.remove('content-pt-0');
11510
+ container.classList.remove('content-pt-10');
11511
+ container.classList.remove('content-pt-20');
11512
+ container.classList.remove('content-pt-30');
11513
+ container.classList.remove('content-pt-40');
11514
+ container.classList.remove('content-pt-50');
11515
+ container.classList.remove('content-pt-60');
11516
+ container.classList.remove('content-pt-70');
11517
+ container.classList.remove('content-pt-80');
11518
+ if (s !== '') container.classList.add(`content-pt-${s}`);
11519
+ let btnPos = modalEditBox.querySelectorAll('.cmd-box-content-topspacing');
11520
+ btnPos.forEach(btn => {
11521
+ dom$l.removeClass(btn, 'on');
11522
+ });
11523
+ dom$l.addClass(btn, 'on'); //Trigger Change event
11524
+
11525
+ this.builder.settings.onChange();
11526
+ });
11527
+ });
11528
+ const btnContentBottomSpacing = modalEditBox.querySelectorAll('.cmd-box-content-bottomspacing');
11529
+ btnContentBottomSpacing.forEach(btn => {
11530
+ btn.addEventListener('click', () => {
11531
+ this.builder.editor.saveForUndo();
11532
+ let s = btn.getAttribute('data-value');
11533
+ let activeBox = this.builder.activeBox;
11534
+ let container = activeBox.querySelector('.is-container'); // cleanup old
11535
+
11536
+ container.classList.remove('content-py-0');
11537
+ container.classList.remove('content-py-10');
11538
+ container.classList.remove('content-py-20');
11539
+ container.classList.remove('content-py-30');
11540
+ container.classList.remove('content-py-40');
11541
+ container.classList.remove('content-py-50');
11542
+ container.classList.remove('content-py-60');
11543
+ container.classList.remove('content-py-70');
11544
+ container.classList.remove('content-py-80');
11545
+ container.classList.remove('content-pb-0');
11546
+ container.classList.remove('content-pb-10');
11547
+ container.classList.remove('content-pb-20');
11548
+ container.classList.remove('content-pb-30');
11549
+ container.classList.remove('content-pb-40');
11550
+ container.classList.remove('content-pb-50');
11551
+ container.classList.remove('content-pb-60');
11552
+ container.classList.remove('content-pb-70');
11553
+ container.classList.remove('content-pb-80');
11554
+ if (s !== '') container.classList.add(`content-pb-${s}`);
11555
+ let btnPos = modalEditBox.querySelectorAll('.cmd-box-content-bottomspacing');
11556
+ btnPos.forEach(btn => {
11557
+ dom$l.removeClass(btn, 'on');
11558
+ });
11559
+ dom$l.addClass(btn, 'on'); //Trigger Change event
11560
+
11561
+ this.builder.settings.onChange();
11562
+ });
11563
+ });
11439
11564
  const btnBoxContentPos = modalEditBox.querySelectorAll('.cmd-box-content-pos');
11440
11565
  btnBoxContentPos.forEach(btn => {
11441
11566
  btn.addEventListener('click', () => {
@@ -13226,6 +13351,92 @@ class EditBox {
13226
13351
  }
13227
13352
  }
13228
13353
 
13354
+ const btnContentTopSpacing = modalEditBox.querySelectorAll('.cmd-box-content-topspacing');
13355
+ btnContentTopSpacing.forEach(btn => {
13356
+ dom$l.removeClass(btn, 'on');
13357
+ });
13358
+
13359
+ if (container) {
13360
+ if (container.classList.contains('content-pt-0')) {
13361
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="0"]'), 'on');
13362
+ }
13363
+
13364
+ if (container.classList.contains('content-pt-10')) {
13365
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="10"]'), 'on');
13366
+ }
13367
+
13368
+ if (container.classList.contains('content-pt-20')) {
13369
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="20"]'), 'on');
13370
+ }
13371
+
13372
+ if (container.classList.contains('content-pt-30')) {
13373
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="30"]'), 'on');
13374
+ }
13375
+
13376
+ if (container.classList.contains('content-pt-40')) {
13377
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="40"]'), 'on');
13378
+ }
13379
+
13380
+ if (container.classList.contains('content-pt-50')) {
13381
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="50"]'), 'on');
13382
+ }
13383
+
13384
+ if (container.classList.contains('content-pt-60')) {
13385
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="60"]'), 'on');
13386
+ }
13387
+
13388
+ if (container.classList.contains('content-pt-70')) {
13389
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="70"]'), 'on');
13390
+ }
13391
+
13392
+ if (container.classList.contains('content-pt-80')) {
13393
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-topspacing[data-value="80"]'), 'on');
13394
+ }
13395
+ }
13396
+
13397
+ const btnContentBottomSpacing = modalEditBox.querySelectorAll('.cmd-box-content-bottomspacing');
13398
+ btnContentBottomSpacing.forEach(btn => {
13399
+ dom$l.removeClass(btn, 'on');
13400
+ });
13401
+
13402
+ if (container) {
13403
+ if (container.classList.contains('content-pb-0')) {
13404
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="0"]'), 'on');
13405
+ }
13406
+
13407
+ if (container.classList.contains('content-pb-10')) {
13408
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="10"]'), 'on');
13409
+ }
13410
+
13411
+ if (container.classList.contains('content-pb-20')) {
13412
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="20"]'), 'on');
13413
+ }
13414
+
13415
+ if (container.classList.contains('content-pb-30')) {
13416
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="30"]'), 'on');
13417
+ }
13418
+
13419
+ if (container.classList.contains('content-pb-40')) {
13420
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="40"]'), 'on');
13421
+ }
13422
+
13423
+ if (container.classList.contains('content-pb-50')) {
13424
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="50"]'), 'on');
13425
+ }
13426
+
13427
+ if (container.classList.contains('content-pb-60')) {
13428
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="60"]'), 'on');
13429
+ }
13430
+
13431
+ if (container.classList.contains('content-pb-70')) {
13432
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="70"]'), 'on');
13433
+ }
13434
+
13435
+ if (container.classList.contains('content-pb-80')) {
13436
+ dom$l.addClass(modalEditBox.querySelector('.cmd-box-content-bottomspacing[data-value="80"]'), 'on');
13437
+ }
13438
+ }
13439
+
13229
13440
  if (modalEditBox.querySelector('#divBoxImage').style.display === 'flex' && modalEditBox.querySelector('#tabBoxImage').style.display === 'none') {
13230
13441
  modalEditBox.querySelector('#tabBoxGeneral').click();
13231
13442
  }
@@ -66467,138 +66678,138 @@ class ButtonEditor {
66467
66678
  /* rounded */
66468
66679
  {
66469
66680
  html: `
66470
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed rounded-full tracking-125">Read More</a>
66681
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed rounded-full tracking-125">Read More</a>
66471
66682
  `
66472
66683
  }, {
66473
66684
  html: `
66474
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 text-black leading-relaxed rounded-full border-transparent hover:border-transparent font-normal tracking-125" style="background-color: rgb(240, 240, 240);">Get Started</a>
66685
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 text-black leading-relaxed rounded-full border-transparent hover:border-transparent font-normal tracking-125" style="background-color: rgb(240, 240, 240);">Get Started</a>
66475
66686
  `
66476
66687
  }, {
66477
66688
  html: `
66478
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(255, 127, 0);">Get Started</a>
66689
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(255, 127, 0);">Get Started</a>
66479
66690
  `
66480
66691
  }, {
66481
66692
  html: `
66482
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(83,98,208);">Get Started</a>
66693
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(83,98,208);">Get Started</a>
66483
66694
  `
66484
66695
  }, {
66485
66696
  html: `
66486
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Get Started</a>
66697
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Get Started</a>
66487
66698
  `
66488
66699
  }, {
66489
66700
  html: `
66490
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed tracking-125 rounded-full" style="color: rgb(255, 255, 255);">Get Started</a>
66701
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed tracking-125 rounded-full" style="color: rgb(255, 255, 255);">Get Started</a>
66491
66702
  `
66492
66703
  },
66493
66704
  /* colors */
66494
66705
  {
66495
66706
  html: `
66496
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(0, 200, 218);">Get Started</a>
66707
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(0, 200, 218);">Get Started</a>
66497
66708
  `
66498
66709
  }, {
66499
66710
  html: `
66500
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(55, 148, 59);">Get Started</a>
66711
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(55, 148, 59);">Get Started</a>
66501
66712
  `
66502
66713
  }, {
66503
66714
  html: `
66504
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(233,2,0);">Get Started</a>
66715
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(233,2,0);">Get Started</a>
66505
66716
  `
66506
66717
  }, {
66507
66718
  html: `
66508
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(254, 222, 76);">Get Started</a>
66719
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded-full ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(254, 222, 76);">Get Started</a>
66509
66720
  `
66510
66721
  },
66511
66722
  /* square */
66512
66723
  {
66513
66724
  html: `
66514
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed rounded tracking-125">Read More</a>
66725
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed rounded tracking-125">Read More</a>
66515
66726
  `
66516
66727
  }, {
66517
66728
  html: `
66518
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 text-black leading-relaxed rounded border-transparent hover:border-transparent font-normal tracking-125" style="background-color: rgb(240, 240, 240);">Get Started</a>
66729
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 text-black leading-relaxed rounded border-transparent hover:border-transparent font-normal tracking-125" style="background-color: rgb(240, 240, 240);">Get Started</a>
66519
66730
  `
66520
66731
  }, {
66521
66732
  html: `
66522
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(255, 127, 0);">Get Started</a>
66733
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(255, 127, 0);">Get Started</a>
66523
66734
  `
66524
66735
  }, {
66525
66736
  html: `
66526
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(83,98,208);">Get Started</a>
66737
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(83,98,208);">Get Started</a>
66527
66738
  `
66528
66739
  }, {
66529
66740
  html: `
66530
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Get Started</a>
66741
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Get Started</a>
66531
66742
  `
66532
66743
  }, {
66533
66744
  html: `
66534
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed tracking-125 rounded" style="color: rgb(255, 255, 255);">Get Started</a>
66745
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 mt-1 uppercase py-2 size-14 px-8 border-current hover:border-current font-normal leading-relaxed tracking-125 rounded" style="color: rgb(255, 255, 255);">Get Started</a>
66535
66746
  `
66536
66747
  },
66537
66748
  /* colors */
66538
66749
  {
66539
66750
  html: `
66540
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(0, 200, 218);">Get Started</a>
66751
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(0, 200, 218);">Get Started</a>
66541
66752
  `
66542
66753
  }, {
66543
66754
  html: `
66544
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(55, 148, 59);">Get Started</a>
66755
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(55, 148, 59);">Get Started</a>
66545
66756
  `
66546
66757
  }, {
66547
66758
  html: `
66548
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(233,2,0);">Get Started</a>
66759
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(255, 255, 255); background-color: rgb(233,2,0);">Get Started</a>
66549
66760
  `
66550
66761
  }, {
66551
66762
  html: `
66552
- <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(254, 222, 76);">Get Started</a>
66763
+ <a href="#" role="button" class="transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 py-2 px-8 font-normal leading-relaxed border-transparent rounded ml-0 mt-1 size-14 tracking-125 hover:border-transparent uppercase" style="color: rgb(0, 0, 0); background-color: rgb(254, 222, 76);">Get Started</a>
66553
66764
  `
66554
66765
  }, {
66555
66766
  text: 'Order Now',
66556
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid rounded-full border-current ml-1 mr-1 px-8 py-2 text-pink-600 hover:text-white bg-white hover:bg-pink-500 hover:border-transparent size-18 font-semibold tracking-75 leading-relaxed'
66767
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid rounded-full border-current ml-1 mr-1 px-8 py-2 text-pink-600 hover:text-white bg-white hover:bg-pink-500 hover:border-transparent size-18 font-semibold tracking-75 leading-relaxed'
66557
66768
  }, {
66558
66769
  text: 'Explore',
66559
- className: 'transition-all inline-block cursor-pointer no-underline font-semibold border-2 border-solid tracking-200 rounded-full border-current size-12 ml-1 mr-1 py-0 px-3 text-indigo-600 hover:text-white bg-white hover:bg-indigo-500 hover:border-transparent leading-relaxed'
66770
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline font-semibold border-2 border-solid tracking-200 rounded-full border-current size-12 ml-1 mr-1 py-0 px-3 text-indigo-600 hover:text-white bg-white hover:bg-indigo-500 hover:border-transparent leading-relaxed'
66560
66771
  }, {
66561
66772
  text: 'View Demo',
66562
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 hover:border-transparent rounded bg-gray-200 hover:bg-gray-300 size-16 py-1 px-5 font-normal tracking-wide text-gray-800 leading-relaxed'
66773
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 hover:border-transparent rounded bg-gray-200 hover:bg-gray-300 size-16 py-1 px-5 font-normal tracking-wide text-gray-800 leading-relaxed'
66563
66774
  }, {
66564
66775
  text: 'Get Started',
66565
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid ml-1 mr-1 rounded size-16 text-black py-1 px-5 font-normal border-current hover: hover:border-current tracking-wide leading-relaxed'
66776
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid ml-1 mr-1 rounded size-16 text-black py-1 px-5 font-normal border-current hover: hover:border-current tracking-wide leading-relaxed'
66566
66777
  }, {
66567
66778
  text: 'Create',
66568
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 hover:border-transparent size-12 rounded bg-yellow-300 text-black bg-white hover:bg-yellow-400 font-normal px-3 py-0 tracking-75 leading-relaxed'
66779
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 hover:border-transparent size-12 rounded bg-yellow-300 text-black bg-white hover:bg-yellow-400 font-normal px-3 py-0 tracking-75 leading-relaxed'
66569
66780
  }, {
66570
66781
  text: 'Hello!',
66571
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid border-current ml-1 mr-1 hover:text-white hover:border-transparent rounded-lg size-24 font-normal py-2 tracking-150 px-12 text-orange-500 bg-white hover:bg-orange-500 leading-relaxed'
66782
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid border-current ml-1 mr-1 hover:text-white hover:border-transparent rounded-lg size-24 font-normal py-2 tracking-150 px-12 text-orange-500 bg-white hover:bg-orange-500 leading-relaxed'
66572
66783
  }, {
66573
66784
  text: 'Build',
66574
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 text-violet-700 hover:border-transparent hover:bg-cyan-200 rounded uppercase size-12 tracking-75 px-4 py-1 font-semibold bg-cyan-200 leading-relaxed'
66785
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 text-violet-700 hover:border-transparent hover:bg-cyan-200 rounded uppercase size-12 tracking-75 px-4 py-1 font-semibold bg-cyan-200 leading-relaxed'
66575
66786
  }, {
66576
66787
  text: 'Contact',
66577
- className: 'transition-all inline-block border-2 border-solid rounded-none no-underline hover:border-transparent ml-1 mr-1 cursor-pointer bg-white text-red-600 border-current hover:bg-red-600 hover:text-white uppercase size-12 font-semibold py-2 px-6 tracking-150 leading-relaxed'
66788
+ className: 'transition-all inline-block whitespace-nowrap border-2 border-solid rounded-none no-underline hover:border-transparent ml-1 mr-1 cursor-pointer bg-white text-red-600 border-current hover:bg-red-600 hover:text-white uppercase size-12 font-semibold py-2 px-6 tracking-150 leading-relaxed'
66578
66789
  }, {
66579
66790
  text: 'Read More',
66580
- className: 'transition-all inline-block cursor-pointer border-2 border-solid border-transparent ml-1 mr-1 hover:border-transparent rounded size-16 py-1 px-5 font-normal tracking-wide text-gray-800 underline leading-relaxed'
66791
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer border-2 border-solid border-transparent ml-1 mr-1 hover:border-transparent rounded size-16 py-1 px-5 font-normal tracking-wide text-gray-800 underline leading-relaxed'
66581
66792
  }, {
66582
66793
  text: 'Send a Message',
66583
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid ml-1 mr-1 rounded tracking-75 uppercase px-6 py-2 size-12 hover:border-transparent font-semibold bg-gray-200 border-transparent hover:bg-gray-300 text-gray-800 leading-relaxed'
66794
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid ml-1 mr-1 rounded tracking-75 uppercase px-6 py-2 size-12 hover:border-transparent font-semibold bg-gray-200 border-transparent hover:bg-gray-300 text-gray-800 leading-relaxed'
66584
66795
  }, {
66585
66796
  text: 'Our Works',
66586
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid ml-1 mr-1 rounded tracking-75 uppercase px-6 py-2 size-12 border-current hover:text-white hover:border-transparent hover:bg-indigo-500 text-indigo-500 font-semibold leading-relaxed'
66797
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid ml-1 mr-1 rounded tracking-75 uppercase px-6 py-2 size-12 border-current hover:text-white hover:border-transparent hover:bg-indigo-500 text-indigo-500 font-semibold leading-relaxed'
66587
66798
  }, {
66588
66799
  text: 'Read More',
66589
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 tracking-75 uppercase py-2 size-14 px-8 rounded font-normal ml-1 border-transparent bg-gray-200 hover:bg-gray-300 hover:border-transparent text-gray-800 leading-relaxed'
66800
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 tracking-75 uppercase py-2 size-14 px-8 rounded font-normal ml-1 border-transparent bg-gray-200 hover:bg-gray-300 hover:border-transparent text-gray-800 leading-relaxed'
66590
66801
  }, {
66591
66802
  text: 'Get a Quote',
66592
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid mr-1 tracking-75 uppercase py-2 size-14 px-8 border-current rounded text-black hover:border-current font-normal ml-1 leading-relaxed'
66803
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid mr-1 tracking-75 uppercase py-2 size-14 px-8 border-current rounded text-black hover:border-current font-normal ml-1 leading-relaxed'
66593
66804
  }, {
66594
66805
  text: 'Try Demo',
66595
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid border-transparent hover:border-transparent bg-gray-200 hover:bg-gray-300 size-16 text-black font-normal uppercase py-3 px-11 tracking-75 mr-3 ml-0 rounded-md leading-relaxed'
66806
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid border-transparent hover:border-transparent bg-gray-200 hover:bg-gray-300 size-16 text-black font-normal uppercase py-3 px-11 tracking-75 mr-3 ml-0 rounded-md leading-relaxed'
66596
66807
  }, {
66597
66808
  text: 'Buy Now',
66598
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid size-16 tracking-75 font-normal uppercase px-11 py-3 hover:text-white hover:bg-teal-500 bg-teal-400 text-white border-transparent hover:border-transparent ml-0 mr-2 rounded-md leading-relaxed'
66809
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid size-16 tracking-75 font-normal uppercase px-11 py-3 hover:text-white hover:bg-teal-500 bg-teal-400 text-white border-transparent hover:border-transparent ml-0 mr-2 rounded-md leading-relaxed'
66599
66810
  }, {
66600
66811
  text: 'Play',
66601
- className: 'transition-all inline-block cursor-pointer no-underline border-2 border-solid ml-1 mr-1 size-16 text-black tracking-75 font-normal uppercase px-11 border-current hover:border-current py-3 rounded leading-relaxed'
66812
+ className: 'transition-all inline-block whitespace-nowrap cursor-pointer no-underline border-2 border-solid ml-1 mr-1 size-16 text-black tracking-75 font-normal uppercase px-11 border-current hover:border-current py-3 rounded leading-relaxed'
66602
66813
  }];
66603
66814
  let html = '';
66604
66815
 
@@ -66764,15 +66975,16 @@ class ButtonEditor {
66764
66975
  }
66765
66976
 
66766
66977
  applyDefault(link) {
66767
- // const dom = this.dom;
66768
- // dom.addClass(link, 'transition-all');
66978
+ const dom = this.dom; // dom.addClass(link, 'transition-all');
66769
66979
  // if(!dom.hasClass(link,'flex')) dom.addClass(link, 'inline-block');
66770
66980
  // dom.addClass(link, 'cursor-pointer');
66771
66981
  // dom.addClass(link, 'border-solid');
66772
66982
  // dom.addClass(link, 'leading-relaxed');
66983
+
66773
66984
  link.removeAttribute('data-hover-bgcolor');
66774
66985
  link.removeAttribute('data-hover-color');
66775
66986
  link.removeAttribute('data-hover-bordercolor');
66987
+ dom.addClass(link, 'whitespace-nowrap');
66776
66988
  }
66777
66989
 
66778
66990
  cleanupOldClasses(link) {
@@ -71547,6 +71759,22 @@ class RowTool {
71547
71759
  <label class="label-row-grayscale label-checkbox" for="chkRowGrayscale"><input id="chkRowGrayscale" class="chk-row-grayscale" type="checkbox" /> ${util.out('Grayscale')}</label>
71548
71760
  </div>
71549
71761
 
71762
+ <div class="div-row-wrapcolumns" style="display:flex;flex-direction:column;padding-bottom:7px">
71763
+ <div style="padding-top:20px;padding-bottom:3px;">${util.out('Wrap Columns (Breakpoint)')}:</div>
71764
+ <div style="padding-top:3px;display:flex;align-items: center;">
71765
+ <button title="${util.out('Tablet (Landscape)')}" class="input-breakpoint" data-value="md" style="width:40px;height:25px;">
71766
+ <svg class="is-icon-flex" style="width:16px;height:16px;transform:rotate(-90deg)"><use xlink:href="#icon-device-tablet"></use></svg>
71767
+ </button>
71768
+ <button title="${util.out('Tablet (Portrait)')}" class="input-breakpoint" data-value="sm" style="width:40px;height:25px;">
71769
+ <svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-device-tablet"></use></svg>
71770
+ </button>
71771
+ <button title="${util.out('Mobile')}" class="input-breakpoint on" data-value="xs" style="width:40px;height:25px;">
71772
+ <svg class="is-icon-flex" style="width:13px;height:13px"><use xlink:href="#icon-device-mobile"></use></svg>
71773
+ </button>
71774
+
71775
+ </div>
71776
+ </div>
71777
+
71550
71778
  <div class="is-separator"></div>
71551
71779
 
71552
71780
  <div class="div-target" style="display: flex;justify-content: flex-end;padding: 5px 0 0;">
@@ -71579,6 +71807,9 @@ class RowTool {
71579
71807
  </button>
71580
71808
  </div>
71581
71809
 
71810
+ <div id="divReverseColumns" style="diplay:none">
71811
+ <label for="chkReverseColumns" style="margin:20px 0 0;display:flex"><input id="chkReverseColumns" type="checkbox" style="margin:0 7px 0 0"/><span>${util.out('Reverse Columns')}</span></label>
71812
+ </div>
71582
71813
  </div>
71583
71814
 
71584
71815
  <div id="divRowMore" class="is-tab-content" data-group="rowsettings" tabindex="-1">
@@ -71791,9 +72022,75 @@ class RowTool {
71791
72022
 
71792
72023
 
71793
72024
  this.builder.opts.onChange();
72025
+ }); // Breakpoint
72026
+
72027
+ let btns = this.rowSettings.querySelectorAll('.input-breakpoint');
72028
+ btns.forEach(btn => {
72029
+ btn.addEventListener('click', () => {
72030
+ let row = util.rowSelected();
72031
+ if (!row) return;
72032
+ this.builder.uo.saveForUndo();
72033
+ let elms = this.rowSettings.querySelectorAll('.input-breakpoint');
72034
+ elms.forEach(elm => {
72035
+ elm.classList.remove('on');
72036
+ });
72037
+ btn.classList.add('on');
72038
+ let target = btn.getAttribute('data-value');
72039
+
72040
+ if (target === 'xs') {
72041
+ row.classList.remove('sm-wrap');
72042
+ row.classList.remove('md-wrap');
72043
+ } else if (target === 'sm') {
72044
+ row.classList.remove('md-wrap');
72045
+ row.classList.add('sm-wrap');
72046
+ } else if (target === 'md') {
72047
+ row.classList.remove('smd-wrap');
72048
+ row.classList.add('md-wrap');
72049
+ } //Trigger Change event
72050
+
72051
+
72052
+ this.builder.onChange();
72053
+ });
72054
+ });
72055
+ const chkReverseBoxes = this.rowSettings.querySelector('#chkReverseColumns');
72056
+ chkReverseBoxes.addEventListener('click', () => {
72057
+ let row = util.rowSelected();
72058
+ if (!row) return;
72059
+ this.builder.uo.saveForUndo();
72060
+ let divTarget = this.rowSettings.querySelector('.div-target');
72061
+ let target = this.builder.responsive.readTarget(divTarget);
72062
+
72063
+ if (target === 'xs') {
72064
+ if (chkReverseBoxes.checked) {
72065
+ row.classList.add('xs-column-reverse');
72066
+ } else {
72067
+ row.classList.remove('xs-column-reverse');
72068
+ }
72069
+ } else if (target === 'sm') {
72070
+ if (chkReverseBoxes.checked) {
72071
+ row.classList.add('sm-column-reverse');
72072
+ } else {
72073
+ row.classList.remove('sm-column-reverse');
72074
+ }
72075
+ } else if (target === 'md') {
72076
+ if (chkReverseBoxes.checked) {
72077
+ row.classList.add('md-column-reverse');
72078
+ } else {
72079
+ row.classList.remove('md-column-reverse');
72080
+ }
72081
+ } else if (target === '') {
72082
+ if (chkReverseBoxes.checked) {
72083
+ row.classList.add('desktop-column-reverse');
72084
+ } else {
72085
+ row.classList.remove('desktop-column-reverse');
72086
+ }
72087
+ } //Trigger Change event
72088
+
72089
+
72090
+ this.builder.settings.onChange();
71794
72091
  }); // Responsive Visibility
71795
72092
 
71796
- let btns = this.rowSettings.querySelectorAll('.input-device');
72093
+ btns = this.rowSettings.querySelectorAll('.input-device');
71797
72094
  btns.forEach(btn => {
71798
72095
  btn.addEventListener('click', () => {
71799
72096
  let row = util.rowSelected();
@@ -71998,7 +72295,22 @@ class RowTool {
71998
72295
  let divVisibility = this.rowSettings.querySelector('.div-visibility');
71999
72296
  let target = this.builder.responsive.readTarget(divTarget);
72000
72297
  let valVisibility = this.builder.responsive.getVisibility(row, target);
72001
- this.builder.responsive.showVisibility(divVisibility, valVisibility);
72298
+ this.builder.responsive.showVisibility(divVisibility, valVisibility); // Column reverse
72299
+
72300
+ let valReverse = false;
72301
+
72302
+ if (target === 'xs') {
72303
+ valReverse = row.classList.contains('xs-column-reverse');
72304
+ } else if (target === 'sm') {
72305
+ valReverse = row.classList.contains('sm-column-reverse');
72306
+ } else if (target === 'md') {
72307
+ valReverse = row.classList.contains('md-column-reverse');
72308
+ } else {
72309
+ valReverse = row.classList.contains('desktop-column-reverse');
72310
+ }
72311
+
72312
+ const chkReverseColumns = this.rowSettings.querySelector('#chkReverseColumns');
72313
+ chkReverseColumns.checked = valReverse;
72002
72314
  }
72003
72315
 
72004
72316
  render(row) {
@@ -72307,7 +72619,33 @@ class RowTool {
72307
72619
 
72308
72620
  let actualRow = row.parentNode; // row is actually row overlay
72309
72621
 
72310
- this.realtimeVisibility(actualRow); //More
72622
+ this.realtimeVisibility(actualRow);
72623
+ const divReverseBoxes = this.rowSettings.querySelector('#divReverseColumns');
72624
+ let num = 3; //is-row-tool, is-col-tool & is-rowadd-tool
72625
+
72626
+ if (actualRow.querySelector('.is-row-overlay')) {
72627
+ num = 4; //is-row-tool, is-col-tool, is-rowadd-tool & is-row-overlay
72628
+ }
72629
+
72630
+ if (actualRow.childElementCount - num > 1) {
72631
+ divReverseBoxes.style.display = 'flex';
72632
+ } else {
72633
+ divReverseBoxes.style.display = 'none';
72634
+ }
72635
+
72636
+ let elms = this.rowSettings.querySelectorAll('.input-breakpoint');
72637
+ elms.forEach(elm => {
72638
+ elm.classList.remove('on');
72639
+ });
72640
+
72641
+ if (actualRow.classList.contains('md-wrap')) {
72642
+ this.rowSettings.querySelector('.input-breakpoint[data-value="md"]').classList.add('on');
72643
+ } else if (actualRow.classList.contains('sm-wrap')) {
72644
+ this.rowSettings.querySelector('.input-breakpoint[data-value="sm"]').classList.add('on');
72645
+ } else {
72646
+ this.rowSettings.querySelector('.input-breakpoint[data-value="xs"]').classList.add('on');
72647
+ } //More
72648
+
72311
72649
 
72312
72650
  let inpRowId = this.rowSettings.querySelector('.input-row-id');
72313
72651
  inpRowId.value = '';
@@ -88797,7 +89135,8 @@ class Resizeable {
88797
89135
  minWidth: 50,
88798
89136
  minHeight: 50,
88799
89137
  adj: 4,
88800
- onResize: function () {}
89138
+ onResize: function () {},
89139
+ resizeHeight: false
88801
89140
  };
88802
89141
  this.opts = Object.assign(this, defaults, opts);
88803
89142
  const pane = this.pane;
@@ -88914,8 +89253,7 @@ class Resizeable {
88914
89253
  if (clicked && clicked.isResizing) {
88915
89254
  let newWidth;
88916
89255
  let newWHeight;
88917
-
88918
- if (clicked.onBottomEdge) {
89256
+ if (this.resizeHeight) if (clicked.onBottomEdge) {
88919
89257
  newWHeight = Math.max(y / scale, minHeight) + adj;
88920
89258
  pane.style.height = newWHeight + 'px';
88921
89259
  }
@@ -88944,13 +89282,13 @@ class Resizeable {
88944
89282
 
88945
89283
 
88946
89284
  if (onRightEdge && onBottomEdge) {
88947
- pane.style.cursor = 'nwse-resize';
89285
+ if (this.resizeHeight) pane.style.cursor = 'nwse-resize';
88948
89286
  } else if (onBottomEdge && onLeftEdge) {
88949
- pane.style.cursor = 'nesw-resize';
89287
+ if (this.resizeHeight) pane.style.cursor = 'nesw-resize';
88950
89288
  } else if (onRightEdge || onLeftEdge) {
88951
89289
  pane.style.cursor = 'ew-resize';
88952
89290
  } else if (onBottomEdge) {
88953
- pane.style.cursor = 'ns-resize';
89291
+ if (this.resizeHeight) pane.style.cursor = 'ns-resize';
88954
89292
  } else {
88955
89293
  pane.style.cursor = '';
88956
89294
  }
@@ -88999,6 +89337,7 @@ class Resize {
88999
89337
  const row = col.parentNode;
89000
89338
  this.resize = new Resizeable({
89001
89339
  pane: col,
89340
+ resizeHeight: this.builder.resizeHeight,
89002
89341
  onResize: (width, height) => {
89003
89342
  this.builder.util.hideControls();
89004
89343
  let numOfCols = 1;
@@ -90988,6 +91327,7 @@ class ContentBuilder {
90988
91327
  toolbar: 'top',
90989
91328
  toolbarDisplay: 'auto',
90990
91329
  shortenHTML: true,
91330
+ resizeHeight: false,
90991
91331
  snippetsSidebarDisplay: 'auto',
90992
91332
  // snippetDisplay: 'auto', // values: auto, visible (a new alternative). If used, will set the snippetsSidebarDisplay
90993
91333
  // onImageSelectClick: function () { },