core.entity_view_display.*.*.*.third_party.ds:
  type: mapping
  label: 'Entity View Display Suite settings'
  mapping:
    layout:
      type: mapping
      label: 'The Display Suite layout'
      mapping:
        id:
          type: string
          label: 'The id of the layout'
        path:
          type: string
          label: 'The path of the module'
        library:
          type: string
          label: 'The asset library name attached to this layout'
        disable_css:
          type: boolean
          label: 'Disable CSS or not'
        entity_classes:
          type: string
          label: 'Entity, bundle and view mode classes'
        settings:
          type: mapping
          label: 'Display Suite layout settings'
          mapping:
            classes:
              type: 'sequence'
              label: 'The layout classes'
              sequence:
                - type: ds.classes.[%key]
                  label: 'Classes array'
            wrappers:
              type: 'sequence'
              label: 'The layout wrappers'
              sequence:
                - type: string
                  label: 'Field wrapper'
            outer_wrapper:
              type: string
              label: 'The outer wrapper of the layout'
            attributes:
              type: string
              label: 'The attributesof the layout'
            link_attribute:
              type: string
              label: 'The link attribute of the layout'
            link_custom:
              type: string
              label: 'The custom path of the layout'
    regions:
      type: sequence
      label: 'The regions of the layout'
      sequence:
        - type: sequence
          label: 'The fields belonging to the region'
          sequence:
            - type: string
              label: 'The field name'
    fields:
      type: sequence
      label: 'The Display Suite field plugins'
      sequence:
        - type: mapping
          label: 'A Display Suite field plugin'
          mapping:
            plugin_id:
              type: string
              label: 'The plugin ID of the field'
            weight:
              type: integer
              label: 'The weight of the field'
            label:
              type: string
              label: 'The position of the label'
            formatter:
              type: string
              label: 'The formatter of the field'
            settings:
              type: ds.field_plugin.[%parent.plugin_id]
            ft:
              type: ds.field_template.settings

field.formatter.third_party.ds:
  type: mapping
  label:  Display Suite field formatter settings
  mapping:
    ds_limit:
      type: string
      label: Limit of the field
    ft:
      type: ds.field_template.settings

ds.field_template.settings:
  type: mapping
  label: 'The field template of the field'
  mapping:
    id:
      type: string
      label: 'The ID of the template'
    settings:
      type: ds.field_template.[%parent.id]

ds.classes.*:
  type: sequence
  label: 'A list of classes'
  sequence:
    - type: string
      label: 'Class name'
