@10x-media/form-builder 0.1.0-beta.3 → 0.1.0-beta.5

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 (406) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.md +4 -4
  3. package/dist/actions/body/serializeBody.d.ts +22 -4
  4. package/dist/actions/body/serializeBody.js +3 -1
  5. package/dist/actions/body/serializeBody.js.map +1 -1
  6. package/dist/actions/body/textOfBody.d.ts +13 -0
  7. package/dist/actions/body/textOfBody.js +35 -0
  8. package/dist/actions/body/textOfBody.js.map +1 -0
  9. package/dist/actions/builtin/confirmation.js +51 -12
  10. package/dist/actions/builtin/confirmation.js.map +1 -1
  11. package/dist/actions/builtin/emailTeam.js +82 -34
  12. package/dist/actions/builtin/emailTeam.js.map +1 -1
  13. package/dist/actions/builtin/index.d.ts +18 -1
  14. package/dist/actions/builtin/index.js +21 -7
  15. package/dist/actions/builtin/index.js.map +1 -1
  16. package/dist/actions/builtin/signedWebhook.js +2 -16
  17. package/dist/actions/builtin/signedWebhook.js.map +1 -1
  18. package/dist/actions/defineAction.d.ts +1 -1
  19. package/dist/actions/fromAddresses.d.ts +21 -0
  20. package/dist/actions/fromAddresses.js +74 -0
  21. package/dist/actions/fromAddresses.js.map +1 -0
  22. package/dist/actions/runActions.js +2 -0
  23. package/dist/actions/runActions.js.map +1 -1
  24. package/dist/actions/task.js +9 -8
  25. package/dist/actions/task.js.map +1 -1
  26. package/dist/aggregation/aggregateResponses.d.ts +9 -0
  27. package/dist/aggregation/aggregateResponses.js +8 -14
  28. package/dist/aggregation/aggregateResponses.js.map +1 -1
  29. package/dist/aggregation/resolveResultsRequest.d.ts +35 -6
  30. package/dist/aggregation/resolveResultsRequest.js +68 -11
  31. package/dist/aggregation/resolveResultsRequest.js.map +1 -1
  32. package/dist/calc/computeCalcFields.js +2 -1
  33. package/dist/calc/computeCalcFields.js.map +1 -1
  34. package/dist/client/ByteSizeField.d.ts +8 -0
  35. package/dist/client/ByteSizeField.js +3 -1
  36. package/dist/client/ByteSizeField.js.map +1 -1
  37. package/dist/client/ClosePollButton.d.ts +15 -0
  38. package/dist/client/ClosePollButton.js +80 -0
  39. package/dist/client/ClosePollButton.js.map +1 -0
  40. package/dist/client/CondensedArray.d.ts +15 -0
  41. package/dist/client/CondensedArray.js +97 -0
  42. package/dist/client/CondensedArray.js.map +1 -0
  43. package/dist/client/EndpointOptionsSelect.d.ts +45 -0
  44. package/dist/client/EndpointOptionsSelect.js +103 -0
  45. package/dist/client/EndpointOptionsSelect.js.map +1 -0
  46. package/dist/client/FieldBlockLabel.d.ts +18 -0
  47. package/dist/client/FieldBlockLabel.js +34 -0
  48. package/dist/client/FieldBlockLabel.js.map +1 -0
  49. package/dist/client/FieldNameSelect.d.ts +20 -4
  50. package/dist/client/FieldNameSelect.js +25 -14
  51. package/dist/client/FieldNameSelect.js.map +1 -1
  52. package/dist/client/FlowBuilder.d.ts +2 -1
  53. package/dist/client/FlowBuilder.js +134 -83
  54. package/dist/client/FlowBuilder.js.map +1 -1
  55. package/dist/client/RuleDescription.d.ts +21 -0
  56. package/dist/client/RuleDescription.js +19 -0
  57. package/dist/client/RuleDescription.js.map +1 -0
  58. package/dist/client/admin.css +83 -5
  59. package/dist/client/endpointOptions.js +29 -0
  60. package/dist/client/endpointOptions.js.map +1 -0
  61. package/dist/client/flowAuthoring.js +142 -0
  62. package/dist/client/flowAuthoring.js.map +1 -0
  63. package/dist/client/synthesizeClientField.js +21 -10
  64. package/dist/client/synthesizeClientField.js.map +1 -1
  65. package/dist/collections/buttonFields.d.ts +34 -0
  66. package/dist/collections/buttonFields.js +35 -0
  67. package/dist/collections/buttonFields.js.map +1 -0
  68. package/dist/collections/cells/FieldCountCell.d.ts +15 -0
  69. package/dist/collections/cells/FieldCountCell.js +18 -0
  70. package/dist/collections/cells/FieldCountCell.js.map +1 -0
  71. package/dist/collections/cells/FlowStepsCell.d.ts +14 -0
  72. package/dist/collections/cells/FlowStepsCell.js +17 -0
  73. package/dist/collections/cells/FlowStepsCell.js.map +1 -0
  74. package/dist/collections/formSubmissions.js +55 -12
  75. package/dist/collections/formSubmissions.js.map +1 -1
  76. package/dist/collections/forms.js +376 -57
  77. package/dist/collections/forms.js.map +1 -1
  78. package/dist/collections/redirectFields.d.ts +29 -0
  79. package/dist/conditions/conditionType.js +9 -2
  80. package/dist/conditions/conditionType.js.map +1 -1
  81. package/dist/conditions/normalizeConditions.js +2 -1
  82. package/dist/conditions/normalizeConditions.js.map +1 -1
  83. package/dist/consent/applyConsentStatements.d.ts +14 -0
  84. package/dist/consent/applyConsentStatements.js +17 -0
  85. package/dist/consent/applyConsentStatements.js.map +1 -0
  86. package/dist/consent/captureConsent.d.ts +19 -8
  87. package/dist/consent/captureConsent.js +34 -11
  88. package/dist/consent/captureConsent.js.map +1 -1
  89. package/dist/consent/consentSourcesField.d.ts +58 -0
  90. package/dist/consent/consentSourcesField.js +79 -0
  91. package/dist/consent/consentSourcesField.js.map +1 -0
  92. package/dist/consent/resolveConsentEntries.d.ts +24 -0
  93. package/dist/consent/resolveConsentEntries.js +43 -0
  94. package/dist/consent/resolveConsentEntries.js.map +1 -0
  95. package/dist/consent/resolveConsentSourcesRequest.d.ts +37 -0
  96. package/dist/consent/resolveConsentSourcesRequest.js +55 -0
  97. package/dist/consent/resolveConsentSourcesRequest.js.map +1 -0
  98. package/dist/consent/resolveConsentStatements.d.ts +45 -0
  99. package/dist/consent/resolveConsentStatements.js +44 -0
  100. package/dist/consent/resolveConsentStatements.js.map +1 -0
  101. package/dist/consent/resolvePublishedVersionRef.d.ts +17 -11
  102. package/dist/consent/resolvePublishedVersionRef.js +13 -10
  103. package/dist/consent/resolvePublishedVersionRef.js.map +1 -1
  104. package/dist/consent/types.d.ts +49 -0
  105. package/dist/email/departments.d.ts +55 -0
  106. package/dist/email/departments.js +130 -0
  107. package/dist/email/departments.js.map +1 -0
  108. package/dist/email/departmentsField.d.ts +49 -0
  109. package/dist/email/departmentsField.js +69 -0
  110. package/dist/email/departmentsField.js.map +1 -0
  111. package/dist/exports/client.d.ts +8 -1
  112. package/dist/exports/client.js +8 -1
  113. package/dist/exports/react.d.ts +15 -6
  114. package/dist/exports/react.js +11 -3
  115. package/dist/exports/rsc.d.ts +8 -1
  116. package/dist/exports/rsc.js +8 -1
  117. package/dist/exports/types.d.ts +18 -10
  118. package/dist/fields/buildFieldBlocks.js +43 -19
  119. package/dist/fields/buildFieldBlocks.js.map +1 -1
  120. package/dist/fields/builtin/calculation.js +7 -0
  121. package/dist/fields/builtin/calculation.js.map +1 -1
  122. package/dist/fields/builtin/checkbox.js +8 -0
  123. package/dist/fields/builtin/checkbox.js.map +1 -1
  124. package/dist/fields/builtin/consent.js +25 -15
  125. package/dist/fields/builtin/consent.js.map +1 -1
  126. package/dist/fields/builtin/country.d.ts +13 -0
  127. package/dist/fields/builtin/country.js +30 -0
  128. package/dist/fields/builtin/country.js.map +1 -0
  129. package/dist/fields/builtin/date.js +2 -0
  130. package/dist/fields/builtin/date.js.map +1 -1
  131. package/dist/fields/builtin/file.js +13 -8
  132. package/dist/fields/builtin/file.js.map +1 -1
  133. package/dist/fields/builtin/index.d.ts +13 -1
  134. package/dist/fields/builtin/index.js +20 -7
  135. package/dist/fields/builtin/index.js.map +1 -1
  136. package/dist/fields/builtin/message.js +30 -0
  137. package/dist/fields/builtin/message.js.map +1 -0
  138. package/dist/fields/builtin/repeater.js +8 -3
  139. package/dist/fields/builtin/repeater.js.map +1 -1
  140. package/dist/fields/builtin/select.js +8 -3
  141. package/dist/fields/builtin/select.js.map +1 -1
  142. package/dist/fields/builtin/state.d.ts +13 -0
  143. package/dist/fields/builtin/state.js +30 -0
  144. package/dist/fields/builtin/state.js.map +1 -0
  145. package/dist/fields/data/regions.d.ts +21 -0
  146. package/dist/fields/data/regions.js +1238 -0
  147. package/dist/fields/data/regions.js.map +1 -0
  148. package/dist/fields/fieldKey.d.ts +15 -0
  149. package/dist/fields/fieldKey.js +16 -0
  150. package/dist/fields/fieldKey.js.map +1 -0
  151. package/dist/fields/fieldNamesOfType.js +13 -8
  152. package/dist/fields/fieldNamesOfType.js.map +1 -1
  153. package/dist/fields/instanceOptions.js +20 -0
  154. package/dist/fields/instanceOptions.js.map +1 -0
  155. package/dist/fields/localizedIf.d.ts +13 -0
  156. package/dist/fields/localizedIf.js +12 -0
  157. package/dist/fields/localizedIf.js.map +1 -0
  158. package/dist/fields/registry.d.ts +1 -0
  159. package/dist/fields/registry.js +21 -2
  160. package/dist/fields/registry.js.map +1 -1
  161. package/dist/fields/sharedConfig.js +101 -51
  162. package/dist/fields/sharedConfig.js.map +1 -1
  163. package/dist/fields/types.d.ts +61 -5
  164. package/dist/flow/engine.d.ts +6 -4
  165. package/dist/flow/engine.js +11 -6
  166. package/dist/flow/engine.js.map +1 -1
  167. package/dist/flow/normalizeFlow.js +22 -7
  168. package/dist/flow/normalizeFlow.js.map +1 -1
  169. package/dist/flow/stepLabel.js +15 -0
  170. package/dist/flow/stepLabel.js.map +1 -0
  171. package/dist/flow/types.d.ts +12 -3
  172. package/dist/flow/types.js +11 -0
  173. package/dist/flow/types.js.map +1 -0
  174. package/dist/form/pollState.d.ts +22 -0
  175. package/dist/form/pollState.js +17 -0
  176. package/dist/form/pollState.js.map +1 -0
  177. package/dist/form/toFormDocument.d.ts +85 -0
  178. package/dist/form/toFormDocument.js +75 -0
  179. package/dist/form/toFormDocument.js.map +1 -0
  180. package/dist/form/types.d.ts +65 -0
  181. package/dist/index.d.ts +193 -27
  182. package/dist/index.js +59 -19
  183. package/dist/index.js.map +1 -1
  184. package/dist/plugin/customState.js +26 -0
  185. package/dist/plugin/customState.js.map +1 -0
  186. package/dist/plugin/registerCollections.js +33 -44
  187. package/dist/plugin/registerCollections.js.map +1 -1
  188. package/dist/plugin/uploadsCollection.d.ts +13 -0
  189. package/dist/plugin/uploadsCollection.js +44 -0
  190. package/dist/plugin/uploadsCollection.js.map +1 -0
  191. package/dist/poll/applyPollOptions.js +18 -0
  192. package/dist/poll/applyPollOptions.js.map +1 -0
  193. package/dist/poll/buildPollOptionSourceFields.js +50 -0
  194. package/dist/poll/buildPollOptionSourceFields.js.map +1 -0
  195. package/dist/poll/closeJob.d.ts +52 -0
  196. package/dist/poll/closeJob.js +119 -0
  197. package/dist/poll/closeJob.js.map +1 -0
  198. package/dist/poll/definePollOptionSource.d.ts +44 -0
  199. package/dist/poll/definePollOptionSource.js +6 -0
  200. package/dist/poll/definePollOptionSource.js.map +1 -0
  201. package/dist/poll/definePollType.d.ts +34 -0
  202. package/dist/poll/definePollType.js +6 -0
  203. package/dist/poll/definePollType.js.map +1 -0
  204. package/dist/poll/effectivePollOptions.d.ts +38 -0
  205. package/dist/poll/effectivePollOptions.js +64 -0
  206. package/dist/poll/effectivePollOptions.js.map +1 -0
  207. package/dist/poll/mostVoted.d.ts +21 -0
  208. package/dist/poll/mostVoted.js +32 -0
  209. package/dist/poll/mostVoted.js.map +1 -0
  210. package/dist/poll/outcomeBeforeChange.js +91 -0
  211. package/dist/poll/outcomeBeforeChange.js.map +1 -0
  212. package/dist/poll/outcomeFields.d.ts +38 -0
  213. package/dist/poll/outcomeFields.js +52 -0
  214. package/dist/poll/outcomeFields.js.map +1 -0
  215. package/dist/poll/pollTypeRegistry.d.ts +34 -0
  216. package/dist/poll/pollTypeRegistry.js +71 -0
  217. package/dist/poll/pollTypeRegistry.js.map +1 -0
  218. package/dist/poll/registry.d.ts +16 -0
  219. package/dist/poll/registry.js +16 -0
  220. package/dist/poll/registry.js.map +1 -0
  221. package/dist/poll/resolvePollCloseRequest.js +105 -0
  222. package/dist/poll/resolvePollCloseRequest.js.map +1 -0
  223. package/dist/poll/resolvePollOptions.d.ts +29 -0
  224. package/dist/poll/resolvePollOptions.js +52 -0
  225. package/dist/poll/resolvePollOptions.js.map +1 -0
  226. package/dist/poll/resolvePollOptionsRequest.js +51 -0
  227. package/dist/poll/resolvePollOptionsRequest.js.map +1 -0
  228. package/dist/poll/resolvePollOutcome.d.ts +34 -0
  229. package/dist/poll/resolvePollOutcome.js +76 -0
  230. package/dist/poll/resolvePollOutcome.js.map +1 -0
  231. package/dist/poll/resultsField.js +21 -0
  232. package/dist/poll/resultsField.js.map +1 -0
  233. package/dist/prefill/valuesFromSearchParams.js +3 -2
  234. package/dist/prefill/valuesFromSearchParams.js.map +1 -1
  235. package/dist/presentations/types.d.ts +3 -2
  236. package/dist/react/Form.d.ts +15 -33
  237. package/dist/react/Form.js +144 -119
  238. package/dist/react/Form.js.map +1 -1
  239. package/dist/react/FormContext.d.ts +37 -1
  240. package/dist/react/FormContext.js.map +1 -1
  241. package/dist/react/FormControls.d.ts +55 -0
  242. package/dist/react/FormControls.js +56 -0
  243. package/dist/react/FormControls.js.map +1 -0
  244. package/dist/react/FormResults.d.ts +6 -3
  245. package/dist/react/FormResults.js +37 -29
  246. package/dist/react/FormResults.js.map +1 -1
  247. package/dist/react/FormSteps.d.ts +17 -0
  248. package/dist/react/FormSteps.js +35 -0
  249. package/dist/react/FormSteps.js.map +1 -0
  250. package/dist/react/Poll.d.ts +17 -6
  251. package/dist/react/Poll.js +66 -18
  252. package/dist/react/Poll.js.map +1 -1
  253. package/dist/react/contract.d.ts +2 -3
  254. package/dist/react/contract.js.map +1 -1
  255. package/dist/react/fetchResults.d.ts +1 -1
  256. package/dist/react/fetchResults.js +1 -1
  257. package/dist/react/fetchResults.js.map +1 -1
  258. package/dist/react/primitives/Checkbox.d.ts +4 -2
  259. package/dist/react/primitives/Checkbox.js +2 -1
  260. package/dist/react/primitives/Checkbox.js.map +1 -1
  261. package/dist/react/primitives/FieldShell.d.ts +2 -4
  262. package/dist/react/primitives/FieldShell.js +12 -19
  263. package/dist/react/primitives/FieldShell.js.map +1 -1
  264. package/dist/react/renderers/calculation.js +1 -2
  265. package/dist/react/renderers/calculation.js.map +1 -1
  266. package/dist/react/renderers/checkbox.js +1 -2
  267. package/dist/react/renderers/checkbox.js.map +1 -1
  268. package/dist/react/renderers/consent.js +78 -34
  269. package/dist/react/renderers/consent.js.map +1 -1
  270. package/dist/react/renderers/date.js +1 -3
  271. package/dist/react/renderers/date.js.map +1 -1
  272. package/dist/react/renderers/email.js +1 -2
  273. package/dist/react/renderers/email.js.map +1 -1
  274. package/dist/react/renderers/file.js +6 -3
  275. package/dist/react/renderers/file.js.map +1 -1
  276. package/dist/react/renderers/index.js +5 -0
  277. package/dist/react/renderers/index.js.map +1 -1
  278. package/dist/react/renderers/message.js +35 -0
  279. package/dist/react/renderers/message.js.map +1 -0
  280. package/dist/react/renderers/number.js +1 -2
  281. package/dist/react/renderers/number.js.map +1 -1
  282. package/dist/react/renderers/region.js +45 -0
  283. package/dist/react/renderers/region.js.map +1 -0
  284. package/dist/react/renderers/repeater.js +7 -10
  285. package/dist/react/renderers/repeater.js.map +1 -1
  286. package/dist/react/renderers/select.js +1 -2
  287. package/dist/react/renderers/select.js.map +1 -1
  288. package/dist/react/renderers/text.js +1 -2
  289. package/dist/react/renderers/text.js.map +1 -1
  290. package/dist/react/renderers/textarea.js +1 -2
  291. package/dist/react/renderers/textarea.js.map +1 -1
  292. package/dist/react/state.d.ts +23 -2
  293. package/dist/react/state.js +16 -7
  294. package/dist/react/state.js.map +1 -1
  295. package/dist/react/uploadFile.d.ts +2 -2
  296. package/dist/react/uploadFile.js +1 -1
  297. package/dist/react/uploadFile.js.map +1 -1
  298. package/dist/react/useField.d.ts +0 -1
  299. package/dist/react/useField.js +0 -1
  300. package/dist/react/useField.js.map +1 -1
  301. package/dist/react/useFormState.d.ts +1 -1
  302. package/dist/react/useFormState.js +1 -1
  303. package/dist/react/useFormState.js.map +1 -1
  304. package/dist/react/validateField.js +3 -6
  305. package/dist/react/validateField.js.map +1 -1
  306. package/dist/recall/interpolate.d.ts +4 -3
  307. package/dist/recall/interpolate.js +5 -4
  308. package/dist/recall/interpolate.js.map +1 -1
  309. package/dist/recall/resolver.d.ts +1 -1
  310. package/dist/recall/resolver.js +14 -2
  311. package/dist/recall/resolver.js.map +1 -1
  312. package/dist/spam/captcha.d.ts +1 -1
  313. package/dist/spam/captcha.js +1 -1
  314. package/dist/spam/captcha.js.map +1 -1
  315. package/dist/submissions/SubmissionAnswers.js +6 -2
  316. package/dist/submissions/SubmissionAnswers.js.map +1 -1
  317. package/dist/submissions/SubmissionAnswersClient.js +91 -62
  318. package/dist/submissions/SubmissionAnswersClient.js.map +1 -1
  319. package/dist/submissions/createSubmission.d.ts +36 -0
  320. package/dist/submissions/createSubmission.js +26 -0
  321. package/dist/submissions/createSubmission.js.map +1 -0
  322. package/dist/submissions/runSubmission.d.ts +10 -0
  323. package/dist/submissions/runSubmission.js +92 -44
  324. package/dist/submissions/runSubmission.js.map +1 -1
  325. package/dist/submissions/types.d.ts +11 -4
  326. package/dist/submissions/validateSubmission.js +59 -10
  327. package/dist/submissions/validateSubmission.js.map +1 -1
  328. package/dist/submissions/votedCookie.d.ts +13 -0
  329. package/dist/submissions/votedCookie.js +27 -0
  330. package/dist/submissions/votedCookie.js.map +1 -0
  331. package/dist/translations/de.js +295 -0
  332. package/dist/translations/de.js.map +1 -0
  333. package/dist/translations/en.js +138 -23
  334. package/dist/translations/en.js.map +1 -1
  335. package/dist/translations/index.d.ts +2 -1
  336. package/dist/translations/index.js +6 -2
  337. package/dist/translations/index.js.map +1 -1
  338. package/dist/translations/keys.d.ts +134 -19
  339. package/dist/translations/keys.js +135 -20
  340. package/dist/translations/keys.js.map +1 -1
  341. package/dist/uploads/types.d.ts +1 -2
  342. package/dist/validation/buildRuleBlocks.js +18 -17
  343. package/dist/validation/buildRuleBlocks.js.map +1 -1
  344. package/dist/validation/builtin/email.js +1 -0
  345. package/dist/validation/builtin/email.js.map +1 -1
  346. package/dist/validation/builtin/matchesField.js +3 -7
  347. package/dist/validation/builtin/matchesField.js.map +1 -1
  348. package/dist/validation/builtin/max.js +1 -0
  349. package/dist/validation/builtin/max.js.map +1 -1
  350. package/dist/validation/builtin/maxDate.js +1 -0
  351. package/dist/validation/builtin/maxDate.js.map +1 -1
  352. package/dist/validation/builtin/maxLength.js +1 -0
  353. package/dist/validation/builtin/maxLength.js.map +1 -1
  354. package/dist/validation/builtin/min.js +1 -0
  355. package/dist/validation/builtin/min.js.map +1 -1
  356. package/dist/validation/builtin/minDate.js +1 -0
  357. package/dist/validation/builtin/minDate.js.map +1 -1
  358. package/dist/validation/builtin/minLength.js +1 -0
  359. package/dist/validation/builtin/minLength.js.map +1 -1
  360. package/dist/validation/builtin/notAlreadySubmitted.js +1 -0
  361. package/dist/validation/builtin/notAlreadySubmitted.js.map +1 -1
  362. package/dist/validation/builtin/oneOf.js +1 -0
  363. package/dist/validation/builtin/oneOf.js.map +1 -1
  364. package/dist/validation/builtin/pattern.js +11 -2
  365. package/dist/validation/builtin/pattern.js.map +1 -1
  366. package/dist/validation/builtin/url.js +1 -0
  367. package/dist/validation/builtin/url.js.map +1 -1
  368. package/dist/validation/builtin/validateRegexParams.js +44 -0
  369. package/dist/validation/builtin/validateRegexParams.js.map +1 -0
  370. package/dist/validation/fieldTargetParam.d.ts +22 -0
  371. package/dist/validation/fieldTargetParam.js +38 -0
  372. package/dist/validation/fieldTargetParam.js.map +1 -0
  373. package/dist/validation/runValidation.js +8 -29
  374. package/dist/validation/runValidation.js.map +1 -1
  375. package/dist/validation/types.d.ts +5 -11
  376. package/dist/validation/validateUrl.js +22 -0
  377. package/dist/validation/validateUrl.js.map +1 -0
  378. package/package.json +7 -6
  379. package/styles/form-builder.css +10 -0
  380. package/dist/collections/uploads.d.ts +0 -30
  381. package/dist/collections/uploads.js +0 -55
  382. package/dist/collections/uploads.js.map +0 -1
  383. package/dist/consent/buildConsentSourceConfig.js +0 -49
  384. package/dist/consent/buildConsentSourceConfig.js.map +0 -1
  385. package/dist/consent/builtin/index.d.ts +0 -7
  386. package/dist/consent/builtin/index.js +0 -11
  387. package/dist/consent/builtin/index.js.map +0 -1
  388. package/dist/consent/builtin/pageReference.js +0 -75
  389. package/dist/consent/builtin/pageReference.js.map +0 -1
  390. package/dist/consent/builtin/static.js +0 -44
  391. package/dist/consent/builtin/static.js.map +0 -1
  392. package/dist/consent/defineConsentSource.d.ts +0 -35
  393. package/dist/consent/defineConsentSource.js +0 -6
  394. package/dist/consent/defineConsentSource.js.map +0 -1
  395. package/dist/consent/registry.d.ts +0 -16
  396. package/dist/consent/registry.js +0 -16
  397. package/dist/consent/registry.js.map +0 -1
  398. package/dist/consent/resolveConsentLinks.d.ts +0 -19
  399. package/dist/consent/resolveConsentLinks.js +0 -26
  400. package/dist/consent/resolveConsentLinks.js.map +0 -1
  401. package/dist/presentations/registry.d.ts +0 -15
  402. package/dist/presentations/registry.js +0 -15
  403. package/dist/presentations/registry.js.map +0 -1
  404. package/dist/react/toFormDocument.d.ts +0 -24
  405. package/dist/react/toFormDocument.js +0 -22
  406. package/dist/react/toFormDocument.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","names":[],"sources":["../../src/translations/en.ts"],"sourcesContent":["import { keys, type TranslationKey } from './keys'\n\n/**\n * English values, keyed by the typed constants in `keys.ts` so the two stay in\n * lockstep. The `Record<TranslationKey, string>` annotation makes a missing or\n * unknown key a type error. `translations/index.ts` nests these for Payload.\n */\nexport const en: Record<TranslationKey, string> = {\n\t[keys.fieldTitle]: 'Title',\n\t[keys.fieldTypeText]: 'Text',\n\t[keys.fieldTypeTextarea]: 'Long text',\n\t[keys.fieldTypeEmail]: 'Email',\n\t[keys.fieldTypeNumber]: 'Number',\n\t[keys.fieldTypeSelect]: 'Select',\n\t[keys.fieldTypeCheckbox]: 'Checkbox',\n\t[keys.fieldTypeDate]: 'Date',\n\t[keys.configOptions]: 'Options',\n\t[keys.configOption]: 'Option',\n\t[keys.configOptionLabel]: 'Option label',\n\t[keys.configOptionValue]: 'Option value',\n\t[keys.validationRequired]: 'This field is required',\n\t[keys.validationEmail]: 'Enter a valid email address',\n\t[keys.validationNumber]: 'Enter a valid number',\n\t[keys.validationDate]: 'Enter a valid date',\n\t[keys.validationSelect]: 'Choose a valid option',\n\t[keys.validationEmailFieldUnknown]: 'Choose an existing email field on this form',\n\t[keys.formatYes]: 'Yes',\n\t[keys.formatNo]: 'No',\n\t[keys.configName]: 'Name',\n\t[keys.configLabel]: 'Label',\n\t[keys.configRequired]: 'Required',\n\t[keys.configWidth]: 'Width',\n\t[keys.configPlaceholder]: 'Placeholder',\n\t[keys.configDescription]: 'Description',\n\t[keys.configVisibleWhen]: 'Show this field when',\n\t[keys.configValidateWhen]: 'Validate this field only when',\n\t[keys.submissionAnswers]: 'Answers',\n\t[keys.submissionNoAnswers]: 'No answers',\n\t[keys.ruleMinLength]: 'Minimum length',\n\t[keys.ruleMaxLength]: 'Maximum length',\n\t[keys.ruleMin]: 'Minimum',\n\t[keys.ruleMax]: 'Maximum',\n\t[keys.ruleMinDate]: 'Earliest date',\n\t[keys.ruleMaxDate]: 'Latest date',\n\t[keys.rulePattern]: 'Pattern',\n\t[keys.ruleEmail]: 'Email',\n\t[keys.ruleUrl]: 'URL',\n\t[keys.ruleOneOf]: 'One of',\n\t[keys.ruleMatchesField]: 'Matches field',\n\t[keys.ruleNotAlreadySubmitted]: 'Not already submitted',\n\t[keys.ruleMinLengthMessage]: 'Must be at least {min} characters',\n\t[keys.ruleMaxLengthMessage]: 'Must be at most {max} characters',\n\t[keys.ruleMinMessage]: 'Must be at least {min}',\n\t[keys.ruleMaxMessage]: 'Must be at most {max}',\n\t[keys.ruleMinDateMessage]: 'Must be on or after {min}',\n\t[keys.ruleMaxDateMessage]: 'Must be on or before {max}',\n\t[keys.rulePatternMessage]: 'Invalid format',\n\t[keys.ruleEmailMessage]: 'Enter a valid email address',\n\t[keys.ruleUrlMessage]: 'Enter a valid URL',\n\t[keys.ruleOneOfMessage]: 'Choose an allowed value',\n\t[keys.ruleMatchesFieldMessage]: 'Does not match',\n\t[keys.ruleNotAlreadySubmittedMessage]: 'This value was already submitted',\n\t[keys.ruleParamMin]: 'Minimum',\n\t[keys.ruleParamMax]: 'Maximum',\n\t[keys.ruleParamMinDate]: 'Earliest date (YYYY-MM-DD)',\n\t[keys.ruleParamMaxDate]: 'Latest date (YYYY-MM-DD)',\n\t[keys.ruleParamPattern]: 'Pattern',\n\t[keys.ruleParamFlags]: 'Flags',\n\t[keys.ruleParamValues]: 'Allowed values',\n\t[keys.ruleParamField]: 'Field name',\n\t[keys.validationsLabel]: 'Validation rules',\n\t[keys.validationMessageLabel]: 'Custom message',\n\t[keys.validationSeverityLabel]: 'Severity',\n\t[keys.validationSeverityError]: 'Error',\n\t[keys.validationSeverityWarning]: 'Warning',\n\t[keys.conditionAddCondition]: 'Add condition',\n\t[keys.conditionAddOr]: 'Add \"or\" group',\n\t[keys.conditionAnd]: 'And',\n\t[keys.conditionOr]: 'Or',\n\t[keys.conditionRemove]: 'Remove',\n\t[keys.conditionNoFields]: 'Add named fields to this form to build a condition.',\n\t[keys.conditionEmpty]: 'No conditions. This field is always shown.',\n\t[keys.conditionSelectField]: 'Select a field',\n\t[keys.conditionTrue]: 'True',\n\t[keys.conditionFalse]: 'False',\n\t[keys.configHidden]: 'Hidden (capture without showing)',\n\t[keys.tabFields]: 'Fields',\n\t[keys.tabFlow]: 'Flow',\n\t[keys.tabActions]: 'Actions',\n\t[keys.tabField]: 'Field',\n\t[keys.tabValidation]: 'Validation',\n\t[keys.tabAdvanced]: 'Advanced',\n\t[keys.fieldTypeCalculation]: 'Calculation',\n\t[keys.configExpression]: 'Expression (JSON)',\n\t[keys.configExpressionDescription]:\n\t\t'Expression tree of nodes {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Example: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}',\n\t[keys.configCalcDisplay]: 'Show computed value',\n\t[keys.validationCalcExpressionInvalid]: 'Enter a valid calculation expression',\n\t[keys.configDefaultPresentation]: 'Presentation',\n\t[keys.presentationPage]: 'Page',\n\t[keys.presentationModal]: 'Modal',\n\t[keys.presentationDrawer]: 'Drawer',\n\t[keys.presentationInline]: 'Inline',\n\t[keys.actionEmailTeam]: 'Email team',\n\t[keys.actionConfirmation]: 'Confirmation email',\n\t[keys.actionSignedWebhook]: 'Signed webhook',\n\t[keys.actionConfigTo]: 'To',\n\t[keys.actionConfigSubject]: 'Subject',\n\t[keys.actionConfigBody]: 'Body',\n\t[keys.actionConfigBodyDescription]:\n\t\t'Supports {{ fieldName|fallback }} tokens, {{*}} for all answers as lines, and {{*:table}} for all answers as a table.',\n\t[keys.actionConfigToField]: 'Email field name',\n\t[keys.actionConfigToFieldDescription]:\n\t\t'The email field on this form the confirmation is sent to.',\n\t[keys.actionConfigUrl]: 'URL',\n\t[keys.actionConfigUrlDescription]:\n\t\t'The endpoint that receives a signed JSON POST for each submission.',\n\t[keys.actionConfigSecret]: 'Secret',\n\t[keys.actionConfigSecretDescription]:\n\t\t'HMAC key used for the X-Form-Signature header, shared with the receiver.',\n\t[keys.validationUrlInvalid]: 'Enter a valid http or https URL',\n\t[keys.configActions]: 'Actions',\n\t[keys.consentSourceStatic]: 'Static text',\n\t[keys.consentSourcePageReference]: 'Page reference',\n\t[keys.consentConfigLabel]: 'Label',\n\t[keys.consentConfigUrl]: 'URL',\n\t[keys.consentConfigVersion]: 'Version',\n\t[keys.consentConfigRelationTo]: 'Collection',\n\t[keys.consentConfigDocId]: 'Document ID',\n\t[keys.consentConfigUrlField]: 'URL field',\n\t[keys.consentConfigCaptureVersion]: 'Capture published version',\n\t[keys.fieldTypeConsent]: 'Consent',\n\t[keys.consentConfigStatement]: 'Statement',\n\t[keys.consentConfigSource]: 'Source',\n\t[keys.consentConfigSourceConfig]: 'Source settings',\n\t[keys.consentConfigOptional]: 'Optional (e.g. marketing)',\n\t[keys.resultsResponses]: 'responses',\n\t[keys.resultsNoResponses]: 'No responses yet',\n\t[keys.resultsTruncated]: 'Showing a sample of responses',\n\t[keys.configShowResults]: 'Show results publicly',\n\t[keys.configResultsField]: 'Results field (machine name)',\n\t[keys.validationFileMissing]: 'Upload a file',\n\t[keys.validationFileMimeType]: 'File type not allowed',\n\t[keys.validationFileTooLarge]: 'File is too large',\n\t[keys.fieldTypeFile]: 'File upload',\n\t[keys.fileConfigRelationTo]: 'Upload collection',\n\t[keys.fileConfigMimeTypes]: 'Allowed file types',\n\t[keys.fileConfigMaxSize]: 'Maximum size (bytes)',\n\t[keys.fileConfigMaxSizeDescription]: 'Files larger than this are rejected.',\n\t[keys.fileTooLarge]: 'File is too large (max {max})',\n\t[keys.fileHintAccepted]: 'Accepted: {types}',\n\t[keys.fileHintMaxSize]: 'Max size: {max}',\n\t[keys.spamRateLimited]: 'You have sent too many requests. Please try again later.',\n\t[keys.spamRejected]: 'Your submission could not be processed.',\n\t[keys.spamCaptchaFailed]: 'Captcha verification failed. Please try again.',\n\t[keys.collectionFormSingular]: 'Form',\n\t[keys.collectionFormPlural]: 'Forms',\n\t[keys.collectionSubmissionSingular]: 'Submission',\n\t[keys.collectionSubmissionPlural]: 'Submissions',\n\t[keys.statusComplete]: 'Complete',\n\t[keys.statusPartial]: 'Partial',\n\t[keys.fieldTypeRepeater]: 'Repeater',\n\t[keys.configMinRows]: 'Minimum rows',\n\t[keys.configMaxRows]: 'Maximum rows',\n\t[keys.configAddLabel]: 'Add button label',\n\t[keys.configSubFields]: 'Sub-fields',\n\t[keys.validationRepeaterMin]: 'Add at least {min} row(s)',\n\t[keys.validationRepeaterMax]: 'Remove rows to stay within {max}',\n\t[keys.repeaterAddRow]: 'Add row',\n\t[keys.repeaterRemoveRow]: 'Remove',\n\t[keys.repeaterRow]: 'Row {n}',\n\t[keys.repeaterRowCount]: '{count} row(s)',\n\t[keys.submissionConsent]: 'Consent',\n\t[keys.submissionDetails]: 'Submission details',\n\t[keys.submissionConsentAgreed]: 'Agreed',\n\t[keys.submissionConsentDeclined]: 'Declined',\n\t[keys.submissionMetaReceivedAt]: 'Received at',\n\t[keys.submissionMetaIp]: 'IP address',\n\t[keys.submissionMetaUserAgent]: 'User agent',\n\t[keys.submissionMetaCaptcha]: 'Captcha',\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"en.js","names":[],"sources":["../../src/translations/en.ts"],"sourcesContent":["import { keys, type TranslationKey } from './keys'\n\n/**\n * English values, keyed by the typed constants in `keys.ts` so the two stay in\n * lockstep. The `Record<TranslationKey, string>` annotation makes a missing or\n * unknown key a type error. `translations/index.ts` nests these for Payload.\n */\nexport const en: Record<TranslationKey, string> = {\n\t[keys.fieldTitle]: 'Title',\n\t[keys.fieldTypeText]: 'Text',\n\t[keys.fieldTypeTextarea]: 'Textarea',\n\t[keys.fieldTypeEmail]: 'Email',\n\t[keys.fieldTypeNumber]: 'Number',\n\t[keys.fieldTypeSelect]: 'Select',\n\t[keys.fieldTypeCountry]: 'Country',\n\t[keys.fieldTypeState]: 'State',\n\t[keys.fieldTypeCheckbox]: 'Checkbox',\n\t[keys.fieldTypeDate]: 'Date',\n\t[keys.configOptions]: 'Options',\n\t[keys.configOption]: 'Option',\n\t[keys.configOptionLabel]: 'Label',\n\t[keys.configOptionValue]: 'Value',\n\t[keys.validationRequired]: 'This field is required',\n\t[keys.validationEmail]: 'Enter a valid email address',\n\t[keys.validationNumber]: 'Enter a valid number',\n\t[keys.validationDate]: 'Enter a valid date',\n\t[keys.validationSelect]: 'Choose a valid option',\n\t[keys.validationCountry]: 'Choose a valid country',\n\t[keys.validationState]: 'Choose a valid state',\n\t[keys.validationRegexPattern]: 'Enter a valid regular expression',\n\t[keys.validationRegexFlags]: 'Enter valid regular expression flags, for example i or gi',\n\t[keys.validationEmailFieldUnknown]: 'Choose an existing email field on this form',\n\t[keys.validationResultsFieldUnknown]: 'Choose an eligible choice field on this form',\n\t[keys.formatYes]: 'Yes',\n\t[keys.formatNo]: 'No',\n\t[keys.configName]: 'Name',\n\t[keys.configLabel]: 'Label',\n\t[keys.configRequired]: 'Required',\n\t[keys.configWidth]: 'Width',\n\t[keys.configPlaceholder]: 'Placeholder',\n\t[keys.configDescription]: 'Description',\n\t[keys.configVisibleWhen]: 'Show this field when',\n\t[keys.configValidateWhen]: 'Validate this field only when',\n\t[keys.submissionAnswers]: 'Answers',\n\t[keys.submissionNoAnswers]: 'No answers',\n\t[keys.ruleMinLength]: 'Minimum length',\n\t[keys.ruleMaxLength]: 'Maximum length',\n\t[keys.ruleMin]: 'Minimum',\n\t[keys.ruleMax]: 'Maximum',\n\t[keys.ruleMinDate]: 'Earliest date',\n\t[keys.ruleMaxDate]: 'Latest date',\n\t[keys.rulePattern]: 'Pattern',\n\t[keys.ruleEmail]: 'Email',\n\t[keys.ruleUrl]: 'URL',\n\t[keys.ruleOneOf]: 'One of',\n\t[keys.ruleMatchesField]: 'Matches field',\n\t[keys.ruleNotAlreadySubmitted]: 'Not already submitted',\n\t[keys.ruleMinLengthMessage]: 'Must be at least {min} characters',\n\t[keys.ruleMaxLengthMessage]: 'Must be at most {max} characters',\n\t[keys.ruleMinMessage]: 'Must be at least {min}',\n\t[keys.ruleMaxMessage]: 'Must be at most {max}',\n\t[keys.ruleMinDateMessage]: 'Must be on or after {min}',\n\t[keys.ruleMaxDateMessage]: 'Must be on or before {max}',\n\t[keys.rulePatternMessage]: 'Invalid format',\n\t[keys.ruleEmailMessage]: 'Enter a valid email address',\n\t[keys.ruleUrlMessage]: 'Enter a valid URL',\n\t[keys.ruleOneOfMessage]: 'Choose an allowed value',\n\t[keys.ruleMatchesFieldMessage]: 'Does not match',\n\t[keys.ruleNotAlreadySubmittedMessage]: 'This value was already submitted',\n\t[keys.ruleMinLengthDescription]:\n\t\t'Fails when the entered text is shorter than the minimum number of characters.',\n\t[keys.ruleMaxLengthDescription]:\n\t\t'Fails when the entered text is longer than the maximum number of characters.',\n\t[keys.ruleMinDescription]: 'Fails when the entered number is below the minimum.',\n\t[keys.ruleMaxDescription]: 'Fails when the entered number is above the maximum.',\n\t[keys.ruleMinDateDescription]: 'Fails when the chosen date is earlier than the minimum date.',\n\t[keys.ruleMaxDateDescription]: 'Fails when the chosen date is later than the maximum date.',\n\t[keys.rulePatternDescription]:\n\t\t'Fails when the entered text does not match the regular expression.',\n\t[keys.ruleEmailDescription]: 'Fails when the entered value is not a valid email address.',\n\t[keys.ruleUrlDescription]: 'Fails when the entered value is not a valid http or https URL.',\n\t[keys.ruleOneOfDescription]:\n\t\t'Fails when the entered value is not one of the allowed values you list.',\n\t[keys.ruleMatchesFieldDescription]:\n\t\t\"Fails when this field's value does not equal the chosen field. Use it for confirm-email or confirm-password.\",\n\t[keys.ruleNotAlreadySubmittedDescription]:\n\t\t'Fails when this same value was already submitted to this form (checked on the server).',\n\t[keys.ruleFieldTargetInvalid]: 'The selected field no longer exists. Choose a valid field.',\n\t[keys.ruleParamMin]: 'Minimum',\n\t[keys.ruleParamMax]: 'Maximum',\n\t[keys.ruleParamMinDate]: 'Earliest date (YYYY-MM-DD)',\n\t[keys.ruleParamMaxDate]: 'Latest date (YYYY-MM-DD)',\n\t[keys.ruleParamPattern]: 'Pattern',\n\t[keys.ruleParamFlags]: 'Flags',\n\t[keys.ruleParamValues]: 'Allowed values',\n\t[keys.ruleParamField]: 'Field name',\n\t[keys.validationsLabel]: 'Validation rules',\n\t[keys.validationMessageLabel]: 'Custom message',\n\t[keys.conditionAddCondition]: 'Add condition',\n\t[keys.conditionAddOr]: 'Add \"or\" group',\n\t[keys.conditionAnd]: 'And',\n\t[keys.conditionOr]: 'Or',\n\t[keys.conditionRemove]: 'Remove',\n\t[keys.conditionNoFields]: 'Add named fields to this form to build a condition.',\n\t[keys.conditionEmpty]: 'No conditions. This field is always shown.',\n\t[keys.conditionSelectField]: 'Select a field',\n\t[keys.conditionTrue]: 'True',\n\t[keys.conditionFalse]: 'False',\n\t[keys.configHidden]: 'Hidden (capture without showing)',\n\t[keys.tabFields]: 'Fields',\n\t[keys.tabFlow]: 'Flow',\n\t[keys.tabActions]: 'Actions',\n\t[keys.tabField]: 'Field',\n\t[keys.tabValidation]: 'Validation',\n\t[keys.tabAdvanced]: 'Advanced',\n\t[keys.fieldTypeCalculation]: 'Calculation',\n\t[keys.configExpression]: 'Expression (JSON)',\n\t[keys.configExpressionDescription]:\n\t\t'Expression tree of nodes {\"type\":\"lit\"|\"ref\"|\"op\"|\"neg\"|\"fn\"|\"weight\"}. Example: {\"type\":\"op\",\"op\":\"+\",\"left\":{\"type\":\"ref\",\"field\":\"qty\"},\"right\":{\"type\":\"lit\",\"value\":10}}',\n\t[keys.configCalcDisplay]: 'Show computed value',\n\t[keys.validationCalcExpressionInvalid]: 'Enter a valid calculation expression',\n\t[keys.presentationPage]: 'Page',\n\t[keys.presentationModal]: 'Modal',\n\t[keys.presentationDrawer]: 'Drawer',\n\t[keys.presentationInline]: 'Inline',\n\t[keys.actionEmailTeam]: 'Email team',\n\t[keys.actionConfirmation]: 'Confirmation email',\n\t[keys.actionSignedWebhook]: 'Signed webhook',\n\t[keys.actionConfigTo]: 'To',\n\t[keys.actionConfigSubject]: 'Subject',\n\t[keys.actionConfigBody]: 'Body',\n\t[keys.actionConfigBodyDescription]:\n\t\t'Supports {{ fieldName|fallback }} tokens, {{*}} for all answers as lines, and {{*:table}} for all answers as a table.',\n\t[keys.actionConfigToField]: 'Email field name',\n\t[keys.actionConfigToFieldDescription]:\n\t\t'The email field on this form the confirmation is sent to.',\n\t[keys.actionConfigFrom]: 'From',\n\t[keys.actionConfigFromDescription]:\n\t\t'Sender address for this action. Leave empty to use the email adapter default.',\n\t[keys.actionConfigCc]: 'CC',\n\t[keys.actionConfigBcc]: 'BCC',\n\t[keys.actionConfigReplyTo]: 'Reply-to',\n\t[keys.validationFromUnknown]: 'Choose one of the configured from addresses',\n\t[keys.validationFromUnavailable]:\n\t\t'From addresses are currently unavailable. Please try again later.',\n\t[keys.validationToUnknown]: 'Choose one of the configured departments',\n\t[keys.validationToUnavailable]: 'Departments are currently unavailable. Please try again later.',\n\t[keys.actionConfigUrl]: 'URL',\n\t[keys.actionConfigUrlDescription]:\n\t\t'The endpoint that receives a signed JSON POST for each submission.',\n\t[keys.actionConfigSecret]: 'Secret',\n\t[keys.actionConfigSecretDescription]:\n\t\t'HMAC key used for the X-Form-Signature header, shared with the receiver.',\n\t[keys.validationUrlInvalid]: 'Enter a valid http or https URL',\n\t[keys.configActions]: 'Actions',\n\t[keys.fieldTypeConsent]: 'Consent',\n\t[keys.consentConfigSource]: 'Source',\n\t[keys.consentConfigSourceDescription]:\n\t\t'The statement the visitor agrees to. Its wording and policy page live with the source, so an edit there applies to every form using it.',\n\t[keys.consentSourcesField]: 'Consent sources',\n\t[keys.consentSourcesFieldDescription]: 'Statements forms can utilize in consent fields',\n\t[keys.consentSourceSingular]: 'Consent source',\n\t[keys.consentSourcePlural]: 'Consent sources',\n\t[keys.consentSourceLabel]: 'Name',\n\t[keys.consentSourceStatement]: 'Statement',\n\t[keys.consentSourcePage]: 'Statement source',\n\t[keys.consentSourcePageDescription]:\n\t\t'Must be set if you want form submissions to save a reference to your policy.',\n\t[keys.consentSourcesUnavailable]: 'Consent sources are unavailable. Try again shortly.',\n\t[keys.resultsResponses]: 'responses',\n\t[keys.resultsNoResponses]: 'No responses yet',\n\t[keys.resultsTruncated]: 'Showing a sample of responses',\n\t[keys.pollGroup]: 'Poll',\n\t[keys.pollResultsField]: 'Vote field',\n\t[keys.pollResultsFieldDescription]:\n\t\t'The choice field whose answers are counted as votes. Auto-selected when your form has one choice field. Use a choice field, never a free-text or PII field.',\n\t[keys.pollVoteFieldChoose]: \"Choose which field's answers count as votes.\",\n\t[keys.pollVoteFieldMissing]: 'Add a choice field to use as the poll question.',\n\t[keys.pollResultsVisibility]: 'Results visibility',\n\t[keys.pollVisibilityAfterVote]: 'After voting',\n\t[keys.pollVisibilityAfterClose]: 'After the poll closes',\n\t[keys.pollClosesAt]: 'Closes at',\n\t[keys.pollClosed]: 'This poll is closed.',\n\t[keys.pollResultsAfterClose]: 'Results will be shown after the poll closes.',\n\t[keys.pollOptionSource]: 'Option source',\n\t[keys.pollOptionSourceDescription]:\n\t\t'Populate the results field choices from app data instead of hand-authored options.',\n\t[keys.pollSourceConfig]: 'Source settings',\n\t[keys.pollOutcome]: 'Outcome',\n\t[keys.pollType]: 'Outcome type',\n\t[keys.pollTypeDescription]: 'How the winning option is decided when the poll closes.',\n\t[keys.pollTypeManual]: 'Set the winner manually',\n\t[keys.pollTypeMostVoted]: 'Most-voted option wins',\n\t[keys.pollTypeSource]: 'Winner from the option source',\n\t[keys.pollCloseButton]: 'Close poll now',\n\t[keys.pollReopenButton]: 'Reopen poll',\n\t[keys.pollCloseHintManual]: 'Closing records the selected winner as the result.',\n\t[keys.pollCloseHintMostVoted]: 'Closing now picks the most-voted option as the winner.',\n\t[keys.pollCloseHintSource]: 'Closing now resolves the winner from the option source.',\n\t[keys.pollReopenHint]: 'Reopening clears the recorded winner and lets people vote again.',\n\t[keys.pollCloseNeedsWinner]: 'Select a winning value first.',\n\t[keys.pollCloseManualNoWinner]: 'Set a winner before closing the poll.',\n\t[keys.pollWinningValue]: 'Winning values',\n\t[keys.pollWinningValueDescription]:\n\t\t'Pick the winning option once the outcome is decided, or several on a tie. Saving records the resolution time; clear them to reopen the outcome.',\n\t[keys.pollResolvedAt]: 'Resolved at',\n\t[keys.validationWinningValueUnknown]: 'The winning value must be one of the poll options.',\n\t[keys.validationWinningValueDisabled]: 'Enable the poll before recording an outcome.',\n\t[keys.endpointOptionsLoading]: 'Loading options...',\n\t[keys.endpointOptionsError]: 'Options could not be loaded.',\n\t[keys.pollOptionsUnavailable]: 'Poll options are currently unavailable. Please try again later.',\n\t[keys.pollFinalResult]: 'Final result',\n\t[keys.resultsWinner]: 'Winner',\n\t[keys.validationFileMissing]: 'Upload a file',\n\t[keys.validationFileMimeType]: 'File type not allowed',\n\t[keys.validationFileTooLarge]: 'File is too large',\n\t[keys.fieldTypeFile]: 'File upload',\n\t[keys.fileConfigMimeTypes]: 'Allowed file types',\n\t[keys.fileConfigMaxSize]: 'Maximum size (bytes)',\n\t[keys.fileConfigMaxSizeDescription]: 'Files larger than this are rejected.',\n\t[keys.fileTooLarge]: 'File is too large (max {max})',\n\t[keys.fileUploadMisconfigured]: 'File uploads are not configured for this form',\n\t[keys.fileHintAccepted]: 'Accepted: {types}',\n\t[keys.fileHintMaxSize]: 'Max size: {max}',\n\t[keys.spamRateLimited]: 'You have sent too many requests. Please try again later.',\n\t[keys.spamRejected]: 'Your submission could not be processed.',\n\t[keys.spamCaptchaFailed]: 'Captcha verification failed. Please try again.',\n\t[keys.collectionFormSingular]: 'Form',\n\t[keys.collectionFormPlural]: 'Forms',\n\t[keys.collectionSubmissionSingular]: 'Submission',\n\t[keys.collectionSubmissionPlural]: 'Submissions',\n\t[keys.statusComplete]: 'Complete',\n\t[keys.statusPartial]: 'Partial',\n\t[keys.fieldTypeRepeater]: 'Repeater',\n\t[keys.configMinRows]: 'Minimum rows',\n\t[keys.configMaxRows]: 'Maximum rows',\n\t[keys.configAddLabel]: 'Add button label',\n\t[keys.configSubFields]: 'Sub-fields',\n\t[keys.validationRepeaterMin]: 'Add at least {min} row(s)',\n\t[keys.validationRepeaterMax]: 'Remove rows to stay within {max}',\n\t[keys.repeaterAddRow]: 'Add row',\n\t[keys.repeaterRemoveRow]: 'Remove',\n\t[keys.repeaterRow]: 'Row {n}',\n\t[keys.repeaterRowCount]: '{count} row(s)',\n\t[keys.submissionConsent]: 'Consent',\n\t[keys.submissionDetails]: 'Submission details',\n\t[keys.submissionConsentAgreed]: 'Agreed',\n\t[keys.submissionConsentDeclined]: 'Declined',\n\t[keys.submissionMetaLocale]: 'Locale',\n\t[keys.submissionMetaReceivedAt]: 'Received at',\n\t[keys.submissionMetaIp]: 'IP address',\n\t[keys.submissionMetaUserAgent]: 'User agent',\n\t[keys.submissionMetaCaptcha]: 'Captcha',\n\t[keys.flowDescription]:\n\t\t'Only needed for multi-step forms: group fields into steps and route between them. Leave empty to show the form as a single page.',\n\t[keys.flowStepFallbackTitle]: 'Step {n}',\n\t[keys.flowFieldInStep]: 'in {step}',\n\t[keys.flowUnassigned]: 'Not in any step',\n\t[keys.flowAssignToStep]: 'Add to step',\n\t[keys.flowNextSequential]: 'Next step in order',\n\t[keys.flowNextTerminal]: 'End of form',\n\t[keys.flowFields]: 'Fields',\n\t[keys.flowDefaultNext]: 'Default next',\n\t[keys.flowConditionalTransitions]: 'Conditional transitions',\n\t[keys.flowStepTitleLabel]: 'Title',\n\t[keys.flowSelectStepPlaceholder]: 'Select step…',\n\t[keys.flowMoveTransitionUp]: 'Move transition up',\n\t[keys.flowMoveTransitionDown]: 'Move transition down',\n\t[keys.flowRemoveTransition]: 'Remove transition',\n\t[keys.flowAddAbove]: 'Add above',\n\t[keys.flowAddBelow]: 'Add below',\n\t[keys.flowGoTo]: 'go to',\n\t[keys.flowWhen]: 'when',\n\t[keys.flowNoFields]: 'No fields defined on the form yet.',\n\t[keys.flowFirstMatchWins]: '(first match wins)',\n\t[keys.flowAddTransition]: 'Add transition',\n\t[keys.flowNoSteps]: 'No steps defined. Add at least two steps to enable multi-page flow routing.',\n\t[keys.flowFallbackTitle]: 'Flow',\n\t[keys.fieldTypeMessage]: 'Message',\n\t[keys.configContent]: 'Content',\n\t[keys.tabResponse]: 'Response',\n\t[keys.responseType]: 'After submit',\n\t[keys.responseTypeMessage]: 'Show a message',\n\t[keys.responseTypeRedirect]: 'Redirect to a URL',\n\t[keys.responseMessage]: 'Message',\n\t[keys.responseRedirect]: 'Redirect',\n\t[keys.responseUrl]: 'URL',\n\t[keys.responseRedirectReference]: 'Document',\n\t[keys.responseRedirectReferenceDescription]: 'Redirect to an internal document instead of a URL',\n\t[keys.buttonsSubmitLabel]: 'Submit button label',\n\t[keys.buttonsNextLabel]: 'Next button label',\n\t[keys.buttonsPrevLabel]: 'Previous button label',\n\t[keys.formBack]: 'Back',\n\t[keys.formNext]: 'Next',\n\t[keys.formSubmit]: 'Submit',\n\t[keys.formMultistep]: 'Multi-step',\n\t[keys.formPollEnabled]: 'Poll',\n\t[keys.cellStepCountOne]: '{{count}} step',\n\t[keys.cellStepCountOther]: '{{count}} steps',\n\t[keys.cellFieldCountOne]: '{{count}} Field',\n\t[keys.cellFieldCountOther]: '{{count}} Fields',\n\t[keys.departmentsField]: 'Department emails',\n\t[keys.departmentsFieldDescription]:\n\t\t'Addresses a form can route submissions to, each shown by its label.',\n\t[keys.departmentSingular]: 'Department email',\n\t[keys.departmentPlural]: 'Department emails',\n\t[keys.departmentLabel]: 'Label',\n\t[keys.departmentEmail]: 'Email',\n\t[keys.departmentAddRow]: 'Add email',\n\t[keys.departmentRemoveRow]: 'Remove email',\n}\n"],"mappings":"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"}
