Full default configuration

persistenceManager:
  allowedFileMounts:
    10: '1:/form_definitions/'
  allowSaveToExtensionPaths: false
  allowDeleteFromExtensionPaths: false
  sortByKeys: ['name', 'fileUid']
  sortAscending: true
prototypes:
  standard:
    formElementsDefinition:
      Form:
        formEditor:
          predefinedDefaults:
            renderingOptions:
              submitButtonLabel: formEditor.elements.Form.editor.submitButtonLabel.value
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.BaseFormElementMixin.editor.label.label
              propertyPath: label
            300:
              identifier: submitButtonLabel
              templateName: Inspector-TextEditor
              label: formEditor.elements.Form.editor.submitButtonLabel.label
              propertyPath: renderingOptions.submitButtonLabel
            900:
              identifier: finishers
              templateName: Inspector-FinishersEditor
              label: formEditor.elements.Form.editor.finishers.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.Form.editor.finishers.EmptyValue.label
                20:
                  value: EmailToSender
                  label: formEditor.elements.Form.editor.finishers.EmailToSender.label
                30:
                  value: EmailToReceiver
                  label: formEditor.elements.Form.editor.finishers.EmailToReceiver.label
                40:
                  value: Redirect
                  label: formEditor.elements.Form.editor.finishers.Redirect.label
                50:
                  value: DeleteUploads
                  label: formEditor.elements.Form.editor.finishers.DeleteUploads.label
          _isCompositeFormElement: false
          _isTopLevelFormElement: true
          saveSuccessFlashMessageTitle: formEditor.elements.Form.saveSuccessFlashMessageTitle
          saveSuccessFlashMessageMessage: formEditor.elements.Form.saveSuccessFlashMessageMessage
          saveErrorFlashMessageTitle: formEditor.elements.Form.saveErrorFlashMessageTitle
          saveErrorFlashMessageMessage: formEditor.elements.Form.saveErrorFlashMessageMessage
          modalValidationErrorsDialogTitle: formEditor.modals.validationErrors.dialogTitle
          modalValidationErrorsConfirmButton: formEditor.modals.validationErrors.confirmButton
          modalInsertElementsDialogTitle: formEditor.modals.insertElements.dialogTitle
          modalInsertPagesDialogTitle: formEditor.modals.newPages.dialogTitle
          modalCloseDialogMessage: formEditor.modals.close.dialogMessage
          modalCloseDialogTitle: formEditor.modals.close.dialogTitle
          modalCloseConfirmButton: formEditor.modals.close.confirmButton
          modalCloseCancleButton: formEditor.modals.close.cancleButton
          modalRemoveElementDialogTitle: formEditor.modals.removeElement.dialogTitle
          modalRemoveElementDialogMessage: formEditor.modals.removeElement.dialogMessage
          modalRemoveElementConfirmButton: formEditor.modals.removeElement.confirmButton
          modalRemoveElementCancleButton: formEditor.modals.removeElement.cancleButton
          modalRemoveElementLastAvailablePageFlashMessageTitle: formEditor.modals.removeElement.lastAvailablePageFlashMessageTitle
          modalRemoveElementLastAvailablePageFlashMessageMessage: formEditor.modals.removeElement.lastAvailablePageFlashMessageMessage
          inspectorEditorFormElementSelectorNoElements: formEditor.inspector.editor.formelement_selector.no_elements
          paginationTitle: formEditor.pagination.title
          iconIdentifier: content-form
          propertyCollections:
            finishers:
              10:
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.header.label
                  200:
                    identifier: subject
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.subject.label
                    propertyPath: options.subject
                    enableFormelementSelectionButton: true
                    propertyValidators:
                      10: NotEmpty
                      20: FormElementIdentifierWithinCurlyBracesInclusive
                  300:
                    identifier: recipientAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.label
                    propertyPath: options.recipientAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmail
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  400:
                    identifier: recipientName
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.label
                    propertyPath: options.recipientName
                    enableFormelementSelectionButton: true
                    propertyValidators:
                      10: FormElementIdentifierWithinCurlyBracesInclusive
                  500:
                    identifier: senderAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label
                    propertyPath: options.senderAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmail
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  600:
                    identifier: senderName
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label
                    propertyPath: options.senderName
                    enableFormelementSelectionButton: true
                    propertyValidators:
                      10: FormElementIdentifierWithinCurlyBracesInclusive
                  700:
                    identifier: replyToAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.replyToAddress.label
                    propertyPath: options.replyToAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  800:
                    identifier: carbonCopyAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyAddress.label
                    propertyPath: options.carbonCopyAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  900:
                    identifier: blindCarbonCopyAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyAddress.label
                    propertyPath: options.blindCarbonCopyAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  1000:
                    identifier: format
                    templateName: Inspector-SingleSelectEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.format.label
                    propertyPath: options.format
                    selectOptions:
                      10:
                        value: plaintext
                        label: formEditor.elements.Form.finisher.EmailToSender.editor.format.1
                      20:
                        value: html
                        label: formEditor.elements.Form.finisher.EmailToSender.editor.format.2
                  1100:
                    identifier: attachUploads
                    templateName: Inspector-CheckboxEditor
                    label: formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label
                    propertyPath: options.attachUploads
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
                identifier: EmailToSender
              20:
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label
                  200:
                    identifier: subject
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.subject.label
                    propertyPath: options.subject
                    enableFormelementSelectionButton: true
                    propertyValidators:
                      10: NotEmpty
                      20: FormElementIdentifierWithinCurlyBracesInclusive
                  300:
                    identifier: recipientAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientAddress.label
                    propertyPath: options.recipientAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmail
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  400:
                    identifier: recipientName
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.recipientName.label
                    propertyPath: options.recipientName
                    enableFormelementSelectionButton: true
                    propertyValidators:
                      10: FormElementIdentifierWithinCurlyBracesInclusive
                  500:
                    identifier: senderAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.senderAddress.label
                    propertyPath: options.senderAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmail
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  600:
                    identifier: senderName
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.senderName.label
                    propertyPath: options.senderName
                    enableFormelementSelectionButton: true
                    propertyValidators:
                      10: FormElementIdentifierWithinCurlyBracesInclusive
                  700:
                    identifier: replyToAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.replyToAddress.label
                    propertyPath: options.replyToAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  800:
                    identifier: carbonCopyAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.carbonCopyAddress.label
                    propertyPath: options.carbonCopyAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  900:
                    identifier: blindCarbonCopyAddress
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.blindCarbonCopyAddress.label
                    propertyPath: options.blindCarbonCopyAddress
                    enableFormelementSelectionButton: true
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: NaiveEmailOrEmpty
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  1000:
                    identifier: format
                    templateName: Inspector-SingleSelectEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.format.label
                    propertyPath: options.format
                    selectOptions:
                      10:
                        value: plaintext
                        label: formEditor.elements.Form.finisher.EmailToSender.editor.format.1
                      20:
                        value: html
                        label: formEditor.elements.Form.finisher.EmailToSender.editor.format.2
                  1100:
                    identifier: attachUploads
                    templateName: Inspector-CheckboxEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.attachUploads.label
                    propertyPath: options.attachUploads
                  1200:
                    identifier: language
                    templateName: Inspector-SingleSelectEditor
                    label: formEditor.elements.Form.finisher.EmailToReceiver.editor.language.label
                    propertyPath: options.translation.language
                    selectOptions:
                      10:
                        value: default
                        label: formEditor.elements.Form.finisher.EmailToReceiver.editor.language.1
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
                identifier: EmailToReceiver
              30:
                identifier: Redirect
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.Redirect.editor.header.label
                  200:
                    identifier: pageUid
                    templateName: Inspector-Typo3WinBrowserEditor
                    label: formEditor.elements.Form.finisher.Redirect.editor.pageUid.label
                    buttonLabel: formEditor.elements.Form.finisher.Redirect.editor.pageUid.buttonLabel
                    browsableType: pages
                    propertyPath: options.pageUid
                    propertyValidatorsMode: OR
                    propertyValidators:
                      10: Integer
                      20: FormElementIdentifierWithinCurlyBracesExclusive
                  300:
                    identifier: additionalParameters
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.Form.finisher.Redirect.editor.additionalParameters.label
                    propertyPath: options.additionalParameters
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              40:
                identifier: DeleteUploads
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.DeleteUploads.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Confirmation
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.Confirmation.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              60:
                identifier: Closure
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.Closure.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              70:
                identifier: FlashMessage
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.FlashMessage.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              80:
                identifier: SaveToDatabase
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
        rendererClassName: TYPO3\CMS\Form\Domain\Renderer\FluidFormRenderer
        renderingOptions:
          templateVariant: version1
          translation:
            translationFiles:
              10: 'EXT:form/Resources/Private/Language/locallang.xlf'
          templateRootPaths:
            10: 'EXT:form/Resources/Private/Frontend/Templates/'
          partialRootPaths:
            10: 'EXT:form/Resources/Private/Frontend/Partials/'
          layoutRootPaths:
            10: 'EXT:form/Resources/Private/Frontend/Layouts/'
          addQueryString: false
          argumentsToBeExcludedFromQueryString: {  }
          additionalParams: {  }
          controllerAction: perform
          httpMethod: post
          httpEnctype: multipart/form-data
          _isCompositeFormElement: false
          _isTopLevelFormElement: true
          honeypot:
            enable: true
            formElementToUse: Honeypot
          submitButtonLabel: Submit
          skipUnknownElements: true
      Page:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.Page.editor.label.label
              propertyPath: label
            300:
              identifier: previousButtonLabel
              templateName: Inspector-TextEditor
              label: formEditor.elements.Page.editor.previousButtonLabel.label
              propertyPath: renderingOptions.previousButtonLabel
            400:
              identifier: nextButtonLabel
              templateName: Inspector-TextEditor
              label: formEditor.elements.Page.editor.nextButtonLabel.label
              propertyPath: renderingOptions.nextButtonLabel
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            renderingOptions:
              previousButtonLabel: formEditor.elements.Page.editor.previousButtonLabel.value
              nextButtonLabel: formEditor.elements.Page.editor.nextButtonLabel.value
          label: formEditor.elements.Page.label
          group: page
          groupSorting: 100
          _isTopLevelFormElement: true
          _isCompositeFormElement: true
          iconIdentifier: form-page
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\Page
        renderingOptions:
          _isTopLevelFormElement: true
          _isCompositeFormElement: true
          nextButtonLabel: 'next Page'
          previousButtonLabel: 'previous Page'
      SummaryPage:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.SummaryPage.editor.label.label
              propertyPath: label
            300:
              identifier: previousButtonLabel
              templateName: Inspector-TextEditor
              label: formEditor.elements.SummaryPage.editor.previousButtonLabel.label
              propertyPath: renderingOptions.previousButtonLabel
            400:
              identifier: nextButtonLabel
              templateName: Inspector-TextEditor
              label: formEditor.elements.SummaryPage.editor.nextButtonLabel.label
              propertyPath: renderingOptions.nextButtonLabel
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            renderingOptions:
              previousButtonLabel: formEditor.elements.SummaryPage.editor.previousButtonLabel.value
              nextButtonLabel: formEditor.elements.SummaryPage.editor.nextButtonLabel.value
          label: formEditor.elements.SummaryPage.label
          group: page
          groupSorting: 200
          _isTopLevelFormElement: true
          _isCompositeFormElement: false
          iconIdentifier: form-summary-page
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\Page
        renderingOptions:
          _isTopLevelFormElement: true
          _isCompositeFormElement: false
          nextButtonLabel: 'next Page'
          previousButtonLabel: 'previous Page'
      Fieldset:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.Fieldset.editor.label.label
              propertyPath: label
            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
                numbersOfColumnsToUse:
                  label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
                  propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
                  fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults: {  }
          label: formEditor.elements.Fieldset.label
          group: container
          groupSorting: 100
          _isCompositeFormElement: true
          iconIdentifier: form-fieldset
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\Section
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
        renderingOptions:
          _isCompositeFormElement: true
      GridRow:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.GridRow.editor.label.label
              propertyPath: label
            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
                numbersOfColumnsToUse:
                  label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
                  propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
                  fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults: {  }
          label: formEditor.elements.GridRow.label
          group: container
          groupSorting: 300
          _isCompositeFormElement: true
          _isGridRowFormElement: true
          iconIdentifier: form-gridrow
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GridRow
        properties:
          containerClassAttribute: input
          elementClassAttribute: row
          elementErrorClassAttribute: error
          gridColumnClassAutoConfiguration:
            gridSize: 12
            viewPorts:
              xs:
                classPattern: 'col-{@numbersOfColumnsToUse}'
              sm:
                classPattern: 'col-sm-{@numbersOfColumnsToUse}'
              md:
                classPattern: 'col-md-{@numbersOfColumnsToUse}'
              lg:
                classPattern: 'col-lg-{@numbersOfColumnsToUse}'
        renderingOptions:
          _isCompositeFormElement: true
          _isGridRowFormElement: true
      Text:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                20:
                  value: Alphanumeric
                  label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
                40:
                  value: StringLength
                  label: formEditor.elements.TextMixin.editor.validators.StringLength.label
                50:
                  value: EmailAddress
                  label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
                60:
                  value: Integer
                  label: formEditor.elements.TextMixin.editor.validators.Integer.label
                70:
                  value: Float
                  label: formEditor.elements.TextMixin.editor.validators.Float.label
                80:
                  value: NumberRange
                  label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.Text.label
          group: input
          groupSorting: 100
          iconIdentifier: form-text
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
      Password:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                20:
                  value: Alphanumeric
                  label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
                40:
                  value: StringLength
                  label: formEditor.elements.TextMixin.editor.validators.StringLength.label
                50:
                  value: EmailAddress
                  label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
                60:
                  value: Integer
                  label: formEditor.elements.TextMixin.editor.validators.Integer.label
                70:
                  value: Float
                  label: formEditor.elements.TextMixin.editor.validators.Float.label
                80:
                  value: NumberRange
                  label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.Password.label
          group: input
          groupSorting: 300
          iconIdentifier: form-password
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
      AdvancedPassword:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: confirmationLabel
              templateName: Inspector-TextEditor
              label: formEditor.elements.AdvancedPassword.editor.confirmationLabel.label
              propertyPath: properties.confirmationLabel
            400:
              identifier: placeholder
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.placeholder.label
              propertyPath: properties.fluidAdditionalAttributes.placeholder
              doNotSetIfPropertyValueIsEmpty: true
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                20:
                  value: Alphanumeric
                  label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
                40:
                  value: StringLength
                  label: formEditor.elements.TextMixin.editor.validators.StringLength.label
                50:
                  value: EmailAddress
                  label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
                60:
                  value: Integer
                  label: formEditor.elements.TextMixin.editor.validators.Integer.label
                70:
                  value: Float
                  label: formEditor.elements.TextMixin.editor.validators.Float.label
                80:
                  value: NumberRange
                  label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              confirmationLabel: formEditor.element.AdvancedPassword.editor.confirmationLabel.predefinedDefaults
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.AdvancedPassword.label
          group: custom
          groupSorting: 500
          iconIdentifier: form-advanced-password
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: input-medium
          elementErrorClassAttribute: error
          confirmationLabel: ''
          confirmationClassAttribute: input-medium
      Textarea:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                20:
                  value: Alphanumeric
                  label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
                40:
                  value: StringLength
                  label: formEditor.elements.TextMixin.editor.validators.StringLength.label
                60:
                  value: Integer
                  label: formEditor.elements.TextMixin.editor.validators.Integer.label
                70:
                  value: Float
                  label: formEditor.elements.TextMixin.editor.validators.Float.label
                80:
                  value: NumberRange
                  label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.Textarea.label
          group: input
          groupSorting: 200
          iconIdentifier: form-textarea
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: xxlarge
          elementErrorClassAttribute: error
      Honeypot:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                20:
                  value: Alphanumeric
                  label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
                40:
                  value: StringLength
                  label: formEditor.elements.TextMixin.editor.validators.StringLength.label
                50:
                  value: EmailAddress
                  label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
                60:
                  value: Integer
                  label: formEditor.elements.TextMixin.editor.validators.Integer.label
                70:
                  value: Float
                  label: formEditor.elements.TextMixin.editor.validators.Float.label
                80:
                  value: NumberRange
                  label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
          renderAsHiddenField: false
          styleAttribute: 'position:absolute; margin:0 0 0 -999em;'
      Hidden:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: defaultValue
              templateName: Inspector-TextEditor
              label: formEditor.elements.Hidden.editor.defaultValue.label
              propertyPath: defaultValue
            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
                numbersOfColumnsToUse:
                  label: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.label
                  propertyPath: 'properties.gridColumnClassAutoConfiguration.viewPorts.{@viewPortIdentifier}.numbersOfColumnsToUse'
                  fieldExplanationText: formEditor.elements.FormElement.editor.gridColumnViewPortConfiguration.numbersOfColumnsToUse.fieldExplanationText
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
          label: formEditor.elements.Hidden.label
          group: custom
          groupSorting: 300
          iconIdentifier: form-hidden
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
      Email:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            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
                  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
                  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
                  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
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
                  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
      Telephone:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
            properties:
              fluidAdditionalAttributes:
                pattern: '.*'
            validators:
              -
                identifier: RegularExpression
                options:
                  regularExpression: '/^.*$/'
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
          label: formEditor.elements.Telephone.label
          group: html5
          groupSorting: 200
          iconIdentifier: form-telephone
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
        validators:
          -
            identifier: RegularExpression
            options:
              regularExpression: '/^.*$/'
      Url:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
            600:
              identifier: pattern
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.pattern.label
              propertyPath: properties.fluidAdditionalAttributes.pattern
              fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                90:
                  value: RegularExpression
                  label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
            properties:
              fluidAdditionalAttributes:
                pattern: '.*'
            validators:
              -
                identifier: RegularExpression
                options:
                  regularExpression: '/^.*$/'
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  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
                  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
                  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
          label: formEditor.elements.Url.label
          group: html5
          groupSorting: 300
          iconIdentifier: form-url
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
        validators:
          -
            identifier: RegularExpression
            options:
              regularExpression: '/^.*$/'
      Number:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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: IntegerOrEmpty
            700:
              identifier: step
              templateName: Inspector-TextEditor
              label: formEditor.elements.TextMixin.editor.step.label
              propertyPath: properties.fluidAdditionalAttributes.step
              propertyValidators:
                10: Integer
            800:
              identifier: requiredValidator
              templateName: Inspector-RequiredValidatorEditor
              label: formEditor.elements.FormElement.editor.requiredValidator.label
              validatorIdentifier: NotEmpty
              propertyPath: properties.fluidAdditionalAttributes.required
              propertyValue: required
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.TextMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
                60:
                  value: Number
                  label: formEditor.elements.Number.editor.validators.Number.label
                80:
                  value: NumberRange
                  label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            defaultValue: ''
            properties:
              fluidAdditionalAttributes:
                step: 1
            validators:
              -
                identifier: Number
          propertyCollections:
            validators:
              10:
                identifier: Alphanumeric
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                  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
                  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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              50:
                identifier: Integer
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
              60:
                identifier: Number
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.TextMixin.validators.Number.editor.header.label
              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
                  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
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.Number.label
          group: html5
          groupSorting: 400
          iconIdentifier: form-number
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
        validators:
          -
            identifier: Number
      Checkbox:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            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
                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
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults: {  }
          label: formEditor.elements.Checkbox.label
          group: select
          groupSorting: 100
          iconIdentifier: form-checkbox
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: 'input checkbox'
          elementClassAttribute: add-on
          elementErrorClassAttribute: error
          value: 1
      MultiCheckbox:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: options
              templateName: Inspector-PropertyGridEditor
              label: formEditor.elements.SelectionMixin.editor.options.label
              propertyPath: properties.options
              isSortable: true
              enableAddRow: true
              enableDeleteRow: true
              removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
              removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
              shouldShowPreselectedValueColumn: multiple
              multiSelection: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.MultiSelectionMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label
                20:
                  value: Count
                  label: formEditor.elements.MultiSelectionMixin.editor.validators.Count.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              options: {  }
          propertyCollections:
            validators:
              10:
                identifier: Count
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label
                  200:
                    identifier: minimum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                    propertyPath: options.minimum
                    propertyValidators:
                      10: Integer
                  300:
                    identifier: maximum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                    propertyPath: options.maximum
                    propertyValidators:
                      10: Integer
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.MultiCheckbox.label
          group: select
          groupSorting: 400
          iconIdentifier: form-multi-checkbox
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: 'input checkbox'
          elementClassAttribute: ''
          elementErrorClassAttribute: error
      MultiSelect:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            250:
              identifier: inactiveOption
              templateName: Inspector-TextEditor
              label: formEditor.elements.SelectionMixin.editor.inactiveOption.label
              propertyPath: properties.prependOptionLabel
              fieldExplanationText: formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            300:
              identifier: options
              templateName: Inspector-PropertyGridEditor
              label: formEditor.elements.SelectionMixin.editor.options.label
              propertyPath: properties.options
              isSortable: true
              enableAddRow: true
              enableDeleteRow: true
              removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
              removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
              shouldShowPreselectedValueColumn: multiple
              multiSelection: true
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.MultiSelectionMixin.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label
                20:
                  value: Count
                  label: formEditor.elements.MultiSelectionMixin.editor.validators.Count.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              options: {  }
          propertyCollections:
            validators:
              10:
                identifier: Count
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label
                  200:
                    identifier: minimum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                    propertyPath: options.minimum
                    propertyValidators:
                      10: Integer
                  300:
                    identifier: maximum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                    propertyPath: options.maximum
                    propertyValidators:
                      10: Integer
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          label: formEditor.elements.MultiSelect.label
          group: select
          groupSorting: 500
          iconIdentifier: form-multi-select
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: xlarge
          elementErrorClassAttribute: error
      RadioButton:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: options
              templateName: Inspector-PropertyGridEditor
              label: formEditor.elements.SelectionMixin.editor.options.label
              propertyPath: properties.options
              isSortable: true
              enableAddRow: true
              enableDeleteRow: true
              removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
              removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
              shouldShowPreselectedValueColumn: single
              multiSelection: false
            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
                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
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              options: {  }
          label: formEditor.elements.RadioButton.label
          group: select
          groupSorting: 300
          iconIdentifier: form-radio-button
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: xlarge
          elementErrorClassAttribute: error
      SingleSelect:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            250:
              identifier: inactiveOption
              templateName: Inspector-TextEditor
              label: formEditor.elements.SelectionMixin.editor.inactiveOption.label
              propertyPath: properties.prependOptionLabel
              fieldExplanationText: formEditor.elements.SelectionMixin.editor.inactiveOption.fieldExplanationText
              doNotSetIfPropertyValueIsEmpty: true
            300:
              identifier: options
              templateName: Inspector-PropertyGridEditor
              label: formEditor.elements.SelectionMixin.editor.options.label
              propertyPath: properties.options
              isSortable: true
              enableAddRow: true
              enableDeleteRow: true
              removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
              removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
              shouldShowPreselectedValueColumn: single
              multiSelection: false
            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
                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
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              options: {  }
          label: formEditor.elements.SingleSelect.label
          group: select
          groupSorting: 200
          iconIdentifier: form-single-select
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
      DatePicker:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: dateFormat
              templateName: Inspector-TextEditor
              label: formEditor.elements.DatePicker.editor.dateFormat.label
              propertyPath: properties.dateFormat
            400:
              identifier: enableDatePicker
              templateName: Inspector-CheckboxEditor
              label: formEditor.elements.DatePicker.editor.enableDatePicker.label
              propertyPath: properties.enableDatePicker
            500:
              identifier: displayTimeSelector
              templateName: Inspector-CheckboxEditor
              label: formEditor.elements.DatePicker.editor.displayTimeSelector.label
              propertyPath: properties.displayTimeSelector
            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
                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
            900:
              identifier: validators
              templateName: Inspector-ValidatorsEditor
              label: formEditor.elements.DatePicker.editor.validators.label
              selectOptions:
                10:
                  value: ''
                  label: formEditor.elements.DatePicker.editor.validators.EmptyValue.label
                20:
                  value: DateTime
                  label: formEditor.elements.DatePicker.editor.validators.DateTime.label
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              dateFormat: Y-m-d
              enableDatePicker: true
              displayTimeSelector: false
          label: formEditor.elements.DatePicker.label
          group: custom
          groupSorting: 200
          iconIdentifier: form-date-picker
          propertyCollections:
            validators:
              10:
                identifier: DateTime
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.DatePicker.validators.DateTime.editor.header.label
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\DatePicker
        properties:
          containerClassAttribute: input
          elementClassAttribute: 'small form-control'
          elementErrorClassAttribute: error
          timeSelectorClassAttribute: mini
          timeSelectorHourLabel: ''
          timeSelectorMinuteLabel: ''
          dateFormat: Y-m-d
          enableDatePicker: true
          displayTimeSelector: false
      StaticText:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.ReadOnlyFormElement.editor.label.label
              propertyPath: label
            300:
              identifier: staticText
              templateName: Inspector-TextareaEditor
              label: formEditor.elements.StaticText.editor.staticText.label
              propertyPath: properties.text
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              text: ''
          label: formEditor.elements.StaticText.label
          group: custom
          groupSorting: 600
          iconIdentifier: form-static-text
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          text: ''
      ContentElement:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            300:
              identifier: contentElement
              templateName: Inspector-Typo3WinBrowserEditor
              label: formEditor.elements.ContentElement.editor.contentElement.label
              buttonLabel: formEditor.elements.ContentElement.editor.contentElement.buttonLabel
              browsableType: tt_content
              propertyPath: properties.contentElementUid
              propertyValidatorsMode: OR
              propertyValidators:
                10: Integer
                20: FormElementIdentifierWithinCurlyBracesExclusive
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              contentElementUid: ''
          label: formEditor.elements.ContentElement.label
          group: custom
          groupSorting: 700
          iconIdentifier: form-content-element
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
        properties:
          contentElementUid: ''
      FileUpload:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: allowedMimeTypes
              templateName: Inspector-MultiSelectEditor
              label: formEditor.elements.FileUpload.editor.allowedMimeTypes.label
              propertyPath: properties.allowedMimeTypes
              selectOptions:
                10:
                  value: application/msword
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.doc
                20:
                  value: application/vnd.openxmlformats-officedocument.wordprocessingml.document
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.docx
                30:
                  value: application/msexcel
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.xls
                40:
                  value: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.xlsx
                50:
                  value: application/pdf
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.pdf
                60:
                  value: application/vnd.oasis.opendocument.text
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.odt
                70:
                  value: application/vnd.oasis.opendocument.spreadsheet-template
                  label: formEditor.elements.FileUpload.editor.allowedMimeTypes.ods
            400:
              identifier: saveToFileMount
              templateName: Inspector-SingleSelectEditor
              label: formEditor.elements.FileUploadMixin.editor.saveToFileMount.label
              propertyPath: properties.saveToFileMount
              selectOptions:
                10:
                  value: '1:/user_upload/'
                  label: '1:/user_upload/'
            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
                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
            900:
              identifier: 'validators'
              templateName: 'Inspector-ValidatorsEditor'
              label: 'formEditor.elements.FileUploadMixin.editor.validators.label'
              selectOptions:
                10:
                  value: ''
                  label: 'formEditor.elements.FileUploadMixin.editor.validators.EmptyValue.label'
                20:
                  value: 'FileSize'
                  label: 'formEditor.elements.FileUploadMixin.editor.validators.FileSize.label'
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          propertyCollections:
            validators:
              10:
                identifier: FileSize
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label
                  200:
                    identifier: minimum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                    propertyPath: options.minimum
                    propertyValidators:
                      10: FileSize
                  300:
                    identifier: maximum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                    propertyPath: options.maximum
                    propertyValidators:
                      10: FileSize
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              saveToFileMount: '1:/user_upload/'
              allowedMimeTypes:
                - application/pdf
          label: formEditor.elements.FileUpload.label
          group: custom
          groupSorting: 100
          iconIdentifier: form-file-upload
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload
        properties:
          containerClassAttribute: input
          elementClassAttribute: ''
          elementErrorClassAttribute: error
          saveToFileMount: '1:/user_upload/'
          allowedMimeTypes:
            - application/msword
            - application/vnd.openxmlformats-officedocument.wordprocessingml.document
            - application/vnd.oasis.opendocument.text
            - application/pdf
      ImageUpload:
        formEditor:
          editors:
            100:
              identifier: header
              templateName: Inspector-FormElementHeaderEditor
            200:
              identifier: label
              templateName: Inspector-TextEditor
              label: formEditor.elements.FormElement.editor.label.label
              propertyPath: label
            300:
              identifier: allowedMimeTypes
              templateName: Inspector-MultiSelectEditor
              label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.label
              propertyPath: properties.allowedMimeTypes
              selectOptions:
                10:
                  value: image/jpeg
                  label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.jpg
                20:
                  value: image/png
                  label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.png
                30:
                  value: image/bmp
                  label: formEditor.elements.ImageUpload.editor.allowedMimeTypes.bmp
            400:
              identifier: saveToFileMount
              templateName: Inspector-SingleSelectEditor
              label: formEditor.elements.FileUploadMixin.editor.saveToFileMount.label
              propertyPath: properties.saveToFileMount
              selectOptions:
                10:
                  value: '1:/user_upload/'
                  label: '1:/user_upload/'
            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
                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
            900:
              identifier: 'validators'
              templateName: 'Inspector-ValidatorsEditor'
              label: 'formEditor.elements.FileUploadMixin.editor.validators.label'
              selectOptions:
                10:
                  value: ''
                  label: 'formEditor.elements.FileUploadMixin.editor.validators.EmptyValue.label'
                20:
                  value: 'FileSize'
                  label: 'formEditor.elements.FileUploadMixin.editor.validators.FileSize.label'
            9999:
              identifier: removeButton
              templateName: Inspector-RemoveElementEditor
          propertyCollections:
            validators:
              10:
                identifier: FileSize
                editors:
                  100:
                    identifier: header
                    templateName: Inspector-CollectionElementHeaderEditor
                    label: formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label
                  200:
                    identifier: minimum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                    propertyPath: options.minimum
                    propertyValidators:
                      10: FileSize
                  300:
                    identifier: maximum
                    templateName: Inspector-TextEditor
                    label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                    propertyPath: options.maximum
                    propertyValidators:
                      10: FileSize
                  9999:
                    identifier: removeButton
                    templateName: Inspector-RemoveElementEditor
          predefinedDefaults:
            properties:
              saveToFileMount: '1:/user_upload/'
              allowedMimeTypes:
                - image/jpeg
          label: formEditor.elements.ImageUpload.label
          group: custom
          groupSorting: 400
          iconIdentifier: form-image-upload
        implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload
        properties:
          containerClassAttribute: input
          elementClassAttribute: lightbox
          elementErrorClassAttribute: error
          saveToFileMount: '1:/user_upload/'
          allowedMimeTypes:
            - image/jpeg
            - image/png
            - image/bmp
          imageLinkMaxWidth: 500
          imageMaxWidth: 500
          imageMaxHeight: 500
    finishersDefinition:
      Closure:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.Closure.editor.header.label
          predefinedDefaults:
            options:
              closure: ''
      Confirmation:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher
        options:
          templateName: 'Confirmation'
          templateRootPaths:
            10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Confirmation/'
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.Confirmation.editor.header.label
          predefinedDefaults:
            options:
              message: ''
      EmailToSender:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\EmailFinisher
        options:
          templatePathAndFilename: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/{@format}.html'
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.EmailToSender.editor.header.label
          predefinedDefaults:
            options:
              subject: ''
              recipientAddress: ''
              recipientName: ''
              senderAddress: ''
              senderName: ''
              replyToAddress: ''
              carbonCopyAddress: ''
              blindCarbonCopyAddress: ''
              format: html
              attachUploads: true
        FormEngine:
          label: tt_content.finishersDefinition.EmailToSender.label
          elements:
            subject:
              label: tt_content.finishersDefinition.EmailToSender.subject.label
              config:
                type: input
            recipientAddress:
              label: tt_content.finishersDefinition.EmailToSender.recipientAddress.label
              config:
                type: input
                eval: required
            recipientName:
              label: tt_content.finishersDefinition.EmailToSender.recipientName.label
              config:
                type: input
            senderAddress:
              label: tt_content.finishersDefinition.EmailToSender.senderAddress.label
              config:
                type: input
                eval: required
            senderName:
              label: tt_content.finishersDefinition.EmailToSender.senderName.label
              config:
                type: input
            replyToAddress:
              label: tt_content.finishersDefinition.EmailToSender.replyToAddress.label
              config:
                type: input
            carbonCopyAddress:
              label: tt_content.finishersDefinition.EmailToSender.carbonCopyAddress.label
              config:
                type: input
            blindCarbonCopyAddress:
              label: tt_content.finishersDefinition.EmailToSender.blindCarbonCopyAddress.label
              config:
                type: input
            format:
              label: tt_content.finishersDefinition.EmailToSender.format.label
              config:
                type: select
                renderType: selectSingle
                minitems: 1
                maxitems: 1
                size: 1
                items:
                  10:
                    - tt_content.finishersDefinition.EmailToSender.format.1
                    - html
                  20:
                    - tt_content.finishersDefinition.EmailToSender.format.2
                    - plaintext
      EmailToReceiver:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\EmailFinisher
        options:
          templatePathAndFilename: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/{@format}.html'
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.EmailToReceiver.editor.header.label
          predefinedDefaults:
            options:
              subject: ''
              recipientAddress: ''
              recipientName: ''
              senderAddress: ''
              senderName: ''
              replyToAddress: ''
              carbonCopyAddress: ''
              blindCarbonCopyAddress: ''
              format: html
              attachUploads: true
              translation:
                language: ''
        FormEngine:
          label: tt_content.finishersDefinition.EmailToReceiver.label
          elements:
            subject:
              label: tt_content.finishersDefinition.EmailToReceiver.subject.label
              config:
                type: input
            recipientAddress:
              label: tt_content.finishersDefinition.EmailToReceiver.recipientAddress.label
              config:
                type: input
                eval: required
            recipientName:
              label: tt_content.finishersDefinition.EmailToReceiver.recipientName.label
              config:
                type: input
            senderAddress:
              label: tt_content.finishersDefinition.EmailToReceiver.senderAddress.label
              config:
                type: input
                eval: required
            senderName:
              label: tt_content.finishersDefinition.EmailToReceiver.senderName.label
              config:
                type: input
            replyToAddress:
              label: tt_content.finishersDefinition.EmailToReceiver.replyToAddress.label
              config:
                type: input
            carbonCopyAddress:
              label: tt_content.finishersDefinition.EmailToReceiver.carbonCopyAddress.label
              config:
                type: input
            blindCarbonCopyAddress:
              label: tt_content.finishersDefinition.EmailToReceiver.blindCarbonCopyAddress.label
              config:
                type: input
            format:
              label: tt_content.finishersDefinition.EmailToReceiver.format.label
              config:
                type: select
                renderType: selectSingle
                minitems: 1
                maxitems: 1
                size: 1
                items:
                  10:
                    - tt_content.finishersDefinition.EmailToSender.format.1
                    - html
                  20:
                    - tt_content.finishersDefinition.EmailToSender.format.2
                    - plaintext
            translation:
              language:
                label: tt_content.finishersDefinition.EmailToReceiver.language.label
                config:
                  type: select
                  renderType: selectSingle
                  minitems: 1
                  maxitems: 1
                  size: 1
                  items:
                    10:
                      - tt_content.finishersDefinition.EmailToReceiver.language.1
                      - default
      DeleteUploads:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.DeleteUploads.editor.header.label
      FlashMessage:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.FlashMessage.editor.header.label
          predefinedDefaults:
            options:
              messageBody: ''
              messageTitle: ''
              messageArguments: ''
              messageCode: 0
              severity: 0
      Redirect:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.Redirect.editor.header.label
          predefinedDefaults:
            options:
              pageUid: ''
              additionalParameters: ''
        FormEngine:
          label: tt_content.finishersDefinition.Redirect.label
          elements:
            pageUid:
              label: tt_content.finishersDefinition.Redirect.pageUid.label
              config:
                type: group
                allowed: pages
                size: 1
                minitems: 1
                maxitems: 1
                fieldWizard:
                  recordsOverview:
                    disabled: 1
            additionalParameters:
              label: tt_content.finishersDefinition.Redirect.additionalParameters.label
              config:
                type: input
      SaveToDatabase:
        implementationClassName: TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher
        formEditor:
          iconIdentifier: form-finisher
          label: formEditor.elements.Form.finisher.SaveToDatabase.editor.header.label
          predefinedDefaults:
            options: {  }
    validatorsDefinition:
      NotEmpty:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\NotEmptyValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.FormElement.editor.requiredValidator.label
      DateTime:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\DateTimeValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.DatePicker.validators.DateTime.editor.header.label
      Alphanumeric:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\AlphanumericValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
      Text:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\TextValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.Text.label
      StringLength:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.StringLength.label
          predefinedDefaults:
            options:
              minimum: ''
              maximum: ''
      EmailAddress:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\EmailAddressValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
      Integer:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\IntegerValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.Integer.label
      Float:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\FloatValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.Float.label
      Number:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\NumberValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.Number.label
      NumberRange:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
          predefinedDefaults:
            options:
              minimum: ''
              maximum: ''
      RegularExpression:
        implementationClassName: TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
          predefinedDefaults:
            options:
              regularExpression: ''
      Count:
        implementationClassName: TYPO3\CMS\Form\Mvc\Validation\CountValidator
        formEditor:
          iconIdentifier: form-validator
          label: formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label
          predefinedDefaults:
            options:
              minimum: ''
              maximum: ''
      FileSize:
        implementationClassName: TYPO3\CMS\Form\Mvc\Validation\FileSizeValidator
        formEditor:
          iconIdentifier: 'form-validator'
          label: 'formEditor.elements.FileUploadMixin.validators.FileSize.editor.header.label'
          predefinedDefaults:
            options:
              minimum: '0B'
              maximum: '10M'

    formEditor:
      translationFiles:
        10: 'EXT:form/Resources/Private/Language/Database.xlf'
      dynamicRequireJsModules:
        app: TYPO3/CMS/Form/Backend/FormEditor
        mediator: TYPO3/CMS/Form/Backend/FormEditor/Mediator
        viewModel: TYPO3/CMS/Form/Backend/FormEditor/ViewModel
      addInlineSettings: {  }
      maximumUndoSteps: 10
      stylesheets:
        200: 'EXT:form/Resources/Public/Css/form.css'
      formEditorFluidConfiguration:
        templatePathAndFilename: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/InlineTemplates.html'
        partialRootPaths:
          10: 'EXT:form/Resources/Private/Backend/Partials/FormEditor/'
        layoutRootPaths:
          10: 'EXT:form/Resources/Private/Backend/Layouts/FormEditor/'
      formEditorPartials:
        FormElement-_ElementToolbar: Stage/_ElementToolbar
        FormElement-_UnknownElement: Stage/_UnknownElement
        FormElement-Page: Stage/Page
        FormElement-SummaryPage: Stage/SummaryPage
        FormElement-Fieldset: Stage/Fieldset
        FormElement-GridRow: Stage/Fieldset
        FormElement-Text: Stage/SimpleTemplate
        FormElement-Password: Stage/SimpleTemplate
        FormElement-AdvancedPassword: Stage/SimpleTemplate
        FormElement-Textarea: Stage/SimpleTemplate
        FormElement-Checkbox: Stage/SimpleTemplate
        FormElement-MultiCheckbox: Stage/SelectTemplate
        FormElement-MultiSelect: Stage/SelectTemplate
        FormElement-RadioButton: Stage/SelectTemplate
        FormElement-SingleSelect: Stage/SelectTemplate
        FormElement-DatePicker: Stage/SimpleTemplate
        FormElement-StaticText: Stage/StaticText
        FormElement-Hidden: Stage/SimpleTemplate
        FormElement-ContentElement: Stage/ContentElement
        FormElement-FileUpload: Stage/FileUploadTemplate
        FormElement-ImageUpload: Stage/FileUploadTemplate
        FormElement-Email: Stage/SimpleTemplate
        FormElement-Telephone: Stage/SimpleTemplate
        FormElement-Url: Stage/SimpleTemplate
        FormElement-Number: Stage/SimpleTemplate
        Modal-InsertElements: Modals/InsertElements
        Modal-InsertPages: Modals/InsertPages
        Modal-ValidationErrors: Modals/ValidationErrors
        Inspector-FormElementHeaderEditor: Inspector/FormElementHeaderEditor
        Inspector-CollectionElementHeaderEditor: Inspector/CollectionElementHeaderEditor
        Inspector-TextEditor: Inspector/TextEditor
        Inspector-PropertyGridEditor: Inspector/PropertyGridEditor
        Inspector-SingleSelectEditor: Inspector/SingleSelectEditor
        Inspector-MultiSelectEditor: Inspector/MultiSelectEditor
        Inspector-GridColumnViewPortConfigurationEditor: Inspector/GridColumnViewPortConfigurationEditor
        Inspector-TextareaEditor: Inspector/TextareaEditor
        Inspector-RemoveElementEditor: Inspector/RemoveElementEditor
        Inspector-FinishersEditor: Inspector/FinishersEditor
        Inspector-ValidatorsEditor: Inspector/ValidatorsEditor
        Inspector-RequiredValidatorEditor: Inspector/RequiredValidatorEditor
        Inspector-CheckboxEditor: Inspector/CheckboxEditor
        Inspector-Typo3WinBrowserEditor: Inspector/Typo3WinBrowserEditor
      formElementPropertyValidatorsDefinition:
        NotEmpty:
          errorMessage: formEditor.formElementPropertyValidatorsDefinition.NotEmpty.label
        Integer:
          errorMessage: formEditor.formElementPropertyValidatorsDefinition.Integer.label
        NaiveEmail:
          errorMessage: formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label
        NaiveEmailOrEmpty:
          errorMessage: formEditor.formElementPropertyValidatorsDefinition.NaiveEmail.label
        FormElementIdentifierWithinCurlyBracesInclusive:
          errorMessage: formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label
        FormElementIdentifierWithinCurlyBracesExclusive:
          errorMessage: formEditor.formElementPropertyValidatorsDefinition.FormElementIdentifierWithinCurlyBraces.label
      formElementGroups:
        input:
          label: formEditor.formElementGroups.input.label
        html5:
          label: formEditor.formElementGroups.html5.label
        select:
          label: formEditor.formElementGroups.select.label
        custom:
          label: formEditor.formElementGroups.custom.label
        container:
          label: formEditor.formElementGroups.container.label
        page:
          label: formEditor.formElementGroups.page.label
    formEngine:
      translationFiles:
        10: 'EXT:form/Resources/Private/Language/Database.xlf'
