@innovastudio/contentbox 1.6.50 → 1.6.51

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbox",
3
3
  "type": "module",
4
- "version": "1.6.50",
4
+ "version": "1.6.51",
5
5
  "description": "",
6
6
  "main": "public/contentbox/contentbox.esm.js",
7
7
  "files": [
@@ -52,7 +52,7 @@
52
52
  "ws": "^8.13.0"
53
53
  },
54
54
  "dependencies": {
55
- "@innovastudio/contentbuilder": "^1.5.36",
55
+ "@innovastudio/contentbuilder": "^1.5.37",
56
56
  "js-beautify": "^1.14.0"
57
57
  }
58
58
  }
@@ -25645,14 +25645,34 @@ class ControlPanel {
25645
25645
  let activeImage = this.builder.editor.activeImage;
25646
25646
  let activeModule = this.builder.editor.activeModule;
25647
25647
 
25648
- if (activeImage && activeModule) {
25649
- // if image is in module
25650
- this.builder.editor.element.image.hideImageTool();
25651
- setTimeout(() => {
25652
- this.panelImage.classList.remove('active');
25653
- }, 1);
25648
+ if (activeModule) {
25649
+ const moduleTool = this.builder.doc.querySelector('.is-module-tool');
25650
+ moduleTool.style.opacity = '0';
25651
+ const lockInfo = this.builder.doc.querySelector('.is-locked-indicator');
25652
+ lockInfo.style.opacity = '0';
25654
25653
  setTimeout(() => {
25655
25654
  this.builder.editor.util.refreshModuleLayout(activeModule);
25655
+ setTimeout(() => {
25656
+ moduleTool.style.opacity = '';
25657
+ this.builder.editor.element.module.repositionModuleTool();
25658
+ lockInfo.style.opacity = '';
25659
+ this.builder.editor.colTool.showHideLockIndicator(activeModule);
25660
+ }, 200);
25661
+ }, 600);
25662
+ }
25663
+
25664
+ if (activeModule && activeImage) {
25665
+ this.builder.editor.element.image.hideImageTool();
25666
+ setTimeout(() => {
25667
+ activeModule.querySelectorAll('img').forEach(img => {
25668
+ if (img.outerHTML === activeImage.outerHTML) {
25669
+ setTimeout(() => {
25670
+ if (img.closest('.glide__slide--active')) {
25671
+ img.click();
25672
+ }
25673
+ }, 100);
25674
+ }
25675
+ });
25656
25676
  }, 600);
25657
25677
  } else if (activeImage) {
25658
25678
  // normal image
@@ -25669,6 +25689,33 @@ class ControlPanel {
25669
25689
  this.builder.editor.element.image.repositionImageTool();
25670
25690
  }, 600);
25671
25691
  }
25692
+ /*
25693
+ if(activeImage && activeModule) {
25694
+ // if image is in module
25695
+ this.builder.editor.element.image.hideImageTool();
25696
+ setTimeout(()=>{
25697
+ this.panelImage.classList.remove('active');
25698
+ },1);
25699
+ setTimeout(()=>{
25700
+ this.builder.editor.util.refreshModuleLayout(activeModule);
25701
+ },600);
25702
+ } else if(activeImage) {
25703
+ // normal image
25704
+ const imageTool = document.querySelector('#divImageTool');
25705
+ const imageResizer = document.querySelector('#divImageResizer');
25706
+ const moveableBox = document.querySelector('.moveable-control-box');
25707
+ imageTool.style.opacity = '0';
25708
+ imageResizer.style.opacity = '0';
25709
+ moveableBox.style.opacity = '0';
25710
+ setTimeout(()=>{
25711
+ imageTool.style.opacity = '';
25712
+ imageResizer.style.opacity = '';
25713
+ moveableBox.style.opacity = '';
25714
+ this.builder.editor.element.image.repositionImageTool();
25715
+ },600);
25716
+ }
25717
+ */
25718
+
25672
25719
  }
25673
25720
 
