@innovastudio/contentbuilder 1.0.71 → 1.0.77

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbuilder",
3
- "version": "1.0.71",
3
+ "version": "1.0.77",
4
4
  "description": "",
5
5
  "main": "public/contentbuilder/contentbuilder.esm.js",
6
6
  "files": [
@@ -38850,7 +38850,7 @@ class Image {
38850
38850
  <button title="4x6" data-crop-size="0.6666" style="width: 40px;height: 60px;">4x6</button>
38851
38851
  <button title="${util.out('Free')}" data-crop-size="" style="width: 60px;height: 45px;">${util.out('Free')}</button>
38852
38852
  </div>
38853
- <div class="imageedit-preview" style="min-width:200px;">
38853
+ <div class="imageedit-preview" style="max-width:1000px;width: 100%;max-height: 550px;height: 100%;">
38854
38854
  </div>
38855
38855
  <div style="margin-top:7px;text-align:right;align-self:flex-end;">
38856
38856
  <button title="${util.out('Cancel')}" class="input-cancel classic-secondary">${util.out('Cancel')}</button>
@@ -39298,11 +39298,12 @@ class Image {
39298
39298
  }
39299
39299
 
39300
39300
  util.showModal(modalImageSelect);
39301
- this.builder.targetInput = modalImageLink.querySelector('.input-src'); // used by selectAsset() (see contentbuilder.js)
39302
-
39303
- this.builder.targetCallback = null;
39304
- this.builder.targetAssetType = 'image';
39305
39301
  }
39302
+
39303
+ this.builder.targetInput = modalImageLink.querySelector('.input-src'); // used by selectAsset() (see contentbuilder.js)
39304
+
39305
+ this.builder.targetCallback = null;
39306
+ this.builder.targetAssetType = 'image';
39306
39307
  });
39307
39308
  elm = modalImageLink.querySelector('.input-select2');
39308
39309
  if (elm) dom$w.addEventListener(elm, 'click', () => {
@@ -39324,11 +39325,12 @@ class Image {
39324
39325
  }
39325
39326
 
39326
39327
  util.showModal(modalImageSelect);
39327
- this.builder.targetInput = modalImageLink.querySelector('.input-link'); // used by selectAsset() (see contentbuilder.js)
39328
-
39329
- this.builder.targetCallback = null;
39330
- this.builder.targetAssetType = 'media';
39331
39328
  }
39329
+
39330
+ this.builder.targetInput = modalImageLink.querySelector('.input-link'); // used by selectAsset() (see contentbuilder.js)
39331
+
39332
+ this.builder.targetCallback = null;
39333
+ this.builder.targetAssetType = 'media';
39332
39334
  });
39333
39335
  } else {
39334
39336
  dom$w.removeClass(divImageSrc, 'image-select');
@@ -39398,7 +39400,7 @@ class Image {
39398
39400
  }
39399
39401
  }
39400
39402
 
39401
- preview.innerHTML = '<img src="" style="max-width:100%"/>';
39403
+ preview.innerHTML = '<img src="" style="max-width:100%;object-fit:contain;height:100%;"/>';
39402
39404
  let imagePreview = modalImageEdit.querySelector('img');
39403
39405
  imagePreview.src = img.src;
39404
39406
  this.cropper = new Cropper(imagePreview, {
@@ -41449,12 +41451,12 @@ class Hyperlink {
41449
41451
  }
41450
41452
 
41451
41453
  util.showModal(modalFileSelect, false, null, false);
41452
- this.builder.targetInput = modal.querySelector('.input-url'); // used by selectAsset() (see contentbuilder.js)
41453
-
41454
- this.builder.targetCallback = null;
41455
- this.builder.targetAssetType = 'all';
41456
41454
  }
41457
41455
 
41456
+ this.builder.targetInput = modal.querySelector('.input-url'); // used by selectAsset() (see contentbuilder.js)
41457
+
41458
+ this.builder.targetCallback = null;
41459
+ this.builder.targetAssetType = 'all';
41458
41460
  e.preventDefault();
41459
41461
  e.stopImmediatePropagation();
41460
41462
  });
