@innovastudio/contentbuilder 1.3.11 → 1.3.13
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
|
@@ -813,7 +813,7 @@ button:focus {
|
|
|
813
813
|
font-weight: bold;
|
|
814
814
|
text-transform: uppercase;
|
|
815
815
|
line-height: 2;
|
|
816
|
-
padding:
|
|
816
|
+
padding: 6px 0 1px;
|
|
817
817
|
text-align: center;
|
|
818
818
|
}
|
|
819
819
|
#_cbhtml .is-rte-pop .is-label.separator,
|
|
@@ -923,18 +923,19 @@ button:focus {
|
|
|
923
923
|
}
|
|
924
924
|
#_cbhtml .is-rte-pop.rte-textsetting-options > div,
|
|
925
925
|
.is-ui .is-rte-pop.rte-textsetting-options > div {
|
|
926
|
-
width:
|
|
926
|
+
width: 233px;
|
|
927
927
|
flex-direction: column;
|
|
928
|
-
padding: 1px
|
|
928
|
+
padding: 1px 10px 12px 13px;
|
|
929
929
|
box-sizing: border-box;
|
|
930
930
|
}
|
|
931
931
|
#_cbhtml .is-rte-pop.rte-textsetting-options button,
|
|
932
932
|
.is-ui .is-rte-pop.rte-textsetting-options button {
|
|
933
|
-
width:
|
|
933
|
+
width: 39px;
|
|
934
934
|
height: 28.2px;
|
|
935
935
|
margin: 1px;
|
|
936
936
|
box-shadow: none;
|
|
937
937
|
background: transparent;
|
|
938
|
+
font-size: 12px;
|
|
938
939
|
}
|
|
939
940
|
#_cbhtml .is-rte-pop.rte-textsetting-options button.on,
|
|
940
941
|
.is-ui .is-rte-pop.rte-textsetting-options button.on {
|
|
@@ -957,7 +958,7 @@ button:focus {
|
|
|
957
958
|
height: 0;
|
|
958
959
|
}
|
|
959
960
|
to {
|
|
960
|
-
height:
|
|
961
|
+
height: 372px;
|
|
961
962
|
}
|
|
962
963
|
}
|
|
963
964
|
#_cbhtml .is-rte-pop.rte-textsetting-options.deactive,
|
|
@@ -965,6 +966,53 @@ button:focus {
|
|
|
965
966
|
animation-name: textsetting-slide-in;
|
|
966
967
|
}
|
|
967
968
|
@keyframes textsetting-slide-in {
|
|
969
|
+
from {
|
|
970
|
+
height: 372px;
|
|
971
|
+
}
|
|
972
|
+
to {
|
|
973
|
+
height: 0;
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple > div,
|
|
977
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple > div {
|
|
978
|
+
width: 224px;
|
|
979
|
+
padding: 1px 12px 12px 12px;
|
|
980
|
+
}
|
|
981
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple button,
|
|
982
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple button {
|
|
983
|
+
width: 38px;
|
|
984
|
+
}
|
|
985
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple .label-fontweight,
|
|
986
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple .rte-fontweight-options,
|
|
987
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple .label-fontweight,
|
|
988
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple .rte-fontweight-options {
|
|
989
|
+
display: none !important;
|
|
990
|
+
}
|
|
991
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple .is-label,
|
|
992
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple .is-label {
|
|
993
|
+
padding: 8px 0 2px;
|
|
994
|
+
}
|
|
995
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple .is-label.separator,
|
|
996
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple .is-label.separator {
|
|
997
|
+
margin-top: 5px;
|
|
998
|
+
}
|
|
999
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple.active,
|
|
1000
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple.active {
|
|
1001
|
+
animation-name: textsetting2-slide-out;
|
|
1002
|
+
}
|
|
1003
|
+
#_cbhtml .is-rte-pop.rte-textsetting-options.simple.deactive,
|
|
1004
|
+
.is-ui .is-rte-pop.rte-textsetting-options.simple.deactive {
|
|
1005
|
+
animation-name: textsetting2-slide-in;
|
|
1006
|
+
}
|
|
1007
|
+
@keyframes textsetting2-slide-out {
|
|
1008
|
+
from {
|
|
1009
|
+
height: 0;
|
|
1010
|
+
}
|
|
1011
|
+
to {
|
|
1012
|
+
height: 288px;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
@keyframes textsetting2-slide-in {
|
|
968
1016
|
from {
|
|
969
1017
|
height: 288px;
|
|
970
1018
|
}
|
|
@@ -14567,6 +14567,7 @@ class HtmlUtil {
|
|
|
14567
14567
|
automaticLayout: true,
|
|
14568
14568
|
contextmenu: false,
|
|
14569
14569
|
fontSize: 13,
|
|
14570
|
+
wordWrap: true,
|
|
14570
14571
|
scrollbar: {
|
|
14571
14572
|
useShadows: false,
|
|
14572
14573
|
vertical: 'visible',
|
|
@@ -14639,6 +14640,7 @@ class HtmlUtil {
|
|
|
14639
14640
|
automaticLayout: true,
|
|
14640
14641
|
contextmenu: false,
|
|
14641
14642
|
fontSize: 13,
|
|
14643
|
+
wordWrap: true,
|
|
14642
14644
|
scrollbar: {
|
|
14643
14645
|
useShadows: false,
|
|
14644
14646
|
vertical: 'visible',
|
|
@@ -65868,7 +65870,7 @@ class Rte {
|
|
|
65868
65870
|
<div class="rte-color-picker-area"></div>
|
|
65869
65871
|
</div>
|
|
65870
65872
|
|
|
65871
|
-
<div class="rte-textsetting-options is-rte-pop" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
|
65873
|
+
<div class="rte-textsetting-options ${this.builder.simpleTextSettings ? 'simple' : ''} is-rte-pop" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
|
65872
65874
|
<div>
|
|
65873
65875
|
<div class="is-label">${util.out('Font Size')}</div>
|
|
65874
65876
|
<div class="rte-fontsize-options" style="display: flex;flex-flow: wrap;">
|
|
@@ -65878,6 +65880,19 @@ class Rte {
|
|
|
65878
65880
|
<button title="${util.out('Increase')}" data-value="+" style="font-size:13px">+</button>
|
|
65879
65881
|
<button title="${util.out('Clear')}" data-value=""><svg class="is-icon-flex" style="width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
|
65880
65882
|
</div>
|
|
65883
|
+
<div class="is-label separator label-fontweight">${util.out('Font Weight')}</div>
|
|
65884
|
+
<div class="rte-fontweight-options" style="display: flex;flex-flow: wrap;">
|
|
65885
|
+
<button title="100" data-value="100">100</button>
|
|
65886
|
+
<button title="200" data-value="200">200</button>
|
|
65887
|
+
<button title="300" data-value="300">300</button>
|
|
65888
|
+
<button title="400" data-value="400">400</button>
|
|
65889
|
+
<button title="500" data-value="500">500</button>
|
|
65890
|
+
<button title="600" data-value="600">600</button>
|
|
65891
|
+
<button title="700" data-value="700">700</button>
|
|
65892
|
+
<button title="800" data-value="800">800</button>
|
|
65893
|
+
<button title="900" data-value="900">900</button>
|
|
65894
|
+
<button title="${util.out('Clear')}" data-value=""><svg class="is-icon-flex" style="width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
|
65895
|
+
</div>
|
|
65881
65896
|
<div class="is-label separator">${util.out('Line Spacing')}</div>
|
|
65882
65897
|
<div class="rte-lineheight-options" style="display: flex;flex-flow: wrap;">
|
|
65883
65898
|
<button title="1" data-value="1">1</button>
|
|
@@ -66930,8 +66945,12 @@ class Rte {
|
|
|
66930
66945
|
let col = this.builder.activeCol;
|
|
66931
66946
|
let tool = this.builder.doc.querySelector('.is-column-tool');
|
|
66932
66947
|
tool.style.display = '';
|
|
66933
|
-
|
|
66934
|
-
|
|
66948
|
+
|
|
66949
|
+
if (col) {
|
|
66950
|
+
tool.style.top = col.getBoundingClientRect().top - 29 + window.pageYOffset + 'px';
|
|
66951
|
+
tool.style.left = col.getBoundingClientRect().left - 1 + 'px';
|
|
66952
|
+
}
|
|
66953
|
+
|
|
66935
66954
|
let tools = this.builder.doc.querySelectorAll('.is-row-tool');
|
|
66936
66955
|
tools.forEach(tool => {
|
|
66937
66956
|
tool.style.display = '';
|
|
@@ -67008,8 +67027,12 @@ class Rte {
|
|
|
67008
67027
|
let col = this.builder.activeCol;
|
|
67009
67028
|
let tool = this.builder.doc.querySelector('.is-column-tool');
|
|
67010
67029
|
tool.style.display = '';
|
|
67011
|
-
|
|
67012
|
-
|
|
67030
|
+
|
|
67031
|
+
if (col) {
|
|
67032
|
+
tool.style.top = col.getBoundingClientRect().top - 29 + window.pageYOffset + 'px';
|
|
67033
|
+
tool.style.left = col.getBoundingClientRect().left - 1 + 'px';
|
|
67034
|
+
}
|
|
67035
|
+
|
|
67013
67036
|
let tools = this.builder.doc.querySelectorAll('.is-row-tool');
|
|
67014
67037
|
tools.forEach(tool => {
|
|
67015
67038
|
tool.style.display = '';
|
|
@@ -67048,82 +67071,7 @@ class Rte {
|
|
|
67048
67071
|
const h = pop.offsetHeight;
|
|
67049
67072
|
|
|
67050
67073
|
if (!dom.hasClass(pop, 'active')) {
|
|
67051
|
-
|
|
67052
|
-
const elm = this.builder.activeElement;
|
|
67053
|
-
let btns = pop.querySelectorAll('.rte-fontsize-options button');
|
|
67054
|
-
Array.prototype.forEach.call(btns, btn => {
|
|
67055
|
-
btn.classList.remove('on'); // clear selection
|
|
67056
|
-
});
|
|
67057
|
-
const arrSizes = this.builder.opts.fontSizeClassValues;
|
|
67058
|
-
|
|
67059
|
-
for (var i = 0; i <= arrSizes.length - 1; i++) {
|
|
67060
|
-
if (dom.hasClass(elm, 'size-' + arrSizes[i])) {
|
|
67061
|
-
// Get current class
|
|
67062
|
-
const btns = pop.querySelectorAll('.rte-fontsize-options button');
|
|
67063
|
-
Array.prototype.forEach.call(btns, btn => {
|
|
67064
|
-
let num = btn.getAttribute('data-value');
|
|
67065
|
-
|
|
67066
|
-
if (parseInt(num) === arrSizes[i]) {
|
|
67067
|
-
btn.classList.add('on');
|
|
67068
|
-
}
|
|
67069
|
-
});
|
|
67070
|
-
}
|
|
67071
|
-
}
|
|
67072
|
-
|
|
67073
|
-
btns = pop.querySelectorAll('.rte-lineheight-options button');
|
|
67074
|
-
Array.prototype.forEach.call(btns, btn => {
|
|
67075
|
-
btn.classList.remove('on'); // clear selection
|
|
67076
|
-
});
|
|
67077
|
-
let classes = this.builder.cssClasses.leading;
|
|
67078
|
-
|
|
67079
|
-
for (let i = 0; i < Object.keys(classes).length; i++) {
|
|
67080
|
-
let className = Object.values(classes)[i];
|
|
67081
|
-
|
|
67082
|
-
if (dom.hasClass(elm, className)) {
|
|
67083
|
-
const btns = pop.querySelectorAll('.rte-lineheight-options button');
|
|
67084
|
-
Array.prototype.forEach.call(btns, btn => {
|
|
67085
|
-
let num = btn.getAttribute('data-value');
|
|
67086
|
-
let val;
|
|
67087
|
-
if (className === classes.leading_10) val = '1';
|
|
67088
|
-
if (className === classes.leading_12) val = '1.2';
|
|
67089
|
-
if (className === classes.leading_14) val = '1.4';
|
|
67090
|
-
if (className === classes.leading_16) val = '1.6';
|
|
67091
|
-
if (className === classes.leading_18) val = '1.8';
|
|
67092
|
-
if (className === classes.leading_20) val = '2';
|
|
67093
|
-
if (className === classes.leading_22) val = '2.2';
|
|
67094
|
-
|
|
67095
|
-
if (num === val) {
|
|
67096
|
-
btn.classList.add('on');
|
|
67097
|
-
}
|
|
67098
|
-
});
|
|
67099
|
-
}
|
|
67100
|
-
}
|
|
67101
|
-
|
|
67102
|
-
btns = pop.querySelectorAll('.rte-letterspacing-options button');
|
|
67103
|
-
Array.prototype.forEach.call(btns, btn => {
|
|
67104
|
-
btn.classList.remove('on'); // clear selection
|
|
67105
|
-
});
|
|
67106
|
-
classes = this.builder.cssClasses.tracking;
|
|
67107
|
-
|
|
67108
|
-
for (let i = 0; i < Object.keys(classes).length; i++) {
|
|
67109
|
-
let className = Object.values(classes)[i];
|
|
67110
|
-
|
|
67111
|
-
if (dom.hasClass(elm, className)) {
|
|
67112
|
-
const btns = pop.querySelectorAll('.rte-letterspacing-options button');
|
|
67113
|
-
Array.prototype.forEach.call(btns, btn => {
|
|
67114
|
-
let num = btn.getAttribute('data-value');
|
|
67115
|
-
let val;
|
|
67116
|
-
if (className === classes.tracking_025) val = '1';
|
|
67117
|
-
if (className === classes.tracking_050) val = '2';
|
|
67118
|
-
|
|
67119
|
-
if (num === val) {
|
|
67120
|
-
btn.classList.add('on');
|
|
67121
|
-
}
|
|
67122
|
-
});
|
|
67123
|
-
}
|
|
67124
|
-
} // /Get realtime status
|
|
67125
|
-
|
|
67126
|
-
|
|
67074
|
+
this.getTextSettingsState();
|
|
67127
67075
|
this.util.showRtePop(pop, () => {
|
|
67128
67076
|
if (this.builder.opts.toolbar === 'left') {
|
|
67129
67077
|
pop.style.top = top - h / 2 + 20 + 'px';
|
|
@@ -67922,15 +67870,47 @@ class Rte {
|
|
|
67922
67870
|
}
|
|
67923
67871
|
}); //save selection
|
|
67924
67872
|
|
|
67925
|
-
util.saveSelection();
|
|
67926
|
-
|
|
67873
|
+
util.saveSelection(); // this.getState();
|
|
67874
|
+
|
|
67875
|
+
this.getTextSettingsState(); //Trigger Change event
|
|
67927
67876
|
|
|
67928
67877
|
this.builder.opts.onChange(); // if(this.builder.isTouchSupport) { //prevent keyboard open
|
|
67929
67878
|
// const btnFocus = this.rteTool.querySelector('button');
|
|
67930
67879
|
// btnFocus.focus();
|
|
67931
67880
|
// }
|
|
67881
|
+
// btn.focus();
|
|
67882
|
+
});
|
|
67883
|
+
}); // Font Weight (new execCommand)
|
|
67932
67884
|
|
|
67933
|
-
|
|
67885
|
+
btns = rteTextSettingOptions.querySelectorAll('.rte-fontweight-options button');
|
|
67886
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
67887
|
+
dom.addEventListener(btn, 'click', () => {
|
|
67888
|
+
// old 9135
|
|
67889
|
+
let num = btn.getAttribute('data-value');
|
|
67890
|
+
util.restoreSelection(); //a must
|
|
67891
|
+
|
|
67892
|
+
this.builder.uo.saveForUndo();
|
|
67893
|
+
const btns = rteTextSettingOptions.querySelectorAll('.rte-fontweight-options button');
|
|
67894
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
67895
|
+
btn.classList.remove('on'); // clear selection
|
|
67896
|
+
});
|
|
67897
|
+
dom.execCommand('font-weight', num, (ok, container) => {
|
|
67898
|
+
if (this.builder.useCssClasses) {
|
|
67899
|
+
if (container) {
|
|
67900
|
+
this.applyClassFontWeight(container, num);
|
|
67901
|
+
}
|
|
67902
|
+
}
|
|
67903
|
+
}); //save selection
|
|
67904
|
+
|
|
67905
|
+
util.saveSelection();
|
|
67906
|
+
this.getState();
|
|
67907
|
+
this.getTextSettingsState(); //Trigger Change event
|
|
67908
|
+
|
|
67909
|
+
this.builder.opts.onChange(); // if(this.builder.isTouchSupport) { //prevent keyboard open
|
|
67910
|
+
// const btnFocus = this.rteTool.querySelector('button');
|
|
67911
|
+
// btnFocus.focus();
|
|
67912
|
+
// }
|
|
67913
|
+
// btn.focus();
|
|
67934
67914
|
});
|
|
67935
67915
|
}); // Line Height
|
|
67936
67916
|
|
|
@@ -68006,6 +67986,9 @@ class Rte {
|
|
|
68006
67986
|
}
|
|
68007
67987
|
}
|
|
68008
67988
|
|
|
67989
|
+
const elm = dom.getParentBlock(container);
|
|
67990
|
+
if (elm) elm.style.lineHeight = ''; // Clean inline style
|
|
67991
|
+
|
|
68009
67992
|
dom.execCommandClass(newClassName, classes, true, 'block');
|
|
68010
67993
|
} else {
|
|
68011
67994
|
let elm;
|
|
@@ -68107,15 +68090,15 @@ class Rte {
|
|
|
68107
68090
|
} //save selection
|
|
68108
68091
|
|
|
68109
68092
|
|
|
68110
|
-
util.saveSelection();
|
|
68111
|
-
|
|
68093
|
+
util.saveSelection(); // this.getState();
|
|
68094
|
+
|
|
68095
|
+
this.getTextSettingsState(); //Trigger Change event
|
|
68112
68096
|
|
|
68113
68097
|
this.builder.opts.onChange(); // if(this.builder.isTouchSupport) { //prevent keyboard open
|
|
68114
68098
|
// const btnFocus = this.rteTool.querySelector('button');
|
|
68115
68099
|
// btnFocus.focus();
|
|
68116
68100
|
// }
|
|
68117
|
-
|
|
68118
|
-
btn.focus();
|
|
68101
|
+
// btn.focus();
|
|
68119
68102
|
});
|
|
68120
68103
|
}); // Letter Spacing
|
|
68121
68104
|
|
|
@@ -68184,6 +68167,8 @@ class Rte {
|
|
|
68184
68167
|
}
|
|
68185
68168
|
|
|
68186
68169
|
if (this.builder.activeElement) this.builder.activeElement.style.letterSpacing = '';
|
|
68170
|
+
container.style.letterSpacing = ''; // Clean inline style
|
|
68171
|
+
|
|
68187
68172
|
if (newClassName === classes.tracking_000) newClassName = ''; // clear for normal tracking
|
|
68188
68173
|
|
|
68189
68174
|
dom.execCommandClass(newClassName, classes);
|
|
@@ -68243,15 +68228,15 @@ class Rte {
|
|
|
68243
68228
|
} //save selection
|
|
68244
68229
|
|
|
68245
68230
|
|
|
68246
|
-
util.saveSelection();
|
|
68247
|
-
|
|
68231
|
+
util.saveSelection(); // this.getState();
|
|
68232
|
+
|
|
68233
|
+
this.getTextSettingsState(); //Trigger Change event
|
|
68248
68234
|
|
|
68249
68235
|
this.builder.opts.onChange(); // if(this.builder.isTouchSupport) { //prevent keyboard open
|
|
68250
68236
|
// const btnFocus = this.rteTool.querySelector('button');
|
|
68251
68237
|
// btnFocus.focus();
|
|
68252
68238
|
// }
|
|
68253
|
-
|
|
68254
|
-
btn.focus();
|
|
68239
|
+
// btn.focus();
|
|
68255
68240
|
});
|
|
68256
68241
|
}); // -----------------------------
|
|
68257
68242
|
// Click anywhere will hide Column tool
|
|
@@ -68682,6 +68667,45 @@ class Rte {
|
|
|
68682
68667
|
dom.cleanClassSize(elm, classname); // dom.cleanUnusedSpan(elm); // will remove empty spans that makes selection changes
|
|
68683
68668
|
}
|
|
68684
68669
|
|
|
68670
|
+
applyClassFontWeight(elm, num) {
|
|
68671
|
+
const dom = this.dom;
|
|
68672
|
+
let classes = this.builder.cssClasses.fontWeight;
|
|
68673
|
+
|
|
68674
|
+
for (let i = 0; i < Object.keys(classes).length; i++) {
|
|
68675
|
+
let className = Object.values(classes)[i];
|
|
68676
|
+
|
|
68677
|
+
if (dom.hasClass(elm, className)) {
|
|
68678
|
+
dom.removeClass(elm, className);
|
|
68679
|
+
}
|
|
68680
|
+
|
|
68681
|
+
dom.doFunction(elm, theEl => {
|
|
68682
|
+
if (dom.hasClass(theEl, className)) {
|
|
68683
|
+
dom.removeClass(theEl, className);
|
|
68684
|
+
}
|
|
68685
|
+
}, true);
|
|
68686
|
+
}
|
|
68687
|
+
|
|
68688
|
+
let classname = '';
|
|
68689
|
+
if (num === '100') classname = this.builder.cssClasses.fontWeight.thin;
|
|
68690
|
+
if (num === '200') classname = this.builder.cssClasses.fontWeight.extralight;
|
|
68691
|
+
if (num === '300') classname = this.builder.cssClasses.fontWeight.light;
|
|
68692
|
+
if (num === '400') classname = this.builder.cssClasses.fontWeight.normal;
|
|
68693
|
+
if (num === '500') classname = this.builder.cssClasses.fontWeight.medium;
|
|
68694
|
+
if (num === '600') classname = this.builder.cssClasses.fontWeight.semibold;
|
|
68695
|
+
if (num === '700') classname = this.builder.cssClasses.fontWeight.bold;
|
|
68696
|
+
if (num === '800') classname = this.builder.cssClasses.fontWeight.extrabold;
|
|
68697
|
+
if (num === '900') classname = this.builder.cssClasses.fontWeight.black;
|
|
68698
|
+
|
|
68699
|
+
if (classname === '') ; else {
|
|
68700
|
+
dom.addClass(elm, classname);
|
|
68701
|
+
}
|
|
68702
|
+
|
|
68703
|
+
dom.doFunction(elm, function (theEl) {
|
|
68704
|
+
theEl.style.fontWeight = '';
|
|
68705
|
+
}, true);
|
|
68706
|
+
dom.cleanClassSize(elm, classname); // dom.cleanUnusedSpan(elm); // will remove empty spans that makes selection changes
|
|
68707
|
+
}
|
|
68708
|
+
|
|
68685
68709
|
click(col) {
|
|
68686
68710
|
const dom = this.dom;
|
|
68687
68711
|
let elm = this.builder.inspectedElement;
|
|
@@ -68933,6 +68957,138 @@ class Rte {
|
|
|
68933
68957
|
}
|
|
68934
68958
|
}
|
|
68935
68959
|
|
|
68960
|
+
getTextSettingsState() {
|
|
68961
|
+
const dom = this.dom;
|
|
68962
|
+
const pop = this.rteTextSettingOptions; // Get realtime status
|
|
68963
|
+
|
|
68964
|
+
const selection = dom.getSelection();
|
|
68965
|
+
if (!selection) return;
|
|
68966
|
+
const anchorNode = selection.anchorNode;
|
|
68967
|
+
let container;
|
|
68968
|
+
|
|
68969
|
+
if (anchorNode) {
|
|
68970
|
+
container = anchorNode.nodeType !== Node.TEXT_NODE && anchorNode.nodeType !== Node.COMMENT_NODE ? anchorNode : anchorNode.parentElement;
|
|
68971
|
+
}
|
|
68972
|
+
|
|
68973
|
+
let btns = pop.querySelectorAll('.rte-fontsize-options button');
|
|
68974
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
68975
|
+
btn.classList.remove('on'); // clear selection
|
|
68976
|
+
});
|
|
68977
|
+
|
|
68978
|
+
if (container) {
|
|
68979
|
+
const arrSizes = this.builder.opts.fontSizeClassValues;
|
|
68980
|
+
|
|
68981
|
+
for (let i = 0; i <= arrSizes.length - 1; i++) {
|
|
68982
|
+
if (dom.hasClass(container, 'size-' + arrSizes[i])) {
|
|
68983
|
+
// Get current class
|
|
68984
|
+
const btns = pop.querySelectorAll('.rte-fontsize-options button');
|
|
68985
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
68986
|
+
let num = btn.getAttribute('data-value');
|
|
68987
|
+
|
|
68988
|
+
if (parseInt(num) === arrSizes[i]) {
|
|
68989
|
+
btn.classList.add('on');
|
|
68990
|
+
}
|
|
68991
|
+
});
|
|
68992
|
+
}
|
|
68993
|
+
}
|
|
68994
|
+
}
|
|
68995
|
+
|
|
68996
|
+
btns = pop.querySelectorAll('.rte-fontweight-options button');
|
|
68997
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
68998
|
+
btn.classList.remove('on'); // clear selection
|
|
68999
|
+
});
|
|
69000
|
+
|
|
69001
|
+
if (container) {
|
|
69002
|
+
let classes = this.builder.cssClasses.fontWeight;
|
|
69003
|
+
|
|
69004
|
+
for (let i = 0; i < Object.keys(classes).length; i++) {
|
|
69005
|
+
let className = Object.values(classes)[i];
|
|
69006
|
+
|
|
69007
|
+
if (dom.hasClass(container, className)) {
|
|
69008
|
+
const btns = pop.querySelectorAll('.rte-fontweight-options button');
|
|
69009
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
69010
|
+
let num = btn.getAttribute('data-value');
|
|
69011
|
+
let val;
|
|
69012
|
+
if (className === classes.thin) val = '100';
|
|
69013
|
+
if (className === classes.extralight) val = '200';
|
|
69014
|
+
if (className === classes.light) val = '300';
|
|
69015
|
+
if (className === classes.normal) val = '400';
|
|
69016
|
+
if (className === classes.medium) val = '500';
|
|
69017
|
+
if (className === classes.semibold) val = '600';
|
|
69018
|
+
if (className === classes.bold) val = '700';
|
|
69019
|
+
if (className === classes.extrabold) val = '800';
|
|
69020
|
+
if (className === classes.black) val = '900';
|
|
69021
|
+
|
|
69022
|
+
if (num === val) {
|
|
69023
|
+
btn.classList.add('on');
|
|
69024
|
+
}
|
|
69025
|
+
});
|
|
69026
|
+
}
|
|
69027
|
+
}
|
|
69028
|
+
}
|
|
69029
|
+
|
|
69030
|
+
btns = pop.querySelectorAll('.rte-lineheight-options button');
|
|
69031
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
69032
|
+
btn.classList.remove('on'); // clear selection
|
|
69033
|
+
});
|
|
69034
|
+
const block = dom.getParentBlock(container);
|
|
69035
|
+
|
|
69036
|
+
if (block) {
|
|
69037
|
+
let classes = this.builder.cssClasses.leading;
|
|
69038
|
+
|
|
69039
|
+
for (let i = 0; i < Object.keys(classes).length; i++) {
|
|
69040
|
+
let className = Object.values(classes)[i];
|
|
69041
|
+
|
|
69042
|
+
if (dom.hasClass(block, className)) {
|
|
69043
|
+
const btns = pop.querySelectorAll('.rte-lineheight-options button');
|
|
69044
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
69045
|
+
let num = btn.getAttribute('data-value');
|
|
69046
|
+
let val;
|
|
69047
|
+
if (className === classes.leading_10) val = '1';
|
|
69048
|
+
if (className === classes.leading_12) val = '1.2';
|
|
69049
|
+
if (className === classes.leading_14) val = '1.4';
|
|
69050
|
+
if (className === classes.leading_16) val = '1.6';
|
|
69051
|
+
if (className === classes.leading_18) val = '1.8';
|
|
69052
|
+
if (className === classes.leading_20) val = '2';
|
|
69053
|
+
if (className === classes.leading_22) val = '2.2';
|
|
69054
|
+
|
|
69055
|
+
if (num === val) {
|
|
69056
|
+
btn.classList.add('on');
|
|
69057
|
+
}
|
|
69058
|
+
});
|
|
69059
|
+
}
|
|
69060
|
+
}
|
|
69061
|
+
}
|
|
69062
|
+
|
|
69063
|
+
btns = pop.querySelectorAll('.rte-letterspacing-options button');
|
|
69064
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
69065
|
+
btn.classList.remove('on'); // clear selection
|
|
69066
|
+
});
|
|
69067
|
+
|
|
69068
|
+
if (container) {
|
|
69069
|
+
let classes = this.builder.cssClasses.tracking;
|
|
69070
|
+
|
|
69071
|
+
for (let i = 0; i < Object.keys(classes).length; i++) {
|
|
69072
|
+
let className = Object.values(classes)[i];
|
|
69073
|
+
|
|
69074
|
+
if (dom.hasClass(container, className)) {
|
|
69075
|
+
const btns = pop.querySelectorAll('.rte-letterspacing-options button');
|
|
69076
|
+
Array.prototype.forEach.call(btns, btn => {
|
|
69077
|
+
let num = btn.getAttribute('data-value');
|
|
69078
|
+
let val;
|
|
69079
|
+
if (className === classes.tracking_025) val = '1';
|
|
69080
|
+
if (className === classes.tracking_050) val = '2';
|
|
69081
|
+
|
|
69082
|
+
if (num === val) {
|
|
69083
|
+
btn.classList.add('on');
|
|
69084
|
+
}
|
|
69085
|
+
});
|
|
69086
|
+
}
|
|
69087
|
+
}
|
|
69088
|
+
} // /Get realtime status
|
|
69089
|
+
|
|
69090
|
+
}
|
|
69091
|
+
|
|
68936
69092
|
getIconsStyle() {
|
|
68937
69093
|
let css = `
|
|
68938
69094
|
html, body {height:100%}
|
|
@@ -73815,7 +73971,8 @@ class ContentBuilder {
|
|
|
73815
73971
|
},
|
|
73816
73972
|
useCssClasses: true,
|
|
73817
73973
|
useButtonPlugin: false,
|
|
73818
|
-
enableDragResize: true
|
|
73974
|
+
enableDragResize: true,
|
|
73975
|
+
simpleTextSettings: true
|
|
73819
73976
|
}; // obj.preserveSelection = true; (can be set programmatically) to prevent click that clears selection on external custom modal.
|
|
73820
73977
|
|
|
73821
73978
|
this.opts = Object.assign(this, defaults, opts);
|