@pexelize/react-editor 2.1.5 → 2.1.7
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/dist/index.d.ts +135 -3
- package/dist/index.esm.js +77 -14
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +77 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import React from 'react';
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Pexelize React Editor Types
|
|
5
|
-
* Minimal type definitions for the React wrapper
|
|
6
5
|
*/
|
|
7
6
|
type EditorMode = "email" | "web" | "popup" | "document";
|
|
8
7
|
type ThemeMode = "light" | "dark" | "auto" | "pexelize-light" | "pexelize-dark";
|
|
@@ -96,10 +95,64 @@ interface SpecialLinkGroup {
|
|
|
96
95
|
name: string;
|
|
97
96
|
specialLinks: SpecialLink[];
|
|
98
97
|
}
|
|
98
|
+
interface ModulesTabConfig {
|
|
99
|
+
/** Rows accordion configuration */
|
|
100
|
+
rows?: {
|
|
101
|
+
visible?: boolean;
|
|
102
|
+
defaultExpanded?: boolean;
|
|
103
|
+
};
|
|
104
|
+
/** Saved modules accordion configuration */
|
|
105
|
+
savedModules?: {
|
|
106
|
+
visible?: boolean;
|
|
107
|
+
defaultExpanded?: boolean;
|
|
108
|
+
/** Title for the saved modules accordion (default: "Saved Modules") */
|
|
109
|
+
title?: string;
|
|
110
|
+
};
|
|
111
|
+
/** Custom tabs configuration */
|
|
112
|
+
customTabs?: Array<{
|
|
113
|
+
id: string;
|
|
114
|
+
title: string;
|
|
115
|
+
icon?: string;
|
|
116
|
+
defaultExpanded?: boolean;
|
|
117
|
+
items?: Array<{
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
thumbnail?: string;
|
|
121
|
+
data?: Record<string, unknown>;
|
|
122
|
+
}>;
|
|
123
|
+
}>;
|
|
124
|
+
}
|
|
125
|
+
interface StylesTabConfig {
|
|
126
|
+
general?: {
|
|
127
|
+
visible?: boolean;
|
|
128
|
+
defaultExpanded?: boolean;
|
|
129
|
+
};
|
|
130
|
+
fonts?: {
|
|
131
|
+
visible?: boolean;
|
|
132
|
+
defaultExpanded?: boolean;
|
|
133
|
+
};
|
|
134
|
+
contentAlignment?: {
|
|
135
|
+
visible?: boolean;
|
|
136
|
+
defaultExpanded?: boolean;
|
|
137
|
+
};
|
|
138
|
+
backgroundImage?: {
|
|
139
|
+
visible?: boolean;
|
|
140
|
+
defaultExpanded?: boolean;
|
|
141
|
+
};
|
|
142
|
+
linkStyles?: {
|
|
143
|
+
visible?: boolean;
|
|
144
|
+
defaultExpanded?: boolean;
|
|
145
|
+
};
|
|
146
|
+
preheader?: {
|
|
147
|
+
visible?: boolean;
|
|
148
|
+
defaultExpanded?: boolean;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
99
151
|
interface AppearanceConfig {
|
|
100
152
|
theme?: ThemeMode | object;
|
|
101
153
|
accentColor?: string;
|
|
102
154
|
sidePanel?: {
|
|
155
|
+
/** Main tab visibility */
|
|
103
156
|
tabs?: {
|
|
104
157
|
content?: {
|
|
105
158
|
visible?: boolean;
|
|
@@ -111,8 +164,15 @@ interface AppearanceConfig {
|
|
|
111
164
|
visible?: boolean;
|
|
112
165
|
};
|
|
113
166
|
};
|
|
167
|
+
/** Modules tab configuration */
|
|
168
|
+
modulesTab?: ModulesTabConfig;
|
|
169
|
+
/** Styles tab configuration */
|
|
170
|
+
stylesTab?: StylesTabConfig;
|
|
171
|
+
/** Panel position: 'left' or 'right' (default: 'right') */
|
|
114
172
|
dock?: "left" | "right";
|
|
173
|
+
/** Panel width in pixels (default: 380) */
|
|
115
174
|
width?: number;
|
|
175
|
+
/** Whether panel can be collapsed (default: false) */
|
|
116
176
|
collapsible?: boolean;
|
|
117
177
|
};
|
|
118
178
|
}
|
|
@@ -130,14 +190,57 @@ interface ModuleFeaturesConfig {
|
|
|
130
190
|
/** Enable save row as module button */
|
|
131
191
|
saveRowAsModule?: boolean;
|
|
132
192
|
}
|
|
193
|
+
interface StockImagesConfig {
|
|
194
|
+
/** Enable stock images */
|
|
195
|
+
enabled?: boolean;
|
|
196
|
+
/** Stock image providers */
|
|
197
|
+
providers?: string[];
|
|
198
|
+
}
|
|
199
|
+
interface TextEditorConfig {
|
|
200
|
+
/** Enable spell checker */
|
|
201
|
+
spellChecker?: boolean;
|
|
202
|
+
/** Enable tables */
|
|
203
|
+
tables?: boolean;
|
|
204
|
+
/** Clean pasted content */
|
|
205
|
+
cleanPaste?: boolean;
|
|
206
|
+
}
|
|
207
|
+
interface ExportFeaturesConfig {
|
|
208
|
+
/** Enable HTML export */
|
|
209
|
+
html?: boolean;
|
|
210
|
+
/** Enable PDF export */
|
|
211
|
+
pdf?: boolean;
|
|
212
|
+
/** Enable image export */
|
|
213
|
+
image?: boolean;
|
|
214
|
+
/** Enable ZIP export */
|
|
215
|
+
zip?: boolean;
|
|
216
|
+
}
|
|
133
217
|
interface FeaturesConfig {
|
|
218
|
+
/** Enable preview functionality */
|
|
134
219
|
preview?: boolean;
|
|
220
|
+
/** Enable undo/redo */
|
|
135
221
|
undoRedo?: boolean;
|
|
222
|
+
/** Enable responsive design view toggles (desktop/mobile) */
|
|
136
223
|
responsiveDesign?: boolean;
|
|
224
|
+
/** Enable image editor */
|
|
137
225
|
imageEditor?: boolean;
|
|
138
|
-
|
|
226
|
+
/** Enable audit trail */
|
|
227
|
+
audit?: boolean;
|
|
228
|
+
/** Stock images config */
|
|
229
|
+
stockImages?: boolean | StockImagesConfig;
|
|
230
|
+
/** Enable user uploads */
|
|
139
231
|
userUploads?: boolean;
|
|
140
|
-
/**
|
|
232
|
+
/** Enable smart merge tags */
|
|
233
|
+
smartMergeTags?: boolean;
|
|
234
|
+
/** Text editor options */
|
|
235
|
+
textEditor?: TextEditorConfig;
|
|
236
|
+
/** Export options */
|
|
237
|
+
export?: ExportFeaturesConfig;
|
|
238
|
+
/**
|
|
239
|
+
* Enable modules feature (save row as module, synced modules, etc.)
|
|
240
|
+
* Only available when NOT in contentType: "module" mode
|
|
241
|
+
* Can be a boolean or a ModuleFeaturesConfig object for granular control
|
|
242
|
+
* @default false
|
|
243
|
+
*/
|
|
141
244
|
modules?: boolean | ModuleFeaturesConfig;
|
|
142
245
|
}
|
|
143
246
|
interface AIConfig {
|
|
@@ -221,10 +324,38 @@ interface PexelizeConfig {
|
|
|
221
324
|
ai?: AIConfig;
|
|
222
325
|
/** Modules to display in the modules panel */
|
|
223
326
|
modules?: Module[];
|
|
327
|
+
/** Editor behavior configuration */
|
|
224
328
|
editor?: {
|
|
329
|
+
/** Content type: 'page' for full editor, 'module' for single-row mode */
|
|
225
330
|
contentType?: "page" | "module";
|
|
331
|
+
/** Minimum number of rows allowed in body (default: 0) */
|
|
226
332
|
minRows?: number;
|
|
333
|
+
/** Maximum number of rows allowed in body (default: unlimited) */
|
|
227
334
|
maxRows?: number | null;
|
|
335
|
+
/** Minimum number of header rows (default: 0) */
|
|
336
|
+
minHeaders?: number;
|
|
337
|
+
/** Maximum number of header rows (default: unlimited) */
|
|
338
|
+
maxHeaders?: number | null;
|
|
339
|
+
/** Minimum number of footer rows (default: 0) */
|
|
340
|
+
minFooters?: number;
|
|
341
|
+
/** Maximum number of footer rows (default: unlimited) */
|
|
342
|
+
maxFooters?: number | null;
|
|
343
|
+
/**
|
|
344
|
+
* Auto-select element when dropped onto canvas from side panel
|
|
345
|
+
* When enabled, dropped rows, content tools, and modules will be automatically selected
|
|
346
|
+
* @default false
|
|
347
|
+
*/
|
|
348
|
+
autoSelectOnDrop?: boolean;
|
|
349
|
+
/** Show confirmation dialog before deleting elements (default: false) */
|
|
350
|
+
confirmOnDelete?: boolean;
|
|
351
|
+
/** Show/hide the Rows accordion in the Modules tab (default: true) */
|
|
352
|
+
rows?: boolean;
|
|
353
|
+
/** Prevent closing editor when there are unsaved changes (default: false) */
|
|
354
|
+
preventClose?: boolean;
|
|
355
|
+
/** Editor title (shown in header if applicable) */
|
|
356
|
+
title?: string;
|
|
357
|
+
/** Enable track changes / version history (default: false) */
|
|
358
|
+
trackChanges?: boolean;
|
|
228
359
|
};
|
|
229
360
|
callbacks?: {
|
|
230
361
|
image?: ImageUploadCallback;
|
|
@@ -261,6 +392,7 @@ interface PexelizeSDK {
|
|
|
261
392
|
declare global {
|
|
262
393
|
interface Window {
|
|
263
394
|
pexelize?: PexelizeSDK;
|
|
395
|
+
createEditor?: () => PexelizeSDK;
|
|
264
396
|
}
|
|
265
397
|
}
|
|
266
398
|
interface PexelizeEditorRef {
|
package/dist/index.esm.js
CHANGED
|
@@ -3,23 +3,66 @@ import { forwardRef, useRef, useState, useMemo, useEffect, useImperativeHandle }
|
|
|
3
3
|
|
|
4
4
|
const SDK_CDN_URL = "https://sdk.pexelize.com/latest/pexelize-sdk.min.js";
|
|
5
5
|
let sdkLoadPromise = null;
|
|
6
|
+
function getSDKUrl() {
|
|
7
|
+
return SDK_CDN_URL;
|
|
8
|
+
}
|
|
6
9
|
function loadSDK() {
|
|
7
10
|
if (sdkLoadPromise)
|
|
8
11
|
return sdkLoadPromise;
|
|
9
12
|
if (typeof window !== "undefined" && window.pexelize) {
|
|
10
|
-
|
|
13
|
+
// Return the SDK module with createEditor function
|
|
14
|
+
return Promise.resolve({
|
|
15
|
+
pexelize: window.pexelize,
|
|
16
|
+
createEditor: (config) => {
|
|
17
|
+
const instance = new window.pexelize.constructor();
|
|
18
|
+
instance.init(config);
|
|
19
|
+
return instance;
|
|
20
|
+
},
|
|
21
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return loadSDKScript();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Load the SDK script (only once across all components).
|
|
28
|
+
* After loading, window.createEditor will be available.
|
|
29
|
+
*/
|
|
30
|
+
function loadSDKScript() {
|
|
31
|
+
if (sdkLoadPromise)
|
|
32
|
+
return sdkLoadPromise;
|
|
33
|
+
// Check if already loaded
|
|
34
|
+
if (typeof window !== "undefined" && window.pexelize) {
|
|
35
|
+
return Promise.resolve({
|
|
36
|
+
pexelize: window.pexelize,
|
|
37
|
+
createEditor: (config) => {
|
|
38
|
+
const instance = new window.pexelize.constructor();
|
|
39
|
+
instance.init(config);
|
|
40
|
+
return instance;
|
|
41
|
+
},
|
|
42
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
43
|
+
});
|
|
11
44
|
}
|
|
45
|
+
const sdkUrl = getSDKUrl();
|
|
12
46
|
sdkLoadPromise = new Promise((resolve, reject) => {
|
|
13
47
|
const script = document.createElement("script");
|
|
14
|
-
script.src =
|
|
48
|
+
script.src = sdkUrl;
|
|
15
49
|
script.async = true;
|
|
16
50
|
script.onload = () => {
|
|
17
51
|
if (window.pexelize) {
|
|
18
|
-
|
|
52
|
+
// Resolve with SDK module interface
|
|
53
|
+
resolve({
|
|
54
|
+
pexelize: window.pexelize,
|
|
55
|
+
createEditor: (config) => {
|
|
56
|
+
const instance = new window.pexelize.constructor();
|
|
57
|
+
instance.init(config);
|
|
58
|
+
return instance;
|
|
59
|
+
},
|
|
60
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
61
|
+
});
|
|
19
62
|
}
|
|
20
63
|
else {
|
|
21
64
|
sdkLoadPromise = null;
|
|
22
|
-
reject(new Error("Failed to load Pexelize SDK"));
|
|
65
|
+
reject(new Error("Failed to load Pexelize SDK - createEditor not found"));
|
|
23
66
|
}
|
|
24
67
|
};
|
|
25
68
|
script.onerror = () => {
|
|
@@ -95,7 +138,7 @@ const PexelizeEditor = forwardRef((props, ref) => {
|
|
|
95
138
|
.then(() => setHasLoadedSDK(true))
|
|
96
139
|
.catch((err) => onErrorRef.current?.(err));
|
|
97
140
|
}, []); // Load SDK once
|
|
98
|
-
// 3. Editor creation effect -
|
|
141
|
+
// 3. Editor creation effect - ONLY on core props change
|
|
99
142
|
useEffect(() => {
|
|
100
143
|
if (!hasLoadedSDK || !containerRef.current)
|
|
101
144
|
return;
|
|
@@ -103,19 +146,20 @@ const PexelizeEditor = forwardRef((props, ref) => {
|
|
|
103
146
|
editor?.destroy();
|
|
104
147
|
const initEditor = async () => {
|
|
105
148
|
try {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
149
|
+
// Import createEditor for multiple instance support
|
|
150
|
+
const { createEditor } = await loadSDK();
|
|
151
|
+
// Create a new editor instance (not singleton)
|
|
152
|
+
const editorInstance = createEditor(editorOptions);
|
|
153
|
+
setEditor(editorInstance);
|
|
110
154
|
// Set up event listeners
|
|
111
|
-
const unsubscribeReady =
|
|
155
|
+
const unsubscribeReady = editorInstance.addEventListener("editor:ready", () => {
|
|
112
156
|
setIsEditorReady(true);
|
|
113
|
-
onReadyRef.current?.(
|
|
157
|
+
onReadyRef.current?.(editorInstance);
|
|
114
158
|
});
|
|
115
|
-
const unsubscribeLoad =
|
|
159
|
+
const unsubscribeLoad = editorInstance.addEventListener("design:loaded", () => {
|
|
116
160
|
onLoadRef.current?.();
|
|
117
161
|
});
|
|
118
|
-
const unsubscribeChange =
|
|
162
|
+
const unsubscribeChange = editorInstance.addEventListener("design:updated", (data) => {
|
|
119
163
|
onChangeRef.current?.(data);
|
|
120
164
|
});
|
|
121
165
|
// Cleanup listeners (but NOT the editor - that's handled in effect 1)
|
|
@@ -127,13 +171,32 @@ const PexelizeEditor = forwardRef((props, ref) => {
|
|
|
127
171
|
}
|
|
128
172
|
catch (err) {
|
|
129
173
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
174
|
+
console.error("[PexelizeEditor] Initialization error:", error.message, error);
|
|
130
175
|
onErrorRef.current?.(error);
|
|
131
176
|
// Return empty cleanup function on error
|
|
132
177
|
return () => { };
|
|
133
178
|
}
|
|
134
179
|
};
|
|
135
180
|
initEditor();
|
|
136
|
-
}, [
|
|
181
|
+
}, [
|
|
182
|
+
// Only re-init on core props that MUST trigger re-initialization
|
|
183
|
+
containerId,
|
|
184
|
+
editorId,
|
|
185
|
+
apiKey,
|
|
186
|
+
templateId,
|
|
187
|
+
hasLoadedSDK,
|
|
188
|
+
]);
|
|
189
|
+
// 4. Update options effect - update without re-init
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
if (!editor || !isEditorReady)
|
|
192
|
+
return;
|
|
193
|
+
// Update modules without re-initialization
|
|
194
|
+
if (editorOptions.modules) {
|
|
195
|
+
// Cast to any to access setModules (it exists but type def may be outdated)
|
|
196
|
+
editor.setModules(editorOptions.modules);
|
|
197
|
+
}
|
|
198
|
+
// Note: Most options can't be updated after init, only modules can be updated
|
|
199
|
+
}, [editor, isEditorReady, editorOptions.modules]);
|
|
137
200
|
useImperativeHandle(ref, () => ({
|
|
138
201
|
editor: editor,
|
|
139
202
|
isReady: () => isEditorReady,
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,23 +7,66 @@ var react = require('react');
|
|
|
7
7
|
|
|
8
8
|
const SDK_CDN_URL = "https://sdk.pexelize.com/latest/pexelize-sdk.min.js";
|
|
9
9
|
let sdkLoadPromise = null;
|
|
10
|
+
function getSDKUrl() {
|
|
11
|
+
return SDK_CDN_URL;
|
|
12
|
+
}
|
|
10
13
|
function loadSDK() {
|
|
11
14
|
if (sdkLoadPromise)
|
|
12
15
|
return sdkLoadPromise;
|
|
13
16
|
if (typeof window !== "undefined" && window.pexelize) {
|
|
14
|
-
|
|
17
|
+
// Return the SDK module with createEditor function
|
|
18
|
+
return Promise.resolve({
|
|
19
|
+
pexelize: window.pexelize,
|
|
20
|
+
createEditor: (config) => {
|
|
21
|
+
const instance = new window.pexelize.constructor();
|
|
22
|
+
instance.init(config);
|
|
23
|
+
return instance;
|
|
24
|
+
},
|
|
25
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return loadSDKScript();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Load the SDK script (only once across all components).
|
|
32
|
+
* After loading, window.createEditor will be available.
|
|
33
|
+
*/
|
|
34
|
+
function loadSDKScript() {
|
|
35
|
+
if (sdkLoadPromise)
|
|
36
|
+
return sdkLoadPromise;
|
|
37
|
+
// Check if already loaded
|
|
38
|
+
if (typeof window !== "undefined" && window.pexelize) {
|
|
39
|
+
return Promise.resolve({
|
|
40
|
+
pexelize: window.pexelize,
|
|
41
|
+
createEditor: (config) => {
|
|
42
|
+
const instance = new window.pexelize.constructor();
|
|
43
|
+
instance.init(config);
|
|
44
|
+
return instance;
|
|
45
|
+
},
|
|
46
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
47
|
+
});
|
|
15
48
|
}
|
|
49
|
+
const sdkUrl = getSDKUrl();
|
|
16
50
|
sdkLoadPromise = new Promise((resolve, reject) => {
|
|
17
51
|
const script = document.createElement("script");
|
|
18
|
-
script.src =
|
|
52
|
+
script.src = sdkUrl;
|
|
19
53
|
script.async = true;
|
|
20
54
|
script.onload = () => {
|
|
21
55
|
if (window.pexelize) {
|
|
22
|
-
|
|
56
|
+
// Resolve with SDK module interface
|
|
57
|
+
resolve({
|
|
58
|
+
pexelize: window.pexelize,
|
|
59
|
+
createEditor: (config) => {
|
|
60
|
+
const instance = new window.pexelize.constructor();
|
|
61
|
+
instance.init(config);
|
|
62
|
+
return instance;
|
|
63
|
+
},
|
|
64
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
65
|
+
});
|
|
23
66
|
}
|
|
24
67
|
else {
|
|
25
68
|
sdkLoadPromise = null;
|
|
26
|
-
reject(new Error("Failed to load Pexelize SDK"));
|
|
69
|
+
reject(new Error("Failed to load Pexelize SDK - createEditor not found"));
|
|
27
70
|
}
|
|
28
71
|
};
|
|
29
72
|
script.onerror = () => {
|
|
@@ -99,7 +142,7 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
|
99
142
|
.then(() => setHasLoadedSDK(true))
|
|
100
143
|
.catch((err) => onErrorRef.current?.(err));
|
|
101
144
|
}, []); // Load SDK once
|
|
102
|
-
// 3. Editor creation effect -
|
|
145
|
+
// 3. Editor creation effect - ONLY on core props change
|
|
103
146
|
react.useEffect(() => {
|
|
104
147
|
if (!hasLoadedSDK || !containerRef.current)
|
|
105
148
|
return;
|
|
@@ -107,19 +150,20 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
|
107
150
|
editor?.destroy();
|
|
108
151
|
const initEditor = async () => {
|
|
109
152
|
try {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
153
|
+
// Import createEditor for multiple instance support
|
|
154
|
+
const { createEditor } = await loadSDK();
|
|
155
|
+
// Create a new editor instance (not singleton)
|
|
156
|
+
const editorInstance = createEditor(editorOptions);
|
|
157
|
+
setEditor(editorInstance);
|
|
114
158
|
// Set up event listeners
|
|
115
|
-
const unsubscribeReady =
|
|
159
|
+
const unsubscribeReady = editorInstance.addEventListener("editor:ready", () => {
|
|
116
160
|
setIsEditorReady(true);
|
|
117
|
-
onReadyRef.current?.(
|
|
161
|
+
onReadyRef.current?.(editorInstance);
|
|
118
162
|
});
|
|
119
|
-
const unsubscribeLoad =
|
|
163
|
+
const unsubscribeLoad = editorInstance.addEventListener("design:loaded", () => {
|
|
120
164
|
onLoadRef.current?.();
|
|
121
165
|
});
|
|
122
|
-
const unsubscribeChange =
|
|
166
|
+
const unsubscribeChange = editorInstance.addEventListener("design:updated", (data) => {
|
|
123
167
|
onChangeRef.current?.(data);
|
|
124
168
|
});
|
|
125
169
|
// Cleanup listeners (but NOT the editor - that's handled in effect 1)
|
|
@@ -131,13 +175,32 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
|
131
175
|
}
|
|
132
176
|
catch (err) {
|
|
133
177
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
178
|
+
console.error("[PexelizeEditor] Initialization error:", error.message, error);
|
|
134
179
|
onErrorRef.current?.(error);
|
|
135
180
|
// Return empty cleanup function on error
|
|
136
181
|
return () => { };
|
|
137
182
|
}
|
|
138
183
|
};
|
|
139
184
|
initEditor();
|
|
140
|
-
}, [
|
|
185
|
+
}, [
|
|
186
|
+
// Only re-init on core props that MUST trigger re-initialization
|
|
187
|
+
containerId,
|
|
188
|
+
editorId,
|
|
189
|
+
apiKey,
|
|
190
|
+
templateId,
|
|
191
|
+
hasLoadedSDK,
|
|
192
|
+
]);
|
|
193
|
+
// 4. Update options effect - update without re-init
|
|
194
|
+
react.useEffect(() => {
|
|
195
|
+
if (!editor || !isEditorReady)
|
|
196
|
+
return;
|
|
197
|
+
// Update modules without re-initialization
|
|
198
|
+
if (editorOptions.modules) {
|
|
199
|
+
// Cast to any to access setModules (it exists but type def may be outdated)
|
|
200
|
+
editor.setModules(editorOptions.modules);
|
|
201
|
+
}
|
|
202
|
+
// Note: Most options can't be updated after init, only modules can be updated
|
|
203
|
+
}, [editor, isEditorReady, editorOptions.modules]);
|
|
141
204
|
react.useImperativeHandle(ref, () => ({
|
|
142
205
|
editor: editor,
|
|
143
206
|
isReady: () => isEditorReady,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":[null],"names":["forwardRef","useRef","useState","useMemo","useEffect","useImperativeHandle","_jsx"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":[null],"names":["forwardRef","useRef","useState","useMemo","useEffect","useImperativeHandle","_jsx"],"mappings":"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"}
|
package/package.json
CHANGED