colorbox.formatter_base:
  type: mapping
  mapping:
    colorbox_image_style:
      type: string
      label: 'Image style'
    colorbox_gallery:
      type: string
      label: 'Gallery'
    colorbox_gallery_custom:
      type: string
      label: 'Gallery custom'
    colorbox_caption:
      type: string
      label: 'Caption'
    colorbox_caption_custom:
      type: string
      label: 'Caption custom'

field.formatter.settings.colorbox:
  type: colorbox.formatter_base
  label: 'Entity reference field formatter settings.'
  mapping:
    colorbox_node_style:
      type: string
      label: 'Node Style'
    colorbox_node_style_first:
      type: string
      label: 'Node style first'

field.formatter.settings.colorbox_responsive:
  type: colorbox.formatter_base
  label: 'Entity reference field formatter settings.'
  mapping:
    colorbox_responsive_node_style:
      type: string
      label: 'Node responsive image style'
    colorbox_responsive_image_style:
      type: string
      label: 'Responsive image style'

colorbox.settings:
  type: config_object
  label: 'Colorbox settings'
  mapping:
    dompurify_hide_warning:
      type: boolean
      label: Don't show warning on status report
    custom:
      type: mapping
      label: Custom Settings
      mapping:
        style:
          type: string
          label: 'Style'
        activate:
          type: integer
          label: 'Options'
        transition_type:
          type: string
          label: 'Transition type'
        transition_speed:
          type: integer
          label: 'Transition speed'
        opacity:
          type: float
          label: 'Opacity'
        text_current:
          type: text
          label: 'Current'
        text_previous:
          type: text
          label: 'Previous'
        text_next:
          type: text
          label: 'Next'
        text_close:
          type: text
          label: 'Close'
        maxwidth:
          type: text
          label: 'Max width'
        maxheight:
          type: text
          label: 'Max height'
        initialwidth:
          type: text
          label: 'Initial width'
        initialheight:
          type: text
          label: 'Initial height'
        overlayclose:
          type: boolean
          label: 'Overlay close'
        returnfocus:
          type: boolean
          label: 'Return focus'
        fixed:
          type: boolean
          label: 'Fixed'
        scrolling:
          type: boolean
          label: 'Scrollbars'
        slideshow:
          type: mapping
          label: 'Slideshow'
          mapping:
            slideshow:
              type: integer
              label: 'Slideshow'
            auto:
              type: boolean
              label: 'Slideshow autostart'
            speed:
              type: integer
              label: 'Slideshow speed'
            text_start:
              type: text
              label: 'Start slideshow'
            text_stop:
              type: text
              label: 'Stop slideshow'
    advanced:
      type: mapping
      label: 'Advanced settings'
      mapping:
        unique_token:
          type: integer
          label: 'Unique per-request gallery token'
        mobile_detect:
          type: integer
          label: 'Mobile detection'
        mobile_device_width:
          type: string
          label: 'Device width'
        caption_trim:
          type: integer
          label: 'Caption shortening'
        caption_trim_length:
          type: integer
          label: 'Caption max length'
        compression_type:
          type: string
          label: 'Colorbox compression level'
