@antelopejs/dms-mailing 0.8.0 → 0.9.1

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 (205) hide show
  1. package/README.md +41 -43
  2. package/dist/automation/email-event-trigger.d.ts +2 -2
  3. package/dist/automation/send-template-action.d.ts +11 -3
  4. package/dist/automation/send-template-action.js +1 -1
  5. package/dist/automation/send-template-action.js.map +1 -1
  6. package/dist/data/body.d.ts +2 -1
  7. package/dist/data/body.js +2 -1
  8. package/dist/data/body.js.map +1 -1
  9. package/dist/data/read-only-routes.d.ts +4 -4
  10. package/dist/data/sends-table.d.ts +4 -4
  11. package/dist/data/suppressions-table.d.ts +4 -4
  12. package/dist/data/templates-table.d.ts +35 -12
  13. package/dist/data/templates-table.js +29 -24
  14. package/dist/data/templates-table.js.map +1 -1
  15. package/dist/data-types/categories-type.d.ts +1 -2
  16. package/dist/data-types/categories-type.js +3 -5
  17. package/dist/data-types/categories-type.js.map +1 -1
  18. package/dist/data-types/category-type.d.ts +1 -2
  19. package/dist/data-types/category-type.js +3 -5
  20. package/dist/data-types/category-type.js.map +1 -1
  21. package/dist/db/models/send-events.model.d.ts +7 -5
  22. package/dist/db/models/sends.model.d.ts +7 -5
  23. package/dist/db/models/sends.model.js.map +1 -1
  24. package/dist/db/models/settings.model.d.ts +7 -5
  25. package/dist/db/models/suppressions.model.d.ts +7 -5
  26. package/dist/db/models/template-versions.model.d.ts +7 -5
  27. package/dist/db/models/template-versions.model.js +4 -3
  28. package/dist/db/models/template-versions.model.js.map +1 -1
  29. package/dist/db/models/templates.model.d.ts +7 -5
  30. package/dist/db/models/webhook-status.model.d.ts +7 -5
  31. package/dist/db/tables/settings.table.d.ts +1 -0
  32. package/dist/db/tables/settings.table.js +4 -0
  33. package/dist/db/tables/settings.table.js.map +1 -1
  34. package/dist/db/tables/templates.table.js.map +1 -1
  35. package/dist/engine/changes.js +8 -19
  36. package/dist/engine/changes.js.map +1 -1
  37. package/dist/engine/conditions.d.ts +2 -1
  38. package/dist/engine/conditions.js +3 -2
  39. package/dist/engine/conditions.js.map +1 -1
  40. package/dist/engine/coverage.d.ts +2 -1
  41. package/dist/engine/coverage.js.map +1 -1
  42. package/dist/engine/formats.d.ts +4 -6
  43. package/dist/engine/formats.js +17 -3
  44. package/dist/engine/formats.js.map +1 -1
  45. package/dist/engine/paths.d.ts +4 -2
  46. package/dist/engine/paths.js +15 -3
  47. package/dist/engine/paths.js.map +1 -1
  48. package/dist/engine/plain-text.js +2 -4
  49. package/dist/engine/plain-text.js.map +1 -1
  50. package/dist/engine/resolve.d.ts +2 -1
  51. package/dist/engine/resolve.js +1 -1
  52. package/dist/engine/resolve.js.map +1 -1
  53. package/dist/engine/system-variables.d.ts +2 -1
  54. package/dist/engine/system-variables.js.map +1 -1
  55. package/dist/engine/tokens.d.ts +2 -1
  56. package/dist/engine/tokens.js.map +1 -1
  57. package/dist/hooks/tenant-export.d.ts +1 -1
  58. package/dist/hooks/tenant-export.js +10 -9
  59. package/dist/hooks/tenant-export.js.map +1 -1
  60. package/dist/implementations/dms-mailing/index.d.ts +1 -0
  61. package/dist/implementations/dms-mailing/index.js +3 -1
  62. package/dist/implementations/dms-mailing/index.js.map +1 -1
  63. package/dist/pages/sends.js.map +1 -1
  64. package/dist/pages/templates.js +3 -1
  65. package/dist/pages/templates.js.map +1 -1
  66. package/dist/routes/events.js +4 -2
  67. package/dist/routes/events.js.map +1 -1
  68. package/dist/routes/index.d.ts +1 -0
  69. package/dist/routes/index.js +1 -0
  70. package/dist/routes/index.js.map +1 -1
  71. package/dist/routes/metrics.js +27 -28
  72. package/dist/routes/metrics.js.map +1 -1
  73. package/dist/routes/period.js +5 -5
  74. package/dist/routes/period.js.map +1 -1
  75. package/dist/routes/sends.js +3 -4
  76. package/dist/routes/sends.js.map +1 -1
  77. package/dist/routes/settings.d.ts +4 -3
  78. package/dist/routes/settings.js +20 -14
  79. package/dist/routes/settings.js.map +1 -1
  80. package/dist/routes/suppressions.js +9 -6
  81. package/dist/routes/suppressions.js.map +1 -1
  82. package/dist/routes/template-content.d.ts +27 -0
  83. package/dist/routes/template-content.js +3 -0
  84. package/dist/routes/template-content.js.map +1 -0
  85. package/dist/routes/templates.d.ts +7 -30
  86. package/dist/routes/templates.js +3 -2
  87. package/dist/routes/templates.js.map +1 -1
  88. package/dist/routes/zod-json.d.ts +3 -0
  89. package/dist/routes/zod-json.js +21 -0
  90. package/dist/routes/zod-json.js.map +1 -0
  91. package/dist/services/attention.js +14 -7
  92. package/dist/services/attention.js.map +1 -1
  93. package/dist/services/catalog.js +4 -2
  94. package/dist/services/catalog.js.map +1 -1
  95. package/dist/services/declaration-error.d.ts +1 -1
  96. package/dist/services/declaration-error.js.map +1 -1
  97. package/dist/services/declarations.js +4 -1
  98. package/dist/services/declarations.js.map +1 -1
  99. package/dist/services/events.js +3 -1
  100. package/dist/services/events.js.map +1 -1
  101. package/dist/services/metrics.js +2 -5
  102. package/dist/services/metrics.js.map +1 -1
  103. package/dist/services/send-import.js +4 -4
  104. package/dist/services/send-import.js.map +1 -1
  105. package/dist/services/send.js +3 -4
  106. package/dist/services/send.js.map +1 -1
  107. package/dist/services/settings.d.ts +6 -3
  108. package/dist/services/settings.js +24 -5
  109. package/dist/services/settings.js.map +1 -1
  110. package/dist/services/starters.d.ts +3 -2
  111. package/dist/services/starters.js +1 -1
  112. package/dist/services/starters.js.map +1 -1
  113. package/dist/services/templates.d.ts +2 -1
  114. package/dist/services/templates.js +5 -5
  115. package/dist/services/templates.js.map +1 -1
  116. package/dist/services/webhook-secret-declaration.d.ts +4 -0
  117. package/dist/services/webhook-secret-declaration.js +25 -0
  118. package/dist/services/webhook-secret-declaration.js.map +1 -0
  119. package/dist/services/webhook-status.d.ts +2 -2
  120. package/dist/services/webhook-status.js +13 -6
  121. package/dist/services/webhook-status.js.map +1 -1
  122. package/dist/types/json.d.ts +1 -0
  123. package/dist/types/json.js +3 -0
  124. package/dist/types/json.js.map +1 -0
  125. package/dist/types/settings.d.ts +5 -2
  126. package/dist/types/settings.js +6 -1
  127. package/dist/types/settings.js.map +1 -1
  128. package/dist/validation/declarations.schema.d.ts +41 -28
  129. package/dist/validation/declarations.schema.js +10 -4
  130. package/dist/validation/declarations.schema.js.map +1 -1
  131. package/dist/validation/guards.d.ts +0 -1
  132. package/dist/validation/guards.js +0 -4
  133. package/dist/validation/guards.js.map +1 -1
  134. package/dist/validation/json.d.ts +5 -0
  135. package/dist/validation/json.js +54 -0
  136. package/dist/validation/json.js.map +1 -0
  137. package/dist/validation/json.schema.d.ts +2 -0
  138. package/dist/validation/json.schema.js +9 -0
  139. package/dist/validation/json.schema.js.map +1 -0
  140. package/dist/validation/templates.schema.d.ts +25 -24
  141. package/dist/validation/templates.schema.js +4 -3
  142. package/dist/validation/templates.schema.js.map +1 -1
  143. package/frontend-vue/app/components/editor/EditorCanvas.vue +8 -4
  144. package/frontend-vue/app/composables/useSortableList.ts +2 -2
  145. package/frontend-vue/package.json +37 -36
  146. package/frontend-vue/pnpm-lock.yaml +65 -5
  147. package/frontend-vue/tests/editor-canvas.test.ts +142 -0
  148. package/frontend-vue/tests/sortable-list.test-d.ts +19 -0
  149. package/frontend-vue/tsconfig.typecheck.json +12 -0
  150. package/frontend-vue/vitest.config.ts +16 -0
  151. package/package.json +16 -15
  152. package/skills/dms-mailing/SKILL.md +5 -3
  153. package/src/automation/email-event-trigger.ts +2 -2
  154. package/src/automation/send-template-action.ts +33 -14
  155. package/src/data/body.ts +5 -2
  156. package/src/data/templates-table.ts +46 -52
  157. package/src/data-types/categories-type.ts +2 -2
  158. package/src/data-types/category-type.ts +2 -2
  159. package/src/db/models/sends.model.ts +2 -2
  160. package/src/db/models/template-versions.model.ts +5 -3
  161. package/src/db/tables/settings.table.ts +4 -0
  162. package/src/db/tables/templates.table.ts +1 -1
  163. package/src/engine/changes.ts +11 -29
  164. package/src/engine/conditions.ts +12 -4
  165. package/src/engine/coverage.ts +2 -1
  166. package/src/engine/formats.ts +31 -17
  167. package/src/engine/paths.ts +39 -6
  168. package/src/engine/plain-text.ts +2 -4
  169. package/src/engine/resolve.ts +12 -4
  170. package/src/engine/system-variables.ts +2 -1
  171. package/src/engine/tokens.ts +2 -1
  172. package/src/hooks/tenant-export.ts +15 -14
  173. package/src/implementations/dms-mailing/index.ts +1 -0
  174. package/src/pages/sends.ts +3 -2
  175. package/src/pages/templates.ts +3 -1
  176. package/src/routes/events.ts +7 -4
  177. package/src/routes/index.ts +1 -0
  178. package/src/routes/metrics.ts +30 -30
  179. package/src/routes/period.ts +5 -5
  180. package/src/routes/sends.ts +13 -8
  181. package/src/routes/settings.ts +34 -17
  182. package/src/routes/suppressions.ts +12 -8
  183. package/src/routes/template-content.ts +45 -0
  184. package/src/routes/templates.ts +11 -44
  185. package/src/routes/zod-json.ts +28 -0
  186. package/src/services/attention.ts +16 -15
  187. package/src/services/catalog.ts +4 -8
  188. package/src/services/declaration-error.ts +1 -1
  189. package/src/services/declarations.ts +4 -1
  190. package/src/services/events.ts +4 -2
  191. package/src/services/metrics.ts +3 -5
  192. package/src/services/send-import.ts +10 -8
  193. package/src/services/send.ts +3 -6
  194. package/src/services/settings.ts +55 -16
  195. package/src/services/starters.ts +8 -4
  196. package/src/services/templates.ts +16 -9
  197. package/src/services/webhook-secret-declaration.ts +47 -0
  198. package/src/services/webhook-status.ts +18 -9
  199. package/src/types/json.ts +1 -0
  200. package/src/types/settings.ts +16 -2
  201. package/src/validation/declarations.schema.ts +11 -3
  202. package/src/validation/guards.ts +0 -8
  203. package/src/validation/json.schema.ts +7 -0
  204. package/src/validation/json.ts +66 -0
  205. package/src/validation/templates.schema.ts +7 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.schema.js","sourceRoot":"","sources":["../../src/validation/json.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iCAAsC;AAGzB,QAAA,gBAAgB,GAAG,OAAC;KAC9B,OAAO,EAAE;KACT,MAAM,CAAC,mBAAY,EAAE,wBAAwB,CAAC,CAAC"}