mixins:
  translationSettingsMixin:
    translation:
      translationFiles:
        10: 'EXT:form/Resources/Private/Language/locallang.xlf'
  formElementMixins:
    BaseFormElementMixin:
      formEditor:
        predefinedDefaults: {  }
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.BaseFormElementMixin.editor.label.label
            propertyPath: label
    ReadOnlyFormElementMixin:
      formEditor:
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.ReadOnlyFormElement.editor.label.label
            propertyPath: label
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults: {  }
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
    FormElementMixin:
      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
          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
              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
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults: {  }
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
      properties:
        containerClassAttribute: input
        elementClassAttribute: ''
        elementErrorClassAttribute: error
    TextMixin:
      formEditor:
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.FormElement.editor.label.label
            propertyPath: label
          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
          600:
            identifier: pattern
            templateName: Inspector-TextEditor
            label: formEditor.elements.TextMixin.editor.pattern.label
            propertyPath: properties.fluidAdditionalAttributes.pattern
            fieldExplanationText: formEditor.elements.TextMixin.editor.pattern.fieldExplanationText
            doNotSetIfPropertyValueIsEmpty: true
          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
              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
          900:
            identifier: validators
            templateName: Inspector-ValidatorsEditor
            label: formEditor.elements.TextMixin.editor.validators.label
            selectOptions:
              10:
                value: ''
                label: formEditor.elements.TextMixin.editor.validators.EmptyValue.label
              20:
                value: Alphanumeric
                label: formEditor.elements.TextMixin.editor.validators.Alphanumeric.label
              40:
                value: StringLength
                label: formEditor.elements.TextMixin.editor.validators.StringLength.label
              50:
                value: EmailAddress
                label: formEditor.elements.TextMixin.editor.validators.EmailAddress.label
              60:
                value: Integer
                label: formEditor.elements.TextMixin.editor.validators.Integer.label
              70:
                value: Float
                label: formEditor.elements.TextMixin.editor.validators.Float.label
              80:
                value: NumberRange
                label: formEditor.elements.TextMixin.editor.validators.NumberRange.label
              90:
                value: RegularExpression
                label: formEditor.elements.TextMixin.editor.validators.RegularExpression.label
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults:
          defaultValue: ''
        propertyCollections:
          validators:
            10:
              identifier: Alphanumeric
              editors:
                100:
                  identifier: header
                  templateName: Inspector-CollectionElementHeaderEditor
                  label: formEditor.elements.TextMixin.validators.Alphanumeric.editor.header.label
                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
                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
                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
                9999:
                  identifier: removeButton
                  templateName: Inspector-RemoveElementEditor
            50:
              identifier: Integer
              editors:
                100:
                  identifier: header
                  templateName: Inspector-CollectionElementHeaderEditor
                  label: formEditor.elements.TextMixin.validators.Integer.editor.header.label
                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
                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
                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
                9999:
                  identifier: removeButton
                  templateName: Inspector-RemoveElementEditor
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
      properties:
        containerClassAttribute: input
        elementClassAttribute: ''
        elementErrorClassAttribute: error
    SelectionMixin:
      formEditor:
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.FormElement.editor.label.label
            propertyPath: label
          300:
            identifier: options
            templateName: Inspector-PropertyGridEditor
            label: formEditor.elements.SelectionMixin.editor.options.label
            propertyPath: properties.options
            isSortable: true
            enableAddRow: true
            enableDeleteRow: true
            removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
            removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
          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
              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
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults:
          properties:
            options: {  }
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
      properties:
        containerClassAttribute: input
        elementClassAttribute: ''
        elementErrorClassAttribute: error
    SingleSelectionMixin:
      formEditor:
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.FormElement.editor.label.label
            propertyPath: label
          300:
            identifier: options
            templateName: Inspector-PropertyGridEditor
            label: formEditor.elements.SelectionMixin.editor.options.label
            propertyPath: properties.options
            isSortable: true
            enableAddRow: true
            enableDeleteRow: true
            removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
            removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
            shouldShowPreselectedValueColumn: single
            multiSelection: false
          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
              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
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults:
          properties:
            options: {  }
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
      properties:
        containerClassAttribute: input
        elementClassAttribute: ''
        elementErrorClassAttribute: error
    MultiSelectionMixin:
      formEditor:
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.FormElement.editor.label.label
            propertyPath: label
          300:
            identifier: options
            templateName: Inspector-PropertyGridEditor
            label: formEditor.elements.SelectionMixin.editor.options.label
            propertyPath: properties.options
            isSortable: true
            enableAddRow: true
            enableDeleteRow: true
            removeLastAvailableRowFlashMessageTitle: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageTitle
            removeLastAvailableRowFlashMessageMessage: formEditor.elements.SelectionMixin.editor.options.removeLastAvailableRowFlashMessageMessage
            shouldShowPreselectedValueColumn: multiple
            multiSelection: true
          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
              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
          900:
            identifier: validators
            templateName: Inspector-ValidatorsEditor
            label: formEditor.elements.MultiSelectionMixin.editor.validators.label
            selectOptions:
              10:
                value: ''
                label: formEditor.elements.MultiSelectionMixin.editor.validators.EmptyValue.label
              20:
                value: Count
                label: formEditor.elements.MultiSelectionMixin.editor.validators.Count.label
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults:
          properties:
            options: {  }
        propertyCollections:
          validators:
            10:
              identifier: Count
              editors:
                100:
                  identifier: header
                  templateName: Inspector-CollectionElementHeaderEditor
                  label: formEditor.elements.MultiSelectionMixin.validators.Count.editor.header.label
                200:
                  identifier: minimum
                  templateName: Inspector-TextEditor
                  label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
                  propertyPath: options.minimum
                  propertyValidators:
                    10: Integer
                300:
                  identifier: maximum
                  templateName: Inspector-TextEditor
                  label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
                  propertyPath: options.maximum
                  propertyValidators:
                    10: Integer
                9999:
                  identifier: removeButton
                  templateName: Inspector-RemoveElementEditor
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement
      properties:
        containerClassAttribute: input
        elementClassAttribute: ''
        elementErrorClassAttribute: error
    FileUploadMixin:
      formEditor:
        editors:
          100:
            identifier: header
            templateName: Inspector-FormElementHeaderEditor
          200:
            identifier: label
            templateName: Inspector-TextEditor
            label: formEditor.elements.FormElement.editor.label.label
            propertyPath: label
          400:
            identifier: saveToFileMount
            templateName: Inspector-SingleSelectEditor
            label: formEditor.elements.FileUploadMixin.editor.saveToFileMount.label
            propertyPath: properties.saveToFileMount
            selectOptions:
              10:
                value: '1:/user_upload/'
                label: '1:/user_upload/'
          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
              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
          9999:
            identifier: removeButton
            templateName: Inspector-RemoveElementEditor
        predefinedDefaults:
          properties:
            saveToFileMount: '1:/user_upload/'
      implementationClassName: TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload
      properties:
        containerClassAttribute: input
        elementClassAttribute: ''
        elementErrorClassAttribute: error
        saveToFileMount: '1:/user_upload/'
    RemoveButtonMixin:
      9999:
        identifier: removeButton
        templateName: Inspector-RemoveElementEditor
    RemovableFormElementMixin:
      editors:
        9999:
          identifier: removeButton
          templateName: Inspector-RemoveElementEditor
    BaseCollectionEditorsMixin:
      100:
        identifier: header
        templateName: Inspector-CollectionElementHeaderEditor
        label: ''
      9999:
        identifier: removeButton
        templateName: Inspector-RemoveElementEditor
    MinimumMaximumEditorsMixin:
      200:
        identifier: minimum
        templateName: Inspector-TextEditor
        label: formEditor.elements.MinimumMaximumEditorsMixin.editor.minimum.label
        propertyPath: options.minimum
        propertyValidators:
          10: Integer
      300:
        identifier: maximum
        templateName: Inspector-TextEditor
        label: formEditor.elements.MinimumMaximumEditorsMixin.editor.maximum.label
        propertyPath: options.maximum
        propertyValidators:
          10: Integer
    formEmailFinisherMixin:
      editors:
        100:
          identifier: header
          templateName: Inspector-CollectionElementHeaderEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.header.label
        200:
          identifier: subject
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.subject.label
          propertyPath: options.subject
          enableFormelementSelectionButton: true
          propertyValidators:
            10: NotEmpty
            20: FormElementIdentifierWithinCurlyBracesInclusive
        300:
          identifier: recipientAddress
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.label
          propertyPath: options.recipientAddress
          enableFormelementSelectionButton: true
          propertyValidatorsMode: OR
          propertyValidators:
            10: NaiveEmail
            20: FormElementIdentifierWithinCurlyBracesExclusive
        400:
          identifier: recipientName
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.label
          propertyPath: options.recipientName
          enableFormelementSelectionButton: true
          propertyValidators:
            10: FormElementIdentifierWithinCurlyBracesInclusive
        500:
          identifier: senderAddress
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label
          propertyPath: options.senderAddress
          enableFormelementSelectionButton: true
          propertyValidatorsMode: OR
          propertyValidators:
            10: NaiveEmail
            20: FormElementIdentifierWithinCurlyBracesExclusive
        600:
          identifier: senderName
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label
          propertyPath: options.senderName
          enableFormelementSelectionButton: true
          propertyValidators:
            10: FormElementIdentifierWithinCurlyBracesInclusive
        700:
          identifier: replyToAddress
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.replyToAddress.label
          propertyPath: options.replyToAddress
          enableFormelementSelectionButton: true
          propertyValidatorsMode: OR
          propertyValidators:
            10: NaiveEmailOrEmpty
            20: FormElementIdentifierWithinCurlyBracesExclusive
        800:
          identifier: carbonCopyAddress
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyAddress.label
          propertyPath: options.carbonCopyAddress
          enableFormelementSelectionButton: true
          propertyValidatorsMode: OR
          propertyValidators:
            10: NaiveEmailOrEmpty
            20: FormElementIdentifierWithinCurlyBracesExclusive
        900:
          identifier: blindCarbonCopyAddress
          templateName: Inspector-TextEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyAddress.label
          propertyPath: options.blindCarbonCopyAddress
          enableFormelementSelectionButton: true
          propertyValidatorsMode: OR
          propertyValidators:
            10: NaiveEmailOrEmpty
            20: FormElementIdentifierWithinCurlyBracesExclusive
        1000:
          identifier: format
          templateName: Inspector-SingleSelectEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.format.label
          propertyPath: options.format
          selectOptions:
            10:
              value: plaintext
              label: formEditor.elements.Form.finisher.EmailToSender.editor.format.1
            20:
              value: html
              label: formEditor.elements.Form.finisher.EmailToSender.editor.format.2
        1100:
          identifier: attachUploads
          templateName: Inspector-CheckboxEditor
          label: formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label
          propertyPath: options.attachUploads
        9999:
          identifier: removeButton
          templateName: Inspector-RemoveElementEditor
  finishersEmailMixin:
    implementationClassName: TYPO3\CMS\Form\Domain\Finishers\EmailFinisher
    options:
      templatePathAndFilename: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/{@format}.html'
  FormEngineEmailMixin:
    label: tt_content.finishersDefinition.EmailToSender.label
    elements:
      subject:
        label: tt_content.finishersDefinition.EmailToSender.subject.label
        config:
          type: input
      recipientAddress:
        label: tt_content.finishersDefinition.EmailToSender.recipientAddress.label
        config:
          type: input
          eval: required
      recipientName:
        label: tt_content.finishersDefinition.EmailToSender.recipientName.label
        config:
          type: input
      senderAddress:
        label: tt_content.finishersDefinition.EmailToSender.senderAddress.label
        config:
          type: input
          eval: required
      senderName:
        label: tt_content.finishersDefinition.EmailToSender.senderName.label
        config:
          type: input
      replyToAddress:
        label: tt_content.finishersDefinition.EmailToSender.replyToAddress.label
        config:
          type: input
      carbonCopyAddress:
        label: tt_content.finishersDefinition.EmailToSender.carbonCopyAddress.label
        config:
          type: input
      blindCarbonCopyAddress:
        label: tt_content.finishersDefinition.EmailToSender.blindCarbonCopyAddress.label
        config:
          type: input
      format:
        label: tt_content.finishersDefinition.EmailToSender.format.label
        config:
          type: select
          renderType: selectSingle
          minitems: 1
          maxitems: 1
          size: 1
          items:
            10:
              - tt_content.finishersDefinition.EmailToSender.format.1
              - html
            20:
              - tt_content.finishersDefinition.EmailToSender.format.2
              - plaintext
formManager:
  dynamicRequireJsModules:
    app: TYPO3/CMS/Form/Backend/FormManager
    viewModel: TYPO3/CMS/Form/Backend/FormManager/ViewModel
  stylesheets:
    100: 'EXT:form/Resources/Public/Css/form.css'
  translationFiles:
    10: 'EXT:form/Resources/Private/Language/Database.xlf'
  javaScriptTranslationFile: 'EXT:form/Resources/Private/Language/locallang_formManager_javascript.xlf'
  selectablePrototypesConfiguration:
    100:
      identifier: standard
      label: formManager.selectablePrototypesConfiguration.standard.label
      newFormTemplates:
        100:
          templatePath: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/Yaml/NewForms/BlankForm.yaml'
          label: formManager.selectablePrototypesConfiguration.standard.newFormTemplates.blankForm.label
        200:
          templatePath: 'EXT:form/Resources/Private/Backend/Templates/FormEditor/Yaml/NewForms/SimpleContactForm.yaml'
          label: formManager.selectablePrototypesConfiguration.standard.newFormTemplates.simpleContactForm.label
  controller:
    deleteAction:
      errorTitle: formManagerController.deleteAction.error.title
      errorMessage: formManagerController.deleteAction.error.body