@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.
Files changed (122) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/ai/batch-list.d.ts +37 -6
  3. package/dist/ai/batch-list.d.ts.map +1 -1
  4. package/dist/ai/batch-list.js +217 -7
  5. package/dist/ai/batch-list.js.map +1 -1
  6. package/dist/ai/feature-defaults.d.ts.map +1 -1
  7. package/dist/ai/feature-defaults.js +1 -1
  8. package/dist/ai/feature-defaults.js.map +1 -1
  9. package/dist/ai/tasks/media-detail-limits.d.ts +5 -0
  10. package/dist/ai/tasks/media-detail-limits.d.ts.map +1 -0
  11. package/dist/ai/tasks/media-detail-limits.js +5 -0
  12. package/dist/ai/tasks/media-detail-limits.js.map +1 -0
  13. package/dist/ai/tasks/media-details.d.ts +51 -0
  14. package/dist/ai/tasks/media-details.d.ts.map +1 -0
  15. package/dist/ai/tasks/media-details.js +117 -0
  16. package/dist/ai/tasks/media-details.js.map +1 -0
  17. package/dist/api/route-helpers/auth.d.ts +7 -0
  18. package/dist/api/route-helpers/auth.d.ts.map +1 -1
  19. package/dist/api/route-helpers/auth.js +13 -0
  20. package/dist/api/route-helpers/auth.js.map +1 -1
  21. package/dist/api/route-helpers/forms.d.ts.map +1 -1
  22. package/dist/api/route-helpers/forms.js +6 -4
  23. package/dist/api/route-helpers/forms.js.map +1 -1
  24. package/dist/api/routes/auth.d.ts.map +1 -1
  25. package/dist/api/routes/auth.js +20 -4
  26. package/dist/api/routes/auth.js.map +1 -1
  27. package/dist/api/routes/dashboard.d.ts.map +1 -1
  28. package/dist/api/routes/dashboard.js +218 -0
  29. package/dist/api/routes/dashboard.js.map +1 -1
  30. package/dist/api/routes/forms.d.ts.map +1 -1
  31. package/dist/api/routes/forms.js +282 -12
  32. package/dist/api/routes/forms.js.map +1 -1
  33. package/dist/api/routes/scheduling.d.ts.map +1 -1
  34. package/dist/api/routes/scheduling.js +4 -1
  35. package/dist/api/routes/scheduling.js.map +1 -1
  36. package/dist/api/routes/system.d.ts.map +1 -1
  37. package/dist/api/routes/system.js +9 -2
  38. package/dist/api/routes/system.js.map +1 -1
  39. package/dist/forms/attribution-settings.d.ts +2 -0
  40. package/dist/forms/attribution-settings.d.ts.map +1 -1
  41. package/dist/forms/attribution-settings.js +28 -22
  42. package/dist/forms/attribution-settings.js.map +1 -1
  43. package/dist/forms/attribution.d.ts +10 -1
  44. package/dist/forms/attribution.d.ts.map +1 -1
  45. package/dist/forms/attribution.js +26 -2
  46. package/dist/forms/attribution.js.map +1 -1
  47. package/dist/forms/captcha-settings.d.ts +108 -0
  48. package/dist/forms/captcha-settings.d.ts.map +1 -0
  49. package/dist/forms/captcha-settings.js +257 -0
  50. package/dist/forms/captcha-settings.js.map +1 -0
  51. package/dist/forms/client-validation.d.ts +16 -2
  52. package/dist/forms/client-validation.d.ts.map +1 -1
  53. package/dist/forms/client-validation.js +32 -10
  54. package/dist/forms/client-validation.js.map +1 -1
  55. package/dist/forms/form-model.d.ts +19 -0
  56. package/dist/forms/form-model.d.ts.map +1 -1
  57. package/dist/forms/form-model.js.map +1 -1
  58. package/dist/forms/index.d.ts +1 -1
  59. package/dist/forms/index.d.ts.map +1 -1
  60. package/dist/forms/index.js +1 -1
  61. package/dist/forms/index.js.map +1 -1
  62. package/dist/forms/public-html.d.ts +12 -1
  63. package/dist/forms/public-html.d.ts.map +1 -1
  64. package/dist/forms/public-html.js +94 -14
  65. package/dist/forms/public-html.js.map +1 -1
  66. package/dist/forms/service.d.ts +6 -1
  67. package/dist/forms/service.d.ts.map +1 -1
  68. package/dist/forms/service.js +137 -12
  69. package/dist/forms/service.js.map +1 -1
  70. package/dist/forms/site-settings.d.ts +77 -0
  71. package/dist/forms/site-settings.d.ts.map +1 -0
  72. package/dist/forms/site-settings.js +276 -0
  73. package/dist/forms/site-settings.js.map +1 -0
  74. package/dist/forms/submission.d.ts +15 -0
  75. package/dist/forms/submission.d.ts.map +1 -1
  76. package/dist/forms/submission.js +27 -3
  77. package/dist/forms/submission.js.map +1 -1
  78. package/dist/forms/types.d.ts +30 -0
  79. package/dist/forms/types.d.ts.map +1 -1
  80. package/dist/forms/types.js +1 -0
  81. package/dist/forms/types.js.map +1 -1
  82. package/dist/forms/validation.d.ts.map +1 -1
  83. package/dist/forms/validation.js +2 -2
  84. package/dist/forms/validation.js.map +1 -1
  85. package/dist/index.d.ts +1 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +1 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/jobs/batch-ai.d.ts.map +1 -1
  90. package/dist/jobs/batch-ai.js +67 -19
  91. package/dist/jobs/batch-ai.js.map +1 -1
  92. package/dist/jobs/contract.d.ts +3 -1
  93. package/dist/jobs/contract.d.ts.map +1 -1
  94. package/dist/jobs/review.d.ts.map +1 -1
  95. package/dist/jobs/review.js +49 -5
  96. package/dist/jobs/review.js.map +1 -1
  97. package/dist/jobs/serialize.d.ts.map +1 -1
  98. package/dist/jobs/serialize.js +2 -0
  99. package/dist/jobs/serialize.js.map +1 -1
  100. package/dist/media/seo.d.ts +18 -0
  101. package/dist/media/seo.d.ts.map +1 -1
  102. package/dist/media/seo.js +24 -0
  103. package/dist/media/seo.js.map +1 -1
  104. package/dist/media/used-on-titles.d.ts +8 -0
  105. package/dist/media/used-on-titles.d.ts.map +1 -0
  106. package/dist/media/used-on-titles.js +33 -0
  107. package/dist/media/used-on-titles.js.map +1 -0
  108. package/dist/next.d.ts.map +1 -1
  109. package/dist/next.js +3 -1
  110. package/dist/next.js.map +1 -1
  111. package/dist/security/captcha.d.ts +22 -2
  112. package/dist/security/captcha.d.ts.map +1 -1
  113. package/dist/security/captcha.js +42 -11
  114. package/dist/security/captcha.js.map +1 -1
  115. package/dist/server-site.d.ts.map +1 -1
  116. package/dist/server-site.js +6 -5
  117. package/dist/server-site.js.map +1 -1
  118. package/dist/stats/dashboard.d.ts +66 -0
  119. package/dist/stats/dashboard.d.ts.map +1 -0
  120. package/dist/stats/dashboard.js +111 -0
  121. package/dist/stats/dashboard.js.map +1 -0
  122. 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
