@openpresentation/opf 0.11.4 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/audit.d.ts +156 -0
- package/dist/audit.js +7 -0
- package/dist/{catalogs-CUClB3nl.d.ts → catalogs-BnI7JKcn.d.ts} +3 -3
- package/dist/catalogs.d.ts +2 -2
- package/dist/catalogs.js +2 -1
- package/dist/{chunk-KJKASEPE.js → chunk-4LAM3N6S.js} +753 -42
- package/dist/chunk-6LZK2IZB.js +1690 -0
- package/dist/{chunk-NSVVQ52O.js → chunk-AUM5MXBR.js} +8 -6
- package/dist/{chunk-AEUSVEUY.js → chunk-E34DJ5LL.js} +50 -14
- package/dist/chunk-FYLJVF7X.js +18448 -0
- package/dist/{chunk-HJL64ETN.js → chunk-GJKJL4YY.js} +14 -0
- package/dist/{chunk-3H2U7FDR.js → chunk-HOBSL7AJ.js} +1867 -247
- package/dist/chunk-JKVKYVWL.js +1332 -0
- package/dist/{chunk-3OJN7QAW.js → chunk-MWPMJE6P.js} +18 -4
- package/dist/chunk-RUC7L5DJ.js +261 -0
- package/dist/chunk-S5W34SIJ.js +1 -0
- package/dist/chunk-V2537ENL.js +198 -0
- package/dist/{chunk-RXNFDGPC.js → chunk-WXSPETQ6.js} +311 -40
- package/dist/{composition-Dl-d9FRj.d.ts → composition-DWbCiMwF.d.ts} +559 -10
- package/dist/composition.d.ts +1 -1
- package/dist/composition.js +2 -1
- package/dist/convert.d.ts +261 -0
- package/dist/convert.js +1107 -0
- package/dist/diff.d.ts +145 -0
- package/dist/diff.js +604 -0
- package/dist/docs.js +72 -18
- package/dist/examples.d.ts +1 -1
- package/dist/examples.js +112 -112
- package/dist/font-policy.d.ts +15 -0
- package/dist/font-policy.js +1 -1
- package/dist/format.d.ts +20 -0
- package/dist/format.js +83 -0
- package/dist/index.d.ts +173 -24
- package/dist/index.js +926 -262
- package/dist/lint.d.ts +4 -4
- package/dist/lint.js +6 -5
- package/dist/markdown.d.ts +74 -0
- package/dist/markdown.js +1941 -0
- package/dist/pagination.d.ts +1 -1
- package/dist/pagination.js +6 -5
- package/dist/patch.d.ts +99 -0
- package/dist/patch.js +6 -0
- package/dist/{presentation-j5PVrqfV.d.ts → presentation-DcF-MZcz.d.ts} +452 -17
- package/dist/repo-readme.js +1 -1
- package/dist/{schemas-X_NniU4A.d.ts → schemas-BSjlG8-R.d.ts} +28 -0
- package/dist/schemas.d.ts +1 -1
- package/dist/schemas.js +1 -1
- package/dist/spec/catalogs/audiences/customers.json +5 -1
- package/dist/spec/catalogs/audiences/executives.json +5 -1
- package/dist/spec/catalogs/audiences/index.json +20 -8
- package/dist/spec/catalogs/audiences/investors.json +5 -1
- package/dist/spec/catalogs/audiences/marketing-team.json +5 -1
- package/dist/spec/catalogs/audiences/regulators.json +5 -1
- package/dist/spec/catalogs/audiences/sales-team.json +5 -1
- package/dist/spec/catalogs/manifest.json +2 -2
- package/dist/spec/reference/engine-defaults.json +1 -1
- package/dist/spec/reference/font-policy.json +311 -40
- package/dist/spec/reference/font-policy.schema.json +40 -0
- package/dist/spec/reference/symbol-font-encodings.json +18354 -0
- package/dist/spec/reference/symbol-font-encodings.schema.json +156 -0
- package/dist/spec/schemas/audience.schema.json +7 -7
- package/dist/spec/schemas/narrative.schema.json +1 -1
- package/dist/spec/schemas/opf.schema.json +597 -28
- package/dist/spec-files.d.ts +1 -1
- package/dist/spec-files.js +1 -1
- package/dist/symbol-font-encodings.d.ts +128 -0
- package/dist/symbol-font-encodings.js +1 -0
- package/dist/types.d.ts +4 -4
- package/dist/validator-DfG9yxba.d.ts +172 -0
- package/dist/validator.d.ts +4 -36
- package/dist/validator.js +5 -4
- package/package.json +32 -3
- package/dist/chunk-FDCWQHWO.js +0 -1366
|
@@ -75,15 +75,15 @@
|
|
|
75
75
|
"minItems": 1
|
|
76
76
|
}
|
|
77
77
|
],
|
|
78
|
-
"description": "Intended audiences for the presentation. Accepts either:\n- A single string shorthand: free-form description ('Series B investors'), an audiences catalog id ('
|
|
78
|
+
"description": "Intended audiences for the presentation. Accepts either:\n- A single string shorthand: free-form description ('Series B investors'), an audiences catalog id ('executive'), an HTTPS URL, or a 'pkg:' reference.\n- An array of string shorthands and/or inline Audience objects for custom audience metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-audience/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.audiences.records[] → catalogs.audiences.source → default catalog at https://www.pptx.gallery/audiences.",
|
|
79
79
|
"examples": [
|
|
80
|
-
"
|
|
80
|
+
"executive",
|
|
81
81
|
"Biology Students and Wildlife Enthusiasts",
|
|
82
|
-
["
|
|
82
|
+
["executive"],
|
|
83
83
|
["board", "c-suite"],
|
|
84
84
|
["Series B investors", "https://acme.com/decks/audiences/acme-board.json"],
|
|
85
85
|
[
|
|
86
|
-
{ "id": "
|
|
86
|
+
{ "id": "executive", "attentionBudgetMinutes": 20 },
|
|
87
87
|
{ "name": "Regional Sales Leaders", "seniority": "director", "technicalFluency": "medium", "decisionPower": "advisory" }
|
|
88
88
|
]
|
|
89
89
|
]
|
|
@@ -178,7 +178,12 @@
|
|
|
178
178
|
},
|
|
179
179
|
"variables": {
|
|
180
180
|
"$ref": "#/$defs/Variables",
|
|
181
|
-
"description": "Optional named
|
|
181
|
+
"description": "Optional named variables: deck colors referenced as 'var:<id>' (the original use), and typed content variables (text, number, date, image, url, list) referenced inline as '{{<id>}}' or whole as 'var:<id>'. Variables are what makes a deck a fillable template when combined with 'template': true. Color variables complement the color scheme: scheme slots and roles stay the primary vocabulary; variables cover deck-specific named colors that have no scheme slot."
|
|
182
|
+
},
|
|
183
|
+
"template": {
|
|
184
|
+
"type": "boolean",
|
|
185
|
+
"description": "Marks this document as a template: an incomplete OPF file. A template declares variables (top-level 'variables') and references them from content, and may leave required variables unfilled; validation then reports the unfilled variables instead of failing, and previews and exports use each variable's 'example'. Filling a template (resolveVariables, or 'opf fill') returns a normal deck with this marker removed. Absent or false: a normal deck, where an unfilled required variable is an error. See docs/templates-and-variables.md.",
|
|
186
|
+
"default": false
|
|
182
187
|
},
|
|
183
188
|
"narrative": {
|
|
184
189
|
"oneOf": [
|
|
@@ -202,6 +207,12 @@
|
|
|
202
207
|
"minItems": 1,
|
|
203
208
|
"description": "Ordered array of slides that make up the presentation."
|
|
204
209
|
},
|
|
210
|
+
"references": {
|
|
211
|
+
"type": "array",
|
|
212
|
+
"items": { "$ref": "#/$defs/Reference" },
|
|
213
|
+
"description": "Sources that text runs cite with 'cite'. Ids are unique. A cited reference is listed in the footnote area of every slide that cites it, with a marker number assigned per deck in order of first use; a reference no run cites is a lint warning (opf/unused-reference). referencesSlide() turns the cited references into an ordinary list slide.",
|
|
214
|
+
"examples": [[{ "id": "gartner-2026", "text": "Gartner, Market Guide for Presentation Tooling, 2026", "url": "https://www.gartner.com" }]]
|
|
215
|
+
},
|
|
205
216
|
"assets": {
|
|
206
217
|
"$ref": "#/$defs/Assets",
|
|
207
218
|
"description": "Optional reusable asset registry for images, data files, videos, documents, fonts, and other resources referenced elsewhere in the deck via 'asset:<id>' strings."
|
|
@@ -286,7 +297,7 @@
|
|
|
286
297
|
"type": "string",
|
|
287
298
|
"pattern": "^[a-z][a-z0-9-]*$",
|
|
288
299
|
"description": "Optional audiences catalog id to resolve before applying inline overrides.",
|
|
289
|
-
"examples": ["
|
|
300
|
+
"examples": ["executive", "board", "engineering-team"]
|
|
290
301
|
},
|
|
291
302
|
"name": {
|
|
292
303
|
"type": "string",
|
|
@@ -686,7 +697,7 @@
|
|
|
686
697
|
"type": "array",
|
|
687
698
|
"items": { "type": "string" },
|
|
688
699
|
"description": "Audiences this narrative works well for. Free-form strings or 'audiences' catalog ids.",
|
|
689
|
-
"examples": [["
|
|
700
|
+
"examples": [["executive", "investor", "customer"]]
|
|
690
701
|
},
|
|
691
702
|
"durationRange": {
|
|
692
703
|
"type": "object",
|
|
@@ -1372,38 +1383,387 @@
|
|
|
1372
1383
|
"propertyNames": {
|
|
1373
1384
|
"pattern": "^[a-z][a-z0-9-]*$"
|
|
1374
1385
|
},
|
|
1375
|
-
"additionalProperties": {
|
|
1376
|
-
|
|
1386
|
+
"additionalProperties": {
|
|
1387
|
+
"$ref": "#/$defs/Variable"
|
|
1388
|
+
},
|
|
1389
|
+
"description": "Named variables, keyed by stable kebab-case id. A variable is a typed, named value the deck declares once and uses in many places: a color ('var:<id>' in color fields, the original use), or content that fills a template (text, number, date, image, url, list). Content is referenced inline as '{{<id>}}' inside any string, or whole as 'var:<id>' in a field of the matching type; '\\{{' writes a literal '{{'. A hex string is shorthand for a color variable. A variable with no 'value' is unfilled: expected in a template (root 'template': true), an error in a normal deck. Engines resolve variables with resolveVariables() before composing, rendering or exporting, so a template plus its values previews and exports exactly like the equivalent hand-written deck. See docs/templates-and-variables.md.",
|
|
1377
1390
|
"examples": [
|
|
1378
|
-
{
|
|
1391
|
+
{
|
|
1392
|
+
"risk": "#B42318",
|
|
1393
|
+
"highlight": {
|
|
1394
|
+
"type": "color",
|
|
1395
|
+
"value": "#0F4C81",
|
|
1396
|
+
"description": "Brand highlight for emphasized runs."
|
|
1397
|
+
}
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"client-name": {
|
|
1401
|
+
"type": "text",
|
|
1402
|
+
"example": "Acme Corp",
|
|
1403
|
+
"description": "Customer the deck is for."
|
|
1404
|
+
},
|
|
1405
|
+
"revenue": {
|
|
1406
|
+
"type": "number",
|
|
1407
|
+
"example": 1250000,
|
|
1408
|
+
"format": "$#,##0"
|
|
1409
|
+
},
|
|
1410
|
+
"review-date": {
|
|
1411
|
+
"type": "date",
|
|
1412
|
+
"example": "2026-10-01"
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1379
1415
|
]
|
|
1380
1416
|
},
|
|
1381
1417
|
"Variable": {
|
|
1382
1418
|
"oneOf": [
|
|
1383
|
-
{ "$ref": "#/$defs/HexColor" },
|
|
1384
1419
|
{
|
|
1385
|
-
"
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
"
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1420
|
+
"$ref": "#/$defs/HexColor"
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"$ref": "#/$defs/ColorVariable"
|
|
1424
|
+
},
|
|
1425
|
+
{
|
|
1426
|
+
"$ref": "#/$defs/TextVariable"
|
|
1427
|
+
},
|
|
1428
|
+
{
|
|
1429
|
+
"$ref": "#/$defs/NumberVariable"
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"$ref": "#/$defs/DateVariable"
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"$ref": "#/$defs/ImageVariable"
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
"$ref": "#/$defs/UrlVariable"
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
"$ref": "#/$defs/ListVariable"
|
|
1442
|
+
}
|
|
1443
|
+
],
|
|
1444
|
+
"description": "A single named variable: a hex string (shorthand for a color variable) or an object whose 'type' is color, text, number, date, image, url or list. 'value' is the current value and is optional: a variable with no value is unfilled, which a template allows and a normal deck does not. 'example' only illustrates the slot (fill forms, template previews) and never reaches output.",
|
|
1445
|
+
"examples": [
|
|
1446
|
+
"#B42318",
|
|
1447
|
+
{
|
|
1448
|
+
"type": "color",
|
|
1449
|
+
"value": "#B42318",
|
|
1450
|
+
"description": "Risk emphasis."
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
"type": "text",
|
|
1454
|
+
"example": "Acme Corp"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"type": "list",
|
|
1458
|
+
"value": [
|
|
1459
|
+
"Faster",
|
|
1460
|
+
"Cheaper"
|
|
1461
|
+
]
|
|
1462
|
+
}
|
|
1463
|
+
]
|
|
1464
|
+
},
|
|
1465
|
+
"ColorVariable": {
|
|
1466
|
+
"type": "object",
|
|
1467
|
+
"required": [
|
|
1468
|
+
"type"
|
|
1469
|
+
],
|
|
1470
|
+
"additionalProperties": false,
|
|
1471
|
+
"properties": {
|
|
1472
|
+
"type": {
|
|
1473
|
+
"type": "string",
|
|
1474
|
+
"const": "color",
|
|
1475
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1476
|
+
},
|
|
1477
|
+
"value": {
|
|
1478
|
+
"$ref": "#/$defs/HexColor",
|
|
1479
|
+
"description": "Hex color this variable resolves to."
|
|
1480
|
+
},
|
|
1481
|
+
"required": {
|
|
1482
|
+
"type": "boolean",
|
|
1483
|
+
"default": true,
|
|
1484
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1485
|
+
},
|
|
1486
|
+
"label": {
|
|
1487
|
+
"type": "string",
|
|
1488
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1489
|
+
},
|
|
1490
|
+
"description": {
|
|
1491
|
+
"type": "string",
|
|
1492
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1493
|
+
},
|
|
1494
|
+
"example": {
|
|
1495
|
+
"$ref": "#/$defs/HexColor",
|
|
1496
|
+
"description": "Illustrative color shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1499
|
+
"description": "A named color. Content color fields reference it as 'var:<id>'. Colors resolve at render time through the ordinary color-reference path, so a color variable keeps working as before."
|
|
1500
|
+
},
|
|
1501
|
+
"TextVariable": {
|
|
1502
|
+
"type": "object",
|
|
1503
|
+
"required": [
|
|
1504
|
+
"type"
|
|
1505
|
+
],
|
|
1506
|
+
"additionalProperties": false,
|
|
1507
|
+
"properties": {
|
|
1508
|
+
"type": {
|
|
1509
|
+
"type": "string",
|
|
1510
|
+
"const": "text",
|
|
1511
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1512
|
+
},
|
|
1513
|
+
"value": {
|
|
1514
|
+
"oneOf": [
|
|
1515
|
+
{
|
|
1516
|
+
"type": "string"
|
|
1393
1517
|
},
|
|
1394
|
-
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1518
|
+
{
|
|
1519
|
+
"type": "array",
|
|
1520
|
+
"items": {
|
|
1521
|
+
"$ref": "#/$defs/TextRun"
|
|
1522
|
+
}
|
|
1523
|
+
}
|
|
1524
|
+
],
|
|
1525
|
+
"description": "Text this variable resolves to: a plain string, or TextRun[] for rich text."
|
|
1526
|
+
},
|
|
1527
|
+
"required": {
|
|
1528
|
+
"type": "boolean",
|
|
1529
|
+
"default": true,
|
|
1530
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1531
|
+
},
|
|
1532
|
+
"label": {
|
|
1533
|
+
"type": "string",
|
|
1534
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1535
|
+
},
|
|
1536
|
+
"description": {
|
|
1537
|
+
"type": "string",
|
|
1538
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1539
|
+
},
|
|
1540
|
+
"example": {
|
|
1541
|
+
"oneOf": [
|
|
1542
|
+
{
|
|
1543
|
+
"type": "string"
|
|
1397
1544
|
},
|
|
1398
|
-
|
|
1399
|
-
"type": "
|
|
1400
|
-
"
|
|
1545
|
+
{
|
|
1546
|
+
"type": "array",
|
|
1547
|
+
"items": {
|
|
1548
|
+
"$ref": "#/$defs/TextRun"
|
|
1549
|
+
}
|
|
1401
1550
|
}
|
|
1402
|
-
|
|
1551
|
+
],
|
|
1552
|
+
"description": "Illustrative text shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1553
|
+
}
|
|
1554
|
+
},
|
|
1555
|
+
"description": "Text content. Plain string or rich TextRun[]. Insert it inline as '{{<id>}}' inside any string (rich text is flattened to plain text there), or reference it whole as 'var:<id>' in a field that accepts string or TextRun[] (the rich runs are kept)."
|
|
1556
|
+
},
|
|
1557
|
+
"NumberVariable": {
|
|
1558
|
+
"type": "object",
|
|
1559
|
+
"required": [
|
|
1560
|
+
"type"
|
|
1561
|
+
],
|
|
1562
|
+
"additionalProperties": false,
|
|
1563
|
+
"properties": {
|
|
1564
|
+
"type": {
|
|
1565
|
+
"type": "string",
|
|
1566
|
+
"const": "number",
|
|
1567
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1568
|
+
},
|
|
1569
|
+
"value": {
|
|
1570
|
+
"type": "number",
|
|
1571
|
+
"description": "Number this variable resolves to."
|
|
1572
|
+
},
|
|
1573
|
+
"required": {
|
|
1574
|
+
"type": "boolean",
|
|
1575
|
+
"default": true,
|
|
1576
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1577
|
+
},
|
|
1578
|
+
"label": {
|
|
1579
|
+
"type": "string",
|
|
1580
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1581
|
+
},
|
|
1582
|
+
"description": {
|
|
1583
|
+
"type": "string",
|
|
1584
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1585
|
+
},
|
|
1586
|
+
"example": {
|
|
1587
|
+
"type": "number",
|
|
1588
|
+
"description": "Illustrative number shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1589
|
+
},
|
|
1590
|
+
"format": {
|
|
1591
|
+
"type": "string",
|
|
1592
|
+
"description": "Display pattern used by '{{<id>}}'. A literal prefix, a numeric part of '#', '0', ',' and '.', and a literal suffix. '0' pads digits, '#' is optional, ',' groups thousands, digits after '.' fix the decimals ('0' required, '#' optional), and a '%' in the suffix scales by 100. English separators only. Absent: the shortest decimal form.",
|
|
1593
|
+
"examples": [
|
|
1594
|
+
"#,##0",
|
|
1595
|
+
"0.0",
|
|
1596
|
+
"$#,##0.00",
|
|
1597
|
+
"0.#%",
|
|
1598
|
+
"#,##0.0M"
|
|
1599
|
+
]
|
|
1403
1600
|
}
|
|
1601
|
+
},
|
|
1602
|
+
"description": "A number. '{{<id>}}' inserts it as text using 'format'; 'var:<id>' as a whole field supplies the number itself (chart values, font sizes)."
|
|
1603
|
+
},
|
|
1604
|
+
"DateVariable": {
|
|
1605
|
+
"type": "object",
|
|
1606
|
+
"required": [
|
|
1607
|
+
"type"
|
|
1404
1608
|
],
|
|
1405
|
-
"
|
|
1406
|
-
"
|
|
1609
|
+
"additionalProperties": false,
|
|
1610
|
+
"properties": {
|
|
1611
|
+
"type": {
|
|
1612
|
+
"type": "string",
|
|
1613
|
+
"const": "date",
|
|
1614
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1615
|
+
},
|
|
1616
|
+
"value": {
|
|
1617
|
+
"type": "string",
|
|
1618
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
1619
|
+
"description": "ISO calendar date (YYYY-MM-DD) this variable resolves to."
|
|
1620
|
+
},
|
|
1621
|
+
"required": {
|
|
1622
|
+
"type": "boolean",
|
|
1623
|
+
"default": true,
|
|
1624
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1625
|
+
},
|
|
1626
|
+
"label": {
|
|
1627
|
+
"type": "string",
|
|
1628
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1629
|
+
},
|
|
1630
|
+
"description": {
|
|
1631
|
+
"type": "string",
|
|
1632
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1633
|
+
},
|
|
1634
|
+
"example": {
|
|
1635
|
+
"type": "string",
|
|
1636
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
1637
|
+
"description": "Illustrative ISO date shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1638
|
+
},
|
|
1639
|
+
"format": {
|
|
1640
|
+
"type": "string",
|
|
1641
|
+
"description": "Date display pattern, the same LDML-style tokens as header/footer dateFormat: yyyy, yy, MMMM, MMM, MM, M, dd, d, EEEE, EEE and quoted literals. English names. Default 'MMMM d, yyyy'.",
|
|
1642
|
+
"examples": [
|
|
1643
|
+
"MMMM d, yyyy",
|
|
1644
|
+
"dd MMM yyyy",
|
|
1645
|
+
"M/d/yyyy",
|
|
1646
|
+
"EEEE, MMMM d"
|
|
1647
|
+
]
|
|
1648
|
+
}
|
|
1649
|
+
},
|
|
1650
|
+
"description": "A calendar date as an ISO YYYY-MM-DD string. No time zone and no clock are involved. '{{<id>}}' inserts it formatted with 'format'."
|
|
1651
|
+
},
|
|
1652
|
+
"ImageVariable": {
|
|
1653
|
+
"type": "object",
|
|
1654
|
+
"required": [
|
|
1655
|
+
"type"
|
|
1656
|
+
],
|
|
1657
|
+
"additionalProperties": false,
|
|
1658
|
+
"properties": {
|
|
1659
|
+
"type": {
|
|
1660
|
+
"type": "string",
|
|
1661
|
+
"const": "image",
|
|
1662
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1663
|
+
},
|
|
1664
|
+
"value": {
|
|
1665
|
+
"$ref": "#/$defs/Asset",
|
|
1666
|
+
"description": "Image source this variable resolves to."
|
|
1667
|
+
},
|
|
1668
|
+
"required": {
|
|
1669
|
+
"type": "boolean",
|
|
1670
|
+
"default": true,
|
|
1671
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1672
|
+
},
|
|
1673
|
+
"label": {
|
|
1674
|
+
"type": "string",
|
|
1675
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1676
|
+
},
|
|
1677
|
+
"description": {
|
|
1678
|
+
"type": "string",
|
|
1679
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1680
|
+
},
|
|
1681
|
+
"example": {
|
|
1682
|
+
"$ref": "#/$defs/Asset",
|
|
1683
|
+
"description": "Illustrative image source shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1684
|
+
}
|
|
1685
|
+
},
|
|
1686
|
+
"description": "An image source: any Asset (an 'asset:<id>' reference, HTTPS URL, data URI, relative or local path, or an object with src, alt and metadata). Reference it whole as 'var:<id>' in an image, asset or src field; '{{<id>}}' inserts the source string."
|
|
1687
|
+
},
|
|
1688
|
+
"UrlVariable": {
|
|
1689
|
+
"type": "object",
|
|
1690
|
+
"required": [
|
|
1691
|
+
"type"
|
|
1692
|
+
],
|
|
1693
|
+
"additionalProperties": false,
|
|
1694
|
+
"properties": {
|
|
1695
|
+
"type": {
|
|
1696
|
+
"type": "string",
|
|
1697
|
+
"const": "url",
|
|
1698
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1699
|
+
},
|
|
1700
|
+
"value": {
|
|
1701
|
+
"type": "string",
|
|
1702
|
+
"pattern": "^(?:https?://|mailto:|tel:)\\S+$",
|
|
1703
|
+
"description": "Link target this variable resolves to."
|
|
1704
|
+
},
|
|
1705
|
+
"required": {
|
|
1706
|
+
"type": "boolean",
|
|
1707
|
+
"default": true,
|
|
1708
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1709
|
+
},
|
|
1710
|
+
"label": {
|
|
1711
|
+
"type": "string",
|
|
1712
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1713
|
+
},
|
|
1714
|
+
"description": {
|
|
1715
|
+
"type": "string",
|
|
1716
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1717
|
+
},
|
|
1718
|
+
"example": {
|
|
1719
|
+
"type": "string",
|
|
1720
|
+
"pattern": "^(?:https?://|mailto:|tel:)\\S+$",
|
|
1721
|
+
"description": "Illustrative link shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1722
|
+
}
|
|
1723
|
+
},
|
|
1724
|
+
"description": "A link target (http, https, mailto or tel). Use it as '{{<id>}}' inside a link string or reference it whole as 'var:<id>' in a link field."
|
|
1725
|
+
},
|
|
1726
|
+
"ListVariable": {
|
|
1727
|
+
"type": "object",
|
|
1728
|
+
"required": [
|
|
1729
|
+
"type"
|
|
1730
|
+
],
|
|
1731
|
+
"additionalProperties": false,
|
|
1732
|
+
"properties": {
|
|
1733
|
+
"type": {
|
|
1734
|
+
"type": "string",
|
|
1735
|
+
"const": "list",
|
|
1736
|
+
"description": "Variable kind. One of color, text, number, date, image, url or list."
|
|
1737
|
+
},
|
|
1738
|
+
"value": {
|
|
1739
|
+
"type": "array",
|
|
1740
|
+
"items": {
|
|
1741
|
+
"type": "string"
|
|
1742
|
+
},
|
|
1743
|
+
"description": "Entries this variable resolves to."
|
|
1744
|
+
},
|
|
1745
|
+
"required": {
|
|
1746
|
+
"type": "boolean",
|
|
1747
|
+
"default": true,
|
|
1748
|
+
"description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
|
|
1749
|
+
},
|
|
1750
|
+
"label": {
|
|
1751
|
+
"type": "string",
|
|
1752
|
+
"description": "Optional short human label for forms and fill panels."
|
|
1753
|
+
},
|
|
1754
|
+
"description": {
|
|
1755
|
+
"type": "string",
|
|
1756
|
+
"description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
|
|
1757
|
+
},
|
|
1758
|
+
"example": {
|
|
1759
|
+
"type": "array",
|
|
1760
|
+
"items": {
|
|
1761
|
+
"type": "string"
|
|
1762
|
+
},
|
|
1763
|
+
"description": "Illustrative entries shown in fill forms and used when a template is previewed with examples. Never written to output."
|
|
1764
|
+
}
|
|
1765
|
+
},
|
|
1766
|
+
"description": "A list of strings, for bullets and list items. A whole-string array element 'var:<id>' splices every entry into the array in place; a whole field 'var:<id>' becomes the array; '{{<id>}}' joins the entries with ', ' (or the separator after a pipe: '{{<id>|; }}')."
|
|
1407
1767
|
},
|
|
1408
1768
|
"BackgroundShortcut": {
|
|
1409
1769
|
"oneOf": [
|
|
@@ -1803,6 +2163,11 @@
|
|
|
1803
2163
|
"items": { "$ref": "#/$defs/BulletItem" },
|
|
1804
2164
|
"description": "Full-slide text-style bullet payload. Presence of this field infers type 'text'."
|
|
1805
2165
|
},
|
|
2166
|
+
"numbering": {
|
|
2167
|
+
"$ref": "#/$defs/NumberingSpec",
|
|
2168
|
+
"description": "Number the full-slide `items` or `bullets` instead of bulleting them. A style name (arabic, roman-upper, roman-lower, alpha-upper, alpha-lower) or a Numbering object applies to every list level; an array gives one entry per level (index = level, the last entry repeats for deeper levels). Counting follows PowerPoint: consecutive entries of one level count up from its start, and an entry of a shallower level restarts the deeper levels. Absent = bullets. Valid only with `items` or `bullets`. Native PowerPoint export writes a:buAutoNum with the matching scheme and startAt; the preview draws the same numbers at the same marker geometry.",
|
|
2169
|
+
"examples": ["arabic", "roman-lower", { "style": "alpha-upper", "start": 3, "suffix": "paren" }, ["arabic", "alpha-lower", { "style": "roman-lower", "suffix": "paren-both" }]]
|
|
2170
|
+
},
|
|
1806
2171
|
"image": {
|
|
1807
2172
|
"$ref": "#/$defs/Asset",
|
|
1808
2173
|
"description": "Full-slide image source. Presence of this field infers type 'image'."
|
|
@@ -1845,6 +2210,10 @@
|
|
|
1845
2210
|
"$ref": "#/$defs/Timeline",
|
|
1846
2211
|
"description": "Full-slide timeline payload. An array is shorthand for { \"events\": value }; object form carries optional name and description metadata. Presence of this field infers type 'timeline'."
|
|
1847
2212
|
},
|
|
2213
|
+
"caption": {
|
|
2214
|
+
"$ref": "#/$defs/Caption",
|
|
2215
|
+
"description": "Caption for the slide's root image, chart, table or video payload. Valid only when the slide root holds exactly one of those payloads."
|
|
2216
|
+
},
|
|
1848
2217
|
"blocks": {
|
|
1849
2218
|
"type": "array",
|
|
1850
2219
|
"items": { "$ref": "#/$defs/ContentPayload" },
|
|
@@ -2078,6 +2447,11 @@
|
|
|
2078
2447
|
"description": "Text-style bullet payload. Presence of this field infers type 'text'.",
|
|
2079
2448
|
"examples": [["Sub-second agent latency", "Drop-in compatible with OpenAI tool-calling", "SOC 2 Type II"]]
|
|
2080
2449
|
},
|
|
2450
|
+
"numbering": {
|
|
2451
|
+
"$ref": "#/$defs/NumberingSpec",
|
|
2452
|
+
"description": "Number the payload's `items` or `bullets` instead of bulleting them. A style name (arabic, roman-upper, roman-lower, alpha-upper, alpha-lower) or a Numbering object applies to every list level; an array gives one entry per level (index = level, the last entry repeats for deeper levels). Counting follows PowerPoint: consecutive entries of one level count up from its start, and an entry of a shallower level restarts the deeper levels. Absent = bullets. Valid only with `items` or `bullets`. Native PowerPoint export writes a:buAutoNum with the matching scheme and startAt; the preview draws the same numbers at the same marker geometry.",
|
|
2453
|
+
"examples": ["arabic", "roman-lower", { "style": "alpha-upper", "start": 3, "suffix": "paren" }, ["arabic", "alpha-lower", { "style": "roman-lower", "suffix": "paren-both" }]]
|
|
2454
|
+
},
|
|
2081
2455
|
"image": {
|
|
2082
2456
|
"$ref": "#/$defs/Asset",
|
|
2083
2457
|
"description": "Source for an image item.",
|
|
@@ -2171,6 +2545,10 @@
|
|
|
2171
2545
|
}
|
|
2172
2546
|
]
|
|
2173
2547
|
},
|
|
2548
|
+
"caption": {
|
|
2549
|
+
"$ref": "#/$defs/Caption",
|
|
2550
|
+
"description": "Caption for an image, chart, table or video payload, composed inside the block's region (below the media by default). Invalid on other payload kinds and on groups."
|
|
2551
|
+
},
|
|
2174
2552
|
"blocks": {
|
|
2175
2553
|
"type": "array",
|
|
2176
2554
|
"minItems": 1,
|
|
@@ -2568,6 +2946,12 @@
|
|
|
2568
2946
|
"type": "integer",
|
|
2569
2947
|
"minimum": 0,
|
|
2570
2948
|
"description": "Zero-based nesting level for the list item."
|
|
2949
|
+
},
|
|
2950
|
+
"start": {
|
|
2951
|
+
"type": "integer",
|
|
2952
|
+
"minimum": 1,
|
|
2953
|
+
"maximum": 32767,
|
|
2954
|
+
"description": "Restart the list's numbering at this number for this item (counted at its level); the entries after it continue from it. Only meaningful when the payload has `numbering`. Paginated continuation pages use it to keep the numbers of the whole list."
|
|
2571
2955
|
}
|
|
2572
2956
|
}
|
|
2573
2957
|
}
|
|
@@ -2607,11 +2991,62 @@
|
|
|
2607
2991
|
"type": "integer",
|
|
2608
2992
|
"minimum": 0,
|
|
2609
2993
|
"description": "Zero-based nesting level for the bullet."
|
|
2994
|
+
},
|
|
2995
|
+
"start": {
|
|
2996
|
+
"type": "integer",
|
|
2997
|
+
"minimum": 1,
|
|
2998
|
+
"maximum": 32767,
|
|
2999
|
+
"description": "Restart the list's numbering at this number for this bullet (counted at its level); the entries after it continue from it. Only meaningful when the payload has `numbering`. Paginated continuation pages use it to keep the numbers of the whole list."
|
|
2610
3000
|
}
|
|
2611
3001
|
}
|
|
2612
3002
|
}
|
|
2613
3003
|
]
|
|
2614
3004
|
},
|
|
3005
|
+
"NumberingStyle": {
|
|
3006
|
+
"type": "string",
|
|
3007
|
+
"enum": ["arabic", "roman-upper", "roman-lower", "alpha-upper", "alpha-lower"],
|
|
3008
|
+
"description": "A list number style: 1, 2, 3; I, II, III; i, ii, iii; A, B, C; a, b, c. Alphabetic numbering past 26 repeats the letter as PowerPoint does (aa, bb, cc). Roman numerals stop at 3999; larger values are drawn in arabic with a numbering-adapted diagnostic."
|
|
3009
|
+
},
|
|
3010
|
+
"Numbering": {
|
|
3011
|
+
"type": "object",
|
|
3012
|
+
"additionalProperties": false,
|
|
3013
|
+
"description": "Numbering of one list level.",
|
|
3014
|
+
"properties": {
|
|
3015
|
+
"style": {
|
|
3016
|
+
"$ref": "#/$defs/NumberingStyle",
|
|
3017
|
+
"description": "Number style. Default arabic."
|
|
3018
|
+
},
|
|
3019
|
+
"start": {
|
|
3020
|
+
"type": "integer",
|
|
3021
|
+
"minimum": 1,
|
|
3022
|
+
"maximum": 32767,
|
|
3023
|
+
"description": "First number counted at this level. Default 1. Native PowerPoint accepts 1 to 32767."
|
|
3024
|
+
},
|
|
3025
|
+
"suffix": {
|
|
3026
|
+
"type": "string",
|
|
3027
|
+
"enum": ["period", "paren", "paren-both"],
|
|
3028
|
+
"description": "Text after the number: period (1.), paren (1)) or paren-both ((1)). Default period."
|
|
3029
|
+
}
|
|
3030
|
+
}
|
|
3031
|
+
},
|
|
3032
|
+
"NumberingSpec": {
|
|
3033
|
+
"description": "The value of a numbering field: a style name or Numbering object for every level, or an array with one entry per level (at most 9, the native depth).",
|
|
3034
|
+
"oneOf": [
|
|
3035
|
+
{ "$ref": "#/$defs/NumberingStyle" },
|
|
3036
|
+
{ "$ref": "#/$defs/Numbering" },
|
|
3037
|
+
{
|
|
3038
|
+
"type": "array",
|
|
3039
|
+
"minItems": 1,
|
|
3040
|
+
"maxItems": 9,
|
|
3041
|
+
"items": {
|
|
3042
|
+
"oneOf": [
|
|
3043
|
+
{ "$ref": "#/$defs/NumberingStyle" },
|
|
3044
|
+
{ "$ref": "#/$defs/Numbering" }
|
|
3045
|
+
]
|
|
3046
|
+
}
|
|
3047
|
+
}
|
|
3048
|
+
]
|
|
3049
|
+
},
|
|
2615
3050
|
"TextRun": {
|
|
2616
3051
|
"description": "A contiguous run of text. Strings cover unformatted spans; object form adds character formatting.",
|
|
2617
3052
|
"oneOf": [
|
|
@@ -2668,11 +3103,88 @@
|
|
|
2668
3103
|
"subscript": {
|
|
2669
3104
|
"type": "boolean",
|
|
2670
3105
|
"description": "Whether the run is rendered as subscript."
|
|
3106
|
+
},
|
|
3107
|
+
"cite": {
|
|
3108
|
+
"oneOf": [
|
|
3109
|
+
{ "type": "string", "minLength": 1 },
|
|
3110
|
+
{ "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }
|
|
3111
|
+
],
|
|
3112
|
+
"description": "One or more ids from the top-level references list that this run cites. Engines draw a superscript marker ('1', or '1,2' for several ids) directly after the run and list '<n> <reference text>' in the slide's footnote area; markers are numbered per deck in order of first use, and the same id keeps its number. An id missing from references is a validation error (cite-unknown-reference). Supported in text, bullets and list item runs.",
|
|
3113
|
+
"examples": ["gartner-2026", ["gartner-2026", "annual-report"]]
|
|
3114
|
+
},
|
|
3115
|
+
"footnote": {
|
|
3116
|
+
"oneOf": [
|
|
3117
|
+
{ "type": "string", "minLength": 1 },
|
|
3118
|
+
{ "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/TextRun" } }
|
|
3119
|
+
],
|
|
3120
|
+
"description": "An inline note for this run, without a references entry. Engines draw a superscript marker after the run and list the note in the slide's footnote area; every footnote takes a new number in the deck's marker sequence. Supported in text, bullets and list item runs.",
|
|
3121
|
+
"examples": ["Excludes the discontinued hardware line."]
|
|
3122
|
+
}
|
|
3123
|
+
}
|
|
3124
|
+
}
|
|
3125
|
+
]
|
|
3126
|
+
},
|
|
3127
|
+
"Caption": {
|
|
3128
|
+
"description": "A caption for an image, chart, table or video payload. A string or TextRun[] is the caption text placed below the media; object form adds the position and alignment.",
|
|
3129
|
+
"oneOf": [
|
|
3130
|
+
{ "type": "string" },
|
|
3131
|
+
{ "type": "array", "items": { "$ref": "#/$defs/TextRun" } },
|
|
3132
|
+
{
|
|
3133
|
+
"type": "object",
|
|
3134
|
+
"required": ["text"],
|
|
3135
|
+
"additionalProperties": false,
|
|
3136
|
+
"properties": {
|
|
3137
|
+
"text": {
|
|
3138
|
+
"oneOf": [
|
|
3139
|
+
{ "type": "string" },
|
|
3140
|
+
{ "type": "array", "items": { "$ref": "#/$defs/TextRun" } }
|
|
3141
|
+
],
|
|
3142
|
+
"description": "Caption text: a string or TextRun[] for inline rich text."
|
|
3143
|
+
},
|
|
3144
|
+
"position": {
|
|
3145
|
+
"type": "string",
|
|
3146
|
+
"enum": ["below", "above"],
|
|
3147
|
+
"description": "Where the caption band sits inside the block's region: below the media (default) or above it. Core composition reserves the band and shrinks the media by its height."
|
|
3148
|
+
},
|
|
3149
|
+
"align": {
|
|
3150
|
+
"type": "string",
|
|
3151
|
+
"enum": ["left", "center", "right"],
|
|
3152
|
+
"description": "Horizontal alignment of the caption text within the block. Defaults to left."
|
|
2671
3153
|
}
|
|
2672
3154
|
}
|
|
2673
3155
|
}
|
|
3156
|
+
],
|
|
3157
|
+
"examples": [
|
|
3158
|
+
"Figure 1. Quarterly revenue by region",
|
|
3159
|
+
{ "text": "Source: internal reporting", "position": "above", "align": "center" }
|
|
2674
3160
|
]
|
|
2675
3161
|
},
|
|
3162
|
+
"Reference": {
|
|
3163
|
+
"type": "object",
|
|
3164
|
+
"description": "A source that runs cite with 'cite'. Cited references are listed in the footnote area of the slides that cite them, numbered per deck in order of first use; referencesSlide() builds an ordinary list slide of them.",
|
|
3165
|
+
"additionalProperties": false,
|
|
3166
|
+
"required": ["id", "text"],
|
|
3167
|
+
"properties": {
|
|
3168
|
+
"id": {
|
|
3169
|
+
"type": "string",
|
|
3170
|
+
"minLength": 1,
|
|
3171
|
+
"description": "Identifier runs cite. Unique within the references list.",
|
|
3172
|
+
"examples": ["gartner-2026", "annual-report"]
|
|
3173
|
+
},
|
|
3174
|
+
"text": {
|
|
3175
|
+
"oneOf": [
|
|
3176
|
+
{ "type": "string" },
|
|
3177
|
+
{ "type": "array", "items": { "$ref": "#/$defs/TextRun" } }
|
|
3178
|
+
],
|
|
3179
|
+
"description": "The reference as it is listed: a string or TextRun[] for inline rich text."
|
|
3180
|
+
},
|
|
3181
|
+
"url": {
|
|
3182
|
+
"type": "string",
|
|
3183
|
+
"description": "Optional link for the reference; a references slide links its entry to it.",
|
|
3184
|
+
"examples": ["https://acme.com/reports/2026"]
|
|
3185
|
+
}
|
|
3186
|
+
}
|
|
3187
|
+
},
|
|
2676
3188
|
"Chart": {
|
|
2677
3189
|
"type": "object",
|
|
2678
3190
|
"description": "Chart content. The chart object keeps chart-specific fields together so slides and regions do not expose loose chart fields.",
|
|
@@ -2693,6 +3205,63 @@
|
|
|
2693
3205
|
{ "$ref": "#/$defs/ChartDataSource" }
|
|
2694
3206
|
],
|
|
2695
3207
|
"description": "Chart data. Inline data uses a tabular columns/rows shape; renderers convert rows to chart series internally."
|
|
3208
|
+
},
|
|
3209
|
+
"axisTitles": {
|
|
3210
|
+
"$ref": "#/$defs/ChartAxisTitles",
|
|
3211
|
+
"description": "Optional axis titles. Absent keeps today's untitled axes. Supported on the chart types that have a category/value (or X/Y) axis pair (column, bar, line, area, scatter, and the histogram, pareto, waterfall and box-and-whisker constructs; the funnel construct takes a category title only); a title on a type without that axis (pie, doughnut, radar, treemap, map) is dropped with a 'chart-option-adapted' diagnostic by renderers and exporters."
|
|
3212
|
+
},
|
|
3213
|
+
"legend": {
|
|
3214
|
+
"type": "string",
|
|
3215
|
+
"enum": ["none", "top", "bottom", "left", "right"],
|
|
3216
|
+
"description": "Optional legend position. 'none' hides the legend. Absent keeps today's behaviour exactly (a legend at the right of multi-series charts and of pie and doughnut charts, none for single-series charts). A named position shows the legend there even for a single-series chart. Of the Office 2016 constructs only box-and-whisker takes a legend; histogram, pareto, waterfall, funnel, treemap and map drop the option with a 'chart-option-adapted' diagnostic."
|
|
3217
|
+
},
|
|
3218
|
+
"dataLabels": {
|
|
3219
|
+
"oneOf": [
|
|
3220
|
+
{ "type": "boolean" },
|
|
3221
|
+
{ "$ref": "#/$defs/ChartDataLabels" }
|
|
3222
|
+
],
|
|
3223
|
+
"description": "Optional data labels. true shows value labels at each type's default position, false (or absent) shows none, which is today's behaviour. Use the object form for the label content, position and separator."
|
|
3224
|
+
}
|
|
3225
|
+
}
|
|
3226
|
+
},
|
|
3227
|
+
"ChartAxisTitles": {
|
|
3228
|
+
"type": "object",
|
|
3229
|
+
"additionalProperties": false,
|
|
3230
|
+
"description": "Titles for the two axes of a chart. 'category' is the axis that carries the row labels (the horizontal axis of a column or line chart, the vertical axis of a bar chart, the X axis of a scatter chart); 'value' is the other axis.",
|
|
3231
|
+
"properties": {
|
|
3232
|
+
"category": {
|
|
3233
|
+
"type": "string",
|
|
3234
|
+
"description": "Title of the category (X) axis.",
|
|
3235
|
+
"examples": ["Quarter", "Region"]
|
|
3236
|
+
},
|
|
3237
|
+
"value": {
|
|
3238
|
+
"type": "string",
|
|
3239
|
+
"description": "Title of the value (Y) axis.",
|
|
3240
|
+
"examples": ["Revenue ($M)", "Customers"]
|
|
3241
|
+
}
|
|
3242
|
+
}
|
|
3243
|
+
},
|
|
3244
|
+
"ChartDataLabels": {
|
|
3245
|
+
"type": "object",
|
|
3246
|
+
"additionalProperties": false,
|
|
3247
|
+
"description": "Data label settings. A label shows the selected content parts in the fixed order category, value, percent, joined by the separator.",
|
|
3248
|
+
"properties": {
|
|
3249
|
+
"content": {
|
|
3250
|
+
"type": "array",
|
|
3251
|
+
"items": { "type": "string", "enum": ["value", "percent", "category"] },
|
|
3252
|
+
"minItems": 1,
|
|
3253
|
+
"uniqueItems": true,
|
|
3254
|
+
"description": "Which parts a label shows. Defaults to ['value']. 'percent' is the share of the total and exists only on pie and doughnut charts; 'category' shows the category name (the X value on a scatter chart). A part a chart type cannot show is dropped with a 'chart-option-adapted' diagnostic."
|
|
3255
|
+
},
|
|
3256
|
+
"position": {
|
|
3257
|
+
"type": "string",
|
|
3258
|
+
"enum": ["auto", "center", "inside-end", "inside-base", "outside-end", "above", "below", "left", "right"],
|
|
3259
|
+
"description": "Where a label sits relative to its mark. 'auto' (the default) is the type's default: outside-end for clustered columns and bars, pie slices and the histogram, pareto and waterfall constructs; center for stacked columns and bars; above for line and scatter points. Clustered columns and bars and the histogram, pareto and waterfall constructs take center, inside-end, inside-base and outside-end; stacked columns and bars take center, inside-end and inside-base; pie takes center, inside-end and outside-end; line and scatter points take above, below, left, right and center. Area, doughnut and radar charts and the funnel and treemap constructs take only 'auto' (the box-and-whisker and map constructs have no data labels). An unsupported position falls back to 'auto' with a 'chart-option-adapted' diagnostic."
|
|
3260
|
+
},
|
|
3261
|
+
"separator": {
|
|
3262
|
+
"type": "string",
|
|
3263
|
+
"description": "Text between the parts of a label that shows more than one. Defaults to ', '.",
|
|
3264
|
+
"examples": [", ", "; "]
|
|
2696
3265
|
}
|
|
2697
3266
|
}
|
|
2698
3267
|
},
|