@innovastudio/contentbox 1.1.6 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbox",
3
- "version": "1.1.6",
3
+ "version": "1.1.9",
4
4
  "description": "",
5
5
  "main": "public/contentbox/contentbox.esm.js",
6
6
  "files": [
@@ -38,7 +38,7 @@
38
38
  "webpack-dev-server": "^4.0.0"
39
39
  },
40
40
  "dependencies": {
41
- "@innovastudio/contentbuilder": "^1.0.84",
41
+ "@innovastudio/contentbuilder": "^1.0.86",
42
42
  "axios": "^0.21.4",
43
43
  "cors": "^2.8.5",
44
44
  "express": "^4.17.1",
@@ -1667,6 +1667,21 @@ class SideBar {
1667
1667
  var googleFonts = result[0].googleFonts;
1668
1668
  var contentCss = result[0].contentCss;
1669
1669
  var contentClass = result[0].contentClass;
1670
+
1671
+ //To Tailwind
1672
+ if (framework == 'tailwind') {
1673
+ html = html.replace(new RegExp(' container', 'g'), ' container');
1674
+ html = html.replace(new RegExp('row clearfix', 'g'), 'flex flex-col md:flex-row');
1675
+ html = html.replace(new RegExp('column full', 'g'), 'w-full px-4');
1676
+ html = html.replace(new RegExp('column half', 'g'), 'w-full md:w-6/12 px-4');
1677
+ html = html.replace(new RegExp('column third', 'g'), 'w-full md:w-4/12 px-4');
1678
+ html = html.replace(new RegExp('column fourth', 'g'), 'w-full md:w-3/12 px-4');
1679
+ html = html.replace(new RegExp('column fifth', 'g'), 'w-full md:w-2/12 px-4'); //not needed
1680
+ html = html.replace(new RegExp('column sixth', 'g'), 'w-full md:w-2/12 px-4');
1681
+ html = html.replace(new RegExp('column two-third', 'g'), 'w-full md:w-8/12 px-4');
1682
+ html = html.replace(new RegExp('column two-fourth', 'g'), 'w-full md:w-9/12 px-4');
1683
+ html = html.replace(new RegExp('column two-sixth', 'g'), 'w-full md:w-10/12 px-4');
1684
+ }
1670
1685
 
1671
1686
  //To Bootstrap
1672
1687
  if (framework == 'bootstrap') {
@@ -23642,59 +23657,59 @@ class HtmlUtil {
23642
23657
 
23643
23658
  if (this.builder.cleanHtmlFormatting) {
23644
23659
  // this cleanHtmlFormatting flag only use for output, not during editing
23645
- if (this.builder.useConfig) {
23660
+ if (this.builder.useCssClasses) {
23646
23661
  // Clean all uneeded normal classes
23647
- let elmNormals = content.querySelectorAll(`.${this.builder.config.fontWeight.defaultNormal}`);
23662
+ let elmNormals = content.querySelectorAll(`.${this.builder.cssClasses.fontWeight.defaultNormal}`);
23648
23663
  Array.prototype.forEach.call(elmNormals, elm => {
23649
23664
  let decor = false;
23650
23665
 
23651
- if (elm.closest(`.${this.builder.config.fontWeight.defaultBold}`)) {
23666
+ if (elm.closest(`.${this.builder.cssClasses.fontWeight.defaultBold}`)) {
23652
23667
  decor = true;
23653
23668
  }
23654
23669
 
23655
23670
  if (!decor) {
23656
- dom$F.removeClass(elm, this.builder.config.fontWeight.defaultNormal);
23671
+ dom$F.removeClass(elm, this.builder.cssClasses.fontWeight.defaultNormal);
23657
23672
  }
23658
23673
  });
23659
- elmNormals = content.querySelectorAll(`.${this.builder.config.fontStyle.normal}`);
23674
+ elmNormals = content.querySelectorAll(`.${this.builder.cssClasses.fontStyle.normal}`);
23660
23675
  Array.prototype.forEach.call(elmNormals, elm => {
23661
23676
  let decor = false;
23662
23677
 
23663
- if (elm.closest(`.${this.builder.config.fontStyle.italic}`)) {
23678
+ if (elm.closest(`.${this.builder.cssClasses.fontStyle.italic}`)) {
23664
23679
  decor = true;
23665
23680
  }
23666
23681
 
23667
23682
  if (!decor) {
23668
- dom$F.removeClass(elm, this.builder.config.fontStyle.normal);
23683
+ dom$F.removeClass(elm, this.builder.cssClasses.fontStyle.normal);
23669
23684
  }
23670
23685
  });
23671
- elmNormals = content.querySelectorAll(`.${this.builder.config.textDecoration.normal}`);
23686
+ elmNormals = content.querySelectorAll(`.${this.builder.cssClasses.textDecoration.normal}`);
23672
23687
  Array.prototype.forEach.call(elmNormals, elm => {
23673
23688
  let decor = false;
23674
23689
 
23675
- if (elm.closest(`.${this.builder.config.textDecoration.underline},.${this.builder.config.textDecoration.linethrough}`)) {
23690
+ if (elm.closest(`.${this.builder.cssClasses.textDecoration.underline},.${this.builder.cssClasses.textDecoration.linethrough}`)) {
23676
23691
  decor = true;
23677
23692
  }
23678
23693
 
23679
23694
  if (!decor) {
23680
- dom$F.removeClass(elm, this.builder.config.textDecoration.normal);
23695
+ dom$F.removeClass(elm, this.builder.cssClasses.textDecoration.normal);
23681
23696
  }
23682
23697
  });
23683
- elmNormals = content.querySelectorAll(`.${this.builder.config.textTransform.normal}`);
23698
+ elmNormals = content.querySelectorAll(`.${this.builder.cssClasses.textTransform.normal}`);
23684
23699
  Array.prototype.forEach.call(elmNormals, elm => {
23685
23700
  let decor = false;
23686
23701
 
23687
- if (elm.closest(`.${this.builder.config.textTransform.uppercase},.${this.builder.config.textTransform.lowercase},.${this.builder.config.textTransform.capitalize}`)) {
23702
+ if (elm.closest(`.${this.builder.cssClasses.textTransform.uppercase},.${this.builder.cssClasses.textTransform.lowercase},.${this.builder.cssClasses.textTransform.capitalize}`)) {
23688
23703
  decor = true;
23689
23704
  }
23690
23705
 
23691
23706
  if (!decor) {
23692
- dom$F.removeClass(elm, this.builder.config.textTransform.normal);
23707
+ dom$F.removeClass(elm, this.builder.cssClasses.textTransform.normal);
23693
23708
  }
23694
23709
  });
23695
- elmNormals = content.querySelectorAll(`.${this.builder.config.extend.unset}`);
23710
+ elmNormals = content.querySelectorAll(`.${this.builder.cssClasses.extend.unset}`);
23696
23711
  Array.prototype.forEach.call(elmNormals, elm => {
23697
- dom$F.removeClass(elm, this.builder.config.extend.unset);
23712
+ dom$F.removeClass(elm, this.builder.cssClasses.extend.unset);
23698
23713
  });
23699
23714
  } // Clean unused spans
23700
23715
 
@@ -68966,8 +68981,8 @@ class Rte {
68966
68981
  var text = dom$5.getSelected();
68967
68982
 
68968
68983
  if (command === 'bold') {
68969
- if (this.builder.useConfig) {
68970
- dom$5.execCommandToggle('fontWeight', '', this.builder.config);
68984
+ if (this.builder.useCssClasses) {
68985
+ dom$5.execCommandToggle('fontWeight', '', this.builder.cssClasses);
68971
68986
  } else {
68972
68987
  if (text.trim() === '') {
68973
68988
  var tagname = elm.tagName.toLowerCase();
@@ -68989,8 +69004,8 @@ class Rte {
68989
69004
  }
68990
69005
 
68991
69006
  if (command === 'italic') {
68992
- if (this.builder.useConfig) {
68993
- dom$5.execCommandToggle('fontStyle', '', this.builder.config);
69007
+ if (this.builder.useCssClasses) {
69008
+ dom$5.execCommandToggle('fontStyle', '', this.builder.cssClasses);
68994
69009
  } else {
68995
69010
  if (text.trim() === '') {
68996
69011
  tagname = elm.tagName.toLowerCase();
@@ -69014,8 +69029,8 @@ class Rte {
69014
69029
  }
69015
69030
 
69016
69031
  if (command === 'underline') {
69017
- if (this.builder.useConfig) {
69018
- dom$5.execCommandToggle('textUnderline', '', this.builder.config);
69032
+ if (this.builder.useCssClasses) {
69033
+ dom$5.execCommandToggle('textUnderline', '', this.builder.cssClasses);
69019
69034
  } else {
69020
69035
  if (text.trim() === '') {
69021
69036
  tagname = elm.tagName.toLowerCase();
@@ -69037,8 +69052,8 @@ class Rte {
69037
69052
  }
69038
69053
 
69039
69054
  if (command === 'strikethrough') {
69040
- if (this.builder.useConfig) {
69041
- dom$5.execCommandToggle('textLinethrough', '', this.builder.config);
69055
+ if (this.builder.useCssClasses) {
69056
+ dom$5.execCommandToggle('textLinethrough', '', this.builder.cssClasses);
69042
69057
  } else {
69043
69058
  if (text.trim() === '') {
69044
69059
  tagname = elm.tagName.toLowerCase();
@@ -69060,24 +69075,24 @@ class Rte {
69060
69075
  }
69061
69076
 
69062
69077
  if (command === 'superscript') {
69063
- if (this.builder.useConfig) {
69064
- dom$5.execCommandToggle('extend', 'superscript', this.builder.config);
69078
+ if (this.builder.useCssClasses) {
69079
+ dom$5.execCommandToggle('extend', 'superscript', this.builder.cssClasses);
69065
69080
  } else {
69066
69081
  document.execCommand('superscript', false, null);
69067
69082
  }
69068
69083
  }
69069
69084
 
69070
69085
  if (command === 'subscript') {
69071
- if (this.builder.useConfig) {
69072
- dom$5.execCommandToggle('extend', 'subscript', this.builder.config);
69086
+ if (this.builder.useCssClasses) {
69087
+ dom$5.execCommandToggle('extend', 'subscript', this.builder.cssClasses);
69073
69088
  } else {
69074
69089
  document.execCommand('subscript', false, null);
69075
69090
  }
69076
69091
  }
69077
69092
 
69078
69093
  if (command === 'uppercase') {
69079
- if (this.builder.useConfig) {
69080
- dom$5.execCommandToggle('textTransform', '', this.builder.config);
69094
+ if (this.builder.useCssClasses) {
69095
+ dom$5.execCommandToggle('textTransform', '', this.builder.cssClasses);
69081
69096
  } else {
69082
69097
  let textTransform = window.getComputedStyle(elm).getPropertyValue('text-transform');
69083
69098
 
@@ -69096,10 +69111,10 @@ class Rte {
69096
69111
  }
69097
69112
 
69098
69113
  if (command === 'clean') {
69099
- if (this.builder.useConfig) {
69114
+ if (this.builder.useCssClasses) {
69100
69115
  document.execCommand('removeFormat', false, null); // optional: backward compatible (for cleaning old b, i tags)
69101
69116
 
69102
- dom$5.execCommandToggle('clean', '', this.builder.config);
69117
+ dom$5.execCommandToggle('clean', '', this.builder.cssClasses);
69103
69118
  } else {
69104
69119
  if (text.trim() === '') {
69105
69120
  elm.style.cssText = '';
@@ -69204,16 +69219,16 @@ class Rte {
69204
69219
  element = element.parentNode;
69205
69220
  }
69206
69221
 
69207
- if (this.builder.useConfig) {
69222
+ if (this.builder.useCssClasses) {
69208
69223
  element.style.textAlign = '';
69209
- dom$5.removeClass(element, this.builder.config.textAlign.left);
69210
- dom$5.removeClass(element, this.builder.config.textAlign.center);
69211
- dom$5.removeClass(element, this.builder.config.textAlign.right);
69212
- dom$5.removeClass(element, this.builder.config.textAlign.justify);
69213
- if (command === 'left') dom$5.addClass(element, this.builder.config.textAlign.left);
69214
- if (command === 'center') dom$5.addClass(element, this.builder.config.textAlign.center);
69215
- if (command === 'right') dom$5.addClass(element, this.builder.config.textAlign.right);
69216
- if (command === 'justify') dom$5.addClass(element, this.builder.config.textAlign.justify);
69224
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.left);
69225
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.center);
69226
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.right);
69227
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.justify);
69228
+ if (command === 'left') dom$5.addClass(element, this.builder.cssClasses.textAlign.left);
69229
+ if (command === 'center') dom$5.addClass(element, this.builder.cssClasses.textAlign.center);
69230
+ if (command === 'right') dom$5.addClass(element, this.builder.cssClasses.textAlign.right);
69231
+ if (command === 'justify') dom$5.addClass(element, this.builder.cssClasses.textAlign.justify);
69217
69232
  } else {
69218
69233
  element.style.textAlign = command;
69219
69234
  }
@@ -69259,16 +69274,16 @@ class Rte {
69259
69274
  element = element.parentNode;
69260
69275
  }
69261
69276
 
69262
- if (this.builder.useConfig) {
69277
+ if (this.builder.useCssClasses) {
69263
69278
  element.style.textAlign = '';
69264
- dom$5.removeClass(element, this.builder.config.textAlign.left);
69265
- dom$5.removeClass(element, this.builder.config.textAlign.center);
69266
- dom$5.removeClass(element, this.builder.config.textAlign.right);
69267
- dom$5.removeClass(element, this.builder.config.textAlign.justify);
69268
- if (command === 'left') dom$5.addClass(element, this.builder.config.textAlign.left);
69269
- if (command === 'center') dom$5.addClass(element, this.builder.config.textAlign.center);
69270
- if (command === 'right') dom$5.addClass(element, this.builder.config.textAlign.right);
69271
- if (command === 'justify') dom$5.addClass(element, this.builder.config.textAlign.justify);
69279
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.left);
69280
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.center);
69281
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.right);
69282
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.justify);
69283
+ if (command === 'left') dom$5.addClass(element, this.builder.cssClasses.textAlign.left);
69284
+ if (command === 'center') dom$5.addClass(element, this.builder.cssClasses.textAlign.center);
69285
+ if (command === 'right') dom$5.addClass(element, this.builder.cssClasses.textAlign.right);
69286
+ if (command === 'justify') dom$5.addClass(element, this.builder.cssClasses.textAlign.justify);
69272
69287
  } else {
69273
69288
  element.style.textAlign = command;
69274
69289
  }
@@ -69293,16 +69308,16 @@ class Rte {
69293
69308
  element = element.parentNode;
69294
69309
  }
69295
69310
 
69296
- if (this.builder.useConfig) {
69311
+ if (this.builder.useCssClasses) {
69297
69312
  element.style.textAlign = '';
69298
- dom$5.removeClass(element, this.builder.config.textAlign.left);
69299
- dom$5.removeClass(element, this.builder.config.textAlign.center);
69300
- dom$5.removeClass(element, this.builder.config.textAlign.right);
69301
- dom$5.removeClass(element, this.builder.config.textAlign.justify);
69302
- if (command === 'left') dom$5.addClass(element, this.builder.config.textAlign.left);
69303
- if (command === 'center') dom$5.addClass(element, this.builder.config.textAlign.center);
69304
- if (command === 'right') dom$5.addClass(element, this.builder.config.textAlign.right);
69305
- if (command === 'justify') dom$5.addClass(element, this.builder.config.textAlign.justify);
69313
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.left);
69314
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.center);
69315
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.right);
69316
+ dom$5.removeClass(element, this.builder.cssClasses.textAlign.justify);
69317
+ if (command === 'left') dom$5.addClass(element, this.builder.cssClasses.textAlign.left);
69318
+ if (command === 'center') dom$5.addClass(element, this.builder.cssClasses.textAlign.center);
69319
+ if (command === 'right') dom$5.addClass(element, this.builder.cssClasses.textAlign.right);
69320
+ if (command === 'justify') dom$5.addClass(element, this.builder.cssClasses.textAlign.justify);
69306
69321
  } else {
69307
69322
  element.style.textAlign = command;
69308
69323
  }
@@ -72915,7 +72930,7 @@ class ContentBuilder {
72915
72930
  */
72916
72931
  colHeight: [300, 350, 400, 450, 500, 550, 600, 650, 700],
72917
72932
  // maxColumns: 6,
72918
- config: {
72933
+ cssClasses: {
72919
72934
  fontWeight: {
72920
72935
  thin: 'font-thin',
72921
72936
  extralight: 'font-extralight',
@@ -72955,7 +72970,7 @@ class ContentBuilder {
72955
72970
  subscript: 'sub'
72956
72971
  }
72957
72972
  },
72958
- useConfig: false
72973
+ useCssClasses: false
72959
72974
  }; // obj.preserveSelection = true; (can be set programmatically) to prevent click that clears selection on external custom modal.
72960
72975
 
72961
72976
  this.opts = Object.assign(this, defaults, opts);
@@ -73026,6 +73041,11 @@ class ContentBuilder {
73026
73041
  this.opts.cols = ['col-md-1', 'col-md-2', 'col-md-3', 'col-md-4', 'col-md-5', 'col-md-6', 'col-md-7', 'col-md-8', 'col-md-9', 'col-md-10', 'col-md-11', 'col-md-12'];
73027
73042
  this.opts.colequal = [];
73028
73043
  this.opts.colsizes = [];
73044
+ } else if (this.opts.framework === 'tailwind') {
73045
+ this.opts.row = 'flex flex-col md:flex-row';
73046
+ this.opts.cols = ['w-full md:w-1/12 px-4', 'w-full md:w-2/12 px-4', 'w-full md:w-3/12 px-4', 'w-full md:w-4/12 px-4', 'w-full md:w-5/12 px-4', 'w-full md:w-6/12 px-4', 'w-full md:w-7/12 px-4', 'w-full md:w-8/12 px-4', 'w-full md:w-9/12 px-4', 'w-full md:w-10/12 px-4', 'w-full md:w-11/12 px-4', 'w-full px-4'];
73047
+ this.opts.colequal = [];
73048
+ this.opts.colsizes = [];
73029
73049
  } else if (this.opts.framework === 'foundation') {
73030
73050
  this.opts.row = 'row';
73031
73051
  this.opts.cols = ['large-1 columns', 'large-2 columns', 'large-3 columns', 'large-4 columns', 'large-5 columns', 'large-6 columns', 'large-7 columns', 'large-8 columns', 'large-9 columns', 'large-10 columns', 'large-11 columns', 'large-12 columns'];
@@ -73746,10 +73766,10 @@ class ContentBuilder {
73746
73766
  }
73747
73767
  }
73748
73768
 
73749
- this.builder.cleanHtmlFormatting = true;
73769
+ this.cleanHtmlFormatting = true;
73750
73770
  let outputHtml = htmlutil.readHtml(area); //for view=false
73751
73771
 
73752
- this.builder.cleanHtmlFormatting = false;
73772
+ this.cleanHtmlFormatting = false;
73753
73773
  return outputHtml;
73754
73774
  } // ContentBox
73755
73775
 
@@ -76978,6 +76998,7 @@ class ContentBox {
76978
76998
  undoContainerOnly: false,
76979
76999
  absolutePath: false,
76980
77000
  maxEmbedImageWidth: 1600,
77001
+ useCssClasses: false,
76981
77002
  zoom: 0.6,
76982
77003
  contentStyleWithSample: false,
76983
77004
  contentStyles: {
@@ -79151,7 +79172,8 @@ class ContentBox {
79151
79172
  },
79152
79173
  undoContainerOnly: this.settings.undoContainerOnly,
79153
79174
  absolutePath: this.settings.absolutePath,
79154
- zoom: this.zoom,
79175
+ useCssClasses: this.settings.useCssClasses,
79176
+ zoom: this.settings.zoom,
79155
79177
  onZoomStart: () => {
79156
79178
  // const wrapper = this.wrapperEl;
79157
79179
  // wrapper.style.transition = 'all ease 0.1s';
@@ -79967,7 +79989,7 @@ class ContentBox {
79967
79989
 
79968
79990
 
79969
79991
  if (links[i].getAttribute('href').indexOf('/box.css') !== -1 || links[i].getAttribute('href').indexOf('/box-flex.css') !== -1) {
79970
- if (links[i].parentNode === document.body) {
79992
+ if (links[i].closest('body')) {
79971
79993
  boxCssInBody = true;
79972
79994
  this.settings.cssInBody = true;
79973
79995
  }