esender-email-editor 1.0.0 → 1.0.2
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/README.md +34 -12
- package/dist/index.cjs +46 -44
- package/dist/index.js +46 -44
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# esender-email-editor
|
|
2
2
|
|
|
3
3
|
A drag-and-drop **MJML email editor** for React 18 + Ant Design 5. The editor renders inside a single `<Package />` component, exposes a small imperative API for getting / loading / saving templates, and gates access behind the **eSender license** system.
|
|
4
4
|
|
|
@@ -11,17 +11,15 @@ A drag-and-drop **MJML email editor** for React 18 + Ant Design 5. The editor re
|
|
|
11
11
|
The package is published on the public **npm registry**.
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npm install
|
|
14
|
+
npm install esender-email-editor
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
> `--legacy-peer-deps` is required because a transitive dep (`react-giphy-searchbox`) still declares a `react@16` peer range. The runtime works on React 18 — only the peer declaration is stale.
|
|
18
|
-
|
|
19
17
|
## Peer dependencies
|
|
20
18
|
|
|
21
19
|
The package externalizes its heavy runtime deps so the host app provides them. Install the tested versions:
|
|
22
20
|
|
|
23
21
|
```bash
|
|
24
|
-
npm install
|
|
22
|
+
npm install \
|
|
25
23
|
react@^18.3.1 react-dom@^18.3.1 \
|
|
26
24
|
antd@^5.25.1 @ant-design/icons@^5.6.1 @ant-design/pro-components@^2.8.7 \
|
|
27
25
|
@reduxjs/toolkit@^2.1.0 react-redux@^9.2.0 redux-persist@^6.0.0 \
|
|
@@ -44,8 +42,8 @@ npm install --legacy-peer-deps \
|
|
|
44
42
|
|
|
45
43
|
```tsx
|
|
46
44
|
import { useRef } from 'react';
|
|
47
|
-
import Package, { type EditorHandle, type LicenseError } from '
|
|
48
|
-
import '
|
|
45
|
+
import Package, { type EditorHandle, type LicenseError } from 'esender-email-editor';
|
|
46
|
+
import 'esender-email-editor/styles.css';
|
|
49
47
|
|
|
50
48
|
export const Composer = () => {
|
|
51
49
|
const ref = useRef<EditorHandle>(null);
|
|
@@ -119,7 +117,7 @@ No further token management is required from the host.
|
|
|
119
117
|
Import the bundled stylesheet once at your app root:
|
|
120
118
|
|
|
121
119
|
```ts
|
|
122
|
-
import '
|
|
120
|
+
import 'esender-email-editor/styles.css';
|
|
123
121
|
```
|
|
124
122
|
|
|
125
123
|
The package depends on Ant Design 5. Antd v5's runtime CSS-in-JS handles its own component styles, so you do **not** need a separate antd reset. The bundled `styles.css` only contains editor chrome overrides (CKEditor 5, Quill, antd tweaks).
|
|
@@ -132,7 +130,7 @@ The package depends on Ant Design 5. Antd v5's runtime CSS-in-JS handles its own
|
|
|
132
130
|
// Next.js (app/ or pages/)
|
|
133
131
|
import dynamic from 'next/dynamic';
|
|
134
132
|
|
|
135
|
-
const Package = dynamic(() => import('
|
|
133
|
+
const Package = dynamic(() => import('esender-email-editor'), { ssr: false });
|
|
136
134
|
```
|
|
137
135
|
|
|
138
136
|
Module-level code in the package is SSR-safe (all `window` / `document` / `localStorage` access is `typeof`-guarded), so importing it on the server will not crash — only mounting it will.
|
|
@@ -155,7 +153,7 @@ export default defineConfig({
|
|
|
155
153
|
},
|
|
156
154
|
optimizeDeps: {
|
|
157
155
|
include: [
|
|
158
|
-
'
|
|
156
|
+
'esender-email-editor',
|
|
159
157
|
'mjml-browser', 'cheerio',
|
|
160
158
|
'antd', '@ant-design/icons', '@ant-design/pro-components',
|
|
161
159
|
'react-is', 'react-redux',
|
|
@@ -198,7 +196,7 @@ import Package, {
|
|
|
198
196
|
type RefreshTokenResponse,
|
|
199
197
|
type TemplateApiResponse,
|
|
200
198
|
type TemplateDocument,
|
|
201
|
-
} from '
|
|
199
|
+
} from 'esender-email-editor';
|
|
202
200
|
```
|
|
203
201
|
|
|
204
202
|
## Troubleshooting
|
|
@@ -244,6 +242,30 @@ Strict semver:
|
|
|
244
242
|
- **MINOR** — additive features, no breakage.
|
|
245
243
|
- **MAJOR** — breaking changes to `<Package />` props or `EditorHandle`.
|
|
246
244
|
|
|
245
|
+
## Author
|
|
246
|
+
|
|
247
|
+
bitbeast private limited
|
|
248
|
+
|
|
247
249
|
## License
|
|
248
250
|
|
|
249
|
-
MIT
|
|
251
|
+
MIT License
|
|
252
|
+
|
|
253
|
+
Copyright (c) 2026 Bitbeast Private Limited
|
|
254
|
+
|
|
255
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
256
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
257
|
+
in the Software without restriction, including without limitation the rights
|
|
258
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
259
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
260
|
+
furnished to do so, subject to the following conditions:
|
|
261
|
+
|
|
262
|
+
The above copyright notice and this permission notice shall be included in all
|
|
263
|
+
copies or substantial portions of the Software.
|
|
264
|
+
|
|
265
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
266
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
267
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
268
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
269
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
270
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
271
|
+
SOFTWARE.
|