@samva/markup 0.3.0 → 0.4.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.
@@ -18,58 +18,52 @@ const isMadeWithSamvaTemplate = (template) => template.corpus._tag === "OwnedEdi
18
18
  /** Explicit evidence for every owned preset reviewed in the 2026-08-31 catalog pass. */
19
19
  const ownedPresetReviewManifest = {
20
20
  welcome: {
21
- sourcePath: "packages/markup/presets/welcome.tsx",
21
+ sourcePath: "examples/email-showcase/emails/welcome.tsx",
22
22
  reviewedBy: "Samva catalog review",
23
- reviewedAt: "2026-08-31T00:00:00.000Z",
24
- notes: "Reviewed welcome editable SML, public preview data, and gallery identity."
23
+ reviewedAt: "2026-09-08T00:00:00.000Z",
24
+ notes: "Reviewed welcome editable project with stylesheet and original Northloop assets, public preview data, and gallery identity."
25
25
  },
26
26
  "email-verification": {
27
- sourcePath: "packages/markup/presets/email-verification.tsx",
27
+ sourcePath: "examples/email-showcase/emails/email-verification.tsx",
28
28
  reviewedBy: "Samva catalog review",
29
- reviewedAt: "2026-08-31T00:00:00.000Z",
30
- notes: "Reviewed email-verification editable SML, public preview data, and gallery identity."
29
+ reviewedAt: "2026-09-08T00:00:00.000Z",
30
+ notes: "Reviewed email-verification editable project with stylesheet and original Northloop assets, public preview data, and gallery identity."
31
31
  },
32
32
  otp: {
33
- sourcePath: "packages/markup/presets/otp.tsx",
33
+ sourcePath: "examples/email-showcase/emails/otp.tsx",
34
34
  reviewedBy: "Samva catalog review",
35
- reviewedAt: "2026-08-31T00:00:00.000Z",
36
- notes: "Reviewed otp editable SML, public preview data, and gallery identity."
35
+ reviewedAt: "2026-09-08T00:00:00.000Z",
36
+ notes: "Reviewed otp editable project with stylesheet and original Northloop assets, public preview data, and gallery identity."
37
37
  },
38
38
  "password-reset": {
39
- sourcePath: "packages/markup/presets/password-reset.tsx",
40
- reviewedBy: "Samva catalog review",
41
- reviewedAt: "2026-08-31T00:00:00.000Z",
42
- notes: "Reviewed password-reset editable SML, public preview data, and gallery identity."
43
- },
44
- receipt: {
45
- sourcePath: "packages/markup/presets/receipt.tsx",
39
+ sourcePath: "examples/email-showcase/emails/password-reset.tsx",
46
40
  reviewedBy: "Samva catalog review",
47
- reviewedAt: "2026-08-31T00:00:00.000Z",
48
- notes: "Reviewed receipt editable SML, public preview data, and gallery identity."
41
+ reviewedAt: "2026-09-08T00:00:00.000Z",
42
+ notes: "Reviewed password-reset editable project with stylesheet and original Northloop assets, public preview data, and gallery identity."
49
43
  },
50
44
  "payment-failed": {
51
- sourcePath: "packages/markup/presets/payment-failed.tsx",
45
+ sourcePath: "examples/email-showcase/emails/payment-failed.tsx",
52
46
  reviewedBy: "Samva catalog review",
53
- reviewedAt: "2026-08-31T00:00:00.000Z",
54
- notes: "Reviewed payment-failed editable SML, public preview data, and gallery identity."
47
+ reviewedAt: "2026-09-08T00:00:00.000Z",
48
+ notes: "Reviewed payment-failed editable project with stylesheet and original Fernhollow assets, public preview data, and gallery identity."
55
49
  },
56
50
  "shipping-update": {
57
- sourcePath: "packages/markup/presets/shipping-update.tsx",
51
+ sourcePath: "examples/email-showcase/emails/shipping-update.tsx",
58
52
  reviewedBy: "Samva catalog review",
59
- reviewedAt: "2026-08-31T00:00:00.000Z",
60
- notes: "Reviewed shipping-update editable SML, public preview data, and gallery identity."
53
+ reviewedAt: "2026-09-08T00:00:00.000Z",
54
+ notes: "Reviewed shipping-update editable project with stylesheet and original Fernhollow assets, public preview data, and gallery identity."
61
55
  },
62
56
  notification: {
63
- sourcePath: "packages/markup/presets/notification.tsx",
57
+ sourcePath: "examples/email-showcase/emails/notification.tsx",
64
58
  reviewedBy: "Samva catalog review",
65
- reviewedAt: "2026-08-31T00:00:00.000Z",
66
- notes: "Reviewed notification editable SML, public preview data, and gallery identity."
59
+ reviewedAt: "2026-09-08T00:00:00.000Z",
60
+ notes: "Reviewed notification editable project with stylesheet and original Meridian assets, public preview data, and gallery identity."
67
61
  },
68
62
  "team-invite": {
69
- sourcePath: "packages/markup/presets/team-invite.tsx",
63
+ sourcePath: "examples/email-showcase/emails/team-invite.tsx",
70
64
  reviewedBy: "Samva catalog review",
71
- reviewedAt: "2026-08-31T00:00:00.000Z",
72
- notes: "Reviewed team-invite editable SML, public preview data, and gallery identity."
65
+ reviewedAt: "2026-09-08T00:00:00.000Z",
66
+ notes: "Reviewed team-invite editable project with stylesheet and original Northloop assets, public preview data, and gallery identity."
73
67
  },
74
68
  "product-newsletter": {
75
69
  sourcePath: "examples/email-showcase/emails/product-newsletter.tsx",
@@ -78,100 +72,82 @@ const ownedPresetReviewManifest = {
78
72
  notes: "Reviewed product-newsletter editable SML project, authored assets, public preview data, and gallery identity."
79
73
  },
80
74
  "product-digest": {
81
- sourcePath: "packages/markup/presets/product-digest.tsx",
75
+ sourcePath: "examples/email-showcase/emails/product-digest.tsx",
82
76
  reviewedBy: "Samva catalog review",
83
- reviewedAt: "2026-08-31T00:00:00.000Z",
84
- notes: "Reviewed product-digest editable SML, public preview data, and gallery identity."
85
- },
86
- newsletter: {
87
- sourcePath: "packages/markup/presets/newsletter.tsx",
88
- reviewedBy: "Samva catalog review",
89
- reviewedAt: "2026-08-31T00:00:00.000Z",
90
- notes: "Reviewed newsletter editable SML, public preview data, and gallery identity."
77
+ reviewedAt: "2026-09-08T00:00:00.000Z",
78
+ notes: "Reviewed product-digest editable SML project, authored assets, public preview data, and gallery identity."
91
79
  },
92
80
  announcement: {
93
- sourcePath: "packages/markup/presets/announcement.tsx",
94
- reviewedBy: "Samva catalog review",
95
- reviewedAt: "2026-08-31T00:00:00.000Z",
96
- notes: "Reviewed announcement editable SML, public preview data, and gallery identity."
97
- },
98
- promo: {
99
- sourcePath: "packages/markup/presets/promo.tsx",
81
+ sourcePath: "examples/email-showcase/emails/announcement.tsx",
100
82
  reviewedBy: "Samva catalog review",
101
- reviewedAt: "2026-08-31T00:00:00.000Z",
102
- notes: "Reviewed promo editable SML, public preview data, and gallery identity."
83
+ reviewedAt: "2026-09-08T00:00:00.000Z",
84
+ notes: "Reviewed announcement editable SML project, original Northwick assets, public preview data, and gallery identity."
103
85
  },
104
86
  "event-invite": {
105
- sourcePath: "packages/markup/presets/event-invite.tsx",
87
+ sourcePath: "examples/email-showcase/emails/event-invite.tsx",
106
88
  reviewedBy: "Samva catalog review",
107
- reviewedAt: "2026-08-31T00:00:00.000Z",
108
- notes: "Reviewed event-invite editable SML, public preview data, and gallery identity."
89
+ reviewedAt: "2026-09-08T00:00:00.000Z",
90
+ notes: "Reviewed event-invite editable SML project, original Northwick assets, public preview data, and gallery identity."
109
91
  },
110
92
  "membership-promo": {
111
- sourcePath: "packages/markup/presets/membership-promo.tsx",
93
+ sourcePath: "examples/email-showcase/emails/membership-promo.tsx",
112
94
  reviewedBy: "Samva catalog review",
113
- reviewedAt: "2026-08-31T00:00:00.000Z",
114
- notes: "Reviewed membership-promo editable SML, public preview data, and gallery identity."
95
+ reviewedAt: "2026-09-08T00:00:00.000Z",
96
+ notes: "Reviewed membership-promo editable SML project, original Northwick assets, public preview data, and gallery identity."
115
97
  },
116
98
  "onboarding-step": {
117
- sourcePath: "packages/markup/presets/onboarding-step.tsx",
99
+ sourcePath: "examples/email-showcase/emails/onboarding-step.tsx",
118
100
  reviewedBy: "Samva catalog review",
119
- reviewedAt: "2026-08-31T00:00:00.000Z",
120
- notes: "Reviewed onboarding-step editable SML, public preview data, and gallery identity."
101
+ reviewedAt: "2026-09-08T00:00:00.000Z",
102
+ notes: "Reviewed onboarding-step editable project with stylesheet and original assets, public preview data, and gallery identity."
121
103
  },
122
104
  "trial-ending": {
123
- sourcePath: "packages/markup/presets/trial-ending.tsx",
105
+ sourcePath: "examples/email-showcase/emails/trial-ending.tsx",
124
106
  reviewedBy: "Samva catalog review",
125
- reviewedAt: "2026-08-31T00:00:00.000Z",
126
- notes: "Reviewed trial-ending editable SML, public preview data, and gallery identity."
107
+ reviewedAt: "2026-09-08T00:00:00.000Z",
108
+ notes: "Reviewed trial-ending editable project with stylesheet and original assets, public preview data, and gallery identity."
127
109
  },
128
110
  "win-back": {
129
- sourcePath: "packages/markup/presets/win-back.tsx",
111
+ sourcePath: "examples/email-showcase/emails/win-back.tsx",
130
112
  reviewedBy: "Samva catalog review",
131
- reviewedAt: "2026-08-31T00:00:00.000Z",
132
- notes: "Reviewed win-back editable SML, public preview data, and gallery identity."
113
+ reviewedAt: "2026-09-08T00:00:00.000Z",
114
+ notes: "Reviewed win-back editable project with stylesheet and original assets, public preview data, and gallery identity."
133
115
  },
134
116
  "feedback-request": {
135
- sourcePath: "packages/markup/presets/feedback-request.tsx",
117
+ sourcePath: "examples/email-showcase/emails/feedback-request.tsx",
136
118
  reviewedBy: "Samva catalog review",
137
- reviewedAt: "2026-08-31T00:00:00.000Z",
138
- notes: "Reviewed feedback-request editable SML, public preview data, and gallery identity."
119
+ reviewedAt: "2026-09-08T00:00:00.000Z",
120
+ notes: "Reviewed feedback-request editable project with stylesheet and original assets, public preview data, and gallery identity."
139
121
  },
140
122
  "editorial-newsletter": {
141
- sourcePath: "packages/markup/presets/editorial-newsletter.tsx",
123
+ sourcePath: "examples/email-showcase/emails/editorial-newsletter.tsx",
142
124
  reviewedBy: "Samva catalog review",
143
- reviewedAt: "2026-08-31T00:00:00.000Z",
144
- notes: "Reviewed editorial-newsletter editable SML, public preview data, and gallery identity."
125
+ reviewedAt: "2026-09-08T00:00:00.000Z",
126
+ notes: "Reviewed editorial-newsletter editable SML project, authored assets, public preview data, and gallery identity."
145
127
  },
146
128
  "member-referral-offer": {
147
- sourcePath: "packages/markup/presets/member-referral-offer.tsx",
129
+ sourcePath: "examples/email-showcase/emails/member-referral-offer.tsx",
148
130
  reviewedBy: "Samva catalog review",
149
- reviewedAt: "2026-08-31T00:00:00.000Z",
150
- notes: "Reviewed member-referral-offer editable SML, public preview data, and gallery identity."
131
+ reviewedAt: "2026-09-08T00:00:00.000Z",
132
+ notes: "Reviewed member-referral-offer editable SML project, original Northwick assets, public preview data, and gallery identity."
151
133
  },
152
134
  "catalog-sale-newsletter": {
153
- sourcePath: "packages/markup/presets/catalog-sale-newsletter.tsx",
135
+ sourcePath: "examples/email-showcase/emails/catalog-sale-newsletter.tsx",
154
136
  reviewedBy: "Samva catalog review",
155
- reviewedAt: "2026-08-31T00:00:00.000Z",
156
- notes: "Reviewed catalog-sale-newsletter editable SML, public preview data, and gallery identity."
137
+ reviewedAt: "2026-09-08T00:00:00.000Z",
138
+ notes: "Reviewed catalog-sale-newsletter editable SML project, original Northwick assets, public preview data, and gallery identity."
157
139
  },
158
140
  "limited-time-savings": {
159
- sourcePath: "packages/markup/presets/limited-time-savings.tsx",
141
+ sourcePath: "examples/email-showcase/emails/limited-time-savings.tsx",
160
142
  reviewedBy: "Samva catalog review",
161
- reviewedAt: "2026-08-31T00:00:00.000Z",
162
- notes: "Reviewed limited-time-savings editable SML, public preview data, and gallery identity."
143
+ reviewedAt: "2026-09-08T00:00:00.000Z",
144
+ notes: "Reviewed limited-time-savings editable SML project, original Northwick assets, public preview data, and gallery identity."
163
145
  },
164
146
  "rewards-milestone": {
165
- sourcePath: "packages/markup/presets/rewards-milestone.tsx",
166
- reviewedBy: "Samva catalog review",
167
- reviewedAt: "2026-08-31T00:00:00.000Z",
168
- notes: "Reviewed rewards-milestone editable SML, public preview data, and gallery identity."
169
- },
170
- "order-delivered": {
171
- sourcePath: "packages/markup/presets/order-delivered.tsx",
147
+ sourcePath: "examples/email-showcase/emails/rewards-milestone.tsx",
172
148
  reviewedBy: "Samva catalog review",
173
- reviewedAt: "2026-08-31T00:00:00.000Z",
174
- notes: "Reviewed order-delivered editable SML, public preview data, and gallery identity."
149
+ reviewedAt: "2026-09-08T00:00:00.000Z",
150
+ notes: "Reviewed rewards-milestone editable SML project, original Northwick assets, public preview data, and gallery identity."
175
151
  },
176
152
  "order-receipt": {
177
153
  sourcePath: "examples/email-showcase/emails/order-receipt.tsx",
@@ -180,82 +156,82 @@ const ownedPresetReviewManifest = {
180
156
  notes: "Reviewed order-receipt editable project with stylesheet and original assets, public preview data, and gallery identity."
181
157
  },
182
158
  "travel-rewards-promo": {
183
- sourcePath: "packages/markup/presets/travel-rewards-promo.tsx",
159
+ sourcePath: "examples/email-showcase/emails/travel-rewards-promo.tsx",
184
160
  reviewedBy: "Samva catalog review",
185
- reviewedAt: "2026-08-31T00:00:00.000Z",
186
- notes: "Reviewed travel-rewards-promo editable SML, public preview data, and gallery identity."
161
+ reviewedAt: "2026-09-08T00:00:00.000Z",
162
+ notes: "Reviewed travel-rewards-promo editable project with stylesheet and original Wayfare assets, public preview data, and gallery identity."
187
163
  },
188
164
  "events-roundup": {
189
- sourcePath: "packages/markup/presets/events-roundup.tsx",
165
+ sourcePath: "examples/email-showcase/emails/events-roundup.tsx",
190
166
  reviewedBy: "Samva catalog review",
191
- reviewedAt: "2026-08-31T00:00:00.000Z",
192
- notes: "Reviewed events-roundup editable SML, public preview data, and gallery identity."
167
+ reviewedAt: "2026-09-08T00:00:00.000Z",
168
+ notes: "Reviewed events-roundup editable SML project, authored assets, public preview data, and gallery identity."
193
169
  },
194
170
  "product-onboarding-tour": {
195
- sourcePath: "packages/markup/presets/product-onboarding-tour.tsx",
171
+ sourcePath: "examples/email-showcase/emails/product-onboarding-tour.tsx",
196
172
  reviewedBy: "Samva catalog review",
197
- reviewedAt: "2026-08-31T00:00:00.000Z",
198
- notes: "Reviewed product-onboarding-tour editable SML, public preview data, and gallery identity."
173
+ reviewedAt: "2026-09-08T00:00:00.000Z",
174
+ notes: "Reviewed product-onboarding-tour editable project with stylesheet and original assets, public preview data, and gallery identity."
199
175
  },
200
176
  "product-updates-roundup": {
201
- sourcePath: "packages/markup/presets/product-updates-roundup.tsx",
177
+ sourcePath: "examples/email-showcase/emails/product-updates-roundup.tsx",
202
178
  reviewedBy: "Samva catalog review",
203
- reviewedAt: "2026-08-31T00:00:00.000Z",
204
- notes: "Reviewed product-updates-roundup editable SML, public preview data, and gallery identity."
179
+ reviewedAt: "2026-09-08T00:00:00.000Z",
180
+ notes: "Reviewed product-updates-roundup editable project with stylesheet and original Basalt assets, public preview data, and gallery identity."
205
181
  },
206
182
  "flash-getaway-offer": {
207
- sourcePath: "packages/markup/presets/flash-getaway-offer.tsx",
183
+ sourcePath: "examples/email-showcase/emails/flash-getaway-offer.tsx",
208
184
  reviewedBy: "Samva catalog review",
209
- reviewedAt: "2026-08-31T00:00:00.000Z",
210
- notes: "Reviewed flash-getaway-offer editable SML, public preview data, and gallery identity."
185
+ reviewedAt: "2026-09-08T00:00:00.000Z",
186
+ notes: "Reviewed flash-getaway-offer editable project with stylesheet and original Wayfare assets, public preview data, and gallery identity."
211
187
  },
212
188
  "membership-benefits-promo": {
213
- sourcePath: "packages/markup/presets/membership-benefits-promo.tsx",
189
+ sourcePath: "examples/email-showcase/emails/membership-benefits-promo.tsx",
214
190
  reviewedBy: "Samva catalog review",
215
- reviewedAt: "2026-08-31T00:00:00.000Z",
216
- notes: "Reviewed membership-benefits-promo editable SML, public preview data, and gallery identity."
191
+ reviewedAt: "2026-09-08T00:00:00.000Z",
192
+ notes: "Reviewed membership-benefits-promo editable project with stylesheet and original Wayfare assets, public preview data, and gallery identity."
217
193
  },
218
194
  "industry-news-digest": {
219
- sourcePath: "packages/markup/presets/industry-news-digest.tsx",
195
+ sourcePath: "examples/email-showcase/emails/industry-news-digest.tsx",
220
196
  reviewedBy: "Samva catalog review",
221
- reviewedAt: "2026-08-31T00:00:00.000Z",
222
- notes: "Reviewed industry-news-digest editable SML, public preview data, and gallery identity."
197
+ reviewedAt: "2026-09-08T00:00:00.000Z",
198
+ notes: "Reviewed industry-news-digest editable SML project, authored assets, public preview data, and gallery identity."
223
199
  },
224
200
  "weekly-deals-circular": {
225
- sourcePath: "packages/markup/presets/weekly-deals-circular.tsx",
201
+ sourcePath: "examples/email-showcase/emails/weekly-deals-circular.tsx",
226
202
  reviewedBy: "Samva catalog review",
227
- reviewedAt: "2026-08-31T00:00:00.000Z",
228
- notes: "Reviewed weekly-deals-circular editable SML, public preview data, and gallery identity."
203
+ reviewedAt: "2026-09-08T00:00:00.000Z",
204
+ notes: "Reviewed weekly-deals-circular editable project with stylesheet and original Oakline assets, public preview data, and gallery identity."
229
205
  },
230
206
  "data-sharing-review": {
231
- sourcePath: "packages/markup/presets/data-sharing-review.tsx",
207
+ sourcePath: "examples/email-showcase/emails/data-sharing-review.tsx",
232
208
  reviewedBy: "Samva catalog review",
233
- reviewedAt: "2026-08-31T00:00:00.000Z",
234
- notes: "Reviewed data-sharing-review editable SML, public preview data, and gallery identity."
209
+ reviewedAt: "2026-09-08T00:00:00.000Z",
210
+ notes: "Reviewed data-sharing-review editable project with stylesheet and original Northloop assets, public preview data, and gallery identity."
235
211
  },
236
212
  "seasonal-sale-flyer": {
237
- sourcePath: "packages/markup/presets/seasonal-sale-flyer.tsx",
213
+ sourcePath: "examples/email-showcase/emails/seasonal-sale-flyer.tsx",
238
214
  reviewedBy: "Samva catalog review",
239
- reviewedAt: "2026-08-31T00:00:00.000Z",
240
- notes: "Reviewed seasonal-sale-flyer editable SML, public preview data, and gallery identity."
215
+ reviewedAt: "2026-09-08T00:00:00.000Z",
216
+ notes: "Reviewed seasonal-sale-flyer editable project with stylesheet and original Oakline assets, public preview data, and gallery identity."
241
217
  },
242
218
  "setup-checklist": {
243
- sourcePath: "packages/markup/presets/setup-checklist.tsx",
219
+ sourcePath: "examples/email-showcase/emails/setup-checklist.tsx",
244
220
  reviewedBy: "Samva catalog review",
245
- reviewedAt: "2026-08-31T00:00:00.000Z",
246
- notes: "Reviewed setup-checklist editable SML, public preview data, and gallery identity."
221
+ reviewedAt: "2026-09-08T00:00:00.000Z",
222
+ notes: "Reviewed setup-checklist editable project with stylesheet and original assets, public preview data, and gallery identity."
247
223
  },
248
224
  "feature-release-roundup": {
249
- sourcePath: "packages/markup/presets/feature-release-roundup.tsx",
225
+ sourcePath: "examples/email-showcase/emails/feature-release-roundup.tsx",
250
226
  reviewedBy: "Samva catalog review",
251
- reviewedAt: "2026-08-31T00:00:00.000Z",
252
- notes: "Reviewed feature-release-roundup editable SML, public preview data, and gallery identity."
227
+ reviewedAt: "2026-09-08T00:00:00.000Z",
228
+ notes: "Reviewed feature-release-roundup editable project with stylesheet and original Basalt assets, public preview data, and gallery identity."
253
229
  },
254
230
  "season-clearance-promo": {
255
- sourcePath: "packages/markup/presets/season-clearance-promo.tsx",
231
+ sourcePath: "examples/email-showcase/emails/season-clearance-promo.tsx",
256
232
  reviewedBy: "Samva catalog review",
257
- reviewedAt: "2026-08-31T00:00:00.000Z",
258
- notes: "Reviewed season-clearance-promo editable SML, public preview data, and gallery identity."
233
+ reviewedAt: "2026-09-08T00:00:00.000Z",
234
+ notes: "Reviewed season-clearance-promo editable project with stylesheet and original Oakline assets, public preview data, and gallery identity."
259
235
  },
260
236
  "product-launch-promo": {
261
237
  sourcePath: "examples/email-showcase/emails/product-launch-promo.tsx",
@@ -415,18 +391,6 @@ const publicTemplates = [
415
391
  ],
416
392
  relatedTemplates: ["otp", "email-verification"]
417
393
  }),
418
- template({
419
- presetId: "receipt",
420
- slug: "receipt",
421
- useCase: "commerce",
422
- collections: [
423
- "category:transactional",
424
- "industry:ecommerce",
425
- "stage:transaction",
426
- "style:data-heavy"
427
- ],
428
- relatedTemplates: ["payment-failed", "shipping-update"]
429
- }),
430
394
  template({
431
395
  presetId: "payment-failed",
432
396
  slug: "payment-failed",
@@ -439,7 +403,7 @@ const publicTemplates = [
439
403
  "style:data-heavy",
440
404
  "style:single-cta"
441
405
  ],
442
- relatedTemplates: ["receipt", "trial-ending"]
406
+ relatedTemplates: ["order-receipt", "trial-ending"]
443
407
  }),
444
408
  template({
445
409
  presetId: "shipping-update",
@@ -452,7 +416,7 @@ const publicTemplates = [
452
416
  "style:data-heavy",
453
417
  "style:single-cta"
454
418
  ],
455
- relatedTemplates: ["receipt", "notification"]
419
+ relatedTemplates: ["order-receipt", "notification"]
456
420
  }),
457
421
  template({
458
422
  presetId: "notification",
@@ -494,20 +458,7 @@ const publicTemplates = [
494
458
  "style:editorial",
495
459
  "style:data-heavy"
496
460
  ],
497
- relatedTemplates: ["notification", "newsletter"]
498
- }),
499
- template({
500
- presetId: "newsletter",
501
- slug: "newsletter",
502
- useCase: "publishing-campaigns",
503
- collections: [
504
- "category:digest-editorial",
505
- "industry:newsletters-media",
506
- "stage:engagement",
507
- "style:editorial",
508
- "style:branded"
509
- ],
510
- relatedTemplates: ["product-digest", "announcement"]
461
+ relatedTemplates: ["notification", "product-newsletter"]
511
462
  }),
512
463
  template({
513
464
  presetId: "announcement",
@@ -521,20 +472,7 @@ const publicTemplates = [
521
472
  "style:branded",
522
473
  "style:single-cta"
523
474
  ],
524
- relatedTemplates: ["newsletter", "event-invite"]
525
- }),
526
- template({
527
- presetId: "promo",
528
- slug: "promotion",
529
- useCase: "publishing-campaigns",
530
- collections: [
531
- "category:marketing",
532
- "industry:ecommerce",
533
- "stage:acquisition",
534
- "style:branded",
535
- "style:single-cta"
536
- ],
537
- relatedTemplates: ["announcement", "event-invite"]
475
+ relatedTemplates: ["product-newsletter", "event-invite"]
538
476
  }),
539
477
  template({
540
478
  presetId: "event-invite",
@@ -547,7 +485,7 @@ const publicTemplates = [
547
485
  "style:branded",
548
486
  "style:single-cta"
549
487
  ],
550
- relatedTemplates: ["announcement", "promo"]
488
+ relatedTemplates: ["announcement", "product-launch-promo"]
551
489
  }),
552
490
  template({
553
491
  presetId: "membership-promo",
@@ -560,7 +498,7 @@ const publicTemplates = [
560
498
  "style:branded",
561
499
  "style:data-heavy"
562
500
  ],
563
- relatedTemplates: ["promo", "announcement"]
501
+ relatedTemplates: ["product-launch-promo", "announcement"]
564
502
  }),
565
503
  template({
566
504
  presetId: "onboarding-step",
@@ -626,7 +564,7 @@ const publicTemplates = [
626
564
  "style:editorial",
627
565
  "style:data-heavy"
628
566
  ],
629
- relatedTemplates: ["newsletter", "product-digest"]
567
+ relatedTemplates: ["product-newsletter", "product-digest"]
630
568
  }),
631
569
  template({
632
570
  presetId: "member-referral-offer",
@@ -639,7 +577,7 @@ const publicTemplates = [
639
577
  "style:branded",
640
578
  "style:data-heavy"
641
579
  ],
642
- relatedTemplates: ["promo", "membership-promo"]
580
+ relatedTemplates: ["product-launch-promo", "membership-promo"]
643
581
  }),
644
582
  template({
645
583
  presetId: "catalog-sale-newsletter",
@@ -652,7 +590,7 @@ const publicTemplates = [
652
590
  "style:editorial",
653
591
  "style:data-heavy"
654
592
  ],
655
- relatedTemplates: ["announcement", "promo"]
593
+ relatedTemplates: ["announcement", "product-launch-promo"]
656
594
  }),
657
595
  template({
658
596
  presetId: "limited-time-savings",
@@ -665,7 +603,7 @@ const publicTemplates = [
665
603
  "style:minimal",
666
604
  "style:single-cta"
667
605
  ],
668
- relatedTemplates: ["promo", "membership-promo"]
606
+ relatedTemplates: ["product-launch-promo", "membership-promo"]
669
607
  }),
670
608
  template({
671
609
  presetId: "rewards-milestone",
@@ -678,19 +616,7 @@ const publicTemplates = [
678
616
  "style:branded",
679
617
  "style:data-heavy"
680
618
  ],
681
- relatedTemplates: ["membership-promo", "promo"]
682
- }),
683
- template({
684
- presetId: "order-delivered",
685
- slug: "order-delivered",
686
- useCase: "commerce",
687
- collections: [
688
- "category:transactional",
689
- "industry:ecommerce",
690
- "stage:transaction",
691
- "style:data-heavy"
692
- ],
693
- relatedTemplates: ["shipping-update", "receipt"]
619
+ relatedTemplates: ["membership-promo", "product-launch-promo"]
694
620
  }),
695
621
  template({
696
622
  presetId: "order-receipt",
@@ -704,11 +630,7 @@ const publicTemplates = [
704
630
  "style:data-heavy",
705
631
  "style:single-cta"
706
632
  ],
707
- relatedTemplates: [
708
- "receipt",
709
- "order-delivered",
710
- "shipping-update"
711
- ]
633
+ relatedTemplates: ["shipping-update", "payment-failed"]
712
634
  }),
713
635
  template({
714
636
  presetId: "travel-rewards-promo",
@@ -721,7 +643,7 @@ const publicTemplates = [
721
643
  "style:branded",
722
644
  "style:data-heavy"
723
645
  ],
724
- relatedTemplates: ["membership-promo", "promo"]
646
+ relatedTemplates: ["membership-promo", "product-launch-promo"]
725
647
  }),
726
648
  template({
727
649
  presetId: "events-roundup",
@@ -734,7 +656,7 @@ const publicTemplates = [
734
656
  "style:editorial",
735
657
  "style:data-heavy"
736
658
  ],
737
- relatedTemplates: ["newsletter", "event-invite"]
659
+ relatedTemplates: ["product-newsletter", "event-invite"]
738
660
  }),
739
661
  template({
740
662
  presetId: "product-onboarding-tour",
@@ -773,7 +695,7 @@ const publicTemplates = [
773
695
  "style:branded",
774
696
  "style:single-cta"
775
697
  ],
776
- relatedTemplates: ["promo", "membership-promo"]
698
+ relatedTemplates: ["product-launch-promo", "membership-promo"]
777
699
  }),
778
700
  template({
779
701
  presetId: "membership-benefits-promo",
@@ -786,7 +708,7 @@ const publicTemplates = [
786
708
  "style:branded",
787
709
  "style:data-heavy"
788
710
  ],
789
- relatedTemplates: ["membership-promo", "promo"]
711
+ relatedTemplates: ["membership-promo", "product-launch-promo"]
790
712
  }),
791
713
  template({
792
714
  presetId: "industry-news-digest",
@@ -799,7 +721,7 @@ const publicTemplates = [
799
721
  "style:editorial",
800
722
  "style:data-heavy"
801
723
  ],
802
- relatedTemplates: ["newsletter", "product-digest"]
724
+ relatedTemplates: ["product-newsletter", "product-digest"]
803
725
  }),
804
726
  template({
805
727
  presetId: "weekly-deals-circular",
@@ -812,7 +734,7 @@ const publicTemplates = [
812
734
  "style:branded",
813
735
  "style:data-heavy"
814
736
  ],
815
- relatedTemplates: ["promo", "membership-promo"]
737
+ relatedTemplates: ["product-launch-promo", "membership-promo"]
816
738
  }),
817
739
  template({
818
740
  presetId: "data-sharing-review",
@@ -838,7 +760,7 @@ const publicTemplates = [
838
760
  "style:branded",
839
761
  "style:data-heavy"
840
762
  ],
841
- relatedTemplates: ["promo", "announcement"]
763
+ relatedTemplates: ["product-launch-promo", "announcement"]
842
764
  }),
843
765
  template({
844
766
  presetId: "setup-checklist",
@@ -877,7 +799,7 @@ const publicTemplates = [
877
799
  "style:branded",
878
800
  "style:single-cta"
879
801
  ],
880
- relatedTemplates: ["promo", "announcement"]
802
+ relatedTemplates: ["product-launch-promo", "announcement"]
881
803
  }),
882
804
  template({
883
805
  presetId: "linear-login-code",
@@ -906,7 +828,7 @@ const publicTemplates = [
906
828
  "style:editorial",
907
829
  "style:branded"
908
830
  ],
909
- relatedTemplates: ["newsletter", "product-digest"]
831
+ relatedTemplates: ["product-digest", "editorial-newsletter"]
910
832
  }),
911
833
  template({
912
834
  presetId: "product-launch-promo",
@@ -919,7 +841,7 @@ const publicTemplates = [
919
841
  "style:branded",
920
842
  "style:single-cta"
921
843
  ],
922
- relatedTemplates: ["promo", "season-clearance-promo"]
844
+ relatedTemplates: ["season-clearance-promo", "membership-promo"]
923
845
  }),
924
846
  template({
925
847
  presetId: "vercel-invitation",
@@ -1,5 +1,5 @@
1
1
  import { d as Channel } from "../ast-63I-VLQx.js";
2
- import { PresetCategory } from "../presets.js";
2
+ import { r as PresetCategory } from "../catalog-Ck1tAGwO.js";
3
3
  import { TemplateCollectionId, TemplateUseCase } from "./public-gallery.js";
4
4
  import { PublicTemplatePreview } from "./public-preview.js";
5
5
  import { PresetProject } from "./sources.js";
@@ -298,8 +298,9 @@ const validatePublicTemplateHandoff = (artifacts) => {
298
298
  if (new Set(artifact.preset.variables).size !== artifact.preset.variables.length || artifact.preset.variables.some((value) => !nonEmpty(value))) issues.push(issue(id, "variables", "declared input fields must be non-empty and unique"));
299
299
  const unsupportedFontTokens = unsupportedPublicTemplateFontTokens(artifact.preset.source);
300
300
  if (unsupportedFontTokens.length > 0) issues.push(issue(id, "font-token", `unsupported public font token: ${unsupportedFontTokens.join(", ")}`));
301
- const sampleVariables = Object.keys(artifact.preview.sampleData);
302
- if (!sameStrings(sampleVariables, artifact.preset.variables)) issues.push(issue(id, "sample-data", "sample data must cover every declared variable exactly"));
301
+ const declaredVariables = new Set(artifact.preset.variables);
302
+ const undeclaredSample = Object.keys(artifact.preview.sampleData).filter((variable) => !declaredVariables.has(variable));
303
+ if (undeclaredSample.length > 0) issues.push(issue(id, "sample-data", `sample data supplies undeclared variables: ${sortedUnique(undeclaredSample).join(", ")}`));
303
304
  if (Object.values(artifact.preview.sampleData).some((value) => !nonEmptySample(value))) issues.push(issue(id, "sample-data", "sample data values must be non-empty"));
304
305
  const assetVariables = artifact.preview.assets.map((asset) => asset.variable);
305
306
  if (new Set(assetVariables).size !== assetVariables.length) issues.push(issue(id, "assets", "asset variable references must be unique"));
@@ -1,4 +1,4 @@
1
- import { EmailPresetId } from "../presets.js";
1
+ import { t as EmailPresetId } from "../catalog-Ck1tAGwO.js";
2
2
  import { PublicTemplate } from "./public-gallery.js";
3
3
  import { PreviewQuality } from "./public-preview.js";
4
4
  import { Result } from "effect";