- /** A field is visible unless its `show` rules exist and not all of them pass. */
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 all pass. */
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;AAIrD,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;AAqBD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAIzF;AAED,2EAA2E;AAC3E,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,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
+ {"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
- /** A field is visible unless its `show` rules exist and not all of them pass. */
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 show = field.conditionalLogic?.show;
58
- if (!show || show.length === 0)
59
- return true;
60
- return show.every((rule) => evalRule(rule, values));
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 all pass. */
76
+ /** A field is conditionally required when its `require` rules match. */
63
77
  export function isFieldConditionallyRequired(field, values) {
64
- const require = field.conditionalLogic?.require;
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.every((rule) => evalRule(rule, values));
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.type) {
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":"AAcA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,8EAA8E;AAC9E,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAA;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAA;AACzD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG,yBAAyB,CAAA;AAEtD,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;AAE7D,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACjF,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,CAAC,CAAA;IACjD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAqB,EAAE,MAA+B;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IACxD,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,MAAM,CAAA;QAC3B,KAAK,WAAW;YACd,OAAO,OAAO,KAAK,MAAM,CAAA;QAC3B,KAAK,UAAU;YACb,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACjC,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,EAAE,CAAA;QACvB,KAAK,YAAY;YACf,OAAO,OAAO,KAAK,EAAE,CAAA;QACvB;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,KAAgB,EAAE,MAA+B;IAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAA;IACzC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;AACrD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,4BAA4B,CAC1C,KAAgB,EAChB,MAA+B;IAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAC/C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAClD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAgB,EAChB,KAAc,EACd,YAAqC,EAAE;IAEvC,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAC7D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAE1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAA;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAA;IACzC,MAAM,QAAQ,GACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvB,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,CAAC,OAAe,EAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAEjF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,oEAAoE;QACpE,sCAAsC;QACtC,IAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,eAAe,CAAC,CAAA;QAC5E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAChE,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAA;YACpE,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,GAAG,KAAK,qBAAqB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;YACxD,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,GAAG,KAAK,oBAAoB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,IAAI,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAA;YAClD,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAClE,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAClE,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAA;YAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,4CAA4C;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAChC,MAAM,MAAM,GACV,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;YAC5F,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,GAAG,KAAK,oBAAoB,MAAM,cAAc,CAAC,CAAA;YAC/D,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,GAAG,KAAK,qBAAqB,KAAK,CAAC,SAAS,cAAc,CAAC,CAAA;YACzE,CAAC;YAED,MAAM,MAAM,GACV,KAAK,CAAC,MAAM;gBACZ,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;oBACrB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK;wBACpB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;4BACtB,CAAC,CAAC,OAAO;4BACT,CAAC,CAAC,SAAS,CAAC,CAAA;YAEpB,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAA;YACxD,CAAC;YACD,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAA;YACvD,CAAC;YACD,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAA;YAC9C,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAA;oBACxD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,kEAAkE;oBAClE,0DAA0D;gBAC5D,CAAC;YACH,CAAC;YAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAmB,EACnB,MAA+B;IAE/B,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QACxE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAA;IACtE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
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":"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"}
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":"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"}
1
+ {"version":3,"file":"form-model.js","sourceRoot":"","sources":["../../src/forms/form-model.ts"],"names":[],"mappings":"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"}
@@ -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":"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;AACzB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE3E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACrE,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAA;AAEnB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,8BAA8B,EAC9B,KAAK,UAAU,EACf,KAAK,0BAA0B,GAChC,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAC1F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,0BAA0B,GAChC,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,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,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,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,EACnB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAA"}
@@ -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';
@@ -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,EAAmB,MAAM,iBAAiB,CAAA;AAkHlE,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,CA0CR"}
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"}