best-email-builder 0.7.0 → 0.8.0

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +127 -735
  3. package/dist/ai-server.js +3 -3
  4. package/dist/ai.js +6 -6
  5. package/dist/builder.js +8 -8
  6. package/dist/chunk-62HBUBBI.js +3866 -0
  7. package/dist/chunk-62HBUBBI.js.map +1 -0
  8. package/dist/{chunk-QH5OI43L.js → chunk-6W3QUZR7.js} +8 -8
  9. package/dist/{chunk-W424KPCR.js → chunk-AXIM6E7T.js} +2 -2
  10. package/dist/{chunk-QRUMXCGW.js → chunk-DXWIVGHP.js} +3 -3
  11. package/dist/{chunk-C6WHIBGH.js → chunk-FAEVYSIF.js} +3 -3
  12. package/dist/{chunk-C6WHIBGH.js.map → chunk-FAEVYSIF.js.map} +1 -1
  13. package/dist/{chunk-4U7L2NYQ.js → chunk-G4U6PSF6.js} +2 -2
  14. package/dist/{chunk-3RPWH5PC.js → chunk-ITIG5NTJ.js} +4 -4
  15. package/dist/{chunk-CNJZLZRH.js → chunk-LUM7J5FF.js} +2 -2
  16. package/dist/{chunk-SAIW46IC.js → chunk-P7ABBLX6.js} +2 -2
  17. package/dist/{chunk-CTZ56YJG.js → chunk-SHHHYRPC.js} +834 -4
  18. package/dist/chunk-SHHHYRPC.js.map +1 -0
  19. package/dist/{chunk-UMVBT7NW.js → chunk-WM2EEV4Q.js} +4 -4
  20. package/dist/index.js +10 -10
  21. package/dist/library.js +5 -5
  22. package/dist/server.js +5 -5
  23. package/dist/types/ai/i18n/de.d.ts +2 -0
  24. package/dist/types/ai/i18n/es.d.ts +2 -0
  25. package/dist/types/ai/i18n/pt.d.ts +2 -0
  26. package/dist/types/ai/i18n/ru.d.ts +2 -0
  27. package/dist/types/ai/i18n/zh.d.ts +2 -0
  28. package/dist/types/core/constants.d.ts +1 -1
  29. package/dist/types/engine/NativeAdapter.d.ts +1 -1
  30. package/dist/types/i18n/de.d.ts +2 -0
  31. package/dist/types/i18n/es.d.ts +2 -0
  32. package/dist/types/i18n/pt.d.ts +2 -0
  33. package/dist/types/i18n/ru.d.ts +2 -0
  34. package/dist/types/i18n/zh.d.ts +2 -0
  35. package/package.json +2 -2
  36. package/dist/chunk-CTZ56YJG.js.map +0 -1
  37. package/dist/chunk-JI36FNWE.js +0 -1361
  38. package/dist/chunk-JI36FNWE.js.map +0 -1
  39. /package/dist/{chunk-QH5OI43L.js.map → chunk-6W3QUZR7.js.map} +0 -0
  40. /package/dist/{chunk-W424KPCR.js.map → chunk-AXIM6E7T.js.map} +0 -0
  41. /package/dist/{chunk-QRUMXCGW.js.map → chunk-DXWIVGHP.js.map} +0 -0
  42. /package/dist/{chunk-4U7L2NYQ.js.map → chunk-G4U6PSF6.js.map} +0 -0
  43. /package/dist/{chunk-3RPWH5PC.js.map → chunk-ITIG5NTJ.js.map} +0 -0
  44. /package/dist/{chunk-CNJZLZRH.js.map → chunk-LUM7J5FF.js.map} +0 -0
  45. /package/dist/{chunk-SAIW46IC.js.map → chunk-P7ABBLX6.js.map} +0 -0
  46. /package/dist/{chunk-UMVBT7NW.js.map → chunk-WM2EEV4Q.js.map} +0 -0
@@ -15,10 +15,10 @@ import {
15
15
  TabsTrigger,
16
16
  cn,
17
17
  useUi
18
- } from "./chunk-QRUMXCGW.js";
18
+ } from "./chunk-DXWIVGHP.js";
19
19
  import {
20
20
  EMAIL_MOBILE_WIDTH
21
- } from "./chunk-C6WHIBGH.js";
21
+ } from "./chunk-FAEVYSIF.js";
22
22
  import {
23
23
  DEFAULT_BUTTON_URL,
24
24
  FONT_STACK,
@@ -28,7 +28,7 @@ import {
28
28
  identity,
29
29
  inWhiteSection,
30
30
  prop
31
- } from "./chunk-JI36FNWE.js";
31
+ } from "./chunk-62HBUBBI.js";
32
32
 
