{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "file:///Spotlight.schema.json",
  "title": "Spotlight",
  "description": "A template with an image, title, content and two buttons.",
  "allOf": [{ "$ref": "file:///FxMSCommon.schema.json#/$defs/Message" }],
  "type": "object",
  "properties": {
    "content": {
      "type": "object",
      "properties": {
        "template": {
          "type": "string",
          "description": "Specify the layout template for the Spotlight",
          "const": "multistage"
        },
        "backdrop": {
          "type": "string",
          "description": "Background css behind modal content"
        },
        "logo": {
          "type": "object",
          "properties": {
            "imageURL": {
              "type": "string",
              "description": "URL for image to use with the content"
            },
            "imageId": {
              "type": "string",
              "description": "The ID for a remotely hosted image"
            },
            "size": {
              "type": "string",
              "description": "The logo size."
            }
          },
          "additionalProperties": true
        },
        "screens": {
          "type": "array",
          "description": "Collection of individual screen content"
        },
        "transitions": {
          "type": "boolean",
          "description": "Show transitions within and between screens"
        },
        "disableEscClose": {
          "type": "boolean",
          "description": "Don't allow the message to be dismissed using the ESC key - for limited use in Spotlight modals only when the message content clearly informs the user that a decision is required to proceed"
        },
        "write_in_microsurvey": {
          "type": "boolean",
          "description": "Set to true to apply the write-in microsurvey data policy. This is required for write-in microsurveys. Messages using the textarea tile should always set this to true. It prevents client_id from being recorded with any telemetry events for the message, recording a unique impression_id instead. It also sends the events on the more restrictive microsurvey ping instead of the messaging-system ping."
        },
        "disableHistoryUpdates": {
          "type": "boolean",
          "description": "Don't alter the browser session's history stack - used with messaging surfaces like Feature Callouts"
        },
        "startScreen": {
          "type": "integer",
          "description": "Index of first screen to show from message, defaulting to 0"
        },
        "no-rdm": {
          "type": "boolean",
          "description": "If true, prevents the spotlight from entering responsive design mode at widths less than 800px"
        }
      },
      "additionalProperties": true
    },
    "template": {
      "type": "string",
      "description": "Specify whether the surface is shown as a Spotlight modal or an in-surface Feature Callout dialog",
      "enum": ["spotlight", "feature_callout"]
    }
  },
  "additionalProperties": true,
  "required": ["targeting"]
}
