@samva/markup 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/AGENTS.md +94 -47
  2. package/README.md +1 -1
  3. package/dist/brand-DcoVkh_S.d.ts +88 -0
  4. package/dist/{catalog-60eaYC7b.d.ts → catalog-CKuOooB8.d.ts} +13 -15
  5. package/dist/{checks-DBweSIPN.js → checks-D73Xizbw.js} +414 -2
  6. package/dist/checks.js +1 -1
  7. package/dist/classes.d.ts +2 -3
  8. package/dist/compile-sms.d.ts +1 -1
  9. package/dist/compile-whatsapp.d.ts +1 -1
  10. package/dist/compiler.d.ts +62 -45
  11. package/dist/compiler.js +206 -863
  12. package/dist/components.d.ts +2 -2
  13. package/dist/{corpus-BjYMqOoY.d.ts → corpus-CPPfgAHN.d.ts} +14 -14
  14. package/dist/{css-COcFOT1y.d.ts → css-CS2jLID6.d.ts} +28 -2
  15. package/dist/email/assets.d.ts +40 -0
  16. package/dist/email/assets.js +63 -0
  17. package/dist/email/brand-footer.d.ts +34 -0
  18. package/dist/email/brand-footer.js +62 -0
  19. package/dist/email/brand.d.ts +2 -0
  20. package/dist/email/brand.js +148 -0
  21. package/dist/email/html.d.ts +2 -42
  22. package/dist/email/html.js +11 -0
  23. package/dist/email/render.d.ts +12 -5
  24. package/dist/email/render.js +2 -5
  25. package/dist/email/selection.d.ts +2 -91
  26. package/dist/email/stylesheets.d.ts +1 -1
  27. package/dist/email/stylesheets.js +3 -0
  28. package/dist/emit.js +2 -2
  29. package/dist/html-Bl9BAdqc.d.ts +42 -0
  30. package/dist/{ops-2aiiYO7m.js → ops-BvwqHl7V.js} +2 -2
  31. package/dist/ops.js +1 -1
  32. package/dist/{parser-CQcASEyy.d.ts → parser-t29cHLVL.d.ts} +2 -2
  33. package/dist/parser.d.ts +1 -1
  34. package/dist/parser.js +1 -2
  35. package/dist/registry-Dcp6QEK_.d.ts +73 -0
  36. package/dist/registry.d.ts +2 -42
  37. package/dist/{render-aaJBnsXK.js → render-vAv_4r9v.js} +174 -17
  38. package/dist/selection-CCArx9lU.d.ts +91 -0
  39. package/dist/{showcase-DGZAWn4Z.d.ts → showcase-egkusQBf.d.ts} +15 -56
  40. package/dist/{presets → starters}/category-mapping.d.ts +5 -5
  41. package/dist/{presets → starters}/category-mapping.js +5 -5
  42. package/dist/starters/corpus.d.ts +2 -0
  43. package/dist/{presets → starters}/corpus.js +15 -15
  44. package/dist/starters/library.d.ts +18 -0
  45. package/dist/starters/library.js +692 -0
  46. package/dist/{presets → starters}/public-gallery.d.ts +47 -47
  47. package/dist/{presets → starters}/public-gallery.js +92 -92
  48. package/dist/{presets → starters}/public-handoff.d.ts +14 -14
  49. package/dist/{presets → starters}/public-handoff.js +40 -40
  50. package/dist/{presets → starters}/public-preview-artifacts.d.ts +4 -4
  51. package/dist/{presets → starters}/public-preview-artifacts.js +15 -15
  52. package/dist/{presets → starters}/public-preview.d.ts +1 -1
  53. package/dist/{presets → starters}/public-preview.js +3 -3
  54. package/dist/starters/showcase.d.ts +2 -0
  55. package/dist/starters/showcase.js +335 -0
  56. package/dist/starters/sources.d.ts +45 -0
  57. package/dist/{presets → starters}/sources.js +1951 -272
  58. package/dist/starters/theme.d.ts +45 -0
  59. package/dist/starters/theme.js +77 -0
  60. package/dist/starters.d.ts +2 -0
  61. package/dist/{presets.js → starters.js} +4 -11
  62. package/dist/tailwind-BYq7Lo6u.js +727 -0
  63. package/dist/theme-css-hFqcPSar.js +587 -0
  64. package/dist/theme-css.d.ts +56 -15
  65. package/dist/theme-css.js +2 -509
  66. package/dist/tsx-source-instrumentation.d.ts +9 -0
  67. package/dist/tsx-source-instrumentation.js +20 -2
  68. package/dist/tsx-tracer.js +3 -3
  69. package/dist/unsubscribe-link-CoesnQDU.js +26 -0
  70. package/package.json +56 -44
  71. package/samva-brand.d.ts +14 -0
  72. package/dist/footer.d.ts +0 -66
  73. package/dist/footer.js +0 -93
  74. package/dist/presets/corpus.d.ts +0 -2
  75. package/dist/presets/showcase.d.ts +0 -2
  76. package/dist/presets/showcase.js +0 -627
  77. package/dist/presets/sources.d.ts +0 -38
  78. package/dist/presets.d.ts +0 -2
  79. package/dist/theme-6ApjjiBo.d.ts +0 -116
  80. package/dist/theme.d.ts +0 -2
  81. package/dist/theme.js +0 -118
  82. package/dist/tokens.d.ts +0 -6
  83. package/dist/tokens.js +0 -417