33
33
  // src/features/templates/starter.js
34
34
  function escapeXml(text) {
@@ -592,4 +592,4 @@ export {
592
592
  useBrand,
593
593
  useLayoutWidth
594
594
  };
595
- //# sourceMappingURL=chunk-UMVBT7NW.js.map
595
+ //# sourceMappingURL=chunk-WM2EEV4Q.js.map
package/dist/index.js CHANGED
@@ -11,28 +11,28 @@ import {
11
11
  emailBlocks,
12
12
  emailBuilderFeatures,
13
13
  isFeatureEnabled
14
- } from "./chunk-QH5OI43L.js";
14
+ } from "./chunk-6W3QUZR7.js";
15
15
  import {
16
16
  TemplateLibrary
17
- } from "./chunk-3RPWH5PC.js";
17
+ } from "./chunk-ITIG5NTJ.js";
18
18
  import {
19
19
  STARTER_MJML,
20
20
  TEMPLATE_GALLERY,
21
21
  buildGallery,
22
22
  createStarterMjml,
23
23
  withPlaceholderImages
24
- } from "./chunk-UMVBT7NW.js";
24
+ } from "./chunk-WM2EEV4Q.js";
25
25
  import {
26
26
  applyVariables,
27
27
  applyVariablesToText,
28
28
  unknownVariables,
29
29
  usedVariables
30
- } from "./chunk-CNJZLZRH.js";
31
- import "./chunk-4U7L2NYQ.js";
30
+ } from "./chunk-LUM7J5FF.js";
31
+ import "./chunk-G4U6PSF6.js";
32
32
  import {
33
33
  simulateDarkMode
34
34
  } from "./chunk-UFKCLU2D.js";
35
- import "./chunk-SAIW46IC.js";
35
+ import "./chunk-P7ABBLX6.js";
36
36
  import {
37
37
  StorageError,
38
38
  UiProvider,
@@ -40,7 +40,7 @@ import {
40
40
  createMemoryStorage,
41
41
  useT,
42
42
  useUi
43
- } from "./chunk-QRUMXCGW.js";
43
+ } from "./chunk-DXWIVGHP.js";
44
44
  import {
45
45
  EMAIL_BUILDER_VERSION,
46
46
  EMAIL_DEVICES,
@@ -49,9 +49,9 @@ import {
49
49
  createDocument,
50
50
  readDocument,
51
51
  serializeDocument
52
- } from "./chunk-C6WHIBGH.js";
52
+ } from "./chunk-FAEVYSIF.js";
53
53
  import "./chunk-OWVXKMLI.js";
54
- import "./chunk-W424KPCR.js";
54
+ import "./chunk-AXIM6E7T.js";
55
55
  import {
56
56
  CUSTOM_GROUP,
57
57
  DEFAULT_ASSETS_PATH,
@@ -73,7 +73,7 @@ import {
73
73
  tokenOf,
74
74
  translatorFor,
75
75
  validateCustomVariable
76
- } from "./chunk-JI36FNWE.js";
76
+ } from "./chunk-62HBUBBI.js";
77
77
 
78
78
  // src/ui/EmailStudio.jsx
79
79
  import { useMemo, useState } from "react";
package/dist/library.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  TemplateLibrary
3
- } from "./chunk-3RPWH5PC.js";
3
+ } from "./chunk-ITIG5NTJ.js";
4
4
  import {
5
5
  TEMPLATE_GALLERY,
6
6
  buildGallery,
7
7
  withPlaceholderImages
8
- } from "./chunk-UMVBT7NW.js";
8
+ } from "./chunk-WM2EEV4Q.js";
9
9
  import "./chunk-UFKCLU2D.js";
