summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/content-src/asrouter/templates/SimpleBelowSearchSnippet/SimpleBelowSearchSnippet.schema.json
blob: 06368257f053b87290eee2eab61b16b684fae4f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
  "title": "SimpleBelowSearchSnippet",
  "description": "A simple template with an icon, rich text and an optional button. It gets inserted below the Activity Stream search box.",
  "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": {
    "title": {
      "allOf": [
        { "$ref": "#/definitions/plainText" },
        { "description": "Snippet title displayed before snippet text" }
      ]
    },
    "text": {
      "allOf": [
        { "$ref": "#/definitions/richText" },
        {
          "description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br"
        }
      ]
    },
    "icon": {
      "type": "string",
      "description": "Snippet icon. 64x64px. SVG or PNG preferred."
    },
    "icon_dark_theme": {
      "type": "string",
      "description": "Snippet icon. Dark theme variant. 64x64px. SVG or PNG preferred."
    },
    "icon_alt_text": {
      "type": "string",
      "description": "Alt text describing icon for screen readers",
      "default": ""
    },
    "block_button_text": {
      "type": "string",
      "description": "Tooltip text used for dismiss button.",
      "default": "Remove this"
    },
    "button_action": {
      "type": "string",
      "description": "The type of action the button should trigger."
    },
    "button_url": {
      "allOf": [
        { "$ref": "#/definitions/link_url" },
        { "description": "A url, button_label links to this" }
      ]
    },
    "button_action_args": {
      "description": "Additional parameters for button action, example which specific menu the button should open"
    },
    "button_label": {
      "allOf": [
        { "$ref": "#/definitions/plainText" },
        {
          "description": "Text for a button next to main snippet text that links to button_url. Requires button_url."
        }
      ]
    },
    "button_color": {
      "type": "string",
      "description": "The text color of the button. Valid CSS color."
    },
    "button_background_color": {
      "type": "string",
      "description": "The background color of the button. Valid CSS color."
    },
    "do_not_autoblock": {
      "type": "boolean",
      "description": "Used to prevent blocking the snippet after the CTA link has been clicked"
    },
    "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."
        },
        "args": {
          "type": "string",
          "description": "Additional parameters for link action, example which specific menu the button should open"
        }
      }
    }
  },
  "additionalProperties": false,
  "required": ["text"],
  "dependencies": {
    "button_action": ["button_label"],
    "button_url": ["button_label"],
    "button_color": ["button_label"],
    "button_background_color": ["button_label"]
  }
}