@innovastudio/contentbuilder 1.3.80 → 1.3.81
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 +1 -1
- package/public/contentbuilder/contentbuilder.css +13 -1
- package/public/contentbuilder/contentbuilder.esm.js +233 -22
- package/public/contentbuilder/contentbuilder.min.js +2 -2
- package/public/contentbuilder/lang/en.js +9 -1
- package/public/contentbuilder/lang/fr.js +13 -1
- package/public/contentbuilder/themes/colored-blue.css +4 -0
- package/public/contentbuilder/themes/colored-blue2.css +4 -0
- package/public/contentbuilder/themes/colored-blue3.css +4 -0
- package/public/contentbuilder/themes/colored-blue4.css +4 -0
- package/public/contentbuilder/themes/colored-blue5.css +4 -0
- package/public/contentbuilder/themes/colored-blue6.css +4 -0
- package/public/contentbuilder/themes/colored-blue7.css +4 -0
- package/public/contentbuilder/themes/colored-blue8.css +4 -0
- package/public/contentbuilder/themes/colored-darkblue.css +4 -0
- package/public/contentbuilder/themes/colored-gray.css +4 -0
- package/public/contentbuilder/themes/colored-green.css +4 -0
- package/public/contentbuilder/themes/colored-green2.css +4 -0
- package/public/contentbuilder/themes/colored-green3.css +4 -0
- package/public/contentbuilder/themes/colored-green4.css +4 -0
- package/public/contentbuilder/themes/colored-green5.css +4 -0
- package/public/contentbuilder/themes/colored-magenta.css +4 -0
- package/public/contentbuilder/themes/colored-orange.css +4 -0
- package/public/contentbuilder/themes/colored-orange2.css +4 -0
- package/public/contentbuilder/themes/colored-orange3.css +4 -0
- package/public/contentbuilder/themes/colored-pink.css +4 -0
- package/public/contentbuilder/themes/colored-pink2.css +4 -0
- package/public/contentbuilder/themes/colored-pink3.css +4 -0
- package/public/contentbuilder/themes/colored-pink4.css +4 -0
- package/public/contentbuilder/themes/colored-purple.css +4 -0
- package/public/contentbuilder/themes/colored-purple2.css +4 -0
- package/public/contentbuilder/themes/colored-red.css +4 -0
- package/public/contentbuilder/themes/colored-red2.css +4 -0
- package/public/contentbuilder/themes/colored-red3.css +4 -0
- package/public/contentbuilder/themes/colored-red4.css +4 -0
- package/public/contentbuilder/themes/colored-red5.css +4 -0
- package/public/contentbuilder/themes/colored-yellow.css +4 -0
- package/public/contentbuilder/themes/colored-yellow2.css +4 -0
- package/public/contentbuilder/themes/dark-blue.css +9 -5
- package/public/contentbuilder/themes/dark-blue2.css +9 -5
- package/public/contentbuilder/themes/dark-blue3.css +9 -5
- package/public/contentbuilder/themes/dark-gray.css +9 -5
- package/public/contentbuilder/themes/dark-pink.css +9 -5
- package/public/contentbuilder/themes/dark-purple.css +9 -5
- package/public/contentbuilder/themes/dark-red.css +9 -5
- package/public/contentbuilder/themes/dark.css +9 -5
- package/public/contentbuilder/themes/light-blue.css +4 -0
- package/public/contentbuilder/themes/light-blue2.css +4 -0
- package/public/contentbuilder/themes/light-blue3.css +4 -0
- package/public/contentbuilder/themes/light-cyan.css +4 -0
- package/public/contentbuilder/themes/light-gray.css +4 -0
- package/public/contentbuilder/themes/light-gray2.css +4 -0
- package/public/contentbuilder/themes/light-gray3.css +4 -0
- package/public/contentbuilder/themes/light-green.css +4 -0
- package/public/contentbuilder/themes/light-pink.css +4 -0
- package/public/contentbuilder/themes/light-pink2.css +4 -0
- package/public/contentbuilder/themes/light-purple.css +4 -0
- package/public/contentbuilder/themes/light-purple2.css +4 -0
- package/public/contentbuilder/themes/light-red.css +4 -0
- package/public/contentbuilder/themes/light-yellow.css +4 -0
- package/public/contentbuilder/themes/light-yellow2.css +4 -0
package/package.json
CHANGED
@@ -107,7 +107,7 @@ button:focus-visible {
|
|
107
107
|
}
|
108
108
|
}
|
109
109
|
|
110
|
-
@media (min-width:
|
110
|
+
@media (min-width: 971px) {
|
111
111
|
.is-builder > div {
|
112
112
|
display: flex;
|
113
113
|
}
|
@@ -1884,6 +1884,13 @@ button:focus-visible {
|
|
1884
1884
|
background: rgba(255, 255, 255, 0.2);
|
1885
1885
|
border: rgba(0, 0, 0, 0.09) 1px solid !important;
|
1886
1886
|
}
|
1887
|
+
#_cbhtml .is-modal .is-separator,
|
1888
|
+
.is-ui .is-modal .is-separator {
|
1889
|
+
width: 100%;
|
1890
|
+
border-top: #f0f0f0 1px solid;
|
1891
|
+
margin-bottom: 10px;
|
1892
|
+
margin-top: 10px;
|
1893
|
+
}
|
1887
1894
|
#_cbhtml .is-modal .form-upload-larger.please-wait svg,
|
1888
1895
|
.is-ui .is-modal .form-upload-larger.please-wait svg {
|
1889
1896
|
transform: scale(1, 1);
|
@@ -1979,6 +1986,11 @@ button:focus-visible {
|
|
1979
1986
|
padding: 0;
|
1980
1987
|
border: none;
|
1981
1988
|
}
|
1989
|
+
#_cbhtml .is-modal div.is-draggable > span,
|
1990
|
+
.is-ui .is-modal div.is-draggable > span {
|
1991
|
+
pointer-events: none;
|
1992
|
+
user-select: none;
|
1993
|
+
}
|
1982
1994
|
#_cbhtml .is-modal div.is-modal-bar,
|
1983
1995
|
.is-ui .is-modal div.is-modal-bar {
|
1984
1996
|
position: absolute;
|
@@ -4508,6 +4508,7 @@ class Util {
|
|
4508
4508
|
Array.prototype.forEach.call(subblocks, subblock => {
|
4509
4509
|
if (col.getAttribute('data-html-' + i)) {
|
4510
4510
|
subblock.innerHTML = decodeURIComponent(col.getAttribute('data-html-' + i));
|
4511
|
+
subblock.contentEditable = true;
|
4511
4512
|
}
|
4512
4513
|
|
4513
4514
|
i++;
|
@@ -14996,6 +14997,7 @@ class HtmlUtil {
|
|
14996
14997
|
let index = 1;
|
14997
14998
|
let subblocks = block.querySelectorAll('[data-subblock]');
|
14998
14999
|
Array.prototype.forEach.call(subblocks, subblock => {
|
15000
|
+
if (subblock.closest('.glide__slide--clone')) return;
|
14999
15001
|
let html = subblock.innerHTML;
|
15000
15002
|
block.setAttribute('data-html-' + index, encodeURIComponent(html));
|
15001
15003
|
index++;
|
@@ -15823,6 +15825,47 @@ const prepareSvgIcons = builder => {
|
|
15823
15825
|
<symbol viewBox="0 0 512 512" id="ion-volume-medium">
|
15824
15826
|
<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"/>
|
15825
15827
|
</symbol>
|
15828
|
+
|
15829
|
+
|
15830
|
+
|
15831
|
+
<symbol id="icon-devices" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15832
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15833
|
+
<rect x="13" y="8" width="8" height="12" rx="1"></rect>
|
15834
|
+
<path d="M18 8v-3a1 1 0 0 0 -1 -1h-13a1 1 0 0 0 -1 1v12a1 1 0 0 0 1 1h9"></path>
|
15835
|
+
<line x1="16" y1="9" x2="18" y2="9"></line>
|
15836
|
+
</symbol>
|
15837
|
+
<symbol id="icon-device-desktop" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15838
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15839
|
+
<rect x="3" y="4" width="18" height="12" rx="1"></rect>
|
15840
|
+
<line x1="7" y1="20" x2="17" y2="20"></line>
|
15841
|
+
<line x1="9" y1="16" x2="9" y2="20"></line>
|
15842
|
+
<line x1="15" y1="16" x2="15" y2="20"></line>
|
15843
|
+
</symbol>
|
15844
|
+
<symbol id="icon-device-mobile" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15845
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15846
|
+
<rect x="6" y="3" width="12" height="18" rx="2"></rect>
|
15847
|
+
<line x1="11" y1="4" x2="13" y2="4"></line>
|
15848
|
+
<line x1="12" y1="17" x2="12" y2="17.01"></line>
|
15849
|
+
</symbol>
|
15850
|
+
<symbol id="icon-device-laptop" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15851
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15852
|
+
<line x1="3" y1="19" x2="21" y2="19"></line>
|
15853
|
+
<rect x="5" y="6" width="14" height="10" rx="1"></rect>
|
15854
|
+
</symbol>
|
15855
|
+
<symbol id="icon-device-tablet" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15856
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15857
|
+
<rect x="5" y="3" width="14" height="18" rx="1"></rect>
|
15858
|
+
<circle cx="12" cy="17" r="1"></circle>
|
15859
|
+
</symbol>
|
15860
|
+
|
15861
|
+
<symbol id="icon-eye" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15862
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15863
|
+
<path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0m13 0c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7"></path>
|
15864
|
+
</symbol>
|
15865
|
+
<symbol id="icon-eye-off" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
15866
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
15867
|
+
<path d="M9.88 9.878a3 3 0 1 0 4.243 4.242m.581 -3.42a3.012 3.012 0 0 0 -1.45 -1.426m-3.877 -3.913a9.469 9.469 0 0 1 2.623 -.361c4 0 7.333 2.333 10 7c-.778 1.362 -1.613 2.524 -2.504 3.489m-2.138 1.859c-1.629 1.101 -3.415 1.652 -5.358 1.652c-4 0 -7.333 -2.333 -10 -7c1.374 -2.404 2.924 -4.189 4.652 -5.354m-3.652 -3.646l18 18"></path>
|
15868
|
+
</symbol>
|
15826
15869
|
</defs>
|
15827
15870
|
</svg>`;
|
15828
15871
|
builder.dom.appendHtml(builder.builderStuff, html);
|
@@ -53282,7 +53325,7 @@ class Module {
|
|
53282
53325
|
var moduleDesc = module.getAttribute('data-module-desc');
|
53283
53326
|
|
53284
53327
|
if (moduleDesc) {
|
53285
|
-
moduleModal.querySelector('.is-modal-bar').innerHTML = moduleDesc + `<button class="is-modal-close" tabindex="-1" title="${util.out('Close')}">
|
53328
|
+
moduleModal.querySelector('.is-modal-bar').innerHTML = this.util.out(moduleDesc) + `<button class="is-modal-close" tabindex="-1" title="${util.out('Close')}">
|
53286
53329
|
<svg class="is-icon-flex" style="width:30px;height:30px;"><use xlink:href="#ion-ios-close-empty"></use></svg>
|
53287
53330
|
</button>`;
|
53288
53331
|
} else {
|
@@ -53611,9 +53654,10 @@ class Code {
|
|
53611
53654
|
viewhtml = this.builderStuff.querySelector('.viewhtml');
|
53612
53655
|
}
|
53613
53656
|
|
53614
|
-
let textarea = viewhtml.querySelector('textarea');
|
53615
|
-
let beautify = JsBeautify.html;
|
53616
|
-
html = beautify(html);
|
53657
|
+
let textarea = viewhtml.querySelector('textarea'); // Commented, to prevent {id} get formatted.
|
53658
|
+
// let beautify = JsBeautify.html;
|
53659
|
+
// html = beautify(html);
|
53660
|
+
|
53617
53661
|
textarea.value = html;
|
53618
53662
|
this.htmlUtil.view('code');
|
53619
53663
|
});
|
@@ -57450,13 +57494,39 @@ class ColumnTool {
|
|
57450
57494
|
<button title="${util.out('Clear')}" class="input-cell-textcolor" data-command=""><svg class="is-icon-flex" style="flex:none;width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
57451
57495
|
</div>
|
57452
57496
|
|
57453
|
-
<div style="padding
|
57497
|
+
<div style="padding:30px 0 10px;">
|
57454
57498
|
<label class="label-cell-grayscale label-checkbox" for="chkCellGrayscale"><input id="chkCellGrayscale" class="chk-cell-grayscale" type="checkbox" /> ${util.out('Grayscale')}</label>
|
57455
57499
|
</div>
|
57456
57500
|
|
57457
|
-
<div style="padding:20px 0 10px;">
|
57501
|
+
<div style="display:none;padding:20px 0 10px;">
|
57458
57502
|
<label class="label-cell-hideonmobile label-checkbox" for="chkHideColumnOnMobile"><input id="chkHideColumnOnMobile" class="chk-cell-hideonmobile" type="checkbox" /> ${util.out('Hide Column on Mobile')}</label>
|
57459
57503
|
</div>
|
57504
|
+
|
57505
|
+
<div class="is-separator"></div>
|
57506
|
+
|
57507
|
+
<div class="div-target" style="display: flex;justify-content: flex-end;padding: 5px 0 0;">
|
57508
|
+
<button title="${util.out('Desktop')}" class="input-device on" data-value="" style="width:40px;height:25px;">
|
57509
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-device-desktop"></use></svg>
|
57510
|
+
</button>
|
57511
|
+
<button title="${util.out('Tablet')}" class="input-device" data-value="sm" style="width:40px;height:25px;">
|
57512
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-device-tablet"></use></svg>
|
57513
|
+
</button>
|
57514
|
+
<button title="${util.out('Mobile')}" class="input-device" data-value="xs" style="width:40px;height:25px;">
|
57515
|
+
<svg class="is-icon-flex" style="width:13px;height:13px"><use xlink:href="#icon-device-mobile"></use></svg>
|
57516
|
+
</button>
|
57517
|
+
</div>
|
57518
|
+
|
57519
|
+
<div style="padding-top:0;padding-bottom:3px;">${util.out('Visibility')}:</div>
|
57520
|
+
<div class="div-visibility" style="display:flex;">
|
57521
|
+
<button title="${util.out('Visible')}" class="input-visible on" data-value="sm" style="width:100px;height:34px;">
|
57522
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-eye"></use></svg>
|
57523
|
+
<span>${util.out('Visible')}</span>
|
57524
|
+
</button>
|
57525
|
+
<button title="${util.out('Hidden')}" class="input-hidden" data-value="xs" style="width:100px;height:34px;">
|
57526
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-eye-off"></use></svg>
|
57527
|
+
<span>${util.out('Hidden')}</span>
|
57528
|
+
</button>
|
57529
|
+
</div>
|
57460
57530
|
|
57461
57531
|
<!--
|
57462
57532
|
<div style="display:none;padding-top:20px;padding-bottom:3px;">${util.out('Enlarge Row')}:</div>
|
@@ -59066,6 +59136,58 @@ class ColumnTool {
|
|
59066
59136
|
if (!cell) return;
|
59067
59137
|
if (inpClickSrc.value === '') return;
|
59068
59138
|
this.builder.openMedia(cell);
|
59139
|
+
}); // Responsive Visibility
|
59140
|
+
|
59141
|
+
let btns = this.cellSettings.querySelectorAll('.input-device');
|
59142
|
+
btns.forEach(btn => {
|
59143
|
+
btn.addEventListener('click', () => {
|
59144
|
+
let cell = this.util.cellSelected();
|
59145
|
+
if (!cell) return;
|
59146
|
+
let elms = this.cellSettings.querySelectorAll('.input-device');
|
59147
|
+
elms.forEach(elm => {
|
59148
|
+
elm.classList.remove('on');
|
59149
|
+
});
|
59150
|
+
btn.classList.add('on');
|
59151
|
+
this.realtimeVisibility(cell);
|
59152
|
+
});
|
59153
|
+
});
|
59154
|
+
let btnVisible = this.cellSettings.querySelector('.input-visible');
|
59155
|
+
let btnHidden = this.cellSettings.querySelector('.input-hidden');
|
59156
|
+
btnVisible.addEventListener('click', () => {
|
59157
|
+
let cell = this.util.cellSelected();
|
59158
|
+
if (!cell) return;
|
59159
|
+
cell.classList.remove('hideonmobile');
|
59160
|
+
let divTarget = this.cellSettings.querySelector('.div-target');
|
59161
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
59162
|
+
|
59163
|
+
if (target === 'xs') {
|
59164
|
+
cell.classList.remove('xs-hidden');
|
59165
|
+
} else if (target === 'sm') {
|
59166
|
+
cell.classList.remove('sm-hidden');
|
59167
|
+
} else if (target === '') {
|
59168
|
+
cell.classList.remove('desktop-hidden');
|
59169
|
+
}
|
59170
|
+
|
59171
|
+
btnVisible.classList.add('on');
|
59172
|
+
btnHidden.classList.remove('on');
|
59173
|
+
});
|
59174
|
+
btnHidden.addEventListener('click', () => {
|
59175
|
+
let cell = this.util.cellSelected();
|
59176
|
+
if (!cell) return;
|
59177
|
+
cell.classList.remove('hideonmobile');
|
59178
|
+
let divTarget = this.cellSettings.querySelector('.div-target');
|
59179
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
59180
|
+
|
59181
|
+
if (target === 'xs') {
|
59182
|
+
cell.classList.add('xs-hidden');
|
59183
|
+
} else if (target === 'sm') {
|
59184
|
+
cell.classList.add('sm-hidden');
|
59185
|
+
} else if (target === '') {
|
59186
|
+
cell.classList.add('desktop-hidden');
|
59187
|
+
}
|
59188
|
+
|
59189
|
+
btnVisible.classList.remove('on');
|
59190
|
+
btnHidden.classList.add('on');
|
59069
59191
|
});
|
59070
59192
|
}
|
59071
59193
|
|
@@ -59256,6 +59378,16 @@ class ColumnTool {
|
|
59256
59378
|
let btn = this.cellSettings.querySelector('.cmd-content-pos[data-pos="bottomright"');
|
59257
59379
|
dom.addClass(btn, 'on');
|
59258
59380
|
}
|
59381
|
+
|
59382
|
+
this.realtimeVisibility(cell);
|
59383
|
+
}
|
59384
|
+
|
59385
|
+
realtimeVisibility(cell) {
|
59386
|
+
let divTarget = this.cellSettings.querySelector('.div-target');
|
59387
|
+
let divVisibility = this.cellSettings.querySelector('.div-visibility');
|
59388
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
59389
|
+
let valVisibility = this.builder.responsive.getVisibility(cell, target);
|
59390
|
+
this.builder.responsive.showVisibility(divVisibility, valVisibility);
|
59259
59391
|
}
|
59260
59392
|
|
59261
59393
|
openImagePicker(currentUrl, callback, btn) {
|
@@ -60671,17 +60803,19 @@ class ElementSpacingStyles {
|
|
60671
60803
|
</select>
|
60672
60804
|
</div>
|
60673
60805
|
</div>
|
60674
|
-
|
60675
|
-
<div style="
|
60676
|
-
|
60677
|
-
|
60678
|
-
<div>
|
60679
|
-
<
|
60806
|
+
|
60807
|
+
<div style="display:none">
|
60808
|
+
<div style="margin-top: 25px;font-weight: bold;width:100%">${util.out('Responsive Positioning')}:</div>
|
60809
|
+
|
60810
|
+
<div class="is-settings" style="width:100%;">
|
60811
|
+
<div>
|
60812
|
+
<label for="chkResetMarginLeft" style="letter-spacing: 0.5px;"><input type="checkbox" id="chkResetMarginLeft" value="" /> ${util.out('Reset margin left on small screen')} </label>
|
60813
|
+
</div>
|
60680
60814
|
</div>
|
60681
|
-
|
60682
|
-
|
60683
|
-
|
60684
|
-
|
60815
|
+
<div class="is-settings" style="margin-top:0;width:100%;">
|
60816
|
+
<div>
|
60817
|
+
<label for="chkResetMarginRight" style="letter-spacing: 0.5px;"><input type="checkbox" id="chkResetMarginRight" value="" /> ${util.out('Reset margin right on small screen')} </label>
|
60818
|
+
</div>
|
60685
60819
|
</div>
|
60686
60820
|
</div>
|
60687
60821
|
`;
|
@@ -64781,6 +64915,11 @@ class ElementTool {
|
|
64781
64915
|
if (ok) {
|
64782
64916
|
this.builder.uo.saveForUndo();
|
64783
64917
|
let elm = this.builder.activeElement;
|
64918
|
+
let subblock = false;
|
64919
|
+
|
64920
|
+
if (elm.closest('.is-subblock')) {
|
64921
|
+
subblock = true;
|
64922
|
+
}
|
64784
64923
|
/*
|
64785
64924
|
if(dom.hasClass(elm.parentNode, 'cell-active') || elm.parentNode.hasAttribute('data-subblock')) {
|
64786
64925
|
// Level 1
|
@@ -64806,6 +64945,7 @@ class ElementTool {
|
|
64806
64945
|
}
|
64807
64946
|
*/
|
64808
64947
|
|
64948
|
+
|
64809
64949
|
elm.parentNode.removeChild(elm);
|
64810
64950
|
this.elementTool.style.display = 'none';
|
64811
64951
|
let cell = this.builder.activeCol;
|
@@ -64836,7 +64976,21 @@ class ElementTool {
|
|
64836
64976
|
subblock.innerHTML = '<div class="spacer height-40" contentEditable="false"></div>';
|
64837
64977
|
}
|
64838
64978
|
});
|
64839
|
-
util.clearControls();
|
64979
|
+
util.clearControls();
|
64980
|
+
|
64981
|
+
if (subblock) {
|
64982
|
+
let block = this.builder.activeCol;
|
64983
|
+
let subblocks = block.querySelectorAll('[data-subblock]');
|
64984
|
+
var index = 1;
|
64985
|
+
Array.prototype.forEach.call(subblocks, subblock => {
|
64986
|
+
if (subblock.closest('.glide__slide--clone')) return;
|
64987
|
+
let html = subblock.innerHTML;
|
64988
|
+
block.setAttribute('data-html-' + index, encodeURIComponent(html));
|
64989
|
+
index++;
|
64990
|
+
});
|
64991
|
+
util.refreshModuleLayout(block);
|
64992
|
+
} //Trigger Change event
|
64993
|
+
|
64840
64994
|
|
64841
64995
|
this.builder.opts.onChange();
|
64842
64996
|
}
|
@@ -69676,7 +69830,8 @@ class Rte {
|
|
69676
69830
|
// Column contains custom code.
|
69677
69831
|
customcode = true;
|
69678
69832
|
|
69679
|
-
if (
|
69833
|
+
if (elm.closest('.is-subblock')) {
|
69834
|
+
// dom.parentsHasAttribute(elm, 'data-subblock')
|
69680
69835
|
subblock = true;
|
69681
69836
|
}
|
69682
69837
|
}
|
@@ -69702,7 +69857,7 @@ class Rte {
|
|
69702
69857
|
this.showAlignButtons();
|
69703
69858
|
this.positionToolbar();
|
69704
69859
|
}
|
69705
|
-
} else if (dom.hasClass(elm, 'spacer') || elm.tagName.toLowerCase() === 'video' || dom.hasClass(elm, 'ovl') || col.getAttribute('data-html')) {
|
69860
|
+
} else if (dom.hasClass(elm, 'spacer') || elm.tagName.toLowerCase() === 'video' || dom.hasClass(elm, 'ovl') || col.getAttribute('data-html') && !subblock) {
|
69706
69861
|
//|| col===elm
|
69707
69862
|
if (this.elementRteTool.style.display === 'none' || this.elementRteTool.style.display === '') {
|
69708
69863
|
this.elementRteTool.style.display = 'flex';
|
@@ -73139,6 +73294,7 @@ class Resizeable {
|
|
73139
73294
|
|
73140
73295
|
const onDown = e => {
|
73141
73296
|
calc(e);
|
73297
|
+
if (e.target.closest('.glide__arrows')) return false;
|
73142
73298
|
const isResizing = onRightEdge || onBottomEdge || onTopEdge || onLeftEdge;
|
73143
73299
|
clicked = {
|
73144
73300
|
x: x,
|
@@ -74828,6 +74984,54 @@ class MediaPicker {
|
|
74828
74984
|
|
74829
74985
|
}
|
74830
74986
|
|
74987
|
+
class Responsive {
|
74988
|
+
constructor(builder) {
|
74989
|
+
this.builder = builder;
|
74990
|
+
const util = this.builder.util;
|
74991
|
+
const builderStuff = this.builder.builderStuff;
|
74992
|
+
this.util = util;
|
74993
|
+
this.builderStuff = builderStuff;
|
74994
|
+
const dom = this.builder.dom;
|
74995
|
+
this.dom = dom;
|
74996
|
+
}
|
74997
|
+
|
74998
|
+
getVisibility(elm, target) {
|
74999
|
+
if (target === 'xs') return !elm.classList.contains('xs-hidden');
|
75000
|
+
if (target === 'sm') return !elm.classList.contains('sm-hidden');
|
75001
|
+
if (target === '') return !elm.classList.contains('desktop-hidden');
|
75002
|
+
}
|
75003
|
+
|
75004
|
+
setVisibility(visibility, elm, target) {
|
75005
|
+
if (target === 'xs') {
|
75006
|
+
if (visibility) elm.classList.remove('xs-hidden');else elm.classList.add('xs-hidden');
|
75007
|
+
}
|
75008
|
+
|
75009
|
+
if (target === 'sm') {
|
75010
|
+
if (visibility) elm.classList.remove('sm-hidden');else elm.classList.add('sm-hidden');
|
75011
|
+
}
|
75012
|
+
|
75013
|
+
if (target === '') {
|
75014
|
+
if (visibility) elm.classList.remove('desktop-hidden');else elm.classList.add('desktop-hidden');
|
75015
|
+
}
|
75016
|
+
}
|
75017
|
+
|
75018
|
+
readTarget(area) {
|
75019
|
+
const inp = area.querySelector('.input-device.on');
|
75020
|
+
return inp.getAttribute('data-value');
|
75021
|
+
}
|
75022
|
+
|
75023
|
+
showVisibility(area, visibility) {
|
75024
|
+
if (visibility) {
|
75025
|
+
area.querySelector('.input-visible').classList.add('on');
|
75026
|
+
area.querySelector('.input-hidden').classList.remove('on');
|
75027
|
+
} else {
|
75028
|
+
area.querySelector('.input-visible').classList.remove('on');
|
75029
|
+
area.querySelector('.input-hidden').classList.add('on');
|
75030
|
+
}
|
75031
|
+
}
|
75032
|
+
|
75033
|
+
}
|
75034
|
+
|
74831
75035
|
class ContentBuilder {
|
74832
75036
|
constructor(opts = {}) {
|
74833
75037
|
let defaults = {
|
@@ -75546,11 +75750,15 @@ class ContentBuilder {
|
|
75546
75750
|
|
75547
75751
|
this.win = win;
|
75548
75752
|
this.doc = doc;
|
75753
|
+
this.doc.body.classList.add('data-editor');
|
75549
75754
|
const dom = new Dom(this);
|
75550
75755
|
this.dom = dom;
|
75551
75756
|
const util = new Util(this); // General utilities
|
75552
75757
|
|
75553
|
-
this.util = util;
|
75758
|
+
this.util = util;
|
75759
|
+
const responsive = new Responsive(this); // General utilities
|
75760
|
+
|
75761
|
+
this.responsive = responsive; // Content stuff
|
75554
75762
|
|
75555
75763
|
if (this.iframe) {
|
75556
75764
|
let contentStuff = doc.querySelector('.content-stuff');
|
@@ -75712,7 +75920,8 @@ class ContentBuilder {
|
|
75712
75920
|
k = false;
|
75713
75921
|
let m = false,
|
75714
75922
|
n = false,
|
75715
|
-
o = false
|
75923
|
+
o = false,
|
75924
|
+
p = false;
|
75716
75925
|
let isSpecialElement = false;
|
75717
75926
|
let element = target;
|
75718
75927
|
|
@@ -75720,6 +75929,7 @@ class ContentBuilder {
|
|
75720
75929
|
if (!element.tagName) break;
|
75721
75930
|
if (element.tagName === 'BODY' || element.tagName === 'HTML') break;
|
75722
75931
|
if (this.dom.hasClass(element, 'is-builder')) a = true;
|
75932
|
+
if (this.dom.hasClass(element, 'is-subblock')) p = true;
|
75723
75933
|
if (this.dom.hasClass(element, 'is-modal')) b = true;
|
75724
75934
|
if (this.dom.hasClass(element, 'is-side') || this.dom.hasClass(element, 'is-sidebar')) c = true;
|
75725
75935
|
if (this.dom.hasClass(element, 'is-pop')) d = true;
|
@@ -75786,7 +75996,7 @@ class ContentBuilder {
|
|
75786
75996
|
}
|
75787
75997
|
}
|
75788
75998
|
|
75789
|
-
if (!(a || b || c || d || f || g || h || i || j || o || isSpecialElement) || rowClicked && !i || containerClicked) {
|
75999
|
+
if (!(a || p || b || c || d || f || g || h || i || j || o || isSpecialElement) || rowClicked && !i || containerClicked) {
|
75790
76000
|
// Click anywhere but is not inside builder area, modal, popup, tool or rte, then clear row/column (cell) selection
|
75791
76001
|
if (!this.dom.getSelected()) {
|
75792
76002
|
// if(!document.querySelector('.is-modal.active')) { // Additional (to prevent lost focus)
|
@@ -76508,6 +76718,7 @@ class ContentBuilder {
|
|
76508
76718
|
}
|
76509
76719
|
|
76510
76720
|
destroy() {
|
76721
|
+
this.doc.body.classList.remove('data-editor');
|
76511
76722
|
document.removeEventListener('click', this.doDocumentClick, false);
|
76512
76723
|
document.removeEventListener('keydown', this.doDocumentKeydown, false);
|
76513
76724
|
document.removeEventListener('mousedown', this.doDocumentMousedown, false);
|