{
  "$id": "file:///ProtectionsPanelMessage.schema.json",
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "additionalProperties": true,
  "allOf": [
    {
      "$ref": "file:///FxMSCommon.schema.json#/$defs/Message"
    }
  ],
  "description": "A message shown in the protections panel.",
  "properties": {
    "content": {
      "additionalProperties": false,
      "dependantSchemas": {
        "cta_type": [
          "link_text"
        ],
        "cta_url": [
          "link_text"
        ],
        "cta_where": [
          "link_text"
        ],
        "link_text": [
          "cta_type",
          "cta_url"
        ]
      },
      "properties": {
        "body": {
          "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
          "description": "The body of the message."
        },
        "cta_type": {
          "description": "The type of URL open action.",
          "enum": [
            "OPEN_URL",
            "OPEN_PROTECTION_REPORT",
            "OPEN_ABOUT_PAGE"
          ],
          "type": "string"
        },
        "cta_url": {
          "description": "The URL to open when the call to action is clicked",
          "format": "moz-url-format",
          "type": "string"
        },
        "cta_where": {
          "description": "How to open the cta.",
          "enum": [
            "current",
            "tabshifted",
            "tab",
            "save",
            "window"
          ],
          "type": "string"
        },
        "link_text": {
          "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
          "description": "The text of the call to action link."
        },
        "title": {
          "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
          "description": "The message title."
        }
      },
      "required": [
        "title",
        "body"
      ],
      "type": "object"
    },
    "template": {
      "const": "protections_panel",
      "type": "string"
    },
    "trigger": {
      "const": {
        "id": "protectionsPanelOpen"
      },
      "description": "An action to trigger potentially showing the message. The action ID `protectionsPanelOpen` is required."
    }
  },
  "required": [
    "content",
    "template",
    "trigger"
  ],
  "title": "ProtectionsPanelMessage",
  "type": "object"
}