@endora-commerce/email-components 0.100.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 (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +45 -0
  3. package/dist/components/email-branding-preview-context.d.ts +7 -0
  4. package/dist/components/email-branding-preview-context.d.ts.map +1 -0
  5. package/dist/components/email-branding-preview-context.js +8 -0
  6. package/dist/components/email-branding-preview-context.js.map +1 -0
  7. package/dist/components/email-embeds-context.d.ts +11 -0
  8. package/dist/components/email-embeds-context.d.ts.map +1 -0
  9. package/dist/components/email-embeds-context.js +15 -0
  10. package/dist/components/email-embeds-context.js.map +1 -0
  11. package/dist/config.d.ts +333 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +900 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/defaults/default-footer.d.ts +13 -0
  16. package/dist/defaults/default-footer.d.ts.map +1 -0
  17. package/dist/defaults/default-footer.js +42 -0
  18. package/dist/defaults/default-footer.js.map +1 -0
  19. package/dist/defaults/default-header.d.ts +5 -0
  20. package/dist/defaults/default-header.d.ts.map +1 -0
  21. package/dist/defaults/default-header.js +34 -0
  22. package/dist/defaults/default-header.js.map +1 -0
  23. package/dist/defaults/simple-email-body.d.ts +20 -0
  24. package/dist/defaults/simple-email-body.d.ts.map +1 -0
  25. package/dist/defaults/simple-email-body.js +41 -0
  26. package/dist/defaults/simple-email-body.js.map +1 -0
  27. package/dist/directives/directive-engine.d.ts +7 -0
  28. package/dist/directives/directive-engine.d.ts.map +1 -0
  29. package/dist/directives/directive-engine.js +144 -0
  30. package/dist/directives/directive-engine.js.map +1 -0
  31. package/dist/editor/email-row-layout-presets.d.ts +33 -0
  32. package/dist/editor/email-row-layout-presets.d.ts.map +1 -0
  33. package/dist/editor/email-row-layout-presets.js +145 -0
  34. package/dist/editor/email-row-layout-presets.js.map +1 -0
  35. package/dist/index.d.ts +18 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +24 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/render/escape-html.d.ts +4 -0
  40. package/dist/render/escape-html.d.ts.map +1 -0
  41. package/dist/render/escape-html.js +21 -0
  42. package/dist/render/escape-html.js.map +1 -0
  43. package/dist/render/order-labels.d.ts +23 -0
  44. package/dist/render/order-labels.d.ts.map +1 -0
  45. package/dist/render/order-labels.js +46 -0
  46. package/dist/render/order-labels.js.map +1 -0
  47. package/dist/render/render-email-html.d.ts +18 -0
  48. package/dist/render/render-email-html.d.ts.map +1 -0
  49. package/dist/render/render-email-html.js +659 -0
  50. package/dist/render/render-email-html.js.map +1 -0
  51. package/dist/render/render-email-text.d.ts +11 -0
  52. package/dist/render/render-email-text.d.ts.map +1 -0
  53. package/dist/render/render-email-text.js +167 -0
  54. package/dist/render/render-email-text.js.map +1 -0
  55. package/dist/render/sample-variables.d.ts +15 -0
  56. package/dist/render/sample-variables.d.ts.map +1 -0
  57. package/dist/render/sample-variables.js +43 -0
  58. package/dist/render/sample-variables.js.map +1 -0
  59. package/dist/render/sanitize-email-html.d.ts +9 -0
  60. package/dist/render/sanitize-email-html.d.ts.map +1 -0
  61. package/dist/render/sanitize-email-html.js +122 -0
  62. package/dist/render/sanitize-email-html.js.map +1 -0
  63. package/dist/render/social-icon-svg.d.ts +6 -0
  64. package/dist/render/social-icon-svg.d.ts.map +1 -0
  65. package/dist/render/social-icon-svg.js +41 -0
  66. package/dist/render/social-icon-svg.js.map +1 -0
  67. package/dist/schema/component-types.d.ts +269 -0
  68. package/dist/schema/component-types.d.ts.map +1 -0
  69. package/dist/schema/component-types.js +105 -0
  70. package/dist/schema/component-types.js.map +1 -0
  71. package/dist/schema/envelope.d.ts +21 -0
  72. package/dist/schema/envelope.d.ts.map +1 -0
  73. package/dist/schema/envelope.js +8 -0
  74. package/dist/schema/envelope.js.map +1 -0
  75. package/dist/tree/walk-embeds.d.ts +7 -0
  76. package/dist/tree/walk-embeds.d.ts.map +1 -0
  77. package/dist/tree/walk-embeds.js +115 -0
  78. package/dist/tree/walk-embeds.js.map +1 -0
  79. package/package.json +71 -0
  80. package/tailwind.css +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { PuckDataTree } from '../schema/envelope.js';
2
+ export declare const DEFAULT_FOOTER_BLOCK_CODE = "default_email_footer";
3
+ /**
4
+ * Shared TE + newsletter system footer.
5
+ * Newsletter send injects `unsubscribeUrl`; TE leaves the link empty when unset.
6
+ */
7
+ export declare function defaultFooterTree(): PuckDataTree;
8
+ /** Build a single-language content envelope from a tree, for the given languages. */
9
+ export declare function envelopeFromTree(tree: PuckDataTree, languages: readonly string[]): {
10
+ schema_version: number;
11
+ languages: Record<string, PuckDataTree>;
12
+ };
13
+ //# sourceMappingURL=default-footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-footer.d.ts","sourceRoot":"","sources":["../../src/defaults/default-footer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CA6BhD;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAIrE"}
@@ -0,0 +1,42 @@
1
+ export const DEFAULT_FOOTER_BLOCK_CODE = 'default_email_footer';
2
+ /**
3
+ * Shared TE + newsletter system footer.
4
+ * Newsletter send injects `unsubscribeUrl`; TE leaves the link empty when unset.
5
+ */
6
+ export function defaultFooterTree() {
7
+ return {
8
+ root: { props: {} },
9
+ content: [
10
+ {
11
+ type: 'transactional_emails.EmailDivider',
12
+ props: { id: 'default-footer-divider', thickness: 1, color: '#e5e7eb' },
13
+ },
14
+ {
15
+ type: 'transactional_emails.EmailSpacer',
16
+ props: { id: 'default-footer-spacer-top', height: 12 },
17
+ },
18
+ {
19
+ type: 'transactional_emails.EmailFooterLegal',
20
+ props: {
21
+ id: 'default-footer-legal',
22
+ text: 'You are receiving this email because of activity related to your account.\n' +
23
+ '<a href="{{var unsubscribeUrl}}">Unsubscribe</a>',
24
+ align: 'center',
25
+ },
26
+ },
27
+ {
28
+ type: 'transactional_emails.EmailSpacer',
29
+ props: { id: 'default-footer-spacer-bottom', height: 24 },
30
+ },
31
+ ],
32
+ zones: {},
33
+ };
34
+ }
35
+ /** Build a single-language content envelope from a tree, for the given languages. */
36
+ export function envelopeFromTree(tree, languages) {
37
+ const byLang = {};
38
+ for (const lang of languages)
39
+ byLang[lang] = tree;
40
+ return { schema_version: 1, languages: byLang };
41
+ }
42
+ //# sourceMappingURL=default-footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-footer.js","sourceRoot":"","sources":["../../src/defaults/default-footer.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAEhE;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;aACxE;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,EAAE;aACvD;YACD;gBACE,IAAI,EAAE,uCAAuC;gBAC7C,KAAK,EAAE;oBACL,EAAE,EAAE,sBAAsB;oBAC1B,IAAI,EACF,6EAA6E;wBAC7E,kDAAkD;oBACpD,KAAK,EAAE,QAAQ;iBAChB;aACF;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,EAAE,EAAE,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,EAAE;aAC1D;SACF;QACD,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAC9B,IAAkB,EAClB,SAA4B;IAE5B,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { PuckDataTree } from '../schema/envelope.js';
2
+ export declare const DEFAULT_HEADER_BLOCK_CODE = "default_email_header";
3
+ /** Shared TE + newsletter system header — logo from branding, simple stack. */
4
+ export declare function defaultHeaderTree(): PuckDataTree;
5
+ //# sourceMappingURL=default-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-header.d.ts","sourceRoot":"","sources":["../../src/defaults/default-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,+EAA+E;AAC/E,wBAAgB,iBAAiB,IAAI,YAAY,CA8BhD"}
@@ -0,0 +1,34 @@
1
+ export const DEFAULT_HEADER_BLOCK_CODE = 'default_email_header';
2
+ /** Shared TE + newsletter system header — logo from branding, simple stack. */
3
+ export function defaultHeaderTree() {
4
+ return {
5
+ root: { props: {} },
6
+ content: [
7
+ {
8
+ type: 'transactional_emails.EmailSpacer',
9
+ props: { id: 'default-header-spacer-top', height: 24 },
10
+ },
11
+ {
12
+ type: 'transactional_emails.EmailLogo',
13
+ props: {
14
+ id: 'default-header-logo',
15
+ src: '{{var branding.logoUrl}}',
16
+ alt: 'Logo',
17
+ href: '',
18
+ width: 160,
19
+ align: 'center',
20
+ },
21
+ },
22
+ {
23
+ type: 'transactional_emails.EmailSpacer',
24
+ props: { id: 'default-header-spacer-mid', height: 12 },
25
+ },
26
+ {
27
+ type: 'transactional_emails.EmailDivider',
28
+ props: { id: 'default-header-divider', thickness: 1, color: '#e5e7eb' },
29
+ },
30
+ ],
31
+ zones: {},
32
+ };
33
+ }
34
+ //# sourceMappingURL=default-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-header.js","sourceRoot":"","sources":["../../src/defaults/default-header.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,EAAE;aACvD;YACD;gBACE,IAAI,EAAE,gCAAgC;gBACtC,KAAK,EAAE;oBACL,EAAE,EAAE,qBAAqB;oBACzB,GAAG,EAAE,0BAA0B;oBAC/B,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,EAAE;oBACR,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,QAAQ;iBAChB;aACF;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,EAAE;aACvD;YACD;gBACE,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;aACxE;SACF;QACD,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { PuckDataTree } from '../schema/envelope.js';
2
+ export interface SimpleEmailBodyOptions {
3
+ /** Optional H2 above the body copy. */
4
+ heading?: string;
5
+ /** Body copy; may contain Magento-style `{{var …}}` / `{{if}}` directives. */
6
+ text: string;
7
+ ctaLabel?: string;
8
+ /** Button href — often a directive like `{{var verifyUrl}}`. */
9
+ ctaHref?: string;
10
+ headerCode?: string;
11
+ footerCode?: string;
12
+ /** Prefix for stable Puck prop ids. */
13
+ idPrefix?: string;
14
+ }
15
+ /**
16
+ * Canonical simple transactional layout:
17
+ * header embed → spacer → optional heading → text → optional CTA → spacer → footer embed.
18
+ */
19
+ export declare function simpleEmailBodyTree(opts: SimpleEmailBodyOptions): PuckDataTree;
20
+ //# sourceMappingURL=simple-email-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-email-body.d.ts","sourceRoot":"","sources":["../../src/defaults/simple-email-body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,GAAG,YAAY,CA0C9E"}
@@ -0,0 +1,41 @@
1
+ import { DEFAULT_HEADER_BLOCK_CODE } from './default-header.js';
2
+ import { DEFAULT_FOOTER_BLOCK_CODE } from './default-footer.js';
3
+ /**
4
+ * Canonical simple transactional layout:
5
+ * header embed → spacer → optional heading → text → optional CTA → spacer → footer embed.
6
+ */
7
+ export function simpleEmailBodyTree(opts) {
8
+ const prefix = opts.idPrefix ?? 'mail';
9
+ const headerCode = opts.headerCode ?? DEFAULT_HEADER_BLOCK_CODE;
10
+ const footerCode = opts.footerCode ?? DEFAULT_FOOTER_BLOCK_CODE;
11
+ const content = [
12
+ { type: 'transactional_emails.EmailInsertBlock', props: { id: `${prefix}-header`, code: headerCode } },
13
+ { type: 'transactional_emails.EmailSpacer', props: { id: `${prefix}-spacer-top`, height: 16 } },
14
+ ];
15
+ if (opts.heading) {
16
+ content.push({
17
+ type: 'transactional_emails.EmailHeading',
18
+ props: { id: `${prefix}-heading`, level: 'h2', text: opts.heading, align: 'left' },
19
+ });
20
+ }
21
+ content.push({
22
+ type: 'transactional_emails.EmailText',
23
+ props: { id: `${prefix}-body`, text: opts.text, align: 'left' },
24
+ });
25
+ if (opts.ctaLabel && opts.ctaHref) {
26
+ content.push({
27
+ type: 'transactional_emails.EmailButton',
28
+ props: {
29
+ id: `${prefix}-cta`,
30
+ label: opts.ctaLabel,
31
+ href: opts.ctaHref,
32
+ align: 'left',
33
+ backgroundColor: '#1f2937',
34
+ textColor: '#ffffff',
35
+ },
36
+ });
37
+ }
38
+ content.push({ type: 'transactional_emails.EmailSpacer', props: { id: `${prefix}-spacer-bottom`, height: 16 } }, { type: 'transactional_emails.EmailInsertBlock', props: { id: `${prefix}-footer`, code: footerCode } });
39
+ return { root: { props: {} }, content, zones: {} };
40
+ }
41
+ //# sourceMappingURL=simple-email-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-email-body.js","sourceRoot":"","sources":["../../src/defaults/simple-email-body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAgBhE;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA4B;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,yBAAyB,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,yBAAyB,CAAC;IAEhE,MAAM,OAAO,GAA4D;QACvE,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QACtG,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;KAChG,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,mCAAmC;YACzC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;SACnF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;KAChE,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE;gBACL,EAAE,EAAE,GAAG,MAAM,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE,SAAS;gBAC1B,SAAS,EAAE,SAAS;aACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAClG,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CACvG,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type DirectiveContext = Record<string, unknown>;
2
+ export interface RenderDirectivesOptions {
3
+ /** Escape substituted values for HTML output. Default false (text/subject). */
4
+ escape?: boolean;
5
+ }
6
+ export declare function renderDirectives(input: string, ctx: DirectiveContext, opts?: RenderDirectivesOptions): string;
7
+ //# sourceMappingURL=directive-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive-engine.d.ts","sourceRoot":"","sources":["../../src/directives/directive-engine.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAiJD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,gBAAgB,EACrB,IAAI,GAAE,uBAA4B,GACjC,MAAM,CAIR"}
@@ -0,0 +1,144 @@
1
+ // Magento-2-style directive engine (feature 047, research R3).
2
+ //
3
+ // Supports exactly three directives over a rendered string:
4
+ // {{var path}} -> substitute a (nested) context value
5
+ // {{if path}} ... {{/if}} -> include block when value is truthy
6
+ // {{for alias in path}} ... {{/for}} -> repeat block per list item
7
+ //
8
+ // Runs AFTER component rendering, so a {{for}} body may span multiple rendered
9
+ // components. In HTML mode, {{var}} values are HTML-escaped; in text/subject
10
+ // mode they are raw. Unknown/missing paths resolve to empty (var) / falsy
11
+ // (if/for), and never throw — a missing value must never break a send (FR-012).
12
+ import { escapeHtml } from '../render/escape-html.js';
13
+ const TOKEN = /\{\{\s*(\/?)(var|if|for)\b([^}]*?)\s*\}\}/g;
14
+ function tokenize(input) {
15
+ const tokens = [];
16
+ let m;
17
+ TOKEN.lastIndex = 0;
18
+ while ((m = TOKEN.exec(input)) !== null) {
19
+ tokens.push({
20
+ index: m.index,
21
+ length: m[0].length,
22
+ closing: m[1] === '/',
23
+ keyword: m[2],
24
+ rest: (m[3] ?? '').trim(),
25
+ });
26
+ }
27
+ return tokens;
28
+ }
29
+ function parse(input) {
30
+ const tokens = tokenize(input);
31
+ let cursor = 0; // position in input consumed so far
32
+ let ti = 0; // token index
33
+ function parseUntil(closer) {
34
+ const nodes = [];
35
+ while (ti < tokens.length) {
36
+ const tok = tokens[ti];
37
+ if (!tok)
38
+ break;
39
+ // Emit literal text before this token.
40
+ if (tok.index > cursor) {
41
+ nodes.push({ kind: 'text', value: input.slice(cursor, tok.index) });
42
+ }
43
+ cursor = tok.index + tok.length;
44
+ ti += 1;
45
+ if (tok.closing) {
46
+ if (closer && tok.keyword === closer)
47
+ return nodes;
48
+ // Unbalanced closer for the current scope: ignore (treat as nothing).
49
+ continue;
50
+ }
51
+ if (tok.keyword === 'var') {
52
+ nodes.push({ kind: 'var', path: tok.rest });
53
+ }
54
+ else if (tok.keyword === 'if') {
55
+ const body = parseUntil('if');
56
+ nodes.push({ kind: 'if', path: tok.rest, body });
57
+ }
58
+ else if (tok.keyword === 'for') {
59
+ const parsed = parseForHeader(tok.rest);
60
+ const body = parseUntil('for');
61
+ nodes.push({ kind: 'for', alias: parsed.alias, path: parsed.path, body });
62
+ }
63
+ }
64
+ // Trailing literal text.
65
+ if (closer === null && cursor < input.length) {
66
+ nodes.push({ kind: 'text', value: input.slice(cursor) });
67
+ }
68
+ return nodes;
69
+ }
70
+ return parseUntil(null);
71
+ }
72
+ function parseForHeader(rest) {
73
+ // Expected: "alias in path"
74
+ const m = /^(\w+)\s+in\s+(.+)$/.exec(rest);
75
+ if (!m || !m[1] || !m[2])
76
+ return { alias: '', path: rest };
77
+ return { alias: m[1], path: m[2].trim() };
78
+ }
79
+ function resolvePath(ctx, path) {
80
+ if (!path)
81
+ return undefined;
82
+ const parts = path.split('.');
83
+ let cur = ctx;
84
+ for (const part of parts) {
85
+ if (cur == null || typeof cur !== 'object')
86
+ return undefined;
87
+ cur = cur[part];
88
+ }
89
+ return cur;
90
+ }
91
+ function stringify(value) {
92
+ if (value == null)
93
+ return '';
94
+ if (typeof value === 'string')
95
+ return value;
96
+ if (typeof value === 'number' || typeof value === 'boolean')
97
+ return String(value);
98
+ return '';
99
+ }
100
+ function isTruthy(value) {
101
+ if (Array.isArray(value))
102
+ return value.length > 0;
103
+ if (typeof value === 'string')
104
+ return value.trim().length > 0;
105
+ return Boolean(value);
106
+ }
107
+ function renderNodes(nodes, ctx, escape) {
108
+ let out = '';
109
+ for (const node of nodes) {
110
+ switch (node.kind) {
111
+ case 'text':
112
+ out += node.value;
113
+ break;
114
+ case 'var': {
115
+ const v = stringify(resolvePath(ctx, node.path));
116
+ out += escape ? escapeHtml(v) : v;
117
+ break;
118
+ }
119
+ case 'if': {
120
+ if (isTruthy(resolvePath(ctx, node.path))) {
121
+ out += renderNodes(node.body, ctx, escape);
122
+ }
123
+ break;
124
+ }
125
+ case 'for': {
126
+ const list = resolvePath(ctx, node.path);
127
+ if (Array.isArray(list)) {
128
+ for (const item of list) {
129
+ out += renderNodes(node.body, { ...ctx, [node.alias]: item }, escape);
130
+ }
131
+ }
132
+ break;
133
+ }
134
+ }
135
+ }
136
+ return out;
137
+ }
138
+ export function renderDirectives(input, ctx, opts = {}) {
139
+ if (!input.includes('{{'))
140
+ return input;
141
+ const ast = parse(input);
142
+ return renderNodes(ast, ctx, opts.escape ?? false);
143
+ }
144
+ //# sourceMappingURL=directive-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive-engine.js","sourceRoot":"","sources":["../../src/directives/directive-engine.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,4DAA4D;AAC5D,gFAAgF;AAChF,+EAA+E;AAC/E,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,0EAA0E;AAC1E,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAetD,MAAM,KAAK,GAAG,4CAA4C,CAAC;AAU3D,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,CAAyB,CAAC;IAC9B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YACnB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YACrB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAqB;YACjC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,oCAAoC;IACpD,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc;IAE1B,SAAS,UAAU,CAAC,MAA2B;QAC7C,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG;gBAAE,MAAM;YAChB,uCAAuC;YACvC,IAAI,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;YAChC,EAAE,IAAI,CAAC,CAAC;YAER,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAC;gBACnD,sEAAsE;gBACtE,SAAS;YACX,CAAC;YAED,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,yBAAyB;QACzB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,4BAA4B;IAC5B,MAAM,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3D,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,GAAqB,EAAE,IAAY;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC7D,GAAG,GAAI,GAA+B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAClB,KAAa,EACb,GAAqB,EACrB,MAAe;IAEf,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;gBAClB,MAAM;YACR,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,IAAI,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC1C,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACxB,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,GAAqB,EACrB,OAAgC,EAAE;IAElC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { EmailColumnProps, EmailRowProps } from '../schema/component-types.js';
2
+ export type EmailRowLayoutPresetId = '1' | '2' | '3' | '4' | '5' | '6';
3
+ export interface EmailRowLayoutPreset {
4
+ id: EmailRowLayoutPresetId;
5
+ label: string;
6
+ /** Width spans on a 12-column grid (sum to 12). */
7
+ spans: number[];
8
+ }
9
+ type PuckItem = {
10
+ type: string;
11
+ props: Record<string, unknown>;
12
+ };
13
+ export declare const EMAIL_ROW_LAYOUT_PRESETS: EmailRowLayoutPreset[];
14
+ export declare function createDefaultEmailColumnItem(id: string, span?: number): {
15
+ type: 'transactional_emails.EmailColumn';
16
+ props: EmailColumnProps & {
17
+ id: string;
18
+ };
19
+ };
20
+ /** Apply a column layout preset, preserving nested block data where possible. */
21
+ export declare function applyEmailRowLayoutPreset(rowProps: EmailRowProps, presetId: EmailRowLayoutPresetId): EmailRowProps;
22
+ /** Add one column and redistribute equal-ish spans (max 6). */
23
+ export declare function addEmailColumnFitRow(rowProps: EmailRowProps): EmailRowProps;
24
+ export declare function findEmailRowById(data: {
25
+ content?: unknown;
26
+ zones?: Record<string, unknown>;
27
+ }, rowId: string): PuckItem | null;
28
+ export declare function replaceEmailRowInData<T extends {
29
+ content?: unknown;
30
+ zones?: Record<string, unknown>;
31
+ }>(data: T, rowId: string, nextRow: PuckItem): T;
32
+ export {};
33
+ //# sourceMappingURL=email-row-layout-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-row-layout-presets.d.ts","sourceRoot":"","sources":["../../src/editor/email-row-layout-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEpF,MAAM,MAAM,sBAAsB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,sBAAsB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAejE,eAAO,MAAM,wBAAwB,EAAE,oBAAoB,EAO1D,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,MAAM,EACV,IAAI,SAAI,GACP;IAAE,IAAI,EAAE,kCAAkC,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CASxF;AAsBD,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,sBAAsB,GAC/B,aAAa,CAQf;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAY3E;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC5D,KAAK,EAAE,MAAM,GACZ,QAAQ,GAAG,IAAI,CAsBjB;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EACpG,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,GAChB,CAAC,CAgDH"}
@@ -0,0 +1,145 @@
1
+ function toPuckItemArray(value) {
2
+ if (!Array.isArray(value))
3
+ return [];
4
+ const items = [];
5
+ for (const entry of value) {
6
+ if (!entry || typeof entry !== 'object')
7
+ continue;
8
+ const record = entry;
9
+ if (typeof record.type === 'string' && record.props && typeof record.props === 'object') {
10
+ items.push({ type: record.type, props: record.props });
11
+ }
12
+ }
13
+ return items;
14
+ }
15
+ export const EMAIL_ROW_LAYOUT_PRESETS = [
16
+ { id: '1', label: '1 column', spans: [12] },
17
+ { id: '2', label: '2 columns', spans: [6, 6] },
18
+ { id: '3', label: '3 columns', spans: [4, 4, 4] },
19
+ { id: '4', label: '4 columns', spans: [3, 3, 3, 3] },
20
+ { id: '5', label: '5 columns', spans: [3, 3, 2, 2, 2] },
21
+ { id: '6', label: '6 columns', spans: [2, 2, 2, 2, 2, 2] },
22
+ ];
23
+ export function createDefaultEmailColumnItem(id, span = 6) {
24
+ return {
25
+ type: 'transactional_emails.EmailColumn',
26
+ props: {
27
+ id,
28
+ span,
29
+ content: [],
30
+ },
31
+ };
32
+ }
33
+ function existingColumnContents(content) {
34
+ return toPuckItemArray(content)
35
+ .filter((item) => item.type === 'transactional_emails.EmailColumn')
36
+ .map((col) => toPuckItemArray(col.props.content));
37
+ }
38
+ function buildColumns(spans, preserved) {
39
+ return spans.map((span, index) => {
40
+ const col = createDefaultEmailColumnItem(`ecol-${crypto.randomUUID()}`, span);
41
+ return {
42
+ ...col,
43
+ props: {
44
+ ...col.props,
45
+ span,
46
+ content: preserved[index] ?? [],
47
+ },
48
+ };
49
+ });
50
+ }
51
+ /** Apply a column layout preset, preserving nested block data where possible. */
52
+ export function applyEmailRowLayoutPreset(rowProps, presetId) {
53
+ const preset = EMAIL_ROW_LAYOUT_PRESETS.find((entry) => entry.id === presetId);
54
+ if (!preset)
55
+ return rowProps;
56
+ const preserved = existingColumnContents(rowProps.content);
57
+ return {
58
+ ...rowProps,
59
+ content: buildColumns(preset.spans, preserved),
60
+ };
61
+ }
62
+ /** Add one column and redistribute equal-ish spans (max 6). */
63
+ export function addEmailColumnFitRow(rowProps) {
64
+ const columns = toPuckItemArray(rowProps.content).filter((item) => item.type === 'transactional_emails.EmailColumn');
65
+ if (columns.length >= 6)
66
+ return rowProps;
67
+ const preserved = columns.map((col) => toPuckItemArray(col.props.content));
68
+ const nextCount = columns.length + 1;
69
+ const base = Math.floor(12 / nextCount);
70
+ const remainder = 12 - base * nextCount;
71
+ const spans = Array.from({ length: nextCount }, (_, index) => base + (index < remainder ? 1 : 0));
72
+ return {
73
+ ...rowProps,
74
+ content: buildColumns(spans, [...preserved, []]),
75
+ };
76
+ }
77
+ export function findEmailRowById(data, rowId) {
78
+ const visit = (items) => {
79
+ for (const item of items) {
80
+ if (item.type === 'transactional_emails.EmailRow' && item.props.id === rowId)
81
+ return item;
82
+ for (const value of Object.values(item.props)) {
83
+ const nested = toPuckItemArray(value);
84
+ if (nested.length > 0) {
85
+ const found = visit(nested);
86
+ if (found)
87
+ return found;
88
+ }
89
+ }
90
+ }
91
+ return null;
92
+ };
93
+ const root = visit(toPuckItemArray(data.content));
94
+ if (root)
95
+ return root;
96
+ for (const zoneItems of Object.values(data.zones ?? {})) {
97
+ const found = visit(toPuckItemArray(zoneItems));
98
+ if (found)
99
+ return found;
100
+ }
101
+ return null;
102
+ }
103
+ export function replaceEmailRowInData(data, rowId, nextRow) {
104
+ const mapItems = (items) => items.map((item) => {
105
+ if (item.type === 'transactional_emails.EmailRow' && item.props.id === rowId) {
106
+ return nextRow;
107
+ }
108
+ const nextProps = { ...item.props };
109
+ for (const [key, value] of Object.entries(item.props)) {
110
+ const nested = toPuckItemArray(value);
111
+ if (nested.length > 0) {
112
+ nextProps[key] = mapItems(nested);
113
+ }
114
+ }
115
+ return { ...item, props: nextProps };
116
+ });
117
+ const nextZones = { ...(data.zones ?? {}) };
118
+ for (const [zone, items] of Object.entries(nextZones)) {
119
+ nextZones[zone] = mapItems(toPuckItemArray(items));
120
+ }
121
+ const previousColumns = toPuckItemArray((data.zones ?? {})[`${rowId}:content`] ?? findEmailRowById(data, rowId)?.props.content ?? []);
122
+ const columns = toPuckItemArray(nextRow.props.content);
123
+ const nextColumnIds = new Set(columns
124
+ .filter((col) => col.type === 'transactional_emails.EmailColumn' && typeof col.props.id === 'string')
125
+ .map((col) => col.props.id));
126
+ for (const col of previousColumns) {
127
+ if (col.type !== 'transactional_emails.EmailColumn' || typeof col.props.id !== 'string')
128
+ continue;
129
+ if (!nextColumnIds.has(col.props.id)) {
130
+ delete nextZones[`${col.props.id}:content`];
131
+ }
132
+ }
133
+ nextZones[`${rowId}:content`] = columns;
134
+ for (const col of columns) {
135
+ if (col.type !== 'transactional_emails.EmailColumn' || typeof col.props.id !== 'string')
136
+ continue;
137
+ nextZones[`${col.props.id}:content`] = toPuckItemArray(col.props.content);
138
+ }
139
+ return {
140
+ ...data,
141
+ content: mapItems(toPuckItemArray(data.content)),
142
+ zones: nextZones,
143
+ };
144
+ }
145
+ //# sourceMappingURL=email-row-layout-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-row-layout-presets.js","sourceRoot":"","sources":["../../src/editor/email-row-layout-presets.ts"],"names":[],"mappings":"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"}