@innovastudio/contentbuilder 1.5.211 → 1.5.213
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 +232 -3
- package/package.json +9 -10
- package/public/contentbuilder/contentbuilder.css +11169 -6865
- package/public/contentbuilder/contentbuilder.esm.js +42164 -50757
- package/public/contentbuilder/contentbuilder.min.js +10 -107
- package/public/contentbuilder/lang/en.js +237 -6
- package/public/contentbuilder/lang/fr.js +245 -14
- package/public/contentbuilder/themes/colored-blue.css +57 -1324
- package/public/contentbuilder/themes/colored-blue2.css +57 -1324
- package/public/contentbuilder/themes/colored-blue3.css +57 -1324
- package/public/contentbuilder/themes/colored-blue4.css +57 -1324
- package/public/contentbuilder/themes/colored-blue5.css +57 -1324
- package/public/contentbuilder/themes/colored-blue6.css +57 -1324
- package/public/contentbuilder/themes/colored-blue7.css +57 -1324
- package/public/contentbuilder/themes/colored-blue8.css +57 -1324
- package/public/contentbuilder/themes/colored-cyan.css +58 -0
- package/public/contentbuilder/themes/colored-dark.css +57 -1295
- package/public/contentbuilder/themes/colored-darkblue.css +57 -1324
- package/public/contentbuilder/themes/colored-gray.css +57 -1324
- package/public/contentbuilder/themes/colored-green.css +57 -1324
- package/public/contentbuilder/themes/colored-green2.css +57 -1324
- package/public/contentbuilder/themes/colored-green3.css +57 -1324
- package/public/contentbuilder/themes/colored-green4.css +57 -1324
- package/public/contentbuilder/themes/colored-green5.css +57 -1324
- package/public/contentbuilder/themes/colored-magenta.css +57 -1324
- package/public/contentbuilder/themes/colored-orange.css +57 -1324
- package/public/contentbuilder/themes/colored-orange2.css +57 -1324
- package/public/contentbuilder/themes/colored-orange3.css +57 -1324
- package/public/contentbuilder/themes/colored-pink.css +57 -1324
- package/public/contentbuilder/themes/colored-pink2.css +57 -1324
- package/public/contentbuilder/themes/colored-pink3.css +57 -1324
- package/public/contentbuilder/themes/colored-pink4.css +57 -1324
- package/public/contentbuilder/themes/colored-purple.css +57 -1324
- package/public/contentbuilder/themes/colored-purple2.css +57 -1324
- package/public/contentbuilder/themes/colored-red.css +57 -1324
- package/public/contentbuilder/themes/colored-red2.css +57 -1324
- package/public/contentbuilder/themes/colored-red3.css +57 -1324
- package/public/contentbuilder/themes/colored-red4.css +57 -1324
- package/public/contentbuilder/themes/colored-red5.css +57 -1324
- package/public/contentbuilder/themes/colored-yellow.css +57 -1324
- package/public/contentbuilder/themes/colored-yellow2.css +57 -1324
- package/public/contentbuilder/themes/colored-yellow3.css +58 -0
- package/public/contentbuilder/themes/dark-blue.css +26 -1371
- package/public/contentbuilder/themes/dark-blue2.css +26 -1371
- package/public/contentbuilder/themes/dark-blue3.css +26 -1371
- package/public/contentbuilder/themes/dark-gray.css +26 -1371
- package/public/contentbuilder/themes/dark-pink.css +26 -1371
- package/public/contentbuilder/themes/dark-purple.css +26 -1371
- package/public/contentbuilder/themes/dark-red.css +26 -1371
- package/public/contentbuilder/themes/light-blue.css +29 -1323
- package/public/contentbuilder/themes/light-blue2.css +29 -1323
- package/public/contentbuilder/themes/light-blue3.css +29 -1323
- package/public/contentbuilder/themes/light-cyan.css +29 -1323
- package/public/contentbuilder/themes/light-gray.css +29 -1323
- package/public/contentbuilder/themes/light-gray2.css +29 -1323
- package/public/contentbuilder/themes/light-gray3.css +29 -1323
- package/public/contentbuilder/themes/light-green.css +29 -1323
- package/public/contentbuilder/themes/light-pink.css +29 -1323
- package/public/contentbuilder/themes/light-pink2.css +29 -1323
- package/public/contentbuilder/themes/light-purple.css +29 -1323
- package/public/contentbuilder/themes/light-purple2.css +29 -1323
- package/public/contentbuilder/themes/light-red.css +29 -1323
- package/public/contentbuilder/themes/light-yellow.css +29 -1323
- package/public/contentbuilder/themes/light-yellow2.css +29 -1323
- package/readme.txt +225 -154
- package/public/contentbuilder/config.js +0 -7
- package/public/contentbuilder/content.css +0 -7777
- package/public/contentbuilder/plugins/animation/plugin.js +0 -25
- package/public/contentbuilder/plugins/buttoneditor/images/a.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/b.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/c.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/d.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/e.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/f.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/g.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/h.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/plugin.js +0 -1600
- package/public/contentbuilder/plugins/buttoneditor/readme.txt +0 -7
- package/public/contentbuilder/plugins/helloworld/plugin.js +0 -21
- package/public/contentbuilder/plugins/helloworld/readme.txt +0 -23
- package/public/contentbuilder/plugins/preview/plugin.js +0 -371
- package/public/contentbuilder/plugins/preview/readme.txt +0 -23
- package/public/contentbuilder/plugins/searchreplace/plugin.js +0 -524
- package/public/contentbuilder/plugins/searchreplace/readme.txt +0 -23
- package/public/contentbuilder/plugins/searchreplace/searchreplace.html +0 -264
- package/public/contentbuilder/plugins/showgrid/plugin.js +0 -74
- package/public/contentbuilder/plugins/showgrid/readme.txt +0 -23
- package/public/contentbuilder/plugins/symbols/plugin.js +0 -3126
- package/public/contentbuilder/plugins/symbols/readme.txt +0 -23
- package/public/contentbuilder/plugins/wordcount/plugin.js +0 -76
- package/public/contentbuilder/plugins/wordcount/readme.txt +0 -23
- package/public/contentbuilder/themes/dark.css +0 -1377
package/index.d.ts
CHANGED
|
@@ -9,6 +9,13 @@ interface ContentBuilderOptions {
|
|
|
9
9
|
imageQuality?: number;
|
|
10
10
|
maxZoom?: number;
|
|
11
11
|
elementSelection?: boolean;
|
|
12
|
+
/** Paste mode.
|
|
13
|
+
* 'auto' (default): content adopts the destination block,
|
|
14
|
+
* keeping semantic inline marks (bold/italic/underline/strike/link/code/
|
|
15
|
+
* sub-sup) and dropping presentational styling
|
|
16
|
+
* 'text': plain text.
|
|
17
|
+
* 'html': HTML with styles.
|
|
18
|
+
* 'html-without-styles': HTML, inline styles dropped, classes kept. */
|
|
12
19
|
paste?: string;
|
|
13
20
|
snippetJSON?: object;
|
|
14
21
|
screenMode?: string;
|
|
@@ -31,6 +38,23 @@ interface ContentBuilderOptions {
|
|
|
31
38
|
assetPath?: string;
|
|
32
39
|
fontAssetPath?: string;
|
|
33
40
|
fontPath?: string;
|
|
41
|
+
|
|
42
|
+
/** Replaces the built-in font list of the Text panel's font picker. */
|
|
43
|
+
fonts?: FontEntry[] | null;
|
|
44
|
+
/** Adds fonts to the font list. Use this for fonts your users upload. */
|
|
45
|
+
customFonts?: FontEntry[];
|
|
46
|
+
/**
|
|
47
|
+
* How the font picker shows each font: drawn in the font itself ('font',
|
|
48
|
+
* the default), the thumbnails shipped in fontAssetPath ('image', which
|
|
49
|
+
* needs no internet connection), or plain text ('none').
|
|
50
|
+
*/
|
|
51
|
+
fontPreview?: 'font' | 'image' | 'none';
|
|
52
|
+
/**
|
|
53
|
+
* Where 'font' previews are fetched from. Defaults to Google's CSS2
|
|
54
|
+
* endpoint; any Google Fonts compatible service works.
|
|
55
|
+
*/
|
|
56
|
+
fontPreviewUrl?: string;
|
|
57
|
+
|
|
34
58
|
snippetModal?: boolean;
|
|
35
59
|
snippetModalLeft?: boolean;
|
|
36
60
|
snippetData?: string;
|
|
@@ -61,7 +85,7 @@ interface ContentBuilderOptions {
|
|
|
61
85
|
onVideoUpload?: () => void;
|
|
62
86
|
audioHandler?: string;
|
|
63
87
|
onAudioUpload?: () => void;
|
|
64
|
-
colors?: any[];
|
|
88
|
+
colors?: any[];
|
|
65
89
|
builderMode?: string;
|
|
66
90
|
rowTool?: string;
|
|
67
91
|
rowcolOutline?: boolean;
|
|
@@ -94,6 +118,16 @@ interface ContentBuilderOptions {
|
|
|
94
118
|
onImageSettingClick?: () => void;
|
|
95
119
|
onImageEditClick?: () => void;
|
|
96
120
|
setCropperConfig?: () => void;
|
|
121
|
+
/** @deprecated 'crop' opens the older crop-only dialog. It will be removed. */
|
|
122
|
+
imageEditor?: string;
|
|
123
|
+
/** LUT library for the image editor's look reel: entries, { category: entries }, or a URL to a JSON file. */
|
|
124
|
+
imageEditorPresets?: string | any[] | Record<string, any[]> | null;
|
|
125
|
+
/** Encoder quality (0-1) used when the image editor saves. Default 0.92. */
|
|
126
|
+
imageEditorQuality?: number;
|
|
127
|
+
/** Show the image editor's "My looks" section (save & re-apply a treatment). Default false. */
|
|
128
|
+
imageEditorMyLooks?: boolean;
|
|
129
|
+
/** Show the image editor's "Load .cube…" button (load a LUT from the user's computer). Default false. */
|
|
130
|
+
imageEditorLoadCube?: boolean;
|
|
97
131
|
imageEmbed?: boolean;
|
|
98
132
|
imageselect?: string;
|
|
99
133
|
fileselect?: string;
|
|
@@ -147,7 +181,9 @@ interface ContentBuilderOptions {
|
|
|
147
181
|
toolbarAddSnippetButton?: boolean;
|
|
148
182
|
animateModal?: boolean;
|
|
149
183
|
defaultFontSizes?: any[];
|
|
150
|
-
fontSizeClassValues?: any[];
|
|
184
|
+
fontSizeClassValues?: any[];
|
|
185
|
+
/** Box-shadow presets shown as a swatch grid in the element panel's Shadow tab. */
|
|
186
|
+
shadowTemplates?: string[];
|
|
151
187
|
gradientcolors?: any[];
|
|
152
188
|
elementEditor?: boolean;
|
|
153
189
|
customval?: string;
|
|
@@ -172,6 +208,10 @@ interface ContentBuilderOptions {
|
|
|
172
208
|
pageSizes?: any[];
|
|
173
209
|
maxEmbedImageWidth?: number;
|
|
174
210
|
zoom?: number;
|
|
211
|
+
/** Default position of the plugin settings modal. Default 'center'. */
|
|
212
|
+
pluginSettingsPosition?: 'center' | 'right' | 'left' | { top?: string | number; left?: string | number; right?: string | number; bottom?: string | number };
|
|
213
|
+
/** Default position of the button editor modal. Default 'center'. */
|
|
214
|
+
buttonEditorPosition?: 'center' | 'right' | 'left' | { top?: string | number; left?: string | number; right?: string | number; bottom?: string | number };
|
|
175
215
|
useLightbox?: boolean;
|
|
176
216
|
lightboxArrow?: boolean;
|
|
177
217
|
imageRenameOnEdit?: boolean;
|
|
@@ -188,6 +228,10 @@ interface ContentBuilderOptions {
|
|
|
188
228
|
leadingPreset?: any[];
|
|
189
229
|
cssClasses?: object;
|
|
190
230
|
useCssClasses?: boolean;
|
|
231
|
+
/** When the caret is in text with no selection, apply formatting (bold,
|
|
232
|
+
* size, color, …) to the nearest element the caret is in — e.g. restyle a
|
|
233
|
+
* whole heading without selecting it. Default true. */
|
|
234
|
+
caretFormatting?: boolean;
|
|
191
235
|
useButtonPlugin?: boolean;
|
|
192
236
|
enableDragResize?: boolean;
|
|
193
237
|
simpleTextSettings?: boolean;
|
|
@@ -235,9 +279,33 @@ interface ContentBuilderOptions {
|
|
|
235
279
|
clearChatSettings?: boolean;
|
|
236
280
|
defaultChatSettings?: Record<string, any>;
|
|
237
281
|
demoMode?: boolean;
|
|
238
|
-
demoConversations?: any[];
|
|
282
|
+
demoConversations?: any[];
|
|
239
283
|
startCodeChat?: boolean;
|
|
240
284
|
|
|
285
|
+
//-- Code Chat: vision / attachments
|
|
286
|
+
/** Let files be attached to a chat message. Off by default: the attach
|
|
287
|
+
* button is hidden and drag-and-drop and paste are not accepted. */
|
|
288
|
+
chatAttachments?: boolean;
|
|
289
|
+
/** Legacy attachment handling: extract text from Office/text files and
|
|
290
|
+
* transcode images before sending, instead of passing files through
|
|
291
|
+
* natively. Off by default. */
|
|
292
|
+
convertAttachments?: boolean;
|
|
293
|
+
/** Explicit override of which code models accept image input. When omitted,
|
|
294
|
+
* capability comes from a model entry's own `accepts` list, then family
|
|
295
|
+
* heuristics. */
|
|
296
|
+
visionCapableCodeModels?: string[];
|
|
297
|
+
/** Same as visionCapableCodeModels, for the chat model list. */
|
|
298
|
+
visionCapableChatModels?: string[];
|
|
299
|
+
/** Per-provider image model lists. Only the active provider's list is used,
|
|
300
|
+
* and the provider suffix is matched case-insensitively. An entry is
|
|
301
|
+
* `{ id, label, sizes?, size_param?, output_format?, output_param?,
|
|
302
|
+
* size_auto?, image_input?, edit? }`; a Fal entry adds
|
|
303
|
+
* `edit: { id, image_param, image_max?, ...overrides }` naming the model id
|
|
304
|
+
* used when reference images ride along. */
|
|
305
|
+
imageModels_Fal?: any[];
|
|
306
|
+
imageModels_OpenRouter?: any[];
|
|
307
|
+
imageModels_OpenAI?: any[];
|
|
308
|
+
|
|
241
309
|
//-- Asset Manager
|
|
242
310
|
listFilesUrl?: string;
|
|
243
311
|
listFoldersUrl?: string;
|
|
@@ -282,6 +350,21 @@ interface ContentBuilderOptions {
|
|
|
282
350
|
generateMediaUrl_Fal?: string;
|
|
283
351
|
checkRequestStatusUrl_Fal?: string;
|
|
284
352
|
getResultUrl_Fal?: string;
|
|
353
|
+
/** OpenRouter image provider (defaultImageGenerationProvider: 'openrouter').
|
|
354
|
+
* Same three-step request/status/result contract as the _Fal endpoints,
|
|
355
|
+
* including reference-image features (restyle / edit existing photos),
|
|
356
|
+
* which all three providers serve. */
|
|
357
|
+
generateMediaUrl_OpenRouter?: string;
|
|
358
|
+
checkRequestStatusUrl_OpenRouter?: string;
|
|
359
|
+
getResultUrl_OpenRouter?: string;
|
|
360
|
+
/** OpenAI image provider (defaultImageGenerationProvider: 'openai').
|
|
361
|
+
* The same three-step request/status/result contract as the _Fal and
|
|
362
|
+
* _OpenRouter endpoints, including reference-image features (an entry with
|
|
363
|
+
* image_input: true routes to /v1/images/edits). Distinct from the older
|
|
364
|
+
* one-shot generateMediaUrl_OpenAI_CreateImage(Edit) below. */
|
|
365
|
+
generateMediaUrl_OpenAI?: string;
|
|
366
|
+
checkRequestStatusUrl_OpenAI?: string;
|
|
367
|
+
getResultUrl_OpenAI?: string;
|
|
285
368
|
minimizeImageUrl?: string;
|
|
286
369
|
cleanup?: string;
|
|
287
370
|
generateMediaUrl_OpenAI_CreateImage?: string;
|
|
@@ -299,6 +382,38 @@ interface ContentBuilderOptions {
|
|
|
299
382
|
//---
|
|
300
383
|
}
|
|
301
384
|
|
|
385
|
+
/** Options for builder.modal(). Only `html` is required. */
|
|
386
|
+
interface ModalOptions {
|
|
387
|
+
/** Title bar text. Omit for a bare dialog with a floating close button. */
|
|
388
|
+
title?: string;
|
|
389
|
+
/** The content of the dialog: plain markup, no shell needed. */
|
|
390
|
+
html: string;
|
|
391
|
+
/** 320 (px) or any CSS length, e.g. '40rem'. */
|
|
392
|
+
width?: number | string;
|
|
393
|
+
/** Overrides the body padding. Skipped automatically if your own outermost
|
|
394
|
+
* element already sets padding inline. */
|
|
395
|
+
padding?: string;
|
|
396
|
+
/** Default: true. */
|
|
397
|
+
closeButton?: boolean;
|
|
398
|
+
/** Default: true. Applies to the title bar. */
|
|
399
|
+
draggable?: boolean;
|
|
400
|
+
/** Extra class on the shell, so you can style it from your own CSS. */
|
|
401
|
+
className?: string;
|
|
402
|
+
overlayStay?: boolean;
|
|
403
|
+
onOpen?: (modal: ModalHandle) => void;
|
|
404
|
+
onClose?: (modal: ModalHandle) => void;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/** What builder.modal() returns. */
|
|
408
|
+
interface ModalHandle {
|
|
409
|
+
/** The dialog element. */
|
|
410
|
+
el: HTMLElement;
|
|
411
|
+
/** The content wrapper - query your own markup from here. */
|
|
412
|
+
body: HTMLElement;
|
|
413
|
+
open(): ModalHandle;
|
|
414
|
+
close(): ModalHandle;
|
|
415
|
+
}
|
|
416
|
+
|
|
302
417
|
declare class ContentBuilder {
|
|
303
418
|
constructor(options?: ContentBuilderOptions);
|
|
304
419
|
|
|
@@ -312,6 +427,10 @@ declare class ContentBuilder {
|
|
|
312
427
|
saveImages(handler?: string, onComplete?: () => void, onBase64Upload?: () => void): void;
|
|
313
428
|
applyBehavior(): void;
|
|
314
429
|
applyBehaviorOn(element: HTMLElement): void;
|
|
430
|
+
/** Paint a colour-swatch button (`.cb-colorbtn`): reflect the colour on the
|
|
431
|
+
* swatch's inner `<span>` and toggle its empty (checkerboard) state. Public
|
|
432
|
+
* counterpart to `colorPicker` for external swatches. Pass '' to clear. */
|
|
433
|
+
paintColorButton(btn: HTMLElement, value: string): void;
|
|
315
434
|
viewConfig(): void;
|
|
316
435
|
setUIColor(mode: string, csslink?: string): void;
|
|
317
436
|
viewHtml(): void;
|
|
@@ -329,10 +448,120 @@ declare class ContentBuilder {
|
|
|
329
448
|
openAIAssistant(): void;
|
|
330
449
|
closeAIAssistant(): void;
|
|
331
450
|
saveForUndo(): void;
|
|
451
|
+
/**
|
|
452
|
+
* Translate a source string through the configured language map
|
|
453
|
+
* (`opts.lang`, populated from the global `_txt` when a language file is
|
|
454
|
+
* loaded). Returns the translation, or the string itself when there's no
|
|
455
|
+
* entry. Safe to call outside the editor — e.g. to localize the title of a
|
|
456
|
+
* custom toolbar button added with `addButton`.
|
|
457
|
+
*/
|
|
458
|
+
out(text: string): string;
|
|
459
|
+
/**
|
|
460
|
+
* Convert the current text selection into an inline plugin instance
|
|
461
|
+
* (e.g. wrap selected text in a tooltip/footnote span). Wire a toolbar
|
|
462
|
+
* button (addButton) that calls this; the framework restores the RTE
|
|
463
|
+
* selection, wraps it, stamps data-cb-type, mounts via the runtime, and
|
|
464
|
+
* optionally opens the plugin's content editor. Returns the created element,
|
|
465
|
+
* or null when there is no usable selection.
|
|
466
|
+
*/
|
|
467
|
+
convertSelectionToPlugin(
|
|
468
|
+
pluginName: string,
|
|
469
|
+
config?: {
|
|
470
|
+
create?: (selectedText: string, doc: Document) => HTMLElement;
|
|
471
|
+
attributes?: Record<string, string>;
|
|
472
|
+
className?: string;
|
|
473
|
+
tag?: string;
|
|
474
|
+
openEditor?: boolean;
|
|
475
|
+
}
|
|
476
|
+
): HTMLElement | null;
|
|
477
|
+
/**
|
|
478
|
+
* Create a rich-text editor (Inscribe) inside a plugin settings panel — a
|
|
479
|
+
* modern, execCommand-free replacement for a raw contenteditable. Returns the
|
|
480
|
+
* Inscribe instance (toggle/apply/link/list/setBlock/getHTML/setHTML/on/…).
|
|
481
|
+
* Lifecycle is framework-managed: every editor is torn down when the plugin
|
|
482
|
+
* settings panel rebuilds or closes, so multiple editors per panel are safe.
|
|
483
|
+
*/
|
|
484
|
+
createPanelEditor(
|
|
485
|
+
el: HTMLElement,
|
|
486
|
+
opts?: { onChange?: () => void; inscribe?: Record<string, any> }
|
|
487
|
+
): any;
|
|
488
|
+
/** Destroy every editor created by createPanelEditor (framework-managed). */
|
|
489
|
+
destroyPanelEditors(): void;
|
|
490
|
+
/**
|
|
491
|
+
* Convert an inline plugin (a span[data-cb-type], e.g. a tooltip) back to
|
|
492
|
+
* plain text: cleanly unmount it and unwrap it, keeping its text. Undoable.
|
|
493
|
+
*/
|
|
494
|
+
convertPluginToText(element: HTMLElement): boolean;
|
|
495
|
+
/**
|
|
496
|
+
* Toggle a highlight (marker) background on the current text selection —
|
|
497
|
+
* apply it, or remove it if the selection is already highlighted.
|
|
498
|
+
*/
|
|
499
|
+
toggleHighlight(color?: string): void;
|
|
332
500
|
selectAsset(s: string, f?: boolean): void;
|
|
501
|
+
/**
|
|
502
|
+
* Show a file: images and video open in the editor's lightbox, anything
|
|
503
|
+
* else (pdf, audio, archives) opens in a new tab. Also available inside a
|
|
504
|
+
* page opened by the editor as window.parent.previewAsset(url).
|
|
505
|
+
*/
|
|
506
|
+
previewAsset(url: string): void;
|
|
333
507
|
hideModal(modal?: HTMLElement): void;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* Build a dialog from plain content. The shell, title bar, close button,
|
|
511
|
+
* aria attributes, padding and drag wiring are supplied for you:
|
|
512
|
+
*
|
|
513
|
+
* const wc = builder.modal({ title: 'Word Count', width: 320, html: '<div>…</div>' });
|
|
514
|
+
* wc.open();
|
|
515
|
+
*/
|
|
516
|
+
modal(options: ModalOptions): ModalHandle;
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* Page Preview. Opens previewURL in a fullscreen frame with a width ruler,
|
|
520
|
+
* so a layout can be checked at any width without leaving the editor.
|
|
521
|
+
* Does nothing when previewURL is unset.
|
|
522
|
+
*
|
|
523
|
+
* Distinct from openPreview(), which opens Live Preview, the small floating
|
|
524
|
+
* window. Both remain available.
|
|
525
|
+
*/
|
|
526
|
+
openPagePreview(): void;
|
|
527
|
+
|
|
528
|
+
/** Insert markup into the editor's container (#_cbhtml), so .is-modal and
|
|
529
|
+
* friends style it as they style the built-in dialogs. */
|
|
530
|
+
addHtml(html: string): void;
|
|
531
|
+
/** Append a stylesheet to the page's <head>. */
|
|
532
|
+
addCss(css: string): void;
|
|
533
|
+
showModal(
|
|
534
|
+
modal: HTMLElement,
|
|
535
|
+
overlayStay?: boolean,
|
|
536
|
+
cancelCallback?: () => void,
|
|
537
|
+
animated?: boolean,
|
|
538
|
+
overflowHidden?: boolean
|
|
539
|
+
): void;
|
|
540
|
+
/** Insert the modal if it is not there yet, show it, and wire dragging. */
|
|
541
|
+
createModal(
|
|
542
|
+
modal: HTMLElement,
|
|
543
|
+
selector: string,
|
|
544
|
+
overlayStay?: boolean,
|
|
545
|
+
cancelCallback?: () => void,
|
|
546
|
+
animated?: boolean,
|
|
547
|
+
overflowHidden?: boolean
|
|
548
|
+
): HTMLElement;
|
|
549
|
+
/** Make anything matching the selector draggable by that element. */
|
|
550
|
+
draggable(selector: string): void;
|
|
551
|
+
showSidePanel(panel: HTMLElement): void;
|
|
552
|
+
hideSidePanel(panel: HTMLElement): void;
|
|
553
|
+
getScriptPath(): string;
|
|
334
554
|
closeAsset(): void;
|
|
335
555
|
addBlock(html: string, blockContainer?: HTMLElement): void;
|
|
556
|
+
/**
|
|
557
|
+
* Register a custom button on the text-selection (RTE) toolbar. `pluginName`
|
|
558
|
+
* matches a `data-plugin` placeholder produced by listing the name in the
|
|
559
|
+
* `buttons` option; `html` is the button markup (include that
|
|
560
|
+
* `data-plugin="<name>"`), `selector` finds it, and `exec` runs on click.
|
|
561
|
+
*/
|
|
562
|
+
addButton(pluginName: string, html: string, selector: string, exec: (e: MouseEvent) => void): void;
|
|
563
|
+
/** Same as `addButton`, but for the element (block) toolbar. */
|
|
564
|
+
addButton2(pluginName: string, html: string, selector: string, exec: (e: MouseEvent) => void): void;
|
|
336
565
|
addPage(box?: HTMLElement): void;
|
|
337
566
|
setPageSize(s?: string): void;
|
|
338
567
|
openPageOptions(): void;
|
package/package.json
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@innovastudio/contentbuilder",
|
|
3
2
|
"type": "module",
|
|
4
|
-
"
|
|
3
|
+
"name": "@innovastudio/contentbuilder",
|
|
4
|
+
"version": "1.5.213",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "public/contentbuilder/contentbuilder.esm.js",
|
|
7
7
|
"types": "index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"public/contentbuilder",
|
|
10
|
+
"!public/contentbuilder/plugins",
|
|
11
|
+
"!public/contentbuilder/config.js",
|
|
10
12
|
"index.d.ts"
|
|
11
13
|
],
|
|
12
14
|
"scripts": {
|
|
13
15
|
"build": "rollup -c",
|
|
14
16
|
"start": "concurrently \"node server.js\" \"webpack serve --config webpack.config.js\"",
|
|
15
|
-
"scss": "sass --no-source-map src/scss/contentbuilder.scss:public/contentbuilder/contentbuilder.css src/scss/themes/
|
|
17
|
+
"scss": "sass --no-source-map src/scss/contentbuilder.scss:public/contentbuilder/contentbuilder.css src/scss/themes/colored-blue.scss:public/contentbuilder/themes/colored-blue.css src/scss/themes/colored-blue6.scss:public/contentbuilder/themes/colored-blue6.css src/scss/themes/colored-darkblue.scss:public/contentbuilder/themes/colored-darkblue.css src/scss/themes/colored-green.scss:public/contentbuilder/themes/colored-green.css src/scss/themes/colored-orange.scss:public/contentbuilder/themes/colored-orange.css src/scss/themes/colored-magenta.scss:public/contentbuilder/themes/colored-magenta.css src/scss/themes/colored-purple.scss:public/contentbuilder/themes/colored-purple.css src/scss/themes/colored-pink.scss:public/contentbuilder/themes/colored-pink.css src/scss/themes/colored-red.scss:public/contentbuilder/themes/colored-red.css src/scss/themes/colored-yellow.scss:public/contentbuilder/themes/colored-yellow.css src/scss/themes/colored-green4.scss:public/contentbuilder/themes/colored-green4.css src/scss/themes/colored-dark.scss:public/contentbuilder/themes/colored-dark.css src/scss/themes/light-blue.scss:public/contentbuilder/themes/light-blue.css src/scss/themes/light-pink.scss:public/contentbuilder/themes/light-pink.css src/scss/themes/light-purple.scss:public/contentbuilder/themes/light-purple.css src/scss/themes/light-red.scss:public/contentbuilder/themes/light-red.css src/scss/themes/light-yellow.scss:public/contentbuilder/themes/light-yellow.css src/scss/themes/light-green.scss:public/contentbuilder/themes/light-green.css src/scss/themes/light-cyan.scss:public/contentbuilder/themes/light-cyan.css src/scss/themes/light-blue2.scss:public/contentbuilder/themes/light-blue2.css src/scss/themes/light-pink2.scss:public/contentbuilder/themes/light-pink2.css src/scss/themes/light-purple2.scss:public/contentbuilder/themes/light-purple2.css src/scss/themes/light-blue3.scss:public/contentbuilder/themes/light-blue3.css src/scss/themes/light-yellow2.scss:public/contentbuilder/themes/light-yellow2.css src/scss/themes/light-gray3.scss:public/contentbuilder/themes/light-gray3.css src/scss/themes/light-gray2.scss:public/contentbuilder/themes/light-gray2.css src/scss/themes/light-gray.scss:public/contentbuilder/themes/light-gray.css src/scss/themes/colored-blue2.scss:public/contentbuilder/themes/colored-blue2.css src/scss/themes/colored-blue4.scss:public/contentbuilder/themes/colored-blue4.css src/scss/themes/colored-blue3.scss:public/contentbuilder/themes/colored-blue3.css src/scss/themes/colored-blue5.scss:public/contentbuilder/themes/colored-blue5.css src/scss/themes/colored-pink3.scss:public/contentbuilder/themes/colored-pink3.css src/scss/themes/colored-purple2.scss:public/contentbuilder/themes/colored-purple2.css src/scss/themes/colored-yellow2.scss:public/contentbuilder/themes/colored-yellow2.css src/scss/themes/colored-red3.scss:public/contentbuilder/themes/colored-red3.css src/scss/themes/colored-green2.scss:public/contentbuilder/themes/colored-green2.css src/scss/themes/colored-green3.scss:public/contentbuilder/themes/colored-green3.css src/scss/themes/colored-pink2.scss:public/contentbuilder/themes/colored-pink2.css src/scss/themes/colored-orange2.scss:public/contentbuilder/themes/colored-orange2.css src/scss/themes/colored-red2.scss:public/contentbuilder/themes/colored-red2.css src/scss/themes/colored-gray.scss:public/contentbuilder/themes/colored-gray.css src/scss/themes/dark-blue.scss:public/contentbuilder/themes/dark-blue.css src/scss/themes/dark-blue2.scss:public/contentbuilder/themes/dark-blue2.css src/scss/themes/dark-purple.scss:public/contentbuilder/themes/dark-purple.css src/scss/themes/dark-pink.scss:public/contentbuilder/themes/dark-pink.css src/scss/themes/dark-blue3.scss:public/contentbuilder/themes/dark-blue3.css src/scss/themes/dark-gray.scss:public/contentbuilder/themes/dark-gray.css src/scss/themes/dark-red.scss:public/contentbuilder/themes/dark-red.css src/scss/themes/colored-red4.scss:public/contentbuilder/themes/colored-red4.css src/scss/themes/colored-blue7.scss:public/contentbuilder/themes/colored-blue7.css src/scss/themes/colored-pink4.scss:public/contentbuilder/themes/colored-pink4.css src/scss/themes/colored-blue8.scss:public/contentbuilder/themes/colored-blue8.css src/scss/themes/colored-green5.scss:public/contentbuilder/themes/colored-green5.css src/scss/themes/colored-orange3.scss:public/contentbuilder/themes/colored-orange3.css src/scss/themes/colored-red5.scss:public/contentbuilder/themes/colored-red5.css src/scss/themes/colored-cyan.scss:public/contentbuilder/themes/colored-cyan.css src/scss/themes/colored-yellow3.scss:public/contentbuilder/themes/colored-yellow3.css ",
|
|
16
18
|
"serve": "webpack serve --config webpack.config.js",
|
|
17
19
|
"build-old": "webpack --config webpack.prod.config.js",
|
|
18
20
|
"scss2": "sass --watch --no-source-map src/scss/contentbuilder.scss public/contentbuilder/contentbuilder.css",
|
|
19
|
-
"
|
|
21
|
+
"test": "node src/contentbuilder/test/tabletool.test.mjs"
|
|
20
22
|
},
|
|
21
23
|
"keywords": [],
|
|
22
24
|
"author": "",
|
|
@@ -27,7 +29,6 @@
|
|
|
27
29
|
"@babel/plugin-proposal-class-properties": "^7.14.5",
|
|
28
30
|
"@babel/plugin-transform-runtime": "^7.18.2",
|
|
29
31
|
"@babel/preset-env": "^7.15.6",
|
|
30
|
-
"@deepgram/sdk": "^2.3.0",
|
|
31
32
|
"@fal-ai/client": "^1.4.0",
|
|
32
33
|
"@google/genai": "^0.12.0",
|
|
33
34
|
"@rollup/plugin-babel": "^5.3.0",
|
|
@@ -44,9 +45,11 @@
|
|
|
44
45
|
"express": "^4.17.1",
|
|
45
46
|
"express-session": "^1.17.2",
|
|
46
47
|
"formidable-serverless": "^1.1.1",
|
|
48
|
+
"jsdom": "^29.1.1",
|
|
47
49
|
"mini-css-extract-plugin": "^2.3.0",
|
|
48
50
|
"multer": "^1.4.5-lts.1",
|
|
49
51
|
"openai": "^4.96.2",
|
|
52
|
+
"playwright": "^1.62.1",
|
|
50
53
|
"rollup": "^2.57.0",
|
|
51
54
|
"rollup-plugin-terser": "^7.0.2",
|
|
52
55
|
"sass": "^1.42.1",
|
|
@@ -60,13 +63,9 @@
|
|
|
60
63
|
},
|
|
61
64
|
"dependencies": {
|
|
62
65
|
"@monaco-editor/loader": "^1.6.1",
|
|
63
|
-
"blueimp-load-image": "^5.16.0",
|
|
64
66
|
"cropperjs": "^1.5.12",
|
|
65
67
|
"js-beautify": "^1.14.0",
|
|
66
68
|
"marked": "^17.0.0",
|
|
67
|
-
"
|
|
68
|
-
"nanopop": "^2.4.2",
|
|
69
|
-
"sortablejs": "^1.15.2",
|
|
70
|
-
"string-similarity-js": "^2.1.4"
|
|
69
|
+
"sortablejs": "^1.15.2"
|
|
71
70
|
}
|
|
72
71
|
}
|