# Schema for the configuration files of the Tour module.

tour.tour.*:
  type: config_entity
  label: 'Tour settings'
  mapping:
    id:
      type: machine_name
      label: 'ID'
      constraints:
        # Tour IDs also allow dashes.
        Regex:
          pattern: '/^[a-z0-9_-]+$/'
          message: "The %value machine name is not valid."
    label:
      type: required_label
      label: 'Label'
    module:
      type: string
      label: 'Providing module'
    routes:
      type: sequence
      label: 'Route settings'
      sequence:
        type: route
        label: 'Route'
    tips:
      type: sequence
      label: 'Tips'
      sequence:
        type: tour.tip.[plugin]
        label: 'Tour tip'

tour.tip:
  type: mapping
  label: 'Tour tip'
  mapping:
    id:
      type: string
      label: 'ID'
    plugin:
      type: string
      label: 'Plugin'
    label:
      type: required_label
      label: 'Label'
    weight:
      type: integer
      label: 'Weight'
    position:
      type: string
      label: 'Position'
    selector:
      type: string
      label: 'Selector'

tour.tip.text:
  type: tour.tip
  label: 'Textual tour tip'
  mapping:
    body:
      type: text
      label: 'Body'