@@ -41546,6 +41548,11 @@ class Hyperlink {
41546
41548
 
41547
41549
  util.showModal(modalFileSelect, false, null, false);
41548
41550
  }
41551
+
41552
+ this.builder.targetInput = modal.querySelector('.input-url'); // used by selectAsset() (see contentbuilder.js)
41553
+
41554
+ this.builder.targetCallback = null;
41555
+ this.builder.targetAssetType = 'all';
41549
41556
  });
41550
41557
  } else {
41551
41558
  modal.querySelector('.input-select').style.display = 'none';
@@ -42978,11 +42985,12 @@ class Video {
42978
42985
  }
42979
42986
 
42980
42987
  util.showModal(modalVideoSelect);
42981
- this.builder.targetInput = videoModal.querySelector('.input-url'); // used by selectAsset() (see contentbuilder.js)
42982
-
42983
- this.builder.targetCallback = null;
42984
- this.builder.targetAssetType = 'video';
42985
42988
  }
42989
+
42990
+ this.builder.targetInput = videoModal.querySelector('.input-url'); // used by selectAsset() (see contentbuilder.js)
42991
+
42992
+ this.builder.targetCallback = null;
42993
+ this.builder.targetAssetType = 'video';
42986
42994
  });
42987
42995
  let fileLargerVideo = videoModal.querySelector('#fileVideo1');
42988
42996
  dom$p.addEventListener(fileLargerVideo, 'change', e => {
@@ -45812,11 +45820,12 @@ class ColumnTool {
45812
45820
  }
45813
45821
 
45814
45822
  util.showModal(modalImageSelect);
45815
- this.builder.targetInput = imageSource.querySelector('.input-src'); // used by selectAsset() (see contentbuilder.js)
45816
-
45817
- this.builder.targetCallback = null;
45818
- this.builder.targetAssetType = 'image';
45819
45823
  }
45824
+
45825
+ this.builder.targetInput = imageSource.querySelector('.input-src'); // used by selectAsset() (see contentbuilder.js)
45826
+
45827
+ this.builder.targetCallback = null;
45828
+ this.builder.targetAssetType = 'image';
45820
45829
  });