@@ -95,12 +95,12 @@ export declare const variableSchema: z.ZodObject<{
95
95
  type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
96
96
  required: z.ZodBoolean;
97
97
  }, "strip", z.ZodTypeAny, {
98
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
98
99
  path: string;
99
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
100
100
  required: boolean;
101
101
  }, {
102
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
102
103
  path: string;
103
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
104
104
  required: boolean;
105
105
  }>;
106
106
  export declare const variableListSchema: z.ZodArray<z.ZodObject<{
@@ -108,12 +108,12 @@ export declare const variableListSchema: z.ZodArray<z.ZodObject<{
108
108
  type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
109
109
  required: z.ZodBoolean;
110
110
  }, "strip", z.ZodTypeAny, {
111
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
111
112
  path: string;
112
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
113
113
  required: boolean;
114
114
  }, {
115
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
115
116
  path: string;
116
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
117
117
  required: boolean;
118
118
  }>, "many">;
119
119
  export declare const variablesSchema: z.ZodObject<{
@@ -122,26 +122,26 @@ export declare const variablesSchema: z.ZodObject<{
122
122
  type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
123
123
  required: z.ZodBoolean;
124
124
  }, "strip", z.ZodTypeAny, {
125
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
125
126
  path: string;
126
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
127
127
  required: boolean;
128
128
  }, {
129
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
129
130
  path: string;
130
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
131
131
  required: boolean;
132
132
  }>, "many">;
133
133
  revision: z.ZodOptional<z.ZodNumber>;
134
134
  }, "strip", z.ZodTypeAny, {
135
135
  variables: {
136
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
136
137
  path: string;
137
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
138
138
  required: boolean;
139
139
  }[];
140
140
  revision?: number | undefined;
141
141
  }, {
142
142
  variables: {
143
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
143
144
  path: string;
144
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
145
145
  required: boolean;
146
146
  }[];
147
147
  revision?: number | undefined;
@@ -179,12 +179,12 @@ export declare const saveContentSchema: z.ZodObject<{
179
179
  type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
180
180
  required: z.ZodBoolean;
181
181
  }, "strip", z.ZodTypeAny, {
182
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
182
183
  path: string;
183
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
184
184
  required: boolean;
185
185
  }, {
186
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
186
187
  path: string;
187
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
188
188
  required: boolean;
189
189
  }>, "many">>;
190
190
  revision: z.ZodOptional<z.ZodNumber>;
@@ -198,8 +198,8 @@ export declare const saveContentSchema: z.ZodObject<{
198
198
  };
199
199
  revision?: number | undefined;
200
200
  variables?: {
201
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
201
202
  path: string;
202
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
203
203
  required: boolean;
204
204
  }[] | undefined;
205
205
  }, {
@@ -212,17 +212,17 @@ export declare const saveContentSchema: z.ZodObject<{
212
212
  };
213
213
  revision?: number | undefined;
214
214
  variables?: {
215
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
215
216
  path: string;
216
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
217
217
  required: boolean;
218
218
  }[] | undefined;
219
219
  }>;
220
220
  export declare const testDataSchema: z.ZodObject<{
221
- data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
221
+ data: z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>;
222
222
  }, "strip", z.ZodTypeAny, {
223
- data: Record<string, unknown>;
223
+ data: import("@antelopejs/interface-dms-mailing").JsonObject;
224
224
  }, {
225
- data: Record<string, unknown>;
225
+ data?: unknown;
226
226
  }>;
227
227
  export declare const previewVersionSchema: z.ZodUnion<[z.ZodLiteral<"draft">, z.ZodLiteral<"published">, z.ZodNumber]>;
228
228
  export declare const previewSchema: z.ZodObject<{
@@ -255,9 +255,10 @@ export declare const previewSchema: z.ZodObject<{
255
255
  blocks: unknown[];
256
256
  }>;
257
257
  }>>;
258
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
258
+ data: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
259
259
  }, "strip", z.ZodTypeAny, {
260
260
  version?: number | "draft" | "published" | undefined;
261
+ data?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
261
262
  content?: {
262
263
  locales: Record<string, {
263
264
  subject: string;
@@ -265,10 +266,10 @@ export declare const previewSchema: z.ZodObject<{
265
266
  blocks: Block[];
266
267
  }>;
267
268
  } | undefined;
268
- data?: Record<string, unknown> | undefined;
269
269
  locale?: string | undefined;
270
270
  }, {
271
271
  version?: number | "draft" | "published" | undefined;
272
+ data?: unknown;
272
273
  content?: {
273
274
  locales: Record<string, {
274
275
  subject: string;
@@ -276,20 +277,19 @@ export declare const previewSchema: z.ZodObject<{
276
277
  blocks: unknown[];
277
278
  }>;
278
279
  } | undefined;
279
- data?: Record<string, unknown> | undefined;
280
280
  locale?: string | undefined;
281
281
  }>;
282
282
  export declare const realSendSchema: z.ZodObject<{
283
283
  to: z.ZodArray<z.ZodString, "many">;
284
284
  locale: z.ZodOptional<z.ZodString>;
285
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
285
+ data: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
286
286
  }, "strip", z.ZodTypeAny, {
287
287
  to: string[];
288
- data?: Record<string, unknown> | undefined;
288
+ data?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
289
289
  locale?: string | undefined;
290
290
  }, {
291
291
  to: string[];
292
- data?: Record<string, unknown> | undefined;
292
+ data?: unknown;
293
293
  locale?: string | undefined;
294
294
  }>;
295
295
  export declare const testSendSchema: z.ZodObject<{
@@ -322,12 +322,13 @@ export declare const testSendSchema: z.ZodObject<{
322
322
  blocks: unknown[];
323
323
  }>;
324
324
  }>>;
325
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
325
+ data: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
326
326
  } & {
327
327
  to: z.ZodArray<z.ZodString, "many">;
328
328
  }, "strip", z.ZodTypeAny, {
329
329
  to: string[];
330
330
  version?: number | "draft" | "published" | undefined;
331
+ data?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
331
332
  content?: {
332
333
  locales: Record<string, {
333
334
  subject: string;
@@ -335,11 +336,11 @@ export declare const testSendSchema: z.ZodObject<{
335
336
  blocks: Block[];
336
337
  }>;
337
338
  } | undefined;
338
- data?: Record<string, unknown> | undefined;
339
339
  locale?: string | undefined;
340
340
  }, {
341
341
  to: string[];
342
342
  version?: number | "draft" | "published" | undefined;
343
+ data?: unknown;
343
344
  content?: {
344
345
  locales: Record<string, {
345
346
  subject: string;
@@ -347,7 +348,6 @@ export declare const testSendSchema: z.ZodObject<{
347
348
  blocks: unknown[];
348
349
  }>;
349
350
  } | undefined;
350
- data?: Record<string, unknown> | undefined;
351
351
  locale?: string | undefined;
352
352
  }>;
353
353
  export declare const templateDetailsSchema: z.ZodObject<{
@@ -363,6 +363,7 @@ export declare const templateDetailsSchema: z.ZodObject<{
363
363
  category?: string | null | undefined;
364
364
  slug?: string | undefined;
365
365
  }>;
366
+ export type TemplateDetails = z.infer<typeof templateDetailsSchema>;
366
367
  export declare const duplicateSchema: z.ZodObject<{
367
368
  slug: z.ZodString;
368
369
  name: z.ZodString;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.replayFailedSchema = exports.replaySchema = exports.duplicateSchema = exports.templateDetailsSchema = exports.testSendSchema = exports.realSendSchema = exports.previewSchema = exports.previewVersionSchema = exports.testDataSchema = exports.saveContentSchema = exports.variablesSchema = exports.variableListSchema = exports.variableSchema = exports.versionNumberSchema = exports.restoreVersionSchema = exports.publishSchema = exports.draftRevisionSchema = exports.templateContentSchema = exports.localeContentSchema = exports.blockSchema = exports.conditionSchema = exports.createTemplateSchema = exports.slugSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../constants");
6
+ const json_schema_1 = require("./json.schema");
6
7
  const MIN_HEADING_SIZE = 12;
7
8
  const MAX_HEADING_SIZE = 48;
8
9
  const MAX_TEST_RECIPIENT_COUNT = 5;
@@ -119,7 +120,7 @@ exports.saveContentSchema = zod_1.z.object({
119
120
  variables: exports.variableListSchema.optional(),
120
121
  revision: exports.draftRevisionSchema,
121
122
  });
122
- exports.testDataSchema = zod_1.z.object({ data: zod_1.z.record(zod_1.z.unknown()) });
123
+ exports.testDataSchema = zod_1.z.object({ data: json_schema_1.jsonObjectSchema });
123
124
  exports.previewVersionSchema = zod_1.z.union([
124
125
  zod_1.z.literal("draft"),
125
126
  zod_1.z.literal("published"),
@@ -129,12 +130,12 @@ exports.previewSchema = zod_1.z.object({
129
130
  locale: zod_1.z.string().min(1).optional(),
130
131
  version: exports.previewVersionSchema.optional(),
131
132
  content: exports.templateContentSchema.optional(),
132
- data: zod_1.z.record(zod_1.z.unknown()).optional(),
133
+ data: json_schema_1.jsonObjectSchema.optional(),
133
134
  });
134
135
  exports.realSendSchema = zod_1.z.object({
135
136
  to: zod_1.z.array(zod_1.z.string().email()).min(1).max(MAX_TEST_RECIPIENT_COUNT),
136
137
  locale: zod_1.z.string().min(1).optional(),
137
- data: zod_1.z.record(zod_1.z.unknown()).optional(),
138
+ data: json_schema_1.jsonObjectSchema.optional(),
138
139
  });
139
140
  exports.testSendSchema = exports.previewSchema.extend({
140
141
  to: zod_1.z.array(zod_1.z.string().email()).min(1).max(MAX_TEST_RECIPIENT_COUNT),
@@ -1 +1 @@
1
- {"version":3,"file":"templates.schema.js","sourceRoot":"","sources":["../../src/validation/templates.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.schema.js","sourceRoot":"","sources":["../../src/validation/templates.schema.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,9 @@ const SCROLL_OPTIONS: ScrollIntoViewOptions = {
20
20
 
21
21
  /** The DMS app config the e-mail logo is read from. */
22
22
  interface EmailBrandingConfig {
23
- branding?: { logo?: { default?: { light?: string } } }
23
+ branding?: {
24
+ logo?: { default?: { light?: string }; email?: { light?: string } }
25
+ }
24
26
  }
25
27
 
26
28
  const { t } = useI18n()
@@ -28,11 +30,13 @@ const { editor, session } = useEditorContext()
28
30
  useEditorAnnouncements(editor)
29
31
 
30
32
  /**
31
- * The logo header the sent e-mail carries, when it can carry one: the check
32
- * `EmailLayout` runs with `publicLogoOnly`.
33
+ * The logo header the sent e-mail carries, when it can carry one: the choice
34
+ * and the check `EmailLayout` runs with `publicLogoOnly`. The paper is white,
35
+ * so the dark-mode logo never applies.
33
36
  */
37
+ const logo = (useDmsAppConfig() as EmailBrandingConfig).branding?.logo
34
38
  const logoUrl = emailLogoUrl(
35
- (useDmsAppConfig() as EmailBrandingConfig).branding?.logo?.default?.light,
39
+ logo?.email?.light || logo?.default?.light,
36
40
  useDmsRuntimeConfig().public.dms?.clientBaseUrl ?? '',
37
41
  )
38
42
 
@@ -1,5 +1,5 @@
1
1
  import { useSortable } from '@vueuse/integrations/useSortable'
2
- import { toValue, watch, type MaybeRefOrGetter, type Ref } from 'vue'
2
+ import { toRef, toValue, watch, type MaybeRefOrGetter, type Ref } from 'vue'
3
3
 
4
4
  /** What a drop did to a list, as vuedraggable's `change` event said it. */
5
5
  export interface SortableListChange<Item> {
@@ -95,7 +95,7 @@ export function useSortableList<Item>(
95
95
  if (origin) origin.parent.insertBefore(item, origin.next)
96
96
  }
97
97
 
98
- const { option } = useSortable(root, list, {
98
+ const { option } = useSortable(root, toRef(list), {
99
99
  ...defined({
100
100
  group: options.group,
101
101
  handle: options.handle,
@@ -1,38 +1,39 @@
1
1
  {
2
- "name": "@antelopejs/dms-mailing-frontend-vue",
3
- "version": "0.0.1",
4
- "private": true,
5
- "type": "module",
6
- "license": "Apache-2.0",
7
- "packageManager": "pnpm@10.2.0",
8
- "engines": {
9
- "@antelopejs/dms-frontend": ">=0.9.1 <0.10.0"
10
- },
11
- "scripts": {
12
- "format": "prettier --write .",
13
- "lint": "eslint . && node --input-type=module -e \"import { assertApiErrorPresentation } from '@antelopejs/dms/checks/api-error-presentation'; assertApiErrorPresentation(['app']);\"",
14
- "lint:fix": "eslint . --fix",
15
- "test": "vitest run"
16
- },
17
- "dependencies": {
18
- "@vueuse/core": "^14.3.0",
19
- "@vueuse/integrations": "^14.3.0",
20
- "sortablejs": "^1.14.0",
21
- "vue": "^3.5.18"
22
- },
23
- "devDependencies": {
24
- "@antelopejs/tooling-configs": "^0.2.12",
25
- "@nuxt/ui": "4.10.0",
26
- "@vitejs/plugin-vue": "^6.0.0",
27
- "@vitest/runner": "^4.1.5",
28
- "eslint": "^9.0.0",
29
- "eslint-plugin-vue": "^10.0.0",
30
- "typescript-eslint": "^8.0.0",
31
- "vite": "^8.2.2",
32
- "jsdom": "^26",
33
- "prettier": "^3.5.3",
34
- "prettier-plugin-tailwindcss": "^0.6.11",
35
- "typescript": "^5.9.3",
36
- "vitest": "^4.1.5"
37
- }
2
+ "name": "@antelopejs/dms-mailing-frontend-vue",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "type": "module",
6
+ "license": "Apache-2.0",
7
+ "packageManager": "pnpm@10.2.0",
8
+ "engines": {
9
+ "@antelopejs/dms-frontend": ">=0.10.0 <0.11.0"
10
+ },
11
+ "scripts": {
12
+ "format": "prettier --write .",
13
+ "lint": "eslint . && node --input-type=module -e \"import { assertApiErrorPresentation } from '@antelopejs/dms/checks/api-error-presentation'; assertApiErrorPresentation(['app']);\"",
14
+ "lint:fix": "eslint . --fix",
15
+ "test": "vitest run"
16
+ },
17
+ "dependencies": {
18
+ "@vueuse/core": "^14.3.0",
19
+ "@vueuse/integrations": "^14.3.0",
20
+ "sortablejs": "^1.14.0",
21
+ "vue": "^3.5.18"
22
+ },
23
+ "devDependencies": {
24
+ "@antelopejs/tooling-configs": "^0.3.3",
25
+ "@nuxt/ui": "4.10.0",
26
+ "@types/sortablejs": "^1.15.9",
27
+ "@vitejs/plugin-vue": "^6.0.0",
28
+ "@vitest/runner": "^4.1.5",
29
+ "eslint": "^9.0.0",
30
+ "eslint-plugin-vue": "^10.0.0",
31
+ "typescript-eslint": "^8.0.0",
32
+ "vite": "^8.2.2",
33
+ "jsdom": "^26",
34
+ "prettier": "^3.5.3",
35
+ "prettier-plugin-tailwindcss": "^0.6.11",
36
+ "typescript": "^5.9.3",
37
+ "vitest": "^4.1.5"
38
+ }
38
39
  }