@innovastudio/contentbuilder 1.5.129 → 1.5.131

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/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  interface ContentBuilderOptions {
2
2
  page?: string;
3
3
  container?: string;
4
+ siteToken?: string;
4
5
  row?: string;
5
6
  cols?: any[];
6
7
  colequal?: any[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbuilder",
3
3
  "type": "module",
4
- "version": "1.5.129",
4
+ "version": "1.5.131",
5
5
  "description": "",
6
6
  "main": "public/contentbuilder/contentbuilder.esm.js",
7
7
  "types": "index.d.ts",
@@ -70864,14 +70864,14 @@ class Rte {
70864
70864
  if (btnLink) btnLink.style.display = '';
70865
70865
  if (btnSymbol) btnSymbol.style.display = '';
70866
70866
  if (!customcode && !noedit && !_protected || subblock) {
70867
- if ((elm.tagName.toLowerCase() === 'img' || dom.hasClass(elm, 'is-social') || dom.hasClass(elm, 'is-rounded-button-medium') || dom.hasClass(elm, 'cell-active')) && !dom.getSelected()) {
70867
+ if ((dom.hasClass(elm, 'is-social') || dom.hasClass(elm, 'is-rounded-button-medium') || dom.hasClass(elm, 'cell-active')) && !dom.getSelected()) {
70868
70868
  if (this.elementRteTool.style.display === 'none' || this.elementRteTool.style.display === '') {
70869
70869
  this.elementRteTool.style.display = 'flex';
70870
70870
  this.rteTool.style.display = 'none';
70871
70871
  this.showAlignButtons();
70872
70872
  this.positionToolbar();
70873
70873
  }
70874
- } else if (dom.hasClass(elm, 'spacer') || elm.tagName.toLowerCase() === 'video' || dom.hasClass(elm, 'ovl') || col.getAttribute('data-html') && !subblock) {
70874
+ } else if (elm.tagName.toLowerCase() === 'img' || dom.hasClass(elm, 'spacer') || elm.tagName.toLowerCase() === 'video' || dom.hasClass(elm, 'ovl') || col.getAttribute('data-html') && !subblock) {
70875
70875
  //|| col===elm
70876
70876
 
70877
70877
  if (this.elementRteTool.style.display === 'none' || this.elementRteTool.style.display === '') {
@@ -83221,144 +83221,139 @@ class Dictation {
83221
83221
  this.builder = builder;
83222
83222
  this.imageModels = [{
83223
83223
  id: 'fal-ai/nano-banana',
83224
- // ok
83225
83224
  label: 'Nano Banana',
83226
83225
  sizes: [],
83227
83226
  // no size options
83228
83227
  output_format: 'jpeg'
83229
83228
  }, {
83230
83229
  id: 'fal-ai/imagen4/preview/fast',
83231
- // ok
83232
83230
  label: 'Imagen 4 Preview Fast',
83233
83231
  sizes: ['1:1', '4:3', '16:9', '3:4', '9:16']
83234
83232
  }, {
83235
83233
  id: 'fal-ai/imagen4/preview',
83236
- // ok
83237
83234
  label: 'Imagen 4 Preview',
83238
83235
  sizes: ['1:1', '4:3', '16:9', '3:4', '9:16']
83239
83236
  }, {
83240
83237
  id: 'fal-ai/imagen4/preview/ultra',
83241
- // ok
83242
83238
  label: 'Imagen 4 Preview Ultra',
83243
83239
  sizes: ['1:1', '4:3', '16:9', '3:4', '9:16']
83244
- }, {
83245
- id: 'fal-ai/hidream-i1-fast',
83246
- // ok
83247
- label: 'HiDream-I1 Fast',
83248
- // sizes: => uses defaultSizes
83249
- output_format: 'jpeg'
83250
- }, {
83251
- id: 'fal-ai/hidream-i1-dev',
83252
- // ok
83253
- label: 'HiDream-I1 Dev',
83254
- output_format: 'jpeg'
83255
- }, {
83256
- id: 'fal-ai/hidream-i1-full',
83257
- // ok
83258
- label: 'HiDream-I1 Full',
83259
- output_format: 'jpeg'
83260
- }, {
83261
- id: 'bria/text-to-image/3.2',
83262
- // ok
83263
- label: 'Bria (3.2)',
83264
- sizes: ['1:1', '3:2', '4:3', '5:4', '16:9', '2:3', '3:4', '4:5', '9:16']
83265
- }, {
83266
- id: 'fal-ai/recraft/v3/text-to-image',
83267
- // ok
83268
- label: 'Recraft V3'
83269
83240
  }, {
83270
83241
  id: 'fal-ai/flux-1/schnell',
83271
- // ok
83272
83242
  label: 'FLUX.1 Schnell',
83243
+ // sizes: => uses defaultSizes
83273
83244
  output_format: 'jpeg'
83274
- }, {
83245
+ },
83246
+ // Krea
83247
+ {
83275
83248
  id: 'fal-ai/flux/krea',
83276
- // ok
83277
83249
  label: 'FLUX.1 Krea',
83278
83250
  output_format: 'jpeg'
83279
- }, {
83280
- id: 'fal-ai/flux-krea-lora',
83281
- // ok
83282
- label: 'FLUX.1 Krea Lora',
83283
- output_format: 'jpeg'
83284
- }, {
83251
+ },
83252
+ // {
83253
+ // id: 'fal-ai/flux-krea-lora',
83254
+ // label: 'FLUX.1 Krea Lora',
83255
+ // output_format: 'jpeg'
83256
+ // },
83257
+ // Kontext
83258
+ {
83285
83259
  id: 'fal-ai/flux-kontext-lora/text-to-image',
83286
- // ok
83287
- label: 'FLUX Kontext Lora',
83260
+ label: 'FLUX.1 Kontext Lora',
83288
83261
  output_format: 'jpeg'
83289
83262
  }, {
83290
83263
  id: 'fal-ai/flux-pro/kontext/text-to-image',
83291
- // ok
83292
83264
  label: 'FLUX.1 Kontext Pro',
83293
83265
  sizes: ['21:9', '16:9', '4:3', '3:2', '1:1', '2:3', '3:4', '9:16', '9:21'],
83294
83266
  size_param: 'aspect_ratio',
83267
+ // aspect_ratio
83295
83268
  output_format: 'jpeg'
83296
83269
  }, {
83297
83270
  id: 'fal-ai/flux-pro/kontext/max/text-to-image',
83298
- // ok
83299
83271
  label: 'FLUX.1 Kontext Max',
83300
83272
  sizes: ['21:9', '16:9', '4:3', '3:2', '1:1', '2:3', '3:4', '9:16', '9:21'],
83301
83273
  size_param: 'aspect_ratio',
83274
+ // aspect_ratio
83275
+ output_format: 'jpeg'
83276
+ },
83277
+ // Pro
83278
+ {
83279
+ id: 'fal-ai/flux-pro/new',
83280
+ label: 'FLUX.1 Pro',
83281
+ // new, fast
83282
+ output_format: 'jpeg'
83283
+ }, {
83284
+ id: 'fal-ai/flux-pro/v1.1',
83285
+ label: 'FLUX1.1 Pro',
83302
83286
  output_format: 'jpeg'
83303
83287
  }, {
83304
83288
  id: 'fal-ai/flux-pro/v1.1-ultra',
83305
- // ok
83306
- label: 'FLUX 1.1 Pro Ultra',
83289
+ label: 'FLUX1.1 Pro Ultra',
83307
83290
  sizes: ['21:9', '16:9', '4:3', '3:2', '1:1', '2:3', '3:4', '9:16', '9:21'],
83308
83291
  size_param: 'aspect_ratio',
83292
+ // aspect_ratio
83309
83293
  output_format: 'jpeg'
83310
83294
  }, {
83311
83295
  id: 'fal-ai/bytedance/seedream/v4/text-to-image',
83312
- // ok
83313
83296
  label: 'ByteDance Seedream 4.0'
83314
83297
  }, {
83315
83298
  id: 'fal-ai/wan/v2.2-5b/text-to-image',
83316
- // ok
83317
83299
  label: 'Wan 2.2 5B',
83318
83300
  output_format: 'jpeg',
83319
83301
  output_param: 'image_format'
83320
83302
  }, {
83321
83303
  id: 'fal-ai/wan/v2.2-a14b/text-to-image',
83322
- // ok
83323
83304
  label: 'Wan 2.2 14B'
83324
83305
  }, {
83325
83306
  id: 'fal-ai/qwen-image',
83326
- // ok
83327
83307
  label: 'Qwen Image',
83328
83308
  output_format: 'jpeg'
83309
+ }, {
83310
+ id: 'fal-ai/hidream-i1-fast',
83311
+ label: 'HiDream-I1 Fast',
83312
+ output_format: 'jpeg'
83313
+ }, {
83314
+ id: 'fal-ai/hidream-i1-dev',
83315
+ label: 'HiDream-I1 Dev',
83316
+ output_format: 'jpeg'
83317
+ }, {
83318
+ id: 'fal-ai/hidream-i1-full',
83319
+ label: 'HiDream-I1 Full',
83320
+ output_format: 'jpeg'
83321
+ }, {
83322
+ id: 'bria/text-to-image/3.2',
83323
+ // new
83324
+ label: 'Bria (3.2)',
83325
+ sizes: ['1:1', '3:2', '4:3', '5:4', '16:9', '2:3', '3:4', '4:5', '9:16']
83326
+ }, {
83327
+ id: 'fal-ai/recraft/v3/text-to-image',
83328
+ label: 'Recraft V3'
83329
83329
  }, {
83330
83330
  id: 'fal-ai/ideogram/v3',
83331
- // ok
83332
83331
  label: 'Ideogram V3'
83333
83332
  }, {
83334
83333
  id: 'fal-ai/minimax/image-01',
83335
- // ok
83334
+ // new
83336
83335
  label: 'MiniMax Image-01',
83337
83336
  sizes: ['21:9', '16:9', '4:3', '3:2', '1:1', '2:3', '3:4', '9:16'],
83338
- size_param: 'aspect_ratio'
83337
+ size_param: 'aspect_ratio' // aspect_ratio
83339
83338
  }, {
83340
83339
  id: 'fal-ai/playground-v25',
83341
- // ok
83340
+ // new
83342
83341
  label: 'Playground v25',
83343
83342
  output_format: 'jpeg'
83344
83343
  }, {
83345
83344
  id: 'fal-ai/sana',
83346
- // ok
83347
83345
  label: 'Sana Base',
83348
83346
  output_format: 'jpeg'
83349
83347
  }, {
83350
83348
  id: 'fal-ai/sana/sprint',
83351
- // ok
83352
83349
  label: 'Sana Sprint',
83353
83350
  output_format: 'jpeg'
83354
83351
  }, {
83355
83352
  id: 'fal-ai/sana/v1.5/4.8b',
83356
- // ok
83357
83353
  label: 'Sana v1.5 4.8B',
83358
83354
  output_format: 'jpeg'
83359
83355
  }, {
83360
83356
  id: 'fal-ai/sana/v1.5/1.6b',
83361
- // ok
83362
83357
  label: 'Sana v1.5 1.6B',
83363
83358
  output_format: 'jpeg'
83364
83359
  }];
@@ -92811,6 +92806,7 @@ class ContentBuilder {
92811
92806
  let defaults = {
92812
92807
  page: '',
92813
92808
  container: '.is-container',
92809
+ siteToken: '',
92814
92810
  row: '',
92815
92811
  cols: [],
92816
92812
  colequal: [],
@@ -94220,6 +94216,7 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
94220
94216
  const builders = this.doc.querySelectorAll(this.opts.container);
94221
94217
  Array.prototype.forEach.call(builders, builder => {
94222
94218
  builder.classList.add('is-container');
94219
+ if (this.siteToken) builder.setAttribute('data-site-token', this.siteToken);
94223
94220
 
94224
94221
  // Check if preview
94225
94222
  if (this.dom.hasClass(builder, 'preview')) this.preview = true;
@@ -94980,7 +94977,20 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
94980
94977
  }
94981
94978
  }
94982
94979
  */
94983
-
94980
+ const clickedElementEditable = target.closest('[contenteditable]');
94981
+ let insideEditable = this.doc.activeElement && this.doc.activeElement.closest('[contenteditable]') && this.doc.activeElement.closest('.is-builder');
94982
+ if (insideEditable && !clickedElementEditable) {
94983
+ this.saveSelection();
94984
+ const selection = this.dom.getSelection();
94985
+ if (selection && !selection.isCollapsed) {
94986
+ // Only if there is text selected (not caret selection)
94987
+ const col = this.doc.activeElement.closest('[contenteditable]');
94988
+ if (col) {
94989
+ // this.handleCellClick(col, e);
94990
+ this.activateColumnAndRte(col);
94991
+ }
94992
+ }
94993
+ }
94984
94994
  if (!(a || p || b || c || d || f || g || h || i || j || o || isSpecialElement || clrPicker) || rowClicked && !i || containerClicked) {
94985
94995
  // Click anywhere but is not inside builder area, modal, popup, tool or rte, then clear row/column (cell) selection
94986
94996
 
@@ -98679,6 +98689,32 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
98679
98689
  }
98680
98690
  }
98681
98691
  }
98692
+ activateColumnAndRte(col) {
98693
+ const util = this.util;
98694
+ util.clearActiveCell();
98695
+ this.activeCol = col;
98696
+ col.classList.add('cell-active');
98697
+ let row = col.parentNode;
98698
+ row.classList.add('row-active');
98699
+ const builders = this.doc.querySelectorAll(this.opts.container);
98700
+ builders.forEach(builder => {
98701
+ builder.classList.remove('builder-active');
98702
+ });
98703
+ row.parentNode.classList.add('builder-active');
98704
+ this.doc.body.classList.add('content-edit');
98705
+ if (row.childElementCount - 2 === 1) ; else {
98706
+ row.classList.add('row-outline');
98707
+ }
98708
+
98709
+ // Call onContentClick to indicate click on editable content (eg. for plugin usage)
98710
+ // if(this.opts.onContentClick) this.opts.onContentClick(e);
98711
+
98712
+ this.colTool.click(col);
98713
+ // this.elmTool.click(col, e);
98714
+ this.activeElement = col;
98715
+ this.inspectedElement = col;
98716
+ if (!this.controlPanel) this.rte.click(col);
98717
+ }
98682
98718
  handleCellClick(col, e) {
98683
98719
  if (this.cleanEditing) {
98684
98720
  col.parentNode.querySelector('.is-row-tool').style.display = '';