diff options
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.json | 170 |
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"] +} |