25674
25721
  getActive() {
@@ -26072,7 +26119,7 @@ class ControlPanel {
26072
26119
  if (element.closest('[data-subblock]')) {
26073
26120
  let titleHtml = '';
26074
26121
  let module = element.closest('[data-html]');
26075
- let desc = module.getAttribute('data-module-desc');
26122
+ let desc = module ? module.getAttribute('data-module-desc') : '';
26076
26123
 
26077
26124
  if (desc) {
26078
26125
  titleHtml = out(desc);
@@ -43511,8 +43558,10 @@ const renderSnippetPanel = (builder, snippetOpen) => {
43511
43558
  // evt.related.getBoundingClientRect().top>window.innerHeight) {
43512
43559
  // return false;
43513
43560
  // }
43514
- },
43515
43561
 
43562
+ const wrapper = builder.doc.querySelector(builder.page);
43563
+ if (wrapper) wrapper.style.marginLeft = '';
43564
+ },
43516
43565
  onSort: evt => {
43517
43566
  if (!builder.canvas) return;
43518
43567
  let snippetX = evt.originalEvent.clientX;
@@ -43528,6 +43577,12 @@ const renderSnippetPanel = (builder, snippetOpen) => {
43528
43577
  block.style.left = x + '%';
43529
43578
  block.removeAttribute('data-new-dummy');
43530
43579
  }
43580
+
43581
+ // to prevent flicker caused by snippet panel above wrapper (see contentbuilder.js sectionDropSetup)
43582
+ if (builder.page && builder.page === '.is-wrapper') {
43583
+ const wrapper = builder.doc.querySelector(builder.page);
43584
+ if (wrapper) wrapper.style.marginLeft = '';
43585
+ }
43531
43586
  },
43532
43587
  onStart: () => {
43533
43588
  // Remove .builder-active during dragging (because this class makes rows have border-right/left 120px)
@@ -43576,6 +43631,12 @@ const renderSnippetPanel = (builder, snippetOpen) => {
43576
43631
  }
43577
43632
  let dummies = builder.doc.querySelectorAll('.block-dummy');
43578
43633
  dummies.forEach(elm => elm.parentNode.removeChild(elm));
43634
+
43635
+ // to prevent flicker caused by snippet panel above wrapper (see contentbuilder.js sectionDropSetup)
43636
+ if (builder.page && builder.page === '.is-wrapper') {
43637
+ const wrapper = builder.doc.querySelector(builder.page);
43638
+ if (wrapper) wrapper.style.marginLeft = '';
43639
+ }
43579
43640
  }, 10);
43580
43641
  }
43581
43642
  });
@@ -112615,7 +112676,7 @@ class ContentBuilder {
112615
112676
  deleteConfirm: false,
112616
112677
  disableBootstrapIcons: false,
112617
112678
  sectionTemplate: `
112618
- <div class="is-section is-box is-section-100 type-opensans">
112679
+ <div class="is-section is-box is-section-100 type-system-ui">
112619
112680
  <div class="is-overlay"></div>
112620
112681
  <div class="is-boxes">
112621
112682
  <div class="is-box-centered">
@@ -118742,6 +118803,11 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
118742
118803
  if (this.page) {
118743
118804
  if (this.page !== '.is-wrapper') return; // only for ContentBox
118744
118805
  const wrapper = this.doc.querySelector(this.page);
118806
+
118807
+ // to prevent flicker caused by snippet panel above wrapper
118808
+ if (!wrapper.querySelector('.is-section')) {
118809
+ wrapper.style.marginLeft = '300px';
118810
+ }
118745
118811
  this.sortableOnPage = new Sortable(wrapper, {
118746
118812
  scroll: true,
118747
118813
  group: 'shared',
@@ -118835,6 +118901,13 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
118835
118901
 
118836
118902
  if (this.opts.emailMode) bSnippet = false;
118837
118903
 
118904
+ // check if is block
118905
+ let isBlock = false;
118906
+ if (html.includes('"is-block')) {
118907
+ isBlock = true;
118908
+ bSnippet = false;
118909
+ }
118910
+
118838
118911
  // Convert snippet into your defined 12 columns grid
118839
118912
  var rowClass = this.opts.row; //row
118840
118913
  var colClass = this.opts.cols; //['col s1', 'col s2', 'col s3', 'col s4', 'col s5', 'col s6', 'col s7', 'col s8', 'col s9', 'col s10', 'col s11', 'col s12']
@@ -118892,6 +118965,14 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
118892
118965
  // </div>
118893
118966
  // `;
118894
118967
  itemEl.outerHTML = this.settings.sectionTemplate.replace('[%CONTENT%]', html);
118968
+ } else if (isBlock) {
118969
+ let canvasTemplate = `
118970
+ <div class="is-section is-box is-section-100 type-system-ui box-canvas autolayout last-box">
118971
+ <div class="is-overlay"></div>
118972
+ [%CONTENT%]
118973
+ </div>
118974
+ `;
118975
+ itemEl.outerHTML = canvasTemplate.replace('[%CONTENT%]', html);
118895
118976
  } else {
118896
118977
  // Snippet is wrapped in row/colum (may contain custom code or has [data-html] attribute)
118897
118978
  // Can only be inserted after current row or last row (not on column or element).
@@ -145657,6 +145738,7 @@ class IframePanel {
145657
145738
 
145658
145739
  document.addEventListener('mousemove', this.handleResizeMove);
145659
145740
  document.addEventListener('touchmove', this.handleResizeMove);
145741
+ this.hideTools();
145660
145742
  }, 100);
