changedInput schema / properties / slides / items / properties / blocks / additionalProperties / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "level": {
- "description": "display = title and statement slides, h1 = slide heading, h2 = sub heading",
- "enum": [
- "display",
- "h1",
- "h2"
- ],
- "type": "string"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "text": {
- "description": "Heading. Wrap the key words in ==double equals== to highlight them. Aim for at most 70 characters",
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "heading",
- "type": "string"
- }
- },
- "required": [
- "type",
- "text",
- "level"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "size": {
- "enum": [
- "lead",
- "body",
- "small"
- ],
- "type": "string"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "text": {
- "description": "Paragraph. Aim for at most 260 characters",
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "text",
- "type": "string"
- }
- },
- "required": [
- "type",
- "text",
- "size"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "build": {
- "description": "together = all items with the block, items = one item per click",
- "enum": [
- "together",
- "items"
- ],
- "type": "string"
- },
- "items": {
- "items": {
- "description": "One point, a short sentence, no bullet character. Aim for at most 100 characters",
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 2,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "bullets",
- "type": "string"
- }
- },
- "required": [
- "type",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "decimals": {
- "maximum": 2,
- "minimum": 0,
- "type": "integer"
- },
- "detail": {
- "description": "Optional context or source. Aim for at most 90 characters",
- "minLength": 1,
- "type": "string"
- },
- "label": {
- "description": "What the number means. Aim for at most 48 characters",
- "minLength": 1,
- "type": "string"
- },
- "prefix": {
- "description": "e.g. $, €",
- "maxLength": 3,
- "type": "string"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "suffix": {
- "description": "e.g. %, x, M, k",
- "maxLength": 4,
- "type": "string"
- },
- "type": {
- "const": "stat",
- "type": "string"
- },
- "value": {
- "description": "The number itself, animated as a count up",
- "type": "number"
- }
- },
- "required": [
- "type",
- "value",
- "label"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "build": {
- "description": "together = all items with the block, items = one item per click",
- "enum": [
- "together",
- "items"
- ],
- "type": "string"
- },
- "items": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "decimals": {
- "maximum": 2,
- "minimum": 0,
- "type": "integer"
- },
- "detail": {
- "description": "Optional context or source. Aim for at most 90 characters",
- "minLength": 1,
- "type": "string"
- },
- "label": {
- "description": "What the number means. Aim for at most 48 characters",
- "minLength": 1,
- "type": "string"
- },
- "prefix": {
- "description": "e.g. $, €",
- "maxLength": 3,
- "type": "string"
- },
- "suffix": {
- "description": "e.g. %, x, M, k",
- "maxLength": 4,
- "type": "string"
- },
- "value": {
- "description": "The number itself, animated as a count up",
- "type": "number"
- }
- },
- "required": [
- "value",
- "label"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "minItems": 2,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "stats",
- "type": "string"
- }
- },
- "required": [
- "type",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "caption": {
- "description": "Source or footnote. Aim for at most 90 characters",
- "minLength": 1,
- "type": "string"
- },
- "categories": {
- "description": "X axis labels (column, line), rows (bar) or segments (donut)",
- "items": {
- "maxLength": 24,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 8,
- "minItems": 2,
- "type": "array"
- },
- "highlight": {
- "description": "Index of the category to draw in the accent color, the rest stays muted",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "kind": {
- "enum": [
- "column",
- "bar",
- "line",
- "donut"
- ],
- "type": "string"
- },
- "series": {
- "description": "One value per category. Donut takes exactly one series",
- "items": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "maxLength": 30,
- "minLength": 1,
- "type": "string"
- },
- "values": {
- "items": {
- "type": "number"
- },
- "type": "array"
- }
- },
- "required": [
- "name",
- "values"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "chart",
- "type": "string"
- },
- "unit": {
- "description": "Shown after values, e.g. %, $M",
- "maxLength": 6,
- "type": "string"
- }
- },
- "required": [
- "type",
- "kind",
- "categories",
- "series"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "alt": {
- "description": "What the image shows. Aim for at most 120 characters",
- "minLength": 1,
- "type": "string"
- },
- "assetId": {
- "minLength": 1,
- "type": "string"
- },
- "fit": {
- "enum": [
- "cover",
- "contain"
- ],
- "type": "string"
- },
- "focus": {
- "additionalProperties": false,
- "description": "Focal point for cover crops",
- "properties": {
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y"
- ],
- "type": "object"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "image",
- "type": "string"
- }
- },
- "required": [
- "type",
- "assetId",
- "alt",
- "fit"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "alt": {
- "minLength": 1,
- "type": "string"
- },
- "assetId": {
- "minLength": 1,
- "type": "string"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "logo",
- "type": "string"
- }
- },
- "required": [
- "type",
- "assetId",
- "alt"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "items": {
- "description": "Customer, partner or press logos",
- "items": {
- "additionalProperties": false,
- "properties": {
- "alt": {
- "minLength": 1,
- "type": "string"
- },
- "assetId": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "assetId",
- "alt"
- ],
- "type": "object"
- },
- "maxItems": 8,
- "minItems": 3,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "logos",
- "type": "string"
- }
- },
- "required": [
- "type",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "author": {
- "maxLength": 40,
- "minLength": 1,
- "type": "string"
- },
- "role": {
- "maxLength": 60,
- "type": "string"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "text": {
- "description": "The quote, without quotation marks. Aim for at most 200 characters",
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "quote",
- "type": "string"
- }
- },
- "required": [
- "type",
- "text",
- "author"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "build": {
- "description": "together = all items with the block, items = one item per click",
- "enum": [
- "together",
- "items"
- ],
- "type": "string"
- },
- "current": {
- "description": "Index of the milestone that represents now",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "items": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "label": {
- "description": "Date or phase, e.g. Q3 2026",
- "maxLength": 16,
- "minLength": 1,
- "type": "string"
- },
- "text": {
- "description": "Detail. Aim for at most 80 characters",
- "minLength": 1,
- "type": "string"
- },
- "title": {
- "description": "Milestone. Aim for at most 36 characters",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "label",
- "title"
- ],
- "type": "object"
- },
- "maxItems": 6,
- "minItems": 3,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "timeline",
- "type": "string"
- }
- },
- "required": [
- "type",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "people": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "bio": {
- "description": "One line of credibility. Aim for at most 80 characters",
- "minLength": 1,
- "type": "string"
- },
- "name": {
- "maxLength": 32,
- "minLength": 1,
- "type": "string"
- },
- "photoAssetId": {
- "type": "string"
- },
- "role": {
- "maxLength": 40,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "name",
- "role"
- ],
- "type": "object"
- },
- "maxItems": 6,
- "minItems": 1,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "team",
- "type": "string"
- }
- },
- "required": [
- "type",
- "people"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "build": {
- "description": "together = all items with the block, items = one item per click",
- "enum": [
- "together",
- "items"
- ],
- "type": "string"
- },
- "columns": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "highlight": {
- "description": "Our column, drawn with the accent",
- "type": "boolean"
- },
- "items": {
- "items": {
- "description": "Point. Aim for at most 60 characters",
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- },
- "title": {
- "maxLength": 28,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "title",
- "items"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "minItems": 2,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "comparison",
- "type": "string"
- }
- },
- "required": [
- "type",
- "columns"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "build": {
- "description": "together = all items with the block, items = one item per click",
- "enum": [
- "together",
- "items"
- ],
- "type": "string"
- },
- "items": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "text": {
- "description": "Card text. Aim for at most 110 characters",
- "minLength": 1,
- "type": "string"
- },
- "title": {
- "description": "Card title. Aim for at most 32 characters",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "title",
- "text"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "minItems": 2,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "cards",
- "type": "string"
- }
- },
- "required": [
- "type",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "columns": {
- "items": {
- "maxLength": 24,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 5,
- "minItems": 2,
- "type": "array"
- },
- "highlightColumn": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "rows": {
- "description": "Each row has one cell per column",
- "items": {
- "items": {
- "maxLength": 40,
- "type": "string"
- },
- "type": "array"
- },
- "maxItems": 6,
- "minItems": 1,
- "type": "array"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "type": {
- "const": "table",
- "type": "string"
- }
- },
- "required": [
- "type",
- "columns",
- "rows"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "detail": {
- "description": "Contact, link or next step. Aim for at most 80 characters",
- "minLength": 1,
- "type": "string"
- },
- "step": {
- "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
- "maximum": 5,
- "minimum": 0,
- "type": "integer"
- },
- "text": {
- "description": "The ask or call to action. ==Highlight== the amount or key words. Aim for at most 70 characters",
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "const": "cta",
- "type": "string"
- }
- },
- "required": [
- "type",
- "text"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "level": {
+ "description": "display = title and statement slides, h1 = slide heading, h2 = sub heading",
+ "enum": [
+ "display",
+ "h1",
+ "h2"
+ ],
+ "type": "string"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "text": {
+ "description": "Heading. Wrap the key words in ==double equals== to highlight them. Aim for at most 70 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "heading",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "text",
+ "level"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "size": {
+ "enum": [
+ "lead",
+ "body",
+ "small"
+ ],
+ "type": "string"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "text": {
+ "description": "Paragraph. Aim for at most 260 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "text",
+ "size"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "build": {
+ "description": "together = all items with the block, items = one item per click",
+ "enum": [
+ "together",
+ "items"
+ ],
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "description": "One point, a short sentence, no bullet character. Aim for at most 100 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 2,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "bullets",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "items"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "decimals": {
+ "maximum": 2,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "detail": {
+ "description": "Optional context or source. Aim for at most 90 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "label": {
+ "description": "What the number means. Aim for at most 48 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "description": "e.g. $, €",
+ "maxLength": 3,
+ "type": "string"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "suffix": {
+ "description": "e.g. %, x, M, k",
+ "maxLength": 4,
+ "type": "string"
+ },
+ "type": {
+ "const": "stat",
+ "type": "string"
+ },
+ "value": {
+ "description": "The number itself, animated as a count up",
+ "type": "number"
+ }
+ },
+ "required": [
+ "type",
+ "value",
+ "label"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "build": {
+ "description": "together = all items with the block, items = one item per click",
+ "enum": [
+ "together",
+ "items"
+ ],
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "decimals": {
+ "maximum": 2,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "detail": {
+ "description": "Optional context or source. Aim for at most 90 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "label": {
+ "description": "What the number means. Aim for at most 48 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "description": "e.g. $, €",
+ "maxLength": 3,
+ "type": "string"
+ },
+ "suffix": {
+ "description": "e.g. %, x, M, k",
+ "maxLength": 4,
+ "type": "string"
+ },
+ "value": {
+ "description": "The number itself, animated as a count up",
+ "type": "number"
+ }
+ },
+ "required": [
+ "value",
+ "label"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "minItems": 2,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "stats",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "items"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "axis": {
+ "description": "Show a value axis with gridlines. Only when the audience must read values off the chart, labels on the bars usually suffice (Tufte)",
+ "type": "boolean"
+ },
+ "caption": {
+ "description": "Source or footnote. Aim for at most 90 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "categories": {
+ "description": "X axis labels (column, stacked, waterfall, line), rows (bar) or segments (donut)",
+ "items": {
+ "maxLength": 24,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 10,
+ "minItems": 2,
+ "type": "array"
+ },
+ "decimals": {
+ "description": "Decimal places of the value labels. Omit it: labels keep the decimals the values have (at most 3), the same for every label",
+ "maximum": 3,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "estimate": {
+ "description": "Index of the first category that is an estimate or plan (IBCS): from there bars are hatched. Name those categories e.g. 2025E",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "highlight": {
+ "description": "Index of the category to draw in the accent color, the rest stays muted",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "kind": {
+ "description": "column, bar (horizontal), line, donut (share of a whole, at most 4 segments read well), stacked (columns split into series), waterfall (bridge: first and last categories are totals, the ones between are changes that add up)",
+ "enum": [
+ "column",
+ "bar",
+ "line",
+ "donut",
+ "stacked",
+ "waterfall"
+ ],
+ "type": "string"
+ },
+ "reference": {
+ "additionalProperties": false,
+ "description": "A horizontal line at a reference value: target, plan or average",
+ "properties": {
+ "label": {
+ "description": "What the line marks, e.g. Target, Plan, Average. Aim for at most 24 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "value",
+ "label"
+ ],
+ "type": "object"
+ },
+ "series": {
+ "description": "One value per category. Donut takes exactly one series",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "maxLength": 30,
+ "minLength": 1,
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "name",
+ "values"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "chart",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Shown after values, e.g. %, $M",
+ "maxLength": 6,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "kind",
+ "categories",
+ "series"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "alt": {
+ "description": "What the image shows. Aim for at most 120 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "assetId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "fit": {
+ "enum": [
+ "cover",
+ "contain"
+ ],
+ "type": "string"
+ },
+ "focus": {
+ "additionalProperties": false,
+ "description": "Focal point for cover crops",
+ "properties": {
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y"
+ ],
+ "type": "object"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "image",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "assetId",
+ "alt",
+ "fit"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "alt": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "assetId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "logo",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "assetId",
+ "alt"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "items": {
+ "description": "Customer, partner or press logos",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "alt": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "assetId": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "assetId",
+ "alt"
+ ],
+ "type": "object"
+ },
+ "maxItems": 8,
+ "minItems": 3,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "logos",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "items"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "author": {
+ "maxLength": 40,
+ "minLength": 1,
+ "type": "string"
+ },
+ "role": {
+ "maxLength": 60,
+ "type": "string"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "text": {
+ "description": "The quote, without quotation marks. Aim for at most 200 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "quote",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "text",
+ "author"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "build": {
+ "description": "together = all items with the block, items = one item per click",
+ "enum": [
+ "together",
+ "items"
+ ],
+ "type": "string"
+ },
+ "current": {
+ "description": "Index of the milestone that represents now",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "label": {
+ "description": "Date or phase, e.g. Q3 2026",
+ "maxLength": 16,
+ "minLength": 1,
+ "type": "string"
+ },
+ "text": {
+ "description": "Detail. Aim for at most 80 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "title": {
+ "description": "Milestone. Aim for at most 36 characters",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "title"
+ ],
+ "type": "object"
+ },
+ "maxItems": 6,
+ "minItems": 3,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "timeline",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "items"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "people": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "bio": {
+ "description": "One line of credibility. Aim for at most 80 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 32,
+ "minLength": 1,
+ "type": "string"
+ },
+ "photoAssetId": {
+ "type": "string"
+ },
+ "role": {
+ "maxLength": 40,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "role"
+ ],
+ "type": "object"
+ },
+ "maxItems": 6,
+ "minItems": 1,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "team",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "people"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "build": {
+ "description": "together = all items with the block, items = one item per click",
+ "enum": [
+ "together",
+ "items"
+ ],
+ "type": "string"
+ },
+ "columns": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "highlight": {
+ "description": "Our column, drawn with the accent",
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "description": "Point. Aim for at most 60 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "title": {
+ "maxLength": 28,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "items"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "minItems": 2,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "comparison",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "columns"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "build": {
+ "description": "together = all items with the block, items = one item per click",
+ "enum": [
+ "together",
+ "items"
+ ],
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "icon": {
+ "description": "An icon that carries the meaning of the card (the kind of risk, the step of a process). Give all cards one or none, and avoid the same icon on two cards unless they mean the same thing",
+ "enum": [
+ "risk",
+ "security",
+ "lock",
+ "time",
+ "people",
+ "person",
+ "goal",
+ "growth",
+ "decline",
+ "chart",
+ "money",
+ "global",
+ "speed",
+ "done",
+ "fail",
+ "layers",
+ "settings",
+ "data",
+ "cloud",
+ "delivery",
+ "company",
+ "document",
+ "search",
+ "mail",
+ "launch",
+ "milestone",
+ "link",
+ "balance",
+ "partnership",
+ "idea",
+ "package",
+ "route"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "description": "Card text. Aim for at most 110 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "title": {
+ "description": "Card title. Aim for at most 32 characters",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "text"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "minItems": 2,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "cards",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "items"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "columns": {
+ "items": {
+ "maxLength": 24,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 2,
+ "type": "array"
+ },
+ "highlightColumn": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "rows": {
+ "description": "Each row has one cell per column",
+ "items": {
+ "items": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "maxItems": 6,
+ "minItems": 1,
+ "type": "array"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "type": {
+ "const": "table",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "columns",
+ "rows"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "detail": {
+ "description": "Contact, link or next step. Aim for at most 80 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "step": {
+ "description": "Reveal step: 0 or omitted = with slide entrance, 1..5 = on click, in order",
+ "maximum": 5,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "text": {
+ "description": "The ask or call to action. ==Highlight== the amount or key words. Aim for at most 70 characters",
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "const": "cta",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ],
+ "type": "object"
+ }
+]