@samva/markup 0.8.0 → 0.10.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.
- package/AGENTS.md +107 -46
- package/CHANGELOG.md +345 -0
- package/README.md +188 -52
- package/dist/{brand-DcoVkh_S.d.ts → assets-BIsyMQ92.d.ts} +41 -11
- package/dist/{email/brand.js → brand-C0MKTwmX.js} +64 -4
- package/dist/{theme-css.d.ts → brand.d.ts} +12 -3
- package/dist/brand.js +4 -0
- package/dist/channel-specs-C2feJwuP.d.ts +13 -0
- package/dist/compiler.d.ts +88 -115
- package/dist/compiler.js +750 -171
- package/dist/components-BZCqegS8.js +1864 -0
- package/dist/diagnostic-model-DJtqbETd.js +38 -0
- package/dist/{diagnostics-OcQKQYSY.d.ts → diagnostic-model-DxthUZBT.d.ts} +3 -21
- package/dist/{diagnostics-BMYtBCQk.d.ts → diagnostics-B-Gym34R.d.ts} +8 -4
- package/dist/{email/diagnostics.js → diagnostics-CnKFefKz.js} +4 -3
- package/dist/diagnostics.d.ts +410 -2
- package/dist/diagnostics.js +402 -52
- package/dist/edit.d.ts +234 -0
- package/dist/edit.js +947 -0
- package/dist/email/jsx-dev-runtime.d.ts +2 -2
- package/dist/email/jsx-dev-runtime.js +1 -2
- package/dist/email/jsx-runtime.d.ts +1 -1
- package/dist/email/jsx-runtime.js +1 -85
- package/dist/{email/components.d.ts → email.d.ts} +22 -11
- package/dist/email.js +2 -0
- package/dist/fmt.d.ts +32 -0
- package/dist/fmt.js +174 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/{render-vAv_4r9v.js → ir-CLhlklKV.js} +96 -279
- package/dist/jsx-runtime-CBlexoeR.js +98 -0
- package/dist/{elements-BzjjnoCS.d.ts → jsx-runtime-ylIOnaSf.d.ts} +76 -76
- package/dist/profile-pWGtWZXF.js +3803 -0
- package/dist/render-BPonDpCl.d.ts +539 -0
- package/dist/render-BQmfh94k.js +257 -0
- package/dist/render.d.ts +35 -0
- package/dist/render.js +49 -0
- package/dist/sms.d.ts +16 -0
- package/dist/sms.js +12 -0
- package/dist/source-locations-C8wCsiAy.d.ts +23 -0
- package/dist/template-DMPwxMSq.d.ts +65 -0
- package/dist/template-zLUjcwfF.js +42 -0
- package/dist/{theme-css-hFqcPSar.js → theme-css-JtRCm1fb.js} +2 -2
- package/dist/whatsapp.d.ts +57 -0
- package/dist/whatsapp.js +22 -0
- package/generated/contract.json +1788 -0
- package/generated/reference.md +360 -0
- package/package.json +46 -239
- package/samva-brand.d.ts +4 -4
- package/skills/sml/SKILL.md +123 -0
- package/dist/ast-BrDtApwS.d.ts +0 -107
- package/dist/ast.d.ts +0 -2
- package/dist/ast.js +0 -124
- package/dist/candidate.d.ts +0 -29
- package/dist/candidate.js +0 -88
- package/dist/catalog-CKuOooB8.d.ts +0 -354
- package/dist/checks-D73Xizbw.js +0 -59366
- package/dist/checks.d.ts +0 -33
- package/dist/checks.js +0 -2
- package/dist/classes.d.ts +0 -26
- package/dist/classes.js +0 -184
- package/dist/compile-sms.d.ts +0 -28
- package/dist/compile-sms.js +0 -44
- package/dist/compile-whatsapp.d.ts +0 -56
- package/dist/compile-whatsapp.js +0 -186
- package/dist/compile.d.ts +0 -18
- package/dist/compile.js +0 -29
- package/dist/components.d.ts +0 -289
- package/dist/components.js +0 -106
- package/dist/conditionals.d.ts +0 -10
- package/dist/conditionals.js +0 -74
- package/dist/corpus-CPPfgAHN.d.ts +0 -106
- package/dist/css-CS2jLID6.d.ts +0 -109
- package/dist/email/assets.d.ts +0 -40
- package/dist/email/assets.js +0 -63
- package/dist/email/brand-footer.d.ts +0 -34
- package/dist/email/brand-footer.js +0 -62
- package/dist/email/brand.d.ts +0 -2
- package/dist/email/components.js +0 -240
- package/dist/email/diagnostics.d.ts +0 -2
- package/dist/email/elements.d.ts +0 -2
- package/dist/email/elements.js +0 -299
- package/dist/email/html.d.ts +0 -2
- package/dist/email/html.js +0 -278
- package/dist/email/render.d.ts +0 -50
- package/dist/email/render.js +0 -3
- package/dist/email/selection.d.ts +0 -2
- package/dist/email/selection.js +0 -91
- package/dist/email/source-edit.d.ts +0 -67
- package/dist/email/source-edit.js +0 -185
- package/dist/email/stylesheets.d.ts +0 -15
- package/dist/email/stylesheets.js +0 -48
- package/dist/email/text.d.ts +0 -7
- package/dist/email/text.js +0 -100
- package/dist/emit.d.ts +0 -51
- package/dist/emit.js +0 -151
- package/dist/html-Bl9BAdqc.d.ts +0 -42
- package/dist/interpolate.d.ts +0 -24
- package/dist/interpolate.js +0 -43
- package/dist/jsx-dev-runtime.d.ts +0 -11
- package/dist/jsx-dev-runtime.js +0 -15
- package/dist/jsx-runtime-I-1nCtl2.d.ts +0 -57
- package/dist/jsx-runtime.d.ts +0 -2
- package/dist/jsx-runtime.js +0 -121
- package/dist/lexer.d.ts +0 -60
- package/dist/lexer.js +0 -281
- package/dist/model.d.ts +0 -24
- package/dist/model.js +0 -77
- package/dist/ops-BvwqHl7V.js +0 -630
- package/dist/ops.d.ts +0 -114
- package/dist/ops.js +0 -2
- package/dist/parser-t29cHLVL.d.ts +0 -396
- package/dist/parser.d.ts +0 -2
- package/dist/parser.js +0 -859
- package/dist/predicate-BI6uRRM-.js +0 -549
- package/dist/predicate-M-05Nd7R.d.ts +0 -56
- package/dist/predicate.d.ts +0 -2
- package/dist/predicate.js +0 -2
- package/dist/printer.d.ts +0 -6
- package/dist/printer.js +0 -122
- package/dist/registry-Dcp6QEK_.d.ts +0 -73
- package/dist/registry.d.ts +0 -2
- package/dist/registry.js +0 -646
- package/dist/render-template.d.ts +0 -45
- package/dist/render-template.js +0 -76
- package/dist/selection-CCArx9lU.d.ts +0 -91
- package/dist/showcase-egkusQBf.d.ts +0 -415
- package/dist/sms-segments-y4FpPilJ.d.ts +0 -13
- package/dist/sms-segments.d.ts +0 -2
- package/dist/sms-segments.js +0 -46
- package/dist/source-locations-DrCM82Ym.d.ts +0 -67
- package/dist/source-locations.d.ts +0 -2
- package/dist/source-locations.js +0 -102
- package/dist/starters/category-mapping.d.ts +0 -13
- package/dist/starters/category-mapping.js +0 -49
- package/dist/starters/corpus.d.ts +0 -2
- package/dist/starters/corpus.js +0 -194
- package/dist/starters/library.d.ts +0 -18
- package/dist/starters/library.js +0 -692
- package/dist/starters/public-gallery.d.ts +0 -266
- package/dist/starters/public-gallery.js +0 -916
- package/dist/starters/public-handoff.d.ts +0 -164
- package/dist/starters/public-handoff.js +0 -361
- package/dist/starters/public-preview-artifacts.d.ts +0 -43
- package/dist/starters/public-preview-artifacts.js +0 -104
- package/dist/starters/public-preview.d.ts +0 -61
- package/dist/starters/public-preview.js +0 -83
- package/dist/starters/showcase.d.ts +0 -2
- package/dist/starters/showcase.js +0 -335
- package/dist/starters/sources.d.ts +0 -45
- package/dist/starters/sources.js +0 -7762
- package/dist/starters/theme.d.ts +0 -45
- package/dist/starters/theme.js +0 -77
- package/dist/starters.d.ts +0 -2
- package/dist/starters.js +0 -874
- package/dist/tailwind-BYq7Lo6u.js +0 -727
- package/dist/template-DWftqh4x.d.ts +0 -60
- package/dist/template.d.ts +0 -2
- package/dist/template.js +0 -37
- package/dist/theme-css.js +0 -2
- package/dist/tsx-source-instrumentation.d.ts +0 -30
- package/dist/tsx-source-instrumentation.js +0 -115
- package/dist/tsx-tracer.d.ts +0 -112
- package/dist/tsx-tracer.js +0 -985
- package/dist/variables-J_L3qxRa.d.ts +0 -77
- package/dist/variables.d.ts +0 -2
- package/dist/variables.js +0 -141
- package/dist/version-BITr58kk.js +0 -96
- package/generated/sml-agent-contract.json +0 -709
- package/generated/sml-email-agent-contract.json +0 -615
- package/generated/sml-email-language-reference.md +0 -94
- package/generated/sml-language-reference.md +0 -195
package/dist/starters.js
DELETED
|
@@ -1,874 +0,0 @@
|
|
|
1
|
-
//#region starters/catalog.ts
|
|
2
|
-
const starterCatalog = [
|
|
3
|
-
{
|
|
4
|
-
id: "linear-login-code",
|
|
5
|
-
channel: "email",
|
|
6
|
-
category: "transactional",
|
|
7
|
-
name: "Linear login code",
|
|
8
|
-
description: "Recreate Linear's login code email with an editable magic link, code, and bundled logo.",
|
|
9
|
-
variables: [
|
|
10
|
-
"expiryNotice",
|
|
11
|
-
"homeUrl",
|
|
12
|
-
"loginUrl",
|
|
13
|
-
"productName",
|
|
14
|
-
"validationCode"
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
id: "product-newsletter",
|
|
19
|
-
channel: "email",
|
|
20
|
-
category: "digest",
|
|
21
|
-
name: "Product newsletter",
|
|
22
|
-
description: "A monthly product newsletter with a lead story, mapped secondary stories, a changelog and one action.",
|
|
23
|
-
variables: [
|
|
24
|
-
"changelog",
|
|
25
|
-
"issueMonth",
|
|
26
|
-
"issueNumber",
|
|
27
|
-
"issueUrl",
|
|
28
|
-
"leadImage",
|
|
29
|
-
"leadSummary",
|
|
30
|
-
"leadTitle",
|
|
31
|
-
"leadUrl",
|
|
32
|
-
"preferencesUrl",
|
|
33
|
-
"stories",
|
|
34
|
-
"unsubscribeUrl"
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
id: "vercel-invitation",
|
|
39
|
-
channel: "email",
|
|
40
|
-
category: "transactional",
|
|
41
|
-
name: "Vercel team invitation",
|
|
42
|
-
description: "Recreate Vercel's team invitation with editable source and bundled assets.",
|
|
43
|
-
variables: [
|
|
44
|
-
"inviteFromIp",
|
|
45
|
-
"inviteFromLocation",
|
|
46
|
-
"inviteLink",
|
|
47
|
-
"invitedByEmail",
|
|
48
|
-
"invitedByUsername",
|
|
49
|
-
"teamImage",
|
|
50
|
-
"teamName",
|
|
51
|
-
"userImage",
|
|
52
|
-
"username"
|
|
53
|
-
]
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
id: "order-receipt",
|
|
57
|
-
channel: "email",
|
|
58
|
-
category: "transactional",
|
|
59
|
-
name: "Order receipt",
|
|
60
|
-
description: "Itemized order receipt with product thumbnails, totals, payment summary and shipping address.",
|
|
61
|
-
variables: [
|
|
62
|
-
"customerName",
|
|
63
|
-
"discount",
|
|
64
|
-
"items",
|
|
65
|
-
"orderDate",
|
|
66
|
-
"orderNumber",
|
|
67
|
-
"orderUrl",
|
|
68
|
-
"paymentBrand",
|
|
69
|
-
"paymentLast4",
|
|
70
|
-
"shipping",
|
|
71
|
-
"shippingAddress",
|
|
72
|
-
"subtotal",
|
|
73
|
-
"supportEmail",
|
|
74
|
-
"tax",
|
|
75
|
-
"total"
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
id: "welcome",
|
|
80
|
-
channel: "email",
|
|
81
|
-
category: "transactional",
|
|
82
|
-
name: "Welcome",
|
|
83
|
-
description: "First email after signup, with a lead illustration and a numbered list of first steps from the input.",
|
|
84
|
-
variables: [
|
|
85
|
-
"ctaUrl",
|
|
86
|
-
"docsUrl",
|
|
87
|
-
"firstName",
|
|
88
|
-
"planNote",
|
|
89
|
-
"steps",
|
|
90
|
-
"supportEmail",
|
|
91
|
-
"workspace"
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
id: "email-verification",
|
|
96
|
-
channel: "email",
|
|
97
|
-
category: "transactional",
|
|
98
|
-
name: "Email verification",
|
|
99
|
-
description: "Confirm a new email address with a one-click button, a fallback code and the request details behind it.",
|
|
100
|
-
variables: [
|
|
101
|
-
"email",
|
|
102
|
-
"expiryNotice",
|
|
103
|
-
"firstName",
|
|
104
|
-
"previousEmail",
|
|
105
|
-
"requestDetails",
|
|
106
|
-
"supportEmail",
|
|
107
|
-
"verificationCode",
|
|
108
|
-
"verifyUrl",
|
|
109
|
-
"workspace"
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: "otp",
|
|
114
|
-
channel: "email",
|
|
115
|
-
category: "transactional",
|
|
116
|
-
name: "One-time passcode",
|
|
117
|
-
description: "Deliver a short-lived sign-in code as the only thing on the page, with the request details under it.",
|
|
118
|
-
variables: [
|
|
119
|
-
"code",
|
|
120
|
-
"expiryNotice",
|
|
121
|
-
"helpUrl",
|
|
122
|
-
"newDevice",
|
|
123
|
-
"requestDetails",
|
|
124
|
-
"workspace"
|
|
125
|
-
]
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
id: "password-reset",
|
|
129
|
-
channel: "email",
|
|
130
|
-
category: "transactional",
|
|
131
|
-
name: "Password reset",
|
|
132
|
-
description: "Send an expiring reset link with the request details, a paste-able fallback URL and an optional passkey offer.",
|
|
133
|
-
variables: [
|
|
134
|
-
"expiryNotice",
|
|
135
|
-
"firstName",
|
|
136
|
-
"passkeyPrompt",
|
|
137
|
-
"requestDetails",
|
|
138
|
-
"resetUrl",
|
|
139
|
-
"securityUrl",
|
|
140
|
-
"supportEmail",
|
|
141
|
-
"workspace"
|
|
142
|
-
]
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
id: "payment-failed",
|
|
146
|
-
channel: "email",
|
|
147
|
-
category: "transactional",
|
|
148
|
-
name: "Payment failed",
|
|
149
|
-
description: "Declined-charge notice with the amount due, the card on file, the held order and every charge attempt.",
|
|
150
|
-
variables: [
|
|
151
|
-
"amountDue",
|
|
152
|
-
"attempts",
|
|
153
|
-
"automaticRetry",
|
|
154
|
-
"customerName",
|
|
155
|
-
"declineReason",
|
|
156
|
-
"holdUntil",
|
|
157
|
-
"items",
|
|
158
|
-
"orderNumber",
|
|
159
|
-
"paymentBrand",
|
|
160
|
-
"paymentLast4",
|
|
161
|
-
"supportEmail",
|
|
162
|
-
"updatePaymentUrl"
|
|
163
|
-
]
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
id: "shipping-update",
|
|
167
|
-
channel: "email",
|
|
168
|
-
category: "transactional",
|
|
169
|
-
name: "Shipping update",
|
|
170
|
-
description: "Shipment notice with the carrier, tracking, delivery estimate, the packed items and anything still to come.",
|
|
171
|
-
variables: [
|
|
172
|
-
"carrier",
|
|
173
|
-
"customerName",
|
|
174
|
-
"estimatedDelivery",
|
|
175
|
-
"items",
|
|
176
|
-
"orderNumber",
|
|
177
|
-
"pendingItems",
|
|
178
|
-
"shippedDate",
|
|
179
|
-
"shippingAddress",
|
|
180
|
-
"supportEmail",
|
|
181
|
-
"trackingNumber",
|
|
182
|
-
"trackingUrl"
|
|
183
|
-
]
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
id: "notification",
|
|
187
|
-
channel: "email",
|
|
188
|
-
category: "transactional",
|
|
189
|
-
name: "Activity notification",
|
|
190
|
-
description: "Workspace activity notification with the actor, the message quoted in full, recent activity and a deep link back.",
|
|
191
|
-
variables: [
|
|
192
|
-
"actionSummary",
|
|
193
|
-
"actorAvatar",
|
|
194
|
-
"actorName",
|
|
195
|
-
"attachment",
|
|
196
|
-
"itemTitle",
|
|
197
|
-
"itemUrl",
|
|
198
|
-
"message",
|
|
199
|
-
"otherActivity",
|
|
200
|
-
"settingsUrl",
|
|
201
|
-
"timestamp",
|
|
202
|
-
"workspaceName"
|
|
203
|
-
]
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
id: "team-invite",
|
|
207
|
-
channel: "email",
|
|
208
|
-
category: "transactional",
|
|
209
|
-
name: "Team invite",
|
|
210
|
-
description: "Invite someone into a workspace with one accept action, the inviter's note and the people already there.",
|
|
211
|
-
variables: [
|
|
212
|
-
"acceptUrl",
|
|
213
|
-
"expiryNotice",
|
|
214
|
-
"inviteeEmail",
|
|
215
|
-
"inviterAvatarUrl",
|
|
216
|
-
"inviterEmail",
|
|
217
|
-
"inviterName",
|
|
218
|
-
"personalNote",
|
|
219
|
-
"productName",
|
|
220
|
-
"teammates",
|
|
221
|
-
"workspace"
|
|
222
|
-
]
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
id: "data-sharing-review",
|
|
226
|
-
channel: "email",
|
|
227
|
-
category: "transactional",
|
|
228
|
-
name: "Data-sharing review",
|
|
229
|
-
description: "Ask a customer to keep or remove a third-party connection, listing every permission it holds.",
|
|
230
|
-
variables: [
|
|
231
|
-
"connectedServiceIconUrl",
|
|
232
|
-
"connectedServiceName",
|
|
233
|
-
"connectedSince",
|
|
234
|
-
"keepConnectionUrl",
|
|
235
|
-
"lastAccess",
|
|
236
|
-
"recipientEmail",
|
|
237
|
-
"referenceCode",
|
|
238
|
-
"removeConnectionUrl",
|
|
239
|
-
"scopes",
|
|
240
|
-
"securityUrl",
|
|
241
|
-
"settingsUrl",
|
|
242
|
-
"workspace"
|
|
243
|
-
]
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
id: "product-digest",
|
|
247
|
-
channel: "email",
|
|
248
|
-
category: "digest",
|
|
249
|
-
name: "Weekly digest",
|
|
250
|
-
description: "A weekly reader digest: mapped stories with their desk and reading time, a most-read list, and an optional audio edition.",
|
|
251
|
-
variables: [
|
|
252
|
-
"archiveUrl",
|
|
253
|
-
"editionLabel",
|
|
254
|
-
"mostRead",
|
|
255
|
-
"podcast",
|
|
256
|
-
"preferencesUrl",
|
|
257
|
-
"readerName",
|
|
258
|
-
"stories",
|
|
259
|
-
"unsubscribeUrl"
|
|
260
|
-
]
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
id: "editorial-newsletter",
|
|
264
|
-
channel: "email",
|
|
265
|
-
category: "digest",
|
|
266
|
-
name: "Long-form newsletter",
|
|
267
|
-
description: "A long-form editorial issue: a byline, an essay that renders from a list of paragraphs, a pull quote, an optional labelled sponsor and a reading list.",
|
|
268
|
-
variables: [
|
|
269
|
-
"authorAvatar",
|
|
270
|
-
"authorName",
|
|
271
|
-
"authorRole",
|
|
272
|
-
"heroImage",
|
|
273
|
-
"issueLabel",
|
|
274
|
-
"paragraphs",
|
|
275
|
-
"preferencesUrl",
|
|
276
|
-
"pullQuote",
|
|
277
|
-
"readingList",
|
|
278
|
-
"sponsor",
|
|
279
|
-
"standfirst",
|
|
280
|
-
"storyUrl",
|
|
281
|
-
"subscribeUrl",
|
|
282
|
-
"title",
|
|
283
|
-
"unsubscribeUrl"
|
|
284
|
-
]
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
id: "events-roundup",
|
|
288
|
-
channel: "email",
|
|
289
|
-
category: "digest",
|
|
290
|
-
name: "Events roundup",
|
|
291
|
-
description: "A dated events digest: an optional spotlight billing and a grid of upcoming shows with images, dates, rooms, prices and per-event tickets.",
|
|
292
|
-
variables: [
|
|
293
|
-
"calendarUrl",
|
|
294
|
-
"cityName",
|
|
295
|
-
"events",
|
|
296
|
-
"helpUrl",
|
|
297
|
-
"seasonLabel",
|
|
298
|
-
"spotlight",
|
|
299
|
-
"unsubscribeUrl"
|
|
300
|
-
]
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
id: "industry-news-digest",
|
|
304
|
-
channel: "email",
|
|
305
|
-
category: "digest",
|
|
306
|
-
name: "Industry news digest",
|
|
307
|
-
description: "A dense industry brief: an agenda, a lead story with details and analysis, mapped desk stories, an optional labelled sponsor, and tool and job lists.",
|
|
308
|
-
variables: [
|
|
309
|
-
"agenda",
|
|
310
|
-
"audienceSize",
|
|
311
|
-
"editionDate",
|
|
312
|
-
"editionUrl",
|
|
313
|
-
"intro",
|
|
314
|
-
"jobs",
|
|
315
|
-
"lead",
|
|
316
|
-
"sponsor",
|
|
317
|
-
"sponsorContactUrl",
|
|
318
|
-
"stories",
|
|
319
|
-
"tools",
|
|
320
|
-
"unsubscribeUrl"
|
|
321
|
-
]
|
|
322
|
-
},
|
|
323
|
-
{
|
|
324
|
-
id: "announcement",
|
|
325
|
-
channel: "email",
|
|
326
|
-
category: "marketing",
|
|
327
|
-
name: "Feature announcement",
|
|
328
|
-
description: "Announce one change with a hero image, highlights from a list, an availability date and a single action.",
|
|
329
|
-
variables: [
|
|
330
|
-
"availableFrom",
|
|
331
|
-
"ctaUrl",
|
|
332
|
-
"featureDescription",
|
|
333
|
-
"featureName",
|
|
334
|
-
"featureTagline",
|
|
335
|
-
"firstName",
|
|
336
|
-
"highlights",
|
|
337
|
-
"preferencesUrl",
|
|
338
|
-
"releaseNoteUrl",
|
|
339
|
-
"unsubscribeUrl"
|
|
340
|
-
]
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
id: "event-invite",
|
|
344
|
-
channel: "email",
|
|
345
|
-
category: "marketing",
|
|
346
|
-
name: "Event invite",
|
|
347
|
-
description: "Invite members to an event with the date, the place, an agenda from a list, and one RSVP action.",
|
|
348
|
-
variables: [
|
|
349
|
-
"agenda",
|
|
350
|
-
"capacityNote",
|
|
351
|
-
"declineUrl",
|
|
352
|
-
"eventAddress",
|
|
353
|
-
"eventDate",
|
|
354
|
-
"eventDescription",
|
|
355
|
-
"eventLocation",
|
|
356
|
-
"eventName",
|
|
357
|
-
"eventTagline",
|
|
358
|
-
"eventTime",
|
|
359
|
-
"firstName",
|
|
360
|
-
"preferencesUrl",
|
|
361
|
-
"rsvpUrl",
|
|
362
|
-
"travelNote",
|
|
363
|
-
"unsubscribeUrl"
|
|
364
|
-
]
|
|
365
|
-
},
|
|
366
|
-
{
|
|
367
|
-
id: "membership-promo",
|
|
368
|
-
channel: "email",
|
|
369
|
-
category: "marketing",
|
|
370
|
-
name: "Membership promotion",
|
|
371
|
-
description: "Promote a paid membership with tier cards from a list, a discount code, a deadline, and one join action.",
|
|
372
|
-
variables: [
|
|
373
|
-
"compareUrl",
|
|
374
|
-
"discountPercent",
|
|
375
|
-
"firstName",
|
|
376
|
-
"headline",
|
|
377
|
-
"joinUrl",
|
|
378
|
-
"offerEnds",
|
|
379
|
-
"preferencesUrl",
|
|
380
|
-
"promoCode",
|
|
381
|
-
"savingsNote",
|
|
382
|
-
"subhead",
|
|
383
|
-
"tiers",
|
|
384
|
-
"unsubscribeUrl"
|
|
385
|
-
]
|
|
386
|
-
},
|
|
387
|
-
{
|
|
388
|
-
id: "member-referral-offer",
|
|
389
|
-
channel: "email",
|
|
390
|
-
category: "marketing",
|
|
391
|
-
name: "Member referral offer",
|
|
392
|
-
description: "Ask a member to bring people onto their account for a limited-time reward, with the steps and the terms as lists.",
|
|
393
|
-
variables: [
|
|
394
|
-
"firstName",
|
|
395
|
-
"headline",
|
|
396
|
-
"maxMembers",
|
|
397
|
-
"maxReward",
|
|
398
|
-
"offerEnds",
|
|
399
|
-
"offerStarts",
|
|
400
|
-
"preferencesUrl",
|
|
401
|
-
"referralCode",
|
|
402
|
-
"referralUrl",
|
|
403
|
-
"reminderNote",
|
|
404
|
-
"rewardPerMember",
|
|
405
|
-
"spendMinimum",
|
|
406
|
-
"steps",
|
|
407
|
-
"subhead",
|
|
408
|
-
"terms",
|
|
409
|
-
"termsUrl",
|
|
410
|
-
"unsubscribeUrl"
|
|
411
|
-
]
|
|
412
|
-
},
|
|
413
|
-
{
|
|
414
|
-
id: "catalog-sale-newsletter",
|
|
415
|
-
channel: "email",
|
|
416
|
-
category: "marketing",
|
|
417
|
-
name: "Catalog sale newsletter",
|
|
418
|
-
description: "Open a catalogue-wide sale with a bundle offer, a product grid from a list, a discount code, and the shop dates.",
|
|
419
|
-
variables: [
|
|
420
|
-
"bundleListPrice",
|
|
421
|
-
"bundleName",
|
|
422
|
-
"bundleSalePrice",
|
|
423
|
-
"bundleUrl",
|
|
424
|
-
"dates",
|
|
425
|
-
"discountCode",
|
|
426
|
-
"editionLabel",
|
|
427
|
-
"editionYear",
|
|
428
|
-
"firstName",
|
|
429
|
-
"headline",
|
|
430
|
-
"intro",
|
|
431
|
-
"items",
|
|
432
|
-
"offerEnds",
|
|
433
|
-
"preferencesUrl",
|
|
434
|
-
"shopUrl",
|
|
435
|
-
"stockNote",
|
|
436
|
-
"unsubscribeUrl"
|
|
437
|
-
]
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
id: "limited-time-savings",
|
|
441
|
-
channel: "email",
|
|
442
|
-
category: "marketing",
|
|
443
|
-
name: "Limited-time savings",
|
|
444
|
-
description: "A time-boxed savings offer with the hours remaining, reasons from a list, member quotes, and one claim action.",
|
|
445
|
-
variables: [
|
|
446
|
-
"claimUrl",
|
|
447
|
-
"firstName",
|
|
448
|
-
"headline",
|
|
449
|
-
"hoursRemaining",
|
|
450
|
-
"listPrice",
|
|
451
|
-
"offerEnds",
|
|
452
|
-
"postscript",
|
|
453
|
-
"preferencesUrl",
|
|
454
|
-
"promoCode",
|
|
455
|
-
"reasons",
|
|
456
|
-
"salePrice",
|
|
457
|
-
"savingsAmount",
|
|
458
|
-
"subhead",
|
|
459
|
-
"testimonials",
|
|
460
|
-
"timezoneUrl",
|
|
461
|
-
"unsubscribeUrl"
|
|
462
|
-
]
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
id: "rewards-milestone",
|
|
466
|
-
channel: "email",
|
|
467
|
-
category: "marketing",
|
|
468
|
-
name: "Rewards milestone",
|
|
469
|
-
description: "Show a member how far through a rewards ladder they are, what the next step unlocks, and what each tier is worth.",
|
|
470
|
-
variables: [
|
|
471
|
-
"bonusNote",
|
|
472
|
-
"expiresOn",
|
|
473
|
-
"firstName",
|
|
474
|
-
"headline",
|
|
475
|
-
"milestoneLabel",
|
|
476
|
-
"nextReward",
|
|
477
|
-
"pointsBalance",
|
|
478
|
-
"preferencesUrl",
|
|
479
|
-
"rewardsUrl",
|
|
480
|
-
"steps",
|
|
481
|
-
"stepsCompleted",
|
|
482
|
-
"stepsTotal",
|
|
483
|
-
"subhead",
|
|
484
|
-
"termsUrl",
|
|
485
|
-
"tiers",
|
|
486
|
-
"unsubscribeUrl"
|
|
487
|
-
]
|
|
488
|
-
},
|
|
489
|
-
{
|
|
490
|
-
id: "travel-rewards-promo",
|
|
491
|
-
channel: "email",
|
|
492
|
-
category: "marketing",
|
|
493
|
-
name: "Travel rewards promotion",
|
|
494
|
-
description: "A travel rewards promotion with a member balance, earning tiers from a list, and partner offers.",
|
|
495
|
-
variables: [
|
|
496
|
-
"accountUrl",
|
|
497
|
-
"bookUrl",
|
|
498
|
-
"firstName",
|
|
499
|
-
"headline",
|
|
500
|
-
"memberNumber",
|
|
501
|
-
"milesBalance",
|
|
502
|
-
"offerEnds",
|
|
503
|
-
"partners",
|
|
504
|
-
"preferencesUrl",
|
|
505
|
-
"subhead",
|
|
506
|
-
"termsUrl",
|
|
507
|
-
"tierName",
|
|
508
|
-
"tiers",
|
|
509
|
-
"unsubscribeUrl"
|
|
510
|
-
]
|
|
511
|
-
},
|
|
512
|
-
{
|
|
513
|
-
id: "product-updates-roundup",
|
|
514
|
-
channel: "email",
|
|
515
|
-
category: "marketing",
|
|
516
|
-
name: "Product updates roundup",
|
|
517
|
-
description: "A monthly product roundup with a metrics strip, shipped updates from a list, and an optional event.",
|
|
518
|
-
variables: [
|
|
519
|
-
"changelogUrl",
|
|
520
|
-
"event",
|
|
521
|
-
"firstName",
|
|
522
|
-
"headline",
|
|
523
|
-
"intro",
|
|
524
|
-
"issueMonth",
|
|
525
|
-
"issueNumber",
|
|
526
|
-
"metrics",
|
|
527
|
-
"preferencesUrl",
|
|
528
|
-
"unsubscribeUrl",
|
|
529
|
-
"updates"
|
|
530
|
-
]
|
|
531
|
-
},
|
|
532
|
-
{
|
|
533
|
-
id: "flash-getaway-offer",
|
|
534
|
-
channel: "email",
|
|
535
|
-
category: "marketing",
|
|
536
|
-
name: "Flash getaway offer",
|
|
537
|
-
description: "A flash getaway offer with an input countdown, destinations from a list, and one booking action.",
|
|
538
|
-
variables: [
|
|
539
|
-
"countdown",
|
|
540
|
-
"destinations",
|
|
541
|
-
"exploreUrl",
|
|
542
|
-
"firstName",
|
|
543
|
-
"headline",
|
|
544
|
-
"offerEnds",
|
|
545
|
-
"offerWindow",
|
|
546
|
-
"preferencesUrl",
|
|
547
|
-
"subhead",
|
|
548
|
-
"termsUrl",
|
|
549
|
-
"unsubscribeUrl"
|
|
550
|
-
]
|
|
551
|
-
},
|
|
552
|
-
{
|
|
553
|
-
id: "membership-benefits-promo",
|
|
554
|
-
channel: "email",
|
|
555
|
-
category: "marketing",
|
|
556
|
-
name: "Membership benefits promotion",
|
|
557
|
-
description: "A paid-membership promotion with a price panel, benefits from a list, and one join action.",
|
|
558
|
-
variables: [
|
|
559
|
-
"benefits",
|
|
560
|
-
"billingNote",
|
|
561
|
-
"comparePlansUrl",
|
|
562
|
-
"firstName",
|
|
563
|
-
"headline",
|
|
564
|
-
"joinUrl",
|
|
565
|
-
"preferencesUrl",
|
|
566
|
-
"priceLabel",
|
|
567
|
-
"renewsOn",
|
|
568
|
-
"subhead",
|
|
569
|
-
"supportEmail",
|
|
570
|
-
"trialLabel",
|
|
571
|
-
"unsubscribeUrl"
|
|
572
|
-
]
|
|
573
|
-
},
|
|
574
|
-
{
|
|
575
|
-
id: "weekly-deals-circular",
|
|
576
|
-
channel: "email",
|
|
577
|
-
category: "marketing",
|
|
578
|
-
name: "Weekly deals circular",
|
|
579
|
-
description: "A weekly retail circular with deals from a list, clippable coupons, and one shop action.",
|
|
580
|
-
variables: [
|
|
581
|
-
"coupons",
|
|
582
|
-
"deals",
|
|
583
|
-
"headline",
|
|
584
|
-
"intro",
|
|
585
|
-
"memberPerk",
|
|
586
|
-
"membershipUrl",
|
|
587
|
-
"preferencesUrl",
|
|
588
|
-
"shopUrl",
|
|
589
|
-
"unsubscribeUrl",
|
|
590
|
-
"validThrough",
|
|
591
|
-
"weekLabel"
|
|
592
|
-
]
|
|
593
|
-
},
|
|
594
|
-
{
|
|
595
|
-
id: "seasonal-sale-flyer",
|
|
596
|
-
channel: "email",
|
|
597
|
-
category: "marketing",
|
|
598
|
-
name: "Seasonal sale flyer",
|
|
599
|
-
description: "A seasonal sale flyer with tiered promo codes, a category grid, and an optional gift-card offer.",
|
|
600
|
-
variables: [
|
|
601
|
-
"categories",
|
|
602
|
-
"giftCard",
|
|
603
|
-
"headline",
|
|
604
|
-
"intro",
|
|
605
|
-
"offerWindow",
|
|
606
|
-
"preferencesUrl",
|
|
607
|
-
"promoTiers",
|
|
608
|
-
"seasonLabel",
|
|
609
|
-
"shopUrl",
|
|
610
|
-
"subhead",
|
|
611
|
-
"termsUrl",
|
|
612
|
-
"unsubscribeUrl"
|
|
613
|
-
]
|
|
614
|
-
},
|
|
615
|
-
{
|
|
616
|
-
id: "feature-release-roundup",
|
|
617
|
-
channel: "email",
|
|
618
|
-
category: "marketing",
|
|
619
|
-
name: "Feature release roundup",
|
|
620
|
-
description: "A feature release roundup with image-left rows from a list, release badges, and docs links.",
|
|
621
|
-
variables: [
|
|
622
|
-
"changelogUrl",
|
|
623
|
-
"firstName",
|
|
624
|
-
"headline",
|
|
625
|
-
"intro",
|
|
626
|
-
"migrationUrl",
|
|
627
|
-
"preferencesUrl",
|
|
628
|
-
"releases",
|
|
629
|
-
"sunsetOn",
|
|
630
|
-
"unsubscribeUrl"
|
|
631
|
-
]
|
|
632
|
-
},
|
|
633
|
-
{
|
|
634
|
-
id: "season-clearance-promo",
|
|
635
|
-
channel: "email",
|
|
636
|
-
category: "marketing",
|
|
637
|
-
name: "Season clearance promotion",
|
|
638
|
-
description: "A last-chance clearance promotion with marked-down highlights three a row and one shop action.",
|
|
639
|
-
variables: [
|
|
640
|
-
"deadlinePhrase",
|
|
641
|
-
"firstName",
|
|
642
|
-
"headline",
|
|
643
|
-
"highlights",
|
|
644
|
-
"intro",
|
|
645
|
-
"newArrivalsUrl",
|
|
646
|
-
"preferencesUrl",
|
|
647
|
-
"remainingNote",
|
|
648
|
-
"shopUrl",
|
|
649
|
-
"unsubscribeUrl"
|
|
650
|
-
]
|
|
651
|
-
},
|
|
652
|
-
{
|
|
653
|
-
id: "product-launch-promo",
|
|
654
|
-
channel: "email",
|
|
655
|
-
category: "marketing",
|
|
656
|
-
name: "Product launch promotion",
|
|
657
|
-
description: "Launch a collection with a hero, a four-product grid, a discount code, and one shop action.",
|
|
658
|
-
variables: [
|
|
659
|
-
"bestSellersUrl",
|
|
660
|
-
"discountCode",
|
|
661
|
-
"firstName",
|
|
662
|
-
"headline",
|
|
663
|
-
"newArrivalsUrl",
|
|
664
|
-
"offerEnds",
|
|
665
|
-
"preferencesUrl",
|
|
666
|
-
"products",
|
|
667
|
-
"saleUrl",
|
|
668
|
-
"shopUrl",
|
|
669
|
-
"subhead",
|
|
670
|
-
"unsubscribeUrl"
|
|
671
|
-
]
|
|
672
|
-
},
|
|
673
|
-
{
|
|
674
|
-
id: "onboarding-step",
|
|
675
|
-
channel: "email",
|
|
676
|
-
category: "lifecycle",
|
|
677
|
-
name: "Onboarding step",
|
|
678
|
-
description: "One step of an onboarding sequence, with the whole setup list, its progress, and a single next action.",
|
|
679
|
-
variables: [
|
|
680
|
-
"actionUrl",
|
|
681
|
-
"docsUrl",
|
|
682
|
-
"firstName",
|
|
683
|
-
"stepBody",
|
|
684
|
-
"stepNumber",
|
|
685
|
-
"stepTitle",
|
|
686
|
-
"steps",
|
|
687
|
-
"supportEmail",
|
|
688
|
-
"tip",
|
|
689
|
-
"workspace"
|
|
690
|
-
]
|
|
691
|
-
},
|
|
692
|
-
{
|
|
693
|
-
id: "trial-ending",
|
|
694
|
-
channel: "email",
|
|
695
|
-
category: "lifecycle",
|
|
696
|
-
name: "Trial ending",
|
|
697
|
-
description: "Warn a trial user their access is ending, with what the trial produced, the plan that keeps it, and an optional offer.",
|
|
698
|
-
variables: [
|
|
699
|
-
"contactUrl",
|
|
700
|
-
"daysLeft",
|
|
701
|
-
"firstName",
|
|
702
|
-
"highlights",
|
|
703
|
-
"keeps",
|
|
704
|
-
"offer",
|
|
705
|
-
"plan",
|
|
706
|
-
"trialEndDate",
|
|
707
|
-
"upgradeUrl",
|
|
708
|
-
"workspace"
|
|
709
|
-
]
|
|
710
|
-
},
|
|
711
|
-
{
|
|
712
|
-
id: "win-back",
|
|
713
|
-
channel: "email",
|
|
714
|
-
category: "lifecycle",
|
|
715
|
-
name: "Win-back",
|
|
716
|
-
description: "Re-engage a lapsed user with an illustrated list of what shipped while they were away, and an optional return offer.",
|
|
717
|
-
variables: [
|
|
718
|
-
"firstName",
|
|
719
|
-
"lastActive",
|
|
720
|
-
"offer",
|
|
721
|
-
"preferencesUrl",
|
|
722
|
-
"returnUrl",
|
|
723
|
-
"unsubscribeUrl",
|
|
724
|
-
"updates",
|
|
725
|
-
"workspace"
|
|
726
|
-
]
|
|
727
|
-
},
|
|
728
|
-
{
|
|
729
|
-
id: "feedback-request",
|
|
730
|
-
channel: "email",
|
|
731
|
-
category: "lifecycle",
|
|
732
|
-
name: "Feedback request",
|
|
733
|
-
description: "Ask an active user one question with clickable answers, a short survey, and a named sender who reads the replies.",
|
|
734
|
-
variables: [
|
|
735
|
-
"firstName",
|
|
736
|
-
"incentive",
|
|
737
|
-
"options",
|
|
738
|
-
"question",
|
|
739
|
-
"sender",
|
|
740
|
-
"surveyUrl",
|
|
741
|
-
"tenure",
|
|
742
|
-
"workspace"
|
|
743
|
-
]
|
|
744
|
-
},
|
|
745
|
-
{
|
|
746
|
-
id: "product-onboarding-tour",
|
|
747
|
-
channel: "email",
|
|
748
|
-
category: "lifecycle",
|
|
749
|
-
name: "Product onboarding tour",
|
|
750
|
-
description: "Walk a new user through the features worth turning on first, each with a still, its own points and a link, followed by a reading list.",
|
|
751
|
-
variables: [
|
|
752
|
-
"features",
|
|
753
|
-
"firstName",
|
|
754
|
-
"helpCenterUrl",
|
|
755
|
-
"intro",
|
|
756
|
-
"mobile",
|
|
757
|
-
"preferencesUrl",
|
|
758
|
-
"reads",
|
|
759
|
-
"unsubscribeUrl"
|
|
760
|
-
]
|
|
761
|
-
},
|
|
762
|
-
{
|
|
763
|
-
id: "setup-checklist",
|
|
764
|
-
channel: "email",
|
|
765
|
-
category: "lifecycle",
|
|
766
|
-
name: "Setup checklist",
|
|
767
|
-
description: "Welcome a new customer with the setup steps that remain, each marked done or outstanding, and one link back into the flow.",
|
|
768
|
-
variables: [
|
|
769
|
-
"continueUrl",
|
|
770
|
-
"firstName",
|
|
771
|
-
"helpUrl",
|
|
772
|
-
"note",
|
|
773
|
-
"steps",
|
|
774
|
-
"unsubscribeUrl",
|
|
775
|
-
"welcome",
|
|
776
|
-
"workspace"
|
|
777
|
-
]
|
|
778
|
-
},
|
|
779
|
-
{
|
|
780
|
-
id: "sms-otp",
|
|
781
|
-
channel: "sms",
|
|
782
|
-
category: "transactional",
|
|
783
|
-
name: "One-time passcode (SMS)",
|
|
784
|
-
description: "Deliver a short-lived sign-in or 2FA code in a single GSM-7 segment.",
|
|
785
|
-
variables: [
|
|
786
|
-
"code",
|
|
787
|
-
"expiryMinutes",
|
|
788
|
-
"workspace"
|
|
789
|
-
]
|
|
790
|
-
},
|
|
791
|
-
{
|
|
792
|
-
id: "sms-shipping-update",
|
|
793
|
-
channel: "sms",
|
|
794
|
-
category: "transactional",
|
|
795
|
-
name: "Shipping update (SMS)",
|
|
796
|
-
description: "Tell a customer their order shipped, with a tracking link.",
|
|
797
|
-
variables: [
|
|
798
|
-
"orderNumber",
|
|
799
|
-
"trackingUrl",
|
|
800
|
-
"workspace"
|
|
801
|
-
]
|
|
802
|
-
},
|
|
803
|
-
{
|
|
804
|
-
id: "sms-appointment-reminder",
|
|
805
|
-
channel: "sms",
|
|
806
|
-
category: "lifecycle",
|
|
807
|
-
name: "Appointment reminder (SMS)",
|
|
808
|
-
description: "Remind a customer of an upcoming appointment with a reschedule path.",
|
|
809
|
-
variables: [
|
|
810
|
-
"appointmentDate",
|
|
811
|
-
"appointmentTime",
|
|
812
|
-
"workspace"
|
|
813
|
-
]
|
|
814
|
-
},
|
|
815
|
-
{
|
|
816
|
-
id: "sms-flash-sale",
|
|
817
|
-
channel: "sms",
|
|
818
|
-
category: "marketing",
|
|
819
|
-
name: "Flash sale (SMS)",
|
|
820
|
-
description: "Drive a limited-time offer with a promo code and a conditional urgency line.",
|
|
821
|
-
variables: [
|
|
822
|
-
"endsToday",
|
|
823
|
-
"offerHeadline",
|
|
824
|
-
"promoCode",
|
|
825
|
-
"shopUrl",
|
|
826
|
-
"workspace"
|
|
827
|
-
]
|
|
828
|
-
},
|
|
829
|
-
{
|
|
830
|
-
id: "whatsapp-order-update",
|
|
831
|
-
channel: "whatsapp",
|
|
832
|
-
category: "transactional",
|
|
833
|
-
name: "Order update (WhatsApp)",
|
|
834
|
-
description: "Utility template: shipping confirmation with a tracking URL button.",
|
|
835
|
-
variables: [
|
|
836
|
-
"estimatedDelivery",
|
|
837
|
-
"firstName",
|
|
838
|
-
"orderNumber",
|
|
839
|
-
"trackingUrl"
|
|
840
|
-
]
|
|
841
|
-
},
|
|
842
|
-
{
|
|
843
|
-
id: "whatsapp-appointment-reminder",
|
|
844
|
-
channel: "whatsapp",
|
|
845
|
-
category: "lifecycle",
|
|
846
|
-
name: "Appointment reminder (WhatsApp)",
|
|
847
|
-
description: "Utility template: appointment reminder with confirm/reschedule quick replies.",
|
|
848
|
-
variables: [
|
|
849
|
-
"appointmentDate",
|
|
850
|
-
"appointmentTime",
|
|
851
|
-
"firstName",
|
|
852
|
-
"workspace"
|
|
853
|
-
]
|
|
854
|
-
},
|
|
855
|
-
{
|
|
856
|
-
id: "whatsapp-flash-sale",
|
|
857
|
-
channel: "whatsapp",
|
|
858
|
-
category: "marketing",
|
|
859
|
-
name: "Flash sale (WhatsApp)",
|
|
860
|
-
description: "Marketing template: limited-time offer with a copyable promo code and a shop button.",
|
|
861
|
-
variables: [
|
|
862
|
-
"endsToday",
|
|
863
|
-
"firstName",
|
|
864
|
-
"offerDetails",
|
|
865
|
-
"offerHeadline",
|
|
866
|
-
"promoCode",
|
|
867
|
-
"shopUrl"
|
|
868
|
-
]
|
|
869
|
-
}
|
|
870
|
-
];
|
|
871
|
-
//#endregion
|
|
872
|
-
export { starterCatalog };
|
|
873
|
-
|
|
874
|
-
//# sourceMappingURL=starters.js.map
|