{ "title": "SubmitFormSnippet", "description": "A template with two states: a SimpleSnippet and another that contains a form", "version": "1.2.0", "type": "object", "definitions": { "plainText": { "description": "Plain text (no HTML allowed)", "type": "string" }, "richText": { "description": "Text with HTML subset allowed: i, b, u, strong, em, br", "type": "string" }, "link_url": { "description": "Target for links or buttons", "type": "string", "format": "uri" } }, "properties": { "locale": { "type": "string", "description": "Two to five character string for the locale code" }, "country": { "type": "string", "description": "Two character string for the country code (used for SMS)" }, "scene1_title": { "allof": [ { "$ref": "#/definitions/plainText" }, { "description": "snippet title displayed before snippet text" } ] }, "scene1_text": { "allOf": [ { "$ref": "#/definitions/richText" }, { "description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br" } ] }, "scene1_section_title_icon": { "type": "string", "description": "Section title icon for scene 1. 16x16px. SVG or PNG preferred. scene1_section_title_text must also be specified to display." }, "scene1_section_title_icon_dark_theme": { "type": "string", "description": "Section title icon for scene 1, dark theme variant. 16x16px. SVG or PNG preferred. scene1_section_title_text must also be specified to display." }, "scene1_section_title_text": { "type": "string", "description": "Section title text for scene 1. scene1_section_title_icon must also be specified to display." }, "scene1_section_title_url": { "allOf": [ { "$ref": "#/definitions/link_url" }, { "description": "A url, scene1_section_title_text links to this" } ] }, "scene2_title": { "allOf": [ { "$ref": "#/definitions/plainText" }, { "description": "Title displayed before text in scene 2. Should be plain text." } ] }, "scene2_text": { "allOf": [ { "$ref": "#/definitions/richText" }, { "description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br" } ] }, "scene1_icon": { "type": "string", "description": "Snippet icon. 64x64px. SVG or PNG preferred." }, "scene1_icon_dark_theme": { "type": "string", "description": "Snippet icon. Dark theme variant. 64x64px. SVG or PNG preferred." }, "scene1_icon_alt_text": { "type": "string", "description": "Alt text describing scene1 icon for screen readers", "default": "" }, "scene1_title_icon": { "type": "string", "description": "Small icon that shows up before the title / text. 16x16px. SVG or PNG preferred. Grayscale." }, "scene1_title_icon_dark_theme": { "type": "string", "description": "Small icon that shows up before the title / text. Dark theme variant. 16x16px. SVG or PNG preferred. Grayscale." }, "scene1_title_icon_alt_text": { "type": "string", "description": "Alt text describing scene1 title icon for screen readers", "default": "" }, "form_action": { "type": "string", "description": "Endpoint to submit form data." }, "success_title": { "type": "string", "description": "(send to device) Title shown before text on successful registration." }, "success_text": { "type": "string", "description": "Message shown on successful registration." }, "error_text": { "type": "string", "description": "Message shown if registration failed." }, "scene2_email_placeholder_text": { "type": "string", "description": "Value to show while input is empty." }, "scene2_input_placeholder": { "type": "string", "description": "(send to device) Value to show while input is empty." }, "scene2_button_label": { "type": "string", "description": "Label for form submit button" }, "scene2_privacy_html": { "type": "string", "description": "Information about how the form data is used." }, "scene2_disclaimer_html": { "type": "string", "description": "(send to device) Html for disclaimer and link underneath input box." }, "scene2_dismiss_button_text": { "type": "string", "description": "Label for the dismiss button when the sign-up form is expanded." }, "scene2_icon": { "type": "string", "description": "(send to device) Image to display above the form. 98x98px. SVG or PNG preferred." }, "scene2_icon_dark_theme": { "type": "string", "description": "(send to device) Image to display above the form. Dark theme variant. 98x98px. SVG or PNG preferred." }, "scene2_icon_alt_text": { "type": "string", "description": "Alt text describing scene2 icon for screen readers", "default": "" }, "scene2_newsletter": { "type": "string", "description": "Newsletter/basket id user is subscribing to. Must be a value from the 'Slug' column here: https://basket.mozilla.org/news/. Default 'mozilla-foundation'." }, "hidden_inputs": { "type": "object", "description": "Each entry represents a hidden input, key is used as value for the name property." }, "scene1_button_label": { "allOf": [ { "$ref": "#/definitions/plainText" }, { "description": "Text for a button next to main snippet text that links to button_url. Requires button_url." } ] }, "scene1_button_color": { "type": "string", "description": "The text color of the button. Valid CSS color." }, "scene1_button_background_color": { "type": "string", "description": "The background color of the button. Valid CSS color." }, "retry_button_label": { "allOf": [ { "$ref": "#/definitions/plainText" }, { "description": "Text for the button in the event of a submission error/failure." } ], "default": "Try again" }, "do_not_autoblock": { "type": "boolean", "description": "Used to prevent blocking the snippet after the CTA (link or button) has been clicked" }, "include_sms": { "type": "boolean", "description": "(send to device) Allow users to send an SMS message with the form?" }, "message_id_sms": { "type": "string", "description": "(send to device) Newsletter/basket id representing the SMS message to be sent." }, "message_id_email": { "type": "string", "description": "(send to device) Newsletter/basket id representing the email message to be sent. Must be a value from the 'Slug' column here: https://basket.mozilla.org/news/." }, "utm_campaign": { "type": "string", "description": "(fxa) Value to pass through to GA as utm_campaign." }, "utm_term": { "type": "string", "description": "(fxa) Value to pass through to GA as utm_term." }, "links": { "additionalProperties": { "url": { "allOf": [ { "$ref": "#/definitions/link_url" }, { "description": "The url where the link points to." } ] }, "metric": { "type": "string", "description": "Custom event name sent with telemetry event." } } } }, "additionalProperties": false, "required": ["scene1_text", "scene2_text", "scene1_button_label"], "dependencies": { "scene1_button_color": ["scene1_button_label"], "scene1_button_background_color": ["scene1_button_label"] } }