@contentgrowth/content-emailing 0.4.1 → 0.6.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 (66) hide show
  1. package/dist/TemplateManager-Db41KyPN.d.cts +77 -0
  2. package/dist/TemplateManager-Db41KyPN.d.ts +77 -0
  3. package/dist/backend/EmailService.cjs +737 -0
  4. package/dist/backend/EmailService.cjs.map +1 -0
  5. package/dist/backend/EmailService.d.cts +101 -0
  6. package/dist/backend/EmailService.d.ts +101 -0
  7. package/dist/backend/EmailService.js +703 -0
  8. package/dist/backend/EmailService.js.map +1 -0
  9. package/dist/backend/EmailingCacheDO.cjs +389 -0
  10. package/dist/backend/EmailingCacheDO.cjs.map +1 -0
  11. package/dist/backend/EmailingCacheDO.d.cts +66 -0
  12. package/dist/backend/EmailingCacheDO.d.ts +66 -0
  13. package/dist/backend/EmailingCacheDO.js +364 -0
  14. package/dist/backend/EmailingCacheDO.js.map +1 -0
  15. package/dist/backend/routes/index.cjs +1001 -0
  16. package/dist/backend/routes/index.cjs.map +1 -0
  17. package/dist/backend/routes/index.d.cts +32 -0
  18. package/dist/backend/routes/index.d.ts +32 -0
  19. package/dist/backend/routes/index.js +965 -0
  20. package/dist/backend/routes/index.js.map +1 -0
  21. package/dist/cli.cjs +53 -0
  22. package/dist/cli.cjs.map +1 -0
  23. package/dist/cli.d.cts +1 -0
  24. package/dist/cli.d.ts +1 -0
  25. package/dist/cli.js +53 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/common/index.cjs +267 -0
  28. package/dist/common/index.cjs.map +1 -0
  29. package/dist/common/index.d.cts +46 -0
  30. package/dist/common/index.d.ts +46 -0
  31. package/{src/common/htmlWrapper.js → dist/common/index.js} +75 -18
  32. package/dist/common/index.js.map +1 -0
  33. package/dist/frontend/index.cjs +665 -0
  34. package/dist/frontend/index.cjs.map +1 -0
  35. package/dist/frontend/index.d.cts +32 -0
  36. package/dist/frontend/index.d.ts +32 -0
  37. package/dist/frontend/index.js +626 -0
  38. package/dist/frontend/index.js.map +1 -0
  39. package/dist/index.cjs +1842 -0
  40. package/dist/index.cjs.map +1 -0
  41. package/dist/index.d.cts +7 -0
  42. package/dist/index.d.ts +7 -0
  43. package/dist/index.js +1793 -0
  44. package/dist/index.js.map +1 -0
  45. package/package.json +31 -13
  46. package/examples/.env.example +0 -16
  47. package/examples/README.md +0 -55
  48. package/examples/mocks/MockD1.js +0 -311
  49. package/examples/mocks/MockEmailSender.js +0 -64
  50. package/examples/mocks/index.js +0 -5
  51. package/examples/package-lock.json +0 -73
  52. package/examples/package.json +0 -18
  53. package/examples/portal/index.html +0 -919
  54. package/examples/server.js +0 -314
  55. package/release.sh +0 -56
  56. package/src/backend/EmailService.js +0 -537
  57. package/src/backend/EmailingCacheDO.js +0 -466
  58. package/src/backend/routes/index.js +0 -30
  59. package/src/backend/routes/templates.js +0 -98
  60. package/src/backend/routes/tracking.js +0 -215
  61. package/src/backend/routes.js +0 -98
  62. package/src/common/index.js +0 -11
  63. package/src/common/utils.js +0 -141
  64. package/src/frontend/TemplateEditor.jsx +0 -117
  65. package/src/frontend/TemplateManager.jsx +0 -117
  66. package/src/index.js +0 -24
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+
3
+ interface TemplateFormData {
4
+ template_id?: string;
5
+ template_name: string;
6
+ template_type: string;
7
+ subject_template: string;
8
+ body_markdown: string;
9
+ variables?: string;
10
+ description: string;
11
+ is_active: boolean;
12
+ }
13
+ interface TemplateEditorProps {
14
+ /** Initial template data for editing, null for create mode */
15
+ initialData?: TemplateFormData | null;
16
+ /** Called when save is clicked, should return a promise */
17
+ onSave: (data: TemplateFormData) => Promise<void>;
18
+ /** Called when cancel/close is clicked */
19
+ onCancel: () => void;
20
+ /** Template types available for selection */
21
+ templateTypes?: string[];
22
+ /** Whether the component is in saving state */
23
+ saving?: boolean;
24
+ }
25
+ declare const TemplateEditor: React.FC<TemplateEditorProps>;
26
+
27
+ interface EmailTemplate$1 {
28
+ template_id: string;
29
+ template_name: string;
30
+ subject_template: string;
31
+ body_markdown: string;
32
+ variables?: string | null;
33
+ }
34
+ interface TestEmailData {
35
+ template_id: string;
36
+ to_email: string;
37
+ variables: Record<string, string>;
38
+ }
39
+ interface TemplateTesterProps {
40
+ template: EmailTemplate$1;
41
+ onSendTest: (data: TestEmailData) => Promise<void>;
42
+ onCancel: () => void;
43
+ sending?: boolean;
44
+ }
45
+ declare const TemplateTester: React.FC<TemplateTesterProps>;
46
+
47
+ interface EmailTemplate {
48
+ template_id: string;
49
+ template_name: string;
50
+ template_type: string;
51
+ subject_template: string;
52
+ body_markdown: string;
53
+ variables?: string | null;
54
+ description: string | null;
55
+ is_active: number | boolean;
56
+ created_at?: number | null;
57
+ updated_at?: number | null;
58
+ }
59
+ interface TemplateManagerProps {
60
+ /** Fetch all templates - returns promise with template array */
61
+ onLoadTemplates: () => Promise<EmailTemplate[]>;
62
+ /** Save a template (create or update) */
63
+ onSaveTemplate: (data: TemplateFormData) => Promise<void>;
64
+ /** Delete a template by ID */
65
+ onDeleteTemplate?: (id: string) => Promise<void>;
66
+ /** Send a test email */
67
+ onSendTestEmail?: (data: TestEmailData) => Promise<void>;
68
+ /** Page title */
69
+ title?: string;
70
+ /** Page description */
71
+ description?: string;
72
+ /** Template types for filtering and editor */
73
+ templateTypes?: string[];
74
+ }
75
+ declare const TemplateManager: React.FC<TemplateManagerProps>;
76
+
77
+ export { type EmailTemplate as E, TemplateManager as T, TemplateEditor as a, type TemplateManagerProps as b, type TemplateEditorProps as c, type TemplateFormData as d, TemplateTester as e, type TemplateTesterProps as f, type TestEmailData as g };
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+
3
+ interface TemplateFormData {
4
+ template_id?: string;
5
+ template_name: string;
6
+ template_type: string;
7
+ subject_template: string;
8
+ body_markdown: string;
9
+ variables?: string;
10
+ description: string;
11
+ is_active: boolean;
12
+ }
13
+ interface TemplateEditorProps {
14
+ /** Initial template data for editing, null for create mode */
15
+ initialData?: TemplateFormData | null;
16
+ /** Called when save is clicked, should return a promise */
17
+ onSave: (data: TemplateFormData) => Promise<void>;
18
+ /** Called when cancel/close is clicked */
19
+ onCancel: () => void;
20
+ /** Template types available for selection */
21
+ templateTypes?: string[];
22
+ /** Whether the component is in saving state */
23
+ saving?: boolean;
24
+ }
25
+ declare const TemplateEditor: React.FC<TemplateEditorProps>;
26
+
27
+ interface EmailTemplate$1 {
28
+ template_id: string;
29
+ template_name: string;
30
+ subject_template: string;
31
+ body_markdown: string;
32
+ variables?: string | null;
33
+ }
34
+ interface TestEmailData {
35
+ template_id: string;
36
+ to_email: string;
37
+ variables: Record<string, string>;
38
+ }
39
+ interface TemplateTesterProps {
40
+ template: EmailTemplate$1;
41
+ onSendTest: (data: TestEmailData) => Promise<void>;
42
+ onCancel: () => void;
43
+ sending?: boolean;
44
+ }
45
+ declare const TemplateTester: React.FC<TemplateTesterProps>;
46
+
47
+ interface EmailTemplate {
48
+ template_id: string;
49
+ template_name: string;
50
+ template_type: string;
51
+ subject_template: string;
52
+ body_markdown: string;
53
+ variables?: string | null;
54
+ description: string | null;
55
+ is_active: number | boolean;
56
+ created_at?: number | null;
57
+ updated_at?: number | null;
58
+ }
59
+ interface TemplateManagerProps {
60
+ /** Fetch all templates - returns promise with template array */
61
+ onLoadTemplates: () => Promise<EmailTemplate[]>;
62
+ /** Save a template (create or update) */
63
+ onSaveTemplate: (data: TemplateFormData) => Promise<void>;
64
+ /** Delete a template by ID */
65
+ onDeleteTemplate?: (id: string) => Promise<void>;
66
+ /** Send a test email */
67
+ onSendTestEmail?: (data: TestEmailData) => Promise<void>;
68
+ /** Page title */
69
+ title?: string;
70
+ /** Page description */
71
+ description?: string;
72
+ /** Template types for filtering and editor */
73
+ templateTypes?: string[];
74
+ }
75
+ declare const TemplateManager: React.FC<TemplateManagerProps>;
76
+
77
+ export { type EmailTemplate as E, TemplateManager as T, TemplateEditor as a, type TemplateManagerProps as b, type TemplateEditorProps as c, type TemplateFormData as d, TemplateTester as e, type TemplateTesterProps as f, type TestEmailData as g };