@10x-media/form-builder 0.1.0-beta.2 → 0.1.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +360 -0
- package/README.md +7 -5
- package/dist/actions/assertNoBlockCollision.js +18 -0
- package/dist/actions/assertNoBlockCollision.js.map +1 -0
- package/dist/actions/body/converters.d.ts +20 -0
- package/dist/actions/body/converters.js +57 -0
- package/dist/actions/body/converters.js.map +1 -0
- package/dist/actions/body/escapeHtml.d.ts +6 -0
- package/dist/actions/body/escapeHtml.js +14 -0
- package/dist/actions/body/escapeHtml.js.map +1 -0
- package/dist/actions/body/serializeBody.d.ts +55 -0
- package/dist/actions/body/serializeBody.js +78 -0
- package/dist/actions/body/serializeBody.js.map +1 -0
- package/dist/actions/body/serializeSlate.js +31 -0
- package/dist/actions/body/serializeSlate.js.map +1 -0
- package/dist/actions/body/textOfBody.d.ts +13 -0
- package/dist/actions/body/textOfBody.js +35 -0
- package/dist/actions/body/textOfBody.js.map +1 -0
- package/dist/actions/body/wildcards.d.ts +10 -0
- package/dist/actions/body/wildcards.js +33 -0
- package/dist/actions/body/wildcards.js.map +1 -0
- package/dist/actions/buildActionBlocks.js +12 -9
- package/dist/actions/buildActionBlocks.js.map +1 -1
- package/dist/actions/builtin/confirmation.js +47 -43
- package/dist/actions/builtin/confirmation.js.map +1 -1
- package/dist/actions/builtin/emailAction.d.ts +20 -0
- package/dist/actions/builtin/emailAction.js +120 -0
- package/dist/actions/builtin/emailAction.js.map +1 -0
- package/dist/actions/builtin/emailTeam.js +20 -38
- package/dist/actions/builtin/emailTeam.js.map +1 -1
- package/dist/actions/builtin/index.d.ts +16 -1
- package/dist/actions/builtin/index.js +21 -7
- package/dist/actions/builtin/index.js.map +1 -1
- package/dist/actions/builtin/signedWebhook.js +6 -2
- package/dist/actions/builtin/signedWebhook.js.map +1 -1
- package/dist/actions/defineAction.d.ts +17 -5
- package/dist/actions/defineAction.js.map +1 -1
- package/dist/actions/dispatch.js +51 -6
- package/dist/actions/dispatch.js.map +1 -1
- package/dist/actions/dispatchContext.js +13 -0
- package/dist/actions/dispatchContext.js.map +1 -0
- package/dist/actions/emailRecipients.d.ts +12 -0
- package/dist/actions/emailRecipients.js +146 -0
- package/dist/actions/emailRecipients.js.map +1 -0
- package/dist/actions/fromAddresses.d.ts +37 -0
- package/dist/actions/fromAddresses.js +131 -0
- package/dist/actions/fromAddresses.js.map +1 -0
- package/dist/actions/recipientSources.d.ts +34 -0
- package/dist/actions/recipientSources.js +11 -0
- package/dist/actions/recipientSources.js.map +1 -0
- package/dist/actions/registry.d.ts +2 -1
- package/dist/actions/registry.js +5 -7
- package/dist/actions/registry.js.map +1 -1
- package/dist/actions/runActions.js +10 -1
- package/dist/actions/runActions.js.map +1 -1
- package/dist/actions/task.js +47 -16
- package/dist/actions/task.js.map +1 -1
- package/dist/aggregation/aggregateResponses.d.ts +9 -0
- package/dist/aggregation/aggregateResponses.js +8 -14
- package/dist/aggregation/aggregateResponses.js.map +1 -1
- package/dist/aggregation/resolveResultsRequest.d.ts +41 -6
- package/dist/aggregation/resolveResultsRequest.js +97 -11
- package/dist/aggregation/resolveResultsRequest.js.map +1 -1
- package/dist/calc/computeCalcFields.d.ts +5 -3
- package/dist/calc/computeCalcFields.js +6 -4
- package/dist/calc/computeCalcFields.js.map +1 -1
- package/dist/calc/evaluate.d.ts +26 -3
- package/dist/calc/evaluate.js +34 -13
- package/dist/calc/evaluate.js.map +1 -1
- package/dist/calc/formatCalc.d.ts +11 -0
- package/dist/calc/formatCalc.js +35 -0
- package/dist/calc/formatCalc.js.map +1 -0
- package/dist/calc/formatCalcValue.d.ts +17 -0
- package/dist/calc/formatCalcValue.js +17 -0
- package/dist/calc/formatCalcValue.js.map +1 -0
- package/dist/calc/normalizeCalc.d.ts +17 -3
- package/dist/calc/normalizeCalc.js +42 -33
- package/dist/calc/normalizeCalc.js.map +1 -1
- package/dist/calc/registry.d.ts +43 -0
- package/dist/calc/registry.js +27 -0
- package/dist/calc/registry.js.map +1 -0
- package/dist/calc/resolveCalcContext.d.ts +36 -0
- package/dist/calc/resolveCalcContext.js +87 -0
- package/dist/calc/resolveCalcContext.js.map +1 -0
- package/dist/calc/types.d.ts +25 -4
- package/dist/calc/types.js +23 -0
- package/dist/calc/types.js.map +1 -0
- package/dist/client/ByteSizeField.d.ts +29 -0
- package/dist/client/ByteSizeField.js +58 -0
- package/dist/client/ByteSizeField.js.map +1 -0
- package/dist/client/CalcExpressionBuilder.d.ts +20 -0
- package/dist/client/CalcExpressionBuilder.js +890 -0
- package/dist/client/CalcExpressionBuilder.js.map +1 -0
- package/dist/client/ClosePollButton.d.ts +15 -0
- package/dist/client/ClosePollButton.js +80 -0
- package/dist/client/ClosePollButton.js.map +1 -0
- package/dist/client/CondensedArray.d.ts +15 -0
- package/dist/client/CondensedArray.js +97 -0
- package/dist/client/CondensedArray.js.map +1 -0
- package/dist/client/ConditionBuilder.js +2 -1
- package/dist/client/ConditionBuilder.js.map +1 -1
- package/dist/client/ConsentBlockLabel.d.ts +15 -0
- package/dist/client/ConsentBlockLabel.js +71 -0
- package/dist/client/ConsentBlockLabel.js.map +1 -0
- package/dist/client/ConsentSourceRowLabel.d.ts +9 -0
- package/dist/client/ConsentSourceRowLabel.js +21 -0
- package/dist/client/ConsentSourceRowLabel.js.map +1 -0
- package/dist/client/EndpointOptionsSelect.d.ts +55 -0
- package/dist/client/EndpointOptionsSelect.js +112 -0
- package/dist/client/EndpointOptionsSelect.js.map +1 -0
- package/dist/client/FieldBlockLabel.d.ts +18 -0
- package/dist/client/FieldBlockLabel.js +34 -0
- package/dist/client/FieldBlockLabel.js.map +1 -0
- package/dist/client/FieldNameSelect.d.ts +37 -0
- package/dist/client/FieldNameSelect.js +72 -0
- package/dist/client/FieldNameSelect.js.map +1 -0
- package/dist/client/FlowBuilder.d.ts +2 -2
- package/dist/client/FlowBuilder.js +137 -88
- package/dist/client/FlowBuilder.js.map +1 -1
- package/dist/client/FormConditionField.js +1 -4
- package/dist/client/FormConditionField.js.map +1 -1
- package/dist/client/RecipientsSelect.d.ts +37 -0
- package/dist/client/RecipientsSelect.js +197 -0
- package/dist/client/RecipientsSelect.js.map +1 -0
- package/dist/client/RuleDescription.d.ts +21 -0
- package/dist/client/RuleDescription.js +19 -0
- package/dist/client/RuleDescription.js.map +1 -0
- package/dist/client/admin.css +557 -0
- package/dist/client/endpointOptions.d.ts +11 -0
- package/dist/client/endpointOptions.js +38 -0
- package/dist/client/endpointOptions.js.map +1 -0
- package/dist/client/flowAuthoring.js +142 -0
- package/dist/client/flowAuthoring.js.map +1 -0
- package/dist/client/synthesizeClientField.js +21 -10
- package/dist/client/synthesizeClientField.js.map +1 -1
- package/dist/client/toStaticLabel.js +13 -0
- package/dist/client/toStaticLabel.js.map +1 -0
- package/dist/collections/buttonFields.d.ts +34 -0
- package/dist/collections/buttonFields.js +35 -0
- package/dist/collections/buttonFields.js.map +1 -0
- package/dist/collections/cells/FieldCountCell.d.ts +15 -0
- package/dist/collections/cells/FieldCountCell.js +18 -0
- package/dist/collections/cells/FieldCountCell.js.map +1 -0
- package/dist/collections/cells/FlowStepsCell.d.ts +14 -0
- package/dist/collections/cells/FlowStepsCell.js +17 -0
- package/dist/collections/cells/FlowStepsCell.js.map +1 -0
- package/dist/collections/formSubmissions.js +114 -28
- package/dist/collections/formSubmissions.js.map +1 -1
- package/dist/collections/forms.js +449 -112
- package/dist/collections/forms.js.map +1 -1
- package/dist/collections/formsEndpoints.js +106 -0
- package/dist/collections/formsEndpoints.js.map +1 -0
- package/dist/collections/redirectFields.d.ts +29 -0
- package/dist/collections/settingsFields.d.ts +31 -0
- package/dist/collections/settingsFields.js +45 -0
- package/dist/collections/settingsFields.js.map +1 -0
- package/dist/conditions/conditionType.js +9 -2
- package/dist/conditions/conditionType.js.map +1 -1
- package/dist/conditions/evaluate.js +1 -1
- package/dist/conditions/evaluate.js.map +1 -1
- package/dist/conditions/fieldTypes.d.ts +3 -1
- package/dist/conditions/fieldTypes.js +4 -1
- package/dist/conditions/fieldTypes.js.map +1 -1
- package/dist/conditions/normalizeConditions.js +20 -6
- package/dist/conditions/normalizeConditions.js.map +1 -1
- package/dist/consent/applyConsentStatements.d.ts +14 -0
- package/dist/consent/applyConsentStatements.js +17 -0
- package/dist/consent/applyConsentStatements.js.map +1 -0
- package/dist/consent/captureConsent.d.ts +39 -11
- package/dist/consent/captureConsent.js +63 -13
- package/dist/consent/captureConsent.js.map +1 -1
- package/dist/consent/consentSourcesField.d.ts +66 -0
- package/dist/consent/consentSourcesField.js +98 -0
- package/dist/consent/consentSourcesField.js.map +1 -0
- package/dist/consent/effectiveStatement.js +16 -0
- package/dist/consent/effectiveStatement.js.map +1 -0
- package/dist/consent/resolveConsentEntries.d.ts +24 -0
- package/dist/consent/resolveConsentEntries.js +40 -0
- package/dist/consent/resolveConsentEntries.js.map +1 -0
- package/dist/consent/resolveConsentSourcesRequest.d.ts +37 -0
- package/dist/consent/resolveConsentSourcesRequest.js +54 -0
- package/dist/consent/resolveConsentSourcesRequest.js.map +1 -0
- package/dist/consent/resolveConsentStatements.d.ts +45 -0
- package/dist/consent/resolveConsentStatements.js +46 -0
- package/dist/consent/resolveConsentStatements.js.map +1 -0
- package/dist/consent/resolvePublishedVersionRef.d.ts +17 -11
- package/dist/consent/resolvePublishedVersionRef.js +13 -10
- package/dist/consent/resolvePublishedVersionRef.js.map +1 -1
- package/dist/consent/types.d.ts +69 -0
- package/dist/context/formContext.d.ts +30 -0
- package/dist/context/formContext.js +54 -0
- package/dist/context/formContext.js.map +1 -0
- package/dist/email/departments.d.ts +59 -0
- package/dist/email/departments.js +87 -0
- package/dist/email/departments.js.map +1 -0
- package/dist/email/departmentsField.d.ts +53 -0
- package/dist/email/departmentsField.js +73 -0
- package/dist/email/departmentsField.js.map +1 -0
- package/dist/exports/client.d.ts +14 -1
- package/dist/exports/client.js +14 -1
- package/dist/exports/i18n.d.ts +5 -2
- package/dist/exports/i18n.js +5 -2
- package/dist/exports/react.d.ts +34 -10
- package/dist/exports/react.js +24 -4
- package/dist/exports/rsc.d.ts +10 -1
- package/dist/exports/rsc.js +10 -1
- package/dist/exports/types.d.ts +20 -12
- package/dist/fields/buildFieldBlocks.js +46 -25
- package/dist/fields/buildFieldBlocks.js.map +1 -1
- package/dist/fields/builtin/calculation.d.ts +17 -0
- package/dist/fields/builtin/calculation.js +193 -18
- package/dist/fields/builtin/calculation.js.map +1 -1
- package/dist/fields/builtin/checkbox.js +23 -0
- package/dist/fields/builtin/checkbox.js.map +1 -1
- package/dist/fields/builtin/consent.js +49 -14
- package/dist/fields/builtin/consent.js.map +1 -1
- package/dist/fields/builtin/country.d.ts +13 -0
- package/dist/fields/builtin/country.js +30 -0
- package/dist/fields/builtin/country.js.map +1 -0
- package/dist/fields/builtin/date.js +31 -0
- package/dist/fields/builtin/date.js.map +1 -0
- package/dist/fields/builtin/email.js +8 -1
- package/dist/fields/builtin/email.js.map +1 -1
- package/dist/fields/builtin/file.d.ts +15 -0
- package/dist/fields/builtin/file.js +95 -8
- package/dist/fields/builtin/file.js.map +1 -1
- package/dist/fields/builtin/index.d.ts +30 -0
- package/dist/fields/builtin/index.js +37 -10
- package/dist/fields/builtin/index.js.map +1 -1
- package/dist/fields/builtin/message.js +30 -0
- package/dist/fields/builtin/message.js.map +1 -0
- package/dist/fields/builtin/repeater.js +8 -3
- package/dist/fields/builtin/repeater.js.map +1 -1
- package/dist/fields/builtin/select.js +28 -4
- package/dist/fields/builtin/select.js.map +1 -1
- package/dist/fields/builtin/state.d.ts +13 -0
- package/dist/fields/builtin/state.js +30 -0
- package/dist/fields/builtin/state.js.map +1 -0
- package/dist/fields/builtin/text.js +7 -0
- package/dist/fields/builtin/text.js.map +1 -1
- package/dist/fields/data/regions.d.ts +21 -0
- package/dist/fields/data/regions.js +1238 -0
- package/dist/fields/data/regions.js.map +1 -0
- package/dist/fields/fieldKey.d.ts +15 -0
- package/dist/fields/fieldKey.js +16 -0
- package/dist/fields/fieldKey.js.map +1 -0
- package/dist/fields/fieldNamesOfType.js +30 -0
- package/dist/fields/fieldNamesOfType.js.map +1 -0
- package/dist/fields/instanceOptions.js +20 -0
- package/dist/fields/instanceOptions.js.map +1 -0
- package/dist/fields/localizedIf.d.ts +13 -0
- package/dist/fields/localizedIf.js +12 -0
- package/dist/fields/localizedIf.js.map +1 -0
- package/dist/fields/registry.d.ts +3 -1
- package/dist/fields/registry.js +23 -8
- package/dist/fields/registry.js.map +1 -1
- package/dist/fields/sharedConfig.js +125 -59
- package/dist/fields/sharedConfig.js.map +1 -1
- package/dist/fields/types.d.ts +78 -9
- package/dist/flow/engine.d.ts +6 -4
- package/dist/flow/engine.js +11 -6
- package/dist/flow/engine.js.map +1 -1
- package/dist/flow/normalizeFlow.js +28 -9
- package/dist/flow/normalizeFlow.js.map +1 -1
- package/dist/flow/stepLabel.js +15 -0
- package/dist/flow/stepLabel.js.map +1 -0
- package/dist/flow/types.d.ts +12 -3
- package/dist/flow/types.js +11 -0
- package/dist/flow/types.js.map +1 -0
- package/dist/form/pollState.d.ts +23 -0
- package/dist/form/pollState.js +17 -0
- package/dist/form/pollState.js.map +1 -0
- package/dist/form/toFormDocument.d.ts +110 -0
- package/dist/form/toFormDocument.js +89 -0
- package/dist/form/toFormDocument.js.map +1 -0
- package/dist/form/types.d.ts +73 -0
- package/dist/index.d.ts +67 -61
- package/dist/index.js +120 -25
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +281 -0
- package/dist/plugin/applyRegistryConfig.d.ts +11 -0
- package/dist/plugin/applyRegistryConfig.js +20 -0
- package/dist/plugin/applyRegistryConfig.js.map +1 -0
- package/dist/plugin/customState.js +26 -0
- package/dist/plugin/customState.js.map +1 -0
- package/dist/plugin/registerCollections.js +43 -40
- package/dist/plugin/registerCollections.js.map +1 -1
- package/dist/plugin/uploadsCollection.d.ts +16 -0
- package/dist/plugin/uploadsCollection.js +53 -0
- package/dist/plugin/uploadsCollection.js.map +1 -0
- package/dist/poll/applyPollOptions.js +18 -0
- package/dist/poll/applyPollOptions.js.map +1 -0
- package/dist/poll/buildPollOptionSourceFields.js +50 -0
- package/dist/poll/buildPollOptionSourceFields.js.map +1 -0
- package/dist/poll/closeJob.d.ts +53 -0
- package/dist/poll/closeJob.js +121 -0
- package/dist/poll/closeJob.js.map +1 -0
- package/dist/poll/definePollOptionSource.d.ts +44 -0
- package/dist/poll/definePollOptionSource.js +6 -0
- package/dist/poll/definePollOptionSource.js.map +1 -0
- package/dist/poll/definePollType.d.ts +34 -0
- package/dist/poll/definePollType.js +6 -0
- package/dist/poll/definePollType.js.map +1 -0
- package/dist/poll/effectivePollOptions.d.ts +38 -0
- package/dist/poll/effectivePollOptions.js +64 -0
- package/dist/poll/effectivePollOptions.js.map +1 -0
- package/dist/poll/mostVoted.d.ts +21 -0
- package/dist/poll/mostVoted.js +32 -0
- package/dist/poll/mostVoted.js.map +1 -0
- package/dist/poll/outcomeBeforeChange.js +91 -0
- package/dist/poll/outcomeBeforeChange.js.map +1 -0
- package/dist/poll/outcomeFields.d.ts +38 -0
- package/dist/poll/outcomeFields.js +52 -0
- package/dist/poll/outcomeFields.js.map +1 -0
- package/dist/poll/pollTypeRegistry.d.ts +34 -0
- package/dist/poll/pollTypeRegistry.js +69 -0
- package/dist/poll/pollTypeRegistry.js.map +1 -0
- package/dist/poll/registry.d.ts +17 -0
- package/dist/poll/registry.js +12 -0
- package/dist/poll/registry.js.map +1 -0
- package/dist/poll/resolvePollCloseRequest.js +106 -0
- package/dist/poll/resolvePollCloseRequest.js.map +1 -0
- package/dist/poll/resolvePollOptions.d.ts +29 -0
- package/dist/poll/resolvePollOptions.js +52 -0
- package/dist/poll/resolvePollOptions.js.map +1 -0
- package/dist/poll/resolvePollOptionsRequest.js +50 -0
- package/dist/poll/resolvePollOptionsRequest.js.map +1 -0
- package/dist/poll/resolvePollOutcome.d.ts +40 -0
- package/dist/poll/resolvePollOutcome.js +90 -0
- package/dist/poll/resolvePollOutcome.js.map +1 -0
- package/dist/poll/resultsField.js +21 -0
- package/dist/poll/resultsField.js.map +1 -0
- package/dist/poll/votes/aggregateFromVotes.d.ts +27 -0
- package/dist/poll/votes/aggregateFromVotes.js +54 -0
- package/dist/poll/votes/aggregateFromVotes.js.map +1 -0
- package/dist/poll/votes/answerValues.js +16 -0
- package/dist/poll/votes/answerValues.js.map +1 -0
- package/dist/poll/votes/bumpPollVote.js +88 -0
- package/dist/poll/votes/bumpPollVote.js.map +1 -0
- package/dist/poll/votes/recountPollVotes.d.ts +20 -0
- package/dist/poll/votes/recountPollVotes.js +63 -0
- package/dist/poll/votes/recountPollVotes.js.map +1 -0
- package/dist/poll/votes/voteTallyHook.js +76 -0
- package/dist/poll/votes/voteTallyHook.js.map +1 -0
- package/dist/poll/votes/votesCollection.d.ts +19 -0
- package/dist/poll/votes/votesCollection.js +89 -0
- package/dist/poll/votes/votesCollection.js.map +1 -0
- package/dist/prefill/valuesFromSearchParams.js +5 -9
- package/dist/prefill/valuesFromSearchParams.js.map +1 -1
- package/dist/presentations/types.d.ts +3 -2
- package/dist/react/Form.d.ts +77 -35
- package/dist/react/Form.js +368 -222
- package/dist/react/Form.js.map +1 -1
- package/dist/react/FormContext.d.ts +51 -1
- package/dist/react/FormContext.js.map +1 -1
- package/dist/react/FormControls.d.ts +55 -0
- package/dist/react/FormControls.js +56 -0
- package/dist/react/FormControls.js.map +1 -0
- package/dist/react/FormFields.d.ts +18 -0
- package/dist/react/FormFields.js +114 -0
- package/dist/react/FormFields.js.map +1 -0
- package/dist/react/FormLayout.d.ts +4 -2
- package/dist/react/FormLayout.js +3 -2
- package/dist/react/FormLayout.js.map +1 -1
- package/dist/react/FormResults.d.ts +8 -3
- package/dist/react/FormResults.js +50 -29
- package/dist/react/FormResults.js.map +1 -1
- package/dist/react/FormSteps.d.ts +17 -0
- package/dist/react/FormSteps.js +35 -0
- package/dist/react/FormSteps.js.map +1 -0
- package/dist/react/Poll.d.ts +40 -6
- package/dist/react/Poll.js +137 -33
- package/dist/react/Poll.js.map +1 -1
- package/dist/react/adapters.d.ts +35 -0
- package/dist/react/adapters.js +11 -0
- package/dist/react/adapters.js.map +1 -0
- package/dist/react/captcha/HcaptchaCaptcha.d.ts +31 -0
- package/dist/react/captcha/HcaptchaCaptcha.js +53 -0
- package/dist/react/captcha/HcaptchaCaptcha.js.map +1 -0
- package/dist/react/captcha/RecaptchaCaptcha.d.ts +44 -0
- package/dist/react/captcha/RecaptchaCaptcha.js +93 -0
- package/dist/react/captcha/RecaptchaCaptcha.js.map +1 -0
- package/dist/react/captcha/TurnstileCaptcha.d.ts +31 -0
- package/dist/react/captcha/TurnstileCaptcha.js +53 -0
- package/dist/react/captcha/TurnstileCaptcha.js.map +1 -0
- package/dist/react/captcha/types.d.ts +8 -0
- package/dist/react/captcha/useCaptchaScript.js +63 -0
- package/dist/react/captcha/useCaptchaScript.js.map +1 -0
- package/dist/react/captcha/vendors.js +8 -0
- package/dist/react/captcha/vendors.js.map +1 -0
- package/dist/react/contract.d.ts +2 -3
- package/dist/react/contract.js.map +1 -1
- package/dist/react/fetchResults.d.ts +1 -1
- package/dist/react/fetchResults.js +1 -1
- package/dist/react/fetchResults.js.map +1 -1
- package/dist/react/presentation/DialogSurface.js +1 -4
- package/dist/react/presentation/DialogSurface.js.map +1 -1
- package/dist/react/primitives/Checkbox.d.ts +6 -2
- package/dist/react/primitives/Checkbox.js +4 -2
- package/dist/react/primitives/Checkbox.js.map +1 -1
- package/dist/react/primitives/ChoiceGroup.d.ts +40 -0
- package/dist/react/primitives/ChoiceGroup.js +33 -0
- package/dist/react/primitives/ChoiceGroup.js.map +1 -0
- package/dist/react/primitives/FieldShell.d.ts +13 -5
- package/dist/react/primitives/FieldShell.js +35 -32
- package/dist/react/primitives/FieldShell.js.map +1 -1
- package/dist/react/primitives/Input.d.ts +4 -2
- package/dist/react/primitives/Input.js +2 -1
- package/dist/react/primitives/Input.js.map +1 -1
- package/dist/react/renderers/calculation.js +7 -5
- package/dist/react/renderers/calculation.js.map +1 -1
- package/dist/react/renderers/checkbox.js +3 -5
- package/dist/react/renderers/checkbox.js.map +1 -1
- package/dist/react/renderers/consent.js +84 -36
- package/dist/react/renderers/consent.js.map +1 -1
- package/dist/react/renderers/date.js +33 -0
- package/dist/react/renderers/date.js.map +1 -0
- package/dist/react/renderers/email.js +4 -5
- package/dist/react/renderers/email.js.map +1 -1
- package/dist/react/renderers/file.js +29 -14
- package/dist/react/renderers/file.js.map +1 -1
- package/dist/react/renderers/index.js +7 -0
- package/dist/react/renderers/index.js.map +1 -1
- package/dist/react/renderers/message.js +41 -0
- package/dist/react/renderers/message.js.map +1 -0
- package/dist/react/renderers/number.js +1 -4
- package/dist/react/renderers/number.js.map +1 -1
- package/dist/react/renderers/region.js +43 -0
- package/dist/react/renderers/region.js.map +1 -0
- package/dist/react/renderers/repeater.js +32 -14
- package/dist/react/renderers/repeater.js.map +1 -1
- package/dist/react/renderers/select.js +21 -6
- package/dist/react/renderers/select.js.map +1 -1
- package/dist/react/renderers/text.js +4 -5
- package/dist/react/renderers/text.js.map +1 -1
- package/dist/react/renderers/textarea.js +1 -4
- package/dist/react/renderers/textarea.js.map +1 -1
- package/dist/react/state.d.ts +46 -3
- package/dist/react/state.js +73 -10
- package/dist/react/state.js.map +1 -1
- package/dist/react/submitForm.js +1 -1
- package/dist/react/submitForm.js.map +1 -1
- package/dist/react/uploadFile.d.ts +2 -2
- package/dist/react/uploadFile.js +1 -1
- package/dist/react/uploadFile.js.map +1 -1
- package/dist/react/useCalcValues.d.ts +10 -0
- package/dist/react/useCalcValues.js +13 -0
- package/dist/react/useCalcValues.js.map +1 -0
- package/dist/react/useField.d.ts +0 -1
- package/dist/react/useField.js +7 -6
- package/dist/react/useField.js.map +1 -1
- package/dist/react/useFormState.d.ts +1 -1
- package/dist/react/useFormState.js +1 -1
- package/dist/react/useFormState.js.map +1 -1
- package/dist/react/validateField.js +3 -6
- package/dist/react/validateField.js.map +1 -1
- package/dist/recall/interpolate.d.ts +4 -3
- package/dist/recall/interpolate.js +5 -4
- package/dist/recall/interpolate.js.map +1 -1
- package/dist/recall/resolver.d.ts +1 -1
- package/dist/recall/resolver.js +15 -3
- package/dist/recall/resolver.js.map +1 -1
- package/dist/spam/captcha.d.ts +4 -3
- package/dist/spam/captcha.js +4 -3
- package/dist/spam/captcha.js.map +1 -1
- package/dist/spam/clientIp.js +9 -0
- package/dist/spam/clientIp.js.map +1 -0
- package/dist/spam/constants.js +13 -1
- package/dist/spam/constants.js.map +1 -1
- package/dist/spam/identify.js +3 -6
- package/dist/spam/identify.js.map +1 -1
- package/dist/spam/providers/hcaptcha.d.ts +17 -0
- package/dist/spam/providers/hcaptcha.js +18 -0
- package/dist/spam/providers/hcaptcha.js.map +1 -0
- package/dist/spam/providers/recaptcha.d.ts +23 -0
- package/dist/spam/providers/recaptcha.js +23 -0
- package/dist/spam/providers/recaptcha.js.map +1 -0
- package/dist/spam/providers/siteverify.js +34 -0
- package/dist/spam/providers/siteverify.js.map +1 -0
- package/dist/spam/providers/turnstile.d.ts +17 -0
- package/dist/spam/providers/turnstile.js +18 -0
- package/dist/spam/providers/turnstile.js.map +1 -0
- package/dist/spam/resolveSpam.js +2 -1
- package/dist/spam/resolveSpam.js.map +1 -1
- package/dist/spam/spamGuard.js +25 -11
- package/dist/spam/spamGuard.js.map +1 -1
- package/dist/spam/types.d.ts +19 -4
- package/dist/submissions/SubmissionAnswers.js +6 -2
- package/dist/submissions/SubmissionAnswers.js.map +1 -1
- package/dist/submissions/SubmissionAnswersClient.js +100 -64
- package/dist/submissions/SubmissionAnswersClient.js.map +1 -1
- package/dist/submissions/coerceBoolean.js +14 -0
- package/dist/submissions/coerceBoolean.js.map +1 -0
- package/dist/submissions/createSubmission.d.ts +36 -0
- package/dist/submissions/createSubmission.js +26 -0
- package/dist/submissions/createSubmission.js.map +1 -0
- package/dist/submissions/formIdOf.js +13 -0
- package/dist/submissions/formIdOf.js.map +1 -0
- package/dist/submissions/resolveVotedSubmission.d.ts +27 -0
- package/dist/submissions/resolveVotedSubmission.js +51 -0
- package/dist/submissions/resolveVotedSubmission.js.map +1 -0
- package/dist/submissions/runSubmission.d.ts +10 -0
- package/dist/submissions/runSubmission.js +104 -54
- package/dist/submissions/runSubmission.js.map +1 -1
- package/dist/submissions/types.d.ts +11 -4
- package/dist/submissions/validateSubmission.js +99 -13
- package/dist/submissions/validateSubmission.js.map +1 -1
- package/dist/submissions/verifyContext.js +35 -0
- package/dist/submissions/verifyContext.js.map +1 -0
- package/dist/submissions/voteChangeEndpoint.js +105 -0
- package/dist/submissions/voteChangeEndpoint.js.map +1 -0
- package/dist/submissions/votedCookie.d.ts +15 -0
- package/dist/submissions/votedCookie.js +74 -0
- package/dist/submissions/votedCookie.js.map +1 -0
- package/dist/translations/clientRuntimeKeys.d.ts +17 -0
- package/dist/translations/clientRuntimeKeys.js +48 -0
- package/dist/translations/clientRuntimeKeys.js.map +1 -0
- package/dist/translations/de.d.ts +12 -0
- package/dist/translations/de.js +380 -0
- package/dist/translations/de.js.map +1 -0
- package/dist/translations/en.js +250 -28
- package/dist/translations/en.js.map +1 -1
- package/dist/translations/index.d.ts +14 -5
- package/dist/translations/index.js +14 -3
- package/dist/translations/index.js.map +1 -1
- package/dist/translations/keys.d.ts +245 -23
- package/dist/translations/keys.js +246 -24
- package/dist/translations/keys.js.map +1 -1
- package/dist/translations/makeTranslate.d.ts +7 -3
- package/dist/translations/makeTranslate.js +12 -3
- package/dist/translations/makeTranslate.js.map +1 -1
- package/dist/translations/server.js +8 -1
- package/dist/translations/server.js.map +1 -1
- package/dist/uploads/captureFileRef.d.ts +10 -3
- package/dist/uploads/captureFileRef.js +18 -9
- package/dist/uploads/captureFileRef.js.map +1 -1
- package/dist/uploads/formatBytes.d.ts +9 -0
- package/dist/uploads/formatBytes.js +25 -0
- package/dist/uploads/formatBytes.js.map +1 -0
- package/dist/uploads/resolveFileRef.js +3 -2
- package/dist/uploads/resolveFileRef.js.map +1 -1
- package/dist/uploads/types.d.ts +1 -2
- package/dist/validation/buildRuleBlocks.js +18 -17
- package/dist/validation/buildRuleBlocks.js.map +1 -1
- package/dist/validation/builtin/email.js +2 -1
- package/dist/validation/builtin/email.js.map +1 -1
- package/dist/validation/builtin/index.d.ts +14 -0
- package/dist/validation/builtin/index.js +14 -1
- package/dist/validation/builtin/index.js.map +1 -1
- package/dist/validation/builtin/integer.js +15 -0
- package/dist/validation/builtin/integer.js.map +1 -0
- package/dist/validation/builtin/matchesField.js +3 -7
- package/dist/validation/builtin/matchesField.js.map +1 -1
- package/dist/validation/builtin/max.js +1 -0
- package/dist/validation/builtin/max.js.map +1 -1
- package/dist/validation/builtin/maxDate.js +24 -0
- package/dist/validation/builtin/maxDate.js.map +1 -0
- package/dist/validation/builtin/maxLength.js +1 -0
- package/dist/validation/builtin/maxLength.js.map +1 -1
- package/dist/validation/builtin/min.js +1 -0
- package/dist/validation/builtin/min.js.map +1 -1
- package/dist/validation/builtin/minDate.js +24 -0
- package/dist/validation/builtin/minDate.js.map +1 -0
- package/dist/validation/builtin/minLength.js +1 -0
- package/dist/validation/builtin/minLength.js.map +1 -1
- package/dist/validation/builtin/notAlreadySubmitted.js +5 -1
- package/dist/validation/builtin/notAlreadySubmitted.js.map +1 -1
- package/dist/validation/builtin/oneOf.js +1 -0
- package/dist/validation/builtin/oneOf.js.map +1 -1
- package/dist/validation/builtin/pattern.js +11 -2
- package/dist/validation/builtin/pattern.js.map +1 -1
- package/dist/validation/builtin/url.js +1 -0
- package/dist/validation/builtin/url.js.map +1 -1
- package/dist/validation/builtin/validateDateBound.js +18 -0
- package/dist/validation/builtin/validateDateBound.js.map +1 -0
- package/dist/validation/builtin/validateRegexParams.js +44 -0
- package/dist/validation/builtin/validateRegexParams.js.map +1 -0
- package/dist/validation/emailPattern.js +10 -0
- package/dist/validation/emailPattern.js.map +1 -0
- package/dist/validation/fieldTargetParam.d.ts +22 -0
- package/dist/validation/fieldTargetParam.js +38 -0
- package/dist/validation/fieldTargetParam.js.map +1 -0
- package/dist/validation/registry.d.ts +2 -1
- package/dist/validation/registry.js +2 -9
- package/dist/validation/registry.js.map +1 -1
- package/dist/validation/runValidation.js +8 -29
- package/dist/validation/runValidation.js.map +1 -1
- package/dist/validation/types.d.ts +5 -11
- package/dist/validation/validateUrl.js +22 -0
- package/dist/validation/validateUrl.js.map +1 -0
- package/package.json +14 -6
- package/styles/form-builder.css +94 -190
- package/dist/collections/uploads.d.ts +0 -30
- package/dist/collections/uploads.js +0 -55
- package/dist/collections/uploads.js.map +0 -1
- package/dist/consent/buildConsentSourceConfig.js +0 -49
- package/dist/consent/buildConsentSourceConfig.js.map +0 -1
- package/dist/consent/builtin/index.d.ts +0 -7
- package/dist/consent/builtin/index.js +0 -11
- package/dist/consent/builtin/index.js.map +0 -1
- package/dist/consent/builtin/pageReference.js +0 -75
- package/dist/consent/builtin/pageReference.js.map +0 -1
- package/dist/consent/builtin/static.js +0 -44
- package/dist/consent/builtin/static.js.map +0 -1
- package/dist/consent/defineConsentSource.d.ts +0 -35
- package/dist/consent/defineConsentSource.js +0 -6
- package/dist/consent/defineConsentSource.js.map +0 -1
- package/dist/consent/registry.d.ts +0 -16
- package/dist/consent/registry.js +0 -16
- package/dist/consent/registry.js.map +0 -1
- package/dist/consent/resolveConsentLinks.d.ts +0 -19
- package/dist/consent/resolveConsentLinks.js +0 -26
- package/dist/consent/resolveConsentLinks.js.map +0 -1
- package/dist/presentations/registry.d.ts +0 -15
- package/dist/presentations/registry.js +0 -15
- package/dist/presentations/registry.js.map +0 -1
- package/dist/react/toFormDocument.d.ts +0 -24
- package/dist/react/toFormDocument.js +0 -22
- package/dist/react/toFormDocument.js.map +0 -1
|
@@ -5,28 +5,48 @@
|
|
|
5
5
|
* value in every locale (`en.ts`), or it is a type error.
|
|
6
6
|
*/
|
|
7
7
|
const keys = {
|
|
8
|
-
pluginName: "formBuilder:pluginName",
|
|
9
8
|
fieldTitle: "formBuilder:fieldTitle",
|
|
10
9
|
fieldTypeText: "formBuilder:fieldType.text",
|
|
11
10
|
fieldTypeTextarea: "formBuilder:fieldType.textarea",
|
|
12
11
|
fieldTypeEmail: "formBuilder:fieldType.email",
|
|
13
12
|
fieldTypeNumber: "formBuilder:fieldType.number",
|
|
14
13
|
fieldTypeSelect: "formBuilder:fieldType.select",
|
|
14
|
+
fieldTypeCountry: "formBuilder:fieldType.country",
|
|
15
|
+
fieldTypeState: "formBuilder:fieldType.state",
|
|
15
16
|
fieldTypeCheckbox: "formBuilder:fieldType.checkbox",
|
|
17
|
+
fieldTypeDate: "formBuilder:fieldType.date",
|
|
16
18
|
configOptions: "formBuilder:config.options",
|
|
17
19
|
configOption: "formBuilder:config.option",
|
|
18
20
|
configOptionLabel: "formBuilder:config.optionLabel",
|
|
19
21
|
configOptionValue: "formBuilder:config.optionValue",
|
|
22
|
+
configSelectDisplay: "formBuilder:config.selectDisplay",
|
|
23
|
+
selectDisplayDropdown: "formBuilder:selectDisplay.dropdown",
|
|
24
|
+
selectDisplayRadio: "formBuilder:selectDisplay.radio",
|
|
25
|
+
selectDisplayButtons: "formBuilder:selectDisplay.buttons",
|
|
26
|
+
configCheckboxDisplay: "formBuilder:config.checkboxDisplay",
|
|
27
|
+
checkboxDisplayCheckbox: "formBuilder:checkboxDisplay.checkbox",
|
|
28
|
+
checkboxDisplaySwitch: "formBuilder:checkboxDisplay.switch",
|
|
20
29
|
validationRequired: "formBuilder:validation.required",
|
|
21
30
|
validationEmail: "formBuilder:validation.email",
|
|
22
31
|
validationNumber: "formBuilder:validation.number",
|
|
32
|
+
validationDate: "formBuilder:validation.date",
|
|
23
33
|
validationSelect: "formBuilder:validation.select",
|
|
34
|
+
validationCountry: "formBuilder:validation.country",
|
|
35
|
+
validationState: "formBuilder:validation.state",
|
|
36
|
+
validationRegexPattern: "formBuilder:validation.regexPattern",
|
|
37
|
+
validationRegexFlags: "formBuilder:validation.regexFlags",
|
|
38
|
+
validationEmailFieldUnknown: "formBuilder:validation.emailFieldUnknown",
|
|
39
|
+
validationResultsFieldUnknown: "formBuilder:validation.resultsFieldUnknown",
|
|
24
40
|
formatYes: "formBuilder:format.yes",
|
|
25
41
|
formatNo: "formBuilder:format.no",
|
|
26
42
|
configName: "formBuilder:config.name",
|
|
27
43
|
configLabel: "formBuilder:config.label",
|
|
28
44
|
configRequired: "formBuilder:config.required",
|
|
29
45
|
configWidth: "formBuilder:config.width",
|
|
46
|
+
widthFull: "formBuilder:width.full",
|
|
47
|
+
widthHalf: "formBuilder:width.half",
|
|
48
|
+
widthThird: "formBuilder:width.third",
|
|
49
|
+
widthTwoThirds: "formBuilder:width.twoThirds",
|
|
30
50
|
configPlaceholder: "formBuilder:config.placeholder",
|
|
31
51
|
configDescription: "formBuilder:config.description",
|
|
32
52
|
configVisibleWhen: "formBuilder:config.visibleWhen",
|
|
@@ -37,6 +57,9 @@ const keys = {
|
|
|
37
57
|
ruleMaxLength: "formBuilder:rule.maxLength.label",
|
|
38
58
|
ruleMin: "formBuilder:rule.min.label",
|
|
39
59
|
ruleMax: "formBuilder:rule.max.label",
|
|
60
|
+
ruleInteger: "formBuilder:rule.integer.label",
|
|
61
|
+
ruleMinDate: "formBuilder:rule.minDate.label",
|
|
62
|
+
ruleMaxDate: "formBuilder:rule.maxDate.label",
|
|
40
63
|
rulePattern: "formBuilder:rule.pattern.label",
|
|
41
64
|
ruleEmail: "formBuilder:rule.email.label",
|
|
42
65
|
ruleUrl: "formBuilder:rule.url.label",
|
|
@@ -47,23 +70,39 @@ const keys = {
|
|
|
47
70
|
ruleMaxLengthMessage: "formBuilder:rule.maxLength.message",
|
|
48
71
|
ruleMinMessage: "formBuilder:rule.min.message",
|
|
49
72
|
ruleMaxMessage: "formBuilder:rule.max.message",
|
|
73
|
+
ruleIntegerMessage: "formBuilder:rule.integer.message",
|
|
74
|
+
ruleMinDateMessage: "formBuilder:rule.minDate.message",
|
|
75
|
+
ruleMaxDateMessage: "formBuilder:rule.maxDate.message",
|
|
50
76
|
rulePatternMessage: "formBuilder:rule.pattern.message",
|
|
51
77
|
ruleEmailMessage: "formBuilder:rule.email.message",
|
|
52
78
|
ruleUrlMessage: "formBuilder:rule.url.message",
|
|
53
79
|
ruleOneOfMessage: "formBuilder:rule.oneOf.message",
|
|
54
80
|
ruleMatchesFieldMessage: "formBuilder:rule.matchesField.message",
|
|
55
81
|
ruleNotAlreadySubmittedMessage: "formBuilder:rule.notAlreadySubmitted.message",
|
|
82
|
+
ruleMinLengthDescription: "formBuilder:rule.minLength.description",
|
|
83
|
+
ruleMaxLengthDescription: "formBuilder:rule.maxLength.description",
|
|
84
|
+
ruleMinDescription: "formBuilder:rule.min.description",
|
|
85
|
+
ruleMaxDescription: "formBuilder:rule.max.description",
|
|
86
|
+
ruleIntegerDescription: "formBuilder:rule.integer.description",
|
|
87
|
+
ruleMinDateDescription: "formBuilder:rule.minDate.description",
|
|
88
|
+
ruleMaxDateDescription: "formBuilder:rule.maxDate.description",
|
|
89
|
+
rulePatternDescription: "formBuilder:rule.pattern.description",
|
|
90
|
+
ruleEmailDescription: "formBuilder:rule.email.description",
|
|
91
|
+
ruleUrlDescription: "formBuilder:rule.url.description",
|
|
92
|
+
ruleOneOfDescription: "formBuilder:rule.oneOf.description",
|
|
93
|
+
ruleMatchesFieldDescription: "formBuilder:rule.matchesField.description",
|
|
94
|
+
ruleNotAlreadySubmittedDescription: "formBuilder:rule.notAlreadySubmitted.description",
|
|
95
|
+
ruleFieldTargetInvalid: "formBuilder:rule.fieldTargetInvalid",
|
|
56
96
|
ruleParamMin: "formBuilder:rule.param.min",
|
|
57
97
|
ruleParamMax: "formBuilder:rule.param.max",
|
|
98
|
+
ruleParamMinDate: "formBuilder:rule.param.minDate",
|
|
99
|
+
ruleParamMaxDate: "formBuilder:rule.param.maxDate",
|
|
58
100
|
ruleParamPattern: "formBuilder:rule.param.pattern",
|
|
59
101
|
ruleParamFlags: "formBuilder:rule.param.flags",
|
|
60
102
|
ruleParamValues: "formBuilder:rule.param.values",
|
|
61
103
|
ruleParamField: "formBuilder:rule.param.field",
|
|
62
104
|
validationsLabel: "formBuilder:validations.label",
|
|
63
105
|
validationMessageLabel: "formBuilder:validations.message",
|
|
64
|
-
validationSeverityLabel: "formBuilder:validations.severity",
|
|
65
|
-
validationSeverityError: "formBuilder:validations.severity.error",
|
|
66
|
-
validationSeverityWarning: "formBuilder:validations.severity.warning",
|
|
67
106
|
conditionAddCondition: "formBuilder:condition.addCondition",
|
|
68
107
|
conditionAddOr: "formBuilder:condition.addOr",
|
|
69
108
|
conditionAnd: "formBuilder:condition.and",
|
|
@@ -72,15 +111,52 @@ const keys = {
|
|
|
72
111
|
conditionNoFields: "formBuilder:condition.noFields",
|
|
73
112
|
conditionEmpty: "formBuilder:condition.empty",
|
|
74
113
|
conditionSelectField: "formBuilder:condition.selectField",
|
|
75
|
-
conditionValuePlaceholder: "formBuilder:condition.value",
|
|
76
114
|
conditionTrue: "formBuilder:condition.true",
|
|
77
115
|
conditionFalse: "formBuilder:condition.false",
|
|
78
|
-
configAdvanced: "formBuilder:config.advanced",
|
|
79
116
|
configHidden: "formBuilder:config.hidden",
|
|
117
|
+
configHiddenDescription: "formBuilder:config.hiddenDescription",
|
|
118
|
+
configAutocomplete: "formBuilder:config.autocomplete",
|
|
119
|
+
configAutocompleteDescription: "formBuilder:config.autocompleteDescription",
|
|
120
|
+
tabFields: "formBuilder:tab.fields",
|
|
121
|
+
tabFlow: "formBuilder:tab.flow",
|
|
122
|
+
tabActions: "formBuilder:tab.actions",
|
|
123
|
+
tabField: "formBuilder:tab.field",
|
|
124
|
+
tabValidation: "formBuilder:tab.validation",
|
|
125
|
+
tabAdvanced: "formBuilder:tab.advanced",
|
|
80
126
|
fieldTypeCalculation: "formBuilder:fieldType.calculation",
|
|
81
127
|
configExpression: "formBuilder:config.expression",
|
|
82
128
|
configCalcDisplay: "formBuilder:config.calcDisplay",
|
|
83
|
-
|
|
129
|
+
validationCalcExpressionInvalid: "formBuilder:validation.calcExpressionInvalid",
|
|
130
|
+
calcBuilderAnswer: "formBuilder:calcBuilder.answer",
|
|
131
|
+
calcBuilderNumber: "formBuilder:calcBuilder.number",
|
|
132
|
+
calcBuilderMath: "formBuilder:calcBuilder.math",
|
|
133
|
+
calcBuilderFunction: "formBuilder:calcBuilder.function",
|
|
134
|
+
calcBuilderWeights: "formBuilder:calcBuilder.weights",
|
|
135
|
+
calcBuilderAddExpression: "formBuilder:calcBuilder.addExpression",
|
|
136
|
+
calcBuilderPickField: "formBuilder:calcBuilder.pickField",
|
|
137
|
+
calcBuilderAddArgument: "formBuilder:calcBuilder.addArgument",
|
|
138
|
+
calcBuilderRemove: "formBuilder:calcBuilder.remove",
|
|
139
|
+
calcBuilderKind: "formBuilder:calcBuilder.kind",
|
|
140
|
+
calcBuilderNegate: "formBuilder:calcBuilder.negate",
|
|
141
|
+
calcBuilderNoNumericFields: "formBuilder:calcBuilder.noNumericFields",
|
|
142
|
+
calcBuilderNoChoiceFields: "formBuilder:calcBuilder.noChoiceFields",
|
|
143
|
+
calcBuilderStoredInvalid: "formBuilder:calcBuilder.storedInvalid",
|
|
144
|
+
calcBuilderSourcesGroup: "formBuilder:calcBuilder.sourcesGroup",
|
|
145
|
+
calcBuilderWeightValues: "formBuilder:calcBuilder.weightValues",
|
|
146
|
+
calcBuilderWeightManual: "formBuilder:calcBuilder.weightManual",
|
|
147
|
+
calcBuilderWeightsFromSource: "formBuilder:calcBuilder.weightsFromSource",
|
|
148
|
+
calcConfigDecimals: "formBuilder:calcConfig.decimals",
|
|
149
|
+
calcConfigPrefix: "formBuilder:calcConfig.prefix",
|
|
150
|
+
calcConfigSuffix: "formBuilder:calcConfig.suffix",
|
|
151
|
+
calcBuilderStartWith: "formBuilder:calcBuilder.startWith",
|
|
152
|
+
calcBuilderAddStep: "formBuilder:calcBuilder.addStep",
|
|
153
|
+
calcBuilderThenApply: "formBuilder:calcBuilder.thenApply",
|
|
154
|
+
calcBuilderGroup: "formBuilder:calcBuilder.group",
|
|
155
|
+
calcBuilderFieldDescription: "formBuilder:calcBuilder.fieldDescription",
|
|
156
|
+
calcBuilderNumberDescription: "formBuilder:calcBuilder.numberDescription",
|
|
157
|
+
calcBuilderWeightsDescription: "formBuilder:calcBuilder.weightsDescription",
|
|
158
|
+
calcBuilderFunctionDescription: "formBuilder:calcBuilder.functionDescription",
|
|
159
|
+
calcSourcesUnavailable: "formBuilder:calc.sourcesUnavailable",
|
|
84
160
|
presentationPage: "formBuilder:presentation.page",
|
|
85
161
|
presentationModal: "formBuilder:presentation.modal",
|
|
86
162
|
presentationDrawer: "formBuilder:presentation.drawer",
|
|
@@ -91,44 +167,122 @@ const keys = {
|
|
|
91
167
|
actionConfigTo: "formBuilder:action.config.to",
|
|
92
168
|
actionConfigSubject: "formBuilder:action.config.subject",
|
|
93
169
|
actionConfigBody: "formBuilder:action.config.body",
|
|
170
|
+
actionConfigBodyDescription: "formBuilder:action.config.bodyDescription",
|
|
94
171
|
actionConfigToField: "formBuilder:action.config.toField",
|
|
172
|
+
actionConfigToFieldDescription: "formBuilder:action.config.toFieldDescription",
|
|
173
|
+
actionConfigFrom: "formBuilder:action.config.from",
|
|
174
|
+
actionConfigFromDescription: "formBuilder:action.config.fromDescription",
|
|
175
|
+
actionConfigCc: "formBuilder:action.config.cc",
|
|
176
|
+
actionConfigBcc: "formBuilder:action.config.bcc",
|
|
177
|
+
actionConfigReplyTo: "formBuilder:action.config.replyTo",
|
|
178
|
+
recipientsGroupDepartments: "formBuilder:recipients.group.departments",
|
|
179
|
+
recipientsGroupFields: "formBuilder:recipients.group.fields",
|
|
180
|
+
recipientsGroupSources: "formBuilder:recipients.group.sources",
|
|
181
|
+
validationRecipientInvalid: "formBuilder:validation.recipient.invalid",
|
|
182
|
+
validationRecipientUnknownField: "formBuilder:validation.recipient.unknownField",
|
|
183
|
+
validationRecipientNotAllowed: "formBuilder:validation.recipient.notAllowed",
|
|
184
|
+
validationRecipientOptionsUnavailable: "formBuilder:validation.recipient.optionsUnavailable",
|
|
185
|
+
validationFromUnknown: "formBuilder:validation.fromUnknown",
|
|
186
|
+
validationFromUnavailable: "formBuilder:validation.fromUnavailable",
|
|
95
187
|
actionConfigUrl: "formBuilder:action.config.url",
|
|
188
|
+
actionConfigUrlDescription: "formBuilder:action.config.urlDescription",
|
|
96
189
|
actionConfigSecret: "formBuilder:action.config.secret",
|
|
190
|
+
actionConfigSecretDescription: "formBuilder:action.config.secretDescription",
|
|
191
|
+
validationUrlInvalid: "formBuilder:validation.urlInvalid",
|
|
97
192
|
configActions: "formBuilder:config.actions",
|
|
98
|
-
consentSourceStatic: "formBuilder:consentSource.static",
|
|
99
|
-
consentSourcePageReference: "formBuilder:consentSource.pageReference",
|
|
100
|
-
consentConfigLabel: "formBuilder:consent.config.label",
|
|
101
|
-
consentConfigUrl: "formBuilder:consent.config.url",
|
|
102
|
-
consentConfigVersion: "formBuilder:consent.config.version",
|
|
103
|
-
consentConfigRelationTo: "formBuilder:consent.config.relationTo",
|
|
104
|
-
consentConfigDocId: "formBuilder:consent.config.docId",
|
|
105
|
-
consentConfigUrlField: "formBuilder:consent.config.urlField",
|
|
106
|
-
consentConfigCaptureVersion: "formBuilder:consent.config.captureVersion",
|
|
107
193
|
fieldTypeConsent: "formBuilder:fieldType.consent",
|
|
108
|
-
consentConfigStatement: "formBuilder:consent.config.statement",
|
|
109
194
|
consentConfigSource: "formBuilder:consent.config.source",
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
195
|
+
consentConfigDisplay: "formBuilder:consent.config.display",
|
|
196
|
+
consentConfigDisplayDescription: "formBuilder:consent.config.displayDescription",
|
|
197
|
+
consentDisplayCheckbox: "formBuilder:consent.display.checkbox",
|
|
198
|
+
consentDisplayNotice: "formBuilder:consent.display.notice",
|
|
199
|
+
consentSourceNoticeStatement: "formBuilder:consentSources.noticeStatement",
|
|
200
|
+
consentSourceNoticeStatementDescription: "formBuilder:consentSources.noticeStatementDescription",
|
|
201
|
+
consentConfigSourceDescription: "formBuilder:consent.config.sourceDescription",
|
|
202
|
+
consentSourcesField: "formBuilder:consentSources.field",
|
|
203
|
+
consentSourcesFieldDescription: "formBuilder:consentSources.fieldDescription",
|
|
204
|
+
consentSourceSingular: "formBuilder:consentSources.singular",
|
|
205
|
+
consentSourcePlural: "formBuilder:consentSources.plural",
|
|
206
|
+
consentSourceLabel: "formBuilder:consentSources.label",
|
|
207
|
+
consentSourceStatement: "formBuilder:consentSources.statement",
|
|
208
|
+
consentSourcePage: "formBuilder:consentSources.page",
|
|
209
|
+
consentSourcePageDescription: "formBuilder:consentSources.pageDescription",
|
|
210
|
+
consentSourcesUnavailable: "formBuilder:consent.sourcesUnavailable",
|
|
113
211
|
resultsResponses: "formBuilder:results.responses",
|
|
114
212
|
resultsNoResponses: "formBuilder:results.noResponses",
|
|
115
213
|
resultsTruncated: "formBuilder:results.truncated",
|
|
116
|
-
|
|
117
|
-
|
|
214
|
+
pollGroup: "formBuilder:poll.group",
|
|
215
|
+
pollResultsField: "formBuilder:poll.resultsField",
|
|
216
|
+
pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription",
|
|
217
|
+
pollVoteFieldChoose: "formBuilder:poll.voteFieldChoose",
|
|
218
|
+
pollVoteFieldMissing: "formBuilder:poll.voteFieldMissing",
|
|
219
|
+
pollNeedsPersistedSubmissions: "formBuilder:poll.needsPersistedSubmissions",
|
|
220
|
+
pollResultsVisibility: "formBuilder:poll.resultsVisibility",
|
|
221
|
+
pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote",
|
|
222
|
+
pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose",
|
|
223
|
+
pollClosesAt: "formBuilder:poll.closesAt",
|
|
224
|
+
pollAllowChange: "formBuilder:poll.allowChange",
|
|
225
|
+
pollAllowChangeDescription: "formBuilder:poll.allowChangeDescription",
|
|
226
|
+
pollAllowChangeNeedsPersistedSubmissions: "formBuilder:poll.allowChangeNeedsPersistedSubmissions",
|
|
227
|
+
pollClosed: "formBuilder:poll.closed",
|
|
228
|
+
pollResultsAfterClose: "formBuilder:poll.resultsAfterClose",
|
|
229
|
+
pollOptionSource: "formBuilder:poll.optionSource",
|
|
230
|
+
pollOptionSourceDescription: "formBuilder:poll.optionSourceDescription",
|
|
231
|
+
pollSourceConfig: "formBuilder:poll.sourceConfig",
|
|
232
|
+
pollOutcome: "formBuilder:poll.outcome",
|
|
233
|
+
pollType: "formBuilder:poll.type",
|
|
234
|
+
pollTypeDescription: "formBuilder:poll.typeDescription",
|
|
235
|
+
pollTypeManual: "formBuilder:poll.type.manual",
|
|
236
|
+
pollTypeMostVoted: "formBuilder:poll.type.mostVoted",
|
|
237
|
+
pollTypeSource: "formBuilder:poll.type.source",
|
|
238
|
+
pollCloseButton: "formBuilder:poll.close.button",
|
|
239
|
+
pollReopenButton: "formBuilder:poll.reopen.button",
|
|
240
|
+
pollCloseHintManual: "formBuilder:poll.close.hintManual",
|
|
241
|
+
pollCloseHintMostVoted: "formBuilder:poll.close.hintMostVoted",
|
|
242
|
+
pollCloseHintSource: "formBuilder:poll.close.hintSource",
|
|
243
|
+
pollReopenHint: "formBuilder:poll.reopen.hint",
|
|
244
|
+
pollCloseNeedsWinner: "formBuilder:poll.close.needsWinner",
|
|
245
|
+
pollCloseManualNoWinner: "formBuilder:poll.close.manualNoWinner",
|
|
246
|
+
pollWinningValue: "formBuilder:poll.winningValue",
|
|
247
|
+
pollWinningValueDescription: "formBuilder:poll.winningValueDescription",
|
|
248
|
+
pollResolvedAt: "formBuilder:poll.resolvedAt",
|
|
249
|
+
validationWinningValueUnknown: "formBuilder:validation.winningValueUnknown",
|
|
250
|
+
validationWinningValueDisabled: "formBuilder:validation.winningValueDisabled",
|
|
251
|
+
endpointOptionsLoading: "formBuilder:endpointOptions.loading",
|
|
252
|
+
endpointOptionsError: "formBuilder:endpointOptions.error",
|
|
253
|
+
pollOptionsUnavailable: "formBuilder:poll.optionsUnavailable",
|
|
254
|
+
pollFinalResult: "formBuilder:poll.finalResult",
|
|
255
|
+
pollResultsError: "formBuilder:poll.resultsError",
|
|
256
|
+
resultsWinner: "formBuilder:results.winner",
|
|
257
|
+
resultsYourVote: "formBuilder:results.yourVote",
|
|
258
|
+
pollChangeVote: "formBuilder:poll.changeVote",
|
|
118
259
|
validationFileMissing: "formBuilder:validation.file.missing",
|
|
119
260
|
validationFileMimeType: "formBuilder:validation.file.mimeType",
|
|
120
261
|
validationFileTooLarge: "formBuilder:validation.file.tooLarge",
|
|
121
262
|
fieldTypeFile: "formBuilder:fieldType.file",
|
|
122
|
-
fileConfigRelationTo: "formBuilder:file.config.relationTo",
|
|
123
263
|
fileConfigMimeTypes: "formBuilder:file.config.mimeTypes",
|
|
124
264
|
fileConfigMaxSize: "formBuilder:file.config.maxSize",
|
|
265
|
+
fileConfigMaxSizeDescription: "formBuilder:file.config.maxSizeDescription",
|
|
266
|
+
fileTooLarge: "formBuilder:file.tooLarge",
|
|
267
|
+
fileUploadMisconfigured: "formBuilder:file.uploadMisconfigured",
|
|
268
|
+
fileHintAccepted: "formBuilder:file.hint.accepted",
|
|
269
|
+
fileHintMaxSize: "formBuilder:file.hint.maxSize",
|
|
270
|
+
fileUploaded: "formBuilder:file.uploaded",
|
|
271
|
+
fileUploading: "formBuilder:file.uploading",
|
|
272
|
+
fileUploadFailed: "formBuilder:file.uploadFailed",
|
|
273
|
+
fileRemove: "formBuilder:file.remove",
|
|
125
274
|
spamRateLimited: "formBuilder:spam.rateLimited",
|
|
275
|
+
submissionActionFailed: "formBuilder:submission.actionFailed",
|
|
126
276
|
spamRejected: "formBuilder:spam.rejected",
|
|
127
277
|
spamCaptchaFailed: "formBuilder:spam.captchaFailed",
|
|
278
|
+
contextInvalid: "formBuilder:context.invalid",
|
|
128
279
|
collectionFormSingular: "formBuilder:collection.form.singular",
|
|
129
280
|
collectionFormPlural: "formBuilder:collection.form.plural",
|
|
130
281
|
collectionSubmissionSingular: "formBuilder:collection.submission.singular",
|
|
131
282
|
collectionSubmissionPlural: "formBuilder:collection.submission.plural",
|
|
283
|
+
collectionPollVoteSingular: "formBuilder:collection.pollVote.singular",
|
|
284
|
+
collectionPollVotePlural: "formBuilder:collection.pollVote.plural",
|
|
285
|
+
submissionContext: "formBuilder:submission.context",
|
|
132
286
|
statusComplete: "formBuilder:status.complete",
|
|
133
287
|
statusPartial: "formBuilder:status.partial",
|
|
134
288
|
fieldTypeRepeater: "formBuilder:fieldType.repeater",
|
|
@@ -146,10 +300,78 @@ const keys = {
|
|
|
146
300
|
submissionDetails: "formBuilder:submission.details",
|
|
147
301
|
submissionConsentAgreed: "formBuilder:submission.consentAgreed",
|
|
148
302
|
submissionConsentDeclined: "formBuilder:submission.consentDeclined",
|
|
303
|
+
submissionMetaLocale: "formBuilder:submission.meta.locale",
|
|
149
304
|
submissionMetaReceivedAt: "formBuilder:submission.meta.receivedAt",
|
|
150
305
|
submissionMetaIp: "formBuilder:submission.meta.ip",
|
|
151
306
|
submissionMetaUserAgent: "formBuilder:submission.meta.userAgent",
|
|
152
|
-
submissionMetaCaptcha: "formBuilder:submission.meta.captcha"
|
|
307
|
+
submissionMetaCaptcha: "formBuilder:submission.meta.captcha",
|
|
308
|
+
flowDescription: "formBuilder:flow.description",
|
|
309
|
+
flowStepFallbackTitle: "formBuilder:flow.stepFallbackTitle",
|
|
310
|
+
flowFieldInStep: "formBuilder:flow.fieldInStep",
|
|
311
|
+
flowUnassigned: "formBuilder:flow.unassigned",
|
|
312
|
+
flowAssignToStep: "formBuilder:flow.assignToStep",
|
|
313
|
+
flowNextSequential: "formBuilder:flow.nextSequential",
|
|
314
|
+
flowNextTerminal: "formBuilder:flow.nextTerminal",
|
|
315
|
+
flowFields: "formBuilder:flow.fields",
|
|
316
|
+
flowDefaultNext: "formBuilder:flow.defaultNext",
|
|
317
|
+
flowConditionalTransitions: "formBuilder:flow.conditionalTransitions",
|
|
318
|
+
flowStepTitleLabel: "formBuilder:flow.stepTitleLabel",
|
|
319
|
+
flowSelectStepPlaceholder: "formBuilder:flow.selectStepPlaceholder",
|
|
320
|
+
flowMoveTransitionUp: "formBuilder:flow.moveTransitionUp",
|
|
321
|
+
flowMoveTransitionDown: "formBuilder:flow.moveTransitionDown",
|
|
322
|
+
flowRemoveTransition: "formBuilder:flow.removeTransition",
|
|
323
|
+
flowAddAbove: "formBuilder:flow.addAbove",
|
|
324
|
+
flowAddBelow: "formBuilder:flow.addBelow",
|
|
325
|
+
flowGoTo: "formBuilder:flow.goTo",
|
|
326
|
+
flowWhen: "formBuilder:flow.when",
|
|
327
|
+
flowNoFields: "formBuilder:flow.noFields",
|
|
328
|
+
flowFirstMatchWins: "formBuilder:flow.firstMatchWins",
|
|
329
|
+
flowAddTransition: "formBuilder:flow.addTransition",
|
|
330
|
+
flowNoSteps: "formBuilder:flow.noSteps",
|
|
331
|
+
flowFallbackTitle: "formBuilder:flow.fallbackTitle",
|
|
332
|
+
flowStepIdEmpty: "formBuilder:flow.stepIdEmpty",
|
|
333
|
+
flowStepIdReserved: "formBuilder:flow.stepIdReserved",
|
|
334
|
+
flowDuplicateStepIds: "formBuilder:flow.duplicateStepIds",
|
|
335
|
+
flowUnknownNext: "formBuilder:flow.unknownNext",
|
|
336
|
+
flowUnknownTransition: "formBuilder:flow.unknownTransition",
|
|
337
|
+
flowNeedsTwoSteps: "formBuilder:flow.needsTwoSteps",
|
|
338
|
+
fieldTypeMessage: "formBuilder:fieldType.message",
|
|
339
|
+
configContent: "formBuilder:config.content",
|
|
340
|
+
tabResponse: "formBuilder:tab.response",
|
|
341
|
+
responseType: "formBuilder:response.type",
|
|
342
|
+
responseTypeMessage: "formBuilder:response.type.message",
|
|
343
|
+
responseTypeRedirect: "formBuilder:response.type.redirect",
|
|
344
|
+
responseMessage: "formBuilder:response.message",
|
|
345
|
+
responseRedirect: "formBuilder:response.redirect",
|
|
346
|
+
responseUrl: "formBuilder:response.url",
|
|
347
|
+
responseRedirectReference: "formBuilder:response.redirect.reference",
|
|
348
|
+
responseRedirectReferenceDescription: "formBuilder:response.redirect.referenceDescription",
|
|
349
|
+
buttonsSubmitLabel: "formBuilder:buttons.submitLabel",
|
|
350
|
+
buttonsNextLabel: "formBuilder:buttons.nextLabel",
|
|
351
|
+
buttonsPrevLabel: "formBuilder:buttons.prevLabel",
|
|
352
|
+
formBack: "formBuilder:form.back",
|
|
353
|
+
formNext: "formBuilder:form.next",
|
|
354
|
+
formSubmit: "formBuilder:form.submit",
|
|
355
|
+
formMultistep: "formBuilder:form.multistep",
|
|
356
|
+
formPollEnabled: "formBuilder:form.pollEnabled",
|
|
357
|
+
formPersistSubmissions: "formBuilder:form.persistSubmissions",
|
|
358
|
+
formClose: "formBuilder:form.close",
|
|
359
|
+
formSuccess: "formBuilder:form.success",
|
|
360
|
+
formSubmitFailed: "formBuilder:form.submitFailed",
|
|
361
|
+
formStepStatus: "formBuilder:form.stepStatus",
|
|
362
|
+
formStepInvalid: "formBuilder:form.stepInvalid",
|
|
363
|
+
cellStepCountOne: "formBuilder:cell.stepCount.one",
|
|
364
|
+
cellStepCountOther: "formBuilder:cell.stepCount.other",
|
|
365
|
+
cellFieldCountOne: "formBuilder:cell.fieldCount.one",
|
|
366
|
+
cellFieldCountOther: "formBuilder:cell.fieldCount.other",
|
|
367
|
+
departmentsField: "formBuilder:departments.field",
|
|
368
|
+
departmentsFieldDescription: "formBuilder:departments.fieldDescription",
|
|
369
|
+
departmentSingular: "formBuilder:departments.singular",
|
|
370
|
+
departmentPlural: "formBuilder:departments.plural",
|
|
371
|
+
departmentLabel: "formBuilder:departments.label",
|
|
372
|
+
departmentEmail: "formBuilder:departments.email",
|
|
373
|
+
departmentAddRow: "formBuilder:departments.addRow",
|
|
374
|
+
departmentRemoveRow: "formBuilder:departments.removeRow"
|
|
153
375
|
};
|
|
154
376
|
//#endregion
|
|
155
377
|
export { keys };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","names":[],"sources":["../../src/translations/keys.ts"],"sourcesContent":["/**\n * Typed translation keys. Lookups must go through these constants, not string\n * literals (enforced by requireI18nKeysTyped.grit). Every key here must have a\n * value in every locale (`en.ts`), or it is a type error.\n */\nexport const keys = {\n\tpluginName: 'formBuilder:pluginName',\n\tfieldTitle: 'formBuilder:fieldTitle',\n\tfieldTypeText: 'formBuilder:fieldType.text',\n\tfieldTypeTextarea: 'formBuilder:fieldType.textarea',\n\tfieldTypeEmail: 'formBuilder:fieldType.email',\n\tfieldTypeNumber: 'formBuilder:fieldType.number',\n\tfieldTypeSelect: 'formBuilder:fieldType.select',\n\tfieldTypeCheckbox: 'formBuilder:fieldType.checkbox',\n\tconfigOptions: 'formBuilder:config.options',\n\tconfigOption: 'formBuilder:config.option',\n\tconfigOptionLabel: 'formBuilder:config.optionLabel',\n\tconfigOptionValue: 'formBuilder:config.optionValue',\n\tvalidationRequired: 'formBuilder:validation.required',\n\tvalidationEmail: 'formBuilder:validation.email',\n\tvalidationNumber: 'formBuilder:validation.number',\n\tvalidationSelect: 'formBuilder:validation.select',\n\tformatYes: 'formBuilder:format.yes',\n\tformatNo: 'formBuilder:format.no',\n\tconfigName: 'formBuilder:config.name',\n\tconfigLabel: 'formBuilder:config.label',\n\tconfigRequired: 'formBuilder:config.required',\n\tconfigWidth: 'formBuilder:config.width',\n\tconfigPlaceholder: 'formBuilder:config.placeholder',\n\tconfigDescription: 'formBuilder:config.description',\n\tconfigVisibleWhen: 'formBuilder:config.visibleWhen',\n\tconfigValidateWhen: 'formBuilder:config.validateWhen',\n\tsubmissionAnswers: 'formBuilder:submission.answers',\n\tsubmissionNoAnswers: 'formBuilder:submission.noAnswers',\n\truleMinLength: 'formBuilder:rule.minLength.label',\n\truleMaxLength: 'formBuilder:rule.maxLength.label',\n\truleMin: 'formBuilder:rule.min.label',\n\truleMax: 'formBuilder:rule.max.label',\n\trulePattern: 'formBuilder:rule.pattern.label',\n\truleEmail: 'formBuilder:rule.email.label',\n\truleUrl: 'formBuilder:rule.url.label',\n\truleOneOf: 'formBuilder:rule.oneOf.label',\n\truleMatchesField: 'formBuilder:rule.matchesField.label',\n\truleNotAlreadySubmitted: 'formBuilder:rule.notAlreadySubmitted.label',\n\truleMinLengthMessage: 'formBuilder:rule.minLength.message',\n\truleMaxLengthMessage: 'formBuilder:rule.maxLength.message',\n\truleMinMessage: 'formBuilder:rule.min.message',\n\truleMaxMessage: 'formBuilder:rule.max.message',\n\trulePatternMessage: 'formBuilder:rule.pattern.message',\n\truleEmailMessage: 'formBuilder:rule.email.message',\n\truleUrlMessage: 'formBuilder:rule.url.message',\n\truleOneOfMessage: 'formBuilder:rule.oneOf.message',\n\truleMatchesFieldMessage: 'formBuilder:rule.matchesField.message',\n\truleNotAlreadySubmittedMessage: 'formBuilder:rule.notAlreadySubmitted.message',\n\truleParamMin: 'formBuilder:rule.param.min',\n\truleParamMax: 'formBuilder:rule.param.max',\n\truleParamPattern: 'formBuilder:rule.param.pattern',\n\truleParamFlags: 'formBuilder:rule.param.flags',\n\truleParamValues: 'formBuilder:rule.param.values',\n\truleParamField: 'formBuilder:rule.param.field',\n\tvalidationsLabel: 'formBuilder:validations.label',\n\tvalidationMessageLabel: 'formBuilder:validations.message',\n\tvalidationSeverityLabel: 'formBuilder:validations.severity',\n\tvalidationSeverityError: 'formBuilder:validations.severity.error',\n\tvalidationSeverityWarning: 'formBuilder:validations.severity.warning',\n\tconditionAddCondition: 'formBuilder:condition.addCondition',\n\tconditionAddOr: 'formBuilder:condition.addOr',\n\tconditionAnd: 'formBuilder:condition.and',\n\tconditionOr: 'formBuilder:condition.or',\n\tconditionRemove: 'formBuilder:condition.remove',\n\tconditionNoFields: 'formBuilder:condition.noFields',\n\tconditionEmpty: 'formBuilder:condition.empty',\n\tconditionSelectField: 'formBuilder:condition.selectField',\n\tconditionValuePlaceholder: 'formBuilder:condition.value',\n\tconditionTrue: 'formBuilder:condition.true',\n\tconditionFalse: 'formBuilder:condition.false',\n\tconfigAdvanced: 'formBuilder:config.advanced',\n\tconfigHidden: 'formBuilder:config.hidden',\n\tfieldTypeCalculation: 'formBuilder:fieldType.calculation',\n\tconfigExpression: 'formBuilder:config.expression',\n\tconfigCalcDisplay: 'formBuilder:config.calcDisplay',\n\tconfigDefaultPresentation: 'formBuilder:config.defaultPresentation',\n\tpresentationPage: 'formBuilder:presentation.page',\n\tpresentationModal: 'formBuilder:presentation.modal',\n\tpresentationDrawer: 'formBuilder:presentation.drawer',\n\tpresentationInline: 'formBuilder:presentation.inline',\n\tactionEmailTeam: 'formBuilder:action.emailTeam',\n\tactionConfirmation: 'formBuilder:action.confirmation',\n\tactionSignedWebhook: 'formBuilder:action.signedWebhook',\n\tactionConfigTo: 'formBuilder:action.config.to',\n\tactionConfigSubject: 'formBuilder:action.config.subject',\n\tactionConfigBody: 'formBuilder:action.config.body',\n\tactionConfigToField: 'formBuilder:action.config.toField',\n\tactionConfigUrl: 'formBuilder:action.config.url',\n\tactionConfigSecret: 'formBuilder:action.config.secret',\n\tconfigActions: 'formBuilder:config.actions',\n\tconsentSourceStatic: 'formBuilder:consentSource.static',\n\tconsentSourcePageReference: 'formBuilder:consentSource.pageReference',\n\tconsentConfigLabel: 'formBuilder:consent.config.label',\n\tconsentConfigUrl: 'formBuilder:consent.config.url',\n\tconsentConfigVersion: 'formBuilder:consent.config.version',\n\tconsentConfigRelationTo: 'formBuilder:consent.config.relationTo',\n\tconsentConfigDocId: 'formBuilder:consent.config.docId',\n\tconsentConfigUrlField: 'formBuilder:consent.config.urlField',\n\tconsentConfigCaptureVersion: 'formBuilder:consent.config.captureVersion',\n\tfieldTypeConsent: 'formBuilder:fieldType.consent',\n\tconsentConfigStatement: 'formBuilder:consent.config.statement',\n\tconsentConfigSource: 'formBuilder:consent.config.source',\n\tconsentConfigSourceConfig: 'formBuilder:consent.config.sourceConfig',\n\tconsentConfigOptional: 'formBuilder:consent.config.optional',\n\tresultsTitle: 'formBuilder:results.title',\n\tresultsResponses: 'formBuilder:results.responses',\n\tresultsNoResponses: 'formBuilder:results.noResponses',\n\tresultsTruncated: 'formBuilder:results.truncated',\n\tconfigShowResults: 'formBuilder:config.showResults',\n\tconfigResultsField: 'formBuilder:config.resultsField',\n\tvalidationFileMissing: 'formBuilder:validation.file.missing',\n\tvalidationFileMimeType: 'formBuilder:validation.file.mimeType',\n\tvalidationFileTooLarge: 'formBuilder:validation.file.tooLarge',\n\tfieldTypeFile: 'formBuilder:fieldType.file',\n\tfileConfigRelationTo: 'formBuilder:file.config.relationTo',\n\tfileConfigMimeTypes: 'formBuilder:file.config.mimeTypes',\n\tfileConfigMaxSize: 'formBuilder:file.config.maxSize',\n\tspamRateLimited: 'formBuilder:spam.rateLimited',\n\tspamRejected: 'formBuilder:spam.rejected',\n\tspamCaptchaFailed: 'formBuilder:spam.captchaFailed',\n\tcollectionFormSingular: 'formBuilder:collection.form.singular',\n\tcollectionFormPlural: 'formBuilder:collection.form.plural',\n\tcollectionSubmissionSingular: 'formBuilder:collection.submission.singular',\n\tcollectionSubmissionPlural: 'formBuilder:collection.submission.plural',\n\tstatusComplete: 'formBuilder:status.complete',\n\tstatusPartial: 'formBuilder:status.partial',\n\tfieldTypeRepeater: 'formBuilder:fieldType.repeater',\n\tconfigMinRows: 'formBuilder:config.minRows',\n\tconfigMaxRows: 'formBuilder:config.maxRows',\n\tconfigAddLabel: 'formBuilder:config.addLabel',\n\tconfigSubFields: 'formBuilder:config.subFields',\n\tvalidationRepeaterMin: 'formBuilder:validation.repeaterMin',\n\tvalidationRepeaterMax: 'formBuilder:validation.repeaterMax',\n\trepeaterAddRow: 'formBuilder:repeater.addRow',\n\trepeaterRemoveRow: 'formBuilder:repeater.removeRow',\n\trepeaterRow: 'formBuilder:repeater.row',\n\trepeaterRowCount: 'formBuilder:repeater.rowCount',\n\tsubmissionConsent: 'formBuilder:submission.consent',\n\tsubmissionDetails: 'formBuilder:submission.details',\n\tsubmissionConsentAgreed: 'formBuilder:submission.consentAgreed',\n\tsubmissionConsentDeclined: 'formBuilder:submission.consentDeclined',\n\tsubmissionMetaReceivedAt: 'formBuilder:submission.meta.receivedAt',\n\tsubmissionMetaIp: 'formBuilder:submission.meta.ip',\n\tsubmissionMetaUserAgent: 'formBuilder:submission.meta.userAgent',\n\tsubmissionMetaCaptcha: 'formBuilder:submission.meta.captcha',\n} as const\n\nexport type TranslationKey = (typeof keys)[keyof typeof keys]\n"],"mappings":";;;;;;AAKA,MAAa,OAAO;CACnB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB;CACjB,iBAAiB;CACjB,mBAAmB;CACnB,eAAe;CACf,cAAc;CACd,mBAAmB;CACnB,mBAAmB;CACnB,oBAAoB;CACpB,iBAAiB;CACjB,kBAAkB;CAClB,kBAAkB;CAClB,WAAW;CACX,UAAU;CACV,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB,aAAa;CACb,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,oBAAoB;CACpB,mBAAmB;CACnB,qBAAqB;CACrB,eAAe;CACf,eAAe;CACf,SAAS;CACT,SAAS;CACT,aAAa;CACb,WAAW;CACX,SAAS;CACT,WAAW;CACX,kBAAkB;CAClB,yBAAyB;CACzB,sBAAsB;CACtB,sBAAsB;CACtB,gBAAgB;CAChB,gBAAgB;CAChB,oBAAoB;CACpB,kBAAkB;CAClB,gBAAgB;CAChB,kBAAkB;CAClB,yBAAyB;CACzB,gCAAgC;CAChC,cAAc;CACd,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CAChB,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,wBAAwB;CACxB,yBAAyB;CACzB,yBAAyB;CACzB,2BAA2B;CAC3B,uBAAuB;CACvB,gBAAgB;CAChB,cAAc;CACd,aAAa;CACb,iBAAiB;CACjB,mBAAmB;CACnB,gBAAgB;CAChB,sBAAsB;CACtB,2BAA2B;CAC3B,eAAe;CACf,gBAAgB;CAChB,gBAAgB;CAChB,cAAc;CACd,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;CACnB,2BAA2B;CAC3B,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,oBAAoB;CACpB,iBAAiB;CACjB,oBAAoB;CACpB,qBAAqB;CACrB,gBAAgB;CAChB,qBAAqB;CACrB,kBAAkB;CAClB,qBAAqB;CACrB,iBAAiB;CACjB,oBAAoB;CACpB,eAAe;CACf,qBAAqB;CACrB,4BAA4B;CAC5B,oBAAoB;CACpB,kBAAkB;CAClB,sBAAsB;CACtB,yBAAyB;CACzB,oBAAoB;CACpB,uBAAuB;CACvB,6BAA6B;CAC7B,kBAAkB;CAClB,wBAAwB;CACxB,qBAAqB;CACrB,2BAA2B;CAC3B,uBAAuB;CACvB,cAAc;CACd,kBAAkB;CAClB,oBAAoB;CACpB,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,uBAAuB;CACvB,wBAAwB;CACxB,wBAAwB;CACxB,eAAe;CACf,sBAAsB;CACtB,qBAAqB;CACrB,mBAAmB;CACnB,iBAAiB;CACjB,cAAc;CACd,mBAAmB;CACnB,wBAAwB;CACxB,sBAAsB;CACtB,8BAA8B;CAC9B,4BAA4B;CAC5B,gBAAgB;CAChB,eAAe;CACf,mBAAmB;CACnB,eAAe;CACf,eAAe;CACf,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB,uBAAuB;CACvB,gBAAgB;CAChB,mBAAmB;CACnB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB,yBAAyB;CACzB,2BAA2B;CAC3B,0BAA0B;CAC1B,kBAAkB;CAClB,yBAAyB;CACzB,uBAAuB;AACxB"}
|
|
1
|
+
{"version":3,"file":"keys.js","names":[],"sources":["../../src/translations/keys.ts"],"sourcesContent":["/**\n * Typed translation keys. Lookups must go through these constants, not string\n * literals (enforced by requireI18nKeysTyped.grit). Every key here must have a\n * value in every locale (`en.ts`), or it is a type error.\n */\nexport const keys = {\n\tfieldTitle: 'formBuilder:fieldTitle',\n\tfieldTypeText: 'formBuilder:fieldType.text',\n\tfieldTypeTextarea: 'formBuilder:fieldType.textarea',\n\tfieldTypeEmail: 'formBuilder:fieldType.email',\n\tfieldTypeNumber: 'formBuilder:fieldType.number',\n\tfieldTypeSelect: 'formBuilder:fieldType.select',\n\tfieldTypeCountry: 'formBuilder:fieldType.country',\n\tfieldTypeState: 'formBuilder:fieldType.state',\n\tfieldTypeCheckbox: 'formBuilder:fieldType.checkbox',\n\tfieldTypeDate: 'formBuilder:fieldType.date',\n\tconfigOptions: 'formBuilder:config.options',\n\tconfigOption: 'formBuilder:config.option',\n\tconfigOptionLabel: 'formBuilder:config.optionLabel',\n\tconfigOptionValue: 'formBuilder:config.optionValue',\n\tconfigSelectDisplay: 'formBuilder:config.selectDisplay',\n\tselectDisplayDropdown: 'formBuilder:selectDisplay.dropdown',\n\tselectDisplayRadio: 'formBuilder:selectDisplay.radio',\n\tselectDisplayButtons: 'formBuilder:selectDisplay.buttons',\n\tconfigCheckboxDisplay: 'formBuilder:config.checkboxDisplay',\n\tcheckboxDisplayCheckbox: 'formBuilder:checkboxDisplay.checkbox',\n\tcheckboxDisplaySwitch: 'formBuilder:checkboxDisplay.switch',\n\tvalidationRequired: 'formBuilder:validation.required',\n\tvalidationEmail: 'formBuilder:validation.email',\n\tvalidationNumber: 'formBuilder:validation.number',\n\tvalidationDate: 'formBuilder:validation.date',\n\tvalidationSelect: 'formBuilder:validation.select',\n\tvalidationCountry: 'formBuilder:validation.country',\n\tvalidationState: 'formBuilder:validation.state',\n\tvalidationRegexPattern: 'formBuilder:validation.regexPattern',\n\tvalidationRegexFlags: 'formBuilder:validation.regexFlags',\n\tvalidationEmailFieldUnknown: 'formBuilder:validation.emailFieldUnknown',\n\tvalidationResultsFieldUnknown: 'formBuilder:validation.resultsFieldUnknown',\n\tformatYes: 'formBuilder:format.yes',\n\tformatNo: 'formBuilder:format.no',\n\tconfigName: 'formBuilder:config.name',\n\tconfigLabel: 'formBuilder:config.label',\n\tconfigRequired: 'formBuilder:config.required',\n\tconfigWidth: 'formBuilder:config.width',\n\twidthFull: 'formBuilder:width.full',\n\twidthHalf: 'formBuilder:width.half',\n\twidthThird: 'formBuilder:width.third',\n\twidthTwoThirds: 'formBuilder:width.twoThirds',\n\tconfigPlaceholder: 'formBuilder:config.placeholder',\n\tconfigDescription: 'formBuilder:config.description',\n\tconfigVisibleWhen: 'formBuilder:config.visibleWhen',\n\tconfigValidateWhen: 'formBuilder:config.validateWhen',\n\tsubmissionAnswers: 'formBuilder:submission.answers',\n\tsubmissionNoAnswers: 'formBuilder:submission.noAnswers',\n\truleMinLength: 'formBuilder:rule.minLength.label',\n\truleMaxLength: 'formBuilder:rule.maxLength.label',\n\truleMin: 'formBuilder:rule.min.label',\n\truleMax: 'formBuilder:rule.max.label',\n\truleInteger: 'formBuilder:rule.integer.label',\n\truleMinDate: 'formBuilder:rule.minDate.label',\n\truleMaxDate: 'formBuilder:rule.maxDate.label',\n\trulePattern: 'formBuilder:rule.pattern.label',\n\truleEmail: 'formBuilder:rule.email.label',\n\truleUrl: 'formBuilder:rule.url.label',\n\truleOneOf: 'formBuilder:rule.oneOf.label',\n\truleMatchesField: 'formBuilder:rule.matchesField.label',\n\truleNotAlreadySubmitted: 'formBuilder:rule.notAlreadySubmitted.label',\n\truleMinLengthMessage: 'formBuilder:rule.minLength.message',\n\truleMaxLengthMessage: 'formBuilder:rule.maxLength.message',\n\truleMinMessage: 'formBuilder:rule.min.message',\n\truleMaxMessage: 'formBuilder:rule.max.message',\n\truleIntegerMessage: 'formBuilder:rule.integer.message',\n\truleMinDateMessage: 'formBuilder:rule.minDate.message',\n\truleMaxDateMessage: 'formBuilder:rule.maxDate.message',\n\trulePatternMessage: 'formBuilder:rule.pattern.message',\n\truleEmailMessage: 'formBuilder:rule.email.message',\n\truleUrlMessage: 'formBuilder:rule.url.message',\n\truleOneOfMessage: 'formBuilder:rule.oneOf.message',\n\truleMatchesFieldMessage: 'formBuilder:rule.matchesField.message',\n\truleNotAlreadySubmittedMessage: 'formBuilder:rule.notAlreadySubmitted.message',\n\truleMinLengthDescription: 'formBuilder:rule.minLength.description',\n\truleMaxLengthDescription: 'formBuilder:rule.maxLength.description',\n\truleMinDescription: 'formBuilder:rule.min.description',\n\truleMaxDescription: 'formBuilder:rule.max.description',\n\truleIntegerDescription: 'formBuilder:rule.integer.description',\n\truleMinDateDescription: 'formBuilder:rule.minDate.description',\n\truleMaxDateDescription: 'formBuilder:rule.maxDate.description',\n\trulePatternDescription: 'formBuilder:rule.pattern.description',\n\truleEmailDescription: 'formBuilder:rule.email.description',\n\truleUrlDescription: 'formBuilder:rule.url.description',\n\truleOneOfDescription: 'formBuilder:rule.oneOf.description',\n\truleMatchesFieldDescription: 'formBuilder:rule.matchesField.description',\n\truleNotAlreadySubmittedDescription: 'formBuilder:rule.notAlreadySubmitted.description',\n\truleFieldTargetInvalid: 'formBuilder:rule.fieldTargetInvalid',\n\truleParamMin: 'formBuilder:rule.param.min',\n\truleParamMax: 'formBuilder:rule.param.max',\n\truleParamMinDate: 'formBuilder:rule.param.minDate',\n\truleParamMaxDate: 'formBuilder:rule.param.maxDate',\n\truleParamPattern: 'formBuilder:rule.param.pattern',\n\truleParamFlags: 'formBuilder:rule.param.flags',\n\truleParamValues: 'formBuilder:rule.param.values',\n\truleParamField: 'formBuilder:rule.param.field',\n\tvalidationsLabel: 'formBuilder:validations.label',\n\tvalidationMessageLabel: 'formBuilder:validations.message',\n\tconditionAddCondition: 'formBuilder:condition.addCondition',\n\tconditionAddOr: 'formBuilder:condition.addOr',\n\tconditionAnd: 'formBuilder:condition.and',\n\tconditionOr: 'formBuilder:condition.or',\n\tconditionRemove: 'formBuilder:condition.remove',\n\tconditionNoFields: 'formBuilder:condition.noFields',\n\tconditionEmpty: 'formBuilder:condition.empty',\n\tconditionSelectField: 'formBuilder:condition.selectField',\n\tconditionTrue: 'formBuilder:condition.true',\n\tconditionFalse: 'formBuilder:condition.false',\n\tconfigHidden: 'formBuilder:config.hidden',\n\tconfigHiddenDescription: 'formBuilder:config.hiddenDescription',\n\tconfigAutocomplete: 'formBuilder:config.autocomplete',\n\tconfigAutocompleteDescription: 'formBuilder:config.autocompleteDescription',\n\ttabFields: 'formBuilder:tab.fields',\n\ttabFlow: 'formBuilder:tab.flow',\n\ttabActions: 'formBuilder:tab.actions',\n\ttabField: 'formBuilder:tab.field',\n\ttabValidation: 'formBuilder:tab.validation',\n\ttabAdvanced: 'formBuilder:tab.advanced',\n\tfieldTypeCalculation: 'formBuilder:fieldType.calculation',\n\tconfigExpression: 'formBuilder:config.expression',\n\tconfigCalcDisplay: 'formBuilder:config.calcDisplay',\n\tvalidationCalcExpressionInvalid: 'formBuilder:validation.calcExpressionInvalid',\n\tcalcBuilderAnswer: 'formBuilder:calcBuilder.answer',\n\tcalcBuilderNumber: 'formBuilder:calcBuilder.number',\n\tcalcBuilderMath: 'formBuilder:calcBuilder.math',\n\tcalcBuilderFunction: 'formBuilder:calcBuilder.function',\n\tcalcBuilderWeights: 'formBuilder:calcBuilder.weights',\n\tcalcBuilderAddExpression: 'formBuilder:calcBuilder.addExpression',\n\tcalcBuilderPickField: 'formBuilder:calcBuilder.pickField',\n\tcalcBuilderAddArgument: 'formBuilder:calcBuilder.addArgument',\n\tcalcBuilderRemove: 'formBuilder:calcBuilder.remove',\n\tcalcBuilderKind: 'formBuilder:calcBuilder.kind',\n\tcalcBuilderNegate: 'formBuilder:calcBuilder.negate',\n\tcalcBuilderNoNumericFields: 'formBuilder:calcBuilder.noNumericFields',\n\tcalcBuilderNoChoiceFields: 'formBuilder:calcBuilder.noChoiceFields',\n\tcalcBuilderStoredInvalid: 'formBuilder:calcBuilder.storedInvalid',\n\tcalcBuilderSourcesGroup: 'formBuilder:calcBuilder.sourcesGroup',\n\tcalcBuilderWeightValues: 'formBuilder:calcBuilder.weightValues',\n\tcalcBuilderWeightManual: 'formBuilder:calcBuilder.weightManual',\n\tcalcBuilderWeightsFromSource: 'formBuilder:calcBuilder.weightsFromSource',\n\tcalcConfigDecimals: 'formBuilder:calcConfig.decimals',\n\tcalcConfigPrefix: 'formBuilder:calcConfig.prefix',\n\tcalcConfigSuffix: 'formBuilder:calcConfig.suffix',\n\tcalcBuilderStartWith: 'formBuilder:calcBuilder.startWith',\n\tcalcBuilderAddStep: 'formBuilder:calcBuilder.addStep',\n\tcalcBuilderThenApply: 'formBuilder:calcBuilder.thenApply',\n\tcalcBuilderGroup: 'formBuilder:calcBuilder.group',\n\tcalcBuilderFieldDescription: 'formBuilder:calcBuilder.fieldDescription',\n\tcalcBuilderNumberDescription: 'formBuilder:calcBuilder.numberDescription',\n\tcalcBuilderWeightsDescription: 'formBuilder:calcBuilder.weightsDescription',\n\tcalcBuilderFunctionDescription: 'formBuilder:calcBuilder.functionDescription',\n\tcalcSourcesUnavailable: 'formBuilder:calc.sourcesUnavailable',\n\tpresentationPage: 'formBuilder:presentation.page',\n\tpresentationModal: 'formBuilder:presentation.modal',\n\tpresentationDrawer: 'formBuilder:presentation.drawer',\n\tpresentationInline: 'formBuilder:presentation.inline',\n\tactionEmailTeam: 'formBuilder:action.emailTeam',\n\tactionConfirmation: 'formBuilder:action.confirmation',\n\tactionSignedWebhook: 'formBuilder:action.signedWebhook',\n\tactionConfigTo: 'formBuilder:action.config.to',\n\tactionConfigSubject: 'formBuilder:action.config.subject',\n\tactionConfigBody: 'formBuilder:action.config.body',\n\tactionConfigBodyDescription: 'formBuilder:action.config.bodyDescription',\n\tactionConfigToField: 'formBuilder:action.config.toField',\n\tactionConfigToFieldDescription: 'formBuilder:action.config.toFieldDescription',\n\tactionConfigFrom: 'formBuilder:action.config.from',\n\tactionConfigFromDescription: 'formBuilder:action.config.fromDescription',\n\tactionConfigCc: 'formBuilder:action.config.cc',\n\tactionConfigBcc: 'formBuilder:action.config.bcc',\n\tactionConfigReplyTo: 'formBuilder:action.config.replyTo',\n\trecipientsGroupDepartments: 'formBuilder:recipients.group.departments',\n\trecipientsGroupFields: 'formBuilder:recipients.group.fields',\n\trecipientsGroupSources: 'formBuilder:recipients.group.sources',\n\tvalidationRecipientInvalid: 'formBuilder:validation.recipient.invalid',\n\tvalidationRecipientUnknownField: 'formBuilder:validation.recipient.unknownField',\n\tvalidationRecipientNotAllowed: 'formBuilder:validation.recipient.notAllowed',\n\tvalidationRecipientOptionsUnavailable: 'formBuilder:validation.recipient.optionsUnavailable',\n\tvalidationFromUnknown: 'formBuilder:validation.fromUnknown',\n\tvalidationFromUnavailable: 'formBuilder:validation.fromUnavailable',\n\tactionConfigUrl: 'formBuilder:action.config.url',\n\tactionConfigUrlDescription: 'formBuilder:action.config.urlDescription',\n\tactionConfigSecret: 'formBuilder:action.config.secret',\n\tactionConfigSecretDescription: 'formBuilder:action.config.secretDescription',\n\tvalidationUrlInvalid: 'formBuilder:validation.urlInvalid',\n\tconfigActions: 'formBuilder:config.actions',\n\tfieldTypeConsent: 'formBuilder:fieldType.consent',\n\tconsentConfigSource: 'formBuilder:consent.config.source',\n\tconsentConfigDisplay: 'formBuilder:consent.config.display',\n\tconsentConfigDisplayDescription: 'formBuilder:consent.config.displayDescription',\n\tconsentDisplayCheckbox: 'formBuilder:consent.display.checkbox',\n\tconsentDisplayNotice: 'formBuilder:consent.display.notice',\n\tconsentSourceNoticeStatement: 'formBuilder:consentSources.noticeStatement',\n\tconsentSourceNoticeStatementDescription: 'formBuilder:consentSources.noticeStatementDescription',\n\tconsentConfigSourceDescription: 'formBuilder:consent.config.sourceDescription',\n\tconsentSourcesField: 'formBuilder:consentSources.field',\n\tconsentSourcesFieldDescription: 'formBuilder:consentSources.fieldDescription',\n\tconsentSourceSingular: 'formBuilder:consentSources.singular',\n\tconsentSourcePlural: 'formBuilder:consentSources.plural',\n\tconsentSourceLabel: 'formBuilder:consentSources.label',\n\tconsentSourceStatement: 'formBuilder:consentSources.statement',\n\tconsentSourcePage: 'formBuilder:consentSources.page',\n\tconsentSourcePageDescription: 'formBuilder:consentSources.pageDescription',\n\tconsentSourcesUnavailable: 'formBuilder:consent.sourcesUnavailable',\n\tresultsResponses: 'formBuilder:results.responses',\n\tresultsNoResponses: 'formBuilder:results.noResponses',\n\tresultsTruncated: 'formBuilder:results.truncated',\n\tpollGroup: 'formBuilder:poll.group',\n\tpollResultsField: 'formBuilder:poll.resultsField',\n\tpollResultsFieldDescription: 'formBuilder:poll.resultsFieldDescription',\n\tpollVoteFieldChoose: 'formBuilder:poll.voteFieldChoose',\n\tpollVoteFieldMissing: 'formBuilder:poll.voteFieldMissing',\n\tpollNeedsPersistedSubmissions: 'formBuilder:poll.needsPersistedSubmissions',\n\tpollResultsVisibility: 'formBuilder:poll.resultsVisibility',\n\tpollVisibilityAfterVote: 'formBuilder:poll.visibility.afterVote',\n\tpollVisibilityAfterClose: 'formBuilder:poll.visibility.afterClose',\n\tpollClosesAt: 'formBuilder:poll.closesAt',\n\tpollAllowChange: 'formBuilder:poll.allowChange',\n\tpollAllowChangeDescription: 'formBuilder:poll.allowChangeDescription',\n\tpollAllowChangeNeedsPersistedSubmissions: 'formBuilder:poll.allowChangeNeedsPersistedSubmissions',\n\tpollClosed: 'formBuilder:poll.closed',\n\tpollResultsAfterClose: 'formBuilder:poll.resultsAfterClose',\n\tpollOptionSource: 'formBuilder:poll.optionSource',\n\tpollOptionSourceDescription: 'formBuilder:poll.optionSourceDescription',\n\tpollSourceConfig: 'formBuilder:poll.sourceConfig',\n\tpollOutcome: 'formBuilder:poll.outcome',\n\tpollType: 'formBuilder:poll.type',\n\tpollTypeDescription: 'formBuilder:poll.typeDescription',\n\tpollTypeManual: 'formBuilder:poll.type.manual',\n\tpollTypeMostVoted: 'formBuilder:poll.type.mostVoted',\n\tpollTypeSource: 'formBuilder:poll.type.source',\n\tpollCloseButton: 'formBuilder:poll.close.button',\n\tpollReopenButton: 'formBuilder:poll.reopen.button',\n\tpollCloseHintManual: 'formBuilder:poll.close.hintManual',\n\tpollCloseHintMostVoted: 'formBuilder:poll.close.hintMostVoted',\n\tpollCloseHintSource: 'formBuilder:poll.close.hintSource',\n\tpollReopenHint: 'formBuilder:poll.reopen.hint',\n\tpollCloseNeedsWinner: 'formBuilder:poll.close.needsWinner',\n\tpollCloseManualNoWinner: 'formBuilder:poll.close.manualNoWinner',\n\tpollWinningValue: 'formBuilder:poll.winningValue',\n\tpollWinningValueDescription: 'formBuilder:poll.winningValueDescription',\n\tpollResolvedAt: 'formBuilder:poll.resolvedAt',\n\tvalidationWinningValueUnknown: 'formBuilder:validation.winningValueUnknown',\n\tvalidationWinningValueDisabled: 'formBuilder:validation.winningValueDisabled',\n\tendpointOptionsLoading: 'formBuilder:endpointOptions.loading',\n\tendpointOptionsError: 'formBuilder:endpointOptions.error',\n\tpollOptionsUnavailable: 'formBuilder:poll.optionsUnavailable',\n\tpollFinalResult: 'formBuilder:poll.finalResult',\n\tpollResultsError: 'formBuilder:poll.resultsError',\n\tresultsWinner: 'formBuilder:results.winner',\n\tresultsYourVote: 'formBuilder:results.yourVote',\n\tpollChangeVote: 'formBuilder:poll.changeVote',\n\tvalidationFileMissing: 'formBuilder:validation.file.missing',\n\tvalidationFileMimeType: 'formBuilder:validation.file.mimeType',\n\tvalidationFileTooLarge: 'formBuilder:validation.file.tooLarge',\n\tfieldTypeFile: 'formBuilder:fieldType.file',\n\tfileConfigMimeTypes: 'formBuilder:file.config.mimeTypes',\n\tfileConfigMaxSize: 'formBuilder:file.config.maxSize',\n\tfileConfigMaxSizeDescription: 'formBuilder:file.config.maxSizeDescription',\n\tfileTooLarge: 'formBuilder:file.tooLarge',\n\tfileUploadMisconfigured: 'formBuilder:file.uploadMisconfigured',\n\tfileHintAccepted: 'formBuilder:file.hint.accepted',\n\tfileHintMaxSize: 'formBuilder:file.hint.maxSize',\n\tfileUploaded: 'formBuilder:file.uploaded',\n\tfileUploading: 'formBuilder:file.uploading',\n\tfileUploadFailed: 'formBuilder:file.uploadFailed',\n\tfileRemove: 'formBuilder:file.remove',\n\tspamRateLimited: 'formBuilder:spam.rateLimited',\n\tsubmissionActionFailed: 'formBuilder:submission.actionFailed',\n\tspamRejected: 'formBuilder:spam.rejected',\n\tspamCaptchaFailed: 'formBuilder:spam.captchaFailed',\n\tcontextInvalid: 'formBuilder:context.invalid',\n\tcollectionFormSingular: 'formBuilder:collection.form.singular',\n\tcollectionFormPlural: 'formBuilder:collection.form.plural',\n\tcollectionSubmissionSingular: 'formBuilder:collection.submission.singular',\n\tcollectionSubmissionPlural: 'formBuilder:collection.submission.plural',\n\tcollectionPollVoteSingular: 'formBuilder:collection.pollVote.singular',\n\tcollectionPollVotePlural: 'formBuilder:collection.pollVote.plural',\n\tsubmissionContext: 'formBuilder:submission.context',\n\tstatusComplete: 'formBuilder:status.complete',\n\tstatusPartial: 'formBuilder:status.partial',\n\tfieldTypeRepeater: 'formBuilder:fieldType.repeater',\n\tconfigMinRows: 'formBuilder:config.minRows',\n\tconfigMaxRows: 'formBuilder:config.maxRows',\n\tconfigAddLabel: 'formBuilder:config.addLabel',\n\tconfigSubFields: 'formBuilder:config.subFields',\n\tvalidationRepeaterMin: 'formBuilder:validation.repeaterMin',\n\tvalidationRepeaterMax: 'formBuilder:validation.repeaterMax',\n\trepeaterAddRow: 'formBuilder:repeater.addRow',\n\trepeaterRemoveRow: 'formBuilder:repeater.removeRow',\n\trepeaterRow: 'formBuilder:repeater.row',\n\trepeaterRowCount: 'formBuilder:repeater.rowCount',\n\tsubmissionConsent: 'formBuilder:submission.consent',\n\tsubmissionDetails: 'formBuilder:submission.details',\n\tsubmissionConsentAgreed: 'formBuilder:submission.consentAgreed',\n\tsubmissionConsentDeclined: 'formBuilder:submission.consentDeclined',\n\tsubmissionMetaLocale: 'formBuilder:submission.meta.locale',\n\tsubmissionMetaReceivedAt: 'formBuilder:submission.meta.receivedAt',\n\tsubmissionMetaIp: 'formBuilder:submission.meta.ip',\n\tsubmissionMetaUserAgent: 'formBuilder:submission.meta.userAgent',\n\tsubmissionMetaCaptcha: 'formBuilder:submission.meta.captcha',\n\tflowDescription: 'formBuilder:flow.description',\n\tflowStepFallbackTitle: 'formBuilder:flow.stepFallbackTitle',\n\tflowFieldInStep: 'formBuilder:flow.fieldInStep',\n\tflowUnassigned: 'formBuilder:flow.unassigned',\n\tflowAssignToStep: 'formBuilder:flow.assignToStep',\n\tflowNextSequential: 'formBuilder:flow.nextSequential',\n\tflowNextTerminal: 'formBuilder:flow.nextTerminal',\n\tflowFields: 'formBuilder:flow.fields',\n\tflowDefaultNext: 'formBuilder:flow.defaultNext',\n\tflowConditionalTransitions: 'formBuilder:flow.conditionalTransitions',\n\tflowStepTitleLabel: 'formBuilder:flow.stepTitleLabel',\n\tflowSelectStepPlaceholder: 'formBuilder:flow.selectStepPlaceholder',\n\tflowMoveTransitionUp: 'formBuilder:flow.moveTransitionUp',\n\tflowMoveTransitionDown: 'formBuilder:flow.moveTransitionDown',\n\tflowRemoveTransition: 'formBuilder:flow.removeTransition',\n\tflowAddAbove: 'formBuilder:flow.addAbove',\n\tflowAddBelow: 'formBuilder:flow.addBelow',\n\tflowGoTo: 'formBuilder:flow.goTo',\n\tflowWhen: 'formBuilder:flow.when',\n\tflowNoFields: 'formBuilder:flow.noFields',\n\tflowFirstMatchWins: 'formBuilder:flow.firstMatchWins',\n\tflowAddTransition: 'formBuilder:flow.addTransition',\n\tflowNoSteps: 'formBuilder:flow.noSteps',\n\tflowFallbackTitle: 'formBuilder:flow.fallbackTitle',\n\tflowStepIdEmpty: 'formBuilder:flow.stepIdEmpty',\n\tflowStepIdReserved: 'formBuilder:flow.stepIdReserved',\n\tflowDuplicateStepIds: 'formBuilder:flow.duplicateStepIds',\n\tflowUnknownNext: 'formBuilder:flow.unknownNext',\n\tflowUnknownTransition: 'formBuilder:flow.unknownTransition',\n\tflowNeedsTwoSteps: 'formBuilder:flow.needsTwoSteps',\n\tfieldTypeMessage: 'formBuilder:fieldType.message',\n\tconfigContent: 'formBuilder:config.content',\n\ttabResponse: 'formBuilder:tab.response',\n\tresponseType: 'formBuilder:response.type',\n\tresponseTypeMessage: 'formBuilder:response.type.message',\n\tresponseTypeRedirect: 'formBuilder:response.type.redirect',\n\tresponseMessage: 'formBuilder:response.message',\n\tresponseRedirect: 'formBuilder:response.redirect',\n\tresponseUrl: 'formBuilder:response.url',\n\tresponseRedirectReference: 'formBuilder:response.redirect.reference',\n\tresponseRedirectReferenceDescription: 'formBuilder:response.redirect.referenceDescription',\n\tbuttonsSubmitLabel: 'formBuilder:buttons.submitLabel',\n\tbuttonsNextLabel: 'formBuilder:buttons.nextLabel',\n\tbuttonsPrevLabel: 'formBuilder:buttons.prevLabel',\n\tformBack: 'formBuilder:form.back',\n\tformNext: 'formBuilder:form.next',\n\tformSubmit: 'formBuilder:form.submit',\n\tformMultistep: 'formBuilder:form.multistep',\n\tformPollEnabled: 'formBuilder:form.pollEnabled',\n\tformPersistSubmissions: 'formBuilder:form.persistSubmissions',\n\tformClose: 'formBuilder:form.close',\n\tformSuccess: 'formBuilder:form.success',\n\tformSubmitFailed: 'formBuilder:form.submitFailed',\n\tformStepStatus: 'formBuilder:form.stepStatus',\n\tformStepInvalid: 'formBuilder:form.stepInvalid',\n\tcellStepCountOne: 'formBuilder:cell.stepCount.one',\n\tcellStepCountOther: 'formBuilder:cell.stepCount.other',\n\tcellFieldCountOne: 'formBuilder:cell.fieldCount.one',\n\tcellFieldCountOther: 'formBuilder:cell.fieldCount.other',\n\tdepartmentsField: 'formBuilder:departments.field',\n\tdepartmentsFieldDescription: 'formBuilder:departments.fieldDescription',\n\tdepartmentSingular: 'formBuilder:departments.singular',\n\tdepartmentPlural: 'formBuilder:departments.plural',\n\tdepartmentLabel: 'formBuilder:departments.label',\n\tdepartmentEmail: 'formBuilder:departments.email',\n\tdepartmentAddRow: 'formBuilder:departments.addRow',\n\tdepartmentRemoveRow: 'formBuilder:departments.removeRow',\n} as const\n\nexport type TranslationKey = (typeof keys)[keyof typeof keys]\n"],"mappings":"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"}
|
|
@@ -2,10 +2,14 @@ import { RendererTranslate } from "../react/contract.js";
|
|
|
2
2
|
|
|
3
3
|
//#region src/translations/makeTranslate.d.ts
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Build a `RendererTranslate` from either a locale code or an explicit map.
|
|
6
|
+
*
|
|
7
|
+
* Pass a locale code (`makeTranslate('de')`) to resolve against that shipped bundle, falling back to
|
|
8
|
+
* `en` for a locale this plugin does not ship, so a host bridging its own translator never leaks the
|
|
9
|
+
* raw key for an un-mirrored string. Pass a flat key->string map to use it verbatim (custom or partial
|
|
10
|
+
* maps still work). Unknown keys fall back to the key itself so nothing crashes on an incomplete map.
|
|
7
11
|
*/
|
|
8
|
-
declare const makeTranslate: (
|
|
12
|
+
declare const makeTranslate: (localeOrMap: string | Record<string, string>) => RendererTranslate;
|
|
9
13
|
//#endregion
|
|
10
14
|
export { makeTranslate };
|
|
11
15
|
//# sourceMappingURL=makeTranslate.d.ts.map
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { en } from "./en.js";
|
|
3
|
+
import { bundles } from "./index.js";
|
|
2
4
|
//#region src/translations/makeTranslate.ts
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
+
* Build a `RendererTranslate` from either a locale code or an explicit map.
|
|
7
|
+
*
|
|
8
|
+
* Pass a locale code (`makeTranslate('de')`) to resolve against that shipped bundle, falling back to
|
|
9
|
+
* `en` for a locale this plugin does not ship, so a host bridging its own translator never leaks the
|
|
10
|
+
* raw key for an un-mirrored string. Pass a flat key->string map to use it verbatim (custom or partial
|
|
11
|
+
* maps still work). Unknown keys fall back to the key itself so nothing crashes on an incomplete map.
|
|
6
12
|
*/
|
|
7
|
-
const makeTranslate = (
|
|
13
|
+
const makeTranslate = (localeOrMap) => {
|
|
14
|
+
const map = typeof localeOrMap === "string" ? bundles[localeOrMap] ?? en : localeOrMap;
|
|
15
|
+
return (key) => map[key] ?? key;
|
|
16
|
+
};
|
|
8
17
|
//#endregion
|
|
9
18
|
export { makeTranslate };
|
|
10
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeTranslate.js","names":[],"sources":["../../src/translations/makeTranslate.ts"],"sourcesContent":["'use client'\n\nimport type { RendererTranslate } from '../react/contract'\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"makeTranslate.js","names":[],"sources":["../../src/translations/makeTranslate.ts"],"sourcesContent":["'use client'\n\nimport type { RendererTranslate } from '../react/contract'\nimport { en } from './en'\nimport { bundles } from './index'\n\n/**\n * Build a `RendererTranslate` from either a locale code or an explicit map.\n *\n * Pass a locale code (`makeTranslate('de')`) to resolve against that shipped bundle, falling back to\n * `en` for a locale this plugin does not ship, so a host bridging its own translator never leaks the\n * raw key for an un-mirrored string. Pass a flat key->string map to use it verbatim (custom or partial\n * maps still work). Unknown keys fall back to the key itself so nothing crashes on an incomplete map.\n */\nexport const makeTranslate = (localeOrMap: string | Record<string, string>): RendererTranslate => {\n\tconst map: Record<string, string> =\n\t\ttypeof localeOrMap === 'string' ? (bundles[localeOrMap] ?? en) : localeOrMap\n\treturn (key) => map[key] ?? key\n}\n"],"mappings":";;;;;;;;;;;;AAcA,MAAa,iBAAiB,gBAAoE;CACjG,MAAM,MACL,OAAO,gBAAgB,WAAY,QAAQ,gBAAgB,KAAM;CAClE,QAAQ,QAAQ,IAAI,QAAQ;AAC7B"}
|
|
@@ -19,7 +19,14 @@ const labelForKey = (key) => ({ t }) => asTranslate(t)(key);
|
|
|
19
19
|
* from `labelForKey`, which constrains to this plugin's typed keys.
|
|
20
20
|
*/
|
|
21
21
|
const labelFor = (key) => ({ t }) => asTranslate(t)(key);
|
|
22
|
+
/**
|
|
23
|
+
* Turn a registry definition's `label` into a value Payload accepts for a field/block `label`. A
|
|
24
|
+
* string resolves per request like a field label (an i18n key or a literal) via `labelFor`; a
|
|
25
|
+
* per-locale record passes through unchanged. Shared by the action, poll-source, and poll-type
|
|
26
|
+
* registries so every definition label honors one contract.
|
|
27
|
+
*/
|
|
28
|
+
const resolveDefinitionLabel = (label) => typeof label === "string" ? labelFor(label) : label;
|
|
22
29
|
//#endregion
|
|
23
|
-
export { asFieldTranslate, asTranslate, labelFor, labelForKey };
|
|
30
|
+
export { asFieldTranslate, asTranslate, labelFor, labelForKey, resolveDefinitionLabel };
|
|
24
31
|
|
|
25
32
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":[],"sources":["../../src/translations/server.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\n\nimport type { Translate as FieldTranslate } from '../fields/types'\nimport type { TranslationKey } from './keys'\n\n/** A `t`-like function narrowed to this plugin's typed keys. */\ntype Translate = (key: TranslationKey) => string\n\n/**\n * Adapt a Payload request `t` (typed to core keys only) so it also accepts this\n * plugin's keys. They are registered at config time and resolve at runtime; the\n * cast only widens the compile-time key domain.\n */\nexport const asTranslate = (t: unknown): Translate => t as Translate\n\n/**\n * Adapt a Payload request `t` to the engine-facing `Translate` the submission core and field-type\n * `format`/`validate` speak (any key string). Same runtime function as `asTranslate`; this widening\n * accepts arbitrary keys because the engine resolves both this plugin's and a host's registered keys.\n */\nexport const asFieldTranslate = (t: unknown): FieldTranslate => t as FieldTranslate\n\n/** A field `label`/`description` backed by a typed key, resolved per request. */\nexport const labelForKey =\n\t(key: TranslationKey): LabelFunction =>\n\t({ t }) =>\n\t\tasTranslate(t)(key)\n\n/**\n * A `label`/`description` from an arbitrary key string (a field-type-supplied label, which may be a\n * host-registered key or a literal; Payload's `t` returns the input unchanged when unknown). Distinct\n * from `labelForKey`, which constrains to this plugin's typed keys.\n */\nexport const labelFor =\n\t(key: string): LabelFunction =>\n\t({ t }) =>\n\t\tasTranslate(t)(key as TranslationKey)\n"],"mappings":";;;;;;AAaA,MAAa,eAAe,MAA0B;;;;;;AAOtD,MAAa,oBAAoB,MAA+B;;AAGhE,MAAa,eACX,SACA,EAAE,QACF,YAAY,CAAC,EAAE,GAAG;;;;;;AAOpB,MAAa,YACX,SACA,EAAE,QACF,YAAY,CAAC,EAAE,GAAqB"}
|
|
1
|
+
{"version":3,"file":"server.js","names":[],"sources":["../../src/translations/server.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\n\nimport type { Translate as FieldTranslate } from '../fields/types'\nimport type { TranslationKey } from './keys'\n\n/** A `t`-like function narrowed to this plugin's typed keys. */\ntype Translate = (key: TranslationKey) => string\n\n/**\n * Adapt a Payload request `t` (typed to core keys only) so it also accepts this\n * plugin's keys. They are registered at config time and resolve at runtime; the\n * cast only widens the compile-time key domain.\n */\nexport const asTranslate = (t: unknown): Translate => t as Translate\n\n/**\n * Adapt a Payload request `t` to the engine-facing `Translate` the submission core and field-type\n * `format`/`validate` speak (any key string). Same runtime function as `asTranslate`; this widening\n * accepts arbitrary keys because the engine resolves both this plugin's and a host's registered keys.\n */\nexport const asFieldTranslate = (t: unknown): FieldTranslate => t as FieldTranslate\n\n/** A field `label`/`description` backed by a typed key, resolved per request. */\nexport const labelForKey =\n\t(key: TranslationKey): LabelFunction =>\n\t({ t }) =>\n\t\tasTranslate(t)(key)\n\n/**\n * A `label`/`description` from an arbitrary key string (a field-type-supplied label, which may be a\n * host-registered key or a literal; Payload's `t` returns the input unchanged when unknown). Distinct\n * from `labelForKey`, which constrains to this plugin's typed keys.\n */\nexport const labelFor =\n\t(key: string): LabelFunction =>\n\t({ t }) =>\n\t\tasTranslate(t)(key as TranslationKey)\n\n/**\n * Turn a registry definition's `label` into a value Payload accepts for a field/block `label`. A\n * string resolves per request like a field label (an i18n key or a literal) via `labelFor`; a\n * per-locale record passes through unchanged. Shared by the action, poll-source, and poll-type\n * registries so every definition label honors one contract.\n */\nexport const resolveDefinitionLabel = (\n\tlabel: string | Record<string, string>\n): LabelFunction | Record<string, string> => (typeof label === 'string' ? labelFor(label) : label)\n"],"mappings":";;;;;;AAaA,MAAa,eAAe,MAA0B;;;;;;AAOtD,MAAa,oBAAoB,MAA+B;;AAGhE,MAAa,eACX,SACA,EAAE,QACF,YAAY,CAAC,EAAE,GAAG;;;;;;AAOpB,MAAa,YACX,SACA,EAAE,QACF,YAAY,CAAC,EAAE,GAAqB;;;;;;;AAQtC,MAAa,0BACZ,UAC6C,OAAO,UAAU,WAAW,SAAS,KAAK,IAAI"}
|
|
@@ -10,6 +10,11 @@ type CaptureFileRefArgs = {
|
|
|
10
10
|
config: FileFieldConfig;
|
|
11
11
|
req?: PayloadRequest; /** Resolved submitter identity; must match the upload's `owner` stamp when both are present. */
|
|
12
12
|
expectedOwner?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Fail closed when a stamped upload's submitter cannot be identified (plugin `spam.uploadOwnership:
|
|
15
|
+
* 'strict'`). Default lenient: an unidentifiable submitter passes an owned upload through.
|
|
16
|
+
*/
|
|
17
|
+
strict?: boolean;
|
|
13
18
|
};
|
|
14
19
|
/**
|
|
15
20
|
* Load the referenced upload doc and run the pure trust-boundary check. The client sends only the id; the
|
|
@@ -17,9 +22,11 @@ type CaptureFileRefArgs = {
|
|
|
17
22
|
* upload carries an `owner` stamp AND the submitter is identifiable, the two must match, so an anonymous
|
|
18
23
|
* submitter cannot capture another identity's upload; a mismatch collapses to `missing`, indistinguishable
|
|
19
24
|
* from a deleted upload. When the submitter cannot be identified (no `expectedOwner`), ownership is not
|
|
20
|
-
* enforced (fail-open, consistent with rate-limiting): a proxy-configured deployment identifies
|
|
21
|
-
* request, so this only relaxes scoping where it could not be applied fairly anyway.
|
|
22
|
-
* (
|
|
25
|
+
* enforced by default (fail-open, consistent with rate-limiting): a proxy-configured deployment identifies
|
|
26
|
+
* every request, so this only relaxes scoping where it could not be applied fairly anyway. Under `strict`
|
|
27
|
+
* (plugin `spam.uploadOwnership: 'strict'`) a stamped upload is rejected even then, so an unverifiable
|
|
28
|
+
* claim can never capture an owned upload. Unstamped uploads (no identity at upload time, or a BYO
|
|
29
|
+
* collection without the field) pass unchanged in either mode.
|
|
23
30
|
*/
|
|
24
31
|
declare const captureFileRef: (args: CaptureFileRefArgs) => Promise<ResolveFileRefResult>;
|
|
25
32
|
//#endregion
|
|
@@ -6,12 +6,14 @@ import { resolveFileRef } from "./resolveFileRef.js";
|
|
|
6
6
|
* upload carries an `owner` stamp AND the submitter is identifiable, the two must match, so an anonymous
|
|
7
7
|
* submitter cannot capture another identity's upload; a mismatch collapses to `missing`, indistinguishable
|
|
8
8
|
* from a deleted upload. When the submitter cannot be identified (no `expectedOwner`), ownership is not
|
|
9
|
-
* enforced (fail-open, consistent with rate-limiting): a proxy-configured deployment identifies
|
|
10
|
-
* request, so this only relaxes scoping where it could not be applied fairly anyway.
|
|
11
|
-
* (
|
|
9
|
+
* enforced by default (fail-open, consistent with rate-limiting): a proxy-configured deployment identifies
|
|
10
|
+
* every request, so this only relaxes scoping where it could not be applied fairly anyway. Under `strict`
|
|
11
|
+
* (plugin `spam.uploadOwnership: 'strict'`) a stamped upload is rejected even then, so an unverifiable
|
|
12
|
+
* claim can never capture an owned upload. Unstamped uploads (no identity at upload time, or a BYO
|
|
13
|
+
* collection without the field) pass unchanged in either mode.
|
|
12
14
|
*/
|
|
13
15
|
const captureFileRef = async (args) => {
|
|
14
|
-
const { payload, collectionSlug, uploadId, config, req, expectedOwner } = args;
|
|
16
|
+
const { payload, collectionSlug, uploadId, config, req, expectedOwner, strict } = args;
|
|
15
17
|
const doc = await payload.findByID({
|
|
16
18
|
collection: collectionSlug,
|
|
17
19
|
id: uploadId,
|
|
@@ -19,12 +21,19 @@ const captureFileRef = async (args) => {
|
|
|
19
21
|
overrideAccess: true,
|
|
20
22
|
req
|
|
21
23
|
}).catch(() => null);
|
|
22
|
-
if (doc
|
|
24
|
+
if (doc) {
|
|
23
25
|
const owner = doc.owner;
|
|
24
|
-
if (typeof owner === "string" && owner.length > 0
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
if (typeof owner === "string" && owner.length > 0) {
|
|
27
|
+
if (expectedOwner == null) {
|
|
28
|
+
if (strict) return {
|
|
29
|
+
ok: false,
|
|
30
|
+
code: "missing"
|
|
31
|
+
};
|
|
32
|
+
} else if (owner !== expectedOwner) return {
|
|
33
|
+
ok: false,
|
|
34
|
+
code: "missing"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
28
37
|
}
|
|
29
38
|
return resolveFileRef(doc, config);
|
|
30
39
|
};
|