@@ -1,627 +0,0 @@
1
- //#region presets/showcase.ts
2
- /** Repository-relative root of the showcase project, used to build canonical source paths. */
3
- const SHOWCASE_ROOT = "examples/email-showcase";
4
- const showcaseProjects = [
5
- {
6
- id: "data-sharing-review",
7
- entryPath: "emails/data-sharing-review.tsx",
8
- files: [
9
- "emails/data-sharing-review.css",
10
- "emails/assets/data-sharing-review-connection.png",
11
- "emails/assets/data-sharing-review-wordmark.png"
12
- ],
13
- provenance: { kind: "owned" },
14
- category: "transactional",
15
- gallerySlug: "data-sharing-review",
16
- recordedAt: "2026-09-08T00:00:00.000Z"
17
- },
18
- {
19
- id: "editorial-newsletter",
20
- entryPath: "emails/editorial-newsletter.tsx",
21
- files: [
22
- "emails/editorial-newsletter.css",
23
- "emails/assets/editorial-newsletter-author.png",
24
- "emails/assets/editorial-newsletter-hero.png",
25
- "emails/assets/editorial-newsletter-sponsor.png",
26
- "emails/assets/editorial-newsletter-wordmark.png"
27
- ],
28
- provenance: { kind: "owned" },
29
- category: "digest",
30
- gallerySlug: "editorial-newsletter",
31
- recordedAt: "2026-09-08T00:00:00.000Z"
32
- },
33
- {
34
- id: "email-verification",
35
- entryPath: "emails/email-verification.tsx",
36
- files: [
37
- "emails/email-verification.css",
38
- "emails/assets/email-verification-badge.png",
39
- "emails/assets/email-verification-wordmark.png"
40
- ],
41
- provenance: { kind: "owned" },
42
- category: "transactional",
43
- gallerySlug: "email-verification",
44
- recordedAt: "2026-09-08T00:00:00.000Z"
45
- },
46
- {
47
- id: "events-roundup",
48
- entryPath: "emails/events-roundup.tsx",
49
- files: [
50
- "emails/events-roundup.css",
51
- "emails/assets/events-roundup-spotlight.png",
52
- "emails/assets/events-roundup-tile-five.png",
53
- "emails/assets/events-roundup-tile-four.png",
54
- "emails/assets/events-roundup-tile-one.png",
55
- "emails/assets/events-roundup-tile-six.png",
56
- "emails/assets/events-roundup-tile-three.png",
57
- "emails/assets/events-roundup-tile-two.png",
58
- "emails/assets/events-roundup-wordmark.png"
59
- ],
60
- provenance: { kind: "owned" },
61
- category: "digest",
62
- gallerySlug: "events-roundup",
63
- recordedAt: "2026-09-08T00:00:00.000Z"
64
- },
65
- {
66
- id: "feature-release-roundup",
67
- entryPath: "emails/feature-release-roundup.tsx",
68
- files: [
69
- "emails/feature-release-roundup.css",
70
- "emails/assets/feature-release-roundup-release-activity.png",
71
- "emails/assets/feature-release-roundup-release-branching.png",
72
- "emails/assets/feature-release-roundup-release-keys.png",
73
- "emails/assets/feature-release-roundup-release-nodes.png",
74
- "emails/assets/feature-release-roundup-release-regions.png",
75
- "emails/assets/feature-release-roundup-wordmark.png"
76
- ],
77
- provenance: { kind: "owned" },
78
- category: "marketing",
79
- gallerySlug: "feature-release-roundup",
80
- recordedAt: "2026-09-08T00:00:00.000Z"
81
- },
82
- {
83
- id: "feedback-request",
84
- entryPath: "emails/feedback-request.tsx",
85
- files: [
86
- "emails/feedback-request.css",
87
- "emails/assets/feedback-request-avatar.png",
88
- "emails/assets/feedback-request-wordmark.png"
89
- ],
90
- provenance: { kind: "owned" },
91
- category: "lifecycle",
92
- gallerySlug: "feedback-request",
93
- recordedAt: "2026-09-08T00:00:00.000Z"
94
- },
95
- {
96
- id: "flash-getaway-offer",
97
- entryPath: "emails/flash-getaway-offer.tsx",
98
- files: [
99
- "emails/flash-getaway-offer.css",
100
- "emails/assets/flash-getaway-offer-banner.png",
101
- "emails/assets/flash-getaway-offer-city-harbour.png",
102
- "emails/assets/flash-getaway-offer-desert-canyon.png",
103
- "emails/assets/flash-getaway-offer-reef-bay.png",
104
- "emails/assets/flash-getaway-offer-snow-ridge.png",
105
- "emails/assets/flash-getaway-offer-wordmark.png"
106
- ],
107
- provenance: { kind: "owned" },
108
- category: "marketing",
109
- gallerySlug: "flash-getaway-offer",
110
- recordedAt: "2026-09-08T00:00:00.000Z"
111
- },
112
- {
113
- id: "industry-news-digest",
114
- entryPath: "emails/industry-news-digest.tsx",
115
- files: [
116
- "emails/industry-news-digest.css",
117
- "emails/assets/industry-news-digest-lead.png",
118
- "emails/assets/industry-news-digest-sponsor.png",
119
- "emails/assets/industry-news-digest-wordmark.png"
120
- ],
121
- provenance: { kind: "owned" },
122
- category: "digest",
123
- gallerySlug: "industry-news-digest",
124
- recordedAt: "2026-09-08T00:00:00.000Z"
125
- },
126
- {
127
- id: "rewards-milestone",
128
- entryPath: "emails/rewards-milestone.tsx",
129
- files: [
130
- "emails/assets/rewards-milestone-banner.png",
131
- "emails/assets/rewards-milestone-tier-amber.png",
132
- "emails/assets/rewards-milestone-tier-brass.png",
133
- "emails/assets/rewards-milestone-tier-copper.png",
134
- "emails/assets/rewards-milestone-tier-slate.png",
135
- "emails/assets/rewards-milestone-wordmark.png",
136
- "emails/rewards-milestone.css"
137
- ],
138
- provenance: { kind: "owned" },
139
- category: "marketing",
140
- gallerySlug: "rewards-milestone",
141
- recordedAt: "2026-09-08T00:00:00.000Z"
142
- },
143
- {
144
- id: "member-referral-offer",
145
- entryPath: "emails/member-referral-offer.tsx",
146
- files: [
147
- "emails/assets/member-referral-offer-hero.png",
148
- "emails/assets/member-referral-offer-step-earn.png",
149
- "emails/assets/member-referral-offer-step-join.png",
150
- "emails/assets/member-referral-offer-step-share.png",
151
- "emails/assets/member-referral-offer-wordmark.png",
152
- "emails/member-referral-offer.css"
153
- ],
154
- provenance: { kind: "owned" },
155
- category: "marketing",
156
- gallerySlug: "member-referral-offer",
157
- recordedAt: "2026-09-08T00:00:00.000Z"
158
- },
159
- {
160
- id: "catalog-sale-newsletter",
161
- entryPath: "emails/catalog-sale-newsletter.tsx",
162
- files: [
163
- "emails/assets/catalog-sale-newsletter-banner.png",
164
- "emails/assets/catalog-sale-newsletter-item-blanket.png",
165
- "emails/assets/catalog-sale-newsletter-item-crate.png",
166
- "emails/assets/catalog-sale-newsletter-item-kettle.png",
167
- "emails/assets/catalog-sale-newsletter-item-lantern.png",
168
- "emails/assets/catalog-sale-newsletter-wordmark.png",
169
- "emails/catalog-sale-newsletter.css"
170
- ],
171
- provenance: { kind: "owned" },
172
- category: "marketing",
173
- gallerySlug: "catalog-sale-newsletter",
174
- recordedAt: "2026-09-08T00:00:00.000Z"
175
- },
176
- {
177
- id: "event-invite",
178
- entryPath: "emails/event-invite.tsx",
179
- files: [
180
- "emails/assets/event-invite-hero.png",
181
- "emails/assets/event-invite-wordmark.png",
182
- "emails/event-invite.css"
183
- ],
184
- provenance: { kind: "owned" },
185
- category: "marketing",
186
- gallerySlug: "event-invite",
187
- recordedAt: "2026-09-08T00:00:00.000Z"
188
- },
189
- {
190
- id: "limited-time-savings",
191
- entryPath: "emails/limited-time-savings.tsx",
192
- files: [
193
- "emails/assets/limited-time-savings-banner.png",
194
- "emails/assets/limited-time-savings-wordmark.png",
195
- "emails/limited-time-savings.css"
196
- ],
197
- provenance: { kind: "owned" },
198
- category: "marketing",
199
- gallerySlug: "limited-time-savings",
200
- recordedAt: "2026-09-08T00:00:00.000Z"
201
- },
202
- {
203
- id: "membership-promo",
204
- entryPath: "emails/membership-promo.tsx",
205
- files: [
206
- "emails/assets/membership-promo-hero.png",
207
- "emails/assets/membership-promo-tier-cellar.png",
208
- "emails/assets/membership-promo-tier-market.png",
209
- "emails/assets/membership-promo-tier-pantry.png",
210
- "emails/assets/membership-promo-wordmark.png",
211
- "emails/membership-promo.css"
212
- ],
213
- provenance: { kind: "owned" },
214
- category: "marketing",
215
- gallerySlug: "membership-promotion",
216
- recordedAt: "2026-09-08T00:00:00.000Z"
217
- },
218
- {
219
- id: "announcement",
220
- entryPath: "emails/announcement.tsx",
221
- files: [
222
- "emails/announcement.css",
223
- "emails/assets/announcement-hero.png",
224
- "emails/assets/announcement-wordmark.png"
225
- ],
226
- provenance: { kind: "owned" },
227
- category: "marketing",
228
- gallerySlug: "feature-announcement",
229
- recordedAt: "2026-09-08T00:00:00.000Z"
230
- },
231
- {
232
- id: "linear-login-code",
233
- entryPath: "emails/linear-login-code.tsx",
234
- files: [
235
- "emails/linear-login-code.css",
236
- "README.md",
237
- "emails/assets/linear-logo.png"
238
- ],
239
- provenance: {
240
- kind: "brand-recreation",
241
- brand: "Linear",
242
- subject: "login code",
243
- reviewedNote: "Reviewed recreation of Linear's login code email, its canonical project assets, and its brand attribution."
244
- },
245
- category: "transactional",
246
- gallerySlug: "linear-login-code",
247
- recordedAt: "2026-09-08T00:00:00.000Z"
248
- },
249
- {
250
- id: "membership-benefits-promo",
251
- entryPath: "emails/membership-benefits-promo.tsx",
252
- files: [
253
- "emails/membership-benefits-promo.css",
254
- "emails/assets/membership-benefits-promo-icon-concierge.png",
255
- "emails/assets/membership-benefits-promo-icon-lounge.png",
256
- "emails/assets/membership-benefits-promo-icon-shield.png",
257
- "emails/assets/membership-benefits-promo-icon-suitcase.png",
258
- "emails/assets/membership-benefits-promo-icon-table.png",
259
- "emails/assets/membership-benefits-promo-icon-ticket.png",
260
- "emails/assets/membership-benefits-promo-panel.png",
261
- "emails/assets/membership-benefits-promo-wordmark.png"
262
- ],
263
- provenance: { kind: "owned" },
264
- category: "marketing",
265
- gallerySlug: "membership-benefits-promo",
266
- recordedAt: "2026-09-08T00:00:00.000Z"
267
- },
268
- {
269
- id: "notification",
270
- entryPath: "emails/notification.tsx",
271
- files: [
272
- "emails/notification.css",
273
- "emails/assets/notification-avatar-one.png",
274
- "emails/assets/notification-avatar-three.png",
275
- "emails/assets/notification-avatar-two.png",
276
- "emails/assets/notification-wordmark.png"
277
- ],
278
- provenance: { kind: "owned" },
279
- category: "transactional",
280
- gallerySlug: "activity-notification",
281
- recordedAt: "2026-09-08T00:00:00.000Z"
282
- },
283
- {
284
- id: "onboarding-step",
285
- entryPath: "emails/onboarding-step.tsx",
286
- files: [
287
- "emails/onboarding-step.css",
288
- "emails/assets/onboarding-step-illustration.png",
289
- "emails/assets/onboarding-step-wordmark.png"
290
- ],
291
- provenance: { kind: "owned" },
292
- category: "lifecycle",
293
- gallerySlug: "onboarding-step",
294
- recordedAt: "2026-09-08T00:00:00.000Z"
295
- },
296
- {
297
- id: "order-receipt",
298
- entryPath: "emails/order-receipt.tsx",
299
- files: [
300
- "emails/order-receipt.css",
301
- "emails/assets/order-receipt-candles.png",
302
- "emails/assets/order-receipt-mug.png",
303
- "emails/assets/order-receipt-napkins.png",
304
- "emails/assets/order-receipt-throw.png",
305
- "emails/assets/order-receipt-wordmark.png"
306
- ],
307
- provenance: { kind: "owned" },
308
- category: "transactional",
309
- gallerySlug: "order-receipt",
310
- recordedAt: "2026-09-08T00:00:00.000Z"
311
- },
312
- {
313
- id: "otp",
314
- entryPath: "emails/otp.tsx",
315
- files: ["emails/otp.css", "emails/assets/otp-wordmark.png"],
316
- provenance: { kind: "owned" },
317
- category: "transactional",
318
- gallerySlug: "one-time-passcode",
319
- recordedAt: "2026-09-08T00:00:00.000Z"
320
- },
321
- {
322
- id: "password-reset",
323
- entryPath: "emails/password-reset.tsx",
324
- files: [
325
- "emails/password-reset.css",
326
- "emails/assets/password-reset-lock.png",
327
- "emails/assets/password-reset-wordmark.png"
328
- ],
329
- provenance: { kind: "owned" },
330
- category: "transactional",
331
- gallerySlug: "password-reset",
332
- recordedAt: "2026-09-08T00:00:00.000Z"
333
- },
334
- {
335
- id: "payment-failed",
336
- entryPath: "emails/payment-failed.tsx",
337
- files: [
338
- "emails/payment-failed.css",
339
- "emails/assets/payment-failed-bowls.png",
340
- "emails/assets/payment-failed-kettle.png",
341
- "emails/assets/payment-failed-tray.png",
342
- "emails/assets/payment-failed-wordmark.png"
343
- ],
344
- provenance: { kind: "owned" },
345
- category: "transactional",
346
- gallerySlug: "payment-failed",
347
- recordedAt: "2026-09-08T00:00:00.000Z"
348
- },
349
- {
350
- id: "product-digest",
351
- entryPath: "emails/product-digest.tsx",
352
- files: [
353
- "emails/product-digest.css",
354
- "emails/assets/product-digest-podcast.png",
355
- "emails/assets/product-digest-wordmark.png"
356
- ],
357
- provenance: { kind: "owned" },
358
- category: "digest",
359
- gallerySlug: "product-digest",
360
- recordedAt: "2026-09-08T00:00:00.000Z"
361
- },
362
- {
363
- id: "product-launch-promo",
364
- entryPath: "emails/product-launch-promo.tsx",
365
- files: [
366
- "emails/product-launch-promo.css",
367
- "emails/assets/oakline-hero.png",
368
- "emails/assets/oakline-wordmark.png",
369
- "emails/assets/product-chair.png",
370
- "emails/assets/product-lamp.png",
371
- "emails/assets/product-mirror.png",
372
- "emails/assets/product-stool.png",
373
- "emails/assets/product-throw.png",
374
- "emails/assets/product-vase.png"
375
- ],
376
- provenance: { kind: "owned" },
377
- category: "marketing",
378
- gallerySlug: "product-launch-promotion",
379
- recordedAt: "2026-09-08T00:00:00.000Z"
380
- },
381
- {
382
- id: "product-newsletter",
383
- entryPath: "emails/product-newsletter.tsx",
384
- files: [
385
- "emails/product-newsletter.css",
386
- "emails/assets/newsletter-lead.png",
387
- "emails/assets/newsletter-story-five.png",
388
- "emails/assets/newsletter-story-four.png",
389
- "emails/assets/newsletter-story-one.png",
390
- "emails/assets/newsletter-story-three.png",
391
- "emails/assets/newsletter-story-two.png",
392
- "emails/assets/newsletter-wordmark.png"
393
- ],
394
- provenance: { kind: "owned" },
395
- category: "digest",
396
- gallerySlug: "product-newsletter",
397
- recordedAt: "2026-09-08T00:00:00.000Z"
398
- },
399
- {
400
- id: "product-onboarding-tour",
401
- entryPath: "emails/product-onboarding-tour.tsx",
402
- files: [
403
- "emails/product-onboarding-tour.css",
404
- "emails/assets/product-onboarding-tour-feature-alerts.png",
405
- "emails/assets/product-onboarding-tour-feature-digest.png",
406
- "emails/assets/product-onboarding-tour-feature-questions.png",
407
- "emails/assets/product-onboarding-tour-read-alerts.png",
408
- "emails/assets/product-onboarding-tour-read-metrics.png",
409
- "emails/assets/product-onboarding-tour-wordmark.png"
410
- ],
411
- provenance: { kind: "owned" },
412
- category: "lifecycle",
413
- gallerySlug: "product-onboarding-tour",
414
- recordedAt: "2026-09-08T00:00:00.000Z"
415
- },
416
- {
417
- id: "product-updates-roundup",
418
- entryPath: "emails/product-updates-roundup.tsx",
419
- files: [
420
- "emails/product-updates-roundup.css",
421
- "emails/assets/product-updates-roundup-access-matrix.png",
422
- "emails/assets/product-updates-roundup-import-pipeline.png",
423
- "emails/assets/product-updates-roundup-query-timeline.png",
424
- "emails/assets/product-updates-roundup-status-board.png",
425
- "emails/assets/product-updates-roundup-usage-chart.png",
426
- "emails/assets/product-updates-roundup-webhook-retry.png",
427
- "emails/assets/product-updates-roundup-wordmark.png"
428
- ],
429
- provenance: { kind: "owned" },
430
- category: "marketing",
431
- gallerySlug: "product-updates-roundup",
432
- recordedAt: "2026-09-08T00:00:00.000Z"
433
- },
434
- {
435
- id: "season-clearance-promo",
436
- entryPath: "emails/season-clearance-promo.tsx",
437
- files: [
438
- "emails/season-clearance-promo.css",
439
- "emails/assets/season-clearance-promo-banner.png",
440
- "emails/assets/season-clearance-promo-cushions.png",
441
- "emails/assets/season-clearance-promo-planter.png",
442
- "emails/assets/season-clearance-promo-secondary.png",
443
- "emails/assets/season-clearance-promo-side-table.png",
444
- "emails/assets/season-clearance-promo-wall-clock.png",
445
- "emails/assets/season-clearance-promo-wordmark.png"
446
- ],
447
- provenance: { kind: "owned" },
448
- category: "marketing",
449
- gallerySlug: "season-clearance-promo",
450
- recordedAt: "2026-09-08T00:00:00.000Z"
451
- },
452
- {
453
- id: "seasonal-sale-flyer",
454
- entryPath: "emails/seasonal-sale-flyer.tsx",
455
- files: [
456
- "emails/seasonal-sale-flyer.css",
457
- "emails/assets/seasonal-sale-flyer-bedding.png",
458
- "emails/assets/seasonal-sale-flyer-cookware.png",
459
- "emails/assets/seasonal-sale-flyer-hero.png",
460
- "emails/assets/seasonal-sale-flyer-lighting.png",
461
- "emails/assets/seasonal-sale-flyer-outdoor.png",
462
- "emails/assets/seasonal-sale-flyer-storage.png",
463
- "emails/assets/seasonal-sale-flyer-tableware.png",
464
- "emails/assets/seasonal-sale-flyer-wordmark.png"
465
- ],
466
- provenance: { kind: "owned" },
467
- category: "marketing",
468
- gallerySlug: "seasonal-sale-flyer",
469
- recordedAt: "2026-09-08T00:00:00.000Z"
470
- },
471
- {
472
- id: "setup-checklist",
473
- entryPath: "emails/setup-checklist.tsx",
474
- files: [
475
- "emails/setup-checklist.css",
476
- "emails/assets/setup-checklist-step-invite.png",
477
- "emails/assets/setup-checklist-step-publish.png",
478
- "emails/assets/setup-checklist-step-source.png",
479
- "emails/assets/setup-checklist-wordmark.png"
480
- ],
481
- provenance: { kind: "owned" },
482
- category: "lifecycle",
483
- gallerySlug: "setup-checklist",
484
- recordedAt: "2026-09-08T00:00:00.000Z"
485
- },
486
- {
487
- id: "shipping-update",
488
- entryPath: "emails/shipping-update.tsx",
489
- files: [
490
- "emails/shipping-update.css",
491
- "emails/assets/shipping-update-runner.png",
492
- "emails/assets/shipping-update-teapot.png",
493
- "emails/assets/shipping-update-tumblers.png",
494
- "emails/assets/shipping-update-wordmark.png"
495
- ],
496
- provenance: { kind: "owned" },
497
- category: "transactional",
498
- gallerySlug: "shipping-update",
499
- recordedAt: "2026-09-08T00:00:00.000Z"
500
- },
501
- {
502
- id: "team-invite",
503
- entryPath: "emails/team-invite.tsx",
504
- files: [
505
- "emails/team-invite.css",
506
- "emails/assets/team-invite-inviter.png",
507
- "emails/assets/team-invite-teammate-one.png",
508
- "emails/assets/team-invite-teammate-three.png",
509
- "emails/assets/team-invite-teammate-two.png",
510
- "emails/assets/team-invite-wordmark.png"
511
- ],
512
- provenance: { kind: "owned" },
513
- category: "transactional",
514
- gallerySlug: "team-invite",
515
- recordedAt: "2026-09-08T00:00:00.000Z"
516
- },
517
- {
518
- id: "travel-rewards-promo",
519
- entryPath: "emails/travel-rewards-promo.tsx",
520
- files: [
521
- "emails/travel-rewards-promo.css",
522
- "emails/assets/travel-rewards-promo-hero.png",
523
- "emails/assets/travel-rewards-promo-partner-dining.png",
524
- "emails/assets/travel-rewards-promo-partner-drives.png",
525
- "emails/assets/travel-rewards-promo-partner-lounges.png",
526
- "emails/assets/travel-rewards-promo-partner-stays.png",
527
- "emails/assets/travel-rewards-promo-wordmark.png"
528
- ],
529
- provenance: { kind: "owned" },
530
- category: "marketing",
531
- gallerySlug: "travel-rewards-promo",
532
- recordedAt: "2026-09-08T00:00:00.000Z"
533
- },
534
- {
535
- id: "trial-ending",
536
- entryPath: "emails/trial-ending.tsx",
537
- files: [
538
- "emails/trial-ending.css",
539
- "emails/assets/trial-ending-countdown.png",
540
- "emails/assets/trial-ending-wordmark.png"
541
- ],
542
- provenance: { kind: "owned" },
543
- category: "lifecycle",
544
- gallerySlug: "trial-ending",
545
- recordedAt: "2026-09-08T00:00:00.000Z"
546
- },
547
- {
548
- id: "vercel-invitation",
549
- entryPath: "emails/vercel-invitation.tsx",
550
- files: [
551
- "emails/vercel-invitation.css",
552
- "README.md",
553
- "emails/assets/vercel-arrow.png",
554
- "emails/assets/vercel-logo.png",
555
- "emails/assets/vercel-team.png",
556
- "emails/assets/vercel-user.png"
557
- ],
558
- provenance: {
559
- kind: "brand-recreation",
560
- brand: "Vercel",
561
- subject: "team invitation",
562
- reviewedNote: "Reviewed recreation of Vercel's team invitation email, its canonical project assets, and its brand attribution."
563
- },
564
- category: "transactional",
565
- gallerySlug: "vercel-team-invitation",
566
- recordedAt: "2026-09-08T00:00:00.000Z"
567
- },
568
- {
569
- id: "weekly-deals-circular",
570
- entryPath: "emails/weekly-deals-circular.tsx",
571
- files: [
572
- "emails/weekly-deals-circular.css",
573
- "emails/assets/weekly-deals-circular-banner.png",
574
- "emails/assets/weekly-deals-circular-basket.png",
575
- "emails/assets/weekly-deals-circular-board.png",
576
- "emails/assets/weekly-deals-circular-bowls.png",
577
- "emails/assets/weekly-deals-circular-duvet.png",
578
- "emails/assets/weekly-deals-circular-kettle.png",
579
- "emails/assets/weekly-deals-circular-rug.png",
580
- "emails/assets/weekly-deals-circular-wordmark.png"
581
- ],
582
- provenance: { kind: "owned" },
583
- category: "marketing",
584
- gallerySlug: "weekly-deals-circular",
585
- recordedAt: "2026-09-08T00:00:00.000Z"
586
- },
587
- {
588
- id: "welcome",
589
- entryPath: "emails/welcome.tsx",
590
- files: [
591
- "emails/welcome.css",
592
- "emails/assets/welcome-hero.png",
593
- "emails/assets/welcome-wordmark.png"
594
- ],
595
- provenance: { kind: "owned" },
596
- category: "transactional",
597
- gallerySlug: "welcome-email",
598
- recordedAt: "2026-09-08T00:00:00.000Z"
599
- },
600
- {
601
- id: "win-back",
602
- entryPath: "emails/win-back.tsx",
603
- files: [
604
- "emails/win-back.css",
605
- "emails/assets/win-back-update-alerts.png",
606
- "emails/assets/win-back-update-exports.png",
607
- "emails/assets/win-back-update-mobile.png",
608
- "emails/assets/win-back-update-speed.png",
609
- "emails/assets/win-back-update-workspaces.png",
610
- "emails/assets/win-back-wordmark.png"
611
- ],
612
- provenance: { kind: "owned" },
613
- category: "lifecycle",
614
- gallerySlug: "win-back",
615
- recordedAt: "2026-09-08T00:00:00.000Z"
616
- }
617
- ];
618
- const isShowcaseProjectId = (id) => showcaseProjects.some((project) => project.id === id);
619
- const showcaseProject = (id) => showcaseProjects.find((project) => project.id === id);
620
- /** Repository-relative path of a showcase project's TSX entry. */
621
- const showcaseSourcePath = (project) => `${SHOWCASE_ROOT}/${project.entryPath}`;
622
- /** Every file the project bundles, entry first in sorted order — the shape codegen writes. */
623
- const showcaseProjectPaths = (project) => [project.entryPath, ...project.files].sort((left, right) => left.localeCompare(right));
624
- //#endregion
625
- export { SHOWCASE_ROOT, isShowcaseProjectId, showcaseProject, showcaseProjectPaths, showcaseProjects, showcaseSourcePath };
626
-
627
- //# sourceMappingURL=showcase.js.map
@@ -1,38 +0,0 @@
1
- //#region presets/sources.gen.d.ts
2
- /** A declared fixture value: JSON, so a template can take a list of stories as well as a string. */
3
- type PresetEmailFixtureValue = string | number | boolean | null | ReadonlyArray<PresetEmailFixtureValue> | {
4
- readonly [key: string]: PresetEmailFixtureValue;
5
- };
6
- interface PresetEmailFixture {
7
- readonly input: Readonly<Record<string, PresetEmailFixtureValue>>;
8
- readonly subject: string;
9
- readonly preheader: string;
10
- readonly html: string;
11
- readonly text: string;
12
- }
13
- interface PresetProjectFile {
14
- readonly path: string;
15
- readonly content: string;
16
- readonly encoding: "utf8" | "base64";
17
- }
18
- interface PresetProject {
19
- readonly entryPath: string;
20
- readonly files: ReadonlyArray<PresetProjectFile>;
21
- readonly digest: string;
22
- }
23
- /** Complete editable projects, including styles and assets. */
24
- declare const presetProjects: Readonly<Record<string, PresetProject>>;
25
- declare const presetProject: (id: string) => PresetProject | undefined;
26
- declare const presetEmailAssets: Readonly<Record<string, ReadonlyArray<string>>>;
27
- /** Canonical TSX entry source, loaded on demand by authoring surfaces. */
28
- declare const presetModuleSources: Readonly<Record<string, string>>;
29
- declare const presetModuleDigests: Readonly<Record<string, string>>;
30
- declare const presetModuleManifestDigest = "63da21459954795b60bc1332032fa55b9db8ba829dadbad73faecd0db73d864f";
31
- /** SML belongs only to the gated SMS and WhatsApp template compilers. */
32
- declare const structuredPresetSources: Readonly<Record<string, string>>;
33
- /** Gallery snapshots generated by executing each declared fixture with actual input. */
34
- declare const presetEmailFixtures: Readonly<Record<string, Readonly<Record<string, PresetEmailFixture>>>>;
35
- declare const presetModuleSource: (id: string) => string | undefined;
36
- //#endregion
37
- export { PresetEmailFixture, PresetEmailFixtureValue, PresetProject, PresetProjectFile, presetEmailAssets, presetEmailFixtures, presetModuleDigests, presetModuleManifestDigest, presetModuleSource, presetModuleSources, presetProject, presetProjects, structuredPresetSources };
38
- //# sourceMappingURL=sources.d.ts.map
package/dist/presets.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { a as PresetMeta, c as presetCatalog, i as PresetId, n as EmailPresetVariable, o as PresetVariable, r as PresetCategory, s as RECOMMENDED_THEME, t as EmailPresetId } from "./catalog-60eaYC7b.js";
2
- export { EmailPresetId, EmailPresetVariable, PresetCategory, PresetId, PresetMeta, PresetVariable, RECOMMENDED_THEME, presetCatalog };