145661
145743
  document.addEventListener('mouseup', this.handleResizeEnd);
145662
145744
  document.addEventListener('touchend', this.handleResizeEnd);
@@ -145881,7 +145963,37 @@ class IframePanel {
145881
145963
  this.repositionTool(); // this.builder.editor.screenMode = this.builder.screenMode; // Passsing screenMode into ContentBuilder
145882
145964
  }
145883
145965
 
145966
+ hideTools() {
145967
+ let elmTool = this.builder.doc.querySelector('.is-element-tool');
145968
+ if (elmTool) elmTool.style.display = '';
145969
+ let moduleTool = this.builder.doc.querySelector('.is-module-tool');
145970
+ if (moduleTool) moduleTool.style.display = '';
145971
+ let lockIndicator = this.builder.doc.querySelector('.is-locked-indicator');
145972
+ if (lockIndicator) lockIndicator.style.display = '';
145973
+ let linkTool = this.builder.doc.querySelector('#divLinkTool');
145974
+ if (linkTool) linkTool.style.display = '';
145975
+ let spacerTool = this.builderStuff.querySelector('.is-spacer-tool');
145976
+ if (spacerTool) spacerTool.style.display = '';
145977
+ this.builder.editor.element.image.hideImageTool();
145978
+ this.builder.doc.querySelectorAll('.icon-active').forEach(elm => elm.classList.remove('icon-active'));
145979
+ this.builder.doc.querySelectorAll('.elm-inspected').forEach(elm => elm.classList.remove('elm-inspected'));
145980
+ this.builder.doc.querySelectorAll('.elm-active').forEach(elm => elm.classList.remove('elm-active'));
145981
+ }
145982
+
145884
145983
  repositionTool() {
145984
+ this.hideTools();
145985
+ let activeImage = this.builder.editor.activeImage;
145986
+
145987
+ if (activeImage) {
145988
+ setTimeout(() => {
145989
+ if (activeImage.closest('[data-html]')) {
145990
+ this.builder.editor.util.refreshModuleLayout(activeImage.closest('[data-html]'));
145991
+ }
145992
+ }, 600);
145993
+ }
145994
+ }
145995
+
145996
+ repositionTool_bak() {
145885
145997
  const col = this.builder.editor.activeCol;
145886
145998
 
145887
145999
  if (col) {
@@ -145927,7 +146039,19 @@ class IframePanel {
145927
146039
  }
145928
146040
  }
145929
146041
  }, 600);
145930
- }
146042
+ } // let activeModule = this.builder.editor.activeModule;
146043
+ // if(activeModule) {
146044
+ // const moduleTool = this.builder.doc.querySelector('.is-module-tool');
146045
+ // moduleTool.style.opacity = '0';
146046
+ // setTimeout(()=>{
146047
+ // moduleTool.style.opacity = '';
146048
+ // moduleTool.style.display = 'flex';
146049
+ // this.builder.editor.element.module.repositionModuleTool();
146050
+ // },600);
146051
+ // }
146052
+ // const lockInfo = this.builder.doc.querySelector('.is-locked-indicator');
146053
+ // lockInfo.style.display = '';
146054
+
145931
146055
  }
145932
146056
 
145933
146057
  loadIframe() {
@@ -146363,7 +146487,7 @@ class ContentBox {
146363
146487
  deleteConfirm: false,
146364
146488
  blockRotate: true,
146365
146489
  sectionTemplate: `
146366
- <div class="is-section is-box is-section-100 box-autofit type-opensans">
146490
+ <div class="is-section is-box is-section-100 box-autofit type-system-ui">
146367
146491
  <div class="is-overlay"></div>
146368
146492
  <div class="is-container is-content-1000 v2 size-18 leading-14">
146369
146493
  [%CONTENT%]
@@ -150125,6 +150249,11 @@ Add an image for each feature.`, 'Create a new block showcasing a photo gallery
150125
150249
  .is-wrapper.is-container-edit > div.section-select, .is-wrapper.is-clean-edit > div.section-select {
150126
150250
  overflow-x: unset !important;
150127
150251
  overflow-y: unset !important;
150252
+ z-index: 2;
150253
+ }
150254
+
150255
+ .is-wrapper.is-edit {
150256
+ min-height: 100vh;
150128
150257
  }
150129
150258
 
150130
150259
  ${this.iframe ? '' : `