@innovastudio/contentbuilder 1.5.148 → 1.5.150
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
@@ -102,6 +102,8 @@ interface ContentBuilderOptions {
|
|
102
102
|
videoSelect?: string;
|
103
103
|
audioSelect?: string;
|
104
104
|
mediaSelect?: string;
|
105
|
+
filePicker?: string;
|
106
|
+
filePickerSize?: string;
|
105
107
|
selectIcon?: string;
|
106
108
|
otherSelect?: string;
|
107
109
|
otherSelectCaption?: string;
|
@@ -218,6 +220,9 @@ interface ContentBuilderOptions {
|
|
218
220
|
commandInfoCanvasMode?: any[];
|
219
221
|
onStartRequest?: () => void;
|
220
222
|
|
223
|
+
defaultHeaders?: { [key: string]: string };
|
224
|
+
headers?: { [key: string]: string };
|
225
|
+
|
221
226
|
defaultImageGenerationProvider?: string;
|
222
227
|
imageModel?: string;
|
223
228
|
imageSize?: string;
|
package/package.json
CHANGED
@@ -520,8 +520,8 @@ button:focus-visible {
|
|
520
520
|
top: 0;
|
521
521
|
left: 0;
|
522
522
|
background: #fff;
|
523
|
-
border: 1px solid #
|
524
|
-
box-shadow:
|
523
|
+
border: 1px solid #dcdcdc;
|
524
|
+
box-shadow: 3px 11px 24px 0px rgba(0, 0, 0, 0.05);
|
525
525
|
outline: none;
|
526
526
|
border-radius: 7px;
|
527
527
|
overflow: hidden;
|
@@ -2845,7 +2845,8 @@ button:focus-visible {
|
|
2845
2845
|
flex-direction: row;
|
2846
2846
|
align-items: flex-start;
|
2847
2847
|
border-radius: 6px;
|
2848
|
-
|
2848
|
+
border: 1px solid #dcdcdc;
|
2849
|
+
box-shadow: 3px 11px 24px 0px rgba(0, 0, 0, 0.05);
|
2849
2850
|
background-color: #fff;
|
2850
2851
|
}
|
2851
2852
|
#_cbhtml .is-modal.snippetwindow.left,
|
@@ -4723,6 +4723,7 @@ class Util {
|
|
4723
4723
|
showRtePop(pop, onShow, btn) {
|
4724
4724
|
const dom = this.dom;
|
4725
4725
|
pop.style.display = 'flex';
|
4726
|
+
pop.setAttribute('aria-hidden', 'false');
|
4726
4727
|
if (onShow) onShow();
|
4727
4728
|
dom.removeClass(pop, 'deactive');
|
4728
4729
|
dom.addClass(pop, 'active');
|
@@ -4787,6 +4788,7 @@ class Util {
|
|
4787
4788
|
pop.style.display = '';
|
4788
4789
|
dom.removeClass(pop, 'active');
|
4789
4790
|
dom.addClass(pop, 'deactive');
|
4791
|
+
pop.setAttribute('aria-hidden', 'true');
|
4790
4792
|
}
|
4791
4793
|
showPopOverlay(pop, cancelCallback, btn) {
|
4792
4794
|
const builderStuff = this.builder.builderStuff;
|
@@ -5460,12 +5462,27 @@ class Util {
|
|
5460
5462
|
if (mode === 'cell' || mode === 'cell-right') {
|
5461
5463
|
dom.moveAfter(cellElement, cell);
|
5462
5464
|
}
|
5465
|
+
let element;
|
5466
|
+
if (cellElement.childNodes && cellElement.childNodes[0]) {
|
5467
|
+
element = cellElement.childNodes[0];
|
5468
|
+
}
|
5463
5469
|
let builderActive = this.builder.doc.querySelector('.builder-active');
|
5464
5470
|
if (builderActive) this.builder.applyBehaviorOn(builderActive);
|
5465
5471
|
this.fixLayout(row);
|
5466
|
-
cellElement.click(); //change active block to the newly created
|
5467
|
-
}
|
5468
5472
|
|
5473
|
+
// cellElement.click(); //change active block to the newly created
|
5474
|
+
if (element && element.tagName.toLowerCase() === 'img') {
|
5475
|
+
element.onload = () => {
|
5476
|
+
element.click();
|
5477
|
+
element.onload = null;
|
5478
|
+
setTimeout(() => {
|
5479
|
+
this.builder.element.image.repositionImageTool();
|
5480
|
+
}, 100);
|
5481
|
+
};
|
5482
|
+
} else if (element) {
|
5483
|
+
element.click();
|
5484
|
+
}
|
5485
|
+
}
|
5469
5486
|
if (mode === 'row') {
|
5470
5487
|
this.builder.uo.saveForUndo();
|
5471
5488
|
let rowElement, cellElement;
|
@@ -5503,11 +5520,26 @@ class Util {
|
|
5503
5520
|
}
|
5504
5521
|
row.parentNode.insertBefore(rowElement, row);
|
5505
5522
|
dom.moveAfter(rowElement, row);
|
5523
|
+
let element;
|
5524
|
+
if (rowElement.childNodes && rowElement.childNodes[0].childNodes && rowElement.childNodes[0].childNodes) {
|
5525
|
+
element = rowElement.childNodes[0].childNodes[0];
|
5526
|
+
}
|
5506
5527
|
let builderActive = this.builder.doc.querySelector('.builder-active');
|
5507
5528
|
if (builderActive) this.builder.applyBehaviorOn(builderActive);
|
5508
|
-
cellElement.click(); //change active block to the newly created
|
5509
|
-
}
|
5510
5529
|
|
5530
|
+
// cellElement.click(); //change active block to the newly created
|
5531
|
+
if (element && element.tagName.toLowerCase() === 'img') {
|
5532
|
+
element.onload = () => {
|
5533
|
+
element.click();
|
5534
|
+
element.onload = null;
|
5535
|
+
setTimeout(() => {
|
5536
|
+
this.builder.element.image.repositionImageTool();
|
5537
|
+
}, 100);
|
5538
|
+
};
|
5539
|
+
} else if (element) {
|
5540
|
+
element.click();
|
5541
|
+
}
|
5542
|
+
}
|
5511
5543
|
if (mode === 'elm') {
|
5512
5544
|
let elm = this.builder.activeElement; // See elementtool.js line 195-196. // document.querySelector('.elm-active');
|
5513
5545
|
if (!elm) return;
|
@@ -5538,6 +5570,9 @@ class Util {
|
|
5538
5570
|
let checkLoad = setInterval(() => {
|
5539
5571
|
if (newelement.complete) {
|
5540
5572
|
newelement.click();
|
5573
|
+
setTimeout(() => {
|
5574
|
+
this.builder.element.image.repositionImageTool();
|
5575
|
+
}, 100);
|
5541
5576
|
clearInterval(checkLoad);
|
5542
5577
|
}
|
5543
5578
|
}, 30);
|
@@ -67707,6 +67742,7 @@ class Rte {
|
|
67707
67742
|
const top = btn.getBoundingClientRect().top;
|
67708
67743
|
const left = btn.getBoundingClientRect().left;
|
67709
67744
|
pop.style.display = 'flex';
|
67745
|
+
pop.setAttribute('aria-hidden', 'false');
|
67710
67746
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
67711
67747
|
const h = pop.offsetHeight;
|
67712
67748
|
if (!dom.hasClass(pop, 'active')) {
|
@@ -67741,6 +67777,7 @@ class Rte {
|
|
67741
67777
|
const top = btn.getBoundingClientRect().top;
|
67742
67778
|
const left = btn.getBoundingClientRect().left;
|
67743
67779
|
pop.style.display = 'flex';
|
67780
|
+
pop.setAttribute('aria-hidden', 'false');
|
67744
67781
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
67745
67782
|
const h = pop.offsetHeight;
|
67746
67783
|
if (!dom.hasClass(pop, 'active')) {
|
@@ -68577,6 +68614,7 @@ class Rte {
|
|
68577
68614
|
const top = btn.getBoundingClientRect().top;
|
68578
68615
|
const left = btn.getBoundingClientRect().left;
|
68579
68616
|
pop.style.display = 'flex';
|
68617
|
+
pop.setAttribute('aria-hidden', 'false');
|
68580
68618
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
68581
68619
|
const h = pop.offsetHeight;
|
68582
68620
|
if (!dom.hasClass(pop, 'active')) {
|
@@ -68903,6 +68941,7 @@ class Rte {
|
|
68903
68941
|
const top = btn.getBoundingClientRect().top;
|
68904
68942
|
const left = btn.getBoundingClientRect().left;
|
68905
68943
|
pop.style.display = 'flex';
|
68944
|
+
pop.setAttribute('aria-hidden', 'false');
|
68906
68945
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
68907
68946
|
const h = pop.offsetHeight;
|
68908
68947
|
if (!dom.hasClass(pop, 'active')) {
|
@@ -70420,6 +70459,7 @@ class Rte {
|
|
70420
70459
|
const top = btnRteIcons.getBoundingClientRect().top;
|
70421
70460
|
const left = btnRteIcons.getBoundingClientRect().left;
|
70422
70461
|
pop.style.display = 'flex';
|
70462
|
+
pop.setAttribute('aria-hidden', 'false');
|
70423
70463
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
70424
70464
|
const h = pop.offsetHeight;
|
70425
70465
|
if (!dom.hasClass(pop, 'active')) {
|
@@ -70507,6 +70547,7 @@ class Rte {
|
|
70507
70547
|
});
|
70508
70548
|
const pop = this.rteMoreOptions;
|
70509
70549
|
pop.style.display = 'flex';
|
70550
|
+
pop.setAttribute('aria-hidden', 'false');
|
70510
70551
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
70511
70552
|
const h = pop.offsetHeight;
|
70512
70553
|
if (this.builder.opts.toolbar === 'left') {
|
@@ -70583,6 +70624,7 @@ class Rte {
|
|
70583
70624
|
const top = btnElementRteMore.getBoundingClientRect().top;
|
70584
70625
|
const left = btnElementRteMore.getBoundingClientRect().left;
|
70585
70626
|
pop.style.display = 'flex';
|
70627
|
+
pop.setAttribute('aria-hidden', 'false');
|
70586
70628
|
const w = pop.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
70587
70629
|
const h = pop.offsetHeight;
|
70588
70630
|
if (this.builder.opts.toolbar === 'left') {
|
@@ -83887,6 +83929,10 @@ class Dictation {
|
|
83887
83929
|
const inpCommandLang = this.modalConfig.querySelector('.input-command-lang');
|
83888
83930
|
localStorage.setItem('_command_lang', inpCommandLang.value);
|
83889
83931
|
this.builder.speechRecognitionLang = inpCommandLang.value;
|
83932
|
+
const inpImageModelSelect = this.modalConfig.querySelector('#inpImageModelSelect');
|
83933
|
+
localStorage.setItem('_image_model', inpImageModelSelect.value);
|
83934
|
+
const inpImageSizeSelect = this.modalConfig.querySelector('#inpImageSizeSelect');
|
83935
|
+
localStorage.setItem('_image_size', inpImageSizeSelect.value);
|
83890
83936
|
this.builder.hideModal(this.modalConfig);
|
83891
83937
|
});
|
83892
83938
|
const btnConfigReset = this.modalConfig.querySelector('.input-reset');
|
@@ -84167,8 +84213,12 @@ class Dictation {
|
|
84167
84213
|
let models = this.imageModels;
|
84168
84214
|
|
84169
84215
|
// Default selections
|
84170
|
-
|
84171
|
-
|
84216
|
+
let defaultModelId = this.builder.imageModel || 'fal-ai/flux-1/schnell';
|
84217
|
+
let defaultSize = this.builder.imageSize || 'landscape_4_3';
|
84218
|
+
const storedModel = localStorage.getItem('_image_model');
|
84219
|
+
if (storedModel) defaultModelId = storedModel;
|
84220
|
+
const storedSize = localStorage.getItem('_image_size');
|
84221
|
+
if (storedSize) defaultSize = storedSize;
|
84172
84222
|
|
84173
84223
|
// Helper: return available sizes for a model
|
84174
84224
|
function getSizesForModel(modelId) {
|
@@ -84364,6 +84414,7 @@ class Dictation {
|
|
84364
84414
|
return;
|
84365
84415
|
}
|
84366
84416
|
this.modalCommand.classList.add('active');
|
84417
|
+
this.modalCommand.setAttribute('aria-hidden', 'false');
|
84367
84418
|
inpCommand.focus();
|
84368
84419
|
localStorage.setItem('_dictation', '1');
|
84369
84420
|
const chkAutoSend = this.builderStuff.querySelector('#chkAutoSendCommand');
|
@@ -93010,6 +93061,7 @@ class ContentBuilder {
|
|
93010
93061
|
mediaSelect: '',
|
93011
93062
|
// NEW: for image & video
|
93012
93063
|
|
93064
|
+
filePickerSize: 'medium',
|
93013
93065
|
// selectIcon: '<svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg>',
|
93014
93066
|
selectIcon: '<svg class="is-icon-flex" style="width:16px;height:16px;"><use xlink:href="#icon-folder"></use></svg>',
|
93015
93067
|
// NEW: for any other file select. Will be visible on hyperlink dialog, image dialog (image link), and Column Settings dialog (on Click tab)
|
@@ -94059,7 +94111,20 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
|
|
94059
94111
|
} else if (this.opts.videoselect !== '') {
|
94060
94112
|
this.opts.videoSelect = this.opts.videoselect;
|
94061
94113
|
}
|
94062
|
-
if (this.
|
94114
|
+
if (this.opts.filePicker) {
|
94115
|
+
this.opts.imageSelect = this.opts.filePicker;
|
94116
|
+
this.opts.videoSelect = this.opts.filePicker;
|
94117
|
+
this.opts.audioSelect = this.opts.filePicker;
|
94118
|
+
this.opts.fileSelect = this.opts.filePicker;
|
94119
|
+
this.opts.mediaSelect = this.opts.filePicker;
|
94120
|
+
// this.settings.otherSelect = this.settings.filePicker; // this enables additional selector button on link dialog
|
94121
|
+
|
94122
|
+
// backward compatible
|
94123
|
+
this.settings.imageselect = this.settings.filePicker;
|
94124
|
+
this.settings.fileselect = this.settings.filePicker;
|
94125
|
+
this.settings.videoselect = this.settings.filePicker;
|
94126
|
+
}
|
94127
|
+
if (this.assetPanelFullScreen || this.filePickerSize === 'fullscreen') {
|
94063
94128
|
this.imageSelectWidth = '100vw';
|
94064
94129
|
this.imageSelectHeight = '100vh';
|
94065
94130
|
this.fileSelectWidth = '100vw';
|
@@ -94079,6 +94144,26 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
|
|
94079
94144
|
this.mediaSelectMaxWidth = '100vw';
|
94080
94145
|
this.otherSelectMaxWidth = '100vw';
|
94081
94146
|
}
|
94147
|
+
if (this.filePickerSize === 'large') {
|
94148
|
+
this.imageSelectWidth = '100%';
|
94149
|
+
this.imageSelectHeight = '90vh';
|
94150
|
+
this.fileSelectWidth = '100%';
|
94151
|
+
this.fileSelectHeight = '90vh';
|
94152
|
+
this.videoSelectWidth = '100%';
|
94153
|
+
this.videoSelectHeight = '90vh';
|
94154
|
+
this.audioSelectWidth = '100%';
|
94155
|
+
this.audioSelectHeight = '90vh';
|
94156
|
+
this.mediaSelectWidth = '100%';
|
94157
|
+
this.mediaSelectHeight = '90vh';
|
94158
|
+
this.otherSelectWidth = '100%';
|
94159
|
+
this.otherSelectHeight = '90vh';
|
94160
|
+
this.imageSelectMaxWidth = '92vw';
|
94161
|
+
this.fileSelectMaxWidth = '92vw';
|
94162
|
+
this.videoSelectMaxWidth = '92vw';
|
94163
|
+
this.audioSelectMaxWidth = '92vw';
|
94164
|
+
this.mediaSelectMaxWidth = '92vw';
|
94165
|
+
this.otherSelectMaxWidth = '92vw';
|
94166
|
+
}
|
94082
94167
|
|
94083
94168
|
// if(this.opts.largerImageHandler!=='') {
|
94084
94169
|
// this.opts.mediaHandler = this.opts.largerImageHandler;
|