@10x-media/form-builder 0.1.0-beta.11 → 0.1.0-beta.13
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 +24 -0
- package/dist/aggregation/resolveResultsRequest.d.ts +6 -0
- package/dist/aggregation/resolveResultsRequest.js +32 -3
- package/dist/aggregation/resolveResultsRequest.js.map +1 -1
- package/dist/calc/computeCalcFields.d.ts +5 -3
- package/dist/calc/computeCalcFields.js +4 -3
- package/dist/calc/computeCalcFields.js.map +1 -1
- package/dist/calc/evaluate.d.ts +26 -3
- package/dist/calc/evaluate.js +33 -11
- 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 +39 -17
- 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 +18 -3
- package/dist/calc/types.js +2 -1
- package/dist/calc/types.js.map +1 -1
- 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/admin.css +282 -0
- package/dist/collections/formSubmissions.js +7 -9
- package/dist/collections/formSubmissions.js.map +1 -1
- package/dist/collections/forms.js +59 -34
- package/dist/collections/forms.js.map +1 -1
- package/dist/collections/formsEndpoints.js +4 -2
- package/dist/collections/formsEndpoints.js.map +1 -1
- 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/exports/client.d.ts +2 -1
- package/dist/exports/client.js +2 -1
- package/dist/exports/react.d.ts +7 -3
- package/dist/exports/react.js +6 -2
- package/dist/exports/rsc.js +1 -1
- package/dist/exports/types.d.ts +1 -1
- package/dist/fields/buildFieldBlocks.js +2 -1
- package/dist/fields/buildFieldBlocks.js.map +1 -1
- package/dist/fields/builtin/calculation.d.ts +17 -0
- package/dist/fields/builtin/calculation.js +170 -115
- package/dist/fields/builtin/calculation.js.map +1 -1
- package/dist/fields/builtin/checkbox.js +15 -0
- package/dist/fields/builtin/checkbox.js.map +1 -1
- package/dist/fields/builtin/email.js +7 -0
- package/dist/fields/builtin/email.js.map +1 -1
- package/dist/fields/builtin/index.d.ts +6 -2
- package/dist/fields/builtin/index.js +9 -4
- package/dist/fields/builtin/index.js.map +1 -1
- package/dist/fields/builtin/select.js +20 -1
- package/dist/fields/builtin/select.js.map +1 -1
- package/dist/fields/builtin/text.js +7 -0
- package/dist/fields/builtin/text.js.map +1 -1
- package/dist/fields/instanceOptions.js +1 -1
- package/dist/fields/instanceOptions.js.map +1 -1
- package/dist/fields/sharedConfig.js +15 -11
- package/dist/fields/sharedConfig.js.map +1 -1
- package/dist/fields/types.d.ts +8 -2
- package/dist/form/toFormDocument.d.ts +7 -0
- package/dist/form/toFormDocument.js +2 -1
- package/dist/form/toFormDocument.js.map +1 -1
- package/dist/form/types.d.ts +7 -0
- package/dist/index.d.ts +12 -4
- package/dist/index.js +35 -8
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +35 -0
- package/dist/plugin/registerCollections.js +29 -19
- package/dist/plugin/registerCollections.js.map +1 -1
- package/dist/poll/closeJob.d.ts +4 -3
- package/dist/poll/closeJob.js +6 -4
- package/dist/poll/closeJob.js.map +1 -1
- package/dist/poll/pollTypeRegistry.js +1 -1
- package/dist/poll/resolvePollCloseRequest.js +2 -1
- package/dist/poll/resolvePollCloseRequest.js.map +1 -1
- package/dist/poll/resolvePollOutcome.d.ts +6 -0
- package/dist/poll/resolvePollOutcome.js +17 -3
- package/dist/poll/resolvePollOutcome.js.map +1 -1
- package/dist/poll/votes/aggregateFromVotes.d.ts +27 -0
- package/dist/poll/votes/aggregateFromVotes.js +53 -0
- package/dist/poll/votes/aggregateFromVotes.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 +58 -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/react/Form.d.ts +7 -0
- package/dist/react/Form.js +20 -3
- package/dist/react/Form.js.map +1 -1
- package/dist/react/FormContext.d.ts +8 -1
- package/dist/react/FormContext.js.map +1 -1
- package/dist/react/primitives/Checkbox.d.ts +4 -2
- package/dist/react/primitives/Checkbox.js +3 -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 +11 -1
- package/dist/react/primitives/FieldShell.js +43 -33
- package/dist/react/primitives/FieldShell.js.map +1 -1
- package/dist/react/primitives/Input.d.ts +3 -1
- package/dist/react/primitives/Input.js +2 -1
- package/dist/react/primitives/Input.js.map +1 -1
- package/dist/react/renderers/calculation.js +6 -1
- package/dist/react/renderers/calculation.js.map +1 -1
- package/dist/react/renderers/checkbox.js +2 -1
- package/dist/react/renderers/checkbox.js.map +1 -1
- package/dist/react/renderers/email.js +3 -1
- package/dist/react/renderers/email.js.map +1 -1
- package/dist/react/renderers/select.js +20 -2
- package/dist/react/renderers/select.js.map +1 -1
- package/dist/react/renderers/text.js +3 -1
- package/dist/react/renderers/text.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/recall/resolver.js +1 -1
- package/dist/recall/resolver.js.map +1 -1
- package/dist/submissions/formIdOf.js +13 -0
- package/dist/submissions/formIdOf.js.map +1 -0
- package/dist/submissions/runSubmission.js +3 -3
- package/dist/submissions/runSubmission.js.map +1 -1
- package/dist/submissions/validateSubmission.js +26 -2
- package/dist/submissions/validateSubmission.js.map +1 -1
- package/dist/translations/de.js +58 -3
- package/dist/translations/de.js.map +1 -1
- package/dist/translations/en.js +58 -3
- package/dist/translations/en.js.map +1 -1
- package/dist/translations/keys.d.ts +56 -1
- package/dist/translations/keys.js +56 -1
- package/dist/translations/keys.js.map +1 -1
- package/dist/validation/builtin/index.js +2 -0
- 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/package.json +10 -4
- package/styles/form-builder.css +84 -0
|
@@ -19,6 +19,13 @@ declare const keys: {
|
|
|
19
19
|
readonly configOption: "formBuilder:config.option";
|
|
20
20
|
readonly configOptionLabel: "formBuilder:config.optionLabel";
|
|
21
21
|
readonly configOptionValue: "formBuilder:config.optionValue";
|
|
22
|
+
readonly configSelectDisplay: "formBuilder:config.selectDisplay";
|
|
23
|
+
readonly selectDisplayDropdown: "formBuilder:selectDisplay.dropdown";
|
|
24
|
+
readonly selectDisplayRadio: "formBuilder:selectDisplay.radio";
|
|
25
|
+
readonly selectDisplayButtons: "formBuilder:selectDisplay.buttons";
|
|
26
|
+
readonly configCheckboxDisplay: "formBuilder:config.checkboxDisplay";
|
|
27
|
+
readonly checkboxDisplayCheckbox: "formBuilder:checkboxDisplay.checkbox";
|
|
28
|
+
readonly checkboxDisplaySwitch: "formBuilder:checkboxDisplay.switch";
|
|
22
29
|
readonly validationRequired: "formBuilder:validation.required";
|
|
23
30
|
readonly validationEmail: "formBuilder:validation.email";
|
|
24
31
|
readonly validationNumber: "formBuilder:validation.number";
|
|
@@ -36,6 +43,10 @@ declare const keys: {
|
|
|
36
43
|
readonly configLabel: "formBuilder:config.label";
|
|
37
44
|
readonly configRequired: "formBuilder:config.required";
|
|
38
45
|
readonly configWidth: "formBuilder:config.width";
|
|
46
|
+
readonly widthFull: "formBuilder:width.full";
|
|
47
|
+
readonly widthHalf: "formBuilder:width.half";
|
|
48
|
+
readonly widthThird: "formBuilder:width.third";
|
|
49
|
+
readonly widthTwoThirds: "formBuilder:width.twoThirds";
|
|
39
50
|
readonly configPlaceholder: "formBuilder:config.placeholder";
|
|
40
51
|
readonly configDescription: "formBuilder:config.description";
|
|
41
52
|
readonly configVisibleWhen: "formBuilder:config.visibleWhen";
|
|
@@ -46,6 +57,7 @@ declare const keys: {
|
|
|
46
57
|
readonly ruleMaxLength: "formBuilder:rule.maxLength.label";
|
|
47
58
|
readonly ruleMin: "formBuilder:rule.min.label";
|
|
48
59
|
readonly ruleMax: "formBuilder:rule.max.label";
|
|
60
|
+
readonly ruleInteger: "formBuilder:rule.integer.label";
|
|
49
61
|
readonly ruleMinDate: "formBuilder:rule.minDate.label";
|
|
50
62
|
readonly ruleMaxDate: "formBuilder:rule.maxDate.label";
|
|
51
63
|
readonly rulePattern: "formBuilder:rule.pattern.label";
|
|
@@ -58,6 +70,7 @@ declare const keys: {
|
|
|
58
70
|
readonly ruleMaxLengthMessage: "formBuilder:rule.maxLength.message";
|
|
59
71
|
readonly ruleMinMessage: "formBuilder:rule.min.message";
|
|
60
72
|
readonly ruleMaxMessage: "formBuilder:rule.max.message";
|
|
73
|
+
readonly ruleIntegerMessage: "formBuilder:rule.integer.message";
|
|
61
74
|
readonly ruleMinDateMessage: "formBuilder:rule.minDate.message";
|
|
62
75
|
readonly ruleMaxDateMessage: "formBuilder:rule.maxDate.message";
|
|
63
76
|
readonly rulePatternMessage: "formBuilder:rule.pattern.message";
|
|
@@ -70,6 +83,7 @@ declare const keys: {
|
|
|
70
83
|
readonly ruleMaxLengthDescription: "formBuilder:rule.maxLength.description";
|
|
71
84
|
readonly ruleMinDescription: "formBuilder:rule.min.description";
|
|
72
85
|
readonly ruleMaxDescription: "formBuilder:rule.max.description";
|
|
86
|
+
readonly ruleIntegerDescription: "formBuilder:rule.integer.description";
|
|
73
87
|
readonly ruleMinDateDescription: "formBuilder:rule.minDate.description";
|
|
74
88
|
readonly ruleMaxDateDescription: "formBuilder:rule.maxDate.description";
|
|
75
89
|
readonly rulePatternDescription: "formBuilder:rule.pattern.description";
|
|
@@ -100,6 +114,9 @@ declare const keys: {
|
|
|
100
114
|
readonly conditionTrue: "formBuilder:condition.true";
|
|
101
115
|
readonly conditionFalse: "formBuilder:condition.false";
|
|
102
116
|
readonly configHidden: "formBuilder:config.hidden";
|
|
117
|
+
readonly configHiddenDescription: "formBuilder:config.hiddenDescription";
|
|
118
|
+
readonly configAutocomplete: "formBuilder:config.autocomplete";
|
|
119
|
+
readonly configAutocompleteDescription: "formBuilder:config.autocompleteDescription";
|
|
103
120
|
readonly tabFields: "formBuilder:tab.fields";
|
|
104
121
|
readonly tabFlow: "formBuilder:tab.flow";
|
|
105
122
|
readonly tabActions: "formBuilder:tab.actions";
|
|
@@ -108,9 +125,38 @@ declare const keys: {
|
|
|
108
125
|
readonly tabAdvanced: "formBuilder:tab.advanced";
|
|
109
126
|
readonly fieldTypeCalculation: "formBuilder:fieldType.calculation";
|
|
110
127
|
readonly configExpression: "formBuilder:config.expression";
|
|
111
|
-
readonly configExpressionDescription: "formBuilder:config.expressionDescription";
|
|
112
128
|
readonly configCalcDisplay: "formBuilder:config.calcDisplay";
|
|
113
129
|
readonly validationCalcExpressionInvalid: "formBuilder:validation.calcExpressionInvalid";
|
|
130
|
+
readonly calcBuilderAnswer: "formBuilder:calcBuilder.answer";
|
|
131
|
+
readonly calcBuilderNumber: "formBuilder:calcBuilder.number";
|
|
132
|
+
readonly calcBuilderMath: "formBuilder:calcBuilder.math";
|
|
133
|
+
readonly calcBuilderFunction: "formBuilder:calcBuilder.function";
|
|
134
|
+
readonly calcBuilderWeights: "formBuilder:calcBuilder.weights";
|
|
135
|
+
readonly calcBuilderAddExpression: "formBuilder:calcBuilder.addExpression";
|
|
136
|
+
readonly calcBuilderPickField: "formBuilder:calcBuilder.pickField";
|
|
137
|
+
readonly calcBuilderAddArgument: "formBuilder:calcBuilder.addArgument";
|
|
138
|
+
readonly calcBuilderRemove: "formBuilder:calcBuilder.remove";
|
|
139
|
+
readonly calcBuilderKind: "formBuilder:calcBuilder.kind";
|
|
140
|
+
readonly calcBuilderNegate: "formBuilder:calcBuilder.negate";
|
|
141
|
+
readonly calcBuilderNoNumericFields: "formBuilder:calcBuilder.noNumericFields";
|
|
142
|
+
readonly calcBuilderNoChoiceFields: "formBuilder:calcBuilder.noChoiceFields";
|
|
143
|
+
readonly calcBuilderStoredInvalid: "formBuilder:calcBuilder.storedInvalid";
|
|
144
|
+
readonly calcBuilderSourcesGroup: "formBuilder:calcBuilder.sourcesGroup";
|
|
145
|
+
readonly calcBuilderWeightValues: "formBuilder:calcBuilder.weightValues";
|
|
146
|
+
readonly calcBuilderWeightManual: "formBuilder:calcBuilder.weightManual";
|
|
147
|
+
readonly calcBuilderWeightsFromSource: "formBuilder:calcBuilder.weightsFromSource";
|
|
148
|
+
readonly calcConfigDecimals: "formBuilder:calcConfig.decimals";
|
|
149
|
+
readonly calcConfigPrefix: "formBuilder:calcConfig.prefix";
|
|
150
|
+
readonly calcConfigSuffix: "formBuilder:calcConfig.suffix";
|
|
151
|
+
readonly calcBuilderStartWith: "formBuilder:calcBuilder.startWith";
|
|
152
|
+
readonly calcBuilderAddStep: "formBuilder:calcBuilder.addStep";
|
|
153
|
+
readonly calcBuilderThenApply: "formBuilder:calcBuilder.thenApply";
|
|
154
|
+
readonly calcBuilderGroup: "formBuilder:calcBuilder.group";
|
|
155
|
+
readonly calcBuilderFieldDescription: "formBuilder:calcBuilder.fieldDescription";
|
|
156
|
+
readonly calcBuilderNumberDescription: "formBuilder:calcBuilder.numberDescription";
|
|
157
|
+
readonly calcBuilderWeightsDescription: "formBuilder:calcBuilder.weightsDescription";
|
|
158
|
+
readonly calcBuilderFunctionDescription: "formBuilder:calcBuilder.functionDescription";
|
|
159
|
+
readonly calcSourcesUnavailable: "formBuilder:calc.sourcesUnavailable";
|
|
114
160
|
readonly presentationPage: "formBuilder:presentation.page";
|
|
115
161
|
readonly presentationModal: "formBuilder:presentation.modal";
|
|
116
162
|
readonly presentationDrawer: "formBuilder:presentation.drawer";
|
|
@@ -164,6 +210,7 @@ declare const keys: {
|
|
|
164
210
|
readonly pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription";
|
|
165
211
|
readonly pollVoteFieldChoose: "formBuilder:poll.voteFieldChoose";
|
|
166
212
|
readonly pollVoteFieldMissing: "formBuilder:poll.voteFieldMissing";
|
|
213
|
+
readonly pollNeedsPersistedSubmissions: "formBuilder:poll.needsPersistedSubmissions";
|
|
167
214
|
readonly pollResultsVisibility: "formBuilder:poll.resultsVisibility";
|
|
168
215
|
readonly pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote";
|
|
169
216
|
readonly pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose";
|
|
@@ -221,6 +268,8 @@ declare const keys: {
|
|
|
221
268
|
readonly collectionFormPlural: "formBuilder:collection.form.plural";
|
|
222
269
|
readonly collectionSubmissionSingular: "formBuilder:collection.submission.singular";
|
|
223
270
|
readonly collectionSubmissionPlural: "formBuilder:collection.submission.plural";
|
|
271
|
+
readonly collectionPollVoteSingular: "formBuilder:collection.pollVote.singular";
|
|
272
|
+
readonly collectionPollVotePlural: "formBuilder:collection.pollVote.plural";
|
|
224
273
|
readonly submissionContext: "formBuilder:submission.context";
|
|
225
274
|
readonly statusComplete: "formBuilder:status.complete";
|
|
226
275
|
readonly statusPartial: "formBuilder:status.partial";
|
|
@@ -268,6 +317,12 @@ declare const keys: {
|
|
|
268
317
|
readonly flowAddTransition: "formBuilder:flow.addTransition";
|
|
269
318
|
readonly flowNoSteps: "formBuilder:flow.noSteps";
|
|
270
319
|
readonly flowFallbackTitle: "formBuilder:flow.fallbackTitle";
|
|
320
|
+
readonly flowStepIdEmpty: "formBuilder:flow.stepIdEmpty";
|
|
321
|
+
readonly flowStepIdReserved: "formBuilder:flow.stepIdReserved";
|
|
322
|
+
readonly flowDuplicateStepIds: "formBuilder:flow.duplicateStepIds";
|
|
323
|
+
readonly flowUnknownNext: "formBuilder:flow.unknownNext";
|
|
324
|
+
readonly flowUnknownTransition: "formBuilder:flow.unknownTransition";
|
|
325
|
+
readonly flowNeedsTwoSteps: "formBuilder:flow.needsTwoSteps";
|
|
271
326
|
readonly fieldTypeMessage: "formBuilder:fieldType.message";
|
|
272
327
|
readonly configContent: "formBuilder:config.content";
|
|
273
328
|
readonly tabResponse: "formBuilder:tab.response";
|
|
@@ -19,6 +19,13 @@ const keys = {
|
|
|
19
19
|
configOption: "formBuilder:config.option",
|
|
20
20
|
configOptionLabel: "formBuilder:config.optionLabel",
|
|
21
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",
|
|
22
29
|
validationRequired: "formBuilder:validation.required",
|
|
23
30
|
validationEmail: "formBuilder:validation.email",
|
|
24
31
|
validationNumber: "formBuilder:validation.number",
|
|
@@ -36,6 +43,10 @@ const keys = {
|
|
|
36
43
|
configLabel: "formBuilder:config.label",
|
|
37
44
|
configRequired: "formBuilder:config.required",
|
|
38
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",
|
|
39
50
|
configPlaceholder: "formBuilder:config.placeholder",
|
|
40
51
|
configDescription: "formBuilder:config.description",
|
|
41
52
|
configVisibleWhen: "formBuilder:config.visibleWhen",
|
|
@@ -46,6 +57,7 @@ const keys = {
|
|
|
46
57
|
ruleMaxLength: "formBuilder:rule.maxLength.label",
|
|
47
58
|
ruleMin: "formBuilder:rule.min.label",
|
|
48
59
|
ruleMax: "formBuilder:rule.max.label",
|
|
60
|
+
ruleInteger: "formBuilder:rule.integer.label",
|
|
49
61
|
ruleMinDate: "formBuilder:rule.minDate.label",
|
|
50
62
|
ruleMaxDate: "formBuilder:rule.maxDate.label",
|
|
51
63
|
rulePattern: "formBuilder:rule.pattern.label",
|
|
@@ -58,6 +70,7 @@ const keys = {
|
|
|
58
70
|
ruleMaxLengthMessage: "formBuilder:rule.maxLength.message",
|
|
59
71
|
ruleMinMessage: "formBuilder:rule.min.message",
|
|
60
72
|
ruleMaxMessage: "formBuilder:rule.max.message",
|
|
73
|
+
ruleIntegerMessage: "formBuilder:rule.integer.message",
|
|
61
74
|
ruleMinDateMessage: "formBuilder:rule.minDate.message",
|
|
62
75
|
ruleMaxDateMessage: "formBuilder:rule.maxDate.message",
|
|
63
76
|
rulePatternMessage: "formBuilder:rule.pattern.message",
|
|
@@ -70,6 +83,7 @@ const keys = {
|
|
|
70
83
|
ruleMaxLengthDescription: "formBuilder:rule.maxLength.description",
|
|
71
84
|
ruleMinDescription: "formBuilder:rule.min.description",
|
|
72
85
|
ruleMaxDescription: "formBuilder:rule.max.description",
|
|
86
|
+
ruleIntegerDescription: "formBuilder:rule.integer.description",
|
|
73
87
|
ruleMinDateDescription: "formBuilder:rule.minDate.description",
|
|
74
88
|
ruleMaxDateDescription: "formBuilder:rule.maxDate.description",
|
|
75
89
|
rulePatternDescription: "formBuilder:rule.pattern.description",
|
|
@@ -100,6 +114,9 @@ const keys = {
|
|
|
100
114
|
conditionTrue: "formBuilder:condition.true",
|
|
101
115
|
conditionFalse: "formBuilder:condition.false",
|
|
102
116
|
configHidden: "formBuilder:config.hidden",
|
|
117
|
+
configHiddenDescription: "formBuilder:config.hiddenDescription",
|
|
118
|
+
configAutocomplete: "formBuilder:config.autocomplete",
|
|
119
|
+
configAutocompleteDescription: "formBuilder:config.autocompleteDescription",
|
|
103
120
|
tabFields: "formBuilder:tab.fields",
|
|
104
121
|
tabFlow: "formBuilder:tab.flow",
|
|
105
122
|
tabActions: "formBuilder:tab.actions",
|
|
@@ -108,9 +125,38 @@ const keys = {
|
|
|
108
125
|
tabAdvanced: "formBuilder:tab.advanced",
|
|
109
126
|
fieldTypeCalculation: "formBuilder:fieldType.calculation",
|
|
110
127
|
configExpression: "formBuilder:config.expression",
|
|
111
|
-
configExpressionDescription: "formBuilder:config.expressionDescription",
|
|
112
128
|
configCalcDisplay: "formBuilder:config.calcDisplay",
|
|
113
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",
|
|
114
160
|
presentationPage: "formBuilder:presentation.page",
|
|
115
161
|
presentationModal: "formBuilder:presentation.modal",
|
|
116
162
|
presentationDrawer: "formBuilder:presentation.drawer",
|
|
@@ -164,6 +210,7 @@ const keys = {
|
|
|
164
210
|
pollResultsFieldDescription: "formBuilder:poll.resultsFieldDescription",
|
|
165
211
|
pollVoteFieldChoose: "formBuilder:poll.voteFieldChoose",
|
|
166
212
|
pollVoteFieldMissing: "formBuilder:poll.voteFieldMissing",
|
|
213
|
+
pollNeedsPersistedSubmissions: "formBuilder:poll.needsPersistedSubmissions",
|
|
167
214
|
pollResultsVisibility: "formBuilder:poll.resultsVisibility",
|
|
168
215
|
pollVisibilityAfterVote: "formBuilder:poll.visibility.afterVote",
|
|
169
216
|
pollVisibilityAfterClose: "formBuilder:poll.visibility.afterClose",
|
|
@@ -221,6 +268,8 @@ const keys = {
|
|
|
221
268
|
collectionFormPlural: "formBuilder:collection.form.plural",
|
|
222
269
|
collectionSubmissionSingular: "formBuilder:collection.submission.singular",
|
|
223
270
|
collectionSubmissionPlural: "formBuilder:collection.submission.plural",
|
|
271
|
+
collectionPollVoteSingular: "formBuilder:collection.pollVote.singular",
|
|
272
|
+
collectionPollVotePlural: "formBuilder:collection.pollVote.plural",
|
|
224
273
|
submissionContext: "formBuilder:submission.context",
|
|
225
274
|
statusComplete: "formBuilder:status.complete",
|
|
226
275
|
statusPartial: "formBuilder:status.partial",
|
|
@@ -268,6 +317,12 @@ const keys = {
|
|
|
268
317
|
flowAddTransition: "formBuilder:flow.addTransition",
|
|
269
318
|
flowNoSteps: "formBuilder:flow.noSteps",
|
|
270
319
|
flowFallbackTitle: "formBuilder:flow.fallbackTitle",
|
|
320
|
+
flowStepIdEmpty: "formBuilder:flow.stepIdEmpty",
|
|
321
|
+
flowStepIdReserved: "formBuilder:flow.stepIdReserved",
|
|
322
|
+
flowDuplicateStepIds: "formBuilder:flow.duplicateStepIds",
|
|
323
|
+
flowUnknownNext: "formBuilder:flow.unknownNext",
|
|
324
|
+
flowUnknownTransition: "formBuilder:flow.unknownTransition",
|
|
325
|
+
flowNeedsTwoSteps: "formBuilder:flow.needsTwoSteps",
|
|
271
326
|
fieldTypeMessage: "formBuilder:fieldType.message",
|
|
272
327
|
configContent: "formBuilder:config.content",
|
|
273
328
|
tabResponse: "formBuilder:tab.response",
|
|
@@ -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\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\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\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\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\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\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\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\tconfigExpressionDescription: 'formBuilder:config.expressionDescription',\n\tconfigCalcDisplay: 'formBuilder:config.calcDisplay',\n\tvalidationCalcExpressionInvalid: 'formBuilder:validation.calcExpressionInvalid',\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\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\tpollResultsVisibility: 'formBuilder:poll.resultsVisibility',\n\tpollVisibilityAfterVote: 'formBuilder:poll.visibility.afterVote',\n\tpollVisibilityAfterClose: 'formBuilder:poll.visibility.afterClose',\n\tpollClosesAt: 'formBuilder:poll.closesAt',\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\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\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\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\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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"}
|
|
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\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\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\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\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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { emailRule } from "./email.js";
|
|
2
|
+
import { integerRule } from "./integer.js";
|
|
2
3
|
import { matchesFieldRule } from "./matchesField.js";
|
|
3
4
|
import { maxRule } from "./max.js";
|
|
4
5
|
import { maxDateRule } from "./maxDate.js";
|
|
@@ -16,6 +17,7 @@ const defaultValidationRules = [
|
|
|
16
17
|
maxLengthRule,
|
|
17
18
|
minRule,
|
|
18
19
|
maxRule,
|
|
20
|
+
integerRule,
|
|
19
21
|
minDateRule,
|
|
20
22
|
maxDateRule,
|
|
21
23
|
patternRule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/validation/builtin/index.ts"],"sourcesContent":["import type { AnyValidationRuleDefinition } from '../types'\nimport { emailRule } from './email'\nimport { matchesFieldRule } from './matchesField'\nimport { maxRule } from './max'\nimport { maxDateRule } from './maxDate'\nimport { maxLengthRule } from './maxLength'\nimport { minRule } from './min'\nimport { minDateRule } from './minDate'\nimport { minLengthRule } from './minLength'\nimport { notAlreadySubmittedRule } from './notAlreadySubmitted'\nimport { oneOfRule } from './oneOf'\nimport { patternRule } from './pattern'\nimport { urlRule } from './url'\n\n// Rules are authored with precise param/value generics; the registry stores them erased (params\n// re-narrow per matched rule at execution). One cast per rule, no `any`.\nexport const defaultValidationRules: AnyValidationRuleDefinition[] = [\n\tminLengthRule as AnyValidationRuleDefinition,\n\tmaxLengthRule as AnyValidationRuleDefinition,\n\tminRule as AnyValidationRuleDefinition,\n\tmaxRule as AnyValidationRuleDefinition,\n\tminDateRule as AnyValidationRuleDefinition,\n\tmaxDateRule as AnyValidationRuleDefinition,\n\tpatternRule as AnyValidationRuleDefinition,\n\temailRule as AnyValidationRuleDefinition,\n\turlRule as AnyValidationRuleDefinition,\n\toneOfRule as AnyValidationRuleDefinition,\n\tmatchesFieldRule as AnyValidationRuleDefinition,\n\tnotAlreadySubmittedRule as AnyValidationRuleDefinition,\n]\n\n/**\n * `defaultValidationRules` indexed by `type`, so a single built-in can be spread and tweaked\n * without hand-rolling a `.find()`, e.g.\n * `rules: { minLength: { ...defaultValidationRulesByType.minLength, message: myMessage } }`. The\n * `rules` plugin option replaces a built-in of the same `type`; `false` removes it, `true` keeps it.\n */\nexport const defaultValidationRulesByType: Record<string, AnyValidationRuleDefinition> =\n\tObject.fromEntries(defaultValidationRules.map((rule) => [rule.type, rule]))\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/validation/builtin/index.ts"],"sourcesContent":["import type { AnyValidationRuleDefinition } from '../types'\nimport { emailRule } from './email'\nimport { integerRule } from './integer'\nimport { matchesFieldRule } from './matchesField'\nimport { maxRule } from './max'\nimport { maxDateRule } from './maxDate'\nimport { maxLengthRule } from './maxLength'\nimport { minRule } from './min'\nimport { minDateRule } from './minDate'\nimport { minLengthRule } from './minLength'\nimport { notAlreadySubmittedRule } from './notAlreadySubmitted'\nimport { oneOfRule } from './oneOf'\nimport { patternRule } from './pattern'\nimport { urlRule } from './url'\n\n// Rules are authored with precise param/value generics; the registry stores them erased (params\n// re-narrow per matched rule at execution). One cast per rule, no `any`.\nexport const defaultValidationRules: AnyValidationRuleDefinition[] = [\n\tminLengthRule as AnyValidationRuleDefinition,\n\tmaxLengthRule as AnyValidationRuleDefinition,\n\tminRule as AnyValidationRuleDefinition,\n\tmaxRule as AnyValidationRuleDefinition,\n\tintegerRule as AnyValidationRuleDefinition,\n\tminDateRule as AnyValidationRuleDefinition,\n\tmaxDateRule as AnyValidationRuleDefinition,\n\tpatternRule as AnyValidationRuleDefinition,\n\temailRule as AnyValidationRuleDefinition,\n\turlRule as AnyValidationRuleDefinition,\n\toneOfRule as AnyValidationRuleDefinition,\n\tmatchesFieldRule as AnyValidationRuleDefinition,\n\tnotAlreadySubmittedRule as AnyValidationRuleDefinition,\n]\n\n/**\n * `defaultValidationRules` indexed by `type`, so a single built-in can be spread and tweaked\n * without hand-rolling a `.find()`, e.g.\n * `rules: { minLength: { ...defaultValidationRulesByType.minLength, message: myMessage } }`. The\n * `rules` plugin option replaces a built-in of the same `type`; `false` removes it, `true` keeps it.\n */\nexport const defaultValidationRulesByType: Record<string, AnyValidationRuleDefinition> =\n\tObject.fromEntries(defaultValidationRules.map((rule) => [rule.type, rule]))\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAa,yBAAwD;CACpE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD;;;;;;;AAQA,MAAa,+BACZ,OAAO,YAAY,uBAAuB,KAAK,SAAS,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { keys } from "../../translations/keys.js";
|
|
2
|
+
import { defineValidationRule } from "../defineValidationRule.js";
|
|
3
|
+
//#region src/validation/builtin/integer.ts
|
|
4
|
+
const integerRule = defineValidationRule({
|
|
5
|
+
type: "integer",
|
|
6
|
+
label: keys.ruleInteger,
|
|
7
|
+
description: keys.ruleIntegerDescription,
|
|
8
|
+
appliesTo: ["number"],
|
|
9
|
+
defaultMessage: keys.ruleIntegerMessage,
|
|
10
|
+
validate: ({ value, message }) => value == null || Number.isInteger(value) ? true : message()
|
|
11
|
+
});
|
|
12
|
+
//#endregion
|
|
13
|
+
export { integerRule };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=integer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.js","names":[],"sources":["../../../src/validation/builtin/integer.ts"],"sourcesContent":["import { keys } from '../../translations/keys'\nimport { defineValidationRule } from '../defineValidationRule'\n\nexport const integerRule = defineValidationRule<Record<string, never>, number>({\n\ttype: 'integer',\n\tlabel: keys.ruleInteger,\n\tdescription: keys.ruleIntegerDescription,\n\tappliesTo: ['number'],\n\tdefaultMessage: keys.ruleIntegerMessage,\n\tvalidate: ({ value, message }) => (value == null || Number.isInteger(value) ? true : message()),\n})\n"],"mappings":";;;AAGA,MAAa,cAAc,qBAAoD;CAC9E,MAAM;CACN,OAAO,KAAK;CACZ,aAAa,KAAK;CAClB,WAAW,CAAC,QAAQ;CACpB,gBAAgB,KAAK;CACrB,WAAW,EAAE,OAAO,cAAe,SAAS,QAAQ,OAAO,UAAU,KAAK,IAAI,OAAO,QAAQ;AAC9F,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@10x-media/form-builder",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.13",
|
|
4
4
|
"description": "End-to-end forms platform for Payload: author, validate, render, collect, aggregate, and act.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -62,11 +62,17 @@
|
|
|
62
62
|
"LICENSE"
|
|
63
63
|
],
|
|
64
64
|
"peerDependencies": {
|
|
65
|
+
"@payloadcms/db-postgres": "^3.82.0",
|
|
65
66
|
"@payloadcms/ui": "^3.83.0",
|
|
66
67
|
"payload": "^3.83.0",
|
|
67
68
|
"react": "^19.0.0",
|
|
68
69
|
"react-dom": "^19.0.0"
|
|
69
70
|
},
|
|
71
|
+
"peerDependenciesMeta": {
|
|
72
|
+
"@payloadcms/db-postgres": {
|
|
73
|
+
"optional": true
|
|
74
|
+
}
|
|
75
|
+
},
|
|
70
76
|
"dependencies": {
|
|
71
77
|
"@standard-schema/spec": "^1.0.0"
|
|
72
78
|
},
|
|
@@ -93,9 +99,9 @@
|
|
|
93
99
|
"tsdown": "0.22.1",
|
|
94
100
|
"typescript": "5.9.3",
|
|
95
101
|
"vitest": "4.1.7",
|
|
96
|
-
"@10x-media/tsconfig": "0.0.0",
|
|
97
|
-
"@10x-media/vitest-config": "0.0.0",
|
|
98
102
|
"@10x-media/payload-test-harness": "0.0.0",
|
|
103
|
+
"@10x-media/vitest-config": "0.0.0",
|
|
104
|
+
"@10x-media/tsconfig": "0.0.0",
|
|
99
105
|
"@10x-media/tsdown-config": "0.0.0"
|
|
100
106
|
},
|
|
101
107
|
"publishConfig": {
|
|
@@ -110,7 +116,7 @@
|
|
|
110
116
|
"test": "vitest run",
|
|
111
117
|
"test:unit": "vitest run src",
|
|
112
118
|
"test:int": "vitest run tests/int",
|
|
113
|
-
"test:matrix": "DB_MATRIX=mongo vitest run tests/int/matrix.int.spec.ts tests/int/messageResponse.int.spec.ts tests/int/pollAutoClose.int.spec.ts && DB_MATRIX=postgres vitest run tests/int/matrix.int.spec.ts tests/int/messageResponse.int.spec.ts tests/int/pollAutoClose.int.spec.ts",
|
|
119
|
+
"test:matrix": "DB_MATRIX=mongo vitest run tests/int/matrix.int.spec.ts tests/int/messageResponse.int.spec.ts tests/int/pollAutoClose.int.spec.ts tests/int/pollVotes.int.spec.ts && DB_MATRIX=postgres vitest run tests/int/matrix.int.spec.ts tests/int/messageResponse.int.spec.ts tests/int/pollAutoClose.int.spec.ts tests/int/pollVotes.int.spec.ts",
|
|
114
120
|
"test:container": "TEST_DB=container DB_MATRIX=mongo vitest run tests/int/matrix.int.spec.ts && TEST_DB=container DB_MATRIX=postgres vitest run tests/int/matrix.int.spec.ts",
|
|
115
121
|
"test:e2e": "bash scripts/e2e.sh",
|
|
116
122
|
"dev": "pnpm --filter @10x-media/form-builder-dev dev",
|
package/styles/form-builder.css
CHANGED
|
@@ -72,6 +72,90 @@
|
|
|
72
72
|
right: 0.5rem;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
/* Select field radio/buttons displays. */
|
|
76
|
+
.fb-choice {
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
gap: 0.5rem;
|
|
80
|
+
}
|
|
81
|
+
.fb-choice__option {
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
gap: 0.5rem;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.fb-choice--buttons {
|
|
88
|
+
flex-direction: row;
|
|
89
|
+
flex-wrap: wrap;
|
|
90
|
+
}
|
|
91
|
+
.fb-choice--buttons .fb-choice__option {
|
|
92
|
+
position: relative;
|
|
93
|
+
padding: 0.5rem 1rem;
|
|
94
|
+
border: 1px solid var(--fb-choice-border, currentColor);
|
|
95
|
+
border-radius: 0.375rem;
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
}
|
|
98
|
+
/* The input stays in the a11y tree and keyboard-operable; it is only visually hidden, not
|
|
99
|
+
* display:none, so focus and click targeting keep working through the label. */
|
|
100
|
+
.fb-choice--buttons .fb-choice__option input {
|
|
101
|
+
position: absolute;
|
|
102
|
+
width: 1px;
|
|
103
|
+
height: 1px;
|
|
104
|
+
margin: 0;
|
|
105
|
+
opacity: 0;
|
|
106
|
+
}
|
|
107
|
+
.fb-choice--buttons .fb-choice__option:has(input:checked) {
|
|
108
|
+
border-color: var(--fb-choice-selected, currentColor);
|
|
109
|
+
background: var(--fb-choice-selected-bg, rgba(0, 0, 0, 0.05));
|
|
110
|
+
}
|
|
111
|
+
.fb-choice--buttons .fb-choice__option:has(input:focus-visible) {
|
|
112
|
+
outline: 2px solid var(--fb-choice-focus, currentColor);
|
|
113
|
+
outline-offset: 2px;
|
|
114
|
+
}
|
|
115
|
+
.fb-choice--buttons .fb-choice__option:has(input:disabled) {
|
|
116
|
+
cursor: not-allowed;
|
|
117
|
+
opacity: var(--fb-choice-disabled-opacity, 0.5);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Checkbox field switch display: same input, appearance:none + track/thumb painted via background. */
|
|
121
|
+
.fb-switch {
|
|
122
|
+
appearance: none;
|
|
123
|
+
-webkit-appearance: none;
|
|
124
|
+
width: 2.5rem;
|
|
125
|
+
height: 1.5rem;
|
|
126
|
+
margin: 0;
|
|
127
|
+
border-radius: 999px;
|
|
128
|
+
background: var(--fb-switch-track, rgba(0, 0, 0, 0.25));
|
|
129
|
+
position: relative;
|
|
130
|
+
cursor: pointer;
|
|
131
|
+
flex-shrink: 0;
|
|
132
|
+
}
|
|
133
|
+
.fb-switch::before {
|
|
134
|
+
content: '';
|
|
135
|
+
position: absolute;
|
|
136
|
+
top: 0.125rem;
|
|
137
|
+
left: 0.125rem;
|
|
138
|
+
width: 1.25rem;
|
|
139
|
+
height: 1.25rem;
|
|
140
|
+
border-radius: 50%;
|
|
141
|
+
background: var(--fb-switch-thumb, #fff);
|
|
142
|
+
transition: transform 0.15s ease;
|
|
143
|
+
}
|
|
144
|
+
.fb-switch:checked {
|
|
145
|
+
background: var(--fb-switch-track-checked, currentColor);
|
|
146
|
+
}
|
|
147
|
+
.fb-switch:checked::before {
|
|
148
|
+
transform: translateX(1rem);
|
|
149
|
+
}
|
|
150
|
+
.fb-switch:focus-visible {
|
|
151
|
+
outline: 2px solid var(--fb-choice-focus, currentColor);
|
|
152
|
+
outline-offset: 2px;
|
|
153
|
+
}
|
|
154
|
+
.fb-switch:disabled {
|
|
155
|
+
cursor: not-allowed;
|
|
156
|
+
opacity: var(--fb-choice-disabled-opacity, 0.5);
|
|
157
|
+
}
|
|
158
|
+
|
|
75
159
|
/* Poll / survey results: per-option bars. The text carries the meaning; the bar is decorative. */
|
|
76
160
|
.fb-results__field {
|
|
77
161
|
margin-block: 1rem;
|