45821
45830
  } else {
45822
45831
  dom$l.removeClass(divImageSrc, 'image-select');
@@ -46199,6 +46208,15 @@ class ColumnTool {
46199
46208
  const inpSrc = this.cellSettings.querySelector('.input-src');
46200
46209
  elm = this.cellSettings.querySelector('.input-select');
46201
46210
  if (elm) dom$l.addEventListener(elm, 'click', () => {
46211
+ //---default
46212
+ this.builder.targetInput = inpSrc; // used by selectAsset() (see contentbuilder.js)
46213
+
46214
+ this.builder.targetCallback = () => {
46215
+ this.applyClick();
46216
+ };
46217
+
46218
+ this.builder.targetAssetType = 'media'; //---/default
46219
+
46202
46220
  if (this.builder.opts.onFileSelectClick) {
46203
46221
  this.builder.opts.onFileSelectClick({
46204
46222
  targetInput: inpSrc,
@@ -52762,6 +52780,7 @@ class Rte {
52762
52780
  let rteIconOptions;
52763
52781
  let rteCustomTagOptions;
52764
52782
  let rteZoomSlider;
52783
+ let inpZoomSlider;
52765
52784
 
52766
52785
  if (!rteTool) {
52767
52786
  let customtag_button = '';
@@ -52868,7 +52887,13 @@ class Rte {
52868
52887
  html_iconrte = html_iconrte + `<button title="${util.out('More')}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`;
52869
52888
  }
52870
52889
  /* /Icon Buttons */
52871
- // <div class="is-draggable" style="width: 5px;height: 45pxpx;background:#fff;cursor: move;"></div>
52890
+
52891
+
52892
+ let html_fontsizes = '';
52893
+
52894
+ for (j = 0; j < builder.opts.defaultFontSizes.length; j++) {
52895
+ html_fontsizes += `<button title="${builder.opts.defaultFontSizes[j]}px" data-value="${builder.opts.defaultFontSizes[j]}">${builder.opts.defaultFontSizes[j]}</button>`;
52896
+ } // <div class="is-draggable" style="width: 5px;height: 45pxpx;background:#fff;cursor: move;"></div>
52872
52897
  // <div style="height:55px;background:#fff;border-top:#f5f5f5 1px solid;">
52873
52898
  // </div>
52874
52899
 
@@ -52943,23 +52968,7 @@ class Rte {
52943
52968
  <div>
52944
52969
  <div class="is-label">${util.out('Font Size')}</div>
52945
52970
  <div class="rte-fontsize-options" style="display: flex;flex-flow: wrap;">
52946
- <button title="14px" data-value="14">14</button>
52947
- <button title="16px" data-value="16">16</button>
52948
- <button title="18px" data-value="18">18</button>
52949
- <button title="21px" data-value="21">21</button>
52950
- <button title="24px" data-value="24">24</button>
52951
- <!--<button title="28px" data-value="28">28</button>-->
52952
- <button title="32px" data-value="32">32</button>
52953
- <!--<button title="38px" data-value="38">38</button>-->
52954
- <button title="48px" data-value="48">48</button>
52955
- <!--<button title="60px" data-value="60">60</button>-->
52956
- <button title="76px" data-value="76">76</button>
52957
- <button title="96px" data-value="96">96</button>
52958
-
52959
- <button title="120px" data-value="120">120</button>
52960
- <!--<button title="160px" data-value="160">160</button>-->
52961
- <button title="200px" data-value="200">200</button>
52962
- <button title="300px" data-value="300">300</button>
52971
+ ${html_fontsizes}
52963
52972
 
52964
52973
  <button title="${util.out('Decrease')}" data-value="-" style="font-size:13px">-</button>
52965
52974
  <button title="${util.out('Increase')}" data-value="+" style="font-size:13px">+</button>
@@ -52998,6 +53007,16 @@ class Rte {
52998
53007
  </div>
52999
53008
  </div>
53000
53009
 
53010
+ <div class="is-modal viewzoom">
53011
+ <div class="is-modal-content" style="max-width:250px;height:150px;display:flex;flex-flow:column;justify-content:center;">
53012
+ <div class="is-modal-bar is-draggable">${util.out('Zoom')}</div>
53013
+
53014
+ <div style="display:flex;flex-wrap:wrap;width:100%;padding-top:32px;">
53015
+ <input type="range" min="50" max="100" value="1" class="inp-zoom-slider is-rangeslider">
53016
+ </div>
53017
+ </div>
53018
+ </div>
53019
+
53001
53020
  <div class="is-modal insertimage">
53002
53021
  <div class="is-modal-content" style="max-width:560px;">
53003
53022
  <div class="is-browse-area">
@@ -53058,7 +53077,8 @@ class Rte {
53058
53077
  rteZoomOptions = builderStuff.querySelector('.rte-zoom-options');
53059
53078
  rteIconOptions = builderStuff.querySelector('.rte-icon-options');
53060
53079
  rteCustomTagOptions = builderStuff.querySelector('.rte-customtag-options');
53061
- rteZoomSlider = builderStuff.querySelector('.rte-zoom-slider'); // Prepare for tooltip
53080
+ rteZoomSlider = builderStuff.querySelector('.rte-zoom-slider');
53081
+ inpZoomSlider = builderStuff.querySelector('.inp-zoom-slider'); // Prepare for tooltip
53062
53082
 
53063
53083
  let elms = rteTool.querySelectorAll('[title]');
53064
53084
  Array.prototype.forEach.call(elms, elm => {
@@ -53120,6 +53140,7 @@ class Rte {
53120
53140
  this.rteIconOptions = rteIconOptions;
53121
53141
  this.rteCustomTagOptions = rteCustomTagOptions;
53122
53142
  this.rteZoomSlider = rteZoomSlider;
53143
+ this.inpZoomSlider = inpZoomSlider;
53123
53144
  this.positionToolbar(); // Formatting
53124
53145
 
53125
53146
  let btnRteFormatting = builderStuff.querySelectorAll('button.rte-formatting');
@@ -53671,11 +53692,12 @@ class Rte {
53671
53692
  }
53672
53693
 
53673
53694
  util.showModal(modalImageSelect);
53674
- this.builder.targetInput = modalInsertImage.querySelector('.input-src'); // used by selectAsset() (see contentbuilder.js)
53675
-
53676
- this.builder.targetCallback = null;
53677
- this.builder.targetAssetType = 'image';
53678
53695
  }
53696
+
53697
+ this.builder.targetInput = modalInsertImage.querySelector('.input-src'); // used by selectAsset() (see contentbuilder.js)
53698
+
53699
+ this.builder.targetCallback = null;
53700
+ this.builder.targetAssetType = 'image';
53679
53701
  });
53680
53702
  } else {
53681
53703
  dom$5.removeClass(inputImageInsertSrc, 'image-select');
@@ -53870,6 +53892,91 @@ class Rte {
53870
53892
  this.builder.onZoomEnd(scale);
53871
53893
  }
53872
53894
  }, 300);
53895
+ }; // Zoom Modal
53896
+
53897
+
53898
+ this.inpZoomSlider.onfocus = () => {
53899
+ if (this.builder.onZoomStart) {
53900
+ this.builder.onZoomStart();
53901
+ }
53902
+
53903
+ this.inpZoomSlider.blur();
53904
+ };
53905
+
53906
+ this.inpZoomSlider.oninput = () => {
53907
+ //scale: 0.5 - 1
53908
+ //val: 50 - 100
53909
+ let val = this.inpZoomSlider.value;
53910
+ let scale = val / 100;
53911
+ this.builder.opts.zoom = scale;
53912
+ localStorage.setItem('_zoom', scale); // Save
53913
+ // setZoomOnArea
53914
+
53915
+ this.builder.setZoomOnArea(); // hide tools
53916
+
53917
+ /*
53918
+ let tools = this.builderStuff.querySelectorAll('.is-tool');
53919
+ Array.prototype.forEach.call(tools, (tool) => {
53920
+ tool.style.display = '';
53921
+ });
53922
+ let tool = this.builderStuff.querySelector('.is-column-tool');
53923
+ tool.style.display = 'none';
53924
+ tools = document.querySelectorAll('.is-row-tool');
53925
+ tools.forEach(tool=>{
53926
+ tool.style.display = 'none';
53927
+ });
53928
+ tools = document.querySelectorAll('.is-rowadd-tool');
53929
+ tools.forEach(tool=>{
53930
+ tool.style.opacity = 0;
53931
+ });
53932
+ */
53933
+
53934
+ if (this.builder.onZoom) {
53935
+ let val = this.inpZoomSlider.value;
53936
+ let scale = val / 100;
53937
+ this.builder.onZoom(scale);
53938
+ }
53939
+ };
53940
+
53941
+ this.inpZoomSlider.onchange = () => {
53942
+ setTimeout(() => {
53943
+ // setZoomOnControl
53944
+ if (this.builder.opts.page !== '') {
53945
+ const wrapper = document.querySelector(this.builder.opts.page);
53946
+ this.builder.setZoomOnControl(wrapper);
53947
+ } else {
53948
+ const builders = document.querySelectorAll(this.builder.opts.container);
53949
+ builders.forEach(builder => {
53950
+ this.builder.setZoomOnControl(builder);
53951
+ });
53952
+ } // show & reposition
53953
+
53954
+ /*
53955
+ this.builder.elmTool.repositionElementTool();
53956
+ let col = this.builder.activeCol;
53957
+ let tool = this.builderStuff.querySelector('.is-column-tool');
53958
+ tool.style.display = '';
53959
+ tool.style.top = (col.getBoundingClientRect().top - 29 + window.pageYOffset) + 'px';
53960
+ tool.style.left = (col.getBoundingClientRect().left - 1) + 'px';
53961
+ let tools = document.querySelectorAll('.is-row-tool');
53962
+ tools.forEach(tool=>{
53963
+ tool.style.display = '';
53964
+ });
53965
+ tools = document.querySelectorAll('.is-rowadd-tool');
53966
+ tools.forEach(tool=>{
53967
+ tool.style.opacity = '';
53968
+ });
53969
+ */
53970
+
53971
+
53972
+ if (this.builder.onZoomEnd) {
53973
+ let val = this.inpZoomSlider.value;
53974
+ let scale = val / 100;
53975
+ this.builder.onZoomEnd(scale);
53976
+ }
53977
+
53978
+ this.rteZoomSlider.value = this.inpZoomSlider.value;
53979
+ }, 300);
53873
53980
  }; // Text Settings
53874
53981
 
53875
53982
 
@@ -56886,6 +56993,13 @@ class Rte {
56886
56993
  }
56887
56994
  }
56888
56995
 
56996
+ viewZoom() {
56997
+ if (this.builder.onZoomOpen) this.builder.onZoomOpen();
56998
+ this.inpZoomSlider.value = this.builder.opts.zoom * 100;
56999
+ const modal = this.builderStuff.querySelector('.viewzoom');
57000
+ this.util.showModal(modal, false, null, false);
57001
+ }
57002
+
56889
57003
  }
56890
57004
 
56891
57005
  const dom$4 = new Dom();
@@ -57676,7 +57790,8 @@ class ContentBuilder {
57676
57790
  clearPreferences: false,
57677
57791
  toolbarAddSnippetButton: false,
57678
57792
  animateModal: true,
57679
- fontSizeClassValues: [12, 14, 16, 18, 21, 24, 28, 32, 35, 38, 42, 46, 48, 50, 54, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400],
57793
+ defaultFontSizes: [16, 17, 18, 19, 24, 32, 48, 76, 96, 120, 200, 300],
57794
+ fontSizeClassValues: [12, 14, 15, 16, 17, 18, 19, 21, 24, 28, 32, 35, 38, 42, 46, 48, 50, 54, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400],
57680
57795
 
57681
57796
  /* If not empty, applying font size will apply class: size-12, size-14, and so on. All responsive, defined in content.css */
57682
57797
  gradientcolors: [['linear-gradient(0deg, rgb(255, 57, 25), rgb(249, 168, 37))'], ['linear-gradient(0deg, rgb(255, 57, 25), rgb(255, 104, 15))'], ['linear-gradient(0deg, #FF5722, #FF9800)'], ['linear-gradient(0deg, #613ca2, rgb(110, 123, 217))'], ['linear-gradient(0deg, rgb(65, 70, 206), rgb(236, 78, 130))'], ['linear-gradient(0deg, rgb(0, 150, 102), rgb(90, 103, 197))'], ['linear-gradient(30deg, rgb(249, 119, 148), rgb(98, 58, 162))'], ['linear-gradient(0deg, rgb(223, 70, 137), rgb(90, 103, 197))'], ['linear-gradient(0deg, rgb(40, 53, 147), rgb(90, 103, 197))'], ['linear-gradient(0deg, rgb(21, 101, 192), rgb(52, 169, 239))'], ['linear-gradient(0deg, rgb(32, 149, 219), rgb(139, 109, 230))'], ['linear-gradient(0deg, rgb(90, 103, 197), rgb(0, 184, 201))'], ['linear-gradient(0deg, rgb(0, 184, 201), rgb(253, 187, 45))'], ['linear-gradient(0deg, rgb(255, 208, 100), rgb(239, 98, 159))'], ['linear-gradient(0deg, rgb(0, 214, 223), rgb(130, 162, 253))'], ['linear-gradient(0deg, rgb(50, 234, 251), rgb(248, 247, 126))'], ['linear-gradient(0deg, rgb(141, 221, 255), rgb(255, 227, 255))'], ['linear-gradient(0deg, rgb(255, 170, 170), rgb(255, 255, 200))'], ['linear-gradient(0deg, rgb(239, 239, 239), rgb(252, 252, 252))']],
@@ -59337,6 +59452,10 @@ class ContentBuilder {
59337
59452
  this.preferences.view();
59338
59453
  }
59339
59454
 
59455
+ viewZoom() {
59456
+ this.rte.viewZoom();
59457
+ }
59458
+
59340
59459
  loadSnippets(snippetFile) {
59341
59460
  if (this.preview) return;
59342
59461
  let snippetPanel = document.querySelector(this.opts.snippetList);