TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formElementsDefinition:
            SecureCheck:
              formEditor:
                label: wsm.form_spamshield.title
                group: custom
                groupSorting: 1000
                iconIdentifier: wsm-form-spamshield
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-FormElementHeaderEditor
                  200:
                    identifier: label
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.FormElement.editor.label.label
                    propertyPath: label
                  300:
                    identifier: successMessage
                    templateName: Inspector-TextEditor
                    label: 'Success Message after send'
                    fieldExplanationText: 'E.g. what appears in a mail'
                    propertyPath: properties.secureCheckSuccessMessage
                  400:
                    identifier: validationErrorMessage
                    templateName: Inspector-ValidationErrorMessageEditor
                    label: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.label
                    fieldExplanationText: formEditor.elements.TextMixin.validators.EmailAddress.editor.validationErrorMessage.fieldExplanationText
                    errorCodes:
                        10: 1221559976
                    propertyPath: properties.validationErrorMessages
                  900:
                    identifier: validators
                    templateName: Inspector-ValidatorsEditor
                    label: formEditor.elements.TextMixin.editor.validators.label
                    selectOptions:
                      10:
                        value: ''
                        label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                      40:
                        value: SpamSecurityCheck
                        label: 'Simple Spam Protection Validation'
                predefinedDefaults:
                  validators:
                    -
                      identifier: SpamSecurityCheck
                      options:
                        securityLevel: 7
                        formTimeout: 5
                        strictMode: true
                        requireWhitespace: true
                propertyCollections:
                  validators:
                    40:
                      identifier: SpamSecurityCheck
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: 'Simple Spam Protection Validation'
                        200:
                          identifier: securityLevel
                          templateName: Inspector-TextEditor
                          label: 'Security Level (1-10):'
                          fieldExplanationText: '(Default: 7) With the security level you can determine what % of the tests must be passed in increments of 10. Please note that at level 10 the form may no longer be able to be sent.'
                          propertyPath: options.securityLevel
                          propertyValidators:
                            10: Integer
                        300:
                          identifier: formTimeout
                          templateName: Inspector-TextEditor
                          label: 'Form timeout:'
                          fieldExplanationText: '(Default: 5) minimum amount of seconds before the form can be send.'
                          propertyPath: options.formTimeout
                          propertyValidators:
                            10: Integer
                        400:
                          identifier: strictMode
                          templateName: Inspector-CheckboxEditor
                          label: 'Strict Mode:'
                          fieldExplanationText: '(Default: enabled) Validates all expected security checks, not just submitted ones. Disable for legacy behavior.'
                          propertyPath: options.strictMode
                          defaultValue: true
                        500:
                          identifier: requireWhitespace
                          templateName: Inspector-CheckboxEditor
                          label: 'Require Whitespace:'
                          fieldExplanationText: '(Default: enabled) Requires at least one whitespace key press. Disable for forms without free text fields (e.g. multiple choice only).'
                          propertyPath: options.requireWhitespace
                          defaultValue: true
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
              implementationClassName: 'WebsiteMensch\FormSpamshield\Domain\Model\FormElements\SecureCheckElement'
              properties:
                elementClassAttribute: 'security-check-input'
              renderingOptions:
                translation:
                  translationFiles:
                    1733210714: 'EXT:wsm_form_spamshield/Resources/Private/Language/Backend.xlf'
                partialRootPaths:
                  1733210743: 'EXT:wsm_form_spamshield/Resources/Private/Frontend/Partials/Forms'