10
10
  import {
11
11
  StorageError,
12
12
  createHttpStorage,
13
13
  createMemoryStorage
14
- } from "./chunk-QRUMXCGW.js";
14
+ } from "./chunk-DXWIVGHP.js";
15
15
  import {
16
16
  EMAIL_BUILDER_VERSION
17
- } from "./chunk-C6WHIBGH.js";
17
+ } from "./chunk-FAEVYSIF.js";
18
18
  import {
19
19
  LOCALES,
20
20
  createTranslator,
21
21
  translatorFor
22
- } from "./chunk-JI36FNWE.js";
22
+ } from "./chunk-62HBUBBI.js";
23
23
  export {
24
24
  EMAIL_BUILDER_VERSION,
25
25
  LOCALES,
package/dist/server.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  sampleValues,
6
6
  unknownVariables,
7
7
  usedVariables
8
- } from "./chunk-CNJZLZRH.js";
8
+ } from "./chunk-LUM7J5FF.js";
9
9
  import {
10
10
  BRAND_IMPORT_ERRORS,
11
11
  brandFromCss,
@@ -14,7 +14,7 @@ import {
14
14
  logoWidthFor,
15
15
  prepareMjml,
16
16
  readPage
17
- } from "./chunk-4U7L2NYQ.js";
17
+ } from "./chunk-G4U6PSF6.js";
18
18
  import {
19
19
  simulateDarkMode
20
20
  } from "./chunk-UFKCLU2D.js";
@@ -28,14 +28,14 @@ import {
28
28
  detectImage,
29
29
  readDocument,
30
30
  serializeDocument
31
- } from "./chunk-C6WHIBGH.js";
31
+ } from "./chunk-FAEVYSIF.js";
32
32
  import {
33
33
  IMAGE_ATTRIBUTES,
34
34
  LINK_ATTRIBUTES,
35
35
  assertValidMjml,
36
36
  isSafeUrl,
37
37
  validateMjml
38
- } from "./chunk-W424KPCR.js";
38
+ } from "./chunk-AXIM6E7T.js";
39
39
  import {
40
40
  DEFAULT_ASSETS_PATH,
41
41
  DEFAULT_VARIABLES,
@@ -54,7 +54,7 @@ import {
54
54
  tokenOf,
55
55
  translatorFor,
56
56
  validateCustomVariable
57
- } from "./chunk-JI36FNWE.js";
57
+ } from "./chunk-62HBUBBI.js";
58
58
 
59
59
  // src/server/assets.js
60
60
  import { createHash } from "crypto";
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const de: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const es: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const pt: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const ru: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const zh: Record<string, string>;
@@ -6,7 +6,7 @@
6
6
  * project JSON). Both are written with every template, so a document read by
7
7
  * a newer version knows whether it must be migrated (see `core/document.js`).
8
8
  */
9
- export const EMAIL_BUILDER_VERSION: "0.7.0";
9
+ export const EMAIL_BUILDER_VERSION: "0.8.0";
10
10
  export const EMAIL_DOCUMENT_SCHEMA_VERSION: 1;
11
11
  /** @typedef {'desktop'|'mobile'} EmailDevice */
12
12
  /** @type {EmailDevice[]} */
@@ -20,7 +20,7 @@ export function createNativeAdapter({ loadCompiler }?: {
20
20
  * @typedef {import('./model.js').EmailNode} EmailNode
21
21
  */
22
22
  export const ENGINE_NAME: "beb-mjml";
23
- export const ENGINE_VERSION: "0.7.0";
23
+ export const ENGINE_VERSION: "0.8.0";
24
24
  export const EMPTY_MJML: "<mjml><mj-body background-color=\"#eceff4\" width=\"600px\"></mj-body></mjml>";
25
25
  export type EmailEditorAdapter = import("../core/EmailEditor.js").EmailEditorAdapter;
26
26
  export type EmailBlock = import("../core/EmailEditor.js").EmailBlock;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const de: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const es: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const pt: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const ru: Record<string, string>;
@@ -0,0 +1,2 @@
1
+ /** @type {Record<string, string>} */
2
+ export const zh: Record<string, string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "best-email-builder",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Drag-and-drop email builder for React: MJML output that renders in Outlook, Gmail and Apple Mail, with server-side rendering, versions, variables and image uploads.",
5
5
  "keywords": [
6
6
  "email",
@@ -102,7 +102,7 @@
102
102
  "demo:preview": "vite preview --config examples/demo/vite.config.js --port 5176 --strictPort --base /best-email-builder/",
103
103
  "test:demo": "npm run demo:build:pages && playwright test --config=playwright.config.js --project=demo",
104
104
  "demo:build:pages": "vite build --config examples/demo/vite.config.js --base /best-email-builder/",
105
- "check:i18n": "node scripts/i18n-keys.mjs fr",
105
+ "check:i18n": "node scripts/i18n-keys.mjs fr de es pt ru zh",
106
106
  "check:classes": "node scripts/check-classes.mjs dist/styles.css && node scripts/check-unprefixed.mjs"
107
107
  },
108
108
  "peerDependencies": {