@@ -5,9 +5,10 @@ import { TranslationKey, keys } from "./keys.js";
5
5
  type TranslationsOption = {
6
6
  [locale: string]: Partial<Record<TranslationKey, string>>;
7
7
  };
8
- /** Per-locale messages merged into `config.i18n.translations`. English only for now. */
8
+ /** Per-locale messages merged into `config.i18n.translations`. */
9
9
  declare const translations: {
10
10
  en: Record<string, Record<string, string>>;
11
+ de: Record<string, Record<string, string>>;
11
12
  };
12
13
  //#endregion
13
14
  export { TranslationsOption, translations };
@@ -1,4 +1,5 @@
1
1
  import "./keys.js";
2
+ import { de } from "./de.js";
2
3
  import { en } from "./en.js";
3
4
  //#region src/translations/index.ts
4
5
  /**
@@ -18,8 +19,11 @@ const toNested = (flat) => {
18
19
  }
19
20
  return out;
20
21
  };
21
- /** Per-locale messages merged into `config.i18n.translations`. English only for now. */
22
- const translations = { en: toNested(en) };
22
+ /** Per-locale messages merged into `config.i18n.translations`. */
23
+ const translations = {
24
+ en: toNested(en),
25
+ de: toNested(de)
26
+ };
23
27
  //#endregion
