@innovastudio/contentbox 1.4.60 → 1.4.62

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.4.60",
4
+ "version": "1.4.62",
5
5
  "description": "",
6
6
  "main": "public/contentbox/contentbox.esm.js",
7
7
  "files": [
@@ -46,7 +46,7 @@
46
46
  "webpack-dev-server": "^4.0.0"
47
47
  },
48
48
  "dependencies": {
49
- "@innovastudio/contentbuilder": "^1.3.70",
49
+ "@innovastudio/contentbuilder": "^1.3.71",
50
50
  "js-beautify": "^1.14.0"
51
51
  }
52
52
  }
@@ -1550,6 +1550,8 @@ class SideBar {
1550
1550
  right: 0;
1551
1551
  width: 100%;
1552
1552
  height: auto;
1553
+ height: calc(100% - 88px);
1554
+ max-height: 700px;
1553
1555
  z-index: 1;
1554
1556
  padding: 10px 50px 40px 40px;
1555
1557
  box-sizing: border-box;
@@ -1580,6 +1582,18 @@ class SideBar {
1580
1582
  justify-content: center;
1581
1583
  align-items: center;
1582
1584
  border-radius: 2px;;
1585
+ z-index: 1;
1586
+ }
1587
+ .mega-menu-content {
1588
+ position: absolute;
1589
+ top: 0;
1590
+ left: 0;
1591
+ width: 100%;
1592
+ height: 100%;
1593
+ overflow-y: auto;
1594
+ padding-left: 25px;
1595
+ padding-bottom: 35px;
1596
+ box-sizing: border-box;
1583
1597
  }
1584
1598
 
1585
1599
  .is-waiting {
@@ -63759,7 +63773,7 @@ class Image$1 {
63759
63773
  img.setAttribute('data-filename', newname + '.' + extension);
63760
63774
  }
63761
63775
 
63762
- if (extension === 'jpg' || extension === 'jpeg') {
63776
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'webm' || extension === 'webp') {
63763
63777
  img.src = this.cropper.getCroppedCanvas({
63764
63778
  fillColor: '#fff',
63765
63779
  imageSmoothingEnabled: true,
@@ -86142,7 +86156,7 @@ class Lightbox {
86142
86156
  const color = block.getAttribute('data-modal-color');
86143
86157
 
86144
86158
  if (url) {
86145
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm') {
86159
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp') {
86146
86160
  arrGallery.push({
86147
86161
  type: 'image',
86148
86162
  url: url,
@@ -90151,13 +90165,13 @@ class ContentBuilder {
90151
90165
  if (this.targetAssetType === 'all') {
90152
90166
  ok = true;
90153
90167
  } else if (this.targetAssetType === 'media') {
90154
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'mp4') {
90168
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp' || extension === 'mp4') {
90155
90169
  ok = true;
90156
90170
  } else {
90157
90171
  alert(this.util.out('Please select an image or video file.'));
90158
90172
  }
90159
90173
  } else if (this.targetAssetType === 'image') {
90160
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm') {
90174
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp') {
90161
90175
  ok = true;
90162
90176
  } else {
90163
90177
  alert(this.util.out('Please select an image file.'));
@@ -90227,7 +90241,7 @@ class ContentBuilder {
90227
90241
  if (targetAssetType === 'all') {
90228
90242
  ok = true;
90229
90243
  } else if (targetAssetType === 'media') {
90230
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'mp4') {
90244
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp' || extension === 'mp4') {
90231
90245
  ok = true;
90232
90246
  } else {
90233
90247
  alert(out('Please select an image or video file.'));
@@ -90239,7 +90253,7 @@ class ContentBuilder {
90239
90253
  alert(out('Please select an mp4 file.'));
90240
90254
  }
90241
90255
  } else if (targetAssetType === 'image') {
90242
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm') {
90256
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp') {
90243
90257
  ok = true;
90244
90258
  } else {
90245
90259
  alert(out('Please select an image file.'));
@@ -91107,7 +91121,7 @@ class ContentBuilder {
91107
91121
  url = elm.getAttribute('data-modal-url');
91108
91122
  let extension = url.split('.').pop().split('?')[0].split('#')[0]; //
91109
91123
 
91110
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm') {
91124
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp') {
91111
91125
  this.lightbox.openImage(url, theme, color);
91112
91126
  } else if (extension === 'mp4') {
91113
91127
  this.lightbox.openVideo(url, 'dark', color);
@@ -91231,7 +91245,7 @@ class ContentBuilder {
91231
91245
  if (!theme) theme = 'light';
91232
91246
  const color = elm.getAttribute('data-modal-color');
91233
91247
 
91234
- if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm') {
91248
+ if (extension === 'jpg' || extension === 'jpeg' || extension === 'png' || extension === 'gif' || extension === 'webm' || extension === 'webp') {
91235
91249
  this.lightbox.openImage(url, theme, color);
91236
91250
  e.preventDefault();
91237
91251
  return false;
@@ -98250,13 +98264,14 @@ class Timeline {
98250
98264
  let html = `
98251
98265
  <style>
98252
98266
  .is-modal.page-timeline {
98253
- width: 1190px !important;
98254
- height: 332px !important;
98267
+ width: 1017px !important;
98268
+ height: 295px !important;
98255
98269
  top: auto !important;
98256
98270
  bottom: 30px !important;
98257
98271
  left: auto !important;
98258
98272
  right: 30px !important;
98259
98273
  z-index: 10002 !important;
98274
+ font-size: 12px;
98260
98275
  }
98261
98276
  /*
98262
98277
  @media all and (max-width: 1919px) {
@@ -98292,9 +98307,19 @@ class Timeline {
98292
98307
  min-width: 576px;
98293
98308
  }
98294
98309
  }
98295
-
98310
+ .page-timeline .is-modal-bar {
98311
+ font-size: 12px !important;
98312
+ }
98313
+ .page-timeline select {
98314
+ font-size: 12px !important;
98315
+ line-height: 1;
98316
+ }
98317
+ .page-timeline label {
98318
+ font-size: 12px !important;
98319
+ line-height: 1;
98320
+ }
98296
98321
  .page-timeline td {
98297
- font-size: 13px;
98322
+ font-size: 12px;
98298
98323
  padding: 3px 1px;
98299
98324
  }
98300
98325
  .page-timeline .table-header td {
@@ -98306,8 +98331,8 @@ class Timeline {
98306
98331
  font-family: sans-serif !important;
98307
98332
  font-weight: 300 !important;
98308
98333
  padding: 0 !important;
98309
- width: 36px !important;
98310
- height: 29px !important;
98334
+ width: 30px !important;
98335
+ height: 26px !important;
98311
98336
  text-align: center !important;
98312
98337
  letter-spacing: 0px !important;
98313
98338
  }
@@ -98318,6 +98343,20 @@ class Timeline {
98318
98343
  .page-timeline:focus-within {
98319
98344
  z-index:100021 !important
98320
98345
  }
98346
+
98347
+ .page-timeline .timeline-more {
98348
+ display: none;
98349
+ position: absolute;
98350
+ top: auto !important;
98351
+ left: 283px !important;
98352
+ bottom: 70px;
98353
+ padding: 25px 20px 20px;
98354
+ box-shadow: 3px 4px 10px 0px rgb(0 0 0 / 6%) !important;
98355
+ }
98356
+ .page-timeline .timeline-more.active {
98357
+ display: flex;
98358
+ }
98359
+
98321
98360
  </style>
98322
98361
  <div class="is-modal is-modal-content page-timeline" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
98323
98362
  <div class="is-modal-bar is-draggable" draggable="">
@@ -98328,8 +98367,8 @@ class Timeline {
98328
98367
  </div>
98329
98368
  <div style="position:absolute;box-sizing:border-box;top:0;left:0;width:100%;height:100%;border-top:transparent 35px solid;overflow-y:hidden;overflow-x:auto;">
98330
98369
 
98331
- <div style="width:1180px;">
98332
- <table class="table-timeline" style="margin:0px 15px 12px;border-collapse:collapse;">
98370
+ <div>
98371
+ <table class="table-timeline" style="margin:0px 15px 3px;border-collapse:collapse;">
98333
98372
  <tr class="table-header">
98334
98373
  <td style="text-align:center"> </td>
98335
98374
  <td style="text-align:center">0%</td>
@@ -98348,23 +98387,22 @@ class Timeline {
98348
98387
  <td style="text-align:center"></td>
98349
98388
  <td style="text-align:center"></td>
98350
98389
  <td style="text-align:center"></td>
98351
- <td style="text-align:center;padding-right:9px">100%</td>
98352
- <td style="text-align:center"></td>
98390
+ <td style="text-align:center;padding-right:5px">100%</td>
98353
98391
  <td style="text-align:center"></td>
98354
98392
  <td style="text-align:center"></td>
98355
- <td style="text-align:center" colspan="6">${out('Extended (for use with pinned section)')}</td>
98393
+ <td style="text-align:center" colspan="8">${out('Extended (for use with pinned section)')}</td>
98356
98394
  <!--<td style="text-align:center"></td>
98357
98395
  <td style="text-align:center"></td>
98358
98396
  <td style="text-align:center"></td>
98359
98397
  <td style="text-align:center"></td>
98360
98398
  <td style="text-align:center">150%</td>
98361
- <td style="text-align:center"></td>-->
98362
98399
  <td style="text-align:center"></td>
98400
+ <td style="text-align:center"></td>-->
98363
98401
  <td style="text-align:center"></td>
98364
98402
  <td style="text-align:center;padding:0">
98365
- <button title="${out('Clear All')}" class="cmd-clear-timeline" style="margin-left:5px;height:23px;flex: none;width: auto;padding: 0 0 0 8px !important;box-shadow: none !important;background: transparent !important;">
98403
+ <!--<button title="${out('Clear All')}" class="cmd-clear-timeline" style="margin-left:5px;height:23px;flex: none;width: auto;padding: 0 0 0 8px !important;box-shadow: none !important;background: transparent !important;">
98366
98404
  <svg class="is-icon-flex" style="width:10px;height:10px;"><use xlink:href="#icon-clean"></use></svg>
98367
- </button>
98405
+ </button>-->
98368
98406
  </td>
98369
98407
  </tr>
98370
98408
  <tr>
@@ -98833,12 +98871,52 @@ class Timeline {
98833
98871
  </td>
98834
98872
  </tr>
98835
98873
  </table>
98836
- <div class="flex-wrap" style="padding: 3px 5px 15px 18px;box-sizing: border-box;width: 100%;justify-content: space-between;">
98874
+ <div class="flex-wrap" style="padding: 3px 10px 15px 15px;box-sizing: border-box;width: 100%;justify-content: space-between;">
98837
98875
 
98876
+ <div class="flex-wrap" style="margin-top:8px;flex-direction:column;align-items:flex-start">
98877
+ <!--
98878
+ <div style="font-size:10px;margin-top:-20px;margin-bottom:5px"><span>${out('Target')}</span>:</div>
98879
+ -->
98880
+ <div class="flex-wrap">
98881
+ <div class="flex-wrap" style="margin-right:15px;width: 120px;">
98882
+ <select class="input-target">
98883
+ <option value="element">${out('Element')}</option>
98884
+ <option value="column">${out('Column')}</option>
98885
+ <option value="row">${out('Row')}</option>
98886
+ <option value="container">${out('Container')}</option>
98887
+ <option value="overlay">${out('Overlay')}</option>
98888
+ <option value="bg">${out('Background')}</option>
98889
+ <option value="box">${out('Box')}</option>
98890
+ <option value="section">${out('Section')}</option>
98891
+ </select>
98892
+ </div>
98893
+ <div class="flex-wrap" style="margin-right:15px">
98894
+ <button title="${out('Desktop')}" class="input-device on" data-value="" style="width:40px;height:34px;">
98895
+ <svg class="is-icon-flex" style="width:18px;height:18px"><use xlink:href="#icon-device-desktop"></use></svg>
98896
+ </button>
98897
+ <!--<button title="${out('Laptop/Tablet')}" class="input-device" data-value="md" style="width:40px;height:34px;">
98898
+ <svg class="is-icon-flex" style="width:18px;height:18px"><use xlink:href="#icon-device-laptop"></use></svg>
98899
+ </button>-->
98900
+ <button title="${out('Tablet')}" class="input-device" data-value="sm" style="width:40px;height:34px;">
98901
+ <svg class="is-icon-flex" style="width:18px;height:18px"><use xlink:href="#icon-device-tablet"></use></svg>
98902
+ </button>
98903
+ <button title="${out('Mobile')}" class="input-device" data-value="xs" style="width:40px;height:34px;">
98904
+ <svg class="is-icon-flex" style="width:13px;height:13px"><use xlink:href="#icon-device-mobile"></use></svg>
98905
+ </button>
98906
+ </div>
98907
+ <div class="flex-wrap">
98908
+ <button type="button" class="cmd-timeline-more" style="width:40px;height:34px;"><svg class="is-icon-flex"><use xlink:href="#icon-settings"></use></svg></button>
98909
+
98910
+ <!--<button title="${out('Clear All')}" class="cmd-clear-timeline" style="width:40px;height:34px;">
98911
+ <svg class="is-icon-flex" style="width:10px;height:10px;"><use xlink:href="#icon-clean"></use></svg>
98912
+ </button>-->
98913
+ </div>
98914
+ </div>
98915
+ </div>
98838
98916
  <div class="flex-wrap" style="width:470px">
98839
98917
 
98840
98918
  <div class="flex-wrap" style="flex-direction:column;align-items: flex-start;">
98841
- <div class="flex-wrap" style="height:40px">
98919
+ <div class="flex-wrap" style="height:35px;margin-bottom: 2px;">
98842
98920
  <div class="flex-wrap">
98843
98921
  <label for="chkPinSection2" style="margin:0;display:flex;">
98844
98922
  <input id="chkPinSection2" type="checkbox" style="margin:-1px 6px 0 0">
@@ -98870,8 +98948,13 @@ class Timeline {
98870
98948
  </div>
98871
98949
  </div>
98872
98950
  </div>
98951
+ <div class="flex-wrap" style="margin-top:8px;">
98952
+ <button title="${out('Clear All')}" class="cmd-clear-timeline" style="width:30px;height:23px;flex: none;box-shadow: none !important;background: transparent !important;">
98953
+ <svg class="is-icon-flex" style="width:10px;height:10px;"><use xlink:href="#icon-clean"></use></svg>
98954
+ </button>
98955
+ </div>
98873
98956
 
98874
- <div class="flex-wrap" style="">
98957
+ <div class="timeline-more flex-wrap is-pop">
98875
98958
 
98876
98959
  <div class="flex-wrap" style="flex-direction:column;margin-right:15px">
98877
98960
  <div style="font-size:10px;margin-top:-10px;margin-bottom:2px"><span>${out('Origin')}</span>:</div>
@@ -98916,39 +98999,6 @@ class Timeline {
98916
98999
  </div>
98917
99000
  </div>
98918
99001
 
98919
- <div class="flex-wrap" style="flex-direction:column;align-items:flex-start">
98920
- <!--
98921
- <div style="font-size:10px;margin-top:-20px;margin-bottom:5px"><span>${out('Target')}</span>:</div>
98922
- -->
98923
- <div class="flex-wrap">
98924
- <div class="flex-wrap" style="margin-right:15px">
98925
- <select class="input-target">
98926
- <option value="element">${out('Element')}</option>
98927
- <option value="column">${out('Column')}</option>
98928
- <option value="row">${out('Row')}</option>
98929
- <option value="container">${out('Container')}</option>
98930
- <option value="overlay">${out('Overlay')}</option>
98931
- <option value="bg">${out('Background')}</option>
98932
- <option value="box">${out('Box')}</option>
98933
- <option value="section">${out('Section')}</option>
98934
- </select>
98935
- </div>
98936
- <div class="flex-wrap">
98937
- <button title="${out('Desktop')}" class="input-device on" data-value="" style="width:40px;height:34px;">
98938
- <svg class="is-icon-flex" style="width:18px;height:18px"><use xlink:href="#icon-device-desktop"></use></svg>
98939
- </button>
98940
- <!--<button title="${out('Laptop/Tablet')}" class="input-device" data-value="md" style="width:40px;height:34px;">
98941
- <svg class="is-icon-flex" style="width:18px;height:18px"><use xlink:href="#icon-device-laptop"></use></svg>
98942
- </button>-->
98943
- <button title="${out('Tablet')}" class="input-device" data-value="sm" style="width:40px;height:34px;">
98944
- <svg class="is-icon-flex" style="width:18px;height:18px"><use xlink:href="#icon-device-tablet"></use></svg>
98945
- </button>
98946
- <button title="${out('Mobile')}" class="input-device" data-value="xs" style="width:40px;height:34px;">
98947
- <svg class="is-icon-flex" style="width:13px;height:13px"><use xlink:href="#icon-device-mobile"></use></svg>
98948
- </button>
98949
- </div>
98950
- </div>
98951
- </div>
98952
99002
 
98953
99003
  </div>
98954
99004
  </div>
@@ -99124,6 +99174,11 @@ class Timeline {
99124
99174
  this.read();
99125
99175
  });
99126
99176
  });
99177
+ const btnTimelineMore = modalTimeline.querySelector('.cmd-timeline-more');
99178
+ btnTimelineMore.addEventListener('click', () => {
99179
+ const more = modalTimeline.querySelector('.timeline-more');
99180
+ this.builder.editor.util.showPop(more, false, btnTimelineMore);
99181
+ });
99127
99182
  const chkPinSection = modalTimeline.querySelector('#chkPinSection2');
99128
99183
  const divPinSpacing = modalTimeline.querySelector('.div-pin-spacing');
99129
99184
  chkPinSection.addEventListener('click', () => {
@@ -100831,7 +100886,7 @@ class ContentBox {
100831
100886
  maxEmbedImageWidth: 1600,
100832
100887
  zoom: 0.6,
100833
100888
  shortenHTML: true,
100834
- advancedTimeline: false,
100889
+ advancedTimeline: true,
100835
100890
  livePreviewOpen: false,
100836
100891
  contentStyleWithSample: false,
100837
100892
  contentSizes: [300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500, 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740, 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 970, 980, 1000, 1020, 1040, 1050, 1060, 1080, 1100, 1120, 1140, 1160, 1180, 1200, 1220, 1240, 1260, 1280, 1300, 1320, 1340, 1360, 1380, 1400, 1420, 1440, 1460, 1480, 1500, 1520, 1540, 1560, 1580, 1600, 1620, 1640, 1660, 1680, 1700, 1720, 1740, 1760, 1780, 1800, 1820, 1840, 1860, 1880, 1900, 1920, 1940, 1960, 1980, 2000, 2020, 2040, 2060, 2080, 2100, 2120, 2140, 2160, 2180, 2200, 2220, 2240, 2260, 2280, 2300, 2320, 2340, 2360, 2380, 2400, 2420, 2440, 2460, 2480, 2500, 2520, 2540, 2560, 2580, 2600, 2620, 2640, 2660, 2680, 2700],
@@ -104533,10 +104588,37 @@ class ContentBox {
104533
104588
  elm.style.opacity = '';
104534
104589
  });
104535
104590
  */
104591
+ // Clean after Undo/Redo
104592
+ let tools = this.doc.querySelectorAll('.is-section-tool');
104593
+ tools.forEach(tool => {
104594
+ tool.parentNode.removeChild(tool);
104595
+ });
104596
+ tools = this.doc.querySelectorAll('.is-box-tool');
104597
+ tools.forEach(tool => {
104598
+ tool.parentNode.removeChild(tool);
104599
+ });
104600
+ const prevBox = this.doc.querySelectorAll('.box-select');
104601
+ prevBox.forEach(elm => {
104602
+ elm.classList.remove('box-select');
104603
+ });
104604
+ const prevSection = this.doc.querySelectorAll('.section-select');
104605
+ prevSection.forEach(elm => {
104606
+ elm.classList.remove('section-select');
104607
+ });
104608
+ this.activeBox = null;
104609
+ this.activeSection = null;
104610
+ this.wrapperEl.classList.remove('is-container-edit');
104611
+ this.wrapperEl.classList.remove('is-clean-edit');
104536
104612
  const modalEditBox = this.builderStuff.querySelector('.editbox');
104537
104613
  modalEditBox.style.display = '';
104538
104614
  const modalEditSection = this.builderStuff.querySelector('.editsection');
104539
104615
  modalEditSection.style.display = '';
104616
+
104617
+ if (!this.timeline.modalTimeline.classList.contains('active') && !this.animateScroll.modalAnimateScroll.classList.contains('active')) {
104618
+ this.wrapperEl.classList.remove('hard-select');
104619
+ } // ---
104620
+
104621
+
104540
104622
  this.pageSetup(); // To refresh skrollrr anim
104541
104623
 
104542
104624
  if (this.win.skrollrr) {