# Schema for the configuration files of the node module.

node.settings:
  type: config_object
  label: 'Node settings'
  constraints:
    FullyValidatable: ~
  mapping:
    use_admin_theme:
      type: boolean
      label: 'Use administration theme when editing or creating content'

node.type.*:
  type: config_entity
  label: 'Content type'
  constraints:
    FullyValidatable: ~
  mapping:
    name:
      type: required_label
      label: 'Name'
    type:
      type: machine_name
      label: 'Machine-readable name'
      constraints:
        # Node type machine names are specifically limited to 32 characters.
        # @see \Drupal\node\Form\NodeTypeForm::form()
        Length:
          max: 32
    description:
      type: text
      label: 'Description'
      nullable: true
      constraints:
        NotBlank:
          allowNull: true
    help:
      type: text
      label: 'Explanation or submission guidelines'
      nullable: true
      constraints:
        NotBlank:
          allowNull: true
    new_revision:
      type: boolean
      label: 'Whether a new revision should be created by default'
    preview_mode:
      type: integer
      label: 'Preview before submitting'
      constraints:
        # These are the values of the NodePreviewMode enum used on the NodeTypeForm.
        # @see \Drupal\node\NodePreviewMode
        # @see \Drupal\node\Form\NodeTypeForm::form()
        Choice:
          choices: [0, 1, 2]
    display_submitted:
      type: boolean
      label: 'Display setting for author and date Submitted by post information'

# Plugin \Drupal\node\Plugin\Search\NodeSearch
search.plugin.node_search:
  type: mapping
  label: 'Content search'
  mapping:
    rankings:
      type: sequence
      label: 'Content ranking'
      orderby: key
      sequence:
        type: integer
        label: 'Influence'

action.configuration.node_unpromote_action:
  type: action_configuration_default
  label: 'Demote selected content from front page configuration'

action.configuration.node_promote_action:
  type: action_configuration_default
  label: 'Promote selected content from front page configuration'

action.configuration.node_make_sticky_action:
  type: action_configuration_default
  label: 'Make selected content sticky configuration'

action.configuration.node_make_unsticky_action:
  type: action_configuration_default
  label: 'Make selected content unsticky configuration'

block.settings.node_syndicate_block:
  type: block_settings
  label: 'Syndicate block'
  mapping:
    block_count:
      type: integer
      label: 'Block count'