24
28
  export { toNested, translations };
25
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/translations/index.ts"],"sourcesContent":["import { en } from './en'\nimport type { TranslationKey } from './keys'\n\nexport type { TranslationKey } from './keys'\nexport { keys } from './keys'\n\n/** Per-locale string overrides keyed by this plugin's typed translation keys. */\nexport type TranslationsOption = {\n\t[locale: string]: Partial<Record<TranslationKey, string>>\n}\n\n/**\n * Flat `formBuilder:foo` entries to the nested `{ formBuilder: { foo } }`\n * shape Payload resolves `t('formBuilder:foo')` against (it splits on `:`).\n * Undefined values are skipped so `Partial` override maps pass through.\n */\nexport const toNested = (flat: {\n\t[key: string]: string | undefined\n}): Record<string, Record<string, string>> => {\n\tconst out: Record<string, Record<string, string>> = {}\n\tfor (const [fullKey, value] of Object.entries(flat)) {\n\t\tif (typeof value !== 'string') {\n\t\t\tcontinue\n\t\t}\n\t\tconst separator = fullKey.indexOf(':')\n\t\tconst namespace = fullKey.slice(0, separator)\n\t\tconst bucket = out[namespace] ?? {}\n\t\tbucket[fullKey.slice(separator + 1)] = value\n\t\tout[namespace] = bucket\n\t}\n\treturn out\n}\n\n/** Per-locale messages merged into `config.i18n.translations`. English only for now. */\nexport const translations = {\n\ten: toNested(en),\n}\n"],"mappings":";;;;;;;;AAgBA,MAAa,YAAY,SAEqB;CAC7C,MAAM,MAA8C,CAAC;CACrD,KAAK,MAAM,CAAC,SAAS,UAAU,OAAO,QAAQ,IAAI,GAAG;EACpD,IAAI,OAAO,UAAU,UACpB;EAED,MAAM,YAAY,QAAQ,QAAQ,GAAG;EACrC,MAAM,YAAY,QAAQ,MAAM,GAAG,SAAS;EAC5C,MAAM,SAAS,IAAI,cAAc,CAAC;EAClC,OAAO,QAAQ,MAAM,YAAY,CAAC,KAAK;EACvC,IAAI,aAAa;CAClB;CACA,OAAO;AACR;;AAGA,MAAa,eAAe,EAC3B,IAAI,SAAS,EAAE,EAChB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/translations/index.ts"],"sourcesContent":["import { de } from './de'\nimport { en } from './en'\nimport type { TranslationKey } from './keys'\n\nexport type { TranslationKey } from './keys'\nexport { keys } from './keys'\n\n/** Per-locale string overrides keyed by this plugin's typed translation keys. */\nexport type TranslationsOption = {\n\t[locale: string]: Partial<Record<TranslationKey, string>>\n}\n\n/**\n * Flat `formBuilder:foo` entries to the nested `{ formBuilder: { foo } }`\n * shape Payload resolves `t('formBuilder:foo')` against (it splits on `:`).\n * Undefined values are skipped so `Partial` override maps pass through.\n */\nexport const toNested = (flat: {\n\t[key: string]: string | undefined\n}): Record<string, Record<string, string>> => {\n\tconst out: Record<string, Record<string, string>> = {}\n\tfor (const [fullKey, value] of Object.entries(flat)) {\n\t\tif (typeof value !== 'string') {\n\t\t\tcontinue\n\t\t}\n\t\tconst separator = fullKey.indexOf(':')\n\t\tconst namespace = fullKey.slice(0, separator)\n\t\tconst bucket = out[namespace] ?? {}\n\t\tbucket[fullKey.slice(separator + 1)] = value\n\t\tout[namespace] = bucket\n\t}\n\treturn out\n}\n\n/** Per-locale messages merged into `config.i18n.translations`. */\nexport const translations = {\n\ten: toNested(en),\n\tde: toNested(de),\n}\n"],"mappings":";;;;;;;;;AAiBA,MAAa,YAAY,SAEqB;CAC7C,MAAM,MAA8C,CAAC;CACrD,KAAK,MAAM,CAAC,SAAS,UAAU,OAAO,QAAQ,IAAI,GAAG;EACpD,IAAI,OAAO,UAAU,UACpB;EAED,MAAM,YAAY,QAAQ,QAAQ,GAAG;EACrC,MAAM,YAAY,QAAQ,MAAM,GAAG,SAAS;EAC5C,MAAM,SAAS,IAAI,cAAc,CAAC;EAClC,OAAO,QAAQ,MAAM,YAAY,CAAC,KAAK;EACvC,IAAI,aAAa;CAClB;CACA,OAAO;AACR;;AAGA,MAAa,eAAe;CAC3B,IAAI,SAAS,EAAE;CACf,IAAI,SAAS,EAAE;AAChB"}
@@ -11,6 +11,8 @@ declare const keys: {
11
11
  readonly fieldTypeEmail: "formBuilder:fieldType.email";
12
12
  readonly fieldTypeNumber: "formBuilder:fieldType.number";
13
13
  readonly fieldTypeSelect: "formBuilder:fieldType.select";
14
+ readonly fieldTypeCountry: "formBuilder:fieldType.country";
15
+ readonly fieldTypeState: "formBuilder:fieldType.state";
14
16
  readonly fieldTypeCheckbox: "formBuilder:fieldType.checkbox";
15
17
  readonly fieldTypeDate: "formBuilder:fieldType.date";
16
18
  readonly configOptions: "formBuilder:config.options";
@@ -22,7 +24,12 @@ declare const keys: {
22
24
  readonly validationNumber: "formBuilder:validation.number";
23
25
  readonly validationDate: "formBuilder:validation.date";
24
26
  readonly validationSelect: "formBuilder:validation.select";
27
+ readonly validationCountry: "formBuilder:validation.country";
28
+ readonly validationState: "formBuilder:validation.state";
29
+ readonly validationRegexPattern: "formBuilder:validation.regexPattern";
30
+ readonly validationRegexFlags: "formBuilder:validation.regexFlags";
25
31
  readonly validationEmailFieldUnknown: "formBuilder:validation.emailFieldUnknown";
32
+ readonly validationResultsFieldUnknown: "formBuilder:validation.resultsFieldUnknown";
26
33
  readonly formatYes: "formBuilder:format.yes";
27
34
  readonly formatNo: "formBuilder:format.no";
28
35
  readonly configName: "formBuilder:config.name";
@@ -59,6 +66,19 @@ declare const keys: {
59
66
  readonly ruleOneOfMessage: "formBuilder:rule.oneOf.message";
60
67
  readonly ruleMatchesFieldMessage: "formBuilder:rule.matchesField.message";
61
68
  readonly ruleNotAlreadySubmittedMessage: "formBuilder:rule.notAlreadySubmitted.message";
69
+ readonly ruleMinLengthDescription: "formBuilder:rule.minLength.description";
70
+ readonly ruleMaxLengthDescription: "formBuilder:rule.maxLength.description";
71
+ readonly ruleMinDescription: "formBuilder:rule.min.description";
72
+ readonly ruleMaxDescription: "formBuilder:rule.max.description";
73
+ readonly ruleMinDateDescription: "formBuilder:rule.minDate.description";
74
+ readonly ruleMaxDateDescription: "formBuilder:rule.maxDate.description";
75
+ readonly rulePatternDescription: "formBuilder:rule.pattern.description";
76
+ readonly ruleEmailDescription: "formBuilder:rule.email.description";
77
+ readonly ruleUrlDescription: "formBuilder:rule.url.description";
78
+ readonly ruleOneOfDescription: "formBuilder:rule.oneOf.description";
79
+ readonly ruleMatchesFieldDescription: "formBuilder:rule.matchesField.description";
80
+ readonly ruleNotAlreadySubmittedDescription: "formBuilder:rule.notAlreadySubmitted.description";
81
+ readonly ruleFieldTargetInvalid: "formBuilder:rule.fieldTargetInvalid";
62
82
  readonly ruleParamMin: "formBuilder:rule.param.min";
63
83
  readonly ruleParamMax: "formBuilder:rule.param.max";
64
84
  readonly ruleParamMinDate: "formBuilder:rule.param.minDate";
@@ -69,9 +89,6 @@ declare const keys: {
69
89
  readonly ruleParamField: "formBuilder:rule.param.field";
70
90
  readonly validationsLabel: "formBuilder:validations.label";
71
91
  readonly validationMessageLabel: "formBuilder:validations.message";
72
- readonly validationSeverityLabel: "formBuilder:validations.severity";
73
- readonly validationSeverityError: "formBuilder:validations.severity.error";
74
- readonly validationSeverityWarning: "formBuilder:validations.severity.warning";
75
92
  readonly conditionAddCondition: "formBuilder:condition.addCondition";
76
93
  readonly conditionAddOr: "formBuilder:condition.addOr";
77
94
  readonly conditionAnd: "formBuilder:condition.and";
@@ -94,7 +111,6 @@ declare const keys: {
94
111
  readonly configExpressionDescription: "formBuilder:config.expressionDescription";
95
112
  readonly configCalcDisplay: "formBuilder:config.calcDisplay";
96
113
  readonly validationCalcExpressionInvalid: "formBuilder:validation.calcExpressionInvalid";
97
- readonly configDefaultPresentation: "formBuilder:config.defaultPresentation";
98
114
  readonly presentationPage: "formBuilder:presentation.page";
99
115
  readonly presentationModal: "formBuilder:presentation.modal";
100
116
  readonly presentationDrawer: "formBuilder:presentation.drawer";
@@ -108,40 +124,83 @@ declare const keys: {
108
124
  readonly actionConfigBodyDescription: "formBuilder:action.config.bodyDescription";
109
125
  readonly actionConfigToField: "formBuilder:action.config.toField";
110
126
  readonly actionConfigToFieldDescription: "formBuilder:action.config.toFieldDescription";
127
+ readonly actionConfigFrom: "formBuilder:action.config.from";
128
+ readonly actionConfigFromDescription: "formBuilder:action.config.fromDescription";
129
+ readonly actionConfigCc: "formBuilder:action.config.cc";
130
+ readonly actionConfigBcc: "formBuilder:action.config.bcc";
131
+ readonly actionConfigReplyTo: "formBuilder:action.config.replyTo";
132
+ readonly validationFromUnknown: "formBuilder:validation.fromUnknown";
133
+ readonly validationFromUnavailable: "formBuilder:validation.fromUnavailable";
134
+ readonly validationToUnknown: "formBuilder:validation.toUnknown";
135
+ readonly validationToUnavailable: "formBuilder:validation.toUnavailable";
111
136
  readonly actionConfigUrl: "formBuilder:action.config.url";
112
137
  readonly actionConfigUrlDescription: "formBuilder:action.config.urlDescription";
113
138
  readonly actionConfigSecret: "formBuilder:action.config.secret";
114
139
  readonly actionConfigSecretDescription: "formBuilder:action.config.secretDescription";
115
140
  readonly validationUrlInvalid: "formBuilder:validation.urlInvalid";
116
141
  readonly configActions: "formBuilder:config.actions";
117
- readonly consentSourceStatic: "formBuilder:consentSource.static";
118
- readonly consentSourcePageReference: "formBuilder:consentSource.pageReference";
119
- readonly consentConfigLabel: "formBuilder:consent.config.label";
120
- readonly consentConfigUrl: "formBuilder:consent.config.url";
121
- readonly consentConfigVersion: "formBuilder:consent.config.version";
122
- readonly consentConfigRelationTo: "formBuilder:consent.config.relationTo";
123
- readonly consentConfigDocId: "formBuilder:consent.config.docId";
124
- readonly consentConfigUrlField: "formBuilder:consent.config.urlField";
125
- readonly consentConfigCaptureVersion: "formBuilder:consent.config.captureVersion";
126
142
  readonly fieldTypeConsent: "formBuilder:fieldType.consent";
127
- readonly consentConfigStatement: "formBuilder:consent.config.statement";
128
143
  readonly consentConfigSource: "formBuilder:consent.config.source";
129
- readonly consentConfigSourceConfig: "formBuilder:consent.config.sourceConfig";
130
- readonly consentConfigOptional: "formBuilder:consent.config.optional";
144
+ readonly consentConfigSourceDescription: "formBuilder:consent.config.sourceDescription";
145
+ readonly consentSourcesField: "formBuilder:consentSources.field";
146
+ readonly consentSourcesFieldDescription: "formBuilder:consentSources.fieldDescription";
147
+ readonly consentSourceSingular: "formBuilder:consentSources.singular";
148
+ readonly consentSourcePlural: "formBuilder:consentSources.plural";
149
+ readonly consentSourceLabel: "formBuilder:consentSources.label";
150
+ readonly consentSourceStatement: "formBuilder:consentSources.statement";
151
+ readonly consentSourcePage: "formBuilder:consentSources.page";
152
+ readonly consentSourcePageDescription: "formBuilder:consentSources.pageDescription";
153
+ readonly consentSourcesUnavailable: "formBuilder:consent.sourcesUnavailable";
131
154
  readonly resultsResponses: "formBuilder:results.responses";
132
155
  readonly resultsNoResponses: "formBuilder:results.noResponses";
133
156
  readonly resultsTruncated: "formBuilder:results.truncated";
134
- readonly configShowResults: "formBuilder:config.showResults";
135
- readonly configResultsField: "formBuilder:config.resultsField";
157
+ readonly pollGroup: "formBuilder:poll.group";
158
+ readonly pollResultsField: "formBuilder:poll.resultsField";
159
+ readonly pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription";
160
+ readonly pollVoteFieldChoose: "formBuilder:poll.voteFieldChoose";
161
+ readonly pollVoteFieldMissing: "formBuilder:poll.voteFieldMissing";
162
+ readonly pollResultsVisibility: "formBuilder:poll.resultsVisibility";
163
+ readonly pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote";
164
+ readonly pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose";
165
+ readonly pollClosesAt: "formBuilder:poll.closesAt";
166
+ readonly pollClosed: "formBuilder:poll.closed";
167
+ readonly pollResultsAfterClose: "formBuilder:poll.resultsAfterClose";
168
+ readonly pollOptionSource: "formBuilder:poll.optionSource";
169
+ readonly pollOptionSourceDescription: "formBuilder:poll.optionSourceDescription";
170
+ readonly pollSourceConfig: "formBuilder:poll.sourceConfig";
171
+ readonly pollOutcome: "formBuilder:poll.outcome";
172
+ readonly pollType: "formBuilder:poll.type";
173
+ readonly pollTypeDescription: "formBuilder:poll.typeDescription";
174
+ readonly pollTypeManual: "formBuilder:poll.type.manual";
175
+ readonly pollTypeMostVoted: "formBuilder:poll.type.mostVoted";
176
+ readonly pollTypeSource: "formBuilder:poll.type.source";
177
+ readonly pollCloseButton: "formBuilder:poll.close.button";
178
+ readonly pollReopenButton: "formBuilder:poll.reopen.button";
179
+ readonly pollCloseHintManual: "formBuilder:poll.close.hintManual";
180
+ readonly pollCloseHintMostVoted: "formBuilder:poll.close.hintMostVoted";
181
+ readonly pollCloseHintSource: "formBuilder:poll.close.hintSource";
182
+ readonly pollReopenHint: "formBuilder:poll.reopen.hint";
183
+ readonly pollCloseNeedsWinner: "formBuilder:poll.close.needsWinner";
184
+ readonly pollCloseManualNoWinner: "formBuilder:poll.close.manualNoWinner";
185
+ readonly pollWinningValue: "formBuilder:poll.winningValue";
186
+ readonly pollWinningValueDescription: "formBuilder:poll.winningValueDescription";
187
+ readonly pollResolvedAt: "formBuilder:poll.resolvedAt";
188
+ readonly validationWinningValueUnknown: "formBuilder:validation.winningValueUnknown";
189
+ readonly validationWinningValueDisabled: "formBuilder:validation.winningValueDisabled";
190
+ readonly endpointOptionsLoading: "formBuilder:endpointOptions.loading";
191
+ readonly endpointOptionsError: "formBuilder:endpointOptions.error";
192
+ readonly pollOptionsUnavailable: "formBuilder:poll.optionsUnavailable";
193
+ readonly pollFinalResult: "formBuilder:poll.finalResult";
194
+ readonly resultsWinner: "formBuilder:results.winner";
136
195
  readonly validationFileMissing: "formBuilder:validation.file.missing";
137
196
  readonly validationFileMimeType: "formBuilder:validation.file.mimeType";
138
197
  readonly validationFileTooLarge: "formBuilder:validation.file.tooLarge";
139
198
  readonly fieldTypeFile: "formBuilder:fieldType.file";
140
- readonly fileConfigRelationTo: "formBuilder:file.config.relationTo";
141
199
  readonly fileConfigMimeTypes: "formBuilder:file.config.mimeTypes";
142
200
  readonly fileConfigMaxSize: "formBuilder:file.config.maxSize";
143
201
  readonly fileConfigMaxSizeDescription: "formBuilder:file.config.maxSizeDescription";
144
202
  readonly fileTooLarge: "formBuilder:file.tooLarge";
203
+ readonly fileUploadMisconfigured: "formBuilder:file.uploadMisconfigured";
145
204
  readonly fileHintAccepted: "formBuilder:file.hint.accepted";
146
205
  readonly fileHintMaxSize: "formBuilder:file.hint.maxSize";
147
206
  readonly spamRateLimited: "formBuilder:spam.rateLimited";
@@ -168,10 +227,66 @@ declare const keys: {
168
227
  readonly submissionDetails: "formBuilder:submission.details";
169
228
  readonly submissionConsentAgreed: "formBuilder:submission.consentAgreed";
170
229
  readonly submissionConsentDeclined: "formBuilder:submission.consentDeclined";
230
+ readonly submissionMetaLocale: "formBuilder:submission.meta.locale";
171
231
  readonly submissionMetaReceivedAt: "formBuilder:submission.meta.receivedAt";
172
232
  readonly submissionMetaIp: "formBuilder:submission.meta.ip";
173
233
  readonly submissionMetaUserAgent: "formBuilder:submission.meta.userAgent";
174
234
  readonly submissionMetaCaptcha: "formBuilder:submission.meta.captcha";
235
+ readonly flowDescription: "formBuilder:flow.description";
236
+ readonly flowStepFallbackTitle: "formBuilder:flow.stepFallbackTitle";
237
+ readonly flowFieldInStep: "formBuilder:flow.fieldInStep";
238
+ readonly flowUnassigned: "formBuilder:flow.unassigned";
239
+ readonly flowAssignToStep: "formBuilder:flow.assignToStep";
240
+ readonly flowNextSequential: "formBuilder:flow.nextSequential";
241
+ readonly flowNextTerminal: "formBuilder:flow.nextTerminal";
242
+ readonly flowFields: "formBuilder:flow.fields";
243
+ readonly flowDefaultNext: "formBuilder:flow.defaultNext";
244
+ readonly flowConditionalTransitions: "formBuilder:flow.conditionalTransitions";
245
+ readonly flowStepTitleLabel: "formBuilder:flow.stepTitleLabel";
246
+ readonly flowSelectStepPlaceholder: "formBuilder:flow.selectStepPlaceholder";
247
+ readonly flowMoveTransitionUp: "formBuilder:flow.moveTransitionUp";
248
+ readonly flowMoveTransitionDown: "formBuilder:flow.moveTransitionDown";
249
+ readonly flowRemoveTransition: "formBuilder:flow.removeTransition";
250
+ readonly flowAddAbove: "formBuilder:flow.addAbove";
251
+ readonly flowAddBelow: "formBuilder:flow.addBelow";
252
+ readonly flowGoTo: "formBuilder:flow.goTo";
253
+ readonly flowWhen: "formBuilder:flow.when";
254
+ readonly flowNoFields: "formBuilder:flow.noFields";
255
+ readonly flowFirstMatchWins: "formBuilder:flow.firstMatchWins";
256
+ readonly flowAddTransition: "formBuilder:flow.addTransition";
257
+ readonly flowNoSteps: "formBuilder:flow.noSteps";
258
+ readonly flowFallbackTitle: "formBuilder:flow.fallbackTitle";
259
+ readonly fieldTypeMessage: "formBuilder:fieldType.message";
260
+ readonly configContent: "formBuilder:config.content";
261
+ readonly tabResponse: "formBuilder:tab.response";
262
+ readonly responseType: "formBuilder:response.type";
263
+ readonly responseTypeMessage: "formBuilder:response.type.message";
264
+ readonly responseTypeRedirect: "formBuilder:response.type.redirect";
265
+ readonly responseMessage: "formBuilder:response.message";
266
+ readonly responseRedirect: "formBuilder:response.redirect";
267
+ readonly responseUrl: "formBuilder:response.url";
268
+ readonly responseRedirectReference: "formBuilder:response.redirect.reference";
269
+ readonly responseRedirectReferenceDescription: "formBuilder:response.redirect.referenceDescription";
270
+ readonly buttonsSubmitLabel: "formBuilder:buttons.submitLabel";
271
+ readonly buttonsNextLabel: "formBuilder:buttons.nextLabel";
272
+ readonly buttonsPrevLabel: "formBuilder:buttons.prevLabel";
273
+ readonly formBack: "formBuilder:form.back";
274
+ readonly formNext: "formBuilder:form.next";
275
+ readonly formSubmit: "formBuilder:form.submit";
276
+ readonly formMultistep: "formBuilder:form.multistep";
277
+ readonly formPollEnabled: "formBuilder:form.pollEnabled";
278
+ readonly cellStepCountOne: "formBuilder:cell.stepCount.one";
279
+ readonly cellStepCountOther: "formBuilder:cell.stepCount.other";
280
+ readonly cellFieldCountOne: "formBuilder:cell.fieldCount.one";
281
+ readonly cellFieldCountOther: "formBuilder:cell.fieldCount.other";
282
+ readonly departmentsField: "formBuilder:departments.field";
283
+ readonly departmentsFieldDescription: "formBuilder:departments.fieldDescription";
284
+ readonly departmentSingular: "formBuilder:departments.singular";
285
+ readonly departmentPlural: "formBuilder:departments.plural";
286
+ readonly departmentLabel: "formBuilder:departments.label";
287
+ readonly departmentEmail: "formBuilder:departments.email";
288
+ readonly departmentAddRow: "formBuilder:departments.addRow";
289
+ readonly departmentRemoveRow: "formBuilder:departments.removeRow";
175
290
  };
176
291
  type TranslationKey = (typeof keys)[keyof typeof keys];
177
292
  //#endregion
@@ -11,6 +11,8 @@ const keys = {
11
11
  fieldTypeEmail: "formBuilder:fieldType.email",
12
12
  fieldTypeNumber: "formBuilder:fieldType.number",
13
13
  fieldTypeSelect: "formBuilder:fieldType.select",
14
+ fieldTypeCountry: "formBuilder:fieldType.country",
15
+ fieldTypeState: "formBuilder:fieldType.state",
14
16
  fieldTypeCheckbox: "formBuilder:fieldType.checkbox",
15
17
  fieldTypeDate: "formBuilder:fieldType.date",
16
18
  configOptions: "formBuilder:config.options",
@@ -22,7 +24,12 @@ const keys = {
22
24
  validationNumber: "formBuilder:validation.number",
23
25
  validationDate: "formBuilder:validation.date",
24
26
  validationSelect: "formBuilder:validation.select",
27
+ validationCountry: "formBuilder:validation.country",
28
+ validationState: "formBuilder:validation.state",
29
+ validationRegexPattern: "formBuilder:validation.regexPattern",
30
+ validationRegexFlags: "formBuilder:validation.regexFlags",
25
31
  validationEmailFieldUnknown: "formBuilder:validation.emailFieldUnknown",
32
+ validationResultsFieldUnknown: "formBuilder:validation.resultsFieldUnknown",
26
33
  formatYes: "formBuilder:format.yes",
27
34
  formatNo: "formBuilder:format.no",
28
35
  configName: "formBuilder:config.name",
@@ -59,6 +66,19 @@ const keys = {
59
66
  ruleOneOfMessage: "formBuilder:rule.oneOf.message",
60
67
  ruleMatchesFieldMessage: "formBuilder:rule.matchesField.message",
61
68
  ruleNotAlreadySubmittedMessage: "formBuilder:rule.notAlreadySubmitted.message",
69
+ ruleMinLengthDescription: "formBuilder:rule.minLength.description",
70
+ ruleMaxLengthDescription: "formBuilder:rule.maxLength.description",
71
+ ruleMinDescription: "formBuilder:rule.min.description",
72
+ ruleMaxDescription: "formBuilder:rule.max.description",
73
+ ruleMinDateDescription: "formBuilder:rule.minDate.description",
74
+ ruleMaxDateDescription: "formBuilder:rule.maxDate.description",
75
+ rulePatternDescription: "formBuilder:rule.pattern.description",
76
+ ruleEmailDescription: "formBuilder:rule.email.description",
77
+ ruleUrlDescription: "formBuilder:rule.url.description",
78
+ ruleOneOfDescription: "formBuilder:rule.oneOf.description",
79
+ ruleMatchesFieldDescription: "formBuilder:rule.matchesField.description",
80
+ ruleNotAlreadySubmittedDescription: "formBuilder:rule.notAlreadySubmitted.description",
81
+ ruleFieldTargetInvalid: "formBuilder:rule.fieldTargetInvalid",
62
82
  ruleParamMin: "formBuilder:rule.param.min",
63
83
  ruleParamMax: "formBuilder:rule.param.max",
64
84
  ruleParamMinDate: "formBuilder:rule.param.minDate",
@@ -69,9 +89,6 @@ const keys = {
69
89
  ruleParamField: "formBuilder:rule.param.field",
70
90
  validationsLabel: "formBuilder:validations.label",
71
91
  validationMessageLabel: "formBuilder:validations.message",
72
- validationSeverityLabel: "formBuilder:validations.severity",
73
- validationSeverityError: "formBuilder:validations.severity.error",
74
- validationSeverityWarning: "formBuilder:validations.severity.warning",
75
92
  conditionAddCondition: "formBuilder:condition.addCondition",
76
93
  conditionAddOr: "formBuilder:condition.addOr",
77
94
  conditionAnd: "formBuilder:condition.and",
@@ -94,7 +111,6 @@ const keys = {
94
111
  configExpressionDescription: "formBuilder:config.expressionDescription",
95
112
  configCalcDisplay: "formBuilder:config.calcDisplay",
96
113
  validationCalcExpressionInvalid: "formBuilder:validation.calcExpressionInvalid",
97
- configDefaultPresentation: "formBuilder:config.defaultPresentation",
98
114
  presentationPage: "formBuilder:presentation.page",
99
115
  presentationModal: "formBuilder:presentation.modal",
100
116
  presentationDrawer: "formBuilder:presentation.drawer",
@@ -108,40 +124,83 @@ const keys = {
108
124
  actionConfigBodyDescription: "formBuilder:action.config.bodyDescription",
109
125
  actionConfigToField: "formBuilder:action.config.toField",
110
126
  actionConfigToFieldDescription: "formBuilder:action.config.toFieldDescription",
127
+ actionConfigFrom: "formBuilder:action.config.from",
128
+ actionConfigFromDescription: "formBuilder:action.config.fromDescription",
129
+ actionConfigCc: "formBuilder:action.config.cc",
130
+ actionConfigBcc: "formBuilder:action.config.bcc",
131
+ actionConfigReplyTo: "formBuilder:action.config.replyTo",
132
+ validationFromUnknown: "formBuilder:validation.fromUnknown",
133
+ validationFromUnavailable: "formBuilder:validation.fromUnavailable",
134
+ validationToUnknown: "formBuilder:validation.toUnknown",
135
+ validationToUnavailable: "formBuilder:validation.toUnavailable",
111
136
  actionConfigUrl: "formBuilder:action.config.url",
112
137
  actionConfigUrlDescription: "formBuilder:action.config.urlDescription",
113
138
  actionConfigSecret: "formBuilder:action.config.secret",
114
139
  actionConfigSecretDescription: "formBuilder:action.config.secretDescription",
115
140
  validationUrlInvalid: "formBuilder:validation.urlInvalid",
116
141
  configActions: "formBuilder:config.actions",
117
- consentSourceStatic: "formBuilder:consentSource.static",
118
- consentSourcePageReference: "formBuilder:consentSource.pageReference",
119
- consentConfigLabel: "formBuilder:consent.config.label",
120
- consentConfigUrl: "formBuilder:consent.config.url",
121
- consentConfigVersion: "formBuilder:consent.config.version",
122
- consentConfigRelationTo: "formBuilder:consent.config.relationTo",
123
- consentConfigDocId: "formBuilder:consent.config.docId",
124
- consentConfigUrlField: "formBuilder:consent.config.urlField",
125
- consentConfigCaptureVersion: "formBuilder:consent.config.captureVersion",
126
142
  fieldTypeConsent: "formBuilder:fieldType.consent",
127
- consentConfigStatement: "formBuilder:consent.config.statement",
128
143
  consentConfigSource: "formBuilder:consent.config.source",
129
- consentConfigSourceConfig: "formBuilder:consent.config.sourceConfig",
130
- consentConfigOptional: "formBuilder:consent.config.optional",
144
+ consentConfigSourceDescription: "formBuilder:consent.config.sourceDescription",
145
+ consentSourcesField: "formBuilder:consentSources.field",
146
+ consentSourcesFieldDescription: "formBuilder:consentSources.fieldDescription",
147
+ consentSourceSingular: "formBuilder:consentSources.singular",
148
+ consentSourcePlural: "formBuilder:consentSources.plural",
149
+ consentSourceLabel: "formBuilder:consentSources.label",
150
+ consentSourceStatement: "formBuilder:consentSources.statement",
151
+ consentSourcePage: "formBuilder:consentSources.page",
152
+ consentSourcePageDescription: "formBuilder:consentSources.pageDescription",
153
+ consentSourcesUnavailable: "formBuilder:consent.sourcesUnavailable",
131
154
  resultsResponses: "formBuilder:results.responses",
132
155
  resultsNoResponses: "formBuilder:results.noResponses",
133
156
  resultsTruncated: "formBuilder:results.truncated",
134
- configShowResults: "formBuilder:config.showResults",
135
- configResultsField: "formBuilder:config.resultsField",
157
+ pollGroup: "formBuilder:poll.group",
158
+ pollResultsField: "formBuilder:poll.resultsField",
159
+ pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription",
160
+ pollVoteFieldChoose: "formBuilder:poll.voteFieldChoose",
161
+ pollVoteFieldMissing: "formBuilder:poll.voteFieldMissing",
162
+ pollResultsVisibility: "formBuilder:poll.resultsVisibility",
163
+ pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote",
164
+ pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose",
165
+ pollClosesAt: "formBuilder:poll.closesAt",
166
+ pollClosed: "formBuilder:poll.closed",
167
+ pollResultsAfterClose: "formBuilder:poll.resultsAfterClose",
168
+ pollOptionSource: "formBuilder:poll.optionSource",
169
+ pollOptionSourceDescription: "formBuilder:poll.optionSourceDescription",
170
+ pollSourceConfig: "formBuilder:poll.sourceConfig",
171
+ pollOutcome: "formBuilder:poll.outcome",
172
+ pollType: "formBuilder:poll.type",
173
+ pollTypeDescription: "formBuilder:poll.typeDescription",
174
+ pollTypeManual: "formBuilder:poll.type.manual",
175
+ pollTypeMostVoted: "formBuilder:poll.type.mostVoted",
176
+ pollTypeSource: "formBuilder:poll.type.source",
177
+ pollCloseButton: "formBuilder:poll.close.button",
178
+ pollReopenButton: "formBuilder:poll.reopen.button",
179
+ pollCloseHintManual: "formBuilder:poll.close.hintManual",
180
+ pollCloseHintMostVoted: "formBuilder:poll.close.hintMostVoted",
181
+ pollCloseHintSource: "formBuilder:poll.close.hintSource",
182
+ pollReopenHint: "formBuilder:poll.reopen.hint",
183
+ pollCloseNeedsWinner: "formBuilder:poll.close.needsWinner",
184
+ pollCloseManualNoWinner: "formBuilder:poll.close.manualNoWinner",
185
+ pollWinningValue: "formBuilder:poll.winningValue",
186
+ pollWinningValueDescription: "formBuilder:poll.winningValueDescription",
187
+ pollResolvedAt: "formBuilder:poll.resolvedAt",
188
+ validationWinningValueUnknown: "formBuilder:validation.winningValueUnknown",
189
+ validationWinningValueDisabled: "formBuilder:validation.winningValueDisabled",
190
+ endpointOptionsLoading: "formBuilder:endpointOptions.loading",
191
+ endpointOptionsError: "formBuilder:endpointOptions.error",
192
+ pollOptionsUnavailable: "formBuilder:poll.optionsUnavailable",
193
+ pollFinalResult: "formBuilder:poll.finalResult",
194
+ resultsWinner: "formBuilder:results.winner",
136
195
  validationFileMissing: "formBuilder:validation.file.missing",
137
196
  validationFileMimeType: "formBuilder:validation.file.mimeType",
138
197
  validationFileTooLarge: "formBuilder:validation.file.tooLarge",
139
198
  fieldTypeFile: "formBuilder:fieldType.file",
140
- fileConfigRelationTo: "formBuilder:file.config.relationTo",
141
199
  fileConfigMimeTypes: "formBuilder:file.config.mimeTypes",
142
200
  fileConfigMaxSize: "formBuilder:file.config.maxSize",
143
201
  fileConfigMaxSizeDescription: "formBuilder:file.config.maxSizeDescription",
144
202
  fileTooLarge: "formBuilder:file.tooLarge",
203
+ fileUploadMisconfigured: "formBuilder:file.uploadMisconfigured",
145
204
  fileHintAccepted: "formBuilder:file.hint.accepted",
146
205
  fileHintMaxSize: "formBuilder:file.hint.maxSize",
147
206
  spamRateLimited: "formBuilder:spam.rateLimited",
@@ -168,10 +227,66 @@ const keys = {
168
227
  submissionDetails: "formBuilder:submission.details",
169
228
  submissionConsentAgreed: "formBuilder:submission.consentAgreed",
170
229
  submissionConsentDeclined: "formBuilder:submission.consentDeclined",
230
+ submissionMetaLocale: "formBuilder:submission.meta.locale",
171
231
  submissionMetaReceivedAt: "formBuilder:submission.meta.receivedAt",
172
232
  submissionMetaIp: "formBuilder:submission.meta.ip",
173
233
  submissionMetaUserAgent: "formBuilder:submission.meta.userAgent",
174
- submissionMetaCaptcha: "formBuilder:submission.meta.captcha"
234
+ submissionMetaCaptcha: "formBuilder:submission.meta.captcha",
235
+ flowDescription: "formBuilder:flow.description",
236
+ flowStepFallbackTitle: "formBuilder:flow.stepFallbackTitle",
237
+ flowFieldInStep: "formBuilder:flow.fieldInStep",
238
+ flowUnassigned: "formBuilder:flow.unassigned",
239
+ flowAssignToStep: "formBuilder:flow.assignToStep",
240
+ flowNextSequential: "formBuilder:flow.nextSequential",
241
+ flowNextTerminal: "formBuilder:flow.nextTerminal",
242
+ flowFields: "formBuilder:flow.fields",
243
+ flowDefaultNext: "formBuilder:flow.defaultNext",
244
+ flowConditionalTransitions: "formBuilder:flow.conditionalTransitions",
245
+ flowStepTitleLabel: "formBuilder:flow.stepTitleLabel",
246
+ flowSelectStepPlaceholder: "formBuilder:flow.selectStepPlaceholder",
247
+ flowMoveTransitionUp: "formBuilder:flow.moveTransitionUp",
248
+ flowMoveTransitionDown: "formBuilder:flow.moveTransitionDown",
249
+ flowRemoveTransition: "formBuilder:flow.removeTransition",
250
+ flowAddAbove: "formBuilder:flow.addAbove",
251
+ flowAddBelow: "formBuilder:flow.addBelow",
252
+ flowGoTo: "formBuilder:flow.goTo",
253
+ flowWhen: "formBuilder:flow.when",
254
+ flowNoFields: "formBuilder:flow.noFields",
255
+ flowFirstMatchWins: "formBuilder:flow.firstMatchWins",
256
+ flowAddTransition: "formBuilder:flow.addTransition",
257
+ flowNoSteps: "formBuilder:flow.noSteps",
258
+ flowFallbackTitle: "formBuilder:flow.fallbackTitle",
259
+ fieldTypeMessage: "formBuilder:fieldType.message",
260
+ configContent: "formBuilder:config.content",
261
+ tabResponse: "formBuilder:tab.response",
262
+ responseType: "formBuilder:response.type",
263
+ responseTypeMessage: "formBuilder:response.type.message",
264
+ responseTypeRedirect: "formBuilder:response.type.redirect",
265
+ responseMessage: "formBuilder:response.message",
266
+ responseRedirect: "formBuilder:response.redirect",
267
+ responseUrl: "formBuilder:response.url",
268
+ responseRedirectReference: "formBuilder:response.redirect.reference",
269
+ responseRedirectReferenceDescription: "formBuilder:response.redirect.referenceDescription",
270
+ buttonsSubmitLabel: "formBuilder:buttons.submitLabel",
271
+ buttonsNextLabel: "formBuilder:buttons.nextLabel",
272
+ buttonsPrevLabel: "formBuilder:buttons.prevLabel",
273
+ formBack: "formBuilder:form.back",
274
+ formNext: "formBuilder:form.next",
275
+ formSubmit: "formBuilder:form.submit",
276
+ formMultistep: "formBuilder:form.multistep",
277
+ formPollEnabled: "formBuilder:form.pollEnabled",
278
+ cellStepCountOne: "formBuilder:cell.stepCount.one",
279
+ cellStepCountOther: "formBuilder:cell.stepCount.other",
280
+ cellFieldCountOne: "formBuilder:cell.fieldCount.one",
281
+ cellFieldCountOther: "formBuilder:cell.fieldCount.other",
282
+ departmentsField: "formBuilder:departments.field",
283
+ departmentsFieldDescription: "formBuilder:departments.fieldDescription",
284
+ departmentSingular: "formBuilder:departments.singular",
285
+ departmentPlural: "formBuilder:departments.plural",
286
+ departmentLabel: "formBuilder:departments.label",
287
+ departmentEmail: "formBuilder:departments.email",
288
+ departmentAddRow: "formBuilder:departments.addRow",
289
+ departmentRemoveRow: "formBuilder:departments.removeRow"
175
290
  };
176
291
  //#endregion
177
292
  export { keys };