@pexelize/react-editor 2.1.3 → 2.1.5

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 CHANGED
@@ -2,6 +2,7 @@ import React from 'react';
2
2
 
3
3
  /**
4
4
  * Pexelize React Editor Types
5
+ * Minimal type definitions for the React wrapper
5
6
  */
6
7
  type EditorMode = "email" | "web" | "popup" | "document";
7
8
  type ThemeMode = "light" | "dark" | "auto" | "pexelize-light" | "pexelize-dark";
@@ -95,64 +96,10 @@ interface SpecialLinkGroup {
95
96
  name: string;
96
97
  specialLinks: SpecialLink[];
97
98
  }
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
- }
151
99
  interface AppearanceConfig {
152
100
  theme?: ThemeMode | object;
153
101
  accentColor?: string;
154
102
  sidePanel?: {
155
- /** Main tab visibility */
156
103
  tabs?: {
157
104
  content?: {
158
105
  visible?: boolean;
@@ -164,15 +111,8 @@ interface AppearanceConfig {
164
111
  visible?: boolean;
165
112
  };
166
113
  };
167
- /** Modules tab configuration */
168
- modulesTab?: ModulesTabConfig;
169
- /** Styles tab configuration */
170
- stylesTab?: StylesTabConfig;
171
- /** Panel position: 'left' or 'right' (default: 'right') */
172
114
  dock?: "left" | "right";
173
- /** Panel width in pixels (default: 380) */
174
115
  width?: number;
175
- /** Whether panel can be collapsed (default: false) */
176
116
  collapsible?: boolean;
177
117
  };
178
118
  }
@@ -321,7 +261,6 @@ interface PexelizeSDK {
321
261
  declare global {
322
262
  interface Window {
323
263
  pexelize?: PexelizeSDK;
324
- createEditor?: () => PexelizeSDK;
325
264
  }
326
265
  }
327
266
  interface PexelizeEditorRef {
package/dist/index.esm.js CHANGED
@@ -1,30 +1,25 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useRef, useEffect, useState, useCallback, useImperativeHandle } from 'react';
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
5
  let sdkLoadPromise = null;
6
- /**
7
- * Load the SDK script (only once across all components).
8
- * After loading, window.createEditor will be available.
9
- */
10
- function loadSDKScript() {
6
+ function loadSDK() {
11
7
  if (sdkLoadPromise)
12
8
  return sdkLoadPromise;
13
- // Check if already loaded
14
- if (typeof window !== "undefined" && window.createEditor) {
15
- return Promise.resolve();
9
+ if (typeof window !== "undefined" && window.pexelize) {
10
+ return Promise.resolve(window.pexelize);
16
11
  }
17
12
  sdkLoadPromise = new Promise((resolve, reject) => {
18
13
  const script = document.createElement("script");
19
14
  script.src = SDK_CDN_URL;
20
15
  script.async = true;
21
16
  script.onload = () => {
22
- if (window.createEditor) {
23
- resolve();
17
+ if (window.pexelize) {
18
+ resolve(window.pexelize);
24
19
  }
25
20
  else {
26
21
  sdkLoadPromise = null;
27
- reject(new Error("Failed to load Pexelize SDK - createEditor not found"));
22
+ reject(new Error("Failed to load Pexelize SDK"));
28
23
  }
29
24
  };
30
25
  script.onerror = () => {
@@ -35,22 +30,15 @@ function loadSDKScript() {
35
30
  });
36
31
  return sdkLoadPromise;
37
32
  }
38
- /**
39
- * Create a new editor instance.
40
- * Each component gets its own independent instance for multiple editors support.
41
- */
42
- function createEditorInstance() {
43
- if (!window.createEditor) {
44
- throw new Error("Pexelize SDK not loaded - call loadSDKScript first");
45
- }
46
- return window.createEditor();
47
- }
48
33
  const PexelizeEditor = forwardRef((props, ref) => {
49
34
  const { editorId, apiKey, templateId, design, editorMode, contentType, ai, height, options = {}, className, style, minHeight = "600px", onReady, onLoad, onChange, onError, } = props;
50
35
  const containerRef = useRef(null);
51
- const editorInstanceRef = useRef(null);
52
- const containerId = useRef(`pexelize-editor-${Math.random().toString(36).substr(2, 9)}`);
53
- const eventUnsubscribersRef = useRef([]);
36
+ const [editor, setEditor] = useState(null);
37
+ const [hasLoadedSDK, setHasLoadedSDK] = useState(false);
38
+ const [isEditorReady, setIsEditorReady] = useState(false);
39
+ // Stable container ID using useMemo
40
+ const containerId = useMemo(() => `pexelize-editor-${Math.random().toString(36).substr(2, 9)}`, []);
41
+ // Refs for callbacks to avoid dependency issues
54
42
  const onReadyRef = useRef(onReady);
55
43
  const onLoadRef = useRef(onLoad);
56
44
  const onChangeRef = useRef(onChange);
@@ -67,83 +55,89 @@ const PexelizeEditor = forwardRef((props, ref) => {
67
55
  useEffect(() => {
68
56
  onErrorRef.current = onError;
69
57
  }, [onError]);
70
- const [isEditorReady, setIsEditorReady] = useState(false);
71
- const handleReady = useCallback(() => {
72
- setIsEditorReady(true);
73
- if (editorInstanceRef.current) {
74
- onReadyRef.current?.(editorInstanceRef.current);
75
- }
76
- }, []);
58
+ // Build options object (memoized for comparison)
59
+ const editorOptions = useMemo(() => {
60
+ const editorConfig = contentType === "module"
61
+ ? { ...options.editor, contentType, minRows: 1, maxRows: 1 }
62
+ : options.editor;
63
+ return {
64
+ containerId,
65
+ editorId,
66
+ apiKey,
67
+ ...options,
68
+ ...(templateId !== undefined && { templateId }),
69
+ ...(design !== undefined && { design }),
70
+ ...(editorMode !== undefined && { editorMode }),
71
+ ...(ai !== undefined && { ai }),
72
+ ...(editorConfig && { editor: editorConfig }),
73
+ };
74
+ }, [
75
+ containerId,
76
+ editorId,
77
+ apiKey,
78
+ templateId,
79
+ design,
80
+ editorMode,
81
+ ai,
82
+ contentType,
83
+ options,
84
+ ]);
85
+ // 1. Cleanup effect - runs only on final unmount
77
86
  useEffect(() => {
78
- if (!containerRef.current)
87
+ return () => {
88
+ editor?.destroy();
89
+ };
90
+ }, []); // Empty deps - only runs on unmount
91
+ // 2. SDK loading effect
92
+ useEffect(() => {
93
+ setHasLoadedSDK(false);
94
+ loadSDK()
95
+ .then(() => setHasLoadedSDK(true))
96
+ .catch((err) => onErrorRef.current?.(err));
97
+ }, []); // Load SDK once
98
+ // 3. Editor creation effect - DESTROY BEFORE CREATE
99
+ useEffect(() => {
100
+ if (!hasLoadedSDK || !containerRef.current)
79
101
  return;
80
- let mounted = true;
102
+ // KEY: Destroy previous editor BEFORE creating new one
103
+ editor?.destroy();
81
104
  const initEditor = async () => {
82
105
  try {
83
- // Load SDK script (only once across all components)
84
- await loadSDKScript();
85
- if (!mounted)
86
- return;
87
- // Create NEW instance for THIS component (supports multiple editors)
88
- const editor = createEditorInstance();
89
- editorInstanceRef.current = editor;
90
- const editorConfig = contentType === "module"
91
- ? { ...options.editor, contentType, minRows: 1, maxRows: 1 }
92
- : options.editor;
93
- const config = {
94
- containerId: containerId.current,
95
- editorId,
96
- apiKey,
97
- ...options,
98
- ...(templateId !== undefined && { templateId }),
99
- ...(design !== undefined && { design }),
100
- ...(editorMode !== undefined && { editorMode }),
101
- ...(ai !== undefined && { ai }),
102
- ...(editorConfig && { editor: editorConfig }),
106
+ const pexelize = await loadSDK();
107
+ // Initialize the editor
108
+ pexelize.init(editorOptions);
109
+ setEditor(pexelize);
110
+ // Set up event listeners
111
+ const unsubscribeReady = pexelize.addEventListener("editor:ready", () => {
112
+ setIsEditorReady(true);
113
+ onReadyRef.current?.(pexelize);
114
+ });
115
+ const unsubscribeLoad = pexelize.addEventListener("design:loaded", () => {
116
+ onLoadRef.current?.();
117
+ });
118
+ const unsubscribeChange = pexelize.addEventListener("design:updated", (data) => {
119
+ onChangeRef.current?.(data);
120
+ });
121
+ // Cleanup listeners (but NOT the editor - that's handled in effect 1)
122
+ return () => {
123
+ unsubscribeReady();
124
+ unsubscribeLoad();
125
+ unsubscribeChange();
103
126
  };
104
- // Initialize THIS instance
105
- editor.init(config);
106
- // Subscribe to events on THIS instance
107
- const unsubscribeReady = editor.addEventListener("editor:ready", handleReady);
108
- eventUnsubscribersRef.current.push(unsubscribeReady);
109
- const unsubscribeLoad = editor.addEventListener("design:loaded", () => onLoadRef.current?.());
110
- eventUnsubscribersRef.current.push(unsubscribeLoad);
111
- const unsubscribeChange = editor.addEventListener("design:updated", (data) => onChangeRef.current?.(data));
112
- eventUnsubscribersRef.current.push(unsubscribeChange);
113
127
  }
114
128
  catch (err) {
115
- if (!mounted)
116
- return;
117
129
  const error = err instanceof Error ? err : new Error(String(err));
118
130
  onErrorRef.current?.(error);
131
+ // Return empty cleanup function on error
132
+ return () => { };
119
133
  }
120
134
  };
121
135
  initEditor();
122
- return () => {
123
- mounted = false;
124
- eventUnsubscribersRef.current.forEach((unsub) => {
125
- try {
126
- unsub();
127
- }
128
- catch {
129
- // ignore
130
- }
131
- });
132
- eventUnsubscribersRef.current = [];
133
- try {
134
- editorInstanceRef.current?.destroy();
135
- }
136
- catch {
137
- // ignore
138
- }
139
- editorInstanceRef.current = null;
140
- setIsEditorReady(false);
141
- };
142
- }, [editorId, apiKey, handleReady]);
136
+ }, [JSON.stringify(editorOptions), hasLoadedSDK]);
143
137
  useImperativeHandle(ref, () => ({
144
- editor: editorInstanceRef.current,
138
+ editor: editor,
145
139
  isReady: () => isEditorReady,
146
- }), [isEditorReady]);
140
+ }), [editor, isEditorReady]);
147
141
  const effectiveHeight = height ?? minHeight;
148
142
  const containerStyle = {
149
143
  width: "100%",
@@ -152,7 +146,7 @@ const PexelizeEditor = forwardRef((props, ref) => {
152
146
  : effectiveHeight,
153
147
  ...style,
154
148
  };
155
- return (jsx("div", { className: className, style: containerStyle, children: jsx("div", { id: containerId.current, ref: containerRef, style: { width: "100%", height: "100%" } }) }));
149
+ return (jsx("div", { className: className, style: containerStyle, children: jsx("div", { id: containerId, ref: containerRef, style: { width: "100%", height: "100%" } }) }));
156
150
  });
157
151
  PexelizeEditor.displayName = "PexelizeEditor";
158
152
  function usePexelizeEditor() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
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,28 +7,23 @@ 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
- /**
11
- * Load the SDK script (only once across all components).
12
- * After loading, window.createEditor will be available.
13
- */
14
- function loadSDKScript() {
10
+ function loadSDK() {
15
11
  if (sdkLoadPromise)
16
12
  return sdkLoadPromise;
17
- // Check if already loaded
18
- if (typeof window !== "undefined" && window.createEditor) {
19
- return Promise.resolve();
13
+ if (typeof window !== "undefined" && window.pexelize) {
14
+ return Promise.resolve(window.pexelize);
20
15
  }
21
16
  sdkLoadPromise = new Promise((resolve, reject) => {
22
17
  const script = document.createElement("script");
23
18
  script.src = SDK_CDN_URL;
24
19
  script.async = true;
25
20
  script.onload = () => {
26
- if (window.createEditor) {
27
- resolve();
21
+ if (window.pexelize) {
22
+ resolve(window.pexelize);
28
23
  }
29
24
  else {
30
25
  sdkLoadPromise = null;
31
- reject(new Error("Failed to load Pexelize SDK - createEditor not found"));
26
+ reject(new Error("Failed to load Pexelize SDK"));
32
27
  }
33
28
  };
34
29
  script.onerror = () => {
@@ -39,22 +34,15 @@ function loadSDKScript() {
39
34
  });
40
35
  return sdkLoadPromise;
41
36
  }
42
- /**
43
- * Create a new editor instance.
44
- * Each component gets its own independent instance for multiple editors support.
45
- */
46
- function createEditorInstance() {
47
- if (!window.createEditor) {
48
- throw new Error("Pexelize SDK not loaded - call loadSDKScript first");
49
- }
50
- return window.createEditor();
51
- }
52
37
  const PexelizeEditor = react.forwardRef((props, ref) => {
53
38
  const { editorId, apiKey, templateId, design, editorMode, contentType, ai, height, options = {}, className, style, minHeight = "600px", onReady, onLoad, onChange, onError, } = props;
54
39
  const containerRef = react.useRef(null);
55
- const editorInstanceRef = react.useRef(null);
56
- const containerId = react.useRef(`pexelize-editor-${Math.random().toString(36).substr(2, 9)}`);
57
- const eventUnsubscribersRef = react.useRef([]);
40
+ const [editor, setEditor] = react.useState(null);
41
+ const [hasLoadedSDK, setHasLoadedSDK] = react.useState(false);
42
+ const [isEditorReady, setIsEditorReady] = react.useState(false);
43
+ // Stable container ID using useMemo
44
+ const containerId = react.useMemo(() => `pexelize-editor-${Math.random().toString(36).substr(2, 9)}`, []);
45
+ // Refs for callbacks to avoid dependency issues
58
46
  const onReadyRef = react.useRef(onReady);
59
47
  const onLoadRef = react.useRef(onLoad);
60
48
  const onChangeRef = react.useRef(onChange);
@@ -71,83 +59,89 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
71
59
  react.useEffect(() => {
72
60
  onErrorRef.current = onError;
73
61
  }, [onError]);
74
- const [isEditorReady, setIsEditorReady] = react.useState(false);
75
- const handleReady = react.useCallback(() => {
76
- setIsEditorReady(true);
77
- if (editorInstanceRef.current) {
78
- onReadyRef.current?.(editorInstanceRef.current);
79
- }
80
- }, []);
62
+ // Build options object (memoized for comparison)
63
+ const editorOptions = react.useMemo(() => {
64
+ const editorConfig = contentType === "module"
65
+ ? { ...options.editor, contentType, minRows: 1, maxRows: 1 }
66
+ : options.editor;
67
+ return {
68
+ containerId,
69
+ editorId,
70
+ apiKey,
71
+ ...options,
72
+ ...(templateId !== undefined && { templateId }),
73
+ ...(design !== undefined && { design }),
74
+ ...(editorMode !== undefined && { editorMode }),
75
+ ...(ai !== undefined && { ai }),
76
+ ...(editorConfig && { editor: editorConfig }),
77
+ };
78
+ }, [
79
+ containerId,
80
+ editorId,
81
+ apiKey,
82
+ templateId,
83
+ design,
84
+ editorMode,
85
+ ai,
86
+ contentType,
87
+ options,
88
+ ]);
89
+ // 1. Cleanup effect - runs only on final unmount
81
90
  react.useEffect(() => {
82
- if (!containerRef.current)
91
+ return () => {
92
+ editor?.destroy();
93
+ };
94
+ }, []); // Empty deps - only runs on unmount
95
+ // 2. SDK loading effect
96
+ react.useEffect(() => {
97
+ setHasLoadedSDK(false);
98
+ loadSDK()
99
+ .then(() => setHasLoadedSDK(true))
100
+ .catch((err) => onErrorRef.current?.(err));
101
+ }, []); // Load SDK once
102
+ // 3. Editor creation effect - DESTROY BEFORE CREATE
103
+ react.useEffect(() => {
104
+ if (!hasLoadedSDK || !containerRef.current)
83
105
  return;
84
- let mounted = true;
106
+ // KEY: Destroy previous editor BEFORE creating new one
107
+ editor?.destroy();
85
108
  const initEditor = async () => {
86
109
  try {
87
- // Load SDK script (only once across all components)
88
- await loadSDKScript();
89
- if (!mounted)
90
- return;
91
- // Create NEW instance for THIS component (supports multiple editors)
92
- const editor = createEditorInstance();
93
- editorInstanceRef.current = editor;
94
- const editorConfig = contentType === "module"
95
- ? { ...options.editor, contentType, minRows: 1, maxRows: 1 }
96
- : options.editor;
97
- const config = {
98
- containerId: containerId.current,
99
- editorId,
100
- apiKey,
101
- ...options,
102
- ...(templateId !== undefined && { templateId }),
103
- ...(design !== undefined && { design }),
104
- ...(editorMode !== undefined && { editorMode }),
105
- ...(ai !== undefined && { ai }),
106
- ...(editorConfig && { editor: editorConfig }),
110
+ const pexelize = await loadSDK();
111
+ // Initialize the editor
112
+ pexelize.init(editorOptions);
113
+ setEditor(pexelize);
114
+ // Set up event listeners
115
+ const unsubscribeReady = pexelize.addEventListener("editor:ready", () => {
116
+ setIsEditorReady(true);
117
+ onReadyRef.current?.(pexelize);
118
+ });
119
+ const unsubscribeLoad = pexelize.addEventListener("design:loaded", () => {
120
+ onLoadRef.current?.();
121
+ });
122
+ const unsubscribeChange = pexelize.addEventListener("design:updated", (data) => {
123
+ onChangeRef.current?.(data);
124
+ });
125
+ // Cleanup listeners (but NOT the editor - that's handled in effect 1)
126
+ return () => {
127
+ unsubscribeReady();
128
+ unsubscribeLoad();
129
+ unsubscribeChange();
107
130
  };
108
- // Initialize THIS instance
109
- editor.init(config);
110
- // Subscribe to events on THIS instance
111
- const unsubscribeReady = editor.addEventListener("editor:ready", handleReady);
112
- eventUnsubscribersRef.current.push(unsubscribeReady);
113
- const unsubscribeLoad = editor.addEventListener("design:loaded", () => onLoadRef.current?.());
114
- eventUnsubscribersRef.current.push(unsubscribeLoad);
115
- const unsubscribeChange = editor.addEventListener("design:updated", (data) => onChangeRef.current?.(data));
116
- eventUnsubscribersRef.current.push(unsubscribeChange);
117
131
  }
118
132
  catch (err) {
119
- if (!mounted)
120
- return;
121
133
  const error = err instanceof Error ? err : new Error(String(err));
122
134
  onErrorRef.current?.(error);
135
+ // Return empty cleanup function on error
136
+ return () => { };
123
137
  }
124
138
  };
125
139
  initEditor();
126
- return () => {
127
- mounted = false;
128
- eventUnsubscribersRef.current.forEach((unsub) => {
129
- try {
130
- unsub();
131
- }
132
- catch {
133
- // ignore
134
- }
135
- });
136
- eventUnsubscribersRef.current = [];
137
- try {
138
- editorInstanceRef.current?.destroy();
139
- }
140
- catch {
141
- // ignore
142
- }
143
- editorInstanceRef.current = null;
144
- setIsEditorReady(false);
145
- };
146
- }, [editorId, apiKey, handleReady]);
140
+ }, [JSON.stringify(editorOptions), hasLoadedSDK]);
147
141
  react.useImperativeHandle(ref, () => ({
148
- editor: editorInstanceRef.current,
142
+ editor: editor,
149
143
  isReady: () => isEditorReady,
150
- }), [isEditorReady]);
144
+ }), [editor, isEditorReady]);
151
145
  const effectiveHeight = height ?? minHeight;
152
146
  const containerStyle = {
153
147
  width: "100%",
@@ -156,7 +150,7 @@ const PexelizeEditor = react.forwardRef((props, ref) => {
156
150
  : effectiveHeight,
157
151
  ...style,
158
152
  };
159
- return (jsxRuntime.jsx("div", { className: className, style: containerStyle, children: jsxRuntime.jsx("div", { id: containerId.current, ref: containerRef, style: { width: "100%", height: "100%" } }) }));
153
+ return (jsxRuntime.jsx("div", { className: className, style: containerStyle, children: jsxRuntime.jsx("div", { id: containerId, ref: containerRef, style: { width: "100%", height: "100%" } }) }));
160
154
  });
161
155
  PexelizeEditor.displayName = "PexelizeEditor";
162
156
  function usePexelizeEditor() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":[null],"names":["forwardRef","useRef","useEffect","useState","useCallback","useImperativeHandle","_jsx"],"mappings":"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"}
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
@@ -1,88 +1,88 @@
1
- {
2
- "name": "@pexelize/react-editor",
3
- "version": "2.1.3",
4
- "type": "module",
5
- "description": "React wrapper component for the Pexelize Editor - thin wrapper that exposes raw SDK for maximum flexibility",
6
- "main": "dist/index.js",
7
- "module": "dist/index.esm.js",
8
- "types": "dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/index.esm.js",
12
- "require": "./dist/index.js",
13
- "types": "./dist/index.d.ts"
14
- }
15
- },
16
- "files": [
17
- "dist",
18
- "README.md",
19
- "LICENSE"
20
- ],
21
- "scripts": {
22
- "build": "rollup -c",
23
- "build:watch": "rollup -c -w",
24
- "dev": "rollup -c -w",
25
- "test": "vitest",
26
- "lint": "eslint src --ext .ts,.tsx",
27
- "typecheck": "tsc --noEmit",
28
- "clean": "rimraf dist",
29
- "prepublishOnly": "npm run build"
30
- },
31
- "keywords": [
32
- "pexelize",
33
- "editor",
34
- "email-editor",
35
- "react",
36
- "react-component",
37
- "template-editor",
38
- "template-builder",
39
- "drag-and-drop",
40
- "web page builder",
41
- "page-builder"
42
- ],
43
- "author": "Pexelize",
44
- "license": "MIT",
45
- "repository": {
46
- "type": "git",
47
- "url": "https://github.com/Zaman-Meer/pexelize-react.git"
48
- },
49
- "bugs": {
50
- "url": "https://github.com/Zaman-Meer/pexelize-react/issues"
51
- },
52
- "homepage": "https://github.com/Zaman-Meer/pexelize-react#readme",
53
- "peerDependencies": {
54
- "react": ">=17.0.0",
55
- "react-dom": ">=17.0.0"
56
- },
57
- "peerDependenciesMeta": {
58
- "react": {
59
- "optional": false
60
- },
61
- "react-dom": {
62
- "optional": false
63
- }
64
- },
65
- "devDependencies": {
66
- "@rollup/plugin-commonjs": "^25.0.7",
67
- "@rollup/plugin-node-resolve": "^15.2.3",
68
- "@rollup/plugin-typescript": "^11.1.5",
69
- "@types/node": "^20.10.4",
70
- "@types/react": "^18.2.43",
71
- "@types/react-dom": "^18.2.17",
72
- "@typescript-eslint/eslint-plugin": "^6.13.2",
73
- "@typescript-eslint/parser": "^6.13.2",
74
- "eslint": "^8.55.0",
75
- "react": "^18.2.0",
76
- "react-dom": "^18.2.0",
77
- "rimraf": "^5.0.5",
78
- "rollup": "^4.9.0",
79
- "rollup-plugin-dts": "^6.1.0",
80
- "rollup-plugin-peer-deps-external": "^2.2.4",
81
- "tslib": "^2.8.1",
82
- "typescript": "^5.3.3",
83
- "vitest": "^1.0.4"
84
- },
85
- "engines": {
86
- "node": ">=16.0.0"
87
- }
88
- }
1
+ {
2
+ "name": "@pexelize/react-editor",
3
+ "version": "2.1.5",
4
+ "type": "module",
5
+ "description": "React wrapper component for the Pexelize Editor - thin wrapper that exposes raw SDK for maximum flexibility",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.esm.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md",
19
+ "LICENSE"
20
+ ],
21
+ "scripts": {
22
+ "build": "rollup -c",
23
+ "build:watch": "rollup -c -w",
24
+ "dev": "rollup -c -w",
25
+ "test": "vitest",
26
+ "lint": "eslint src --ext .ts,.tsx",
27
+ "typecheck": "tsc --noEmit",
28
+ "clean": "rimraf dist",
29
+ "prepublishOnly": "npm run build"
30
+ },
31
+ "keywords": [
32
+ "pexelize",
33
+ "editor",
34
+ "email-editor",
35
+ "react",
36
+ "react-component",
37
+ "template-editor",
38
+ "template-builder",
39
+ "drag-and-drop",
40
+ "web page builder",
41
+ "page-builder"
42
+ ],
43
+ "author": "Pexelize",
44
+ "license": "MIT",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/Zaman-Meer/pexelize-react.git"
48
+ },
49
+ "bugs": {
50
+ "url": "https://github.com/Zaman-Meer/pexelize-react/issues"
51
+ },
52
+ "homepage": "https://github.com/Zaman-Meer/pexelize-react#readme",
53
+ "peerDependencies": {
54
+ "react": ">=17.0.0",
55
+ "react-dom": ">=17.0.0"
56
+ },
57
+ "peerDependenciesMeta": {
58
+ "react": {
59
+ "optional": false
60
+ },
61
+ "react-dom": {
62
+ "optional": false
63
+ }
64
+ },
65
+ "devDependencies": {
66
+ "@rollup/plugin-commonjs": "^25.0.7",
67
+ "@rollup/plugin-node-resolve": "^15.2.3",
68
+ "@rollup/plugin-typescript": "^11.1.5",
69
+ "@types/node": "^20.10.4",
70
+ "@types/react": "^18.2.43",
71
+ "@types/react-dom": "^18.2.17",
72
+ "@typescript-eslint/eslint-plugin": "^6.13.2",
73
+ "@typescript-eslint/parser": "^6.13.2",
74
+ "eslint": "^8.55.0",
75
+ "react": "^18.2.0",
76
+ "react-dom": "^18.2.0",
77
+ "rimraf": "^5.0.5",
78
+ "rollup": "^4.9.0",
79
+ "rollup-plugin-dts": "^6.1.0",
80
+ "rollup-plugin-peer-deps-external": "^2.2.4",
81
+ "tslib": "^2.8.1",
82
+ "typescript": "^5.3.3",
83
+ "vitest": "^1.0.4"
84
+ },
85
+ "engines": {
86
+ "node": ">=16.0.0"
87
+ }
88
+ }