@pexelize/react-editor 2.1.6 → 2.1.8
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 +143 -3
- package/dist/index.esm.js +68 -34
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +68 -34
- 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 {
|
|
@@ -281,6 +413,14 @@ interface PexelizeEditorProps {
|
|
|
281
413
|
className?: string;
|
|
282
414
|
style?: React.CSSProperties;
|
|
283
415
|
minHeight?: string | number;
|
|
416
|
+
/**
|
|
417
|
+
* Custom SDK URL for loading the Pexelize SDK script.
|
|
418
|
+
* Use this for enterprise self-hosted SDK or specific versions.
|
|
419
|
+
* @default "https://sdk.pexelize.com/latest/pexelize-sdk.min.js"
|
|
420
|
+
* @example "https://my-cdn.com/pexelize-sdk.min.js"
|
|
421
|
+
* @example "http://localhost:3001/pexelize-sdk.js" // for local development
|
|
422
|
+
*/
|
|
423
|
+
sdkUrl?: string;
|
|
284
424
|
onReady?: (editor: PexelizeSDK) => void;
|
|
285
425
|
onLoad?: () => void;
|
|
286
426
|
onChange?: (data: {
|
package/dist/index.esm.js
CHANGED
|
@@ -2,54 +2,87 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { forwardRef, useRef, useState, useMemo, useEffect, useImperativeHandle } from 'react';
|
|
3
3
|
|
|
4
4
|
const SDK_CDN_URL = "https://sdk.pexelize.com/latest/pexelize-sdk.min.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
// Map of URL -> Promise for caching SDK loads per URL
|
|
6
|
+
const sdkLoadPromises = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Get the SDK URL to use.
|
|
9
|
+
* @param customUrl - Optional custom SDK URL
|
|
10
|
+
* @returns The SDK URL to load
|
|
11
|
+
*/
|
|
12
|
+
function getSDKUrl(customUrl) {
|
|
13
|
+
return customUrl || SDK_CDN_URL;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create an SDK module from the global pexelize object.
|
|
17
|
+
*/
|
|
18
|
+
function createSDKModuleFromGlobal() {
|
|
19
|
+
return {
|
|
20
|
+
pexelize: window.pexelize,
|
|
21
|
+
createEditor: (config) => {
|
|
22
|
+
const instance = new window.pexelize.constructor();
|
|
23
|
+
instance.init(config);
|
|
24
|
+
return instance;
|
|
25
|
+
},
|
|
26
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Load the SDK from a URL.
|
|
31
|
+
* Supports custom SDK URLs for enterprise self-hosted or specific versions.
|
|
32
|
+
* @param customUrl - Optional custom SDK URL
|
|
33
|
+
*/
|
|
34
|
+
function loadSDK(customUrl) {
|
|
35
|
+
const sdkUrl = getSDKUrl(customUrl);
|
|
36
|
+
// Check cache for this specific URL
|
|
37
|
+
const cachedPromise = sdkLoadPromises.get(sdkUrl);
|
|
38
|
+
if (cachedPromise)
|
|
39
|
+
return cachedPromise;
|
|
40
|
+
// Check if already loaded globally (only for default URL to avoid conflicts)
|
|
41
|
+
if (!customUrl && typeof window !== "undefined" && window.pexelize) {
|
|
42
|
+
return Promise.resolve(createSDKModuleFromGlobal());
|
|
43
|
+
}
|
|
44
|
+
return loadSDKScript(sdkUrl);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Load the SDK script from a specific URL.
|
|
48
|
+
* Each unique URL is cached separately to support multiple SDK sources.
|
|
49
|
+
* @param sdkUrl - The SDK URL to load
|
|
50
|
+
*/
|
|
51
|
+
function loadSDKScript(sdkUrl) {
|
|
52
|
+
// Check cache for this specific URL
|
|
53
|
+
const cachedPromise = sdkLoadPromises.get(sdkUrl);
|
|
54
|
+
if (cachedPromise)
|
|
55
|
+
return cachedPromise;
|
|
56
|
+
// Check if already loaded globally
|
|
9
57
|
if (typeof window !== "undefined" && window.pexelize) {
|
|
10
|
-
|
|
11
|
-
return Promise.resolve({
|
|
12
|
-
pexelize: window.pexelize,
|
|
13
|
-
createEditor: (config) => {
|
|
14
|
-
const instance = new window.pexelize.constructor();
|
|
15
|
-
instance.init(config);
|
|
16
|
-
return instance;
|
|
17
|
-
},
|
|
18
|
-
PexelizeSDK: window.pexelize.constructor,
|
|
19
|
-
});
|
|
58
|
+
return Promise.resolve(createSDKModuleFromGlobal());
|
|
20
59
|
}
|
|
21
|
-
|
|
60
|
+
const loadPromise = new Promise((resolve, reject) => {
|
|
22
61
|
const script = document.createElement("script");
|
|
23
|
-
script.src =
|
|
62
|
+
script.src = sdkUrl;
|
|
24
63
|
script.async = true;
|
|
25
64
|
script.onload = () => {
|
|
26
65
|
if (window.pexelize) {
|
|
27
66
|
// Resolve with SDK module interface
|
|
28
|
-
resolve(
|
|
29
|
-
pexelize: window.pexelize,
|
|
30
|
-
createEditor: (config) => {
|
|
31
|
-
const instance = new window.pexelize.constructor();
|
|
32
|
-
instance.init(config);
|
|
33
|
-
return instance;
|
|
34
|
-
},
|
|
35
|
-
PexelizeSDK: window.pexelize.constructor,
|
|
36
|
-
});
|
|
67
|
+
resolve(createSDKModuleFromGlobal());
|
|
37
68
|
}
|
|
38
69
|
else {
|
|
39
|
-
|
|
40
|
-
reject(new Error("Failed to load Pexelize SDK"));
|
|
70
|
+
sdkLoadPromises.delete(sdkUrl);
|
|
71
|
+
reject(new Error("Failed to load Pexelize SDK - createEditor not found"));
|
|
41
72
|
}
|
|
42
73
|
};
|
|
43
74
|
script.onerror = () => {
|
|
44
|
-
|
|
45
|
-
reject(new Error(
|
|
75
|
+
sdkLoadPromises.delete(sdkUrl);
|
|
76
|
+
reject(new Error(`Failed to load Pexelize SDK from ${sdkUrl}`));
|
|
46
77
|
};
|
|
47
78
|
document.head.appendChild(script);
|
|
48
79
|
});
|
|
49
|
-
|
|
80
|
+
// Cache the promise for this URL
|
|
81
|
+
sdkLoadPromises.set(sdkUrl, loadPromise);
|
|
82
|
+
return loadPromise;
|
|
50
83
|
}
|
|
51
84
|
const PexelizeEditor = forwardRef((props, ref) => {
|
|
52
|
-
const { editorId, apiKey, templateId, design, editorMode, contentType, ai, height, options = {}, className, style, minHeight = "600px", onReady, onLoad, onChange, onError, } = props;
|
|
85
|
+
const { editorId, apiKey, templateId, design, editorMode, contentType, ai, height, options = {}, className, style, minHeight = "600px", sdkUrl, onReady, onLoad, onChange, onError, } = props;
|
|
53
86
|
const containerRef = useRef(null);
|
|
54
87
|
const [editor, setEditor] = useState(null);
|
|
55
88
|
const [hasLoadedSDK, setHasLoadedSDK] = useState(false);
|
|
@@ -109,10 +142,10 @@ const PexelizeEditor = forwardRef((props, ref) => {
|
|
|
109
142
|
// 2. SDK loading effect
|
|
110
143
|
useEffect(() => {
|
|
111
144
|
setHasLoadedSDK(false);
|
|
112
|
-
loadSDK()
|
|
145
|
+
loadSDK(sdkUrl)
|
|
113
146
|
.then(() => setHasLoadedSDK(true))
|
|
114
147
|
.catch((err) => onErrorRef.current?.(err));
|
|
115
|
-
}, []); //
|
|
148
|
+
}, [sdkUrl]); // Re-load SDK if URL changes
|
|
116
149
|
// 3. Editor creation effect - ONLY on core props change
|
|
117
150
|
useEffect(() => {
|
|
118
151
|
if (!hasLoadedSDK || !containerRef.current)
|
|
@@ -122,7 +155,7 @@ const PexelizeEditor = forwardRef((props, ref) => {
|
|
|
122
155
|
const initEditor = async () => {
|
|
123
156
|
try {
|
|
124
157
|
// Import createEditor for multiple instance support
|
|
125
|
-
const { createEditor } = await loadSDK();
|
|
158
|
+
const { createEditor } = await loadSDK(sdkUrl);
|
|
126
159
|
// Create a new editor instance (not singleton)
|
|
127
160
|
const editorInstance = createEditor(editorOptions);
|
|
128
161
|
setEditor(editorInstance);
|
|
@@ -146,6 +179,7 @@ const PexelizeEditor = forwardRef((props, ref) => {
|
|
|
146
179
|
}
|
|
147
180
|
catch (err) {
|
|
148
181
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
182
|
+
console.error("[PexelizeEditor] Initialization error:", error.message, error);
|
|
149
183
|
onErrorRef.current?.(error);
|
|
150
184
|
// Return empty cleanup function on error
|
|
151
185
|
return () => { };
|
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
|
@@ -6,54 +6,87 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var react = require('react');
|
|
7
7
|
|
|
8
8
|
const SDK_CDN_URL = "https://sdk.pexelize.com/latest/pexelize-sdk.min.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
// Map of URL -> Promise for caching SDK loads per URL
|
|
10
|
+
const sdkLoadPromises = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Get the SDK URL to use.
|
|
13
|
+
* @param customUrl - Optional custom SDK URL
|
|
14
|
+
* @returns The SDK URL to load
|
|
15
|
+
*/
|
|
16
|
+
function getSDKUrl(customUrl) {
|
|
17
|
+
return customUrl || SDK_CDN_URL;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create an SDK module from the global pexelize object.
|
|
21
|
+
*/
|
|
22
|
+
function createSDKModuleFromGlobal() {
|
|
23
|
+
return {
|
|
24
|
+
pexelize: window.pexelize,
|
|
25
|
+
createEditor: (config) => {
|
|
26
|
+
const instance = new window.pexelize.constructor();
|
|
27
|
+
instance.init(config);
|
|
28
|
+
return instance;
|
|
29
|
+
},
|
|
30
|
+
PexelizeSDK: window.pexelize.constructor,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Load the SDK from a URL.
|
|
35
|
+
* Supports custom SDK URLs for enterprise self-hosted or specific versions.
|
|
36
|
+
* @param customUrl - Optional custom SDK URL
|
|
37
|
+
*/
|
|
38
|
+
function loadSDK(customUrl) {
|
|
39
|
+
const sdkUrl = getSDKUrl(customUrl);
|
|
40
|
+
// Check cache for this specific URL
|
|
41
|
+
const cachedPromise = sdkLoadPromises.get(sdkUrl);
|
|
42
|
+
if (cachedPromise)
|
|
43
|
+
return cachedPromise;
|
|
44
|
+
// Check if already loaded globally (only for default URL to avoid conflicts)
|
|
45
|
+
if (!customUrl && typeof window !== "undefined" && window.pexelize) {
|
|
46
|
+
return Promise.resolve(createSDKModuleFromGlobal());
|
|
47
|
+
}
|
|
48
|
+
return loadSDKScript(sdkUrl);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Load the SDK script from a specific URL.
|
|
52
|
+
* Each unique URL is cached separately to support multiple SDK sources.
|
|
53
|
+
* @param sdkUrl - The SDK URL to load
|
|
54
|
+
*/
|
|
55
|
+
function loadSDKScript(sdkUrl) {
|
|
56
|
+
// Check cache for this specific URL
|
|
57
|
+
const cachedPromise = sdkLoadPromises.get(sdkUrl);
|
|
58
|
+
if (cachedPromise)
|
|
59
|
+
return cachedPromise;
|
|
60
|
+
// Check if already loaded globally
|
|
13
61
|
if (typeof window !== "undefined" && window.pexelize) {
|
|
14
|
-
|
|
15
|
-
return Promise.resolve({
|
|
16
|
-
pexelize: window.pexelize,
|
|
17
|
-
createEditor: (config) => {
|
|
18
|
-
const instance = new window.pexelize.constructor();
|
|
19
|
-
instance.init(config);
|
|
20
|
-
return instance;
|
|
21
|
-
},
|
|
22
|
-
PexelizeSDK: window.pexelize.constructor,
|
|
23
|
-
});
|
|
62
|
+
return Promise.resolve(createSDKModuleFromGlobal());
|
|
24
63
|
}
|
|
25
|
-
|
|
64
|
+
const loadPromise = new Promise((resolve, reject) => {
|
|
26
65
|
const script = document.createElement("script");
|
|
27
|
-
script.src =
|
|
66
|
+
script.src = sdkUrl;
|
|
28
67
|
script.async = true;
|
|
29
68
|
script.onload = () => {
|
|
30
69
|
if (window.pexelize) {
|
|
31
70
|
// Resolve with SDK module interface
|
|
32
|
-
resolve(
|
|
33
|
-
pexelize: window.pexelize,
|
|
34
|
-
createEditor: (config) => {
|
|
35
|
-
const instance = new window.pexelize.constructor();
|
|
36
|
-
instance.init(config);
|
|
37
|
-
return instance;
|
|
38
|
-
},
|
|
39
|
-
PexelizeSDK: window.pexelize.constructor,
|
|
40
|
-
});
|
|
71
|
+
resolve(createSDKModuleFromGlobal());
|
|
41
72
|
}
|
|
42
73
|
else {
|
|
43
|
-
|
|
44
|
-
reject(new Error("Failed to load Pexelize SDK"));
|
|
74
|
+
sdkLoadPromises.delete(sdkUrl);
|
|
75
|
+
reject(new Error("Failed to load Pexelize SDK - createEditor not found"));
|
|
45
76
|
}
|
|
46
77
|
};
|
|
47
78
|
script.onerror = () => {
|
|
48
|
-
|
|
49
|
-
reject(new Error(
|
|
79
|
+
sdkLoadPromises.delete(sdkUrl);
|
|
80
|
+
reject(new Error(`Failed to load Pexelize SDK from ${sdkUrl}`));
|
|
50
81
|
};
|
|
51
82
|
document.head.appendChild(script);
|
|
52
83
|
});
|
|
53
|
-
|
|
84
|
+
// Cache the promise for this URL
|
|
85
|
+
sdkLoadPromises.set(sdkUrl, loadPromise);
|
|
86
|
+
return loadPromise;
|
|
54
87
|
}
|
|
55
88
|
const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
56
|
-
const { editorId, apiKey, templateId, design, editorMode, contentType, ai, height, options = {}, className, style, minHeight = "600px", onReady, onLoad, onChange, onError, } = props;
|
|
89
|
+
const { editorId, apiKey, templateId, design, editorMode, contentType, ai, height, options = {}, className, style, minHeight = "600px", sdkUrl, onReady, onLoad, onChange, onError, } = props;
|
|
57
90
|
const containerRef = react.useRef(null);
|
|
58
91
|
const [editor, setEditor] = react.useState(null);
|
|
59
92
|
const [hasLoadedSDK, setHasLoadedSDK] = react.useState(false);
|
|
@@ -113,10 +146,10 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
|
113
146
|
// 2. SDK loading effect
|
|
114
147
|
react.useEffect(() => {
|
|
115
148
|
setHasLoadedSDK(false);
|
|
116
|
-
loadSDK()
|
|
149
|
+
loadSDK(sdkUrl)
|
|
117
150
|
.then(() => setHasLoadedSDK(true))
|
|
118
151
|
.catch((err) => onErrorRef.current?.(err));
|
|
119
|
-
}, []); //
|
|
152
|
+
}, [sdkUrl]); // Re-load SDK if URL changes
|
|
120
153
|
// 3. Editor creation effect - ONLY on core props change
|
|
121
154
|
react.useEffect(() => {
|
|
122
155
|
if (!hasLoadedSDK || !containerRef.current)
|
|
@@ -126,7 +159,7 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
|
126
159
|
const initEditor = async () => {
|
|
127
160
|
try {
|
|
128
161
|
// Import createEditor for multiple instance support
|
|
129
|
-
const { createEditor } = await loadSDK();
|
|
162
|
+
const { createEditor } = await loadSDK(sdkUrl);
|
|
130
163
|
// Create a new editor instance (not singleton)
|
|
131
164
|
const editorInstance = createEditor(editorOptions);
|
|
132
165
|
setEditor(editorInstance);
|
|
@@ -150,6 +183,7 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
|
|
|
150
183
|
}
|
|
151
184
|
catch (err) {
|
|
152
185
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
186
|
+
console.error("[PexelizeEditor] Initialization error:", error.message, error);
|
|
153
187
|
onErrorRef.current?.(error);
|
|
154
188
|
// Return empty cleanup function on error
|
|
155
189
|
return () => { };
|
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