@innovastudio/contentbuilder 1.2.6 → 1.2.7

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.
@@ -14137,7 +14137,7 @@ var loader = {
14137
14137
  __getMonacoInstance: __getMonacoInstance
14138
14138
  };
14139
14139
 
14140
- const dom$J = new Dom();
14140
+ const dom$K = new Dom();
14141
14141
  let hash$1 = {};
14142
14142
  class HtmlUtil {
14143
14143
  constructor(builder) {
@@ -14185,28 +14185,28 @@ class HtmlUtil {
14185
14185
  </div>
14186
14186
 
14187
14187
  `;
14188
- dom$J.appendHtml(builderStuff, html);
14188
+ dom$K.appendHtml(builderStuff, html);
14189
14189
  viewhtml = builderStuff.querySelector('.viewhtml');
14190
14190
  let viewhtmlmonaco = builderStuff.querySelector('.viewhtmlmonaco');
14191
14191
  let viewhtmlexternal = builderStuff.querySelector('.viewhtmlexternal');
14192
14192
  let elm = viewhtml.querySelector('.input-ok');
14193
- dom$J.addEventListener(elm, 'click', () => {
14193
+ dom$K.addEventListener(elm, 'click', () => {
14194
14194
  this.applyHtml(viewhtml);
14195
14195
  });
14196
14196
  elm = viewhtml.querySelector('.input-cancel');
14197
- dom$J.addEventListener(elm, 'click', () => {
14197
+ dom$K.addEventListener(elm, 'click', () => {
14198
14198
  this.builder.hideModal(viewhtml);
14199
14199
  });
14200
14200
  elm = viewhtmlmonaco.querySelector('.input-ok');
14201
- dom$J.addEventListener(elm, 'click', () => {
14201
+ dom$K.addEventListener(elm, 'click', () => {
14202
14202
  this.applyHtml(viewhtmlmonaco);
14203
14203
  });
14204
14204
  elm = viewhtmlmonaco.querySelector('.input-cancel');
14205
- dom$J.addEventListener(elm, 'click', () => {
14205
+ dom$K.addEventListener(elm, 'click', () => {
14206
14206
  this.builder.hideModal(viewhtmlmonaco);
14207
14207
  });
14208
14208
  elm = viewhtmlexternal.querySelector('.input-ok');
14209
- dom$J.addEventListener(elm, 'click', () => {
14209
+ dom$K.addEventListener(elm, 'click', () => {
14210
14210
  const source = document.querySelector('textarea[data-source-active]');
14211
14211
  const selectorOk = source.getAttribute('data-source-ok');
14212
14212
  source.removeAttribute('data-source-active');
@@ -14216,7 +14216,7 @@ class HtmlUtil {
14216
14216
  this.builder.hideModal(viewhtmlexternal);
14217
14217
  });
14218
14218
  elm = viewhtmlexternal.querySelector('.input-cancel');
14219
- dom$J.addEventListener(elm, 'click', () => {
14219
+ dom$K.addEventListener(elm, 'click', () => {
14220
14220
  const source = document.querySelector('textarea[data-source-active]');
14221
14221
  const selectorCancel = source.getAttribute('data-source-cancel');
14222
14222
  source.removeAttribute('data-source-active');
@@ -14482,10 +14482,10 @@ class HtmlUtil {
14482
14482
 
14483
14483
  this.builder.cleanHtmlFormatting = false; //Change to row selection
14484
14484
 
14485
- dom$J.removeClass(row, 'row-outline'); //Hide Column tool
14485
+ dom$K.removeClass(row, 'row-outline'); //Hide Column tool
14486
14486
 
14487
14487
  let columnTool = builderStuff.querySelector('.is-column-tool');
14488
- dom$J.removeClass(columnTool, 'active');
14488
+ dom$K.removeClass(columnTool, 'active');
14489
14489
  }
14490
14490
 
14491
14491
  if (mode === 'full') {
@@ -14613,7 +14613,7 @@ class HtmlUtil {
14613
14613
 
14614
14614
  elmNormals = content.querySelectorAll(`.${this.builder.cssClasses.extend.unset}`);
14615
14615
  Array.prototype.forEach.call(elmNormals, elm => {
14616
- dom$J.removeClass(elm, this.builder.cssClasses.extend.unset);
14616
+ dom$K.removeClass(elm, this.builder.cssClasses.extend.unset);
14617
14617
  });
14618
14618
  } // Clean unused spans
14619
14619
  // dom.cleanUnusedSpan(content); // REVIEW
@@ -14629,7 +14629,7 @@ class HtmlUtil {
14629
14629
  if (elm) builderStuff.removeChild(elm);
14630
14630
  let html = `<div id="tmp_content" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>
14631
14631
  <div id="tmp_buildercontent" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>`;
14632
- dom$J.appendHtml(builderStuff, html);
14632
+ dom$K.appendHtml(builderStuff, html);
14633
14633
  let tmp = builderStuff.querySelector('#tmp_content');
14634
14634
  tmp.innerHTML = content.innerHTML; //Find subblocks (previously is-builder) in custom code blocks and save them to data-html-1, data-html-2, and so on.
14635
14635
 
@@ -14771,85 +14771,85 @@ class HtmlUtil {
14771
14771
 
14772
14772
  _builder.removeAttribute('data-sort');
14773
14773
 
14774
- dom$J.removeClass(_builder, 'builder-active');
14774
+ dom$K.removeClass(_builder, 'builder-active');
14775
14775
  });
14776
14776
  let elms = tmp.querySelectorAll('.sortable-chosen');
14777
- dom$J.removeClasses(elms, 'sortable-chosen');
14777
+ dom$K.removeClasses(elms, 'sortable-chosen');
14778
14778
  elms = tmp.querySelectorAll('.sortable-ghost');
14779
- dom$J.removeClasses(elms, 'sortable-ghost');
14779
+ dom$K.removeClasses(elms, 'sortable-ghost');
14780
14780
  elms = tmp.querySelectorAll('.elm-active');
14781
- dom$J.removeClasses(elms, 'elm-active');
14781
+ dom$K.removeClasses(elms, 'elm-active');
14782
14782
  elms = tmp.querySelectorAll('.elm-inspected');
14783
- dom$J.removeClasses(elms, 'elm-inspected');
14783
+ dom$K.removeClasses(elms, 'elm-inspected');
14784
14784
  elms = tmp.querySelectorAll('.cell-active');
14785
- dom$J.removeClasses(elms, 'cell-active');
14785
+ dom$K.removeClasses(elms, 'cell-active');
14786
14786
  elms = tmp.querySelectorAll('.row-active');
14787
- dom$J.removeClasses(elms, 'row-active');
14787
+ dom$K.removeClasses(elms, 'row-active');
14788
14788
  elms = tmp.querySelectorAll('.row-outline');
14789
- dom$J.removeClasses(elms, 'row-outline');
14789
+ dom$K.removeClasses(elms, 'row-outline');
14790
14790
  elms = tmp.querySelectorAll('.is-builder');
14791
- dom$J.removeClasses(elms, 'is-builder');
14791
+ dom$K.removeClasses(elms, 'is-builder');
14792
14792
  elms = tmp.querySelectorAll('.row-outline');
14793
- dom$J.removeClasses(elms, 'row-outline');
14793
+ dom$K.removeClasses(elms, 'row-outline');
14794
14794
  elms = tmp.querySelectorAll('[data-click]');
14795
- dom$J.removeAttributes(elms, 'data-click');
14795
+ dom$K.removeAttributes(elms, 'data-click');
14796
14796
  elms = tmp.querySelectorAll('[contenteditable]');
14797
- dom$J.removeAttributes(elms, 'contenteditable');
14797
+ dom$K.removeAttributes(elms, 'contenteditable');
14798
14798
  elms = tmp.querySelectorAll('[draggridoutline]');
14799
- dom$J.removeAttributes(elms, 'draggridoutline');
14799
+ dom$K.removeAttributes(elms, 'draggridoutline');
14800
14800
  elms = tmp.querySelectorAll('[between-blocks-left]');
14801
- dom$J.removeAttributes(elms, 'between-blocks-left');
14801
+ dom$K.removeAttributes(elms, 'between-blocks-left');
14802
14802
  elms = tmp.querySelectorAll('[between-blocks-center]');
14803
- dom$J.removeAttributes(elms, 'between-blocks-center');
14803
+ dom$K.removeAttributes(elms, 'between-blocks-center');
14804
14804
  elms = tmp.querySelectorAll('[hideelementhighlight]');
14805
- dom$J.removeAttributes(elms, 'hideelementhighlight');
14805
+ dom$K.removeAttributes(elms, 'hideelementhighlight');
14806
14806
  elms = tmp.querySelectorAll('[data-module-active]');
14807
- dom$J.removeAttributes(elms, 'data-module-active');
14807
+ dom$K.removeAttributes(elms, 'data-module-active');
14808
14808
  elms = tmp.querySelectorAll('[draggable]');
14809
- dom$J.removeAttributes(elms, 'draggable');
14809
+ dom$K.removeAttributes(elms, 'draggable');
14810
14810
  elms = tmp.querySelectorAll('[data-animated]');
14811
- dom$J.removeAttributes(elms, 'data-animated');
14811
+ dom$K.removeAttributes(elms, 'data-animated');
14812
14812
  elms = tmp.querySelectorAll('[data-saveforundo]');
14813
- dom$J.removeAttributes(elms, 'data-saveforundo');
14813
+ dom$K.removeAttributes(elms, 'data-saveforundo');
14814
14814
  elms = tmp.querySelectorAll('[hidesnippetaddtool]');
14815
- dom$J.removeAttributes(elms, 'hidesnippetaddtool');
14815
+ dom$K.removeAttributes(elms, 'hidesnippetaddtool');
14816
14816
  elms = tmp.querySelectorAll('[gray]');
14817
- dom$J.removeAttributes(elms, 'gray');
14817
+ dom$K.removeAttributes(elms, 'gray');
14818
14818
  elms = tmp.querySelectorAll('[rowoutline]');
14819
- dom$J.removeAttributes(elms, 'rowoutline');
14819
+ dom$K.removeAttributes(elms, 'rowoutline');
14820
14820
  elms = tmp.querySelectorAll('[grayoutline]');
14821
- dom$J.removeAttributes(elms, 'grayoutline');
14821
+ dom$K.removeAttributes(elms, 'grayoutline');
14822
14822
  elms = tmp.querySelectorAll('[hideoutline]');
14823
- dom$J.removeAttributes(elms, 'hideoutline');
14823
+ dom$K.removeAttributes(elms, 'hideoutline');
14824
14824
  elms = tmp.querySelectorAll('[leftrowtool]');
14825
- dom$J.removeAttributes(elms, 'leftrowtool');
14825
+ dom$K.removeAttributes(elms, 'leftrowtool');
14826
14826
  elms = tmp.querySelectorAll('[minimal]');
14827
- dom$J.removeAttributes(elms, 'minimal');
14827
+ dom$K.removeAttributes(elms, 'minimal');
14828
14828
  elms = tmp.querySelectorAll('[clean]');
14829
- dom$J.removeAttributes(elms, 'clean');
14829
+ dom$K.removeAttributes(elms, 'clean');
14830
14830
  elms = tmp.querySelectorAll('[grideditor]');
14831
- dom$J.removeAttributes(elms, 'grideditor');
14831
+ dom$K.removeAttributes(elms, 'grideditor');
14832
14832
  elms = tmp.querySelectorAll('[gridoutline]');
14833
- dom$J.removeAttributes(elms, 'gridoutline');
14834
- dom$J.removeElements(tmp.querySelectorAll('.is-row-tool'));
14835
- dom$J.removeElements(tmp.querySelectorAll('.is-rowadd-tool'));
14836
- dom$J.removeElements(tmp.querySelectorAll('.ovl'));
14837
- dom$J.removeElements(tmp.querySelectorAll('.row-add-initial')); //Extra cleaning
14833
+ dom$K.removeAttributes(elms, 'gridoutline');
14834
+ dom$K.removeElements(tmp.querySelectorAll('.is-row-tool'));
14835
+ dom$K.removeElements(tmp.querySelectorAll('.is-rowadd-tool'));
14836
+ dom$K.removeElements(tmp.querySelectorAll('.ovl'));
14837
+ dom$K.removeElements(tmp.querySelectorAll('.row-add-initial')); //Extra cleaning
14838
14838
 
14839
14839
  elms = tmp.querySelectorAll('.aos-init');
14840
- dom$J.removeClasses(elms, 'aos-init');
14840
+ dom$K.removeClasses(elms, 'aos-init');
14841
14841
  elms = tmp.querySelectorAll('.aos-animate');
14842
- dom$J.removeClasses(elms, 'aos-animate');
14842
+ dom$K.removeClasses(elms, 'aos-animate');
14843
14843
  elms = tmp.querySelectorAll('.skrollable');
14844
- dom$J.removeClasses(elms, 'skrollable');
14844
+ dom$K.removeClasses(elms, 'skrollable');
14845
14845
  elms = tmp.querySelectorAll('.skrollable-after');
14846
- dom$J.removeClasses(elms, 'skrollable-after');
14846
+ dom$K.removeClasses(elms, 'skrollable-after');
14847
14847
  elms = tmp.querySelectorAll('.skrollable-before');
14848
- dom$J.removeClasses(elms, 'skrollable-before');
14848
+ dom$K.removeClasses(elms, 'skrollable-before');
14849
14849
  elms = tmp.querySelectorAll('.skrollable-between');
14850
- dom$J.removeClasses(elms, 'skrollable-between');
14850
+ dom$K.removeClasses(elms, 'skrollable-between');
14851
14851
  elms = tmp.querySelectorAll('.is-inview');
14852
- dom$J.removeClasses(elms, 'is-inview');
14852
+ dom$K.removeClasses(elms, 'is-inview');
14853
14853
  let emptyclasses = tmp.querySelectorAll('[class=""]');
14854
14854
  Array.prototype.forEach.call(emptyclasses, emptyclass => {
14855
14855
  emptyclass.removeAttribute('class');
@@ -14858,9 +14858,9 @@ class HtmlUtil {
14858
14858
  Array.prototype.forEach.call(emptystyles, emptystyle => {
14859
14859
  emptystyle.removeAttribute('style');
14860
14860
  });
14861
- dom$J.removeEmptyStyle(tmp);
14861
+ dom$K.removeEmptyStyle(tmp);
14862
14862
  elms = tmp.querySelectorAll('[data-keep]');
14863
- dom$J.removeAttributes(elms, 'data-keep'); //Backward compatible: cleanup button <span contenteditable="false"><a contenteditable="true">button</a></span>
14863
+ dom$K.removeAttributes(elms, 'data-keep'); //Backward compatible: cleanup button <span contenteditable="false"><a contenteditable="true">button</a></span>
14864
14864
 
14865
14865
  let links = tmp.querySelectorAll('a');
14866
14866
  Array.prototype.forEach.call(links, link => {
@@ -14876,52 +14876,52 @@ class HtmlUtil {
14876
14876
  //ContentBox
14877
14877
  // Remove dummy DIV after last section
14878
14878
  let elms = tmp.querySelectorAll('.is-dummy');
14879
- dom$J.removeElements(elms);
14879
+ dom$K.removeElements(elms);
14880
14880
  elms = tmp.querySelectorAll('.is-animated');
14881
14881
  Array.prototype.forEach.call(elms, elm => {
14882
- dom$J.removeClass(elm, 'animated');
14883
- dom$J.removeClass(elm, 'pulse');
14884
- dom$J.removeClass(elm, 'bounceIn');
14885
- dom$J.removeClass(elm, 'fadeIn');
14886
- dom$J.removeClass(elm, 'fadeOut'); //new
14887
-
14888
- dom$J.removeClass(elm, 'fadeInDown');
14889
- dom$J.removeClass(elm, 'fadeInLeft');
14890
- dom$J.removeClass(elm, 'fadeInRight');
14891
- dom$J.removeClass(elm, 'fadeInUp');
14892
- dom$J.removeClass(elm, 'flipInX');
14893
- dom$J.removeClass(elm, 'flipInY');
14894
- dom$J.removeClass(elm, 'slideInUp');
14895
- dom$J.removeClass(elm, 'slideInDown');
14896
- dom$J.removeClass(elm, 'slideInLeft');
14897
- dom$J.removeClass(elm, 'slideInRight');
14898
- dom$J.removeClass(elm, 'zoomIn');
14882
+ dom$K.removeClass(elm, 'animated');
14883
+ dom$K.removeClass(elm, 'pulse');
14884
+ dom$K.removeClass(elm, 'bounceIn');
14885
+ dom$K.removeClass(elm, 'fadeIn');
14886
+ dom$K.removeClass(elm, 'fadeOut'); //new
14887
+
14888
+ dom$K.removeClass(elm, 'fadeInDown');
14889
+ dom$K.removeClass(elm, 'fadeInLeft');
14890
+ dom$K.removeClass(elm, 'fadeInRight');
14891
+ dom$K.removeClass(elm, 'fadeInUp');
14892
+ dom$K.removeClass(elm, 'flipInX');
14893
+ dom$K.removeClass(elm, 'flipInY');
14894
+ dom$K.removeClass(elm, 'slideInUp');
14895
+ dom$K.removeClass(elm, 'slideInDown');
14896
+ dom$K.removeClass(elm, 'slideInLeft');
14897
+ dom$K.removeClass(elm, 'slideInRight');
14898
+ dom$K.removeClass(elm, 'zoomIn');
14899
14899
  elm.style.animationDelay = '';
14900
14900
  }); //Cleanup utils
14901
14901
 
14902
14902
  elms = tmp.querySelectorAll('.is-appeared');
14903
14903
  Array.prototype.forEach.call(elms, elm => {
14904
- dom$J.removeClass(elm, 'is-appeared');
14904
+ dom$K.removeClass(elm, 'is-appeared');
14905
14905
  });
14906
14906
  elms = tmp.querySelectorAll('.box-active');
14907
14907
  Array.prototype.forEach.call(elms, elm => {
14908
- dom$J.removeClass(elm, 'box-active');
14908
+ dom$K.removeClass(elm, 'box-active');
14909
14909
  });
14910
14910
  elms = tmp.querySelectorAll('.section-active');
14911
14911
  Array.prototype.forEach.call(elms, elm => {
14912
- dom$J.removeClass(elm, 'section-active');
14912
+ dom$K.removeClass(elm, 'section-active');
14913
14913
  });
14914
14914
  elms = tmp.querySelectorAll('.is-section-tool');
14915
- dom$J.removeElements(elms);
14915
+ dom$K.removeElements(elms);
14916
14916
  var html_content = '';
14917
14917
  var html_footer = '';
14918
14918
  var html_others = ''; // Apply behavior on each row
14919
14919
 
14920
- const sections = dom$J.elementChildren(tmp);
14920
+ const sections = dom$K.elementChildren(tmp);
14921
14921
  sections.forEach(section => {
14922
14922
  let currentSection = section;
14923
14923
 
14924
- if (dom$J.hasClass(currentSection, 'is-section')) {
14924
+ if (dom$K.hasClass(currentSection, 'is-section')) {
14925
14925
  var secclass = ''; // var secstyle = '';
14926
14926
 
14927
14927
  if (currentSection.getAttribute('class')) secclass = ' class="' + currentSection.getAttribute('class') + '"'; // if (currentSection.getAttribute('style')) secstyle = ' style="' + currentSection.getAttribute('style') + '"';
@@ -14971,7 +14971,7 @@ class HtmlUtil {
14971
14971
 
14972
14972
  }
14973
14973
 
14974
- const dom$I = new Dom();
14974
+ const dom$J = new Dom();
14975
14975
 
14976
14976
  class UndoRedo {
14977
14977
  constructor(builder) {
@@ -15022,7 +15022,7 @@ class UndoRedo {
15022
15022
  }
15023
15023
 
15024
15024
  let head = document.getElementsByTagName('head')[0];
15025
- dom$I.appendHtml(head, styles);
15025
+ dom$J.appendHtml(head, styles);
15026
15026
  }
15027
15027
 
15028
15028
  readHtml() {
@@ -15056,14 +15056,14 @@ class UndoRedo {
15056
15056
  builder.removeAttribute('data-sort');
15057
15057
  });
15058
15058
  let elms = tmp.querySelectorAll('[data-click]');
15059
- dom$I.removeAttributes(elms, 'data-click');
15060
- dom$I.removeElements(tmp.querySelectorAll('.is-row-tool'));
15061
- dom$I.removeElements(tmp.querySelectorAll('.is-rowadd-tool'));
15062
- dom$I.removeElements(tmp.querySelectorAll('.ovl'));
15063
- dom$I.removeElements(tmp.querySelectorAll('.row-add-initial')); //ContentBox
15059
+ dom$J.removeAttributes(elms, 'data-click');
15060
+ dom$J.removeElements(tmp.querySelectorAll('.is-row-tool'));
15061
+ dom$J.removeElements(tmp.querySelectorAll('.is-rowadd-tool'));
15062
+ dom$J.removeElements(tmp.querySelectorAll('.ovl'));
15063
+ dom$J.removeElements(tmp.querySelectorAll('.row-add-initial')); //ContentBox
15064
15064
 
15065
15065
  elms = tmp.querySelectorAll('.is-section-tool');
15066
- dom$I.removeElements(elms);
15066
+ dom$J.removeElements(elms);
15067
15067
  }
15068
15068
 
15069
15069
  writeHtml(html) {
@@ -15237,13 +15237,13 @@ class UndoRedo {
15237
15237
 
15238
15238
  if (elm) {
15239
15239
  let panel = document.querySelector('.is-side.elementstyles');
15240
- dom$I.addClass(panel, 'active');
15240
+ dom$J.addClass(panel, 'active');
15241
15241
  setTimeout(() => {
15242
15242
  elm.click();
15243
15243
  }, 700);
15244
15244
  } else {
15245
15245
  let panel = document.querySelector('.is-side.elementstyles');
15246
- dom$I.removeClass(panel, 'active');
15246
+ dom$J.removeClass(panel, 'active');
15247
15247
  }
15248
15248
 
15249
15249
  if (this.builder.opts.onUndo) {
@@ -15328,13 +15328,13 @@ class UndoRedo {
15328
15328
 
15329
15329
  if (elm) {
15330
15330
  let panel = document.querySelector('.is-side.elementstyles');
15331
- dom$I.addClass(panel, 'active');
15331
+ dom$J.addClass(panel, 'active');
15332
15332
  setTimeout(() => {
15333
15333
  elm.click();
15334
15334
  }, 700);
15335
15335
  } else {
15336
15336
  let panel = document.querySelector('.is-side.elementstyles');
15337
- dom$I.removeClass(panel, 'active');
15337
+ dom$J.removeClass(panel, 'active');
15338
15338
  }
15339
15339
 
15340
15340
  if (this.builder.opts.onRedo) {
@@ -15347,7 +15347,7 @@ class UndoRedo {
15347
15347
  }
15348
15348
 
15349
15349
  const util = new Util();
15350
- const dom$H = new Dom();
15350
+ const dom$I = new Dom();
15351
15351
  /*!
15352
15352
  Ionicons
15353
15353
  License: MIT
@@ -15469,11 +15469,17 @@ const prepareSvgIcons = () => {
15469
15469
  <polyline points="17 8 21 12 17 16" />
15470
15470
  <line x1="14" y1="4" x2="10" y2="20" />
15471
15471
  </symbol>
15472
-
15472
+ <symbol viewBox="0 0 512 512" id="ion-ios-cloud-upload-outline">
15473
+ <path d="M193.3 260.4l-11.6-11.6 74.5-74.3 74.5 74.3-11.7 11.6-54.6-54.6v241.8h-16.5V205.8z"/>
15474
+ <path d="M399.3 183.6c0-1.2.2-2.4.2-3.6 0-64.3-52.8-116.4-116.8-116.4-46.1 0-85.8 27.1-104.4 66.3-8.1-4.1-17.1-6.4-26.8-6.4-29.6 0-54.1 23.6-58.9 52C57.4 187.6 32 222.2 32 261.8c0 49.7 40.1 90.2 89.6 90.2H213v-16h-90.6c-40.9 0-74.2-33.5-74.2-74.6 0-31.8 20.2-61.2 50.2-71.6l8.4-2.9 1.5-8.8c3.6-21.6 22.1-39.3 43.9-39.3 6.9 0 13.7 1.6 19.9 4.8l13.5 6.8 6.5-13.7c16.6-34.9 52.1-57.4 90.4-57.4 55.3 0 100.9 43.3 100.9 98.9 0 13.3-.2 20.3-.2 20.3l15.2.1c36.6.5 65.6 33.4 65.6 70.3 0 36.8-29.8 66.9-66.5 67.1H297v16h101c45 0 82-37.3 82-82.8s-35.5-85.5-80.7-85.6z"/>
15475
+ </symbol>
15476
+ <symbol viewBox="0 0 512 512" id="ion-volume-medium">
15477
+ <path d="M270 407.7V104.4L175.3 192H71v128h104.3zm56.3-52.1c20.5-27.8 32.8-62.3 32.8-99.6 0-37.4-12.3-71.8-32.8-99.6l-20.4 15.3c17.4 23.6 27.8 52.7 27.8 84.3 0 31.6-10.4 60.7-27.8 84.3l20.4 15.3zm66.5 46c30-40.7 48-91 48-145.6s-18-104.9-48-145.6l-20.4 15.3c26.9 36.4 43 81.4 43 130.3 0 48.9-16.1 93.8-43 130.3l20.4 15.3z"/>
15478
+ </symbol>
15473
15479
  </defs>
15474
15480
  </svg>`;
15475
15481
  const builderstuff = util.builderStuff();
15476
- dom$H.appendHtml(builderstuff, html);
15482
+ dom$I.appendHtml(builderstuff, html);
15477
15483
  };
15478
15484
 
15479
15485
  class Snippets {
@@ -16645,7 +16651,7 @@ class Snippets {
16645
16651
 
16646
16652
  }
16647
16653
 
16648
- const dom$G = new Dom();
16654
+ const dom$H = new Dom();
16649
16655
 
16650
16656
  const renderQuickAdd = builder => {
16651
16657
  const util = builder.util;
@@ -16674,12 +16680,14 @@ const renderQuickAdd = builder => {
16674
16680
  ${builder.opts.emailMode ? '' : `<button title="${util.out('Two Button')}" class="add-twobutton"><span style="display:block;margin:0 0 8px;"><span style="display:inline-block;border:#a1a1a1 1px solid;background:#f3f3f3;width:10px;height:4px;"></span></span>${util.out('Two Button')}</button>`}
16675
16681
  <button title="${util.out('Youtube')}" class="add-youtube"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-social-youtube-outline"></use></svg></use></svg></svg></span>${util.out('Youtube')}</button>
16676
16682
  <button title="${util.out('Video')}" class="add-video"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-ios-play"></use></svg></use></svg></svg></span>${util.out('Video')}</button>
16683
+ <button style="display:none" title="${util.out('Audio')}" class="add-audio"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-volume-medium"></use></svg></use></svg></svg></span>${util.out('Audio')}</button>
16677
16684
  <button title="${util.out('Map')}" class="add-map"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-location"></use></svg></use></svg></svg></span>${util.out('Map')}</button>
16678
16685
  <button title="${util.out('Table')}" class="add-table"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#icon-table"></use></svg></use></svg></svg></span>${util.out('Table')}</button>
16679
16686
  <button title="${util.out('Icon')}" class="add-icon"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-android-happy"></use></svg></use></svg></svg></span>${util.out('Icon')}</button>
16680
16687
  <button title="${util.out('Social Links')}" class="add-social"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-social-twitter"></use></svg></use></svg></svg></span>${util.out('Social Links')}</button>
16681
16688
  <button title="${util.out('HTML/JS')}" class="add-code"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-code"></use></svg></use></svg></svg></span>${util.out('HTML/JS')}</button>
16682
16689
  <button title="${util.out('Spacer')}" class="add-spacer"><span style="display:block;margin:0 0 8px;"><span style="display:inline-block;background:#eee;width:30px;height:5px;"></span></span>${util.out('Spacer')}</button>
16690
+ <button style="display:none" title="${util.out('Line')}" class="add-line"><span style="display:block;margin:0 0 8px;"><span style="display:inline-block;background:#ddd;width:30px;height:2px;"></span></span>${util.out('Line')}</button>
16683
16691
  <div class="pop-separator"></div>
16684
16692
  <button title="${util.out('More...')}" class="add-more" style="flex-direction:initial;">${util.out('More...')}</button>
16685
16693
  </div>
@@ -16691,19 +16699,19 @@ const renderQuickAdd = builder => {
16691
16699
  </div>
16692
16700
  </div>
16693
16701
  `;
16694
- dom$G.appendHtml(builderStuff, html);
16702
+ dom$H.appendHtml(builderStuff, html);
16695
16703
  quickadd = builderStuff.querySelector('.quickadd');
16696
16704
  document.addEventListener('click', e => {
16697
16705
  e = e || window.event;
16698
16706
  var target = e.target || e.srcElement;
16699
16707
 
16700
16708
  if (quickadd.style.display === 'flex') {
16701
- let a = dom$G.parentsHasClass(target, 'quickadd');
16702
- let b = dom$G.parentsHasClass(target, 'row-add');
16703
- let c = dom$G.parentsHasClass(target, 'is-rowadd-tool');
16704
- let d = dom$G.parentsHasClass(target, 'cell-add');
16705
- let f = dom$G.parentsHasClass(target, 'elm-add');
16706
- let g = dom$G.parentsHasClass(target, 'row-add-initial');
16709
+ let a = dom$H.parentsHasClass(target, 'quickadd');
16710
+ let b = dom$H.parentsHasClass(target, 'row-add');
16711
+ let c = dom$H.parentsHasClass(target, 'is-rowadd-tool');
16712
+ let d = dom$H.parentsHasClass(target, 'cell-add');
16713
+ let f = dom$H.parentsHasClass(target, 'elm-add');
16714
+ let g = dom$H.parentsHasClass(target, 'row-add-initial');
16707
16715
 
16708
16716
  if (a || b || c || d || f || g) {
16709
16717
  return;
@@ -16715,12 +16723,12 @@ const renderQuickAdd = builder => {
16715
16723
  });
16716
16724
  let tabs = quickadd.querySelectorAll('.is-pop-tab-item');
16717
16725
  Array.prototype.forEach.call(tabs, tab => {
16718
- dom$G.addEventListener(tab, 'click', e => {
16726
+ dom$H.addEventListener(tab, 'click', e => {
16719
16727
  let elms = quickadd.querySelectorAll('.is-pop-tab-item');
16720
16728
  Array.prototype.forEach.call(elms, elm => {
16721
- dom$G.removeClass(elm, 'active');
16729
+ dom$H.removeClass(elm, 'active');
16722
16730
  });
16723
- dom$G.addClass(e.target, 'active');
16731
+ dom$H.addClass(e.target, 'active');
16724
16732
  let val = quickadd.querySelector('.active').getAttribute('data-value');
16725
16733
 
16726
16734
  if (val === 'left') {
@@ -16731,7 +16739,7 @@ const renderQuickAdd = builder => {
16731
16739
  });
16732
16740
  });
16733
16741
  let elm = quickadd.querySelector('.add-paragraph');
16734
- dom$G.addEventListener(elm, 'click', () => {
16742
+ dom$H.addEventListener(elm, 'click', () => {
16735
16743
  const mode = quickadd.getAttribute('data-mode');
16736
16744
  const html = `<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.
16737
16745
  Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
@@ -16739,7 +16747,7 @@ const renderQuickAdd = builder => {
16739
16747
  util.addContent(html, mode);
16740
16748
  });
16741
16749
  elm = quickadd.querySelector('.add-headline');
16742
- dom$G.addEventListener(elm, 'click', () => {
16750
+ dom$H.addEventListener(elm, 'click', () => {
16743
16751
  const mode = quickadd.getAttribute('data-mode');
16744
16752
  const html = `<div class="display">
16745
16753
  <h1>Headline Goes Here</h1>
@@ -16748,7 +16756,7 @@ const renderQuickAdd = builder => {
16748
16756
  util.addContent(html, mode);
16749
16757
  });
16750
16758
  elm = quickadd.querySelector('.add-image');
16751
- dom$G.addEventListener(elm, 'click', () => {
16759
+ dom$H.addEventListener(elm, 'click', () => {
16752
16760
  const mode = quickadd.getAttribute('data-mode');
16753
16761
  let html = `<img onload="imageLoaded(this)" src="${builder.opts.snippetPath}example.png" alt="" />`;
16754
16762
 
@@ -16759,31 +16767,31 @@ const renderQuickAdd = builder => {
16759
16767
  util.addContent(html, mode);
16760
16768
  });
16761
16769
  elm = quickadd.querySelector('.add-heading1');
16762
- dom$G.addEventListener(elm, 'click', () => {
16770
+ dom$H.addEventListener(elm, 'click', () => {
16763
16771
  const mode = quickadd.getAttribute('data-mode');
16764
16772
  const html = '<h1>Heading 1 here</h1>';
16765
16773
  util.addContent(html, mode);
16766
16774
  });
16767
16775
  elm = quickadd.querySelector('.add-heading2');
16768
- dom$G.addEventListener(elm, 'click', () => {
16776
+ dom$H.addEventListener(elm, 'click', () => {
16769
16777
  const mode = quickadd.getAttribute('data-mode');
16770
16778
  const html = '<h2>Heading 2 here</h2>';
16771
16779
  util.addContent(html, mode);
16772
16780
  });
16773
16781
  elm = quickadd.querySelector('.add-heading3');
16774
- dom$G.addEventListener(elm, 'click', () => {
16782
+ dom$H.addEventListener(elm, 'click', () => {
16775
16783
  const mode = quickadd.getAttribute('data-mode');
16776
16784
  const html = '<h3>Heading 3 here</h3>';
16777
16785
  util.addContent(html, mode);
16778
16786
  });
16779
16787
  elm = quickadd.querySelector('.add-heading4');
16780
- dom$G.addEventListener(elm, 'click', () => {
16788
+ dom$H.addEventListener(elm, 'click', () => {
16781
16789
  const mode = quickadd.getAttribute('data-mode');
16782
16790
  const html = '<h4>Heading 4 here</h4>';
16783
16791
  util.addContent(html, mode);
16784
16792
  });
16785
16793
  elm = quickadd.querySelector('.add-preformatted');
16786
- dom$G.addEventListener(elm, 'click', () => {
16794
+ dom$H.addEventListener(elm, 'click', () => {
16787
16795
  const mode = quickadd.getAttribute('data-mode');
16788
16796
  const html = `<pre>Lorem Ipsum is simply dummy text of the printing and typesetting industry.
16789
16797
  Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
@@ -16791,7 +16799,7 @@ const renderQuickAdd = builder => {
16791
16799
  util.addContent(html, mode);
16792
16800
  });
16793
16801
  elm = quickadd.querySelector('.add-list');
16794
- dom$G.addEventListener(elm, 'click', () => {
16802
+ dom$H.addEventListener(elm, 'click', () => {
16795
16803
  const mode = quickadd.getAttribute('data-mode');
16796
16804
  const html = `<ul style="list-style: initial;padding-left: 20px;">
16797
16805
  <li>Lorem Ipsum is simply dummy text</li>
@@ -16800,13 +16808,13 @@ const renderQuickAdd = builder => {
16800
16808
  util.addContent(html, mode);
16801
16809
  });
16802
16810
  elm = quickadd.querySelector('.add-quote');
16803
- dom$G.addEventListener(elm, 'click', () => {
16811
+ dom$H.addEventListener(elm, 'click', () => {
16804
16812
  const mode = quickadd.getAttribute('data-mode');
16805
16813
  const html = '<blockquote>Lorem Ipsum is simply dummy text</blockquote>';
16806
16814
  util.addContent(html, mode);
16807
16815
  });
16808
16816
  elm = quickadd.querySelector('.add-button');
16809
- if (elm) dom$G.addEventListener(elm, 'click', () => {
16817
+ if (elm) dom$H.addEventListener(elm, 'click', () => {
16810
16818
  const mode = quickadd.getAttribute('data-mode');
16811
16819
  let html = `<div>
16812
16820
  <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 mt-2 mb-2 hover:border-transparent rounded bg-gray-200 hover:bg-gray-300 tracking-50 uppercase py-2 size-14 px-6 font-semibold text-gray-600 leading-relaxed">Read More</a>
@@ -16819,7 +16827,7 @@ const renderQuickAdd = builder => {
16819
16827
  util.addContent(html, mode);
16820
16828
  });
16821
16829
  elm = quickadd.querySelector('.add-twobutton');
16822
- if (elm) dom$G.addEventListener(elm, 'click', () => {
16830
+ if (elm) dom$H.addEventListener(elm, 'click', () => {
16823
16831
  const mode = quickadd.getAttribute('data-mode');
16824
16832
  let html = `<div>
16825
16833
  <a href="#" role="button" class="transition-all inline-block cursor-pointer no-underline border-2 border-solid border-transparent ml-1 mr-1 mt-2 mb-2 hover:border-transparent rounded bg-gray-200 hover:bg-gray-300 tracking-50 uppercase py-2 size-14 px-6 font-semibold text-gray-600 leading-relaxed">Read More</a>
@@ -16836,14 +16844,21 @@ const renderQuickAdd = builder => {
16836
16844
  util.addContent(html, mode);
16837
16845
  });
16838
16846
  elm = quickadd.querySelector('.add-spacer');
16839
- dom$G.addEventListener(elm, 'click', () => {
16847
+ dom$H.addEventListener(elm, 'click', () => {
16840
16848
  const mode = quickadd.getAttribute('data-mode');
16841
16849
  const html = '<div class="spacer height-80"></div>'; // util.addContent(html, mode, 'data-noedit');
16842
16850
 
16843
16851
  util.addContent(html, mode);
16844
16852
  });
16853
+ elm = quickadd.querySelector('.add-line');
16854
+ dom$H.addEventListener(elm, 'click', () => {
16855
+ const mode = quickadd.getAttribute('data-mode');
16856
+ const html = '<hr>'; // util.addContent(html, mode, 'data-noedit');
16857
+
16858
+ util.addContent(html, mode);
16859
+ });
16845
16860
  elm = quickadd.querySelector('.add-code');
16846
- dom$G.addEventListener(elm, 'click', () => {
16861
+ dom$H.addEventListener(elm, 'click', () => {
16847
16862
  // const mode = quickadd.getAttribute('data-mode');
16848
16863
  let html = '<div class="row clearfix">' + '<div class="column full" data-noedit data-html="' + encodeURIComponent('<h1 id="{id}">Lorem ipsum</h1>' + '<p>This is a code block. You can edit this block using the source dialog.</p>' + '<scr' + 'ipt>' + 'var docReady = function (fn) {' + 'var stateCheck = setInterval(function () {' + 'if (document.readyState !== "complete") return;' + 'clearInterval(stateCheck);' + 'try{fn()}catch(e){}' + '}, 1);' + '};' + 'docReady(function() {' + 'document.querySelector(\'#{id}\').innerHTML =\'<b>Hello World..!</b>\';' + '});' + '</scr' + 'ipt>') + '">' + '</div>' + '</div>';
16849
16864
  let noedit = true;
@@ -16884,7 +16899,7 @@ const renderQuickAdd = builder => {
16884
16899
  builder.addSnippet(html, bSnippet, noedit);
16885
16900
  });
16886
16901
  elm = quickadd.querySelector('.add-table');
16887
- dom$G.addEventListener(elm, 'click', () => {
16902
+ dom$H.addEventListener(elm, 'click', () => {
16888
16903
  const mode = quickadd.getAttribute('data-mode');
16889
16904
  const html = `<table class="default" style="border-collapse:collapse;width:100%;">
16890
16905
  <thead>
@@ -16901,7 +16916,7 @@ const renderQuickAdd = builder => {
16901
16916
  util.addContent(html, mode);
16902
16917
  });
16903
16918
  elm = quickadd.querySelector('.add-icon');
16904
- dom$G.addEventListener(elm, 'click', () => {
16919
+ dom$H.addEventListener(elm, 'click', () => {
16905
16920
  const mode = quickadd.getAttribute('data-mode');
16906
16921
  const html = `<div style="text-align: center;">
16907
16922
  <i class="icon ion-android-alarm-clock size-80"></i>
@@ -16909,7 +16924,7 @@ const renderQuickAdd = builder => {
16909
16924
  util.addContent(html, mode);
16910
16925
  });
16911
16926
  elm = quickadd.querySelector('.add-social');
16912
- dom$G.addEventListener(elm, 'click', () => {
16927
+ dom$H.addEventListener(elm, 'click', () => {
16913
16928
  const mode = quickadd.getAttribute('data-mode');
16914
16929
  const html = `<div class="is-social" style="text-align: center;">
16915
16930
  <a href="https://twitter.com/"><i class="icon ion-social-twitter" style="margin-right: 1em"></i></a>
@@ -16919,7 +16934,7 @@ const renderQuickAdd = builder => {
16919
16934
  util.addContent(html, mode);
16920
16935
  });
16921
16936
  elm = quickadd.querySelector('.add-map');
16922
- dom$G.addEventListener(elm, 'click', () => {
16937
+ dom$H.addEventListener(elm, 'click', () => {
16923
16938
  const mode = quickadd.getAttribute('data-mode');
16924
16939
  const html = `<div class="embed-responsive embed-responsive-16by9">
16925
16940
  <iframe width="100%" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" class="mg1" src="https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&amp;hl=en&amp;sll=-7.981898,112.626504&amp;sspn=0.009084,0.016512&amp;oq=melbourne&amp;hnear=Melbourne+Victoria,+Australia&amp;t=m&amp;z=10&amp;output=embed"></iframe>
@@ -16927,7 +16942,7 @@ const renderQuickAdd = builder => {
16927
16942
  util.addContent(html, mode);
16928
16943
  });
16929
16944
  elm = quickadd.querySelector('.add-youtube');
16930
- dom$G.addEventListener(elm, 'click', () => {
16945
+ dom$H.addEventListener(elm, 'click', () => {
16931
16946
  const mode = quickadd.getAttribute('data-mode');
16932
16947
  const html = `<div class="embed-responsive embed-responsive-16by9">
16933
16948
  <iframe width="560" height="315" src="https://www.youtube.com/embed/P5yHEKqx86U?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
@@ -16935,7 +16950,7 @@ const renderQuickAdd = builder => {
16935
16950
  util.addContent(html, mode);
16936
16951
  });
16937
16952
  elm = quickadd.querySelector('.add-video');
16938
- dom$G.addEventListener(elm, 'click', () => {
16953
+ dom$H.addEventListener(elm, 'click', () => {
16939
16954
  const mode = quickadd.getAttribute('data-mode');
16940
16955
  let html = `<video style="width: 100%;" loop="" autoplay="">
16941
16956
  <source src="${builder.opts.snippetPath}example.mp4" type="video/mp4"></video>`;
@@ -16947,9 +16962,30 @@ const renderQuickAdd = builder => {
16947
16962
 
16948
16963
  util.addContent(html, mode);
16949
16964
  });
16965
+ elm = quickadd.querySelector('.add-audio');
16966
+ dom$H.addEventListener(elm, 'click', () => {
16967
+ const mode = quickadd.getAttribute('data-mode');
16968
+ let html = `<div style="display:flex;position:relative;margin:15px 0;background:transparent;">
16969
+ <audio controls="" style="width:100%">
16970
+ <source src="${builder.opts.snippetPath}example.mp3" type="audio/mpeg">
16971
+ Your browser does not support the audio element.
16972
+ </audio>
16973
+ </div>`;
16974
+
16975
+ if (builder.opts.snippetSampleAudio) {
16976
+ html = `<div style="display:flex;position:relative;margin:15px 0;background:transparent;">
16977
+ <audio controls="" style="width:100%">
16978
+ <source src="${builder.opts.snippetSampleAudio}" type="audio/mpeg">
16979
+ Your browser does not support the audio element.
16980
+ </audio>
16981
+ </div>`;
16982
+ }
16983
+
16984
+ util.addContent(html, mode);
16985
+ });
16950
16986
  const snippets = new Snippets(builder);
16951
16987
  elm = quickadd.querySelector('.add-more');
16952
- dom$G.addEventListener(elm, 'click', () => {
16988
+ dom$H.addEventListener(elm, 'click', () => {
16953
16989
  let modal = builderStuff.querySelector('.snippets');
16954
16990
  util.showModal(modal, false, null, false); // let iframe = modal.querySelector('iframe');
16955
16991
  // if(iframe.src==='about:blank') {
@@ -16973,7 +17009,7 @@ const renderQuickAdd = builder => {
16973
17009
  return quickadd;
16974
17010
  };
16975
17011
 
16976
- const dom$F = new Dom();
17012
+ const dom$G = new Dom();
16977
17013
  class Grid {
16978
17014
  constructor(builder) {
16979
17015
  this.builder = builder;
@@ -17148,7 +17184,7 @@ class Grid {
17148
17184
  var rowElement = row.cloneNode(true);
17149
17185
  rowElement.innerHTML = '';
17150
17186
  rowElement.appendChild(cell);
17151
- dom$F.moveAfter(rowElement, row); //re-add tool
17187
+ dom$G.moveAfter(rowElement, row); //re-add tool
17152
17188
 
17153
17189
  let builderActive = document.querySelector('.builder-active');
17154
17190
  builder.applyBehaviorOn(builderActive);
@@ -17173,7 +17209,7 @@ class Grid {
17173
17209
  if (!cell) return;
17174
17210
  this.builder.uo.saveForUndo();
17175
17211
  var cellElement = cell.cloneNode(true);
17176
- dom$F.removeClass(cellElement, 'cell-active');
17212
+ dom$G.removeClass(cellElement, 'cell-active');
17177
17213
  cellElement.removeAttribute('data-click');
17178
17214
  let row = cell.parentNode;
17179
17215
  let num = 2; //is-row-tool & is-rowadd-tool
@@ -17273,15 +17309,15 @@ class Grid {
17273
17309
 
17274
17310
  for (let j = 0; j < group.length; j++) {
17275
17311
  if (group[j].length === 3) {
17276
- if (dom$F.hasClass(cell, group[j][0]) && dom$F.hasClass(cellnext, group[j][1]) && dom$F.hasClass(cellnext2, group[j][2])) {
17312
+ if (dom$G.hasClass(cell, group[j][0]) && dom$G.hasClass(cellnext, group[j][1]) && dom$G.hasClass(cellnext2, group[j][2])) {
17277
17313
  if (j + 1 === group.length) ; else {
17278
17314
  this.builder.uo.saveForUndo();
17279
- dom$F.removeClass(cell, group[j][0]);
17280
- dom$F.removeClass(cellnext, group[j][1]);
17281
- dom$F.removeClass(cellnext2, group[j][2]);
17282
- dom$F.addClass(cell, group[j + 1][0]);
17283
- dom$F.addClass(cellnext, group[j + 1][1]);
17284
- dom$F.addClass(cellnext2, group[j + 1][2]);
17315
+ dom$G.removeClass(cell, group[j][0]);
17316
+ dom$G.removeClass(cellnext, group[j][1]);
17317
+ dom$G.removeClass(cellnext2, group[j][2]);
17318
+ dom$G.addClass(cell, group[j + 1][0]);
17319
+ dom$G.addClass(cellnext, group[j + 1][1]);
17320
+ dom$G.addClass(cellnext2, group[j + 1][2]);
17285
17321
  columnTool.position(cell);
17286
17322
  this.builder.opts.onChange();
17287
17323
  return;
@@ -17297,13 +17333,13 @@ class Grid {
17297
17333
 
17298
17334
  for (let j = 0; j < group.length; j++) {
17299
17335
  if (group[j].length === 2) {
17300
- if (dom$F.hasClass(cell, group[j][0]) && dom$F.hasClass(cellnext, group[j][1])) {
17336
+ if (dom$G.hasClass(cell, group[j][0]) && dom$G.hasClass(cellnext, group[j][1])) {
17301
17337
  if (j + 1 === group.length) ; else {
17302
17338
  this.builder.uo.saveForUndo();
17303
- dom$F.removeClass(cell, group[j][0]);
17304
- dom$F.removeClass(cellnext, group[j][1]);
17305
- dom$F.addClass(cell, group[j + 1][0]);
17306
- dom$F.addClass(cellnext, group[j + 1][1]);
17339
+ dom$G.removeClass(cell, group[j][0]);
17340
+ dom$G.removeClass(cellnext, group[j][1]);
17341
+ dom$G.addClass(cell, group[j + 1][0]);
17342
+ dom$G.addClass(cellnext, group[j + 1][1]);
17307
17343
  columnTool.position(cell);
17308
17344
  this.builder.opts.onChange();
17309
17345
  return;
@@ -17319,86 +17355,86 @@ class Grid {
17319
17355
 
17320
17356
 
17321
17357
  if (rowClass !== '' && colClass.length > 0) {
17322
- if (!dom$F.hasClass(cell, colClass[11])) {
17358
+ if (!dom$G.hasClass(cell, colClass[11])) {
17323
17359
  //if not column full
17324
- if (dom$F.hasClass(cell, colClass[11])) {
17360
+ if (dom$G.hasClass(cell, colClass[11])) {
17325
17361
  return;
17326
17362
  }
17327
17363
 
17328
- if (dom$F.hasClass(cellnext, colClass[0])) {
17364
+ if (dom$G.hasClass(cellnext, colClass[0])) {
17329
17365
  return;
17330
17366
  }
17331
17367
 
17332
17368
  this.builder.uo.saveForUndo();
17333
17369
 
17334
- if (dom$F.hasClass(cell, colClass[10])) {
17335
- dom$F.removeClass(cell, colClass[10]);
17336
- dom$F.addClass(cell, colClass[11]);
17337
- } else if (dom$F.hasClass(cell, colClass[9])) {
17338
- dom$F.removeClass(cell, colClass[9]);
17339
- dom$F.addClass(cell, colClass[10]);
17340
- } else if (dom$F.hasClass(cell, colClass[8])) {
17341
- dom$F.removeClass(cell, colClass[8]);
17342
- dom$F.addClass(cell, colClass[9]);
17343
- } else if (dom$F.hasClass(cell, colClass[7])) {
17344
- dom$F.removeClass(cell, colClass[7]);
17345
- dom$F.addClass(cell, colClass[8]);
17346
- } else if (dom$F.hasClass(cell, colClass[6])) {
17347
- dom$F.removeClass(cell, colClass[6]);
17348
- dom$F.addClass(cell, colClass[7]);
17349
- } else if (dom$F.hasClass(cell, colClass[5])) {
17350
- dom$F.removeClass(cell, colClass[5]);
17351
- dom$F.addClass(cell, colClass[6]);
17352
- } else if (dom$F.hasClass(cell, colClass[4])) {
17353
- dom$F.removeClass(cell, colClass[4]);
17354
- dom$F.addClass(cell, colClass[5]);
17355
- } else if (dom$F.hasClass(cell, colClass[3])) {
17356
- dom$F.removeClass(cell, colClass[3]);
17357
- dom$F.addClass(cell, colClass[4]);
17358
- } else if (dom$F.hasClass(cell, colClass[2])) {
17359
- dom$F.removeClass(cell, colClass[2]);
17360
- dom$F.addClass(cell, colClass[3]);
17361
- } else if (dom$F.hasClass(cell, colClass[1])) {
17362
- dom$F.removeClass(cell, colClass[1]);
17363
- dom$F.addClass(cell, colClass[2]);
17364
- } else if (dom$F.hasClass(cell, colClass[0])) {
17365
- dom$F.removeClass(cell, colClass[0]);
17366
- dom$F.addClass(cell, colClass[1]);
17367
- }
17368
-
17369
- if (dom$F.hasClass(cellnext, colClass[1])) {
17370
- dom$F.removeClass(cellnext, colClass[1]);
17371
- dom$F.addClass(cellnext, colClass[0]);
17372
- } else if (dom$F.hasClass(cellnext, colClass[2])) {
17373
- dom$F.removeClass(cellnext, colClass[2]);
17374
- dom$F.addClass(cellnext, colClass[1]);
17375
- } else if (dom$F.hasClass(cellnext, colClass[3])) {
17376
- dom$F.removeClass(cellnext, colClass[3]);
17377
- dom$F.addClass(cellnext, colClass[2]);
17378
- } else if (dom$F.hasClass(cellnext, colClass[4])) {
17379
- dom$F.removeClass(cellnext, colClass[4]);
17380
- dom$F.addClass(cellnext, colClass[3]);
17381
- } else if (dom$F.hasClass(cellnext, colClass[5])) {
17382
- dom$F.removeClass(cellnext, colClass[5]);
17383
- dom$F.addClass(cellnext, colClass[4]);
17384
- } else if (dom$F.hasClass(cellnext, colClass[6])) {
17385
- dom$F.removeClass(cellnext, colClass[6]);
17386
- dom$F.addClass(cellnext, colClass[5]);
17387
- } else if (dom$F.hasClass(cellnext, colClass[7])) {
17388
- dom$F.removeClass(cellnext, colClass[7]);
17389
- dom$F.addClass(cellnext, colClass[6]);
17390
- } else if (dom$F.hasClass(cellnext, colClass[8])) {
17391
- dom$F.removeClass(cellnext, colClass[8]);
17392
- dom$F.addClass(cellnext, colClass[7]);
17393
- } else if (dom$F.hasClass(cellnext, colClass[9])) {
17394
- dom$F.removeClass(cellnext, colClass[9]);
17395
- dom$F.addClass(cellnext, colClass[8]);
17396
- } else if (dom$F.hasClass(cellnext, colClass[10])) {
17397
- dom$F.removeClass(cellnext, colClass[10]);
17398
- dom$F.addClass(cellnext, colClass[9]);
17399
- } else if (dom$F.hasClass(cellnext, colClass[11])) {
17400
- dom$F.removeClass(cellnext, colClass[11]);
17401
- dom$F.addClass(cellnext, colClass[10]);
17370
+ if (dom$G.hasClass(cell, colClass[10])) {
17371
+ dom$G.removeClass(cell, colClass[10]);
17372
+ dom$G.addClass(cell, colClass[11]);
17373
+ } else if (dom$G.hasClass(cell, colClass[9])) {
17374
+ dom$G.removeClass(cell, colClass[9]);
17375
+ dom$G.addClass(cell, colClass[10]);
17376
+ } else if (dom$G.hasClass(cell, colClass[8])) {
17377
+ dom$G.removeClass(cell, colClass[8]);
17378
+ dom$G.addClass(cell, colClass[9]);
17379
+ } else if (dom$G.hasClass(cell, colClass[7])) {
17380
+ dom$G.removeClass(cell, colClass[7]);
17381
+ dom$G.addClass(cell, colClass[8]);
17382
+ } else if (dom$G.hasClass(cell, colClass[6])) {
17383
+ dom$G.removeClass(cell, colClass[6]);
17384
+ dom$G.addClass(cell, colClass[7]);
17385
+ } else if (dom$G.hasClass(cell, colClass[5])) {
17386
+ dom$G.removeClass(cell, colClass[5]);
17387
+ dom$G.addClass(cell, colClass[6]);
17388
+ } else if (dom$G.hasClass(cell, colClass[4])) {
17389
+ dom$G.removeClass(cell, colClass[4]);
17390
+ dom$G.addClass(cell, colClass[5]);
17391
+ } else if (dom$G.hasClass(cell, colClass[3])) {
17392
+ dom$G.removeClass(cell, colClass[3]);
17393
+ dom$G.addClass(cell, colClass[4]);
17394
+ } else if (dom$G.hasClass(cell, colClass[2])) {
17395
+ dom$G.removeClass(cell, colClass[2]);
17396
+ dom$G.addClass(cell, colClass[3]);
17397
+ } else if (dom$G.hasClass(cell, colClass[1])) {
17398
+ dom$G.removeClass(cell, colClass[1]);
17399
+ dom$G.addClass(cell, colClass[2]);
17400
+ } else if (dom$G.hasClass(cell, colClass[0])) {
17401
+ dom$G.removeClass(cell, colClass[0]);
17402
+ dom$G.addClass(cell, colClass[1]);
17403
+ }
17404
+
17405
+ if (dom$G.hasClass(cellnext, colClass[1])) {
17406
+ dom$G.removeClass(cellnext, colClass[1]);
17407
+ dom$G.addClass(cellnext, colClass[0]);
17408
+ } else if (dom$G.hasClass(cellnext, colClass[2])) {
17409
+ dom$G.removeClass(cellnext, colClass[2]);
17410
+ dom$G.addClass(cellnext, colClass[1]);
17411
+ } else if (dom$G.hasClass(cellnext, colClass[3])) {
17412
+ dom$G.removeClass(cellnext, colClass[3]);
17413
+ dom$G.addClass(cellnext, colClass[2]);
17414
+ } else if (dom$G.hasClass(cellnext, colClass[4])) {
17415
+ dom$G.removeClass(cellnext, colClass[4]);
17416
+ dom$G.addClass(cellnext, colClass[3]);
17417
+ } else if (dom$G.hasClass(cellnext, colClass[5])) {
17418
+ dom$G.removeClass(cellnext, colClass[5]);
17419
+ dom$G.addClass(cellnext, colClass[4]);
17420
+ } else if (dom$G.hasClass(cellnext, colClass[6])) {
17421
+ dom$G.removeClass(cellnext, colClass[6]);
17422
+ dom$G.addClass(cellnext, colClass[5]);
17423
+ } else if (dom$G.hasClass(cellnext, colClass[7])) {
17424
+ dom$G.removeClass(cellnext, colClass[7]);
17425
+ dom$G.addClass(cellnext, colClass[6]);
17426
+ } else if (dom$G.hasClass(cellnext, colClass[8])) {
17427
+ dom$G.removeClass(cellnext, colClass[8]);
17428
+ dom$G.addClass(cellnext, colClass[7]);
17429
+ } else if (dom$G.hasClass(cellnext, colClass[9])) {
17430
+ dom$G.removeClass(cellnext, colClass[9]);
17431
+ dom$G.addClass(cellnext, colClass[8]);
17432
+ } else if (dom$G.hasClass(cellnext, colClass[10])) {
17433
+ dom$G.removeClass(cellnext, colClass[10]);
17434
+ dom$G.addClass(cellnext, colClass[9]);
17435
+ } else if (dom$G.hasClass(cellnext, colClass[11])) {
17436
+ dom$G.removeClass(cellnext, colClass[11]);
17437
+ dom$G.addClass(cellnext, colClass[10]);
17402
17438
  }
17403
17439
 
17404
17440
  columnTool.position(cell);
@@ -17436,15 +17472,15 @@ class Grid {
17436
17472
 
17437
17473
  for (let j = 0; j < group.length; j++) {
17438
17474
  if (group[j].length === 3) {
17439
- if (dom$F.hasClass(cell, group[j][0]) && dom$F.hasClass(cellnext, group[j][1]) && dom$F.hasClass(cellnext2, group[j][2])) {
17475
+ if (dom$G.hasClass(cell, group[j][0]) && dom$G.hasClass(cellnext, group[j][1]) && dom$G.hasClass(cellnext2, group[j][2])) {
17440
17476
  if (j === 0) ; else {
17441
17477
  this.builder.uo.saveForUndo();
17442
- dom$F.removeClass(cell, group[j][0]);
17443
- dom$F.removeClass(cellnext, group[j][1]);
17444
- dom$F.removeClass(cellnext2, group[j][2]);
17445
- dom$F.addClass(cell, group[j - 1][0]);
17446
- dom$F.addClass(cellnext, group[j - 1][1]);
17447
- dom$F.addClass(cellnext2, group[j - 1][2]);
17478
+ dom$G.removeClass(cell, group[j][0]);
17479
+ dom$G.removeClass(cellnext, group[j][1]);
17480
+ dom$G.removeClass(cellnext2, group[j][2]);
17481
+ dom$G.addClass(cell, group[j - 1][0]);
17482
+ dom$G.addClass(cellnext, group[j - 1][1]);
17483
+ dom$G.addClass(cellnext2, group[j - 1][2]);
17448
17484
  columnTool.position(cell);
17449
17485
  this.builder.opts.onChange();
17450
17486
  return;
@@ -17460,13 +17496,13 @@ class Grid {
17460
17496
 
17461
17497
  for (let j = 0; j < group.length; j++) {
17462
17498
  if (group[j].length === 2) {
17463
- if (dom$F.hasClass(cell, group[j][0]) && dom$F.hasClass(cellnext, group[j][1])) {
17499
+ if (dom$G.hasClass(cell, group[j][0]) && dom$G.hasClass(cellnext, group[j][1])) {
17464
17500
  if (j === 0) ; else {
17465
17501
  this.builder.uo.saveForUndo();
17466
- dom$F.removeClass(cell, group[j][0]);
17467
- dom$F.removeClass(cellnext, group[j][1]);
17468
- dom$F.addClass(cell, group[j - 1][0]);
17469
- dom$F.addClass(cellnext, group[j - 1][1]);
17502
+ dom$G.removeClass(cell, group[j][0]);
17503
+ dom$G.removeClass(cellnext, group[j][1]);
17504
+ dom$G.addClass(cell, group[j - 1][0]);
17505
+ dom$G.addClass(cellnext, group[j - 1][1]);
17470
17506
  columnTool.position(cell);
17471
17507
  this.builder.opts.onChange();
17472
17508
  return;
@@ -17484,86 +17520,86 @@ class Grid {
17484
17520
 
17485
17521
 
17486
17522
  if (rowClass !== '' && colClass.length > 0) {
17487
- if (!dom$F.hasClass(cell, colClass[11])) {
17523
+ if (!dom$G.hasClass(cell, colClass[11])) {
17488
17524
  //if not column full
17489
- if (dom$F.hasClass(cell, colClass[0])) {
17525
+ if (dom$G.hasClass(cell, colClass[0])) {
17490
17526
  return;
17491
17527
  }
17492
17528
 
17493
- if (dom$F.hasClass(cellnext, colClass[11])) {
17529
+ if (dom$G.hasClass(cellnext, colClass[11])) {
17494
17530
  return;
17495
17531
  }
17496
17532
 
17497
17533
  this.builder.uo.saveForUndo();
17498
17534
 
17499
- if (dom$F.hasClass(cell, colClass[11])) {
17500
- dom$F.removeClass(cell, colClass[11]);
17501
- dom$F.addClass(cell, colClass[10]);
17502
- } else if (dom$F.hasClass(cell, colClass[10])) {
17503
- dom$F.removeClass(cell, colClass[10]);
17504
- dom$F.addClass(cell, colClass[9]);
17505
- } else if (dom$F.hasClass(cell, colClass[9])) {
17506
- dom$F.removeClass(cell, colClass[9]);
17507
- dom$F.addClass(cell, colClass[8]);
17508
- } else if (dom$F.hasClass(cell, colClass[8])) {
17509
- dom$F.removeClass(cell, colClass[8]);
17510
- dom$F.addClass(cell, colClass[7]);
17511
- } else if (dom$F.hasClass(cell, colClass[7])) {
17512
- dom$F.removeClass(cell, colClass[7]);
17513
- dom$F.addClass(cell, colClass[6]);
17514
- } else if (dom$F.hasClass(cell, colClass[6])) {
17515
- dom$F.removeClass(cell, colClass[6]);
17516
- dom$F.addClass(cell, colClass[5]);
17517
- } else if (dom$F.hasClass(cell, colClass[5])) {
17518
- dom$F.removeClass(cell, colClass[5]);
17519
- dom$F.addClass(cell, colClass[4]);
17520
- } else if (dom$F.hasClass(cell, colClass[4])) {
17521
- dom$F.removeClass(cell, colClass[4]);
17522
- dom$F.addClass(cell, colClass[3]);
17523
- } else if (dom$F.hasClass(cell, colClass[3])) {
17524
- dom$F.removeClass(cell, colClass[3]);
17525
- dom$F.addClass(cell, colClass[2]);
17526
- } else if (dom$F.hasClass(cell, colClass[2])) {
17527
- dom$F.removeClass(cell, colClass[2]);
17528
- dom$F.addClass(cell, colClass[1]);
17529
- } else if (dom$F.hasClass(cell, colClass[1])) {
17530
- dom$F.removeClass(cell, colClass[1]);
17531
- dom$F.addClass(cell, colClass[0]);
17532
- }
17533
-
17534
- if (dom$F.hasClass(cellnext, colClass[0])) {
17535
- dom$F.removeClass(cellnext, colClass[0]);
17536
- dom$F.addClass(cellnext, colClass[1]);
17537
- } else if (dom$F.hasClass(cellnext, colClass[1])) {
17538
- dom$F.removeClass(cellnext, colClass[1]);
17539
- dom$F.addClass(cellnext, colClass[2]);
17540
- } else if (dom$F.hasClass(cellnext, colClass[2])) {
17541
- dom$F.removeClass(cellnext, colClass[2]);
17542
- dom$F.addClass(cellnext, colClass[3]);
17543
- } else if (dom$F.hasClass(cellnext, colClass[3])) {
17544
- dom$F.removeClass(cellnext, colClass[3]);
17545
- dom$F.addClass(cellnext, colClass[4]);
17546
- } else if (dom$F.hasClass(cellnext, colClass[4])) {
17547
- dom$F.removeClass(cellnext, colClass[4]);
17548
- dom$F.addClass(cellnext, colClass[5]);
17549
- } else if (dom$F.hasClass(cellnext, colClass[5])) {
17550
- dom$F.removeClass(cellnext, colClass[5]);
17551
- dom$F.addClass(cellnext, colClass[6]);
17552
- } else if (dom$F.hasClass(cellnext, colClass[6])) {
17553
- dom$F.removeClass(cellnext, colClass[6]);
17554
- dom$F.addClass(cellnext, colClass[7]);
17555
- } else if (dom$F.hasClass(cellnext, colClass[7])) {
17556
- dom$F.removeClass(cellnext, colClass[7]);
17557
- dom$F.addClass(cellnext, colClass[8]);
17558
- } else if (dom$F.hasClass(cellnext, colClass[8])) {
17559
- dom$F.removeClass(cellnext, colClass[8]);
17560
- dom$F.addClass(cellnext, colClass[9]);
17561
- } else if (dom$F.hasClass(cellnext, colClass[9])) {
17562
- dom$F.removeClass(cellnext, colClass[9]);
17563
- dom$F.addClass(cellnext, colClass[10]);
17564
- } else if (dom$F.hasClass(cellnext, colClass[10])) {
17565
- dom$F.removeClass(cellnext, colClass[10]);
17566
- dom$F.addClass(cellnext, colClass[11]);
17535
+ if (dom$G.hasClass(cell, colClass[11])) {
17536
+ dom$G.removeClass(cell, colClass[11]);
17537
+ dom$G.addClass(cell, colClass[10]);
17538
+ } else if (dom$G.hasClass(cell, colClass[10])) {
17539
+ dom$G.removeClass(cell, colClass[10]);
17540
+ dom$G.addClass(cell, colClass[9]);
17541
+ } else if (dom$G.hasClass(cell, colClass[9])) {
17542
+ dom$G.removeClass(cell, colClass[9]);
17543
+ dom$G.addClass(cell, colClass[8]);
17544
+ } else if (dom$G.hasClass(cell, colClass[8])) {
17545
+ dom$G.removeClass(cell, colClass[8]);
17546
+ dom$G.addClass(cell, colClass[7]);
17547
+ } else if (dom$G.hasClass(cell, colClass[7])) {
17548
+ dom$G.removeClass(cell, colClass[7]);
17549
+ dom$G.addClass(cell, colClass[6]);
17550
+ } else if (dom$G.hasClass(cell, colClass[6])) {
17551
+ dom$G.removeClass(cell, colClass[6]);
17552
+ dom$G.addClass(cell, colClass[5]);
17553
+ } else if (dom$G.hasClass(cell, colClass[5])) {
17554
+ dom$G.removeClass(cell, colClass[5]);
17555
+ dom$G.addClass(cell, colClass[4]);
17556
+ } else if (dom$G.hasClass(cell, colClass[4])) {
17557
+ dom$G.removeClass(cell, colClass[4]);
17558
+ dom$G.addClass(cell, colClass[3]);
17559
+ } else if (dom$G.hasClass(cell, colClass[3])) {
17560
+ dom$G.removeClass(cell, colClass[3]);
17561
+ dom$G.addClass(cell, colClass[2]);
17562
+ } else if (dom$G.hasClass(cell, colClass[2])) {
17563
+ dom$G.removeClass(cell, colClass[2]);
17564
+ dom$G.addClass(cell, colClass[1]);
17565
+ } else if (dom$G.hasClass(cell, colClass[1])) {
17566
+ dom$G.removeClass(cell, colClass[1]);
17567
+ dom$G.addClass(cell, colClass[0]);
17568
+ }
17569
+
17570
+ if (dom$G.hasClass(cellnext, colClass[0])) {
17571
+ dom$G.removeClass(cellnext, colClass[0]);
17572
+ dom$G.addClass(cellnext, colClass[1]);
17573
+ } else if (dom$G.hasClass(cellnext, colClass[1])) {
17574
+ dom$G.removeClass(cellnext, colClass[1]);
17575
+ dom$G.addClass(cellnext, colClass[2]);
17576
+ } else if (dom$G.hasClass(cellnext, colClass[2])) {
17577
+ dom$G.removeClass(cellnext, colClass[2]);
17578
+ dom$G.addClass(cellnext, colClass[3]);
17579
+ } else if (dom$G.hasClass(cellnext, colClass[3])) {
17580
+ dom$G.removeClass(cellnext, colClass[3]);
17581
+ dom$G.addClass(cellnext, colClass[4]);
17582
+ } else if (dom$G.hasClass(cellnext, colClass[4])) {
17583
+ dom$G.removeClass(cellnext, colClass[4]);
17584
+ dom$G.addClass(cellnext, colClass[5]);
17585
+ } else if (dom$G.hasClass(cellnext, colClass[5])) {
17586
+ dom$G.removeClass(cellnext, colClass[5]);
17587
+ dom$G.addClass(cellnext, colClass[6]);
17588
+ } else if (dom$G.hasClass(cellnext, colClass[6])) {
17589
+ dom$G.removeClass(cellnext, colClass[6]);
17590
+ dom$G.addClass(cellnext, colClass[7]);
17591
+ } else if (dom$G.hasClass(cellnext, colClass[7])) {
17592
+ dom$G.removeClass(cellnext, colClass[7]);
17593
+ dom$G.addClass(cellnext, colClass[8]);
17594
+ } else if (dom$G.hasClass(cellnext, colClass[8])) {
17595
+ dom$G.removeClass(cellnext, colClass[8]);
17596
+ dom$G.addClass(cellnext, colClass[9]);
17597
+ } else if (dom$G.hasClass(cellnext, colClass[9])) {
17598
+ dom$G.removeClass(cellnext, colClass[9]);
17599
+ dom$G.addClass(cellnext, colClass[10]);
17600
+ } else if (dom$G.hasClass(cellnext, colClass[10])) {
17601
+ dom$G.removeClass(cellnext, colClass[10]);
17602
+ dom$G.addClass(cellnext, colClass[11]);
17567
17603
  }
17568
17604
 
17569
17605
  columnTool.position(cell);
@@ -17591,7 +17627,7 @@ class Grid {
17591
17627
 
17592
17628
  if (!row) return; //Change to row selection
17593
17629
 
17594
- dom$F.removeClass(row, 'row-outline');
17630
+ dom$G.removeClass(row, 'row-outline');
17595
17631
  this.columnTool.hide(); //Hide Column tool
17596
17632
 
17597
17633
  util.confirm(util.out('Are you sure you want to delete this block?'), ok => {
@@ -17636,7 +17672,7 @@ class Grid {
17636
17672
 
17637
17673
  if (!row) return; //Change to row selection
17638
17674
 
17639
- dom$F.removeClass(row, 'row-outline');
17675
+ dom$G.removeClass(row, 'row-outline');
17640
17676
  columnTool.hide(); //Hide Column tool
17641
17677
 
17642
17678
  if (row.previousElementSibling) {
@@ -17652,7 +17688,7 @@ class Grid {
17652
17688
  Array.prototype.forEach.call(builders, builder => {
17653
17689
  if (builder.innerHTML === currContainer.innerHTML) {
17654
17690
  if (prev) {
17655
- dom$F.moveAfter(row, prev.lastChild);
17691
+ dom$G.moveAfter(row, prev.lastChild);
17656
17692
  this.rowTool.position(row);
17657
17693
  util.checkEmpty();
17658
17694
  this.builder.opts.onChange();
@@ -17683,7 +17719,7 @@ class Grid {
17683
17719
 
17684
17720
  if (!row) return; //Change to row selection
17685
17721
 
17686
- dom$F.removeClass(row, 'row-outline');
17722
+ dom$G.removeClass(row, 'row-outline');
17687
17723
  columnTool.hide(); //Hide Column tool
17688
17724
 
17689
17725
  if (row.nextElementSibling) {
@@ -17730,14 +17766,14 @@ class Grid {
17730
17766
 
17731
17767
  if (!row) return; //Change to row selection
17732
17768
 
17733
- dom$F.removeClass(row, 'row-outline');
17769
+ dom$G.removeClass(row, 'row-outline');
17734
17770
  columnTool.hide(); //Hide Column tool
17735
17771
 
17736
17772
  this.builder.uo.saveForUndo(); //Clone row & cleanup attached tool & event
17737
17773
 
17738
17774
  const rowElement = row.cloneNode(true);
17739
17775
  rowElement.removeChild(rowElement.querySelector('.is-row-tool'));
17740
- let cols = dom$F.elementChildren(rowElement);
17776
+ let cols = dom$G.elementChildren(rowElement);
17741
17777
  cols.forEach(col => {
17742
17778
  col.removeAttribute('data-click');
17743
17779
 
@@ -17745,13 +17781,13 @@ class Grid {
17745
17781
  builder.activeCol = col;
17746
17782
  }
17747
17783
  });
17748
- dom$F.moveAfter(rowElement, row); //Unselect current row
17784
+ dom$G.moveAfter(rowElement, row); //Unselect current row
17749
17785
 
17750
- dom$F.removeClass(row, 'row-active');
17751
- dom$F.removeClass(row, 'row-outline');
17752
- cols = dom$F.elementChildren(row);
17786
+ dom$G.removeClass(row, 'row-active');
17787
+ dom$G.removeClass(row, 'row-outline');
17788
+ cols = dom$G.elementChildren(row);
17753
17789
  cols.forEach(col => {
17754
- dom$F.removeClass(col, 'cell-active');
17790
+ dom$G.removeClass(col, 'cell-active');
17755
17791
  }); //re-add tool
17756
17792
 
17757
17793
  let builderActive = document.querySelector('.builder-active');
@@ -17787,31 +17823,31 @@ class RowTool$1 {
17787
17823
  const builderStuff = this.builder.builderStuff;
17788
17824
  let rowTool = row.querySelector('.is-row-tool');
17789
17825
  let rowMore = builderStuff.querySelector('.rowmore');
17790
- dom$F.addClass(rowMore, 'transition1');
17826
+ dom$G.addClass(rowMore, 'transition1');
17791
17827
  const elm = rowTool.querySelector('.row-more');
17792
17828
  const top = elm.getBoundingClientRect().top + window.pageYOffset;
17793
17829
  const left = elm.getBoundingClientRect().left + window.pageXOffset; // const w = rowMore.offsetWidth;
17794
17830
 
17795
17831
  rowMore.style.top = top - 8 + 'px';
17796
- dom$F.removeClass(rowMore, 'arrow-bottom');
17797
- dom$F.removeClass(rowMore, 'arrow-left');
17798
- dom$F.removeClass(rowMore, 'arrow-right');
17799
- dom$F.removeClass(rowMore, 'center');
17800
- dom$F.removeClass(rowMore, 'right');
17801
- dom$F.removeClass(rowMore, 'left');
17832
+ dom$G.removeClass(rowMore, 'arrow-bottom');
17833
+ dom$G.removeClass(rowMore, 'arrow-left');
17834
+ dom$G.removeClass(rowMore, 'arrow-right');
17835
+ dom$G.removeClass(rowMore, 'center');
17836
+ dom$G.removeClass(rowMore, 'right');
17837
+ dom$G.removeClass(rowMore, 'left');
17802
17838
 
17803
17839
  if (this.builder.opts.rowTool === 'right') {
17804
17840
  rowMore.style.left = left - rowMore.offsetWidth - 10 + 'px';
17805
- dom$F.addClass(rowMore, 'arrow-right');
17806
- dom$F.addClass(rowMore, 'left');
17841
+ dom$G.addClass(rowMore, 'arrow-right');
17842
+ dom$G.addClass(rowMore, 'left');
17807
17843
  } else {
17808
17844
  rowMore.style.left = left + 35 + 'px';
17809
- dom$F.addClass(rowMore, 'arrow-left');
17810
- dom$F.addClass(rowMore, 'left');
17845
+ dom$G.addClass(rowMore, 'arrow-left');
17846
+ dom$G.addClass(rowMore, 'left');
17811
17847
  }
17812
17848
 
17813
17849
  setTimeout(() => {
17814
- dom$F.removeClass(rowMore, 'transition1');
17850
+ dom$G.removeClass(rowMore, 'transition1');
17815
17851
  }, 300);
17816
17852
  }
17817
17853
 
@@ -17826,7 +17862,7 @@ class ColumnTool$1 {
17826
17862
  const builderStuff = this.builder.builderStuff;
17827
17863
  this.columnTool = builderStuff.querySelector('.is-column-tool');
17828
17864
  this.columnMore = builderStuff.querySelector('.columnmore');
17829
- dom$F.addClass(this.columnMore, 'transition1');
17865
+ dom$G.addClass(this.columnMore, 'transition1');
17830
17866
  setTimeout(() => {
17831
17867
  this.columnTool.style.top = col.getBoundingClientRect().top - 29 + window.pageYOffset + 'px';
17832
17868
  this.columnTool.style.left = col.getBoundingClientRect().left - 1 + 'px';
@@ -17835,7 +17871,7 @@ class ColumnTool$1 {
17835
17871
  this.columnMore.style.top = top + 35 + 'px';
17836
17872
  this.columnMore.style.left = left + 19 + 'px';
17837
17873
  setTimeout(() => {
17838
- dom$F.removeClass(this.columnMore, 'transition1');
17874
+ dom$G.removeClass(this.columnMore, 'transition1');
17839
17875
  }, 300);
17840
17876
  }, 300);
17841
17877
  }
@@ -17844,14 +17880,14 @@ class ColumnTool$1 {
17844
17880
  const builderStuff = this.builder.builderStuff;
17845
17881
  this.columnTool = builderStuff.querySelector('.is-column-tool'); // this.columnMore = builderStuff.querySelector('.columnmore');
17846
17882
 
17847
- dom$F.removeClass(this.columnTool, 'active');
17883
+ dom$G.removeClass(this.columnTool, 'active');
17848
17884
  }
17849
17885
 
17850
17886
  show() {
17851
17887
  const builderStuff = this.builder.builderStuff;
17852
17888
  this.columnTool = builderStuff.querySelector('.is-column-tool'); // this.columnMore = builderStuff.querySelector('.columnmore');
17853
17889
 
17854
- dom$F.addClass(this.columnTool, 'active');
17890
+ dom$G.addClass(this.columnTool, 'active');
17855
17891
  }
17856
17892
 
17857
17893
  }
@@ -17969,7 +18005,7 @@ class Draggable$1 {
17969
18005
 
17970
18006
  }
17971
18007
 
17972
- const dom$E = new Dom();
18008
+ const dom$F = new Dom();
17973
18009
 
17974
18010
  const renderGridEditor = builder => {
17975
18011
  const util = builder.util;
@@ -18020,7 +18056,7 @@ const renderGridEditor = builder => {
18020
18056
  </div>`; //LATER:
18021
18057
  //<button title="${util.out('Element Tool')}" class="cell-elmtool"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-gear"></use></svg></button>
18022
18058
 
18023
- dom$E.appendHtml(builderStuff, html);
18059
+ dom$F.appendHtml(builderStuff, html);
18024
18060
  new Draggable$1({
18025
18061
  selector: '.is-draggable'
18026
18062
  });
@@ -18029,12 +18065,12 @@ const renderGridEditor = builder => {
18029
18065
  e = e || window.event;
18030
18066
  var target = e.target || e.srcElement;
18031
18067
 
18032
- if (dom$E.hasClass(grideditor, 'active')) {
18033
- let a = dom$E.parentsHasClass(target, 'is-builder');
18034
- let b = dom$E.parentsHasClass(target, 'grideditor');
18035
- let c = dom$E.parentsHasClass(target, 'is-modal');
18036
- let d = dom$E.parentsHasClass(target, 'is-pop');
18037
- let f = dom$E.parentsHasClass(target, 'rte-grideditor') || dom$E.hasClass(target, 'rte-grideditor');
18068
+ if (dom$F.hasClass(grideditor, 'active')) {
18069
+ let a = dom$F.parentsHasClass(target, 'is-builder');
18070
+ let b = dom$F.parentsHasClass(target, 'grideditor');
18071
+ let c = dom$F.parentsHasClass(target, 'is-modal');
18072
+ let d = dom$F.parentsHasClass(target, 'is-pop');
18073
+ let f = dom$F.parentsHasClass(target, 'rte-grideditor') || dom$F.hasClass(target, 'rte-grideditor');
18038
18074
 
18039
18075
  if (a || b || c || d || f) {
18040
18076
  grideditor.style.display = '';
@@ -18045,30 +18081,30 @@ const renderGridEditor = builder => {
18045
18081
  }
18046
18082
  }, false);
18047
18083
  let elm = grideditor.querySelector('.is-modal-close');
18048
- dom$E.addEventListener(elm, 'click', () => {
18049
- dom$E.removeClass(grideditor, 'active');
18084
+ dom$F.addEventListener(elm, 'click', () => {
18085
+ dom$F.removeClass(grideditor, 'active');
18050
18086
  const builders = document.querySelectorAll(builder.opts.container);
18051
18087
  Array.prototype.forEach.call(builders, builder => {
18052
18088
  builder.removeAttribute('grideditor');
18053
18089
  });
18054
18090
  });
18055
18091
  const btnGridOutline = grideditor.querySelector('.grid-outline');
18056
- dom$E.addEventListener(btnGridOutline, 'click', () => {
18092
+ dom$F.addEventListener(btnGridOutline, 'click', () => {
18057
18093
  const builders = document.querySelectorAll(builder.opts.container);
18058
18094
  Array.prototype.forEach.call(builders, builder => {
18059
18095
  if (builder.hasAttribute('gridoutline')) {
18060
18096
  builder.removeAttribute('gridoutline');
18061
- dom$E.removeClass(btnGridOutline, 'on');
18097
+ dom$F.removeClass(btnGridOutline, 'on');
18062
18098
  } else {
18063
18099
  builder.setAttribute('gridoutline', '');
18064
- dom$E.addClass(btnGridOutline, 'on');
18100
+ dom$F.addClass(btnGridOutline, 'on');
18065
18101
  }
18066
18102
  });
18067
18103
  });
18068
18104
  const quickadd = renderQuickAdd(builder); // CELL
18069
18105
 
18070
18106
  const btnAdd = grideditor.querySelector('.cell-add');
18071
- dom$E.addEventListener(btnAdd, 'click', () => {
18107
+ dom$F.addEventListener(btnAdd, 'click', () => {
18072
18108
  let tabs = quickadd.querySelector('.is-pop-tabs');
18073
18109
  tabs.style.display = 'flex';
18074
18110
  const top = btnAdd.getBoundingClientRect().top + window.pageYOffset;
@@ -18080,13 +18116,13 @@ const renderGridEditor = builder => {
18080
18116
 
18081
18117
  quickadd.style.top = top + 'px';
18082
18118
  quickadd.style.left = left - w - 8 + 'px';
18083
- dom$E.removeClass(quickadd, 'arrow-bottom');
18084
- dom$E.removeClass(quickadd, 'arrow-left');
18085
- dom$E.removeClass(quickadd, 'arrow-top');
18086
- dom$E.removeClass(quickadd, 'center');
18087
- dom$E.removeClass(quickadd, 'left');
18088
- dom$E.addClass(quickadd, 'arrow-right');
18089
- dom$E.addClass(quickadd, 'right');
18119
+ dom$F.removeClass(quickadd, 'arrow-bottom');
18120
+ dom$F.removeClass(quickadd, 'arrow-left');
18121
+ dom$F.removeClass(quickadd, 'arrow-top');
18122
+ dom$F.removeClass(quickadd, 'center');
18123
+ dom$F.removeClass(quickadd, 'left');
18124
+ dom$F.addClass(quickadd, 'arrow-right');
18125
+ dom$F.addClass(quickadd, 'right');
18090
18126
  let val = quickadd.querySelector('.active').getAttribute('data-value');
18091
18127
 
18092
18128
  if (val === 'left') {
@@ -18096,53 +18132,53 @@ const renderGridEditor = builder => {
18096
18132
  }
18097
18133
  });
18098
18134
  elm = grideditor.querySelector('.cell-prev');
18099
- dom$E.addEventListener(elm, 'click', () => {
18135
+ dom$F.addEventListener(elm, 'click', () => {
18100
18136
  grid.moveColumnPrevious();
18101
18137
  util.clearControls();
18102
18138
  });
18103
18139
  elm = grideditor.querySelector('.cell-next');
18104
- dom$E.addEventListener(elm, 'click', () => {
18140
+ dom$F.addEventListener(elm, 'click', () => {
18105
18141
  grid.moveColumnNext();
18106
18142
  util.clearControls();
18107
18143
  });
18108
18144
  elm = grideditor.querySelector('.cell-increase');
18109
- dom$E.addEventListener(elm, 'click', () => {
18145
+ dom$F.addEventListener(elm, 'click', () => {
18110
18146
  grid.increaseColumn();
18111
18147
  util.clearControls();
18112
18148
  });
18113
18149
  elm = grideditor.querySelector('.cell-decrease');
18114
- dom$E.addEventListener(elm, 'click', () => {
18150
+ dom$F.addEventListener(elm, 'click', () => {
18115
18151
  grid.decreaseColumn();
18116
18152
  util.clearControls();
18117
18153
  });
18118
18154
  elm = grideditor.querySelector('.cell-up');
18119
- dom$E.addEventListener(elm, 'click', () => {
18155
+ dom$F.addEventListener(elm, 'click', () => {
18120
18156
  grid.moveColumnUp();
18121
18157
  util.clearControls();
18122
18158
  });
18123
18159
  elm = grideditor.querySelector('.cell-down');
18124
- dom$E.addEventListener(elm, 'click', () => {
18160
+ dom$F.addEventListener(elm, 'click', () => {
18125
18161
  grid.moveColumnDown();
18126
18162
  util.clearControls();
18127
18163
  });
18128
18164
  elm = grideditor.querySelector('.cell-duplicate');
18129
- dom$E.addEventListener(elm, 'click', () => {
18165
+ dom$F.addEventListener(elm, 'click', () => {
18130
18166
  grid.duplicateColumn();
18131
18167
  util.clearControls();
18132
18168
  });
18133
18169
  elm = grideditor.querySelector('.cell-remove');
18134
- dom$E.addEventListener(elm, 'click', () => {
18170
+ dom$F.addEventListener(elm, 'click', () => {
18135
18171
  grid.removeColumn();
18136
18172
  util.clearControls();
18137
18173
  });
18138
18174
  const btnCellHtml = grideditor.querySelector('.cell-html');
18139
- if (btnCellHtml) dom$E.addEventListener(btnCellHtml, 'click', () => {
18175
+ if (btnCellHtml) dom$F.addEventListener(btnCellHtml, 'click', () => {
18140
18176
  const cell = util.cellSelected();
18141
18177
  if (!cell) return;
18142
18178
  htmlutil.view('cell', false, btnCellHtml);
18143
18179
  });
18144
18180
  const btnCellSettings = grideditor.querySelector('.cell-settings');
18145
- if (btnCellSettings) dom$E.addEventListener(btnCellSettings, 'click', () => {
18181
+ if (btnCellSettings) dom$F.addEventListener(btnCellSettings, 'click', () => {
18146
18182
  const cell = util.cellSelected();
18147
18183
  if (!cell) return;
18148
18184
  builder.colTool.readCellStyles(cell); //save selection
@@ -18167,19 +18203,19 @@ const renderGridEditor = builder => {
18167
18203
  }); // Lock/Unlock Column
18168
18204
 
18169
18205
  const btnCellLocking = grideditor.querySelector('.cell-locking');
18170
- if (btnCellLocking) dom$E.addEventListener(btnCellLocking, 'click', e => {
18206
+ if (btnCellLocking) dom$F.addEventListener(btnCellLocking, 'click', e => {
18171
18207
  let cell = util.cellSelected();
18172
18208
  if (!cell) return;
18173
18209
 
18174
18210
  if (!cell.hasAttribute('data-noedit')) {
18175
18211
  cell.setAttribute('data-noedit', '');
18176
18212
  cell.contentEditable = false;
18177
- dom$E.addClass(btnCellLocking, 'on');
18213
+ dom$F.addClass(btnCellLocking, 'on');
18178
18214
  util.clearActiveElement(true);
18179
18215
  } else {
18180
18216
  cell.removeAttribute('data-noedit');
18181
18217
  cell.contentEditable = true;
18182
- dom$E.removeClass(btnCellLocking, 'on');
18218
+ dom$F.removeClass(btnCellLocking, 'on');
18183
18219
  }
18184
18220
 
18185
18221
  builder.colTool.showHideLockIndicator(cell);
@@ -18188,7 +18224,7 @@ const renderGridEditor = builder => {
18188
18224
  }); // ROW
18189
18225
 
18190
18226
  const btnRowAdd = grideditor.querySelector('.row-add');
18191
- dom$E.addEventListener(btnRowAdd, 'click', () => {
18227
+ dom$F.addEventListener(btnRowAdd, 'click', () => {
18192
18228
  let tabs = quickadd.querySelector('.is-pop-tabs');
18193
18229
  tabs.style.display = 'none';
18194
18230
  const top = btnRowAdd.getBoundingClientRect().top + window.pageYOffset;
@@ -18200,37 +18236,37 @@ const renderGridEditor = builder => {
18200
18236
 
18201
18237
  quickadd.style.top = top + 'px';
18202
18238
  quickadd.style.left = left - w - 8 + 'px';
18203
- dom$E.removeClass(quickadd, 'arrow-bottom');
18204
- dom$E.removeClass(quickadd, 'arrow-left');
18205
- dom$E.removeClass(quickadd, 'arrow-top');
18206
- dom$E.removeClass(quickadd, 'center');
18207
- dom$E.removeClass(quickadd, 'left');
18208
- dom$E.addClass(quickadd, 'arrow-right');
18209
- dom$E.addClass(quickadd, 'right');
18239
+ dom$F.removeClass(quickadd, 'arrow-bottom');
18240
+ dom$F.removeClass(quickadd, 'arrow-left');
18241
+ dom$F.removeClass(quickadd, 'arrow-top');
18242
+ dom$F.removeClass(quickadd, 'center');
18243
+ dom$F.removeClass(quickadd, 'left');
18244
+ dom$F.addClass(quickadd, 'arrow-right');
18245
+ dom$F.addClass(quickadd, 'right');
18210
18246
  quickadd.setAttribute('data-mode', 'row');
18211
18247
  });
18212
18248
  elm = grideditor.querySelector('.row-up');
18213
- dom$E.addEventListener(elm, 'click', () => {
18249
+ dom$F.addEventListener(elm, 'click', () => {
18214
18250
  grid.moveRowUp();
18215
18251
  util.clearControls();
18216
18252
  });
18217
18253
  elm = grideditor.querySelector('.row-down');
18218
- dom$E.addEventListener(elm, 'click', () => {
18254
+ dom$F.addEventListener(elm, 'click', () => {
18219
18255
  grid.moveRowDown();
18220
18256
  util.clearControls();
18221
18257
  });
18222
18258
  elm = grideditor.querySelector('.row-duplicate');
18223
- dom$E.addEventListener(elm, 'click', () => {
18259
+ dom$F.addEventListener(elm, 'click', () => {
18224
18260
  grid.duplicateRow();
18225
18261
  util.clearControls();
18226
18262
  });
18227
18263
  elm = grideditor.querySelector('.row-remove');
18228
- dom$E.addEventListener(elm, 'click', () => {
18264
+ dom$F.addEventListener(elm, 'click', () => {
18229
18265
  grid.removeRow();
18230
18266
  util.clearControls();
18231
18267
  });
18232
18268
  const btnRowHtml = grideditor.querySelector('.row-html');
18233
- if (btnRowHtml) dom$E.addEventListener(btnRowHtml, 'click', () => {
18269
+ if (btnRowHtml) dom$F.addEventListener(btnRowHtml, 'click', () => {
18234
18270
  const cell = util.cellSelected();
18235
18271
  if (!cell) return;
18236
18272
  htmlutil.view('row', false, btnRowHtml);
@@ -21249,7 +21285,7 @@ _extends(Remove, {
21249
21285
  Sortable.mount(new AutoScrollPlugin());
21250
21286
  Sortable.mount(Remove, Revert);
21251
21287
 
21252
- const dom$D = new Dom();
21288
+ const dom$E = new Dom();
21253
21289
 
21254
21290
  class Select {
21255
21291
  constructor(dropDown) {
@@ -21274,14 +21310,14 @@ class Select {
21274
21310
  this.toggle(false);
21275
21311
  dropDown.dispatchEvent(new Event('change'));
21276
21312
  toggler.focus();
21277
- let elms = dom$D.elementChildren(menu);
21313
+ let elms = dom$E.elementChildren(menu);
21278
21314
  elms.forEach(elm => {
21279
- dom$D.removeClass(elm, 'selected');
21315
+ dom$E.removeClass(elm, 'selected');
21280
21316
  });
21281
21317
  let optionselected = menu.querySelector('[data-value="' + val + '"]');
21282
21318
 
21283
21319
  if (optionselected) {
21284
- dom$D.addClass(optionselected, 'selected');
21320
+ dom$E.addClass(optionselected, 'selected');
21285
21321
  }
21286
21322
  };
21287
21323
 
@@ -21336,7 +21372,7 @@ class Select {
21336
21372
  let optionselected = menu.querySelector('[data-value="' + this.value + '"]');
21337
21373
 
21338
21374
  if (optionselected) {
21339
- dom$D.addClass(optionselected, 'selected');
21375
+ dom$E.addClass(optionselected, 'selected');
21340
21376
  optionselected.focus();
21341
21377
  }
21342
21378
 
@@ -21352,7 +21388,7 @@ class Select {
21352
21388
 
21353
21389
  }
21354
21390
 
21355
- const dom$C = new Dom();
21391
+ const dom$D = new Dom();
21356
21392
 
21357
21393
  const renderSnippetPanel = builder => {
21358
21394
  const util = builder.util;
@@ -21363,7 +21399,7 @@ const renderSnippetPanel = builder => {
21363
21399
  if (builder.opts.snippetList === '#divSnippetList') {
21364
21400
  const html = `<div id="divSnippetList" class="is-side ${sidePanel === 'right' ? '' : ' fromleft'} snippetlist scroll-darker" tabindex="-1" role="dialog" aria-modal="true" title="${util.out('Snippets')}">
21365
21401
  </div>`;
21366
- dom$C.appendHtml(builderStuff, html);
21402
+ dom$D.appendHtml(builderStuff, html);
21367
21403
 
21368
21404
  if (!builder.opts.snippetHandle) {
21369
21405
  hideHandle = 'display:none;';
@@ -21398,7 +21434,7 @@ const renderSnippetPanel = builder => {
21398
21434
 
21399
21435
  let html_snippets = '' + '<div class="is-dropdown selectsnippet" style="position:absolute;top:0;right:0;padding: 0;width:100%;z-index:2;">' + '<button tabindex="0" class="dropdown-toggle no-outline" title="' + util.out('Snippet Categories') + '" type="button" aria-haspopup="true" data-value="' + defaultcatval + '">' + '<span>' + defaultcat + '</span>' + '</button>' + '<ul class="dropdown-menu" role="listbox" title="' + util.out('Snippets') + '" aria-expanded="false">' + catitems + '</ul>' + '</div>' + (sidePanel === 'right' ? '<div id="divSnippetScrollUp" role="button" tabindex="-1" style="top:calc(50% - 27px);right:25px;">&#9650;</div>' + '<div id="divSnippetScrollDown" role="button" tabindex="-1" style="top:calc(50% + 27px);right:25px;">&#9660;</div>' + '<div id="divSnippetHandle" role="button" tabindex="-1" title="' + util.out('Snippets') + '" data-title="' + util.out('Snippets') + '" style="' + hideHandle + '">' + '<svg class="is-icon-flex"><use xlink:href="#ion-ios-arrow-left"></use></svg>' + '</div>' : '<div id="divSnippetScrollUp" role="button" tabindex="-1" style="top:calc(50% - 27px);left:10px;">&#9650;</div>' + '<div id="divSnippetScrollDown" role="button" tabindex="-1" style="top:calc(50% + 27px);left:10px;">&#9660;</div>' + '<div id="divSnippetHandle" role="button" tabindex="-1" title="' + util.out('Snippets') + '" data-title="' + util.out('Snippets') + '" style="' + hideHandle + '">' + '<svg class="is-icon-flex"><use xlink:href="#ion-ios-arrow-right"></use></svg>' + '</div>') + '<div class="is-design-list" tabindex="0">' + '</div>';
21400
21436
  let snippetPanel = document.querySelector(builder.opts.snippetList);
21401
- dom$C.appendHtml(snippetPanel, html_snippets);
21437
+ dom$D.appendHtml(snippetPanel, html_snippets);
21402
21438
  const dropDown = new Select(snippetPanel.querySelector('.selectsnippet'));
21403
21439
  dropDown.element.addEventListener('change', () => {
21404
21440
  let cat = dropDown.value;
@@ -21411,7 +21447,7 @@ const renderSnippetPanel = builder => {
21411
21447
  if (!exist) {
21412
21448
  builder.opts.snippetJSON.snippets.forEach(item => {
21413
21449
  if (item.category === cat) {
21414
- dom$C.appendHtml(snippetlist, '<div class="snippet-item" data-id="' + item.id + '" data-cat="' + item.category + '"><img alt="' + util.out('Snippet') + '" alt="" src="' + snippetPath + item.thumbnail + '"><span class="is-overlay"></span></div>');
21450
+ dom$D.appendHtml(snippetlist, '<div class="snippet-item" data-id="' + item.id + '" data-cat="' + item.category + '"><img alt="' + util.out('Snippet') + '" alt="" src="' + snippetPath + item.thumbnail + '"><span class="is-overlay"></span></div>');
21415
21451
  }
21416
21452
  });
21417
21453
  }
@@ -21419,7 +21455,7 @@ const renderSnippetPanel = builder => {
21419
21455
  if (cat) {
21420
21456
  //let elms = snippetlist.querySelectorAll('.snippet-item');
21421
21457
  Array.prototype.forEach.call(elms, elm => {
21422
- dom$C.addClass(elm, 'hide');
21458
+ dom$D.addClass(elm, 'hide');
21423
21459
  });
21424
21460
  Array.prototype.forEach.call(elms, elm => {
21425
21461
  if (elm.getAttribute('data-cat') === cat) {
@@ -21439,13 +21475,13 @@ const renderSnippetPanel = builder => {
21439
21475
  var target = e.target || e.srcElement;
21440
21476
 
21441
21477
  if (builder.opts.snippetsSidebarDisplay === 'auto') {
21442
- if (dom$C.hasClass(snippetPanel, 'active')) {
21478
+ if (dom$D.hasClass(snippetPanel, 'active')) {
21443
21479
  // let a = dom.parentsHasAttribute(target, 'contenteditable');
21444
21480
  // let b = dom.parentsHasClass(target, 'is-builder'); // builder area
21445
21481
  // if(a||b) {
21446
21482
  // hideSnippets(builder);
21447
21483
  // }
21448
- let a = dom$C.parentsHasClass(target, 'is-builder'); // builder area
21484
+ let a = dom$D.parentsHasClass(target, 'is-builder'); // builder area
21449
21485
 
21450
21486
  if (a) {
21451
21487
  hideSnippets(builder);
@@ -21517,7 +21553,7 @@ const renderSnippetPanel = builder => {
21517
21553
  item.id = index; //Give id to each record
21518
21554
 
21519
21555
  if (item.category === builder.opts.defaultEmailSnippetCategory + '') {
21520
- dom$C.appendHtml(snippetlist, '<div class="snippet-item" data-id="' + item.id + '" data-cat="' + item.category + '"><img alt="' + util.out('Snippet') + '" src="' + snippetPath + item.thumbnail + '"><span class="is-overlay"></span></div>');
21556
+ dom$D.appendHtml(snippetlist, '<div class="snippet-item" data-id="' + item.id + '" data-cat="' + item.category + '"><img alt="' + util.out('Snippet') + '" src="' + snippetPath + item.thumbnail + '"><span class="is-overlay"></span></div>');
21521
21557
  }
21522
21558
 
21523
21559
  index++;
@@ -21527,7 +21563,7 @@ const renderSnippetPanel = builder => {
21527
21563
  item.id = index; //Give id to each record
21528
21564
 
21529
21565
  if (item.category === builder.opts.defaultSnippetCategory + '') {
21530
- dom$C.appendHtml(snippetlist, '<div class="snippet-item" data-id="' + item.id + '" data-cat="' + item.category + '"><img alt="' + util.out('Snippet') + '" src="' + snippetPath + item.thumbnail + '"><span class="is-overlay"></span></div>');
21566
+ dom$D.appendHtml(snippetlist, '<div class="snippet-item" data-id="' + item.id + '" data-cat="' + item.category + '"><img alt="' + util.out('Snippet') + '" src="' + snippetPath + item.thumbnail + '"><span class="is-overlay"></span></div>');
21531
21567
  }
21532
21568
 
21533
21569
  index++;
@@ -21566,7 +21602,7 @@ const renderSnippetPanel = builder => {
21566
21602
 
21567
21603
  if (area) {
21568
21604
  activeBuilderArea = area;
21569
- dom$C.removeClass(activeBuilderArea, 'builder-active');
21605
+ dom$D.removeClass(activeBuilderArea, 'builder-active');
21570
21606
  }
21571
21607
 
21572
21608
  builder.uo.saveForUndo(); // Even if cancelled, saveForUndo will make sure not to save if there is no change
@@ -21584,14 +21620,14 @@ const renderSnippetPanel = builder => {
21584
21620
  if (emptyinfo) emptyinfo.style.display = ''; // Return back the .builder-active
21585
21621
 
21586
21622
  if (activeBuilderArea) {
21587
- dom$C.addClass(activeBuilderArea, 'builder-active');
21623
+ dom$D.addClass(activeBuilderArea, 'builder-active');
21588
21624
  }
21589
21625
  }
21590
21626
  });
21591
21627
 
21592
21628
  if (builder.opts.snippetList === '#divSnippetList') {
21593
21629
  const snippethandle = snippetPanel.querySelector('#divSnippetHandle');
21594
- dom$C.addEventListener(snippethandle, 'click', () => {
21630
+ dom$D.addEventListener(snippethandle, 'click', () => {
21595
21631
  toggleSnippets(builder);
21596
21632
  util.clearActiveCell();
21597
21633
  util.clearControls();
@@ -21670,8 +21706,8 @@ function toggleSnippets(builder) {
21670
21706
  let snippetPanel = document.querySelector('#divSnippetList');
21671
21707
  const snippethandle = snippetPanel.querySelector('#divSnippetHandle');
21672
21708
 
21673
- if (dom$C.hasClass(snippetPanel, 'active')) {
21674
- dom$C.removeClass(snippetPanel, 'active');
21709
+ if (dom$D.hasClass(snippetPanel, 'active')) {
21710
+ dom$D.removeClass(snippetPanel, 'active');
21675
21711
 
21676
21712
  if (builder.opts.sidePanel === 'right') {
21677
21713
  snippethandle.innerHTML = '<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-left"></use></svg>';
@@ -21687,7 +21723,7 @@ function toggleSnippets(builder) {
21687
21723
  snippetPanel.querySelector('.selectsnippet').style.display = 'block';
21688
21724
  snippetPanel.querySelector('.is-design-list').style.display = 'block';
21689
21725
  setTimeout(() => {
21690
- dom$C.addClass(snippetPanel, 'active');
21726
+ dom$D.addClass(snippetPanel, 'active');
21691
21727
 
21692
21728
  if (builder.opts.sidePanel === 'right') {
21693
21729
  snippethandle.innerHTML = '<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-right"></use></svg>';
@@ -21701,7 +21737,7 @@ function toggleSnippets(builder) {
21701
21737
  function hideSnippets(builder) {
21702
21738
  let snippetPanel = document.querySelector('#divSnippetList');
21703
21739
  const snippethandle = snippetPanel.querySelector('#divSnippetHandle');
21704
- dom$C.removeClass(snippetPanel, 'active');
21740
+ dom$D.removeClass(snippetPanel, 'active');
21705
21741
 
21706
21742
  if (builder.opts.sidePanel === 'right') {
21707
21743
  snippethandle.innerHTML = '<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-left"></use></svg>';
@@ -47348,7 +47384,7 @@ var loadImageOrientation = {exports: {}};
47348
47384
 
47349
47385
  var js = loadImage.exports;
47350
47386
 
47351
- const dom$B = new Dom();
47387
+ const dom$C = new Dom();
47352
47388
  class Image {
47353
47389
  constructor(builder) {
47354
47390
  this.builder = builder;
@@ -47405,7 +47441,7 @@ class Image {
47405
47441
  <div class="image-larger1" style="position:relative;flex:none;box-shadow: 0px 3px 6px -6px rgba(0, 0, 0, 0.32);">
47406
47442
  <form class="form-upload-larger" target="frameTargetImageUpload" method="post" action="${this.builder.opts.largerImageHandler}" enctype="multipart/form-data" style="border-radius:1px;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;">
47407
47443
  <input id="hidRefId1" name="hidRefId" type="hidden" value="" />
47408
- <svg class="is-icon-flex"><use xlink:href="#ion-image"></use></svg>
47444
+ <svg class="is-icon-flex" style="width:18px;height:18px;"><use xlink:href="#ion-ios-cloud-upload-outline"></use></svg>
47409
47445
  <input title="${util.out('Select')}" id="fileImage1" name="fileImage" type="file" accept="image/*" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">
47410
47446
  </form>
47411
47447
 
@@ -47452,7 +47488,7 @@ class Image {
47452
47488
  <div id="divImageResizer" data-x=0 data-y=0 class="is-tool moveable resizable">
47453
47489
  </div>
47454
47490
  `;
47455
- dom$B.appendHtml(builderStuff, html); // Image Tool (#divImageTool) ~~~~~~~~~~~~
47491
+ dom$C.appendHtml(builderStuff, html); // Image Tool (#divImageTool) ~~~~~~~~~~~~
47456
47492
 
47457
47493
  imageTool = builderStuff.querySelector('#divImageTool');
47458
47494
  this.imageTool = imageTool; // Image Resizer (#divImageResizer)
@@ -47484,7 +47520,7 @@ class Image {
47484
47520
  let activeImage = this.builder.activeImage;
47485
47521
  let bCircular = false;
47486
47522
 
47487
- if (dom$B.hasClass(activeImage.parentNode, 'img-circular')) {
47523
+ if (dom$C.hasClass(activeImage.parentNode, 'img-circular')) {
47488
47524
  activeImage = activeImage.parentNode;
47489
47525
  bCircular = true;
47490
47526
  }
@@ -47527,14 +47563,14 @@ class Image {
47527
47563
 
47528
47564
 
47529
47565
  let columnTool = builderStuff.querySelector('.is-column-tool');
47530
- dom$B.removeClass(columnTool, 'active');
47566
+ dom$C.removeClass(columnTool, 'active');
47531
47567
  }).on('resizeEnd', ({
47532
47568
  target
47533
47569
  }) => {
47534
47570
  let activeImage = this.builder.activeImage;
47535
47571
  let bCircular = false;
47536
47572
 
47537
- if (dom$B.hasClass(activeImage.parentNode, 'img-circular')) {
47573
+ if (dom$C.hasClass(activeImage.parentNode, 'img-circular')) {
47538
47574
  activeImage = activeImage.parentNode;
47539
47575
  bCircular = true;
47540
47576
  } //target = imageResizer
@@ -47574,7 +47610,7 @@ class Image {
47574
47610
  this.builder.opts.onChange(); // Show column tool
47575
47611
 
47576
47612
  let columnTool = builderStuff.querySelector('.is-column-tool');
47577
- dom$B.addClass(columnTool, 'active');
47613
+ dom$C.addClass(columnTool, 'active');
47578
47614
  });
47579
47615
  document.querySelector('.moveable-control-box').style.display = 'none';
47580
47616
  imageResizer.addEventListener('click', () => {
@@ -47583,7 +47619,7 @@ class Image {
47583
47619
  }); // Browse local image
47584
47620
 
47585
47621
  let elm = imageTool.querySelector('#fileEmbedImage');
47586
- dom$B.addEventListener(elm, 'change', e => {
47622
+ dom$C.addEventListener(elm, 'change', e => {
47587
47623
  this.builder.uo.saveForUndo();
47588
47624
  var input = e.target;
47589
47625
  let img = this.builder.activeImage;
@@ -47635,7 +47671,7 @@ class Image {
47635
47671
 
47636
47672
  if (this.builder.opts.onImageBrowseClick) {
47637
47673
  elm = imageTool.querySelector('.image-embed');
47638
- dom$B.addEventListener(elm, 'click', e => {
47674
+ dom$C.addEventListener(elm, 'click', e => {
47639
47675
  this.builder.opts.onImageBrowseClick();
47640
47676
  e.preventDefault();
47641
47677
  return false;
@@ -47657,7 +47693,7 @@ class Image {
47657
47693
 
47658
47694
 
47659
47695
  const btnImageLink = imageTool.querySelector('.image-link');
47660
- dom$B.addEventListener(btnImageLink, 'click', () => {
47696
+ dom$C.addEventListener(btnImageLink, 'click', () => {
47661
47697
  //imageTool.style.display = 'none';
47662
47698
  document.querySelector('.moveable-control-box').style.display = 'none'; //needed by Safari (prevent z-index problem)
47663
47699
 
@@ -47710,7 +47746,7 @@ class Image {
47710
47746
  inputTarget.checked = false;
47711
47747
  }
47712
47748
 
47713
- if (dom$B.hasClass(lnk, 'is-lightbox')) {
47749
+ if (dom$C.hasClass(lnk, 'is-lightbox')) {
47714
47750
  inputLightbox.checked = true;
47715
47751
  } else {
47716
47752
  inputLightbox.checked = false;
@@ -47726,13 +47762,13 @@ class Image {
47726
47762
  }); // Cancel
47727
47763
 
47728
47764
  elm = modalImageLink.querySelector('.input-cancel');
47729
- dom$B.addEventListener(elm, 'click', () => {
47765
+ dom$C.addEventListener(elm, 'click', () => {
47730
47766
  util.hideModal(modalImageLink);
47731
47767
  document.querySelector('.moveable-control-box').style.display = 'block'; //needed by Safari (prevent z-index problem)
47732
47768
  }); // Apply link to image
47733
47769
 
47734
47770
  elm = modalImageLink.querySelector('.input-ok');
47735
- dom$B.addEventListener(elm, 'click', () => {
47771
+ dom$C.addEventListener(elm, 'click', () => {
47736
47772
  this.builder.uo.saveForUndo();
47737
47773
  let img = this.builder.activeImage;
47738
47774
  let lnk;
@@ -47763,9 +47799,9 @@ class Image {
47763
47799
  }
47764
47800
 
47765
47801
  if (modalImageLink.querySelector('.input-openlightbox').checked) {
47766
- dom$B.addClass(lnk, 'is-lightbox');
47802
+ dom$C.addClass(lnk, 'is-lightbox');
47767
47803
  } else {
47768
- dom$B.removeClass(lnk, 'is-lightbox');
47804
+ dom$C.removeClass(lnk, 'is-lightbox');
47769
47805
  } // if(link.toLowerCase().indexOf('.jpg')!==-1 || link.toLowerCase().indexOf('.jpeg')!==-1 || link.toLowerCase().indexOf('.png')!==-1 || link.toLowerCase().indexOf('.gif')!==-1) {
47770
47806
  // dom.addClass(lnk, 'is-lightbox');
47771
47807
  // } else {
@@ -47774,7 +47810,7 @@ class Image {
47774
47810
 
47775
47811
  } else {
47776
47812
  //Create link
47777
- lnk = dom$B.createElement('a');
47813
+ lnk = dom$C.createElement('a');
47778
47814
  lnk.setAttribute('href', link);
47779
47815
  lnk.setAttribute('title', title);
47780
47816
  lnk.innerHTML = img.outerHTML;
@@ -47786,9 +47822,9 @@ class Image {
47786
47822
  }
47787
47823
 
47788
47824
  if (modalImageLink.querySelector('.input-openlightbox').checked) {
47789
- dom$B.addClass(lnk, 'is-lightbox');
47825
+ dom$C.addClass(lnk, 'is-lightbox');
47790
47826
  } else {
47791
- dom$B.removeClass(lnk, 'is-lightbox');
47827
+ dom$C.removeClass(lnk, 'is-lightbox');
47792
47828
  } // if(link.toLowerCase().indexOf('.jpg')!==-1 || link.toLowerCase().indexOf('.jpeg')!==-1 || link.toLowerCase().indexOf('.png')!==-1 || link.toLowerCase().indexOf('.gif')!==-1) {
47793
47829
  // dom.addClass(lnk, 'is-lightbox');
47794
47830
  // } else {
@@ -47819,7 +47855,7 @@ class Image {
47819
47855
 
47820
47856
  if (this.builder.opts.onImageSelectClick || this.builder.opts.imageselect) {
47821
47857
  const btnImageSelect = modalImageLink.querySelector('.input-select');
47822
- if (btnImageSelect) dom$B.addEventListener(btnImageSelect, 'click', () => {
47858
+ if (btnImageSelect) dom$C.addEventListener(btnImageSelect, 'click', () => {
47823
47859
  if (this.builder.opts.onImageSelectClick) {
47824
47860
  this.builder.opts.onImageSelectClick({
47825
47861
  targetInput: modalImageLink.querySelector('.input-src'),
@@ -47851,7 +47887,7 @@ class Image {
47851
47887
  this.builder.targetAssetType = 'image';
47852
47888
  });
47853
47889
  const btnImageSelect2 = modalImageLink.querySelector('.input-select2');
47854
- if (btnImageSelect2) dom$B.addEventListener(btnImageSelect2, 'click', () => {
47890
+ if (btnImageSelect2) dom$C.addEventListener(btnImageSelect2, 'click', () => {
47855
47891
  if (this.builder.opts.onImageSelectClick) {
47856
47892
  this.builder.opts.onImageSelectClick({
47857
47893
  targetInput: modalImageLink.querySelector('.input-link'),
@@ -47883,11 +47919,11 @@ class Image {
47883
47919
  this.builder.targetAssetType = 'media';
47884
47920
  });
47885
47921
  } else {
47886
- dom$B.removeClass(divImageSrc, 'image-select');
47922
+ dom$C.removeClass(divImageSrc, 'image-select');
47887
47923
  }
47888
47924
 
47889
47925
  let fileLargerImage1 = modalImageLink.querySelector('#fileImage1');
47890
- dom$B.addEventListener(fileLargerImage1, 'change', e => {
47926
+ dom$C.addEventListener(fileLargerImage1, 'change', e => {
47891
47927
  let element = fileLargerImage1;
47892
47928
 
47893
47929
  while (element.nodeName.toLowerCase() !== 'form') {
@@ -47895,7 +47931,7 @@ class Image {
47895
47931
  }
47896
47932
 
47897
47933
  let frmUpload = element;
47898
- dom$B.addClass(frmUpload, 'please-wait');
47934
+ dom$C.addClass(frmUpload, 'please-wait');
47899
47935
  modalImageLink.querySelector('#hidRefId1').value = this.builder.opts.customval;
47900
47936
 
47901
47937
  if (this.builder.opts.onLargerImageUpload) {
@@ -47907,7 +47943,7 @@ class Image {
47907
47943
  fileLargerImage1.value = ''; // Clear Input
47908
47944
  });
47909
47945
  let fileLargerImage2 = modalImageLink.querySelector('#fileImage2');
47910
- dom$B.addEventListener(fileLargerImage2, 'change', e => {
47946
+ dom$C.addEventListener(fileLargerImage2, 'change', e => {
47911
47947
  let element = fileLargerImage2;
47912
47948
 
47913
47949
  while (element.nodeName.toLowerCase() !== 'form') {
@@ -47915,7 +47951,7 @@ class Image {
47915
47951
  }
47916
47952
 
47917
47953
  let frmUpload = element;
47918
- dom$B.addClass(frmUpload, 'please-wait');
47954
+ dom$C.addClass(frmUpload, 'please-wait');
47919
47955
  modalImageLink.querySelector('#hidRefId2').value = this.builder.opts.customval;
47920
47956
 
47921
47957
  if (this.builder.opts.onLargerImageUpload) {
@@ -47930,7 +47966,7 @@ class Image {
47930
47966
  let modalImageEdit = builderStuff.querySelector('.imageedit'); // Edit (crop) image
47931
47967
 
47932
47968
  const btnImageEdit = imageTool.querySelector('.image-edit');
47933
- dom$B.addEventListener(btnImageEdit, 'click', () => {
47969
+ dom$C.addEventListener(btnImageEdit, 'click', () => {
47934
47970
  let img = this.builder.activeImage;
47935
47971
  let preview = modalImageEdit.querySelector('.imageedit-preview');
47936
47972
  preview.innerHTML = '<img style="max-width:100%;object-fit:contain;height:100%;"/>';
@@ -47984,20 +48020,20 @@ class Image {
47984
48020
  let cropOptions = modalImageEdit.querySelector('.imageedit-crop');
47985
48021
  let btns = cropOptions.querySelectorAll('button');
47986
48022
  Array.prototype.forEach.call(btns, btn => {
47987
- dom$B.addEventListener(btn, 'click', () => {
48023
+ dom$C.addEventListener(btn, 'click', () => {
47988
48024
  let aspectRatio = btn.getAttribute('data-crop-size') * 1;
47989
48025
  this.cropper.setAspectRatio(aspectRatio);
47990
48026
  });
47991
48027
  }); // Cancel image edit
47992
48028
 
47993
48029
  let btnCancel = modalImageEdit.querySelector('.input-cancel');
47994
- dom$B.addEventListener(btnCancel, 'click', () => {
48030
+ dom$C.addEventListener(btnCancel, 'click', () => {
47995
48031
  util.hideModal(modalImageEdit);
47996
48032
  document.querySelector('.moveable-control-box').style.display = 'block'; //needed by Safari (prevent z-index problem)
47997
48033
  }); // Apply (crop) image
47998
48034
 
47999
48035
  elm = modalImageEdit.querySelector('.input-ok');
48000
- dom$B.addEventListener(elm, 'click', () => {
48036
+ dom$C.addEventListener(elm, 'click', () => {
48001
48037
  this.builder.uo.saveForUndo();
48002
48038
  let img = this.builder.activeImage;
48003
48039
  let attr = img.getAttribute('data-filename');
@@ -48017,9 +48053,9 @@ class Image {
48017
48053
 
48018
48054
  if (img.src.indexOf('base64') === -1) {
48019
48055
  let filename = img.src.substring(img.src.lastIndexOf('/') + 1);
48020
- basename = dom$B.baseName(filename);
48056
+ basename = dom$C.baseName(filename);
48021
48057
  } else {
48022
- basename = dom$B.baseName(img.getAttribute('data-filename'));
48058
+ basename = dom$C.baseName(img.getAttribute('data-filename'));
48023
48059
  }
48024
48060
 
48025
48061
  let newname = '';
@@ -48054,7 +48090,7 @@ class Image {
48054
48090
 
48055
48091
 
48056
48092
  refreshIfIsModule(elm) {
48057
- let isModule = dom$B.parentsHasAttribute(elm, 'data-html');
48093
+ let isModule = dom$C.parentsHasAttribute(elm, 'data-html');
48058
48094
 
48059
48095
  if (isModule) {
48060
48096
  this.imageTool.style.display = ''; // Extra: make image[data-image-embed] clickable/editable
@@ -48100,7 +48136,7 @@ class Image {
48100
48136
  let elm = this.builder.activeImage;
48101
48137
  if (!elm) return;
48102
48138
 
48103
- if (dom$B.hasClass(elm.parentNode, 'img-circular')) {
48139
+ if (dom$C.hasClass(elm.parentNode, 'img-circular')) {
48104
48140
  elm = elm.parentNode;
48105
48141
  }
48106
48142
 
@@ -48152,7 +48188,7 @@ class Image {
48152
48188
  let imageTool = this.imageTool;
48153
48189
  let elm = this.builder.activeImage;
48154
48190
 
48155
- if (dom$B.hasClass(elm.parentNode, 'img-circular')) {
48191
+ if (dom$C.hasClass(elm.parentNode, 'img-circular')) {
48156
48192
  elm = elm.parentNode;
48157
48193
  }
48158
48194
 
@@ -48195,7 +48231,7 @@ class Image {
48195
48231
  if (!fixedImage) {
48196
48232
  this.builder.activeImage = elm;
48197
48233
 
48198
- if (dom$B.hasClass(elm.parentNode, 'img-circular')) {
48234
+ if (dom$C.hasClass(elm.parentNode, 'img-circular')) {
48199
48235
  elm = elm.parentNode;
48200
48236
  }
48201
48237
 
@@ -48495,7 +48531,7 @@ class Image {
48495
48531
 
48496
48532
  }
48497
48533
 
48498
- const dom$A = new Dom();
48534
+ const dom$B = new Dom();
48499
48535
 
48500
48536
  class ButtonEditor {
48501
48537
  constructor(builder) {
@@ -48793,11 +48829,11 @@ class ButtonEditor {
48793
48829
  </div>
48794
48830
  </div>
48795
48831
  `;
48796
- dom$A.appendHtml(builderStuff, html);
48832
+ dom$B.appendHtml(builderStuff, html);
48797
48833
  buttonModal = builderStuff.querySelector('.is-modal.buttoneditor');
48798
48834
  let btnClose = buttonModal.querySelector('.is-modal-close');
48799
- dom$A.addEventListener(btnClose, 'click', () => {
48800
- dom$A.removeClass(buttonModal, 'active');
48835
+ dom$B.addEventListener(btnClose, 'click', () => {
48836
+ dom$B.removeClass(buttonModal, 'active');
48801
48837
  });
48802
48838
  let btns; //background color
48803
48839
 
@@ -48822,7 +48858,7 @@ class ButtonEditor {
48822
48858
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48823
48859
  activeButton.style.backgroundColor = color;
48824
48860
  activeButton.setAttribute('data-bg', color);
48825
- dom$A.removeClassesByPrefix(activeButton, 'bg-');
48861
+ dom$B.removeClassesByPrefix(activeButton, 'bg-');
48826
48862
  elm.style.backgroundColor = color; // preview
48827
48863
  //Trigger Change event
48828
48864
 
@@ -48854,7 +48890,7 @@ class ButtonEditor {
48854
48890
  this.builder.colorPicker.open(color => {
48855
48891
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48856
48892
  activeButton.style.color = color;
48857
- dom$A.removeClassesByPrefix(activeButton, 'text-');
48893
+ dom$B.removeClassesByPrefix(activeButton, 'text-');
48858
48894
  elm.style.backgroundColor = color; // preview
48859
48895
  //Trigger Change event
48860
48896
 
@@ -48886,7 +48922,7 @@ class ButtonEditor {
48886
48922
  this.builder.colorPicker.open(color => {
48887
48923
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48888
48924
  activeButton.setAttribute('data-hover-bg', color);
48889
- dom$A.removeClassesByPrefix(activeButton, 'hover:bg-');
48925
+ dom$B.removeClassesByPrefix(activeButton, 'hover:bg-');
48890
48926
  activeButton.setAttribute('onmouseover', 'if(this.getAttribute(\'data-hover-bg\'))this.style.backgroundColor=this.getAttribute(\'data-hover-bg\');');
48891
48927
  activeButton.setAttribute('onmouseout', 'if(this.getAttribute(\'data-bg\'))this.style.backgroundColor=this.getAttribute(\'data-bg\');else this.style.backgroundColor=\'\'');
48892
48928
  elm.style.backgroundColor = color; // preview
@@ -48911,19 +48947,19 @@ class ButtonEditor {
48911
48947
  if (activeButton.classList) {
48912
48948
  activeButton.classList.forEach(item => {
48913
48949
  if (item.indexOf('hover:text-') === 0) {
48914
- dom$A.removeClass(activeButton, item);
48950
+ dom$B.removeClass(activeButton, item);
48915
48951
  }
48916
48952
  });
48917
48953
  }
48918
48954
 
48919
- if (val === 'dark') dom$A.addClass(activeButton, 'hover:text-black');else if (val === 'light') dom$A.addClass(activeButton, 'hover:text-white');else ;
48955
+ if (val === 'dark') dom$B.addClass(activeButton, 'hover:text-black');else if (val === 'light') dom$B.addClass(activeButton, 'hover:text-white');else ;
48920
48956
  this.applyDefault(activeButton); // Button on/off
48921
48957
 
48922
48958
  const items = document.querySelectorAll('.text-color-hover-command');
48923
48959
  items.forEach(item => {
48924
- dom$A.removeClass(item, 'on');
48960
+ dom$B.removeClass(item, 'on');
48925
48961
  });
48926
- dom$A.addClass(btn, 'on');
48962
+ dom$B.addClass(btn, 'on');
48927
48963
  this.builder.opts.onChange();
48928
48964
  });
48929
48965
  }); //border color
@@ -48934,16 +48970,16 @@ class ButtonEditor {
48934
48970
  this.builder.uo.saveForUndo();
48935
48971
  const val = btn.getAttribute('data-command');
48936
48972
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48937
- dom$A.removeClass(activeButton, 'border-transparent');
48938
- dom$A.removeClass(activeButton, 'border-current');
48939
- if (val === 'transparent') dom$A.addClass(activeButton, 'border-transparent');else if (val === 'current') dom$A.addClass(activeButton, 'border-current');
48973
+ dom$B.removeClass(activeButton, 'border-transparent');
48974
+ dom$B.removeClass(activeButton, 'border-current');
48975
+ if (val === 'transparent') dom$B.addClass(activeButton, 'border-transparent');else if (val === 'current') dom$B.addClass(activeButton, 'border-current');
48940
48976
  this.applyDefault(activeButton); // Button on/off
48941
48977
 
48942
48978
  const items = document.querySelectorAll('.border-color-command');
48943
48979
  items.forEach(item => {
48944
- dom$A.removeClass(item, 'on');
48980
+ dom$B.removeClass(item, 'on');
48945
48981
  });
48946
- dom$A.addClass(btn, 'on');
48982
+ dom$B.addClass(btn, 'on');
48947
48983
  this.builder.opts.onChange();
48948
48984
  });
48949
48985
  }); //hover border color
@@ -48954,16 +48990,16 @@ class ButtonEditor {
48954
48990
  this.builder.uo.saveForUndo();
48955
48991
  const val = btn.getAttribute('data-command');
48956
48992
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48957
- dom$A.removeClass(activeButton, 'hover:border-transparent');
48958
- dom$A.removeClass(activeButton, 'hover:border-current');
48959
- if (val === 'transparent') dom$A.addClass(activeButton, 'hover:border-transparent');else if (val === 'current') dom$A.addClass(activeButton, 'hover:border-current');
48993
+ dom$B.removeClass(activeButton, 'hover:border-transparent');
48994
+ dom$B.removeClass(activeButton, 'hover:border-current');
48995
+ if (val === 'transparent') dom$B.addClass(activeButton, 'hover:border-transparent');else if (val === 'current') dom$B.addClass(activeButton, 'hover:border-current');
48960
48996
  this.applyDefault(activeButton); // Button on/off
48961
48997
 
48962
48998
  const items = document.querySelectorAll('.border-color-hover-command');
48963
48999
  items.forEach(item => {
48964
- dom$A.removeClass(item, 'on');
49000
+ dom$B.removeClass(item, 'on');
48965
49001
  });
48966
- dom$A.addClass(btn, 'on');
49002
+ dom$B.addClass(btn, 'on');
48967
49003
  this.builder.opts.onChange();
48968
49004
  });
48969
49005
  }); //border width
@@ -48974,17 +49010,17 @@ class ButtonEditor {
48974
49010
  this.builder.uo.saveForUndo();
48975
49011
  const val = btn.getAttribute('data-command');
48976
49012
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48977
- dom$A.removeClass(activeButton, 'border-0');
48978
- dom$A.removeClass(activeButton, 'border-2');
48979
- dom$A.removeClass(activeButton, 'border');
48980
- if (val === '0') dom$A.addClass(activeButton, 'border-0');else if (val === '1') dom$A.addClass(activeButton, 'border');else if (val === '2') dom$A.addClass(activeButton, 'border-2');
49013
+ dom$B.removeClass(activeButton, 'border-0');
49014
+ dom$B.removeClass(activeButton, 'border-2');
49015
+ dom$B.removeClass(activeButton, 'border');
49016
+ if (val === '0') dom$B.addClass(activeButton, 'border-0');else if (val === '1') dom$B.addClass(activeButton, 'border');else if (val === '2') dom$B.addClass(activeButton, 'border-2');
48981
49017
  this.applyDefault(activeButton); // Button on/off
48982
49018
 
48983
49019
  const items = document.querySelectorAll('.border-width-command');
48984
49020
  items.forEach(item => {
48985
- dom$A.removeClass(item, 'on');
49021
+ dom$B.removeClass(item, 'on');
48986
49022
  });
48987
- dom$A.addClass(btn, 'on');
49023
+ dom$B.addClass(btn, 'on');
48988
49024
  this.builder.opts.onChange();
48989
49025
  });
48990
49026
  }); //border radius
@@ -48995,16 +49031,16 @@ class ButtonEditor {
48995
49031
  this.builder.uo.saveForUndo();
48996
49032
  const val = btn.getAttribute('data-command');
48997
49033
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
48998
- dom$A.removeClass(activeButton, 'rounded');
48999
- dom$A.removeClassesByPrefix(activeButton, 'rounded-');
49000
- if (val === 'normal') dom$A.addClass(activeButton, 'rounded');else dom$A.addClass(activeButton, 'rounded-' + val);
49034
+ dom$B.removeClass(activeButton, 'rounded');
49035
+ dom$B.removeClassesByPrefix(activeButton, 'rounded-');
49036
+ if (val === 'normal') dom$B.addClass(activeButton, 'rounded');else dom$B.addClass(activeButton, 'rounded-' + val);
49001
49037
  this.applyDefault(activeButton); // Button on/off
49002
49038
 
49003
49039
  const items = document.querySelectorAll('.border-radius-command');
49004
49040
  items.forEach(item => {
49005
- dom$A.removeClass(item, 'on');
49041
+ dom$B.removeClass(item, 'on');
49006
49042
  });
49007
- dom$A.addClass(btn, 'on');
49043
+ dom$B.addClass(btn, 'on');
49008
49044
  this.builder.opts.onChange();
49009
49045
  });
49010
49046
  }); //padding x
@@ -49015,51 +49051,51 @@ class ButtonEditor {
49015
49051
  this.builder.uo.saveForUndo();
49016
49052
  const val = btn.getAttribute('data-command');
49017
49053
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49018
- dom$A.removeClassesByPrefix(activeButton, 'px-');
49054
+ dom$B.removeClassesByPrefix(activeButton, 'px-');
49019
49055
 
49020
49056
  if (val === '2') {
49021
- dom$A.addClass(activeButton, 'px-2');
49057
+ dom$B.addClass(activeButton, 'px-2');
49022
49058
  }
49023
49059
 
49024
49060
  if (val === '3') {
49025
- dom$A.addClass(activeButton, 'px-3');
49061
+ dom$B.addClass(activeButton, 'px-3');
49026
49062
  }
49027
49063
 
49028
49064
  if (val === '4') {
49029
- dom$A.addClass(activeButton, 'px-4');
49065
+ dom$B.addClass(activeButton, 'px-4');
49030
49066
  }
49031
49067
 
49032
49068
  if (val === '5') {
49033
- dom$A.addClass(activeButton, 'px-5');
49069
+ dom$B.addClass(activeButton, 'px-5');
49034
49070
  }
49035
49071
 
49036
49072
  if (val === '6') {
49037
- dom$A.addClass(activeButton, 'px-6');
49073
+ dom$B.addClass(activeButton, 'px-6');
49038
49074
  }
49039
49075
 
49040
49076
  if (val === '8') {
49041
- dom$A.addClass(activeButton, 'px-8');
49077
+ dom$B.addClass(activeButton, 'px-8');
49042
49078
  }
49043
49079
 
49044
49080
  if (val === '11') {
49045
- dom$A.addClass(activeButton, 'px-11');
49081
+ dom$B.addClass(activeButton, 'px-11');
49046
49082
  }
49047
49083
 
49048
49084
  if (val === '12') {
49049
- dom$A.addClass(activeButton, 'px-12');
49085
+ dom$B.addClass(activeButton, 'px-12');
49050
49086
  }
49051
49087
 
49052
49088
  if (val === '14') {
49053
- dom$A.addClass(activeButton, 'px-14');
49089
+ dom$B.addClass(activeButton, 'px-14');
49054
49090
  }
49055
49091
 
49056
49092
  this.applyDefault(activeButton); // Button on/off
49057
49093
 
49058
49094
  const items = document.querySelectorAll('.paddingx-command');
49059
49095
  items.forEach(item => {
49060
- dom$A.removeClass(item, 'on');
49096
+ dom$B.removeClass(item, 'on');
49061
49097
  });
49062
- dom$A.addClass(btn, 'on');
49098
+ dom$B.addClass(btn, 'on');
49063
49099
  this.builder.opts.onChange();
49064
49100
  });
49065
49101
  }); //padding y
@@ -49070,43 +49106,43 @@ class ButtonEditor {
49070
49106
  this.builder.uo.saveForUndo();
49071
49107
  const val = btn.getAttribute('data-command');
49072
49108
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49073
- dom$A.removeClassesByPrefix(activeButton, 'py-');
49109
+ dom$B.removeClassesByPrefix(activeButton, 'py-');
49074
49110
 
49075
49111
  if (val === '0') {
49076
- dom$A.addClass(activeButton, 'py-0');
49112
+ dom$B.addClass(activeButton, 'py-0');
49077
49113
  }
49078
49114
 
49079
49115
  if (val === '1') {
49080
- dom$A.addClass(activeButton, 'py-1');
49116
+ dom$B.addClass(activeButton, 'py-1');
49081
49117
  }
49082
49118
 
49083
49119
  if (val === '2') {
49084
- dom$A.addClass(activeButton, 'py-2');
49120
+ dom$B.addClass(activeButton, 'py-2');
49085
49121
  }
49086
49122
 
49087
49123
  if (val === '3') {
49088
- dom$A.addClass(activeButton, 'py-3');
49124
+ dom$B.addClass(activeButton, 'py-3');
49089
49125
  }
49090
49126
 
49091
49127
  if (val === '4') {
49092
- dom$A.addClass(activeButton, 'py-4');
49128
+ dom$B.addClass(activeButton, 'py-4');
49093
49129
  }
49094
49130
 
49095
49131
  if (val === '5') {
49096
- dom$A.addClass(activeButton, 'py-5');
49132
+ dom$B.addClass(activeButton, 'py-5');
49097
49133
  }
49098
49134
 
49099
49135
  if (val === '6') {
49100
- dom$A.addClass(activeButton, 'py-6');
49136
+ dom$B.addClass(activeButton, 'py-6');
49101
49137
  }
49102
49138
 
49103
49139
  this.applyDefault(activeButton); // Button on/off
49104
49140
 
49105
49141
  const items = document.querySelectorAll('.paddingy-command');
49106
49142
  items.forEach(item => {
49107
- dom$A.removeClass(item, 'on');
49143
+ dom$B.removeClass(item, 'on');
49108
49144
  });
49109
- dom$A.addClass(btn, 'on');
49145
+ dom$B.addClass(btn, 'on');
49110
49146
  this.builder.opts.onChange();
49111
49147
  });
49112
49148
  }); //Font size
@@ -49117,15 +49153,15 @@ class ButtonEditor {
49117
49153
  this.builder.uo.saveForUndo();
49118
49154
  const val = btn.getAttribute('data-command');
49119
49155
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49120
- dom$A.removeClassesByPrefix(activeButton, 'size-');
49121
- dom$A.addClass(activeButton, 'size-' + val);
49156
+ dom$B.removeClassesByPrefix(activeButton, 'size-');
49157
+ dom$B.addClass(activeButton, 'size-' + val);
49122
49158
  this.applyDefault(activeButton); // Button on/off
49123
49159
 
49124
49160
  const items = document.querySelectorAll('.font-size-command');
49125
49161
  items.forEach(item => {
49126
- dom$A.removeClass(item, 'on');
49162
+ dom$B.removeClass(item, 'on');
49127
49163
  });
49128
- dom$A.addClass(btn, 'on');
49164
+ dom$B.addClass(btn, 'on');
49129
49165
  this.builder.opts.onChange();
49130
49166
  });
49131
49167
  }); //width
@@ -49138,26 +49174,26 @@ class ButtonEditor {
49138
49174
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49139
49175
 
49140
49176
  if (val === 'auto') {
49141
- dom$A.removeClass(activeButton, 'flex');
49142
- dom$A.removeClass(activeButton, 'justify-center');
49143
- dom$A.removeClass(activeButton, 'items-center');
49144
- dom$A.addClass(activeButton, 'inline-block');
49177
+ dom$B.removeClass(activeButton, 'flex');
49178
+ dom$B.removeClass(activeButton, 'justify-center');
49179
+ dom$B.removeClass(activeButton, 'items-center');
49180
+ dom$B.addClass(activeButton, 'inline-block');
49145
49181
  }
49146
49182
 
49147
49183
  if (val === 'full') {
49148
- dom$A.removeClass(activeButton, 'inline-block');
49149
- dom$A.addClass(activeButton, 'flex');
49150
- dom$A.addClass(activeButton, 'justify-center');
49151
- dom$A.addClass(activeButton, 'items-center');
49184
+ dom$B.removeClass(activeButton, 'inline-block');
49185
+ dom$B.addClass(activeButton, 'flex');
49186
+ dom$B.addClass(activeButton, 'justify-center');
49187
+ dom$B.addClass(activeButton, 'items-center');
49152
49188
  }
49153
49189
 
49154
49190
  this.applyDefault(activeButton); // Button on/off
49155
49191
 
49156
49192
  const items = document.querySelectorAll('.width-command');
49157
49193
  items.forEach(item => {
49158
- dom$A.removeClass(item, 'on');
49194
+ dom$B.removeClass(item, 'on');
49159
49195
  });
49160
- dom$A.addClass(btn, 'on');
49196
+ dom$B.addClass(btn, 'on');
49161
49197
  this.builder.opts.onChange();
49162
49198
  });
49163
49199
  }); //text case
@@ -49167,20 +49203,20 @@ class ButtonEditor {
49167
49203
  this.builder.uo.saveForUndo();
49168
49204
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49169
49205
 
49170
- if (dom$A.hasClass(activeButton, 'uppercase')) {
49171
- dom$A.removeClass(activeButton, 'uppercase');
49206
+ if (dom$B.hasClass(activeButton, 'uppercase')) {
49207
+ dom$B.removeClass(activeButton, 'uppercase');
49172
49208
  } else {
49173
- dom$A.addClass(activeButton, 'uppercase');
49209
+ dom$B.addClass(activeButton, 'uppercase');
49174
49210
  }
49175
49211
 
49176
49212
  this.applyDefault(activeButton); // Button on/off
49177
49213
 
49178
49214
  const btnTextCase = buttonModal.querySelector('.textcase-command');
49179
49215
 
49180
- if (dom$A.hasClass(btnTextCase, 'on')) {
49181
- dom$A.removeClass(btnTextCase, 'on');
49216
+ if (dom$B.hasClass(btnTextCase, 'on')) {
49217
+ dom$B.removeClass(btnTextCase, 'on');
49182
49218
  } else {
49183
- dom$A.addClass(btnTextCase, 'on');
49219
+ dom$B.addClass(btnTextCase, 'on');
49184
49220
  }
49185
49221
 
49186
49222
  this.builder.opts.onChange();
@@ -49191,22 +49227,22 @@ class ButtonEditor {
49191
49227
  this.builder.uo.saveForUndo();
49192
49228
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49193
49229
 
49194
- if (dom$A.hasClass(activeButton, 'underline')) {
49195
- dom$A.removeClass(activeButton, 'underline');
49196
- dom$A.addClass(activeButton, 'no-underline');
49230
+ if (dom$B.hasClass(activeButton, 'underline')) {
49231
+ dom$B.removeClass(activeButton, 'underline');
49232
+ dom$B.addClass(activeButton, 'no-underline');
49197
49233
  } else {
49198
- dom$A.removeClass(activeButton, 'no-underline');
49199
- dom$A.addClass(activeButton, 'underline');
49234
+ dom$B.removeClass(activeButton, 'no-underline');
49235
+ dom$B.addClass(activeButton, 'underline');
49200
49236
  }
49201
49237
 
49202
49238
  this.applyDefault(activeButton); // Button on/off
49203
49239
 
49204
49240
  const btnTextUnderline = buttonModal.querySelector('.textunderline-command');
49205
49241
 
49206
- if (dom$A.hasClass(btnTextUnderline, 'on')) {
49207
- dom$A.removeClass(btnTextUnderline, 'on');
49242
+ if (dom$B.hasClass(btnTextUnderline, 'on')) {
49243
+ dom$B.removeClass(btnTextUnderline, 'on');
49208
49244
  } else {
49209
- dom$A.addClass(btnTextUnderline, 'on');
49245
+ dom$B.addClass(btnTextUnderline, 'on');
49210
49246
  }
49211
49247
 
49212
49248
  this.builder.opts.onChange();
@@ -49217,22 +49253,22 @@ class ButtonEditor {
49217
49253
  this.builder.uo.saveForUndo();
49218
49254
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49219
49255
 
49220
- if (dom$A.hasClass(activeButton, 'font-semibold')) {
49221
- dom$A.removeClass(activeButton, 'font-semibold');
49222
- dom$A.addClass(activeButton, 'font-normal');
49256
+ if (dom$B.hasClass(activeButton, 'font-semibold')) {
49257
+ dom$B.removeClass(activeButton, 'font-semibold');
49258
+ dom$B.addClass(activeButton, 'font-normal');
49223
49259
  } else {
49224
- dom$A.removeClass(activeButton, 'font-normal');
49225
- dom$A.addClass(activeButton, 'font-semibold');
49260
+ dom$B.removeClass(activeButton, 'font-normal');
49261
+ dom$B.addClass(activeButton, 'font-semibold');
49226
49262
  }
49227
49263
 
49228
49264
  this.applyDefault(activeButton); // Button on/off
49229
49265
 
49230
49266
  const btnTextBold = buttonModal.querySelector('.textbold-command');
49231
49267
 
49232
- if (dom$A.hasClass(btnTextBold, 'on')) {
49233
- dom$A.removeClass(btnTextBold, 'on');
49268
+ if (dom$B.hasClass(btnTextBold, 'on')) {
49269
+ dom$B.removeClass(btnTextBold, 'on');
49234
49270
  } else {
49235
- dom$A.addClass(btnTextBold, 'on');
49271
+ dom$B.addClass(btnTextBold, 'on');
49236
49272
  }
49237
49273
 
49238
49274
  this.builder.opts.onChange();
@@ -49244,15 +49280,15 @@ class ButtonEditor {
49244
49280
  this.builder.uo.saveForUndo();
49245
49281
  const val = btn.getAttribute('data-command');
49246
49282
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49247
- dom$A.removeClassesByPrefix(activeButton, 'tracking-');
49248
- dom$A.addClass(activeButton, 'tracking-' + val);
49283
+ dom$B.removeClassesByPrefix(activeButton, 'tracking-');
49284
+ dom$B.addClass(activeButton, 'tracking-' + val);
49249
49285
  this.applyDefault(activeButton); // Button on/off
49250
49286
 
49251
49287
  const items = document.querySelectorAll('.letter-spacing-command');
49252
49288
  items.forEach(item => {
49253
- dom$A.removeClass(item, 'on');
49289
+ dom$B.removeClass(item, 'on');
49254
49290
  });
49255
- dom$A.addClass(btn, 'on');
49291
+ dom$B.addClass(btn, 'on');
49256
49292
  this.builder.opts.onChange();
49257
49293
  });
49258
49294
  }); //Margin Left
@@ -49263,15 +49299,15 @@ class ButtonEditor {
49263
49299
  this.builder.uo.saveForUndo();
49264
49300
  const val = btn.getAttribute('data-command');
49265
49301
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49266
- dom$A.removeClassesByPrefix(activeButton, 'ml-');
49267
- dom$A.addClass(activeButton, 'ml-' + val);
49302
+ dom$B.removeClassesByPrefix(activeButton, 'ml-');
49303
+ dom$B.addClass(activeButton, 'ml-' + val);
49268
49304
  this.applyDefault(activeButton); // Button on/off
49269
49305
 
49270
49306
  const items = document.querySelectorAll('.ml-command');
49271
49307
  items.forEach(item => {
49272
- dom$A.removeClass(item, 'on');
49308
+ dom$B.removeClass(item, 'on');
49273
49309
  });
49274
- dom$A.addClass(btn, 'on');
49310
+ dom$B.addClass(btn, 'on');
49275
49311
  this.builder.opts.onChange();
49276
49312
  });
49277
49313
  }); //Margin Right
@@ -49282,15 +49318,15 @@ class ButtonEditor {
49282
49318
  this.builder.uo.saveForUndo();
49283
49319
  const val = btn.getAttribute('data-command');
49284
49320
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49285
- dom$A.removeClassesByPrefix(activeButton, 'mr-');
49286
- dom$A.addClass(activeButton, 'mr-' + val);
49321
+ dom$B.removeClassesByPrefix(activeButton, 'mr-');
49322
+ dom$B.addClass(activeButton, 'mr-' + val);
49287
49323
  this.applyDefault(activeButton); // Button on/off
49288
49324
 
49289
49325
  const items = document.querySelectorAll('.mr-command');
49290
49326
  items.forEach(item => {
49291
- dom$A.removeClass(item, 'on');
49327
+ dom$B.removeClass(item, 'on');
49292
49328
  });
49293
- dom$A.addClass(btn, 'on');
49329
+ dom$B.addClass(btn, 'on');
49294
49330
  this.builder.opts.onChange();
49295
49331
  });
49296
49332
  }); //Margin Top
@@ -49301,15 +49337,15 @@ class ButtonEditor {
49301
49337
  this.builder.uo.saveForUndo();
49302
49338
  const val = btn.getAttribute('data-command');
49303
49339
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49304
- dom$A.removeClassesByPrefix(activeButton, 'mt-');
49305
- dom$A.addClass(activeButton, 'mt-' + val);
49340
+ dom$B.removeClassesByPrefix(activeButton, 'mt-');
49341
+ dom$B.addClass(activeButton, 'mt-' + val);
49306
49342
  this.applyDefault(activeButton); // Button on/off
49307
49343
 
49308
49344
  const items = document.querySelectorAll('.mt-command');
49309
49345
  items.forEach(item => {
49310
- dom$A.removeClass(item, 'on');
49346
+ dom$B.removeClass(item, 'on');
49311
49347
  });
49312
- dom$A.addClass(btn, 'on');
49348
+ dom$B.addClass(btn, 'on');
49313
49349
  this.builder.opts.onChange();
49314
49350
  });
49315
49351
  }); //Margin Bottom
@@ -49320,15 +49356,15 @@ class ButtonEditor {
49320
49356
  this.builder.uo.saveForUndo();
49321
49357
  const val = btn.getAttribute('data-command');
49322
49358
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49323
- dom$A.removeClassesByPrefix(activeButton, 'mb-');
49324
- dom$A.addClass(activeButton, 'mb-' + val);
49359
+ dom$B.removeClassesByPrefix(activeButton, 'mb-');
49360
+ dom$B.addClass(activeButton, 'mb-' + val);
49325
49361
  this.applyDefault(activeButton); // Button on/off
49326
49362
 
49327
49363
  const items = document.querySelectorAll('.mb-command');
49328
49364
  items.forEach(item => {
49329
- dom$A.removeClass(item, 'on');
49365
+ dom$B.removeClass(item, 'on');
49330
49366
  });
49331
- dom$A.addClass(btn, 'on');
49367
+ dom$B.addClass(btn, 'on');
49332
49368
  this.builder.opts.onChange();
49333
49369
  });
49334
49370
  }); //save button
@@ -49343,8 +49379,8 @@ class ButtonEditor {
49343
49379
  } // cleanup before saving
49344
49380
 
49345
49381
 
49346
- dom$A.removeClass(activeButton, 'active');
49347
- dom$A.removeClass(activeButton, 'elm-active');
49382
+ dom$B.removeClass(activeButton, 'active');
49383
+ dom$B.removeClass(activeButton, 'elm-active');
49348
49384
  const dataBg = activeButton.getAttribute('data-bg');
49349
49385
  const dataHoverBg = activeButton.getAttribute('data-hover-bg');
49350
49386
  const color = activeButton.style.color;
@@ -49408,7 +49444,7 @@ class ButtonEditor {
49408
49444
 
49409
49445
  if (!currColor) {
49410
49446
  // if no text-[color] found
49411
- currColor = dom$A.getStyle(activeButton, 'color');
49447
+ currColor = dom$B.getStyle(activeButton, 'color');
49412
49448
  btnTextColor.style.backgroundColor = currColor;
49413
49449
  } // NEW: inline color
49414
49450
 
@@ -49419,111 +49455,111 @@ class ButtonEditor {
49419
49455
  if (activeButton.style.color) btnTextColor.style.backgroundColor = activeButton.style.color;
49420
49456
  let btn;
49421
49457
  btn = this.buttonModal.querySelector('.text-color-hover-command.on');
49422
- dom$A.removeClass(btn, 'on');
49458
+ dom$B.removeClass(btn, 'on');
49423
49459
 
49424
- if (dom$A.hasClass(activeButton, 'hover:text-black')) {
49460
+ if (dom$B.hasClass(activeButton, 'hover:text-black')) {
49425
49461
  btn = this.buttonModal.querySelector('.text-color-hover-command[data-command="dark"]');
49426
- dom$A.addClass(btn, 'on');
49427
- } else if (dom$A.hasClass(activeButton, 'hover:text-white')) {
49462
+ dom$B.addClass(btn, 'on');
49463
+ } else if (dom$B.hasClass(activeButton, 'hover:text-white')) {
49428
49464
  btn = this.buttonModal.querySelector('.text-color-hover-command[data-command="light"]');
49429
- dom$A.addClass(btn, 'on');
49465
+ dom$B.addClass(btn, 'on');
49430
49466
  } else {
49431
49467
  btn = this.buttonModal.querySelector('.text-color-hover-command[data-command="current"]');
49432
- dom$A.addClass(btn, 'on');
49468
+ dom$B.addClass(btn, 'on');
49433
49469
  }
49434
49470
 
49435
49471
  btn = this.buttonModal.querySelector('.border-color-hover-command.on');
49436
- dom$A.removeClass(btn, 'on');
49472
+ dom$B.removeClass(btn, 'on');
49437
49473
 
49438
- if (dom$A.hasClass(activeButton, 'hover:border-transparent')) {
49474
+ if (dom$B.hasClass(activeButton, 'hover:border-transparent')) {
49439
49475
  btn = this.buttonModal.querySelector('.border-color-hover-command[data-command="transparent"]');
49440
- dom$A.addClass(btn, 'on');
49441
- } else if (dom$A.hasClass(activeButton, 'hover:border-current')) {
49476
+ dom$B.addClass(btn, 'on');
49477
+ } else if (dom$B.hasClass(activeButton, 'hover:border-current')) {
49442
49478
  btn = this.buttonModal.querySelector('.border-color-hover-command[data-command="current"]');
49443
- dom$A.addClass(btn, 'on');
49479
+ dom$B.addClass(btn, 'on');
49444
49480
  }
49445
49481
 
49446
49482
  btn = this.buttonModal.querySelector('.border-color-command.on');
49447
- dom$A.removeClass(btn, 'on');
49483
+ dom$B.removeClass(btn, 'on');
49448
49484
 
49449
- if (dom$A.hasClass(activeButton, 'border-transparent')) {
49485
+ if (dom$B.hasClass(activeButton, 'border-transparent')) {
49450
49486
  btn = this.buttonModal.querySelector('.border-color-command[data-command="transparent"]');
49451
- dom$A.addClass(btn, 'on');
49452
- } else if (dom$A.hasClass(activeButton, 'border-current')) {
49487
+ dom$B.addClass(btn, 'on');
49488
+ } else if (dom$B.hasClass(activeButton, 'border-current')) {
49453
49489
  btn = this.buttonModal.querySelector('.border-color-command[data-command="current"]');
49454
- dom$A.addClass(btn, 'on');
49490
+ dom$B.addClass(btn, 'on');
49455
49491
  }
49456
49492
 
49457
49493
  btn = this.buttonModal.querySelector('.width-command.on');
49458
- dom$A.removeClass(btn, 'on');
49494
+ dom$B.removeClass(btn, 'on');
49459
49495
 
49460
- if (dom$A.hasClass(activeButton, 'flex')) {
49496
+ if (dom$B.hasClass(activeButton, 'flex')) {
49461
49497
  btn = this.buttonModal.querySelector('.width-command[data-command="full"]');
49462
- dom$A.addClass(btn, 'on');
49498
+ dom$B.addClass(btn, 'on');
49463
49499
  } else {
49464
49500
  btn = this.buttonModal.querySelector('.width-command[data-command="auto"]');
49465
- dom$A.addClass(btn, 'on');
49501
+ dom$B.addClass(btn, 'on');
49466
49502
  }
49467
49503
 
49468
49504
  btn = this.buttonModal.querySelector('.textcase-command');
49469
49505
 
49470
- if (dom$A.hasClass(activeButton, 'uppercase')) {
49471
- dom$A.addClass(btn, 'on');
49506
+ if (dom$B.hasClass(activeButton, 'uppercase')) {
49507
+ dom$B.addClass(btn, 'on');
49472
49508
  } else {
49473
- dom$A.removeClass(btn, 'on');
49509
+ dom$B.removeClass(btn, 'on');
49474
49510
  }
49475
49511
 
49476
49512
  btn = this.buttonModal.querySelector('.textunderline-command');
49477
49513
 
49478
- if (dom$A.hasClass(activeButton, 'underline')) {
49479
- dom$A.addClass(btn, 'on');
49514
+ if (dom$B.hasClass(activeButton, 'underline')) {
49515
+ dom$B.addClass(btn, 'on');
49480
49516
  } else {
49481
- dom$A.removeClass(btn, 'on');
49517
+ dom$B.removeClass(btn, 'on');
49482
49518
  }
49483
49519
 
49484
49520
  btn = this.buttonModal.querySelector('.font-size-command.on');
49485
- dom$A.removeClass(btn, 'on');
49521
+ dom$B.removeClass(btn, 'on');
49486
49522
  btn = this.buttonModal.querySelector('.paddingx-command.on');
49487
- dom$A.removeClass(btn, 'on');
49523
+ dom$B.removeClass(btn, 'on');
49488
49524
  btn = this.buttonModal.querySelector('.paddingy-command.on');
49489
- dom$A.removeClass(btn, 'on');
49525
+ dom$B.removeClass(btn, 'on');
49490
49526
  btn = this.buttonModal.querySelector('.border-radius-command.on');
49491
- dom$A.removeClass(btn, 'on');
49527
+ dom$B.removeClass(btn, 'on');
49492
49528
  btn = this.buttonModal.querySelector('.letter-spacing-command.on');
49493
- dom$A.removeClass(btn, 'on');
49529
+ dom$B.removeClass(btn, 'on');
49494
49530
  btn = this.buttonModal.querySelector('.ml-command.on');
49495
- dom$A.removeClass(btn, 'on');
49531
+ dom$B.removeClass(btn, 'on');
49496
49532
  btn = this.buttonModal.querySelector('.mr-command.on');
49497
- dom$A.removeClass(btn, 'on');
49533
+ dom$B.removeClass(btn, 'on');
49498
49534
  btn = this.buttonModal.querySelector('.mt-command.on');
49499
- dom$A.removeClass(btn, 'on');
49535
+ dom$B.removeClass(btn, 'on');
49500
49536
  btn = this.buttonModal.querySelector('.mb-command.on');
49501
- dom$A.removeClass(btn, 'on');
49537
+ dom$B.removeClass(btn, 'on');
49502
49538
  btn = this.buttonModal.querySelector('.textbold-command');
49503
49539
 
49504
- if (dom$A.hasClass(activeButton, 'font-semibold')) {
49505
- dom$A.addClass(btn, 'on');
49540
+ if (dom$B.hasClass(activeButton, 'font-semibold')) {
49541
+ dom$B.addClass(btn, 'on');
49506
49542
  } else {
49507
- dom$A.removeClass(btn, 'on');
49543
+ dom$B.removeClass(btn, 'on');
49508
49544
  }
49509
49545
 
49510
- if (dom$A.hasClass(activeButton, 'rounded')) {
49546
+ if (dom$B.hasClass(activeButton, 'rounded')) {
49511
49547
  btn = this.buttonModal.querySelector('.border-radius-command[data-command="normal"]');
49512
- dom$A.addClass(btn, 'on');
49548
+ dom$B.addClass(btn, 'on');
49513
49549
  }
49514
49550
 
49515
49551
  btn = this.buttonModal.querySelector('.border-width-command.on');
49516
- dom$A.removeClass(btn, 'on');
49552
+ dom$B.removeClass(btn, 'on');
49517
49553
 
49518
- if (dom$A.hasClass(activeButton, 'border-0')) {
49554
+ if (dom$B.hasClass(activeButton, 'border-0')) {
49519
49555
  btn = this.buttonModal.querySelector('.border-width-command[data-command="0"]');
49520
- dom$A.addClass(btn, 'on');
49521
- } else if (dom$A.hasClass(activeButton, 'border-2')) {
49556
+ dom$B.addClass(btn, 'on');
49557
+ } else if (dom$B.hasClass(activeButton, 'border-2')) {
49522
49558
  btn = this.buttonModal.querySelector('.border-width-command[data-command="2"]');
49523
- dom$A.addClass(btn, 'on');
49524
- } else if (dom$A.hasClass(activeButton, 'border')) {
49559
+ dom$B.addClass(btn, 'on');
49560
+ } else if (dom$B.hasClass(activeButton, 'border')) {
49525
49561
  btn = this.buttonModal.querySelector('.border-width-command[data-command="1"]');
49526
- dom$A.addClass(btn, 'on');
49562
+ dom$B.addClass(btn, 'on');
49527
49563
  }
49528
49564
 
49529
49565
  if (activeButton.classList) {
@@ -49531,69 +49567,69 @@ class ButtonEditor {
49531
49567
  if (item.indexOf('size-') === 0) {
49532
49568
  let val = item.replace('size-', '');
49533
49569
  let btn = this.buttonModal.querySelector(`.font-size-command[data-command="${val}"]`);
49534
- dom$A.addClass(btn, 'on');
49570
+ dom$B.addClass(btn, 'on');
49535
49571
  }
49536
49572
 
49537
49573
  if (item.indexOf('px-') === 0) {
49538
49574
  let val = item.replace('px-', '');
49539
49575
  let btn = this.buttonModal.querySelector(`.paddingx-command[data-command="${val}"]`);
49540
- dom$A.addClass(btn, 'on');
49576
+ dom$B.addClass(btn, 'on');
49541
49577
  }
49542
49578
 
49543
49579
  if (item.indexOf('py-') === 0) {
49544
49580
  let val = item.replace('py-', '');
49545
49581
  let btn = this.buttonModal.querySelector(`.paddingy-command[data-command="${val}"]`);
49546
- dom$A.addClass(btn, 'on');
49582
+ dom$B.addClass(btn, 'on');
49547
49583
  }
49548
49584
 
49549
49585
  if (item.indexOf('rounded-') === 0) {
49550
49586
  let val = item.replace('rounded-', '');
49551
49587
  let btn = this.buttonModal.querySelector(`.border-radius-command[data-command="${val}"]`);
49552
- dom$A.addClass(btn, 'on');
49588
+ dom$B.addClass(btn, 'on');
49553
49589
  }
49554
49590
 
49555
49591
  if (item.indexOf('tracking-') === 0) {
49556
49592
  let val = item.replace('tracking-', '');
49557
49593
  let btn = this.buttonModal.querySelector(`.letter-spacing-command[data-command="${val}"]`);
49558
- dom$A.addClass(btn, 'on');
49594
+ dom$B.addClass(btn, 'on');
49559
49595
  }
49560
49596
 
49561
49597
  if (item.indexOf('ml-') === 0) {
49562
49598
  let val = item.replace('ml-', '');
49563
49599
  let btn = this.buttonModal.querySelector(`.ml-command[data-command="${val}"]`);
49564
- dom$A.addClass(btn, 'on');
49600
+ dom$B.addClass(btn, 'on');
49565
49601
  }
49566
49602
 
49567
49603
  if (item.indexOf('mr-') === 0) {
49568
49604
  let val = item.replace('mr-', '');
49569
49605
  let btn = this.buttonModal.querySelector(`.mr-command[data-command="${val}"]`);
49570
- dom$A.addClass(btn, 'on');
49606
+ dom$B.addClass(btn, 'on');
49571
49607
  }
49572
49608
 
49573
49609
  if (item.indexOf('mt-') === 0) {
49574
49610
  let val = item.replace('mt-', '');
49575
49611
  let btn = this.buttonModal.querySelector(`.mt-command[data-command="${val}"]`);
49576
- dom$A.addClass(btn, 'on');
49612
+ dom$B.addClass(btn, 'on');
49577
49613
  }
49578
49614
 
49579
49615
  if (item.indexOf('mb-') === 0) {
49580
49616
  let val = item.replace('mb-', '');
49581
49617
  let btn = this.buttonModal.querySelector(`.mb-command[data-command="${val}"]`);
49582
- dom$A.addClass(btn, 'on');
49618
+ dom$B.addClass(btn, 'on');
49583
49619
  }
49584
49620
  });
49585
49621
  }
49586
49622
  }
49587
49623
 
49588
49624
  hide() {
49589
- dom$A.removeClass(this.buttonModal, 'active');
49625
+ dom$B.removeClass(this.buttonModal, 'active');
49590
49626
  }
49591
49627
 
49592
49628
  getVisibleBgColor(className, callback) {
49593
49629
  const elm = document.createElement('div');
49594
49630
  elm.className = className;
49595
49631
  this.builderStuff.appendChild(elm);
49596
- let currColor = dom$A.getStyle(elm, 'background-color');
49632
+ let currColor = dom$B.getStyle(elm, 'background-color');
49597
49633
  callback(currColor);
49598
49634
  this.builderStuff.removeChild(elm);
49599
49635
  }
@@ -49602,7 +49638,7 @@ class ButtonEditor {
49602
49638
  const elm = document.createElement('div');
49603
49639
  elm.className = className;
49604
49640
  this.builderStuff.appendChild(elm);
49605
- let currColor = dom$A.getStyle(elm, 'color');
49641
+ let currColor = dom$B.getStyle(elm, 'color');
49606
49642
  callback(currColor);
49607
49643
  this.builderStuff.removeChild(elm);
49608
49644
  }
@@ -49697,9 +49733,9 @@ class ButtonEditor {
49697
49733
  const activeButton = this.builder.activeButton || this.builder.activeLinkButton;
49698
49734
  var links = this.buttonModal.querySelectorAll('#divMyButtonList a');
49699
49735
  Array.prototype.forEach.call(links, link => {
49700
- dom$A.removeClass(link, 'active');
49736
+ dom$B.removeClass(link, 'active');
49701
49737
  });
49702
- dom$A.addClass(btn, 'active');
49738
+ dom$B.addClass(btn, 'active');
49703
49739
  this.applyStyles(activeButton, btn);
49704
49740
  this.cleanupOldClasses(activeButton);
49705
49741
  this.builder.opts.onChange();
@@ -49763,12 +49799,12 @@ class ButtonEditor {
49763
49799
  }
49764
49800
 
49765
49801
  applyDefault(link) {
49766
- dom$A.addClass(link, 'transition-all');
49767
- if (!dom$A.hasClass(link, 'flex')) dom$A.addClass(link, 'inline-block');
49768
- dom$A.addClass(link, 'cursor-pointer'); // dom.addClass(link, 'border-2');
49802
+ dom$B.addClass(link, 'transition-all');
49803
+ if (!dom$B.hasClass(link, 'flex')) dom$B.addClass(link, 'inline-block');
49804
+ dom$B.addClass(link, 'cursor-pointer'); // dom.addClass(link, 'border-2');
49769
49805
 
49770
- dom$A.addClass(link, 'border-solid');
49771
- dom$A.addClass(link, 'leading-relaxed'); // dom.addClass(link, 'mt-2');
49806
+ dom$B.addClass(link, 'border-solid');
49807
+ dom$B.addClass(link, 'leading-relaxed'); // dom.addClass(link, 'mt-2');
49772
49808
  // dom.addClass(link, 'mb-2');
49773
49809
  // link.removeAttribute('style');
49774
49810
  // link.removeAttribute('onmouseover');
@@ -49782,20 +49818,20 @@ class ButtonEditor {
49782
49818
  }
49783
49819
 
49784
49820
  cleanupOldClasses(link) {
49785
- dom$A.removeClass(link, 'is-btn-ghost1');
49786
- dom$A.removeClass(link, 'is-btn-ghost2');
49787
- dom$A.removeClass(link, 'is-upper');
49788
- dom$A.removeClass(link, 'is-btn-small');
49789
- dom$A.removeClass(link, 'is-btn');
49790
- dom$A.removeClass(link, 'is-rounded-30');
49791
- dom$A.removeClass(link, 'btn-primary');
49792
- dom$A.removeClass(link, 'btn-default');
49793
- dom$A.removeClass(link, 'btn');
49821
+ dom$B.removeClass(link, 'is-btn-ghost1');
49822
+ dom$B.removeClass(link, 'is-btn-ghost2');
49823
+ dom$B.removeClass(link, 'is-upper');
49824
+ dom$B.removeClass(link, 'is-btn-small');
49825
+ dom$B.removeClass(link, 'is-btn');
49826
+ dom$B.removeClass(link, 'is-rounded-30');
49827
+ dom$B.removeClass(link, 'btn-primary');
49828
+ dom$B.removeClass(link, 'btn-default');
49829
+ dom$B.removeClass(link, 'btn');
49794
49830
  }
49795
49831
 
49796
49832
  }
49797
49833
 
49798
- const dom$z = new Dom();
49834
+ const dom$A = new Dom();
49799
49835
 
49800
49836
  class Hyperlink {
49801
49837
  constructor(builder) {
@@ -49846,27 +49882,27 @@ class Hyperlink {
49846
49882
  </div>
49847
49883
  </div>
49848
49884
  `;
49849
- dom$z.appendHtml(builderStuff, html);
49885
+ dom$A.appendHtml(builderStuff, html);
49850
49886
  linkTool = builderStuff.querySelector('#divLinkTool');
49851
49887
  let linkEdit = linkTool.querySelector('.link-edit');
49852
- dom$z.addEventListener(linkEdit, 'click', () => {
49888
+ dom$A.addEventListener(linkEdit, 'click', () => {
49853
49889
  // old: 10853
49854
49890
  this.editLink();
49855
49891
  });
49856
49892
  let buttonEdit = linkTool.querySelector('.link-button-edit');
49857
- dom$z.addEventListener(buttonEdit, 'click', () => {
49893
+ dom$A.addEventListener(buttonEdit, 'click', () => {
49858
49894
  // old: 10853
49859
49895
  this.editButton();
49860
49896
  });
49861
49897
  let linkDuplicate = linkTool.querySelector('.link-duplicate');
49862
- dom$z.addEventListener(linkDuplicate, 'click', () => {
49898
+ dom$A.addEventListener(linkDuplicate, 'click', () => {
49863
49899
  if (this.builder.activeLink) {
49864
49900
  this.builder.uo.saveForUndo();
49865
49901
 
49866
49902
  if (this.builder.opts.emailMode) {
49867
49903
  var element = this.builder.activeLink;
49868
49904
 
49869
- while (element.tagName.toLowerCase() !== 'table' && !dom$z.hasClass(element, 'button')) {
49905
+ while (element.tagName.toLowerCase() !== 'table' && !dom$A.hasClass(element, 'button')) {
49870
49906
  element = element.parentNode;
49871
49907
  }
49872
49908
 
@@ -49875,7 +49911,7 @@ class Hyperlink {
49875
49911
  const newlinkTD = activeLinkTD.cloneNode(true); // if there is active icon class, do not copy the class
49876
49912
 
49877
49913
  let iconActive = newlinkTD.querySelector('.icon-active');
49878
- if (iconActive) dom$z.removeClass(iconActive, 'icon-active');
49914
+ if (iconActive) dom$A.removeClass(iconActive, 'icon-active');
49879
49915
  newlinkTD.style.paddingRight = '15px';
49880
49916
  activeLinkTD.parentNode.insertBefore(newlinkTD, activeLinkTD);
49881
49917
  this.showTool(this.builder.activeLink);
@@ -49883,20 +49919,20 @@ class Hyperlink {
49883
49919
  const newlink = this.builder.activeLink.cloneNode(true); // if there is active icon class, do not copy the class
49884
49920
 
49885
49921
  let iconActive = newlink.querySelector('.icon-active');
49886
- if (iconActive) dom$z.removeClass(iconActive, 'icon-active');
49922
+ if (iconActive) dom$A.removeClass(iconActive, 'icon-active');
49887
49923
  this.builder.activeLink.parentNode.insertBefore(newlink, this.builder.activeLink);
49888
49924
  this.showTool(this.builder.activeLink);
49889
49925
  }
49890
49926
  }
49891
49927
  });
49892
49928
  let linkRemove = linkTool.querySelector('.link-remove');
49893
- dom$z.addEventListener(linkRemove, 'click', () => {
49929
+ dom$A.addEventListener(linkRemove, 'click', () => {
49894
49930
  this.builder.uo.saveForUndo();
49895
49931
 
49896
49932
  if (this.builder.opts.emailMode) {
49897
49933
  var element = this.builder.activeLink;
49898
49934
 
49899
- while (element.tagName.toLowerCase() !== 'table' && !dom$z.hasClass(element, 'button')) {
49935
+ while (element.tagName.toLowerCase() !== 'table' && !dom$A.hasClass(element, 'button')) {
49900
49936
  element = element.parentNode;
49901
49937
  }
49902
49938
 
@@ -49915,7 +49951,7 @@ class Hyperlink {
49915
49951
  });
49916
49952
  let modal = this.builderStuff.querySelector('.is-modal.createlink');
49917
49953
  let inputOk = modal.querySelector('.input-ok');
49918
- dom$z.addEventListener(inputOk, 'click', () => {
49954
+ dom$A.addEventListener(inputOk, 'click', () => {
49919
49955
  this.builder.uo.saveForUndo();
49920
49956
  let link = this.builder.activeLink;
49921
49957
 
@@ -49936,9 +49972,9 @@ class Hyperlink {
49936
49972
  }
49937
49973
 
49938
49974
  if (modal.querySelector('.input-openlightbox').checked) {
49939
- dom$z.addClass(link, 'is-lightbox');
49975
+ dom$A.addClass(link, 'is-lightbox');
49940
49976
  } else {
49941
- dom$z.removeClass(link, 'is-lightbox');
49977
+ dom$A.removeClass(link, 'is-lightbox');
49942
49978
  }
49943
49979
 
49944
49980
  if (this.builder.activeIcon) ; else {
@@ -49988,9 +50024,9 @@ class Hyperlink {
49988
50024
  }
49989
50025
 
49990
50026
  if (modal.querySelector('.input-openlightbox').checked) {
49991
- dom$z.addClass(activeLink, 'is-lightbox');
50027
+ dom$A.addClass(activeLink, 'is-lightbox');
49992
50028
  } else {
49993
- dom$z.removeClass(activeLink, 'is-lightbox');
50029
+ dom$A.removeClass(activeLink, 'is-lightbox');
49994
50030
  }
49995
50031
 
49996
50032
  activeLink.setAttribute('title', title);
@@ -49998,7 +50034,7 @@ class Hyperlink {
49998
50034
 
49999
50035
  if (!util.appleMobile) {
50000
50036
  this.builder.activeIcon.click();
50001
- dom$z.selectElementContents(this.builder.activeIcon); // https://stackoverflow.com/questions/29908261/prevent-text-selection-on-mouse-drag
50037
+ dom$A.selectElementContents(this.builder.activeIcon); // https://stackoverflow.com/questions/29908261/prevent-text-selection-on-mouse-drag
50002
50038
  // prevent text selection
50003
50039
 
50004
50040
  if (document.selection) {
@@ -50027,9 +50063,9 @@ class Hyperlink {
50027
50063
  }
50028
50064
 
50029
50065
  if (modal.querySelector('.input-openlightbox').checked) {
50030
- dom$z.addClass(link, 'is-lightbox');
50066
+ dom$A.addClass(link, 'is-lightbox');
50031
50067
  } else {
50032
- dom$z.removeClass(link, 'is-lightbox');
50068
+ dom$A.removeClass(link, 'is-lightbox');
50033
50069
  }
50034
50070
 
50035
50071
  link.appendChild(fragment);
@@ -50050,14 +50086,14 @@ class Hyperlink {
50050
50086
  }
50051
50087
 
50052
50088
  if (modal.querySelector('.input-openlightbox').checked) {
50053
- dom$z.addClass(link, 'is-lightbox');
50089
+ dom$A.addClass(link, 'is-lightbox');
50054
50090
  } else {
50055
- dom$z.removeClass(link, 'is-lightbox');
50091
+ dom$A.removeClass(link, 'is-lightbox');
50056
50092
  } // if(!util.appleMobile) dom.selectElementContents(link);
50057
50093
 
50058
50094
 
50059
- dom$z.selectElementContents(link);
50060
- dom$z.removeClass(link, 'dummylink');
50095
+ dom$A.selectElementContents(link);
50096
+ dom$A.removeClass(link, 'dummylink');
50061
50097
  }
50062
50098
  }
50063
50099
  } //save selection
@@ -50073,7 +50109,7 @@ class Hyperlink {
50073
50109
  util.hideModal(modal);
50074
50110
  });
50075
50111
  let inputCancel = modal.querySelector('.input-cancel');
50076
- dom$z.addEventListener(inputCancel, 'click', () => {
50112
+ dom$A.addEventListener(inputCancel, 'click', () => {
50077
50113
  util.hideModal(modal);
50078
50114
  if (!util.appleMobile) util.restoreSelection();
50079
50115
  });
@@ -50108,16 +50144,16 @@ class Hyperlink {
50108
50144
  this.builder.activeLink = null;
50109
50145
  this.builder.activeLinkButton = null;
50110
50146
 
50111
- if ((elm.tagName.toLowerCase() === 'a' || dom$z.parentsHasTag(elm, 'a')) && !customcode && !noedit && !_protected) {
50147
+ if ((elm.tagName.toLowerCase() === 'a' || dom$A.parentsHasTag(elm, 'a')) && !customcode && !noedit && !_protected) {
50112
50148
  if (elm.childNodes.length > 0) {
50113
50149
  // Sometimes happens when click a link icon, but not exactly on the icon <i>, but the link <a>
50114
50150
  if (elm.childNodes[0].tagName) if (elm.childNodes[0].tagName.toLowerCase() === 'i' && elm.childNodes.length === 1 && elm.childNodes[0].innerHTML === '') {
50115
50151
  const icons = document.querySelectorAll('.icon-active');
50116
50152
  Array.prototype.forEach.call(icons, icon => {
50117
- dom$z.removeClass(icon, 'icon-active');
50153
+ dom$A.removeClass(icon, 'icon-active');
50118
50154
  });
50119
- dom$z.addClass(elm.childNodes[0], 'icon-active');
50120
- dom$z.selectElementContents(elm.childNodes[0]);
50155
+ dom$A.addClass(elm.childNodes[0], 'icon-active');
50156
+ dom$A.selectElementContents(elm.childNodes[0]);
50121
50157
  this.builder.activeIcon = elm.childNodes[0];
50122
50158
  }
50123
50159
  }
@@ -50143,7 +50179,7 @@ class Hyperlink {
50143
50179
  this.builder.activeLink = link; // Button Stuff
50144
50180
 
50145
50181
  let isButton;
50146
- let display = dom$z.getStyle(link, 'display');
50182
+ let display = dom$A.getStyle(link, 'display');
50147
50183
 
50148
50184
  if (display === 'inline-block' || display === 'block' || display === 'flex') {
50149
50185
  isButton = true;
@@ -50164,7 +50200,7 @@ class Hyperlink {
50164
50200
  showTool(link) {
50165
50201
  // Link tool
50166
50202
  const linkTool = this.linkTool;
50167
- let linkDisplay = dom$z.getStyle(link, 'display');
50203
+ let linkDisplay = dom$A.getStyle(link, 'display');
50168
50204
 
50169
50205
  if (linkDisplay === 'inline-block' || linkDisplay === 'flex') {
50170
50206
  linkTool.querySelector('.link-duplicate').style.display = 'block';
@@ -50186,7 +50222,7 @@ class Hyperlink {
50186
50222
  if (link && this.builder.activeLinkButton) linkTool.querySelector('.link-button-edit').style.display = 'block';else linkTool.querySelector('.link-button-edit').style.display = 'none';
50187
50223
  }
50188
50224
 
50189
- if (dom$z.hasClass(this.buttonEditor.buttonModal, 'active')) {
50225
+ if (dom$A.hasClass(this.buttonEditor.buttonModal, 'active')) {
50190
50226
  this.buttonEditor.realtime();
50191
50227
  } // /Button Stuff
50192
50228
 
@@ -50269,14 +50305,14 @@ class Hyperlink {
50269
50305
  const util = new Util(this.builder);
50270
50306
  util.getSelection(); // new
50271
50307
 
50272
- var text = dom$z.getSelected();
50308
+ var text = dom$A.getSelected();
50273
50309
  let modal = this.builderStuff.querySelector('.is-modal.createlink');
50274
50310
 
50275
50311
  if (this.builder.opts.onFileSelectClick || this.builder.opts.fileselect !== '') {
50276
50312
  modal.querySelector('.input-select').style.display = 'block'; // modal.querySelector('.input-url').style.width = '444px';
50277
50313
 
50278
50314
  let inputSelect = modal.querySelector('.input-select');
50279
- dom$z.addEventListener(inputSelect, 'click', e => {
50315
+ dom$A.addEventListener(inputSelect, 'click', e => {
50280
50316
  if (this.builder.opts.onFileSelectClick) {
50281
50317
  this.builder.opts.onFileSelectClick({
50282
50318
  targetInput: modal.querySelector('.input-url'),
@@ -50335,7 +50371,7 @@ class Hyperlink {
50335
50371
  modal.querySelector('.input-newwindow').checked = false;
50336
50372
  }
50337
50373
 
50338
- if (dom$z.hasClass(link, 'is-lightbox')) {
50374
+ if (dom$A.hasClass(link, 'is-lightbox')) {
50339
50375
  modal.querySelector('.input-openlightbox').checked = true;
50340
50376
  } else {
50341
50377
  modal.querySelector('.input-openlightbox').checked = false;
@@ -50368,7 +50404,7 @@ class Hyperlink {
50368
50404
  modal.querySelector('#inpCreateLinkText').style.display = '';
50369
50405
 
50370
50406
  if (link.childElementCount === 1 && icon) {
50371
- if (dom$z.hasClass(icon, 'icon')) {
50407
+ if (dom$A.hasClass(icon, 'icon')) {
50372
50408
  modal.querySelector('#lblCreateLinkText').style.display = 'none';
50373
50409
  modal.querySelector('#inpCreateLinkText').style.display = 'none';
50374
50410
  }
@@ -50378,7 +50414,7 @@ class Hyperlink {
50378
50414
  modal.querySelector('.input-select').style.display = 'block';
50379
50415
  modal.querySelector('.input-url').style.width = '444px';
50380
50416
  let inputSelect = modal.querySelector('.input-select');
50381
- dom$z.addEventListener(inputSelect, 'click', () => {
50417
+ dom$A.addEventListener(inputSelect, 'click', () => {
50382
50418
  if (this.builder.opts.onFileSelectClick) {
50383
50419
  this.builder.opts.onFileSelectClick({
50384
50420
  targetInput: modal.querySelector('.input-url'),
@@ -50422,7 +50458,7 @@ class Hyperlink {
50422
50458
  modal.querySelector('.input-newwindow').checked = false;
50423
50459
  }
50424
50460
 
50425
- if (dom$z.hasClass(link, 'is-lightbox')) {
50461
+ if (dom$A.hasClass(link, 'is-lightbox')) {
50426
50462
  modal.querySelector('.input-openlightbox').checked = true;
50427
50463
  } else {
50428
50464
  modal.querySelector('.input-openlightbox').checked = false;
@@ -50437,7 +50473,7 @@ class Hyperlink {
50437
50473
 
50438
50474
  }
50439
50475
 
50440
- const dom$y = new Dom();
50476
+ const dom$z = new Dom();
50441
50477
 
50442
50478
  class Button {
50443
50479
  constructor(builder) {
@@ -50455,26 +50491,26 @@ class Button {
50455
50491
  <button title="${util.out('Delete')}" data-title="${util.out('Delete')}" class="button-remove"><svg class="is-icon-flex" style="width:20px;height:20px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
50456
50492
  </div>
50457
50493
  `;
50458
- dom$y.appendHtml(builderStuff, html);
50494
+ dom$z.appendHtml(builderStuff, html);
50459
50495
  buttonTool = builderStuff.querySelector('#divButtonTool');
50460
50496
  let buttonEdit = buttonTool.querySelector('.button-edit');
50461
- dom$y.addEventListener(buttonEdit, 'click', () => {
50497
+ dom$z.addEventListener(buttonEdit, 'click', () => {
50462
50498
  // old: 10853
50463
50499
  this.editButton();
50464
50500
  });
50465
50501
  let buttonDuplicate = buttonTool.querySelector('.button-duplicate');
50466
- dom$y.addEventListener(buttonDuplicate, 'click', () => {
50502
+ dom$z.addEventListener(buttonDuplicate, 'click', () => {
50467
50503
  if (this.builder.activeButton) {
50468
50504
  this.builder.uo.saveForUndo();
50469
50505
  const newButton = this.builder.activeButton.cloneNode(true);
50470
50506
  let elmActive = newButton.querySelector('.elm-active');
50471
- if (elmActive) dom$y.removeClass(elmActive, 'elm-active');
50507
+ if (elmActive) dom$z.removeClass(elmActive, 'elm-active');
50472
50508
  this.builder.activeButton.parentNode.insertBefore(newButton, this.builder.activeButton);
50473
50509
  this.showTool(this.builder.activeButton);
50474
50510
  }
50475
50511
  });
50476
50512
  let buttonRemove = buttonTool.querySelector('.button-remove');
50477
- dom$y.addEventListener(buttonRemove, 'click', () => {
50513
+ dom$z.addEventListener(buttonRemove, 'click', () => {
50478
50514
  this.builder.uo.saveForUndo();
50479
50515
  if (this.builder.activeButton) this.builder.activeButton.parentNode.removeChild(this.builder.activeButton);
50480
50516
  buttonTool.style.display = '';
@@ -50525,7 +50561,7 @@ class Button {
50525
50561
  }
50526
50562
 
50527
50563
  showTool(activeButton) {
50528
- if (dom$y.hasClass(this.buttonEditor.buttonModal, 'active')) {
50564
+ if (dom$z.hasClass(this.buttonEditor.buttonModal, 'active')) {
50529
50565
  this.buttonEditor.realtime();
50530
50566
  }
50531
50567
 
@@ -50546,7 +50582,7 @@ class Button {
50546
50582
 
50547
50583
  }
50548
50584
 
50549
- const dom$x = new Dom();
50585
+ const dom$y = new Dom();
50550
50586
 
50551
50587
  class Spacer {
50552
50588
  constructor(builder) {
@@ -50564,103 +50600,103 @@ class Spacer {
50564
50600
  <button title="${util.out('Increase')}" data-value="+" style="border-left: none;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>
50565
50601
  </div>
50566
50602
  `;
50567
- dom$x.appendHtml(builderStuff, html);
50603
+ dom$y.appendHtml(builderStuff, html);
50568
50604
  spacerTool = builderStuff.querySelector('.is-spacer-tool');
50569
50605
  const btns = spacerTool.querySelectorAll('button');
50570
50606
  Array.prototype.forEach.call(btns, btn => {
50571
- dom$x.addEventListener(btn, 'click', () => {
50607
+ dom$y.addEventListener(btn, 'click', () => {
50572
50608
  this.builder.uo.saveForUndo();
50573
50609
  const command = btn.getAttribute('data-value');
50574
50610
  let spacer = this.builder.activeSpacer;
50575
50611
 
50576
50612
  if (command === '-') {
50577
- if (dom$x.hasClass(spacer, 'height-300')) {
50578
- dom$x.removeClass(spacer, 'height-300');
50579
- dom$x.addClass(spacer, 'height-280');
50580
- } else if (dom$x.hasClass(spacer, 'height-280')) {
50581
- dom$x.removeClass(spacer, 'height-280');
50582
- dom$x.addClass(spacer, 'height-260');
50583
- } else if (dom$x.hasClass(spacer, 'height-260')) {
50584
- dom$x.removeClass(spacer, 'height-260');
50585
- dom$x.addClass(spacer, 'height-240');
50586
- } else if (dom$x.hasClass(spacer, 'height-240')) {
50587
- dom$x.removeClass(spacer, 'height-240');
50588
- dom$x.addClass(spacer, 'height-220');
50589
- } else if (dom$x.hasClass(spacer, 'height-220')) {
50590
- dom$x.removeClass(spacer, 'height-220');
50591
- dom$x.addClass(spacer, 'height-200');
50592
- } else if (dom$x.hasClass(spacer, 'height-200')) {
50593
- dom$x.removeClass(spacer, 'height-200');
50594
- dom$x.addClass(spacer, 'height-180');
50595
- } else if (dom$x.hasClass(spacer, 'height-180')) {
50596
- dom$x.removeClass(spacer, 'height-180');
50597
- dom$x.addClass(spacer, 'height-160');
50598
- } else if (dom$x.hasClass(spacer, 'height-160')) {
50599
- dom$x.removeClass(spacer, 'height-160');
50600
- dom$x.addClass(spacer, 'height-140');
50601
- } else if (dom$x.hasClass(spacer, 'height-140')) {
50602
- dom$x.removeClass(spacer, 'height-140');
50603
- dom$x.addClass(spacer, 'height-120');
50604
- } else if (dom$x.hasClass(spacer, 'height-120')) {
50605
- dom$x.removeClass(spacer, 'height-120');
50606
- dom$x.addClass(spacer, 'height-100');
50607
- } else if (dom$x.hasClass(spacer, 'height-100')) {
50608
- dom$x.removeClass(spacer, 'height-100');
50609
- dom$x.addClass(spacer, 'height-80');
50610
- } else if (dom$x.hasClass(spacer, 'height-80')) {
50611
- dom$x.removeClass(spacer, 'height-80');
50612
- dom$x.addClass(spacer, 'height-60');
50613
- } else if (dom$x.hasClass(spacer, 'height-60')) {
50614
- dom$x.removeClass(spacer, 'height-60');
50615
- dom$x.addClass(spacer, 'height-40');
50616
- } else if (dom$x.hasClass(spacer, 'height-40')) {
50617
- dom$x.removeClass(spacer, 'height-40');
50618
- dom$x.addClass(spacer, 'height-20');
50613
+ if (dom$y.hasClass(spacer, 'height-300')) {
50614
+ dom$y.removeClass(spacer, 'height-300');
50615
+ dom$y.addClass(spacer, 'height-280');
50616
+ } else if (dom$y.hasClass(spacer, 'height-280')) {
50617
+ dom$y.removeClass(spacer, 'height-280');
50618
+ dom$y.addClass(spacer, 'height-260');
50619
+ } else if (dom$y.hasClass(spacer, 'height-260')) {
50620
+ dom$y.removeClass(spacer, 'height-260');
50621
+ dom$y.addClass(spacer, 'height-240');
50622
+ } else if (dom$y.hasClass(spacer, 'height-240')) {
50623
+ dom$y.removeClass(spacer, 'height-240');
50624
+ dom$y.addClass(spacer, 'height-220');
50625
+ } else if (dom$y.hasClass(spacer, 'height-220')) {
50626
+ dom$y.removeClass(spacer, 'height-220');
50627
+ dom$y.addClass(spacer, 'height-200');
50628
+ } else if (dom$y.hasClass(spacer, 'height-200')) {
50629
+ dom$y.removeClass(spacer, 'height-200');
50630
+ dom$y.addClass(spacer, 'height-180');
50631
+ } else if (dom$y.hasClass(spacer, 'height-180')) {
50632
+ dom$y.removeClass(spacer, 'height-180');
50633
+ dom$y.addClass(spacer, 'height-160');
50634
+ } else if (dom$y.hasClass(spacer, 'height-160')) {
50635
+ dom$y.removeClass(spacer, 'height-160');
50636
+ dom$y.addClass(spacer, 'height-140');
50637
+ } else if (dom$y.hasClass(spacer, 'height-140')) {
50638
+ dom$y.removeClass(spacer, 'height-140');
50639
+ dom$y.addClass(spacer, 'height-120');
50640
+ } else if (dom$y.hasClass(spacer, 'height-120')) {
50641
+ dom$y.removeClass(spacer, 'height-120');
50642
+ dom$y.addClass(spacer, 'height-100');
50643
+ } else if (dom$y.hasClass(spacer, 'height-100')) {
50644
+ dom$y.removeClass(spacer, 'height-100');
50645
+ dom$y.addClass(spacer, 'height-80');
50646
+ } else if (dom$y.hasClass(spacer, 'height-80')) {
50647
+ dom$y.removeClass(spacer, 'height-80');
50648
+ dom$y.addClass(spacer, 'height-60');
50649
+ } else if (dom$y.hasClass(spacer, 'height-60')) {
50650
+ dom$y.removeClass(spacer, 'height-60');
50651
+ dom$y.addClass(spacer, 'height-40');
50652
+ } else if (dom$y.hasClass(spacer, 'height-40')) {
50653
+ dom$y.removeClass(spacer, 'height-40');
50654
+ dom$y.addClass(spacer, 'height-20');
50619
50655
  } // else { }
50620
50656
 
50621
50657
  } else {
50622
- if (dom$x.hasClass(spacer, 'height-20')) {
50623
- dom$x.removeClass(spacer, 'height-20');
50624
- dom$x.addClass(spacer, 'height-40');
50625
- } else if (dom$x.hasClass(spacer, 'height-40')) {
50626
- dom$x.removeClass(spacer, 'height-40');
50627
- dom$x.addClass(spacer, 'height-60');
50628
- } else if (dom$x.hasClass(spacer, 'height-60')) {
50629
- dom$x.removeClass(spacer, 'height-60');
50630
- dom$x.addClass(spacer, 'height-80');
50631
- } else if (dom$x.hasClass(spacer, 'height-80')) {
50632
- dom$x.removeClass(spacer, 'height-80');
50633
- dom$x.addClass(spacer, 'height-100');
50634
- } else if (dom$x.hasClass(spacer, 'height-100')) {
50635
- dom$x.removeClass(spacer, 'height-100');
50636
- dom$x.addClass(spacer, 'height-120');
50637
- } else if (dom$x.hasClass(spacer, 'height-120')) {
50638
- dom$x.removeClass(spacer, 'height-120');
50639
- dom$x.addClass(spacer, 'height-140');
50640
- } else if (dom$x.hasClass(spacer, 'height-140')) {
50641
- dom$x.removeClass(spacer, 'height-140');
50642
- dom$x.addClass(spacer, 'height-160');
50643
- } else if (dom$x.hasClass(spacer, 'height-160')) {
50644
- dom$x.removeClass(spacer, 'height-160');
50645
- dom$x.addClass(spacer, 'height-180');
50646
- } else if (dom$x.hasClass(spacer, 'height-180')) {
50647
- dom$x.removeClass(spacer, 'height-180');
50648
- dom$x.addClass(spacer, 'height-200');
50649
- } else if (dom$x.hasClass(spacer, 'height-200')) {
50650
- dom$x.removeClass(spacer, 'height-200');
50651
- dom$x.addClass(spacer, 'height-220');
50652
- } else if (dom$x.hasClass(spacer, 'height-220')) {
50653
- dom$x.removeClass(spacer, 'height-220');
50654
- dom$x.addClass(spacer, 'height-240');
50655
- } else if (dom$x.hasClass(spacer, 'height-240')) {
50656
- dom$x.removeClass(spacer, 'height-240');
50657
- dom$x.addClass(spacer, 'height-260');
50658
- } else if (dom$x.hasClass(spacer, 'height-260')) {
50659
- dom$x.removeClass(spacer, 'height-260');
50660
- dom$x.addClass(spacer, 'height-280');
50661
- } else if (dom$x.hasClass(spacer, 'height-280')) {
50662
- dom$x.removeClass(spacer, 'height-280');
50663
- dom$x.addClass(spacer, 'height-300');
50658
+ if (dom$y.hasClass(spacer, 'height-20')) {
50659
+ dom$y.removeClass(spacer, 'height-20');
50660
+ dom$y.addClass(spacer, 'height-40');
50661
+ } else if (dom$y.hasClass(spacer, 'height-40')) {
50662
+ dom$y.removeClass(spacer, 'height-40');
50663
+ dom$y.addClass(spacer, 'height-60');
50664
+ } else if (dom$y.hasClass(spacer, 'height-60')) {
50665
+ dom$y.removeClass(spacer, 'height-60');
50666
+ dom$y.addClass(spacer, 'height-80');
50667
+ } else if (dom$y.hasClass(spacer, 'height-80')) {
50668
+ dom$y.removeClass(spacer, 'height-80');
50669
+ dom$y.addClass(spacer, 'height-100');
50670
+ } else if (dom$y.hasClass(spacer, 'height-100')) {
50671
+ dom$y.removeClass(spacer, 'height-100');
50672
+ dom$y.addClass(spacer, 'height-120');
50673
+ } else if (dom$y.hasClass(spacer, 'height-120')) {
50674
+ dom$y.removeClass(spacer, 'height-120');
50675
+ dom$y.addClass(spacer, 'height-140');
50676
+ } else if (dom$y.hasClass(spacer, 'height-140')) {
50677
+ dom$y.removeClass(spacer, 'height-140');
50678
+ dom$y.addClass(spacer, 'height-160');
50679
+ } else if (dom$y.hasClass(spacer, 'height-160')) {
50680
+ dom$y.removeClass(spacer, 'height-160');
50681
+ dom$y.addClass(spacer, 'height-180');
50682
+ } else if (dom$y.hasClass(spacer, 'height-180')) {
50683
+ dom$y.removeClass(spacer, 'height-180');
50684
+ dom$y.addClass(spacer, 'height-200');
50685
+ } else if (dom$y.hasClass(spacer, 'height-200')) {
50686
+ dom$y.removeClass(spacer, 'height-200');
50687
+ dom$y.addClass(spacer, 'height-220');
50688
+ } else if (dom$y.hasClass(spacer, 'height-220')) {
50689
+ dom$y.removeClass(spacer, 'height-220');
50690
+ dom$y.addClass(spacer, 'height-240');
50691
+ } else if (dom$y.hasClass(spacer, 'height-240')) {
50692
+ dom$y.removeClass(spacer, 'height-240');
50693
+ dom$y.addClass(spacer, 'height-260');
50694
+ } else if (dom$y.hasClass(spacer, 'height-260')) {
50695
+ dom$y.removeClass(spacer, 'height-260');
50696
+ dom$y.addClass(spacer, 'height-280');
50697
+ } else if (dom$y.hasClass(spacer, 'height-280')) {
50698
+ dom$y.removeClass(spacer, 'height-280');
50699
+ dom$y.addClass(spacer, 'height-300');
50664
50700
  } // else { }
50665
50701
 
50666
50702
  }
@@ -50680,7 +50716,7 @@ class Spacer {
50680
50716
  click(e) {
50681
50717
  const elm = e.target;
50682
50718
 
50683
- if (dom$x.hasClass(elm, 'spacer')) {
50719
+ if (dom$y.hasClass(elm, 'spacer')) {
50684
50720
  this.builder.activeSpacer = elm; // prevent text selection
50685
50721
 
50686
50722
  if (document.selection) {
@@ -50712,7 +50748,7 @@ class Spacer {
50712
50748
 
50713
50749
  }
50714
50750
 
50715
- const dom$w = new Dom();
50751
+ const dom$x = new Dom();
50716
50752
 
50717
50753
  class Module {
50718
50754
  constructor(builder) {
@@ -50747,15 +50783,15 @@ class Module {
50747
50783
  </div>
50748
50784
  </div>
50749
50785
  `;
50750
- dom$w.appendHtml(builderStuff, html);
50786
+ dom$x.appendHtml(builderStuff, html);
50751
50787
  moduleTool = builderStuff.querySelector('.is-module-tool');
50752
50788
  moduleModal = builderStuff.querySelector('.is-modal.custommodule');
50753
50789
  let btn = moduleTool.querySelector('button');
50754
- dom$w.addEventListener(btn, 'click', async () => {
50790
+ dom$x.addEventListener(btn, 'click', async () => {
50755
50791
  // old: 10100
50756
50792
  let module = this.builder.activeModule; //-------- Set a flag to indicate active module -----------
50757
50793
 
50758
- dom$w.removeAttributes(document.querySelectorAll('[data-module-active]'), 'data-module-active');
50794
+ dom$x.removeAttributes(document.querySelectorAll('[data-module-active]'), 'data-module-active');
50759
50795
  module.setAttribute('data-module-active', '1'); //-------- /Set a flag to indicate active module -----------
50760
50796
  //show modal
50761
50797
 
@@ -50783,7 +50819,7 @@ class Module {
50783
50819
  moduleModal.querySelector('div:not(.is-modal-overlay)').style.maxWidth = w;
50784
50820
  moduleModal.querySelector('div:not(.is-modal-overlay)').style.height = h;
50785
50821
  let btnClose = moduleModal.querySelector('.is-modal-close');
50786
- dom$w.addEventListener(btnClose, 'click', () => {
50822
+ dom$x.addEventListener(btnClose, 'click', () => {
50787
50823
  this.util.hideModal(moduleModal);
50788
50824
  }); // OLD
50789
50825
  // Find subblocks (previously is-builder) in custom code blocks and save them to data-html-1, data-html-2, and so on.
@@ -50797,7 +50833,7 @@ class Module {
50797
50833
  const builders = module.querySelectorAll('[data-subblock]');
50798
50834
  Array.prototype.forEach.call(builders, builder => {
50799
50835
  // Glide Slider Support
50800
- if (dom$w.hasClass(builder.parentNode, 'glide__slide--clone')) return;
50836
+ if (dom$x.hasClass(builder.parentNode, 'glide__slide--clone')) return;
50801
50837
  let builderhtml = builder.innerHTML;
50802
50838
  module.setAttribute('data-html-' + index, encodeURIComponent(builderhtml));
50803
50839
  index++;
@@ -50881,7 +50917,7 @@ class Module {
50881
50917
  doc.close();
50882
50918
  });
50883
50919
  let btnOk = moduleModal.querySelector('.input-ok');
50884
- dom$w.addEventListener(btnOk, 'click', () => {
50920
+ dom$x.addEventListener(btnOk, 'click', () => {
50885
50921
  let modalIframe = moduleModal.querySelector('iframe');
50886
50922
  if (modalIframe.contentWindow.construct) modalIframe.contentWindow.construct(); //Save for Undo
50887
50923
 
@@ -50932,7 +50968,7 @@ class Module {
50932
50968
  this.builder.hideModal(moduleModal);
50933
50969
  });
50934
50970
  let btnCancel = moduleModal.querySelector('.input-cancel');
50935
- dom$w.addEventListener(btnCancel, 'click', () => {
50971
+ dom$x.addEventListener(btnCancel, 'click', () => {
50936
50972
  this.builder.hideModal(moduleModal);
50937
50973
  });
50938
50974
  }
@@ -50972,7 +51008,7 @@ class Module {
50972
51008
 
50973
51009
  }
50974
51010
 
50975
- const dom$v = new Dom();
51011
+ const dom$w = new Dom();
50976
51012
 
50977
51013
  class Code {
50978
51014
  constructor(builder) {
@@ -50993,16 +51029,16 @@ class Code {
50993
51029
  `; // <input id="hidContentModuleCode" type="hidden" />
50994
51030
  // <input id="hidContentModuleSettings" type="hidden" />
50995
51031
 
50996
- dom$v.appendHtml(builderStuff, html);
51032
+ dom$w.appendHtml(builderStuff, html);
50997
51033
  codeTool = builderStuff.querySelector('.is-code-tool');
50998
51034
  let btn = codeTool.querySelector('button');
50999
- dom$v.addEventListener(btn, 'click', () => {
51035
+ dom$w.addEventListener(btn, 'click', () => {
51000
51036
  let codeblock = this.builder.activeCodeBlock; // var html = plugin.readCustomCodeBlock($block);
51001
51037
  // Find editable areas (is-builder) in custom code blocks and save them to data-html-1, data-html-2, and so on.
51002
51038
 
51003
51039
  let tmpbuilder = this.builderStuff.querySelector('#tmp_buildercontent');
51004
51040
  if (tmpbuilder) tmpbuilder.parentNode.removeChild(tmpbuilder);
51005
- dom$v.appendHtml(this.builderStuff, '<div id="tmp_buildercontent" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>');
51041
+ dom$w.appendHtml(this.builderStuff, '<div id="tmp_buildercontent" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>');
51006
51042
  tmpbuilder = this.builderStuff.querySelector('#tmp_buildercontent');
51007
51043
  var index = 1;
51008
51044
  const builders = codeblock.querySelectorAll('is-builder');
@@ -51032,31 +51068,31 @@ class Code {
51032
51068
  tmpbuilder = this.builderStuff.querySelector('#tmp_buildercontent');
51033
51069
  tmpbuilder.innerHTML = builderhtml;
51034
51070
  let elms = tmpbuilder.querySelectorAll('.elm-active');
51035
- dom$v.removeClasses(elms, 'elm-active');
51071
+ dom$w.removeClasses(elms, 'elm-active');
51036
51072
  elms = tmpbuilder.querySelectorAll('.elm-inspected');
51037
- dom$v.removeClasses(elms, 'elm-inspected');
51073
+ dom$w.removeClasses(elms, 'elm-inspected');
51038
51074
  elms = tmpbuilder.querySelectorAll('.cell-active');
51039
- dom$v.removeClasses(elms, 'cell-active');
51075
+ dom$w.removeClasses(elms, 'cell-active');
51040
51076
  elms = tmpbuilder.querySelectorAll('.row-active');
51041
- dom$v.removeClasses(elms, 'row-active');
51077
+ dom$w.removeClasses(elms, 'row-active');
51042
51078
  elms = tmpbuilder.querySelectorAll('.row-outline');
51043
- dom$v.removeClasses(elms, 'row-outline'); //elms = tmpbuilder.querySelectorAll('.is-builder');
51079
+ dom$w.removeClasses(elms, 'row-outline'); //elms = tmpbuilder.querySelectorAll('.is-builder');
51044
51080
  //dom.removeClasses(elms, 'is-builder');
51045
51081
 
51046
51082
  elms = tmpbuilder.querySelectorAll('.row-outline');
51047
- dom$v.removeClasses(elms, 'row-outline');
51083
+ dom$w.removeClasses(elms, 'row-outline');
51048
51084
  elms = tmpbuilder.querySelectorAll('[data-click]');
51049
- dom$v.removeAttributes(elms, 'data-click');
51085
+ dom$w.removeAttributes(elms, 'data-click');
51050
51086
  elms = tmpbuilder.querySelectorAll('[contenteditable]');
51051
- dom$v.removeAttributes(elms, 'contenteditable');
51087
+ dom$w.removeAttributes(elms, 'contenteditable');
51052
51088
  elms = tmpbuilder.querySelectorAll('[data-module-active]');
51053
- dom$v.removeAttributes(elms, 'data-module-active');
51054
- dom$v.removeElements(tmpbuilder.querySelectorAll('.is-row-tool'));
51055
- dom$v.removeElements(tmpbuilder.querySelectorAll('.is-rowadd-tool'));
51056
- dom$v.removeElements(tmpbuilder.querySelectorAll('.ovl'));
51057
- dom$v.removeElements(tmpbuilder.querySelectorAll('.row-add-initial'));
51089
+ dom$w.removeAttributes(elms, 'data-module-active');
51090
+ dom$w.removeElements(tmpbuilder.querySelectorAll('.is-row-tool'));
51091
+ dom$w.removeElements(tmpbuilder.querySelectorAll('.is-rowadd-tool'));
51092
+ dom$w.removeElements(tmpbuilder.querySelectorAll('.ovl'));
51093
+ dom$w.removeElements(tmpbuilder.querySelectorAll('.row-add-initial'));
51058
51094
  elms = tmpbuilder.querySelectorAll('[data-keep]');
51059
- dom$v.removeAttributes(elms, 'data-keep');
51095
+ dom$w.removeAttributes(elms, 'data-keep');
51060
51096
  builderhtml = tmpbuilder.innerHTML.trim();
51061
51097
  builderhtml = builderhtml.replace(/<font/g, '<span').replace(/<\/font/g, '</span');
51062
51098
  codeblock.setAttribute('data-html-' + index, encodeURIComponent(builderhtml));
@@ -51116,7 +51152,7 @@ class Code {
51116
51152
 
51117
51153
  }
51118
51154
 
51119
- const dom$u = new Dom();
51155
+ const dom$v = new Dom();
51120
51156
 
51121
51157
  class Iframe {
51122
51158
  constructor(builder) {
@@ -51146,11 +51182,11 @@ class Iframe {
51146
51182
  </div>
51147
51183
 
51148
51184
  `;
51149
- dom$u.appendHtml(builderStuff, html);
51185
+ dom$v.appendHtml(builderStuff, html);
51150
51186
  iframeTool = builderStuff.querySelector('.is-iframe-tool');
51151
51187
  iframeModal = builderStuff.querySelector('.is-modal.iframelink');
51152
51188
  let btn = iframeTool.querySelector('button');
51153
- dom$u.addEventListener(btn, 'click', () => {
51189
+ dom$v.addEventListener(btn, 'click', () => {
51154
51190
  let iframe = this.builder.activeIframe; //get values
51155
51191
 
51156
51192
  var src = iframe.src;
@@ -51177,7 +51213,7 @@ class Iframe {
51177
51213
  btn.setAttribute('data-focus', true);
51178
51214
  });
51179
51215
  let btnOk = iframeModal.querySelector('.input-ok');
51180
- dom$u.addEventListener(btnOk, 'click', () => {
51216
+ dom$v.addEventListener(btnOk, 'click', () => {
51181
51217
  this.builder.uo.saveForUndo();
51182
51218
  let iframe = this.builder.activeIframe;
51183
51219
  let iframeParent = iframe.parentNode;
@@ -51224,7 +51260,7 @@ class Iframe {
51224
51260
  this.util.hideModal(iframeModal);
51225
51261
  });
51226
51262
  let btnCancel = iframeModal.querySelector('.input-cancel');
51227
- dom$u.addEventListener(btnCancel, 'click', () => {
51263
+ dom$v.addEventListener(btnCancel, 'click', () => {
51228
51264
  this.util.hideModal(iframeModal);
51229
51265
  });
51230
51266
  }
@@ -51234,7 +51270,9 @@ class Iframe {
51234
51270
  }
51235
51271
 
51236
51272
  click(e) {
51237
- if (dom$u.hasClass(e.target, 'ovl')) {
51273
+ if (dom$v.hasClass(e.target, 'ovl') && e.target.parentNode.querySelector('audio')) return;
51274
+
51275
+ if (dom$v.hasClass(e.target, 'ovl')) {
51238
51276
  //iframe overlay
51239
51277
  e.target.style.display = 'none';
51240
51278
  this.builder.activeIframe = e.target.parentNode.querySelector('iframe');
@@ -51263,7 +51301,7 @@ class Iframe {
51263
51301
 
51264
51302
  }
51265
51303
 
51266
- const dom$t = new Dom();
51304
+ const dom$u = new Dom();
51267
51305
 
51268
51306
  class Table {
51269
51307
  constructor(builder) {
@@ -51373,23 +51411,23 @@ class Table {
51373
51411
  </div>
51374
51412
 
51375
51413
  `;
51376
- dom$t.appendHtml(builderStuff, html);
51414
+ dom$u.appendHtml(builderStuff, html);
51377
51415
  tableTool = builderStuff.querySelector('.is-table-tool');
51378
51416
  tableModal = builderStuff.querySelector('.is-modal.edittable');
51379
51417
  let btn = tableTool.querySelector('button');
51380
- dom$t.addEventListener(btn, 'click', () => {
51418
+ dom$u.addEventListener(btn, 'click', () => {
51381
51419
  // old 10317
51382
- if (dom$t.hasClass(tableModal, 'active')) {
51420
+ if (dom$u.hasClass(tableModal, 'active')) {
51383
51421
  // dom.removeClass(tableModal, 'active');
51384
51422
  util.hideModal(tableModal);
51385
51423
  } else {
51386
- dom$t.addClass(tableModal, 'active');
51424
+ dom$u.addClass(tableModal, 'active');
51387
51425
  util.showModal(tableModal);
51388
51426
  }
51389
51427
  });
51390
51428
  let btnClose = tableModal.querySelector('.is-modal-close');
51391
- dom$t.addEventListener(btnClose, 'click', () => {
51392
- dom$t.removeClass(tableModal, 'active');
51429
+ dom$u.addEventListener(btnClose, 'click', () => {
51430
+ dom$u.removeClass(tableModal, 'active');
51393
51431
  });
51394
51432
  const btnBgColor = tableModal.querySelector('.input-table-bgcolor');
51395
51433
  btnBgColor.addEventListener('click', e => {
@@ -51704,7 +51742,7 @@ class Table {
51704
51742
  }
51705
51743
 
51706
51744
  click(e) {
51707
- if (dom$t.parentsHasElement(e.target, 'table')) {
51745
+ if (dom$u.parentsHasElement(e.target, 'table')) {
51708
51746
  // only edit table.default
51709
51747
  let element = e.target;
51710
51748
  let td;
@@ -51726,7 +51764,7 @@ class Table {
51726
51764
 
51727
51765
  table = element;
51728
51766
 
51729
- if (dom$t.hasClass(table, 'default')) {
51767
+ if (dom$u.hasClass(table, 'default')) {
51730
51768
  // only edit table.default
51731
51769
  this.builder.activeTd = td;
51732
51770
  this.builder.activeTable = table;
@@ -51754,7 +51792,7 @@ class Table {
51754
51792
  this.tableTool.style.display = '';
51755
51793
  }
51756
51794
 
51757
- if (dom$t.hasClass(this.tableModal, 'active') && this.builder.activeTable) {
51795
+ if (dom$u.hasClass(this.tableModal, 'active') && this.builder.activeTable) {
51758
51796
  let activeTd = this.builder.activeTd;
51759
51797
  this.tableModal.querySelector('.input-table-bgcolor').style.backgroundColor = activeTd.style.backgroundColor;
51760
51798
  this.tableModal.querySelector('.input-table-textcolor').style.backgroundColor = activeTd.style.color;
@@ -51792,7 +51830,7 @@ function getCellIndex(oTable, oTR, oTD) {
51792
51830
  return nCellIndex;
51793
51831
  }
51794
51832
 
51795
- const dom$s = new Dom();
51833
+ const dom$t = new Dom();
51796
51834
 
51797
51835
  class Video {
51798
51836
  constructor(builder) {
@@ -51818,7 +51856,7 @@ class Video {
51818
51856
  <div class="video-larger1 input-upload" style="position:relative;flex:none;box-shadow: 0px 3px 6px -6px rgba(0, 0, 0, 0.32);">
51819
51857
  <form class="form-upload-larger" target="frameTargetVideoUpload" method="post" action="${this.builder.opts.videoHandler}" enctype="multipart/form-data" style="position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;">
51820
51858
  <input id="hidRefId5" name="hidRefId" type="hidden" value="" />
51821
- <svg class="is-icon-flex" style="width:18px;height:18px;margin-top:3px;margin-left:3px;"><use xlink:href="#ion-ios-film-outline"></use></svg>
51859
+ <svg class="is-icon-flex" style="width:18px;height:18px;"><use xlink:href="#ion-ios-cloud-upload-outline"></use></svg>
51822
51860
  <input title="${util.out('Select')}" id="fileVideo1" name="fileImage" type="file" accept="video/mp4" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">
51823
51861
  </form>
51824
51862
 
@@ -51849,13 +51887,13 @@ class Video {
51849
51887
  </div>
51850
51888
  </div>
51851
51889
  `;
51852
- dom$s.appendHtml(builderStuff, html);
51890
+ dom$t.appendHtml(builderStuff, html);
51853
51891
  videoTool = builderStuff.querySelector('.is-video-tool');
51854
51892
  const videoModal = builderStuff.querySelector('.is-modal.videolink');
51855
51893
  this.videoTool = videoTool;
51856
51894
  this.videoModal = videoModal;
51857
51895
  let btn = this.videoTool.querySelector('button');
51858
- dom$s.addEventListener(btn, 'click', () => {
51896
+ dom$t.addEventListener(btn, 'click', () => {
51859
51897
  let video = this.builder.activeVideo;
51860
51898
  let source = video.querySelector('source');
51861
51899
  let url = '';
@@ -51901,7 +51939,7 @@ class Video {
51901
51939
  }
51902
51940
 
51903
51941
  let inpSelectVideo = videoModal.querySelector('.input-select');
51904
- if (inpSelectVideo) dom$s.addEventListener(inpSelectVideo, 'click', () => {
51942
+ if (inpSelectVideo) dom$t.addEventListener(inpSelectVideo, 'click', () => {
51905
51943
  if (this.builder.opts.onVideoSelectClick) {
51906
51944
  this.builder.opts.onVideoSelectClick({
51907
51945
  targetInput: videoModal.querySelector('.input-url'),
@@ -51932,7 +51970,7 @@ class Video {
51932
51970
  this.builder.targetAssetType = 'video';
51933
51971
  });
51934
51972
  let fileLargerVideo = videoModal.querySelector('#fileVideo1');
51935
- dom$s.addEventListener(fileLargerVideo, 'change', e => {
51973
+ dom$t.addEventListener(fileLargerVideo, 'change', e => {
51936
51974
  let element = fileLargerVideo;
51937
51975
 
51938
51976
  while (element.nodeName.toLowerCase() !== 'form') {
@@ -51940,7 +51978,7 @@ class Video {
51940
51978
  }
51941
51979
 
51942
51980
  let frmUpload = element;
51943
- dom$s.addClass(frmUpload, 'please-wait');
51981
+ dom$t.addClass(frmUpload, 'please-wait');
51944
51982
  videoModal.querySelector('#hidRefId5').value = this.builder.opts.customval;
51945
51983
 
51946
51984
  if (this.builder.opts.onVideoUpload) {
@@ -51952,7 +51990,7 @@ class Video {
51952
51990
  fileLargerVideo.value = ''; // Clear Input
51953
51991
  });
51954
51992
  let btnOk = videoModal.querySelector('.input-ok');
51955
- dom$s.addEventListener(btnOk, 'click', () => {
51993
+ dom$t.addEventListener(btnOk, 'click', () => {
51956
51994
  this.builder.uo.saveForUndo();
51957
51995
  let video = this.builder.activeVideo;
51958
51996
 
@@ -51994,7 +52032,7 @@ class Video {
51994
52032
  this.builder.hideModal(videoModal);
51995
52033
  });
51996
52034
  let btnCancel = videoModal.querySelector('.input-cancel');
51997
- dom$s.addEventListener(btnCancel, 'click', () => {
52035
+ dom$t.addEventListener(btnCancel, 'click', () => {
51998
52036
  this.builder.hideModal(videoModal);
51999
52037
  });
52000
52038
  }
@@ -52025,6 +52063,188 @@ class Video {
52025
52063
 
52026
52064
  }
52027
52065
 
52066
+ const dom$s = new Dom();
52067
+
52068
+ class Audio {
52069
+ constructor(builder) {
52070
+ this.builder = builder;
52071
+ const util = this.builder.util;
52072
+ const builderStuff = this.builder.builderStuff;
52073
+ this.util = util;
52074
+ this.builderStuff = builderStuff;
52075
+ let audioTool = builderStuff.querySelector('.is-audio-tool');
52076
+
52077
+ if (!audioTool) {
52078
+ let html = `
52079
+ <div class="is-tool is-audio-tool">
52080
+ <button title="${util.out('Settings')}" data-title="${util.out('Settings')}" style="width:37px;height:37px;background:none;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg></button>
52081
+ </div>
52082
+
52083
+ <div class="is-modal audiolink" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
52084
+ <div class="is-modal-content">
52085
+ <label for="inpAudioLinkSource" style="display:block">${util.out('Source')}:</label>
52086
+ <div class="audio-url">
52087
+ <input id="inpAudioLinkSource" class="input-url" type="text"/>
52088
+ <button title="${util.out('Select')}" class="input-select" style="flex:none;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
52089
+ <div class="audio-file-upload input-upload" style="position:relative;flex:none;box-shadow: 0px 3px 6px -6px rgba(0, 0, 0, 0.32);">
52090
+ <form class="form-upload-larger" target="frameTargetAudioUpload" method="post" action="${this.builder.opts.audioHandler}" enctype="multipart/form-data" style="position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;">
52091
+ <input id="hidRefAudio" name="hidRefId" type="hidden" value="" />
52092
+ <svg class="is-icon-flex" style="width:18px;height:18px;"><use xlink:href="#ion-ios-cloud-upload-outline"></use></svg>
52093
+ <input title="${util.out('Select')}" id="fileAudio1" name="fileImage" type="file" accept="audio/mp3" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">
52094
+ </form>
52095
+
52096
+ <iframe tabindex="0" id="frameTargetAudioUpload" name="frameTargetAudioUpload" tabIndex="-1" src="about:blank" style="width:1px;height:1px;position:absolute;top:0;right:-100000px"></iframe>
52097
+ </div>
52098
+ </div>
52099
+
52100
+ <div style="text-align:right;margin-top:14px;">
52101
+ <button title="${util.out('Cancel')}" class="input-cancel classic-secondary">${util.out('Cancel')}</button>
52102
+ <button title="${util.out('Ok')}" class="input-ok classic-primary">${util.out('Ok')}</button>
52103
+ </div>
52104
+ </div>
52105
+ </div>
52106
+
52107
+ <div class="is-modal audioselect" style="z-index:10005" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
52108
+ <div style="max-width:800px;height:80%;padding:0;">
52109
+ <iframe tabindex="0" style="width:100%;height:100%;border: none;display: block;" src="about:blank"></iframe>
52110
+ </div>
52111
+ </div>
52112
+ `;
52113
+ dom$s.appendHtml(builderStuff, html);
52114
+ audioTool = builderStuff.querySelector('.is-audio-tool');
52115
+ const audioModal = builderStuff.querySelector('.is-modal.audiolink');
52116
+ this.audioTool = audioTool;
52117
+ this.audioModal = audioModal;
52118
+ let btn = this.audioTool.querySelector('button');
52119
+ dom$s.addEventListener(btn, 'click', () => {
52120
+ let audio = this.builder.activeAudio;
52121
+ let source = audio.querySelector('source');
52122
+ let url = '';
52123
+ if (source) url = source.getAttribute('src');
52124
+ audioModal.querySelector('.input-url').value = url;
52125
+ this.util.showModal(audioModal, true, () => {
52126
+ btn.removeAttribute('data-focus');
52127
+ btn.focus();
52128
+ });
52129
+ btn.setAttribute('data-focus', true);
52130
+ });
52131
+
52132
+ if (this.builder.opts.audioHandler === '' && !this.builder.opts.onAudioUpload) {
52133
+ audioModal.querySelector('.audio-file-upload').style.display = 'none';
52134
+ }
52135
+
52136
+ if (!this.builder.opts.onAudioSelectClick && this.builder.opts.audioSelect === '') {
52137
+ audioModal.querySelector('.input-select').style.display = 'none';
52138
+ }
52139
+
52140
+ let inpSelectAudio = audioModal.querySelector('.input-select');
52141
+ if (inpSelectAudio) dom$s.addEventListener(inpSelectAudio, 'click', () => {
52142
+ if (this.builder.opts.onAudioSelectClick) {
52143
+ this.builder.opts.onAudioSelectClick({
52144
+ targetInput: audioModal.querySelector('.input-url'),
52145
+ theTrigger: inpSelectAudio
52146
+ });
52147
+ } else {
52148
+ let modalAudioSelect = builderStuff.querySelector('.is-modal.audioselect');
52149
+ let iframe = modalAudioSelect.querySelector('iframe');
52150
+
52151
+ if (this.builder.opts.assetRefresh) {
52152
+ iframe.src = this.builder.opts.audioSelect;
52153
+ }
52154
+
52155
+ if (iframe.src === 'about:blank') {
52156
+ iframe.src = this.builder.opts.audioSelect;
52157
+ }
52158
+
52159
+ util.showModal(modalAudioSelect, true, () => {
52160
+ inpSelectAudio.removeAttribute('data-focus');
52161
+ inpSelectAudio.focus();
52162
+ });
52163
+ inpSelectAudio.setAttribute('data-focus', true);
52164
+ }
52165
+
52166
+ this.builder.targetInput = audioModal.querySelector('.input-url'); // used by selectAsset() (see contentbuilder.js)
52167
+
52168
+ this.builder.targetCallback = null;
52169
+ this.builder.targetAssetType = 'audio';
52170
+ });
52171
+ let fileLargerAudio = audioModal.querySelector('#fileAudio1');
52172
+ dom$s.addEventListener(fileLargerAudio, 'change', e => {
52173
+ let element = fileLargerAudio;
52174
+
52175
+ while (element.nodeName.toLowerCase() !== 'form') {
52176
+ element = element.parentNode;
52177
+ }
52178
+
52179
+ let frmUpload = element;
52180
+ dom$s.addClass(frmUpload, 'please-wait');
52181
+ audioModal.querySelector('#hidRefAudio').value = this.builder.opts.customval;
52182
+
52183
+ if (this.builder.opts.onAudioUpload) {
52184
+ this.builder.opts.onAudioUpload(e);
52185
+ } else {
52186
+ frmUpload.submit();
52187
+ }
52188
+
52189
+ fileLargerAudio.value = ''; // Clear Input
52190
+ });
52191
+ let btnOk = audioModal.querySelector('.input-ok');
52192
+ dom$s.addEventListener(btnOk, 'click', () => {
52193
+ this.builder.uo.saveForUndo();
52194
+ let audio = this.builder.activeAudio;
52195
+
52196
+ if (audioModal.querySelector('.input-url').value !== '') {
52197
+ let url = audioModal.querySelector('.input-url').value; //Render
52198
+
52199
+ let source = audio.querySelector('source');
52200
+
52201
+ if (url !== source.getAttribute('src')) {
52202
+ if (source) source.setAttribute('src', url);
52203
+ setTimeout(function () {
52204
+ // refresh
52205
+ audio.pause();
52206
+ audio.load(); // audio.play();
52207
+ }, 100);
52208
+ } //Trigger Change event
52209
+
52210
+
52211
+ this.builder.opts.onChange();
52212
+ }
52213
+
52214
+ this.builder.hideModal(audioModal);
52215
+ });
52216
+ let btnCancel = audioModal.querySelector('.input-cancel');
52217
+ dom$s.addEventListener(btnCancel, 'click', () => {
52218
+ this.builder.hideModal(audioModal);
52219
+ });
52220
+ }
52221
+ }
52222
+
52223
+ click(e) {
52224
+ if (dom$s.hasClass(e.target, 'ovl') && e.target.parentNode.querySelector('audio')) {
52225
+ e.target.style.display = 'none';
52226
+ let elm = e.target.parentNode.querySelector('audio');
52227
+ this.builder.activeAudio = elm;
52228
+ this.audioTool.style.display = 'flex';
52229
+ let _toolwidth = this.audioTool.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
52230
+
52231
+ let w = elm.offsetWidth * this.builder.opts.zoom;
52232
+ let top = elm.getBoundingClientRect().top + window.pageYOffset;
52233
+ let left = elm.getBoundingClientRect().left;
52234
+ left = left + (w - _toolwidth); //Adjust left in case an element is outside the screen
52235
+
52236
+ const _screenwidth = window.innerWidth;
52237
+ if (_toolwidth + left > _screenwidth) left = elm.getBoundingClientRect().left;
52238
+ this.audioTool.style.top = top + 'px';
52239
+ this.audioTool.style.left = left + 'px';
52240
+ } else {
52241
+ this.builder.activeAudio = null;
52242
+ this.audioTool.style.display = '';
52243
+ }
52244
+ }
52245
+
52246
+ }
52247
+
52028
52248
  // Currently not used
52029
52249
  const dom$r = new Dom();
52030
52250
 
@@ -52107,6 +52327,7 @@ class Element$1 {
52107
52327
  this.iframe = new Iframe(builder);
52108
52328
  this.table = new Table(builder);
52109
52329
  this.video = new Video(builder);
52330
+ this.audio = new Audio(builder);
52110
52331
  this.svg = new Svg(builder);
52111
52332
  }
52112
52333
 
@@ -52185,6 +52406,28 @@ class Element$1 {
52185
52406
  dom$q.appendHtml(div, '<div class="ovl" style="position:absolute;background:#fff;opacity:0.01;cursor:pointer;top:0;left:0px;width:100%;height:100%;z-index:1"></div>');
52186
52407
  overlay = div.querySelector('.ovl');
52187
52408
  dom$q.addEventListener(overlay, 'click', () => {
52409
+ // show iframe overlay to make it clickable => for others
52410
+ let ovls = document.querySelectorAll('.ovl');
52411
+ Array.prototype.forEach.call(ovls, ovl => {
52412
+ ovl.style.display = 'block';
52413
+ });
52414
+ overlay.style.display = 'none';
52415
+ });
52416
+ }
52417
+ });
52418
+ let audios = col.querySelectorAll('audio');
52419
+ Array.prototype.forEach.call(audios, audio => {
52420
+ let overlay = audio.parentNode.querySelector('.ovl');
52421
+
52422
+ if (!overlay) {
52423
+ dom$q.appendHtml(audio.parentNode, '<div class="ovl" style="position:absolute;background:#fff;opacity:0.01;cursor:pointer;top:0;left:0px;width:100%;height:100%;z-index:1"></div>');
52424
+ overlay = audio.parentNode.querySelector('.ovl');
52425
+ dom$q.addEventListener(overlay, 'click', () => {
52426
+ // show iframe overlay to make it clickable => for others
52427
+ let ovls = document.querySelectorAll('.ovl');
52428
+ Array.prototype.forEach.call(ovls, ovl => {
52429
+ ovl.style.display = '';
52430
+ });
52188
52431
  overlay.style.display = 'none';
52189
52432
  });
52190
52433
  }
@@ -52259,7 +52502,9 @@ class Element$1 {
52259
52502
 
52260
52503
  this.iframe.click(e); //Video
52261
52504
 
52262
- this.video.click(e); // spacer
52505
+ this.video.click(e); //Audio
52506
+
52507
+ this.audio.click(e); // spacer
52263
52508
 
52264
52509
  this.spacer.click(e); // svg
52265
52510
 
@@ -68549,6 +68794,7 @@ class ContentBuilder {
68549
68794
  // snippetPathReplace: ['assets/','https://innovastudio.com/builderdemo/assets/'],
68550
68795
  // snippetSampleImage: 'uploads/office2.png', // if enabled, will be used to insert image block
68551
68796
  // snippetSampleVideo: 'uploads/person1.mp4', // if enabled, will be used to insert video block
68797
+ // snippetSampleAudio: 'uploads/intro.mp4', // if enabled, will be used to insert audio block
68552
68798
  snippetCategories: [[120, 'Basic'], [118, 'Article'], [101, 'Headline'], [119, 'Buttons'], [102, 'Photos'], [103, 'Profile'], [116, 'Contact'], [104, 'Products'], [105, 'Features'], [106, 'Process'], [107, 'Pricing'], [108, 'Skills'], [109, 'Achievements'], [110, 'Quotes'], [111, 'Partners'], [112, 'As Featured On'], [113, 'Page Not Found'], [114, 'Coming Soon'], [115, 'Help, FAQ']],
68553
68799
  defaultSnippetCategory: 120,
68554
68800
  snippetHandle: true,
@@ -68564,6 +68810,8 @@ class ContentBuilder {
68564
68810
  // onMediaUpload: function(){},
68565
68811
  videoHandler: '',
68566
68812
  // onVideoUpload: function(){},
68813
+ audioHandler: '',
68814
+ // onAudioUpload: function(){},
68567
68815
  colors: ['#ff8f00', '#ef6c00', '#d84315', '#c62828', '#58362f', '#37474f', '#353535', '#f9a825', '#9e9d24', '#558b2f', '#ad1457', '#6a1b9a', '#4527a0', '#616161', '#00b8c9', '#009666', '#2e7d32', '#0277bd', '#1565c0', '#283593', '#9e9e9e'],
68568
68816
  builderMode: '',
68569
68817
  rowTool: 'right',
@@ -68586,6 +68834,7 @@ class ContentBuilder {
68586
68834
  // onImageSelectClick: function () { },
68587
68835
  // onFileSelectClick: function () { },
68588
68836
  // onVideoSelectClick: function () { },
68837
+ // onAudioSelectClick: function () { },
68589
68838
  // onPluginsLoaded: function () { },
68590
68839
  // onImageBrowseClick: function () { },
68591
68840
  // onImageSettingClick: function () { },
@@ -68613,6 +68862,7 @@ class ContentBuilder {
68613
68862
  imageSelect: '',
68614
68863
  fileSelect: '',
68615
68864
  videoSelect: '',
68865
+ audioSelect: '',
68616
68866
  assetRefresh: false,
68617
68867
  // asset manager specified in imageSelect, fileSelect & videoSelect will always refreshed on click/open
68618
68868
  customTags: [],
@@ -70056,6 +70306,12 @@ class ContentBuilder {
70056
70306
  } else {
70057
70307
  alert(this.util.out('Please select an mp4 file.'));
70058
70308
  }
70309
+ } else if (this.targetAssetType === 'audio') {
70310
+ if (extension === 'mp3') {
70311
+ ok = true;
70312
+ } else {
70313
+ alert(this.util.out('Please select an mp3 file.'));
70314
+ }
70059
70315
  }
70060
70316
 
70061
70317
  if (ok) {
@@ -70072,6 +70328,8 @@ class ContentBuilder {
70072
70328
  if (modal) this.hideModal(modal);
70073
70329
  modal = document.querySelector('.is-modal.fileselect.active');
70074
70330
  if (modal) this.hideModal(modal);
70331
+ modal = document.querySelector('.is-modal.audioselect.active');
70332
+ if (modal) this.hideModal(modal);
70075
70333
  }
70076
70334
  }
70077
70335