@prenta/core 8.14.0 → 8.16.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/CHANGELOG.md +77 -0
- package/dist/ai/batch-list.d.ts +37 -6
- package/dist/ai/batch-list.d.ts.map +1 -1
- package/dist/ai/batch-list.js +217 -7
- package/dist/ai/batch-list.js.map +1 -1
- package/dist/ai/feature-defaults.d.ts.map +1 -1
- package/dist/ai/feature-defaults.js +1 -1
- package/dist/ai/feature-defaults.js.map +1 -1
- package/dist/ai/tasks/media-detail-limits.d.ts +5 -0
- package/dist/ai/tasks/media-detail-limits.d.ts.map +1 -0
- package/dist/ai/tasks/media-detail-limits.js +5 -0
- package/dist/ai/tasks/media-detail-limits.js.map +1 -0
- package/dist/ai/tasks/media-details.d.ts +51 -0
- package/dist/ai/tasks/media-details.d.ts.map +1 -0
- package/dist/ai/tasks/media-details.js +117 -0
- package/dist/ai/tasks/media-details.js.map +1 -0
- package/dist/api/route-helpers/auth.d.ts +7 -0
- package/dist/api/route-helpers/auth.d.ts.map +1 -1
- package/dist/api/route-helpers/auth.js +13 -0
- package/dist/api/route-helpers/auth.js.map +1 -1
- package/dist/api/route-helpers/forms.d.ts.map +1 -1
- package/dist/api/route-helpers/forms.js +6 -4
- package/dist/api/route-helpers/forms.js.map +1 -1
- package/dist/api/routes/auth.d.ts.map +1 -1
- package/dist/api/routes/auth.js +20 -4
- package/dist/api/routes/auth.js.map +1 -1
- package/dist/api/routes/dashboard.d.ts.map +1 -1
- package/dist/api/routes/dashboard.js +218 -0
- package/dist/api/routes/dashboard.js.map +1 -1
- package/dist/api/routes/forms.d.ts.map +1 -1
- package/dist/api/routes/forms.js +282 -12
- package/dist/api/routes/forms.js.map +1 -1
- package/dist/api/routes/scheduling.d.ts.map +1 -1
- package/dist/api/routes/scheduling.js +4 -1
- package/dist/api/routes/scheduling.js.map +1 -1
- package/dist/api/routes/system.d.ts.map +1 -1
- package/dist/api/routes/system.js +9 -2
- package/dist/api/routes/system.js.map +1 -1
- package/dist/forms/attribution-settings.d.ts +2 -0
- package/dist/forms/attribution-settings.d.ts.map +1 -1
- package/dist/forms/attribution-settings.js +28 -22
- package/dist/forms/attribution-settings.js.map +1 -1
- package/dist/forms/attribution.d.ts +10 -1
- package/dist/forms/attribution.d.ts.map +1 -1
- package/dist/forms/attribution.js +26 -2
- package/dist/forms/attribution.js.map +1 -1
- package/dist/forms/captcha-settings.d.ts +108 -0
- package/dist/forms/captcha-settings.d.ts.map +1 -0
- package/dist/forms/captcha-settings.js +257 -0
- package/dist/forms/captcha-settings.js.map +1 -0
- package/dist/forms/client-validation.d.ts +16 -2
- package/dist/forms/client-validation.d.ts.map +1 -1
- package/dist/forms/client-validation.js +32 -10
- package/dist/forms/client-validation.js.map +1 -1
- package/dist/forms/form-model.d.ts +19 -0
- package/dist/forms/form-model.d.ts.map +1 -1
- package/dist/forms/form-model.js.map +1 -1
- package/dist/forms/index.d.ts +1 -1
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +1 -1
- package/dist/forms/index.js.map +1 -1
- package/dist/forms/public-html.d.ts +12 -1
- package/dist/forms/public-html.d.ts.map +1 -1
- package/dist/forms/public-html.js +94 -14
- package/dist/forms/public-html.js.map +1 -1
- package/dist/forms/service.d.ts +6 -1
- package/dist/forms/service.d.ts.map +1 -1
- package/dist/forms/service.js +137 -12
- package/dist/forms/service.js.map +1 -1
- package/dist/forms/site-settings.d.ts +77 -0
- package/dist/forms/site-settings.d.ts.map +1 -0
- package/dist/forms/site-settings.js +276 -0
- package/dist/forms/site-settings.js.map +1 -0
- package/dist/forms/submission.d.ts +15 -0
- package/dist/forms/submission.d.ts.map +1 -1
- package/dist/forms/submission.js +27 -3
- package/dist/forms/submission.js.map +1 -1
- package/dist/forms/types.d.ts +30 -0
- package/dist/forms/types.d.ts.map +1 -1
- package/dist/forms/types.js +1 -0
- package/dist/forms/types.js.map +1 -1
- package/dist/forms/validation.d.ts.map +1 -1
- package/dist/forms/validation.js +2 -2
- package/dist/forms/validation.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jobs/batch-ai.d.ts.map +1 -1
- package/dist/jobs/batch-ai.js +67 -19
- package/dist/jobs/batch-ai.js.map +1 -1
- package/dist/jobs/contract.d.ts +3 -1
- package/dist/jobs/contract.d.ts.map +1 -1
- package/dist/jobs/review.d.ts.map +1 -1
- package/dist/jobs/review.js +49 -5
- package/dist/jobs/review.js.map +1 -1
- package/dist/jobs/serialize.d.ts.map +1 -1
- package/dist/jobs/serialize.js +2 -0
- package/dist/jobs/serialize.js.map +1 -1
- package/dist/media/seo.d.ts +18 -0
- package/dist/media/seo.d.ts.map +1 -1
- package/dist/media/seo.js +24 -0
- package/dist/media/seo.js.map +1 -1
- package/dist/media/used-on-titles.d.ts +8 -0
- package/dist/media/used-on-titles.d.ts.map +1 -0
- package/dist/media/used-on-titles.js +33 -0
- package/dist/media/used-on-titles.js.map +1 -0
- package/dist/next.d.ts.map +1 -1
- package/dist/next.js +3 -1
- package/dist/next.js.map +1 -1
- package/dist/security/captcha.d.ts +22 -2
- package/dist/security/captcha.d.ts.map +1 -1
- package/dist/security/captcha.js +42 -11
- package/dist/security/captcha.js.map +1 -1
- package/dist/server-site.d.ts.map +1 -1
- package/dist/server-site.js +6 -5
- package/dist/server-site.js.map +1 -1
- package/dist/stats/dashboard.d.ts +66 -0
- package/dist/stats/dashboard.d.ts.map +1 -0
- package/dist/stats/dashboard.js +111 -0
- package/dist/stats/dashboard.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* reCAPTCHA v3 keys for public forms, entered in Form Settings → Spam
|
|
3
|
+
* protection.
|
|
4
|
+
*
|
|
5
|
+
* Storage: one Document row, `collection = '__form_captcha__'`, like the email
|
|
6
|
+
* settings store. The secret key is encrypted with `encryptSecret` and never
|
|
7
|
+
* leaves the server; clients see `hasSecret` and the last four characters.
|
|
8
|
+
*
|
|
9
|
+
* Precedence: `RECAPTCHA_*` / `TURNSTILE_*` env vars win when set, so a
|
|
10
|
+
* deployment can pin keys.
|
|
11
|
+
*
|
|
12
|
+
* Admin login uses these keys only after `protectLogin` is switched on, which
|
|
13
|
+
* requires a real token from the admin's own domain to verify first (a key
|
|
14
|
+
* not registered for that domain would otherwise lock everyone out). Changing
|
|
15
|
+
* the keys switches it off again. Google outages let logins through, and
|
|
16
|
+
* `CAPTCHA_LOGIN=off` turns it off from the deployment as a last resort.
|
|
17
|
+
*/
|
|
18
|
+
import { getCaptchaConfig, getCaptchaPolicy, isCaptchaProviderError, normalizeScoreThreshold, verifyCaptcha, } from '../security/captcha.js';
|
|
19
|
+
import { decryptSecret, encryptSecret } from '../security/secret-storage.js';
|
|
20
|
+
import { LOGIN_CAPTCHA_ACTION } from './client-validation.js';
|
|
21
|
+
import { readStoredFormsSettings } from './site-settings.js';
|
|
22
|
+
export const FORM_CAPTCHA_COLLECTION = '__form_captcha__';
|
|
23
|
+
export { FORM_CAPTCHA_ACTION, LOGIN_CAPTCHA_ACTION } from './client-validation.js';
|
|
24
|
+
function loginCaptchaDisabledByEnv() {
|
|
25
|
+
return (process.env.CAPTCHA_LOGIN ?? '').trim().toLowerCase() === 'off';
|
|
26
|
+
}
|
|
27
|
+
const KEY_PATTERN = /^[A-Za-z0-9_-]{20,200}$/;
|
|
28
|
+
// A failed read throws rather than reading as "no keys": treating it as
|
|
29
|
+
// unset would let protected forms and logins through without a token.
|
|
30
|
+
async function readDocument(db) {
|
|
31
|
+
if (!db.document?.findFirst)
|
|
32
|
+
return { id: null, data: {} };
|
|
33
|
+
const row = await db.document.findFirst({
|
|
34
|
+
where: { collection: FORM_CAPTCHA_COLLECTION, deletedAt: null },
|
|
35
|
+
select: { id: true, data: true },
|
|
36
|
+
});
|
|
37
|
+
const data = row?.data && typeof row.data === 'object' ? row.data : {};
|
|
38
|
+
return { id: row?.id ?? null, data };
|
|
39
|
+
}
|
|
40
|
+
function toPublic(doc) {
|
|
41
|
+
const env = getCaptchaConfig();
|
|
42
|
+
const stored = Boolean(doc.siteKey && doc.secretEncrypted);
|
|
43
|
+
return {
|
|
44
|
+
source: env.provider !== 'none' ? 'env' : stored ? 'admin' : 'none',
|
|
45
|
+
provider: env.provider !== 'none' ? env.provider : stored ? 'recaptcha' : 'none',
|
|
46
|
+
siteKey: doc.siteKey ?? '',
|
|
47
|
+
hasSecret: Boolean(doc.secretEncrypted),
|
|
48
|
+
secretLast4: doc.secretLast4 ?? null,
|
|
49
|
+
scoreThreshold: normalizeScoreThreshold(doc.scoreThreshold),
|
|
50
|
+
envOverride: env.provider !== 'none',
|
|
51
|
+
protectLogin: Boolean(doc.protectLogin && stored),
|
|
52
|
+
loginDisabledByEnv: loginCaptchaDisabledByEnv(),
|
|
53
|
+
updatedAt: doc.updatedAt ?? null,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export async function getFormCaptchaSettings(db) {
|
|
57
|
+
return toPublic((await readDocument(db)).data);
|
|
58
|
+
}
|
|
59
|
+
/** Field errors keyed like the input. Empty when the input can be saved. */
|
|
60
|
+
export function validateFormCaptchaInput(input, hasStoredSecret) {
|
|
61
|
+
if (input.clear)
|
|
62
|
+
return {};
|
|
63
|
+
const errors = {};
|
|
64
|
+
const siteKey = input.siteKey?.trim() ?? '';
|
|
65
|
+
const secretKey = input.secretKey?.trim() ?? '';
|
|
66
|
+
if (!KEY_PATTERN.test(siteKey)) {
|
|
67
|
+
errors.siteKey = 'Paste the site key from the reCAPTCHA admin console.';
|
|
68
|
+
}
|
|
69
|
+
if (secretKey ? !KEY_PATTERN.test(secretKey) : !hasStoredSecret) {
|
|
70
|
+
errors.secretKey = 'Paste the secret key from the reCAPTCHA admin console.';
|
|
71
|
+
}
|
|
72
|
+
if (input.scoreThreshold !== undefined &&
|
|
73
|
+
(typeof input.scoreThreshold !== 'number' ||
|
|
74
|
+
!Number.isFinite(input.scoreThreshold) ||
|
|
75
|
+
input.scoreThreshold < 0 ||
|
|
76
|
+
input.scoreThreshold > 1)) {
|
|
77
|
+
errors.scoreThreshold = 'Enter a score from 0 to 1.';
|
|
78
|
+
}
|
|
79
|
+
return errors;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Save or clear the keys. The caller checks the role and validates first
|
|
83
|
+
* ({@link validateFormCaptchaInput}).
|
|
84
|
+
*/
|
|
85
|
+
export async function putFormCaptchaSettings(db, input, userId) {
|
|
86
|
+
const { id, data: existing } = await readDocument(db);
|
|
87
|
+
const secretKey = input.secretKey?.trim();
|
|
88
|
+
const siteKey = input.siteKey?.trim();
|
|
89
|
+
// New keys haven't been proven on the admin's domain: login protection
|
|
90
|
+
// must be switched on again.
|
|
91
|
+
const keysChanged = Boolean(secretKey) || siteKey !== existing.siteKey;
|
|
92
|
+
const next = input.clear
|
|
93
|
+
? {}
|
|
94
|
+
: {
|
|
95
|
+
siteKey,
|
|
96
|
+
secretEncrypted: secretKey ? await encryptSecret(secretKey) : existing.secretEncrypted,
|
|
97
|
+
secretLast4: secretKey ? secretKey.slice(-4) : existing.secretLast4,
|
|
98
|
+
scoreThreshold: normalizeScoreThreshold(input.scoreThreshold ?? existing.scoreThreshold),
|
|
99
|
+
...(keysChanged
|
|
100
|
+
? {}
|
|
101
|
+
: { protectLogin: existing.protectLogin, loginVerifiedAt: existing.loginVerifiedAt }),
|
|
102
|
+
};
|
|
103
|
+
const data = {
|
|
104
|
+
...next,
|
|
105
|
+
updatedAt: new Date().toISOString(),
|
|
106
|
+
updatedBy: userId,
|
|
107
|
+
};
|
|
108
|
+
await writeDocument(db, id, data, userId);
|
|
109
|
+
return toPublic(data);
|
|
110
|
+
}
|
|
111
|
+
async function writeDocument(db, id, data, userId) {
|
|
112
|
+
if (id) {
|
|
113
|
+
await db.document.update({ where: { id }, data: { data, updatedById: userId } });
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
await db.document.create({
|
|
117
|
+
data: {
|
|
118
|
+
collection: FORM_CAPTCHA_COLLECTION,
|
|
119
|
+
data,
|
|
120
|
+
status: 'PUBLISHED',
|
|
121
|
+
title: 'Form CAPTCHA',
|
|
122
|
+
slug: 'form-captcha',
|
|
123
|
+
createdById: userId,
|
|
124
|
+
updatedById: userId,
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The stored keys as a reCAPTCHA config, or null when none are saved. A
|
|
131
|
+
* secret that no longer decrypts (missing or rotated `CMS_ENCRYPTION_KEY`)
|
|
132
|
+
* gives an `unavailable` config, so the outage policy decides.
|
|
133
|
+
*/
|
|
134
|
+
async function storedRecaptchaConfig(data) {
|
|
135
|
+
if (!data.siteKey || !data.secretEncrypted)
|
|
136
|
+
return null;
|
|
137
|
+
const base = {
|
|
138
|
+
provider: 'recaptcha',
|
|
139
|
+
siteKey: data.siteKey,
|
|
140
|
+
scoreThreshold: normalizeScoreThreshold(data.scoreThreshold),
|
|
141
|
+
...getCaptchaPolicy(),
|
|
142
|
+
};
|
|
143
|
+
try {
|
|
144
|
+
return { ...base, secretKey: await decryptSecret(data.secretEncrypted) };
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return { ...base, secretKey: '', unavailable: true };
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* The captcha public forms use: env keys first, then the admin-entered
|
|
152
|
+
* reCAPTCHA v3 keys. `provider: 'none'` when neither is set.
|
|
153
|
+
*/
|
|
154
|
+
export async function resolveFormCaptchaConfig(db) {
|
|
155
|
+
const env = getCaptchaConfig();
|
|
156
|
+
if (env.provider !== 'none')
|
|
157
|
+
return env;
|
|
158
|
+
return (await storedRecaptchaConfig((await readDocument(db)).data)) ?? env;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* The captcha admin login uses: env keys first, as before; then the
|
|
162
|
+
* admin-entered keys, but only once login protection is switched on. With
|
|
163
|
+
* admin keys a Google outage lets the login through (it's audited), since a
|
|
164
|
+
* lockout would need a database edit to undo.
|
|
165
|
+
*/
|
|
166
|
+
export async function resolveLoginCaptchaConfig(db) {
|
|
167
|
+
// Env keys keep their existing login behaviour: outages reject.
|
|
168
|
+
const env = { ...getCaptchaConfig(), onProviderError: 'fail-closed' };
|
|
169
|
+
if (env.provider !== 'none' || loginCaptchaDisabledByEnv())
|
|
170
|
+
return env;
|
|
171
|
+
const { data } = await readDocument(db);
|
|
172
|
+
if (!data.protectLogin)
|
|
173
|
+
return env;
|
|
174
|
+
const stored = await storedRecaptchaConfig(data);
|
|
175
|
+
return stored ? { ...stored, enforce: true, onProviderError: 'fail-open' } : env;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Switch login protection on or off. Switching on needs a token the admin's
|
|
179
|
+
* browser just got with the saved site key and the `login` action; it must
|
|
180
|
+
* pass with the saved secret, proving the keys work on this domain.
|
|
181
|
+
*/
|
|
182
|
+
export async function setLoginProtection(db, input, userId) {
|
|
183
|
+
const { id, data } = await readDocument(db);
|
|
184
|
+
if (!input.enabled) {
|
|
185
|
+
const next = {
|
|
186
|
+
...data,
|
|
187
|
+
protectLogin: false,
|
|
188
|
+
updatedAt: new Date().toISOString(),
|
|
189
|
+
updatedBy: userId,
|
|
190
|
+
};
|
|
191
|
+
await writeDocument(db, id, next, userId);
|
|
192
|
+
return { ok: true, settings: toPublic(next) };
|
|
193
|
+
}
|
|
194
|
+
if (getCaptchaConfig().provider !== 'none') {
|
|
195
|
+
return {
|
|
196
|
+
ok: false,
|
|
197
|
+
status: 409,
|
|
198
|
+
error: 'Login CAPTCHA comes from your environment variables.',
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
const config = await storedRecaptchaConfig(data);
|
|
202
|
+
if (!config) {
|
|
203
|
+
return { ok: false, status: 409, error: 'Save the reCAPTCHA keys first.' };
|
|
204
|
+
}
|
|
205
|
+
if (config.unavailable) {
|
|
206
|
+
return {
|
|
207
|
+
ok: false,
|
|
208
|
+
status: 409,
|
|
209
|
+
error: "The saved secret key can't be read. Enter the secret key again and save.",
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const result = await verifyCaptcha(input.token ?? '', config, input.remoteIp, {
|
|
213
|
+
expectedAction: LOGIN_CAPTCHA_ACTION,
|
|
214
|
+
});
|
|
215
|
+
if (!result.success) {
|
|
216
|
+
return {
|
|
217
|
+
ok: false,
|
|
218
|
+
status: isCaptchaProviderError(result) ? 503 : 422,
|
|
219
|
+
error: isCaptchaProviderError(result)
|
|
220
|
+
? "Couldn't reach Google to check the keys. Try again in a minute."
|
|
221
|
+
: `These keys didn't pass on this site (${(result.errorCodes ?? []).join(', ') || 'rejected'}). Check that this domain is added to the key in the reCAPTCHA admin console.`,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
const next = {
|
|
225
|
+
...data,
|
|
226
|
+
protectLogin: true,
|
|
227
|
+
loginVerifiedAt: new Date().toISOString(),
|
|
228
|
+
updatedAt: new Date().toISOString(),
|
|
229
|
+
updatedBy: userId,
|
|
230
|
+
};
|
|
231
|
+
await writeDocument(db, id, next, userId);
|
|
232
|
+
return { ok: true, settings: toPublic(next) };
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Form Settings → Spam protection → CAPTCHA: on all forms, per form, or off.
|
|
236
|
+
* "Per form" means forms whose spam strategies include `captcha`.
|
|
237
|
+
*/
|
|
238
|
+
export function formRequiresCaptcha(scope, spamSettings) {
|
|
239
|
+
if (scope === 'off')
|
|
240
|
+
return false;
|
|
241
|
+
if (scope === 'per')
|
|
242
|
+
return Boolean(spamSettings?.strategies?.includes('captcha'));
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* The captcha one form must pass, or null. The submit route verifies against
|
|
247
|
+
* it and the public schema advertises it, so the two can't disagree. Until
|
|
248
|
+
* Form Settings is saved the scope is "all forms", as before.
|
|
249
|
+
*/
|
|
250
|
+
export async function resolveCaptchaForForm(db, spamSettings) {
|
|
251
|
+
const config = await resolveFormCaptchaConfig(db);
|
|
252
|
+
if (config.provider === 'none' || !config.enforce)
|
|
253
|
+
return null;
|
|
254
|
+
const site = await readStoredFormsSettings(db);
|
|
255
|
+
return formRequiresCaptcha(site?.spam.captchaScope ?? 'all', spamSettings) ? config : null;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=captcha-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captcha-settings.js","sourceRoot":"","sources":["../../src/forms/captcha-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
* the client validates the raw value; the server strips HTML before storing.
|
|
12
12
|
*/
|
|
13
13
|
import type { FormField } from './types.js';
|
|
14
|
+
export type { ConditionalLogic, ConditionalRule, FormField } from './types.js';
|
|
14
15
|
export { isSafeRedirectUrl } from './redirect-url.js';
|
|
16
|
+
/** The reCAPTCHA v3 action public forms pass to `grecaptcha.execute`; the server requires it. */
|
|
17
|
+
export declare const FORM_CAPTCHA_ACTION = "form_submit";
|
|
18
|
+
/** The reCAPTCHA v3 action the admin login page uses. */
|
|
19
|
+
export declare const LOGIN_CAPTCHA_ACTION = "login";
|
|
15
20
|
export declare const FORM_MAX_TEXT_LEN = 5000;
|
|
16
21
|
export declare const FORM_MAX_TEXTAREA_LEN = 50000;
|
|
17
22
|
export declare const FORM_MAX_MULTISELECT_ITEMS = 200;
|
|
@@ -23,12 +28,21 @@ export declare const FORM_PHONE_RE: RegExp;
|
|
|
23
28
|
export declare const FORM_NON_INPUT_TYPES: ReadonlySet<string>;
|
|
24
29
|
export declare function asString(value: unknown): string;
|
|
25
30
|
export declare function coerceBoolean(value: unknown): boolean;
|
|
26
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* `show` rules make a field visible only when they match; otherwise `hide`
|
|
33
|
+
* rules hide it when they match. `match` picks all or any.
|
|
34
|
+
*/
|
|
27
35
|
export declare function isFieldVisible(field: FormField, values: Record<string, unknown>): boolean;
|
|
28
|
-
/** A field is conditionally required when its `require` rules
|
|
36
|
+
/** A field is conditionally required when its `require` rules match. */
|
|
29
37
|
export declare function isFieldConditionallyRequired(field: FormField, values: Record<string, unknown>): boolean;
|
|
30
38
|
export declare function isValuePresent(raw: unknown): boolean;
|
|
31
39
|
export declare function isHttpUrl(value: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The rule set a field validates under. A checkbox with choices is the kit's
|
|
42
|
+
* "Checkboxes" field: a list of picked values, validated like a multi-select.
|
|
43
|
+
* A checkbox without choices stays a single yes/no.
|
|
44
|
+
*/
|
|
45
|
+
export declare function validationKind(field: Pick<FormField, 'type' | 'options'>): FormField['type'];
|
|
32
46
|
export interface ClientFieldValidation {
|
|
33
47
|
ok: boolean;
|
|
34
48
|
/** Human-readable message for the first failed rule, when `ok` is false. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-validation.d.ts","sourceRoot":"","sources":["../../src/forms/client-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"client-validation.d.ts","sourceRoot":"","sources":["../../src/forms/client-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,YAAY,CAAA;AAE5D,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,gBAAgB,CAAA;AAEhD,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAI3C,eAAO,MAAM,iBAAiB,OAAQ,CAAA;AACtC,eAAO,MAAM,qBAAqB,QAAS,CAAA;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,2EAA2E;AAC3E,eAAO,MAAM,aAAa,QAA+B,CAAA;AACzD,2EAA2E;AAC3E,eAAO,MAAM,aAAa,QAA4B,CAAA;AAEtD,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAOnD,CAAA;AAIF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAK/C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIrD;AA+BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAKzF;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAIT;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAKpD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOhD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAE5F;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAA;IACX,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,qBAAqB,CAwHvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export { isSafeRedirectUrl } from './redirect-url.js';
|
|
2
|
+
/** The reCAPTCHA v3 action public forms pass to `grecaptcha.execute`; the server requires it. */
|
|
3
|
+
export const FORM_CAPTCHA_ACTION = 'form_submit';
|
|
4
|
+
/** The reCAPTCHA v3 action the admin login page uses. */
|
|
5
|
+
export const LOGIN_CAPTCHA_ACTION = 'login';
|
|
2
6
|
// Conservative hard caps so a single field can't be used to balloon the row /
|
|
3
7
|
// exhaust memory even when the schema omits explicit length rules.
|
|
4
8
|
export const FORM_MAX_TEXT_LEN = 5_000;
|
|
@@ -52,19 +56,29 @@ function evalRule(rule, values) {
|
|
|
52
56
|
return true;
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
|
-
|
|
59
|
+
function rulesMatch(rules, match, values) {
|
|
60
|
+
return match === 'any'
|
|
61
|
+
? rules.some((rule) => evalRule(rule, values))
|
|
62
|
+
: rules.every((rule) => evalRule(rule, values));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* `show` rules make a field visible only when they match; otherwise `hide`
|
|
66
|
+
* rules hide it when they match. `match` picks all or any.
|
|
67
|
+
*/
|
|
56
68
|
export function isFieldVisible(field, values) {
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
return
|
|
60
|
-
|
|
69
|
+
const logic = field.conditionalLogic;
|
|
70
|
+
if (logic?.show && logic.show.length > 0)
|
|
71
|
+
return rulesMatch(logic.show, logic.match, values);
|
|
72
|
+
if (logic?.hide && logic.hide.length > 0)
|
|
73
|
+
return !rulesMatch(logic.hide, logic.match, values);
|
|
74
|
+
return true;
|
|
61
75
|
}
|
|
62
|
-
/** A field is conditionally required when its `require` rules
|
|
76
|
+
/** A field is conditionally required when its `require` rules match. */
|
|
63
77
|
export function isFieldConditionallyRequired(field, values) {
|
|
64
|
-
const
|
|
65
|
-
if (!require || require.length === 0)
|
|
78
|
+
const logic = field.conditionalLogic;
|
|
79
|
+
if (!logic?.require || logic.require.length === 0)
|
|
66
80
|
return false;
|
|
67
|
-
return require.
|
|
81
|
+
return rulesMatch(logic.require, logic.match, values);
|
|
68
82
|
}
|
|
69
83
|
export function isValuePresent(raw) {
|
|
70
84
|
if (raw === undefined || raw === null)
|
|
@@ -84,6 +98,14 @@ export function isHttpUrl(value) {
|
|
|
84
98
|
return false;
|
|
85
99
|
}
|
|
86
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* The rule set a field validates under. A checkbox with choices is the kit's
|
|
103
|
+
* "Checkboxes" field: a list of picked values, validated like a multi-select.
|
|
104
|
+
* A checkbox without choices stays a single yes/no.
|
|
105
|
+
*/
|
|
106
|
+
export function validationKind(field) {
|
|
107
|
+
return field.type === 'checkbox' && (field.options?.length ?? 0) > 0 ? 'multiselect' : field.type;
|
|
108
|
+
}
|
|
87
109
|
/**
|
|
88
110
|
* Validate a single field's value with the same rules the server applies.
|
|
89
111
|
*
|
|
@@ -112,7 +134,7 @@ export function validateFormFieldClient(field, value, allValues = {}) {
|
|
|
112
134
|
if (!isValuePresent(value)) {
|
|
113
135
|
return required ? fail(`${label} is required.`) : { ok: true };
|
|
114
136
|
}
|
|
115
|
-
switch (field
|
|
137
|
+
switch (validationKind(field)) {
|
|
116
138
|
case 'checkbox':
|
|
117
139
|
case 'consent': {
|
|
118
140
|
const bool = coerceBoolean(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-validation.js","sourceRoot":"","sources":["../../src/forms/client-validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-validation.js","sourceRoot":"","sources":["../../src/forms/client-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules for the redesigned form model (docs/design/prenta/forms/TRACKING.md).
|
|
3
|
+
*
|
|
4
|
+
* NOT WIRED YET. Only `formIsClosed` (and its helpers) run in production. The
|
|
5
|
+
* functions below are exercised by tests alone; nothing in a request path
|
|
6
|
+
* calls them, so their TRACKING items stay open until something does:
|
|
7
|
+
*
|
|
8
|
+
* - F-17 migrations: `migrateFormSettings`, `downgradeFormSettings`
|
|
9
|
+
* - F-23 steps: `stepValues`, `valuesForEntry`
|
|
10
|
+
* - F-24 partials: `convertPartial`
|
|
11
|
+
* - F-25 follow-up: `webhookEntryPayload`, `mineCount`
|
|
12
|
+
* - F-04 retention: `planRetention`
|
|
13
|
+
* - F-01 SMTP log: `explainDelivery`, `resendDelivery`
|
|
14
|
+
* - F-20 AI spam: `shouldReviewSpamWithAi`, `aiSpamTimeoutResult`
|
|
15
|
+
* - F-11 smart tags: `interpolateSmartTags`
|
|
16
|
+
* - F-07 canvas: `fieldKeyFromLabel`, `insertFieldBelow`
|
|
17
|
+
*
|
|
18
|
+
* Remove a name from this list in the change that wires it in.
|
|
19
|
+
*/
|
|
1
20
|
import type { FormAvailability } from './types.js';
|
|
2
21
|
export interface LegacyFormSettings {
|
|
3
22
|
recipients?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-model.d.ts","sourceRoot":"","sources":["../../src/forms/form-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,OAAO,GAAG,eAAe,CAAA;QAC/B,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;IACF,aAAa,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACvC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAiBnF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,kBAAkB,CAerF;AAaD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAA;IACpC,KAAK,EAAE,MAAM,CAAA;CACd;AAWD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAOlE;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EACjD,GAAG,EAAE,IAAI,EACT,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAaT;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAKjD;AAMD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM,GACb;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAGlC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG;IAChG,IAAI,EAAE,OAAO,CAAA;CACd,CAEA;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7D,MAAM,EAAE,MAAM,GACb,MAAM,CAIR;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;IAC5D,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,EAAE,EACpB,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB,EACD,cAAc,GAAE,WAAW,CAAC,MAAM,CAAa,GAC9C;IACD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,EAAE,CAAA;CACd,CAkBA;AAQD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAMA;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IACnF,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAEA;AAED,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAEvE;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAK7F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOzF;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACvD,MAAM,EAAE,CAAC,EAAE,EACX,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,CAAC,EAAE,CAOL"}
|
|
1
|
+
{"version":3,"file":"form-model.d.ts","sourceRoot":"","sources":["../../src/forms/form-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-model.js","sourceRoot":"","sources":["../../src/forms/form-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form-model.js","sourceRoot":"","sources":["../../src/forms/form-model.ts"],"names":[],"mappings":"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"}
|
package/dist/forms/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { captureAttribution, storeAttribution, getStoredAttribution, trackPageView, getAttributionForSubmission, parseAttributionParams, classifyChannel, lookupKnownReferrer, TOP_TIER_CLICK_IDS, LONG_TAIL_CLICK_IDS, AI_REFERRER_NAMES, } from './attribution.js';
|
|
1
|
+
export { captureAttribution, storeAttribution, getStoredAttribution, trackPageView, getAttributionForSubmission, acceptAttributionPayload, parseAttributionParams, classifyChannel, lookupKnownReferrer, TOP_TIER_CLICK_IDS, LONG_TAIL_CLICK_IDS, AI_REFERRER_NAMES, } from './attribution.js';
|
|
2
2
|
export type { AttributionData, AttributionChannel, AttributionClickIds, AttributionTouch, KnownReferrer, } from './attribution.js';
|
|
3
3
|
export { trackFormStart, trackFormSubmit, trackFormError, pushDataLayerEvent, getDefaultConfirmation, getDefaultAnalyticsConfig, } from './analytics.js';
|
|
4
4
|
export type { FormAnalyticsConfig, FormConfirmation } from './analytics.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"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"}
|
package/dist/forms/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { captureAttribution, storeAttribution, getStoredAttribution, trackPageView, getAttributionForSubmission, parseAttributionParams, classifyChannel, lookupKnownReferrer, TOP_TIER_CLICK_IDS, LONG_TAIL_CLICK_IDS, AI_REFERRER_NAMES, } from './attribution.js';
|
|
1
|
+
export { captureAttribution, storeAttribution, getStoredAttribution, trackPageView, getAttributionForSubmission, acceptAttributionPayload, parseAttributionParams, classifyChannel, lookupKnownReferrer, TOP_TIER_CLICK_IDS, LONG_TAIL_CLICK_IDS, AI_REFERRER_NAMES, } from './attribution.js';
|
|
2
2
|
export { trackFormStart, trackFormSubmit, trackFormError, pushDataLayerEvent, getDefaultConfirmation, getDefaultAnalyticsConfig, } from './analytics.js';
|
|
3
3
|
export { INPUT_FIELD_TYPES, NON_INPUT_FIELD_TYPES } from './types.js';
|
|
4
4
|
export * from './service.js';
|
package/dist/forms/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AASzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AA+BrE,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,8BAA8B,GAG/B,MAAM,iBAAiB,CAAA;AACxB,4EAA4E;AAC5E,+DAA+D;AAE/D,OAAO,EAAE,mBAAmB,EAA6C,MAAM,WAAW,CAAA;AAC1F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,GAGvB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,yBAAyB,GAO1B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GAGxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAoC,MAAM,kBAAkB,CAAA;AAEzF,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEjF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,GAI7B,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,GAOlB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GAKpB,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AASzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AA+BrE,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,8BAA8B,GAG/B,MAAM,iBAAiB,CAAA;AACxB,4EAA4E;AAC5E,+DAA+D;AAE/D,OAAO,EAAE,mBAAmB,EAA6C,MAAM,WAAW,CAAA;AAC1F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,GAGvB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,yBAAyB,GAO1B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GAGxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAoC,MAAM,kBAAkB,CAAA;AAEzF,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEjF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,GAI7B,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,GAOlB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GAKpB,MAAM,eAAe,CAAA"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import type { PublicForm } from './submission.js';
|
|
1
|
+
import type { PublicForm, PublicFormField } from './submission.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve `{page_url}` and `{utm_source}`-style tokens in a hidden field's
|
|
4
|
+
* value from the page URL. Unknown tokens become an empty string.
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveHiddenValue(template: string, pageUrl: string | undefined): string;
|
|
7
|
+
/** Split fields at page breaks. Step 1 takes the form's first-step title. */
|
|
8
|
+
export declare function splitPublicSteps(fields: PublicFormField[], firstStep?: string): Array<{
|
|
9
|
+
title: string;
|
|
10
|
+
fields: PublicFormField[];
|
|
11
|
+
start?: PublicFormField;
|
|
12
|
+
}>;
|
|
2
13
|
export interface RenderPublicFormHtmlOptions {
|
|
3
14
|
/** POST target. Defaults to `form.submitPath`. */
|
|
4
15
|
action?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-html.d.ts","sourceRoot":"","sources":["../../src/forms/public-html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"public-html.d.ts","sourceRoot":"","sources":["../../src/forms/public-html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAiFlE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAWxF;AAyFD,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,eAAe,EAAE,EACzB,SAAS,SAAc,GACtB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC,CAS9E;AAED,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,UAAU,EACnB,OAAO,GAAE,2BAAgC,GACxC,MAAM,CAuDR"}
|