My.Vendor:Content.Editors:
  label: Element with many editors
  superTypes:
    Neos.Neos:Content: true
  ui:
    label: i18n
    creationDialog:
      elements:
        textArea:
          ui:
            editor: Neos.Neos/Inspector/Editors/TextAreaEditor
            editorOptions:
              placeholder: In the creation dialog
  properties:
    custom:
      defaultValue: 'foo'
      ui:
        inspector:
          editor: 'My/Cool/Editor'
          editorOptions:
            myOption: 5

    textArea:
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/TextAreaEditor'
          editorOptions:
            maxlength: 20
            minRows: 2
            maxRows: 10
            expandedRows: 6
            disabled: false
            readonly: false
            placeholder: 'ClientEval: node.properties.titleOverride || node.properties.title'

    richText:
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/RichTextEditor'
          editorOptions:
            placeholder: '<p>placeholder</p>'
            autoparagraph: true
            linking:
              anchor: true
            formatting:
              strong: true
              blockquote: true
              styleDefinitions:
                - name: 'Brand color'
                  element: 'span'
                  classes: [ 'color__neos-brand' ]

    textField:
      type: string
      defaultValue: 'foo'
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/TextFieldEditor'
          editorOptions:
            placeholder: i18n
            disabled: false
            maxlength: 10
            readonly: false

    selectBox:
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/SelectBoxEditor'
          editorOptions:
            allowEmpty: true
            placeholder: i18n
            placeholderIcon: 'list'
            minimumResultsForSearch: -1
            values:
              foo:
                label: i18n
                icon: 'file'
              bar:
                label: i18n
                icon: 'newspaper'

    boolean:
      type: boolean
      defaultValue: true
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/BooleanEditor'
          editorOptions:
            disabled: false

    code:
      type: string
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/CodeEditor'
          editorOptions:
            highlightingMode: htmlmixed

    dateTime:
      type: DateTime
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/CodeEditor'
          editorOptions:
            highlightingMode: htmlmixed

    integer:
      type: integer
      defaultValue: 2
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/RangeEditor'
          editorOptions:
            min: 0
            max: 10

    number:
      type: number
      defaultValue: 1.2
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/RangeEditor'
          editorOptions:
            min: 0
            max: 10
            step: 0.1

    asset:
      type: Neos\Media\Domain\Model\Asset
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/AssetEditor'
          editorOptions:
            placeholder: i18n
            disabled: false
            features:
              upload: true
              mediaBrowser: true

    assets:
      type: array<Neos\Media\Domain\Model\Asset>
      defaultValue: [ ]
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/AssetEditor'
          editorOptions:
            placeholder: i18n
            disabled: false
            features:
              upload: true
              mediaBrowser: true

    reference:
      type: reference
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/ReferenceEditor'
          editorOptions:
            placeholder: i18n
            threshold: 2
            nodeTypes: [ Neos.Neos:Document ]
            startingPoint: '/sites'
            disabled: false
            createNew:
              path: '/sites/neosdemo'
              type: 'Neos.Demo:Document.Page'
              titleProperty: 'title'

    references:
      type: references
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/ReferencesEditor'
          editorOptions:
            placeholder: i18n
            threshold: 2
            nodeTypes: [ Neos.Neos:Document ]
            startingPoint: '/sites'
            disabled: false
            createNew:
              path: '/sites/neosdemo'
              type: 'Neos.Demo:Document.Page'
              titleProperty: 'title'

    link:
      type: string
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/LinkEditor'
          editorOptions:
            nodeTypes: [ 'Neos.Neos:Document' ]
            startingPoint: '/sites'
            placeholder: i18n
            disabled: false
            assets: false
            nodes: true

    image:
      type: Neos\Media\Domain\Model\ImageInterface
      ui:
        inspector:
          editor: 'Neos.Neos/Inspector/Editors/ImageEditor'
          editorOptions:
            disabled: false
            maximumFileSize: null
            constraints:
              mediaTypes: [ 'image/jpeg' ]
            features:
              crop: true
              resize: false
              mediaBrowser: true
              upload: true
            crop:
              aspectRatio:
                allowCustom: true
                enableOriginal: true
                locked:
                  height: 1
                  width: 1
                options:
                  16-9:
                    width: 16
                    height: 9
                    label: Widescreen
                  4-3:
                    width: 4
                    height: 3
                    label: Normal screens

    numberInRange:
      type: int
      ui:
        inspector:
          editor: Neos.Neos/Inspector/Editors/RangeEditor
          editorOptions:
            disabled: true
            minLabel: 'Minimum'
            maxLabel: 'Maximum'
            min: 0
            max: 100
            step: 5
            unit: px
