@innovastudio/contentbuilder 1.3.79 → 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 +14 -2
- package/public/contentbuilder/contentbuilder.esm.js +250 -39
- 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;
|
@@ -2921,7 +2933,7 @@ button:focus-visible {
|
|
2921
2933
|
#_cbhtml .is-modal.viewconfig button.input-setcolor,
|
2922
2934
|
.is-ui .is-modal.viewconfig button.input-setcolor {
|
2923
2935
|
width: 27px;
|
2924
|
-
height:
|
2936
|
+
height: 21px;
|
2925
2937
|
border: transparent 2px solid;
|
2926
2938
|
border-radius: 0px;
|
2927
2939
|
}
|
@@ -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
|
}
|
@@ -65305,7 +65459,7 @@ class Preferences {
|
|
65305
65459
|
|
65306
65460
|
<div style="display:flex;flex-wrap:wrap;width:100%;padding-top:32px;">
|
65307
65461
|
<div style="width:50%">
|
65308
|
-
<label id="divBuilderMode" style="display:block;margin-top:
|
65462
|
+
<label id="divBuilderMode" style="display:block;margin-top:10px;margin-bottom:5px;">
|
65309
65463
|
${util.out('Builder Mode')}:
|
65310
65464
|
<select class="select-buildermode">
|
65311
65465
|
<option value="">${util.out('Default')}</option>
|
@@ -65314,7 +65468,7 @@ class Preferences {
|
|
65314
65468
|
</select>
|
65315
65469
|
</label>
|
65316
65470
|
|
65317
|
-
<label id="divOutlineMode" style="display:block;margin-top:
|
65471
|
+
<label id="divOutlineMode" style="display:block;margin-top:10px;margin-bottom:5px;">
|
65318
65472
|
${util.out('Outline Mode')}:
|
65319
65473
|
<select class="select-outlinemode">
|
65320
65474
|
<option value="">${util.out('Row & column')}</option>
|
@@ -65322,7 +65476,7 @@ class Preferences {
|
|
65322
65476
|
</select>
|
65323
65477
|
</label>
|
65324
65478
|
|
65325
|
-
<label style="display:block;margin-top:
|
65479
|
+
<label style="display:block;margin-top:10px;margin-bottom:5px;">
|
65326
65480
|
${util.out('Outline Style')}:
|
65327
65481
|
<select class="select-outlinestyle">
|
65328
65482
|
<option value="">${util.out('Colored')}</option>
|
@@ -65330,27 +65484,27 @@ class Preferences {
|
|
65330
65484
|
</select>
|
65331
65485
|
</label>
|
65332
65486
|
|
65333
|
-
<label style="display:block;margin-top:
|
65487
|
+
<label style="display:block;margin-top:10px;margin-bottom:10px;">
|
65334
65488
|
<input class="input-hiderowcoloutline" type="checkbox" /> ${util.out('Hide Outline')}
|
65335
65489
|
</label>
|
65336
65490
|
|
65337
|
-
<label id="divHideCellTool" style="display:block;margin-top:
|
65491
|
+
<label id="divHideCellTool" style="display:block;margin-top:10px;margin-bottom:10px;">
|
65338
65492
|
<input class="input-hidecelltool" type="checkbox" /> ${util.out('Hide Column Tool')}
|
65339
65493
|
</label>
|
65340
65494
|
|
65341
65495
|
|
65342
|
-
<label style="display:block;margin-top:
|
65496
|
+
<label style="display:block;margin-top:10px;margin-bottom:10px;">
|
65343
65497
|
<input class="input-hidesnippetaddtool" type="checkbox" /> ${util.out('Hide Snippet (+) Tool')}
|
65344
65498
|
</label>
|
65345
65499
|
|
65346
|
-
<label style="display:block;margin-top:
|
65500
|
+
<label style="display:block;margin-top:10px;margin-bottom:10px;">
|
65347
65501
|
<input class="input-hideelementtool" type="checkbox" /> ${util.out('Hide element tool')}
|
65348
65502
|
</label>
|
65349
65503
|
|
65350
|
-
<label style="display:block;margin-top:
|
65504
|
+
<label style="display:block;margin-top:10px;margin-bottom:10px;">
|
65351
65505
|
<input class="input-hideelementhighlight" type="checkbox" /> ${util.out('Hide element highlight')}
|
65352
65506
|
</label>
|
65353
|
-
<label style="display:block;margin-top:
|
65507
|
+
<label style="display:block;margin-top:10px;margin-bottom:5px;">
|
65354
65508
|
${util.out('Row Tool Position')}:
|
65355
65509
|
<select class="select-rowtool">
|
65356
65510
|
<option value="right">${util.out('Right')}</option>
|
@@ -65358,7 +65512,7 @@ class Preferences {
|
|
65358
65512
|
</select>
|
65359
65513
|
</label>
|
65360
65514
|
|
65361
|
-
<label style="display:block;margin-top:
|
65515
|
+
<label style="display:block;margin-top:10px;margin-bottom:5px;">
|
65362
65516
|
${util.out('Tool Style')}:
|
65363
65517
|
<select class="select-toolstyle">
|
65364
65518
|
<option value="">${util.out('Colored')}</option>
|
@@ -65369,11 +65523,11 @@ class Preferences {
|
|
65369
65523
|
</div>
|
65370
65524
|
<div style="width:50%">
|
65371
65525
|
|
65372
|
-
<label class="option-opensnippets" style="display:block;margin-top:
|
65526
|
+
<label class="option-opensnippets" style="display:block;margin-top:10px;margin-bottom:10px;">
|
65373
65527
|
<input class="input-opensnippets" type="checkbox" /> ${util.out('Open snippets sidebar on start')}
|
65374
65528
|
</label>
|
65375
65529
|
|
65376
|
-
<label style="display:${builder.opts.snippetList === '#divSnippetList' ? 'block' : 'none'};margin-top:
|
65530
|
+
<label style="display:${builder.opts.snippetList === '#divSnippetList' ? 'block' : 'none'};margin-top:10px;margin-bottom:5px;">
|
65377
65531
|
${util.out('Snippets sidebar visibility')}:
|
65378
65532
|
<select class="select-snippetssidebardisplay">
|
65379
65533
|
<option value="auto">${util.out('Auto')}</option>
|
@@ -65381,7 +65535,7 @@ class Preferences {
|
|
65381
65535
|
</select>
|
65382
65536
|
</label>
|
65383
65537
|
|
65384
|
-
<label style="margin-top:
|
65538
|
+
<label style="display:block;margin-top:10px;margin-bottom:5px;">
|
65385
65539
|
${util.out('Toolbar visibility')}:
|
65386
65540
|
<select class="select-editingtoolbardisplay">
|
65387
65541
|
<option value="auto">${util.out('Auto')}</option>
|
@@ -65389,7 +65543,7 @@ class Preferences {
|
|
65389
65543
|
</select>
|
65390
65544
|
</label>
|
65391
65545
|
|
65392
|
-
<label style="${this.builder.isTouchSupport ? 'display:none;' : 'display:block;'}margin-top:
|
65546
|
+
<label style="${this.builder.isTouchSupport ? 'display:none;' : 'display:block;'}margin-top:10px;margin-bottom:5px;">
|
65393
65547
|
${util.out('Toolbar position')}:
|
65394
65548
|
<select class="select-editingtoolbar">
|
65395
65549
|
<option value="topfull">${util.out('Top (Full Width)')}</option>
|
@@ -65399,7 +65553,7 @@ class Preferences {
|
|
65399
65553
|
</select>
|
65400
65554
|
</label>
|
65401
65555
|
|
65402
|
-
<label style="display:block;margin-top:
|
65556
|
+
<label style="display:block;margin-top:10px;margin-bottom:5px;">
|
65403
65557
|
${util.out('Paste result')}:
|
65404
65558
|
<select class="select-pasteresult">
|
65405
65559
|
<option value="html-without-styles">${util.out('HTML (without styles)')}</option>
|
@@ -65408,7 +65562,7 @@ class Preferences {
|
|
65408
65562
|
</select>
|
65409
65563
|
</label>
|
65410
65564
|
|
65411
|
-
<label style="display:block;margin-top:
|
65565
|
+
<label style="display:block;margin-top:10px;margin-bottom:5px;">
|
65412
65566
|
${util.out('HTML View')}:
|
65413
65567
|
<select class="select-htmlview">
|
65414
65568
|
<option value="shorten">${util.out('Shorten HTML')}</option>
|
@@ -65417,7 +65571,7 @@ class Preferences {
|
|
65417
65571
|
</label>
|
65418
65572
|
|
65419
65573
|
${this.builder.themes ? `
|
65420
|
-
<label style="${this.builder.isTouchSupport ? 'display:none;' : 'display:block;'}margin-top:
|
65574
|
+
<label style="${this.builder.isTouchSupport ? 'display:none;' : 'display:block;'}margin-top:10px;margin-bottom:5px;">
|
65421
65575
|
${util.out('Theme')}:
|
65422
65576
|
</label>
|
65423
65577
|
${htmlThemes}
|
@@ -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);
|