summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/content-src/asrouter/templates/OnboardingMessage/Spotlight.schema.json
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/newtab/content-src/asrouter/templates/OnboardingMessage/Spotlight.schema.json')
-rw-r--r--browser/components/newtab/content-src/asrouter/templates/OnboardingMessage/Spotlight.schema.json170
1 files changed, 170 insertions, 0 deletions
diff --git a/browser/components/newtab/content-src/asrouter/templates/OnboardingMessage/Spotlight.schema.json b/browser/components/newtab/content-src/asrouter/templates/OnboardingMessage/Spotlight.schema.json
new file mode 100644
index 0000000000..bb79e46f7f
--- /dev/null
+++ b/browser/components/newtab/content-src/asrouter/templates/OnboardingMessage/Spotlight.schema.json
@@ -0,0 +1,170 @@
+{
+ "$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",
+ "enum": ["logo-and-content", "multistage"]
+ },
+ "backdrop": {
+ "type": "string",
+ "description": "Background css behind modal content"
+ },
+ "logoImageURL": {
+ "type": "string",
+ "format": "uri",
+ "description": "(Deprecated by logo.imageURL)"
+ },
+ "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
+ },
+ "body": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
+ "description": "The title shown in the Spotlight message"
+ }
+ },
+ "required": ["label"]
+ },
+ "text": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
+ "description": "The content shown in the Spotlight message"
+ }
+ },
+ "required": ["label"]
+ },
+ "primary": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
+ "description": "The label for the primary button"
+ },
+ "action": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Action dispatched by the button."
+ },
+ "data": {
+ "type": "object"
+ }
+ },
+ "required": ["type"],
+ "additionalProperties": true
+ }
+ },
+ "required": ["label", "action"]
+ },
+ "secondary": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
+ "description": "The label for the secondary button"
+ }
+ },
+ "required": ["label", "action"]
+ }
+ },
+ "additionalProperties": true,
+ "required": ["title", "text", "primary", "secondary"]
+ },
+ "extra": {
+ "type": "object",
+ "properties": {
+ "expanded": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "$ref": "file:///FxMSCommon.schema.json#/$defs/localizableText",
+ "description": "The label for the secondary button"
+ }
+ },
+ "required": ["label"]
+ }
+ },
+ "additionalProperties": true
+ },
+ "screens": {
+ "type": "array",
+ "description": "Collection of individual screen content"
+ },
+ "transitions": {
+ "type": "boolean",
+ "description": "Show transitions within and between screens"
+ },
+ "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"
+ }
+ },
+ "additionalProperties": true,
+ "if": {
+ "properties": {
+ "logoImageURL": { "type": "null" }
+ }
+ },
+ "then": {
+ "properties": {
+ "logo": {
+ "oneOf": [
+ {
+ "required": ["imageURL"]
+ },
+ {
+ "required": ["imageId"]
+ }
+ ]
+ }
+ }
+ },
+ "required": ["template"]
+ },
+ "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"]
+}