TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formElementsDefinition:
            Email:
              formEditor:
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-FormElementHeaderEditor
                  200:
                    identifier: label
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.FormElement.editor.label.label
                    propertyPath: label
                  230:
                    identifier: elementDescription
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.FormElement.editor.elementDescription.label
                    propertyPath: properties.elementDescription
                  400:
                    identifier: placeholder
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.TextMixin.editor.placeholder.label
                    propertyPath: properties.fluidAdditionalAttributes.placeholder
                    doNotSetIfPropertyValueIsEmpty: true
                  500:
                    identifier: defaultValue
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.TextMixin.editor.defaultValue.label
                    propertyPath: defaultValue
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                  700:
                    identifier: gridColumnViewPortConfiguration
                    templateName: Inspector-GridColumnViewPortConfigurationEditor
                    label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.label
                    configurationOptions:
                      viewPorts:
                        10:
                          viewPortIdentifier: xs
                          label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xs.label
                        20:
                          viewPortIdentifier: sm
                          label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.sm.label
                        30:
                          viewPortIdentifier: md
                          label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.md.label
                        40:
                          viewPortIdentifier: lg
                          label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.lg.label
                        50:
                          viewPortIdentifier: xl
                          label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xl.label
                        60:
                          viewPortIdentifier: xxl
                          label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.xxl.label
                      numbersOfColumnsToUse:
                        label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
                        propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
                        fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
                  800:
                    identifier: requiredValidator
                    templateName: Inspector-RequiredValidatorEditor
                    label: formEditor.elements.FormElement.editor.requiredValidator.label
                    validatorIdentifier: NotEmpty
                    propertyPath: properties.fluidAdditionalAttributes.required
                    propertyValue: required
                    configurationOptions:
                      validationErrorMessage:
                        label: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.label
                        propertyPath: properties.validationErrorMessages
                        fieldExplanationText: formEditor.elements.FormElement.editor.requiredValidator.validationErrorMessage.fieldExplanationText
                        errorCodes:
                          10: 1221560910
                          20: 1221560718
                          30: 1347992400
                          40: 1347992453
                  900:
                    identifier: validators
                    templateName: Inspector-ValidatorsEditor
                    label: formEditor.elements.TextMixin.editor.validators.label
                    selectOptions:
                      10:
                        value: ''
                        label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                      50:
                        value: EmailAddress
                        label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
                predefinedDefaults:
                  defaultValue: ''
                  validators:
                    -
                      identifier: EmailAddress
                propertyCollections:
                  validators:
                    10:
                      identifier: Alphanumeric
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                        200:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.Alphanumeric.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1221551320
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                    20:
                      identifier: Text
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.Text.editor.header.label
                        200:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.Text.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1221565786
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                    30:
                      identifier: StringLength
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.StringLength.editor.header.label
                        200:
                          identifier: minimum
                          templateName: Inspector-TextEditor
                          label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                          propertyPath: options.minimum
                          propertyValidators:
                            10: Integer
                          additionalElementPropertyPaths:
                            10: properties.fluidAdditionalAttributes.minlength
                        300:
                          identifier: maximum
                          templateName: Inspector-TextEditor
                          label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                          propertyPath: options.maximum
                          propertyValidators:
                            10: Integer
                          additionalElementPropertyPaths:
                            10: properties.fluidAdditionalAttributes.maxlength
                        400:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.StringLength.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1238110957
                            20: 1269883975
                            30: 1428504122
                            40: 1238108068
                            50: 1238108069
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                    40:
                      identifier: EmailAddress
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.EmailAddress.editor.header.label
                        200:
                          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
                    50:
                      identifier: Integer
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                        200:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.Integer.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1221560494
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                    60:
                      identifier: Float
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.Float.editor.header.label
                        200:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.Float.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1221560288
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                    70:
                      identifier: NumberRange
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.NumberRange.editor.header.label
                        200:
                          identifier: minimum
                          templateName: Inspector-TextEditor
                          label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                          propertyPath: options.minimum
                          propertyValidators:
                            10: Integer
                          additionalElementPropertyPaths:
                            10: properties.fluidAdditionalAttributes.min
                        300:
                          identifier: maximum
                          templateName: Inspector-TextEditor
                          label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                          propertyPath: options.maximum
                          propertyValidators:
                            10: Integer
                          additionalElementPropertyPaths:
                            10: properties.fluidAdditionalAttributes.max
                        400:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.NumberRange.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1221563685
                            20: 1221561046
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                    80:
                      identifier: RegularExpression
                      editors:
                        100:
                          identifier: header
                          templateName: Inspector-CollectionElementHeaderEditor
                          label: formEditor.elements.TextMixin.validators.RegularExpression.editor.header.label
                        200:
                          identifier: regex
                          templateName: Inspector-TextEditor
                          label: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.regex.fieldExplanationText
                          propertyPath: options.regularExpression
                          propertyValidators:
                            10: NotEmpty
                        300:
                          identifier: validationErrorMessage
                          templateName: Inspector-ValidationErrorMessageEditor
                          label: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.label
                          fieldExplanationText: formEditor.elements.TextMixin.validators.RegularExpression.editor.validationErrorMessage.fieldExplanationText
                          errorCodes:
                            10: 1221565130
                          propertyPath: properties.validationErrorMessages
                        9999:
                          identifier: removeButton
                          templateName: Inspector-RemoveElementEditor
                label: formEditor.elements.Email.label
                group: html5
                groupSorting: 100
                iconIdentifier: form-email
              implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
              properties:
                containerClassAttribute: input
                elementClassAttribute: ''
                elementErrorClassAttribute: error
              validators:
                -
                  identifier: EmailAddress
              variants:
                -
                  identifier: template-variant
                  condition: 'getRootFormProperty("renderingOptions.templateVariant") == "version2"'
                  properties:
                    containerClassAttribute: 'form-element form-element-email mb-3'
                    elementClassAttribute: form-control
                    elementErrorClassAttribute: ~
                    labelClassAttribute: form-label
          formEditor:
            formEditorPartials:
              FormElement-Email: Stage/SimpleTemplate
