@financial-times/content-tree 0.13.0 → 0.15.0

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.
@@ -0,0 +1,2167 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "additionalProperties": false,
4
+ "definitions": {
5
+ "ContentTree.transit.AcastPodcast": {
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "data": {},
9
+ "type": {
10
+ "const": "acast-podcast",
11
+ "type": "string"
12
+ },
13
+ "url": {
14
+ "description": "Acast Podcast embed url e.g. https://embed.acast.com/*",
15
+ "type": "string"
16
+ }
17
+ },
18
+ "propertyOrder": [
19
+ "type",
20
+ "url",
21
+ "data"
22
+ ],
23
+ "required": [
24
+ "type",
25
+ "url"
26
+ ],
27
+ "type": "object"
28
+ },
29
+ "ContentTree.transit.BigNumber": {
30
+ "additionalProperties": false,
31
+ "properties": {
32
+ "data": {},
33
+ "description": {
34
+ "type": "string"
35
+ },
36
+ "number": {
37
+ "type": "string"
38
+ },
39
+ "type": {
40
+ "const": "big-number",
41
+ "type": "string"
42
+ }
43
+ },
44
+ "propertyOrder": [
45
+ "type",
46
+ "number",
47
+ "description",
48
+ "data"
49
+ ],
50
+ "required": [
51
+ "description",
52
+ "number",
53
+ "type"
54
+ ],
55
+ "type": "object"
56
+ },
57
+ "ContentTree.transit.Blockquote": {
58
+ "additionalProperties": false,
59
+ "properties": {
60
+ "children": {
61
+ "items": {
62
+ "anyOf": [
63
+ {
64
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
65
+ },
66
+ {
67
+ "$ref": "#/definitions/ContentTree.transit.Text"
68
+ },
69
+ {
70
+ "$ref": "#/definitions/ContentTree.transit.Break"
71
+ },
72
+ {
73
+ "$ref": "#/definitions/ContentTree.transit.Strong"
74
+ },
75
+ {
76
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
77
+ },
78
+ {
79
+ "$ref": "#/definitions/ContentTree.transit.Strikethrough"
80
+ },
81
+ {
82
+ "$ref": "#/definitions/ContentTree.transit.Subscript"
83
+ },
84
+ {
85
+ "$ref": "#/definitions/ContentTree.transit.Superscript"
86
+ },
87
+ {
88
+ "$ref": "#/definitions/ContentTree.transit.Link"
89
+ },
90
+ {
91
+ "$ref": "#/definitions/ContentTree.transit.FindOutMoreLink"
92
+ }
93
+ ]
94
+ },
95
+ "type": "array"
96
+ },
97
+ "data": {},
98
+ "type": {
99
+ "const": "blockquote",
100
+ "type": "string"
101
+ }
102
+ },
103
+ "propertyOrder": [
104
+ "type",
105
+ "children",
106
+ "data"
107
+ ],
108
+ "required": [
109
+ "children",
110
+ "type"
111
+ ],
112
+ "type": "object"
113
+ },
114
+ "ContentTree.transit.Body": {
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "children": {
118
+ "items": {
119
+ "$ref": "#/definitions/ContentTree.transit.BodyBlock"
120
+ },
121
+ "type": "array"
122
+ },
123
+ "data": {},
124
+ "type": {
125
+ "const": "body",
126
+ "type": "string"
127
+ },
128
+ "version": {
129
+ "type": "number"
130
+ }
131
+ },
132
+ "propertyOrder": [
133
+ "type",
134
+ "version",
135
+ "children",
136
+ "data"
137
+ ],
138
+ "required": [
139
+ "children",
140
+ "type",
141
+ "version"
142
+ ],
143
+ "type": "object"
144
+ },
145
+ "ContentTree.transit.BodyBlock": {
146
+ "anyOf": [
147
+ {
148
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
149
+ },
150
+ {
151
+ "$ref": "#/definitions/ContentTree.transit.Heading"
152
+ },
153
+ {
154
+ "$ref": "#/definitions/ContentTree.transit.List"
155
+ },
156
+ {
157
+ "$ref": "#/definitions/ContentTree.transit.Blockquote"
158
+ },
159
+ {
160
+ "$ref": "#/definitions/ContentTree.transit.ThematicBreak"
161
+ },
162
+ {
163
+ "$ref": "#/definitions/ContentTree.transit.Text"
164
+ },
165
+ {
166
+ "$ref": "#/definitions/ContentTree.transit.AcastPodcast"
167
+ },
168
+ {
169
+ "$ref": "#/definitions/ContentTree.transit.BigNumber"
170
+ },
171
+ {
172
+ "$ref": "#/definitions/ContentTree.transit.Carousel"
173
+ },
174
+ {
175
+ "$ref": "#/definitions/ContentTree.transit.ClipSet"
176
+ },
177
+ {
178
+ "$ref": "#/definitions/ContentTree.transit.CustomCodeComponent"
179
+ },
180
+ {
181
+ "$ref": "#/definitions/ContentTree.transit.Definition"
182
+ },
183
+ {
184
+ "$ref": "#/definitions/ContentTree.transit.Flourish"
185
+ },
186
+ {
187
+ "$ref": "#/definitions/ContentTree.transit.ImagePair"
188
+ },
189
+ {
190
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
191
+ },
192
+ {
193
+ "$ref": "#/definitions/ContentTree.transit.InfoBox"
194
+ },
195
+ {
196
+ "$ref": "#/definitions/ContentTree.transit.InfoPair"
197
+ },
198
+ {
199
+ "$ref": "#/definitions/ContentTree.transit.InNumbers"
200
+ },
201
+ {
202
+ "$ref": "#/definitions/ContentTree.transit.Layout"
203
+ },
204
+ {
205
+ "$ref": "#/definitions/ContentTree.transit.Pullquote"
206
+ },
207
+ {
208
+ "$ref": "#/definitions/ContentTree.transit.Recommended"
209
+ },
210
+ {
211
+ "$ref": "#/definitions/ContentTree.transit.RecommendedList"
212
+ },
213
+ {
214
+ "$ref": "#/definitions/ContentTree.transit.ScrollyBlock"
215
+ },
216
+ {
217
+ "$ref": "#/definitions/ContentTree.transit.Table"
218
+ },
219
+ {
220
+ "$ref": "#/definitions/ContentTree.transit.Timeline"
221
+ },
222
+ {
223
+ "$ref": "#/definitions/ContentTree.transit.Tweet"
224
+ },
225
+ {
226
+ "$ref": "#/definitions/ContentTree.transit.Video"
227
+ },
228
+ {
229
+ "$ref": "#/definitions/ContentTree.transit.VimeoVideo"
230
+ },
231
+ {
232
+ "$ref": "#/definitions/ContentTree.transit.YoutubeVideo"
233
+ }
234
+ ]
235
+ },
236
+ "ContentTree.transit.Break": {
237
+ "additionalProperties": false,
238
+ "properties": {
239
+ "data": {},
240
+ "type": {
241
+ "const": "break",
242
+ "type": "string"
243
+ }
244
+ },
245
+ "propertyOrder": [
246
+ "type",
247
+ "data"
248
+ ],
249
+ "required": [
250
+ "type"
251
+ ],
252
+ "type": "object"
253
+ },
254
+ "ContentTree.transit.Card": {
255
+ "additionalProperties": false,
256
+ "description": "A card describes a subject with images and text",
257
+ "properties": {
258
+ "children": {
259
+ "items": {
260
+ "$ref": "#/definitions/ContentTree.transit.CardChildren"
261
+ },
262
+ "type": "array"
263
+ },
264
+ "data": {},
265
+ "title": {
266
+ "description": "The title of this card",
267
+ "type": "string"
268
+ },
269
+ "type": {
270
+ "const": "card",
271
+ "type": "string"
272
+ }
273
+ },
274
+ "propertyOrder": [
275
+ "type",
276
+ "title",
277
+ "children",
278
+ "data"
279
+ ],
280
+ "required": [
281
+ "children",
282
+ "type"
283
+ ],
284
+ "type": "object"
285
+ },
286
+ "ContentTree.transit.CardChildren": {
287
+ "anyOf": [
288
+ {
289
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
290
+ },
291
+ {
292
+ "$ref": "#/definitions/ContentTree.transit.Heading"
293
+ },
294
+ {
295
+ "$ref": "#/definitions/ContentTree.transit.List"
296
+ },
297
+ {
298
+ "$ref": "#/definitions/ContentTree.transit.Blockquote"
299
+ },
300
+ {
301
+ "$ref": "#/definitions/ContentTree.transit.ThematicBreak"
302
+ },
303
+ {
304
+ "$ref": "#/definitions/ContentTree.transit.Text"
305
+ },
306
+ {
307
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
308
+ }
309
+ ],
310
+ "description": "Allowed children for a card"
311
+ },
312
+ "ContentTree.transit.Carousel": {
313
+ "additionalProperties": false,
314
+ "properties": {
315
+ "children": {
316
+ "description": "Carousel item",
317
+ "items": {
318
+ "$ref": "#/definitions/ContentTree.transit.CarouselCard"
319
+ },
320
+ "maxItems": 10,
321
+ "minItems": 4,
322
+ "sparkRepeater": true,
323
+ "type": "array"
324
+ },
325
+ "data": {},
326
+ "id": {
327
+ "description": "unique identifier required for component tracking",
328
+ "type": "string"
329
+ },
330
+ "standfirst": {
331
+ "sparkMapNodeType": "textInput",
332
+ "type": "string"
333
+ },
334
+ "title": {
335
+ "sparkMapNodeType": "textInput",
336
+ "type": "string"
337
+ },
338
+ "type": {
339
+ "const": "carousel",
340
+ "type": "string"
341
+ }
342
+ },
343
+ "propertyOrder": [
344
+ "type",
345
+ "id",
346
+ "title",
347
+ "standfirst",
348
+ "children",
349
+ "data"
350
+ ],
351
+ "required": [
352
+ "children",
353
+ "id",
354
+ "type"
355
+ ],
356
+ "sparkGenerateStoryblock": true,
357
+ "type": "object"
358
+ },
359
+ "ContentTree.transit.CarouselCard": {
360
+ "additionalProperties": false,
361
+ "properties": {
362
+ "additionalInfo": {
363
+ "description": "Details (optional, 60 characters recommended)",
364
+ "sparkMapNodeType": "textInput",
365
+ "type": "string"
366
+ },
367
+ "children": {
368
+ "description": "Image",
369
+ "items": [
370
+ {
371
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
372
+ }
373
+ ],
374
+ "maxItems": 1,
375
+ "minItems": 1,
376
+ "sparkMapNodeType": "image",
377
+ "type": "array"
378
+ },
379
+ "copy": {
380
+ "description": "Body text (200 characters recommended)",
381
+ "sparkMapNodeType": "textInput",
382
+ "type": "string"
383
+ },
384
+ "data": {},
385
+ "id": {
386
+ "description": "unique identifier required for component tracking",
387
+ "type": "string"
388
+ },
389
+ "title": {
390
+ "description": "Heading (60 characters recommended)",
391
+ "sparkMapNodeType": "textInput",
392
+ "type": "string"
393
+ },
394
+ "type": {
395
+ "const": "carousel-card",
396
+ "type": "string"
397
+ }
398
+ },
399
+ "propertyOrder": [
400
+ "type",
401
+ "id",
402
+ "children",
403
+ "title",
404
+ "copy",
405
+ "additionalInfo",
406
+ "data"
407
+ ],
408
+ "required": [
409
+ "children",
410
+ "copy",
411
+ "id",
412
+ "title",
413
+ "type"
414
+ ],
415
+ "type": "object"
416
+ },
417
+ "ContentTree.transit.ClipSet": {
418
+ "additionalProperties": false,
419
+ "properties": {
420
+ "autoplay": {
421
+ "type": "boolean"
422
+ },
423
+ "data": {},
424
+ "fragmentIdentifier": {
425
+ "type": "string"
426
+ },
427
+ "id": {
428
+ "type": "string"
429
+ },
430
+ "layoutWidth": {
431
+ "$ref": "#/definitions/ContentTree.transit.ClipSetLayoutWidth"
432
+ },
433
+ "loop": {
434
+ "type": "boolean"
435
+ },
436
+ "muted": {
437
+ "type": "boolean"
438
+ },
439
+ "type": {
440
+ "const": "clip-set",
441
+ "type": "string"
442
+ }
443
+ },
444
+ "propertyOrder": [
445
+ "type",
446
+ "id",
447
+ "layoutWidth",
448
+ "autoplay",
449
+ "fragmentIdentifier",
450
+ "loop",
451
+ "muted",
452
+ "data"
453
+ ],
454
+ "required": [
455
+ "id",
456
+ "layoutWidth",
457
+ "type"
458
+ ],
459
+ "type": "object"
460
+ },
461
+ "ContentTree.transit.ClipSetLayoutWidth": {
462
+ "enum": [
463
+ "full-grid",
464
+ "in-line",
465
+ "inset-left",
466
+ "inset-right",
467
+ "mid-grid"
468
+ ],
469
+ "type": "string"
470
+ },
471
+ "ContentTree.transit.CustomCodeComponent": {
472
+ "additionalProperties": false,
473
+ "properties": {
474
+ "data": {},
475
+ "id": {
476
+ "description": "Id taken from the CAPI url",
477
+ "type": "string"
478
+ },
479
+ "layoutWidth": {
480
+ "$ref": "#/definitions/ContentTree.transit.LayoutWidth",
481
+ "description": "How the component should be presented in the article page according to the column layout system"
482
+ },
483
+ "type": {
484
+ "const": "custom-code-component",
485
+ "description": "Component type",
486
+ "type": "string"
487
+ }
488
+ },
489
+ "propertyOrder": [
490
+ "type",
491
+ "id",
492
+ "layoutWidth",
493
+ "data"
494
+ ],
495
+ "required": [
496
+ "id",
497
+ "layoutWidth",
498
+ "type"
499
+ ],
500
+ "type": "object"
501
+ },
502
+ "ContentTree.transit.Definition": {
503
+ "additionalProperties": false,
504
+ "description": "A definition has a term and a related description. It is used to describe a term.",
505
+ "properties": {
506
+ "data": {},
507
+ "description": {
508
+ "type": "string"
509
+ },
510
+ "term": {
511
+ "type": "string"
512
+ },
513
+ "type": {
514
+ "const": "definition",
515
+ "type": "string"
516
+ }
517
+ },
518
+ "propertyOrder": [
519
+ "type",
520
+ "term",
521
+ "description",
522
+ "data"
523
+ ],
524
+ "required": [
525
+ "description",
526
+ "term",
527
+ "type"
528
+ ],
529
+ "type": "object"
530
+ },
531
+ "ContentTree.transit.Emphasis": {
532
+ "additionalProperties": false,
533
+ "properties": {
534
+ "children": {
535
+ "items": {
536
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
537
+ },
538
+ "type": "array"
539
+ },
540
+ "data": {},
541
+ "type": {
542
+ "const": "emphasis",
543
+ "type": "string"
544
+ }
545
+ },
546
+ "propertyOrder": [
547
+ "type",
548
+ "children",
549
+ "data"
550
+ ],
551
+ "required": [
552
+ "children",
553
+ "type"
554
+ ],
555
+ "type": "object"
556
+ },
557
+ "ContentTree.transit.FindOutMoreLink": {
558
+ "additionalProperties": false,
559
+ "properties": {
560
+ "children": {
561
+ "items": [
562
+ {
563
+ "anyOf": [
564
+ {
565
+ "$ref": "#/definitions/ContentTree.transit.Text"
566
+ },
567
+ {
568
+ "$ref": "#/definitions/ContentTree.transit.Strong"
569
+ },
570
+ {
571
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
572
+ }
573
+ ]
574
+ }
575
+ ],
576
+ "maxItems": 1,
577
+ "minItems": 1,
578
+ "type": "array"
579
+ },
580
+ "data": {},
581
+ "type": {
582
+ "const": "find-out-more-link",
583
+ "type": "string"
584
+ },
585
+ "url": {
586
+ "type": "string"
587
+ }
588
+ },
589
+ "propertyOrder": [
590
+ "type",
591
+ "url",
592
+ "children",
593
+ "data"
594
+ ],
595
+ "required": [
596
+ "children",
597
+ "type",
598
+ "url"
599
+ ],
600
+ "type": "object"
601
+ },
602
+ "ContentTree.transit.Flourish": {
603
+ "additionalProperties": false,
604
+ "properties": {
605
+ "data": {},
606
+ "description": {
607
+ "type": "string"
608
+ },
609
+ "flourishType": {
610
+ "type": "string"
611
+ },
612
+ "fragmentIdentifier": {
613
+ "type": "string"
614
+ },
615
+ "id": {
616
+ "type": "string"
617
+ },
618
+ "layoutWidth": {
619
+ "$ref": "#/definitions/ContentTree.transit.FlourishLayoutWidth"
620
+ },
621
+ "timestamp": {
622
+ "type": "string"
623
+ },
624
+ "type": {
625
+ "const": "flourish",
626
+ "type": "string"
627
+ }
628
+ },
629
+ "propertyOrder": [
630
+ "type",
631
+ "id",
632
+ "layoutWidth",
633
+ "flourishType",
634
+ "description",
635
+ "timestamp",
636
+ "fragmentIdentifier",
637
+ "data"
638
+ ],
639
+ "required": [
640
+ "flourishType",
641
+ "id",
642
+ "layoutWidth",
643
+ "type"
644
+ ],
645
+ "type": "object"
646
+ },
647
+ "ContentTree.transit.FlourishLayoutWidth": {
648
+ "enum": [
649
+ "full-grid",
650
+ "in-line"
651
+ ],
652
+ "type": "string"
653
+ },
654
+ "ContentTree.transit.Heading": {
655
+ "additionalProperties": false,
656
+ "properties": {
657
+ "children": {
658
+ "items": {
659
+ "$ref": "#/definitions/ContentTree.transit.Text"
660
+ },
661
+ "type": "array"
662
+ },
663
+ "data": {},
664
+ "fragmentIdentifier": {
665
+ "type": "string"
666
+ },
667
+ "level": {
668
+ "enum": [
669
+ "chapter",
670
+ "label",
671
+ "subheading"
672
+ ],
673
+ "type": "string"
674
+ },
675
+ "type": {
676
+ "const": "heading",
677
+ "type": "string"
678
+ }
679
+ },
680
+ "propertyOrder": [
681
+ "type",
682
+ "children",
683
+ "level",
684
+ "fragmentIdentifier",
685
+ "data"
686
+ ],
687
+ "required": [
688
+ "children",
689
+ "level",
690
+ "type"
691
+ ],
692
+ "type": "object"
693
+ },
694
+ "ContentTree.transit.ImagePair": {
695
+ "additionalProperties": false,
696
+ "properties": {
697
+ "children": {
698
+ "items": [
699
+ {
700
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
701
+ },
702
+ {
703
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
704
+ }
705
+ ],
706
+ "maxItems": 2,
707
+ "minItems": 2,
708
+ "type": "array"
709
+ },
710
+ "data": {},
711
+ "type": {
712
+ "const": "image-pair",
713
+ "type": "string"
714
+ }
715
+ },
716
+ "propertyOrder": [
717
+ "type",
718
+ "children",
719
+ "data"
720
+ ],
721
+ "required": [
722
+ "children",
723
+ "type"
724
+ ],
725
+ "type": "object"
726
+ },
727
+ "ContentTree.transit.ImageSet": {
728
+ "additionalProperties": false,
729
+ "properties": {
730
+ "data": {},
731
+ "fragmentIdentifier": {
732
+ "type": "string"
733
+ },
734
+ "id": {
735
+ "type": "string"
736
+ },
737
+ "type": {
738
+ "const": "image-set",
739
+ "type": "string"
740
+ }
741
+ },
742
+ "propertyOrder": [
743
+ "type",
744
+ "id",
745
+ "fragmentIdentifier",
746
+ "data"
747
+ ],
748
+ "required": [
749
+ "id",
750
+ "type"
751
+ ],
752
+ "type": "object"
753
+ },
754
+ "ContentTree.transit.InNumbers": {
755
+ "additionalProperties": false,
756
+ "description": "InNumbers represents a set of numbers with related descriptions.",
757
+ "properties": {
758
+ "children": {
759
+ "items": [
760
+ {
761
+ "$ref": "#/definitions/ContentTree.transit.Definition"
762
+ },
763
+ {
764
+ "$ref": "#/definitions/ContentTree.transit.Definition"
765
+ },
766
+ {
767
+ "$ref": "#/definitions/ContentTree.transit.Definition"
768
+ }
769
+ ],
770
+ "maxItems": 3,
771
+ "minItems": 3,
772
+ "type": "array"
773
+ },
774
+ "data": {},
775
+ "title": {
776
+ "description": "The title for the InNumbers",
777
+ "type": "string"
778
+ },
779
+ "type": {
780
+ "const": "in-numbers",
781
+ "type": "string"
782
+ }
783
+ },
784
+ "propertyOrder": [
785
+ "type",
786
+ "title",
787
+ "children",
788
+ "data"
789
+ ],
790
+ "required": [
791
+ "children",
792
+ "type"
793
+ ],
794
+ "type": "object"
795
+ },
796
+ "ContentTree.transit.InfoBox": {
797
+ "additionalProperties": false,
798
+ "description": "An info box describes a subject via a single card",
799
+ "properties": {
800
+ "children": {
801
+ "items": [
802
+ {
803
+ "$ref": "#/definitions/ContentTree.transit.Card"
804
+ }
805
+ ],
806
+ "maxItems": 1,
807
+ "minItems": 1,
808
+ "type": "array"
809
+ },
810
+ "data": {},
811
+ "layoutWidth": {
812
+ "$ref": "#/definitions/ContentTree.transit.InfoBoxLayoutWidth",
813
+ "description": "The layout width supported by this node"
814
+ },
815
+ "type": {
816
+ "const": "info-box",
817
+ "type": "string"
818
+ }
819
+ },
820
+ "propertyOrder": [
821
+ "type",
822
+ "layoutWidth",
823
+ "children",
824
+ "data"
825
+ ],
826
+ "required": [
827
+ "children",
828
+ "layoutWidth",
829
+ "type"
830
+ ],
831
+ "type": "object"
832
+ },
833
+ "ContentTree.transit.InfoBoxLayoutWidth": {
834
+ "description": "Allowed layout widths for an InfoBox.",
835
+ "enum": [
836
+ "in-line",
837
+ "inset-left"
838
+ ],
839
+ "type": "string"
840
+ },
841
+ "ContentTree.transit.InfoPair": {
842
+ "additionalProperties": false,
843
+ "description": "InfoPair provides exactly two cards.",
844
+ "properties": {
845
+ "children": {
846
+ "items": [
847
+ {
848
+ "$ref": "#/definitions/ContentTree.transit.Card"
849
+ },
850
+ {
851
+ "$ref": "#/definitions/ContentTree.transit.Card"
852
+ }
853
+ ],
854
+ "maxItems": 2,
855
+ "minItems": 2,
856
+ "type": "array"
857
+ },
858
+ "data": {},
859
+ "title": {
860
+ "description": "The title of the info pair",
861
+ "type": "string"
862
+ },
863
+ "type": {
864
+ "const": "info-pair",
865
+ "type": "string"
866
+ }
867
+ },
868
+ "propertyOrder": [
869
+ "type",
870
+ "title",
871
+ "children",
872
+ "data"
873
+ ],
874
+ "required": [
875
+ "children",
876
+ "type"
877
+ ],
878
+ "type": "object"
879
+ },
880
+ "ContentTree.transit.Layout": {
881
+ "additionalProperties": false,
882
+ "properties": {
883
+ "children": {
884
+ "anyOf": [
885
+ {
886
+ "additionalItems": {
887
+ "$ref": "#/definitions/ContentTree.transit.LayoutSlot"
888
+ },
889
+ "items": [
890
+ {
891
+ "$ref": "#/definitions/ContentTree.transit.Heading"
892
+ },
893
+ {
894
+ "$ref": "#/definitions/ContentTree.transit.LayoutImage"
895
+ }
896
+ ],
897
+ "minItems": 2,
898
+ "type": "array"
899
+ },
900
+ {
901
+ "additionalItems": {
902
+ "$ref": "#/definitions/ContentTree.transit.LayoutSlot"
903
+ },
904
+ "items": [
905
+ {
906
+ "$ref": "#/definitions/ContentTree.transit.Heading"
907
+ }
908
+ ],
909
+ "minItems": 1,
910
+ "type": "array"
911
+ },
912
+ {
913
+ "items": {
914
+ "$ref": "#/definitions/ContentTree.transit.LayoutSlot"
915
+ },
916
+ "type": "array"
917
+ }
918
+ ]
919
+ },
920
+ "data": {},
921
+ "layoutName": {
922
+ "enum": [
923
+ "auto",
924
+ "card",
925
+ "timeline"
926
+ ],
927
+ "type": "string"
928
+ },
929
+ "layoutWidth": {
930
+ "type": "string"
931
+ },
932
+ "type": {
933
+ "const": "layout",
934
+ "type": "string"
935
+ }
936
+ },
937
+ "propertyOrder": [
938
+ "type",
939
+ "layoutName",
940
+ "layoutWidth",
941
+ "children",
942
+ "data"
943
+ ],
944
+ "required": [
945
+ "children",
946
+ "layoutName",
947
+ "layoutWidth",
948
+ "type"
949
+ ],
950
+ "type": "object"
951
+ },
952
+ "ContentTree.transit.LayoutImage": {
953
+ "additionalProperties": false,
954
+ "properties": {
955
+ "alt": {
956
+ "type": "string"
957
+ },
958
+ "caption": {
959
+ "type": "string"
960
+ },
961
+ "credit": {
962
+ "type": "string"
963
+ },
964
+ "data": {},
965
+ "id": {
966
+ "type": "string"
967
+ },
968
+ "type": {
969
+ "const": "layout-image",
970
+ "type": "string"
971
+ }
972
+ },
973
+ "propertyOrder": [
974
+ "type",
975
+ "id",
976
+ "alt",
977
+ "caption",
978
+ "credit",
979
+ "data"
980
+ ],
981
+ "required": [
982
+ "alt",
983
+ "caption",
984
+ "credit",
985
+ "id",
986
+ "type"
987
+ ],
988
+ "type": "object"
989
+ },
990
+ "ContentTree.transit.LayoutSlot": {
991
+ "additionalProperties": false,
992
+ "properties": {
993
+ "children": {
994
+ "items": {
995
+ "anyOf": [
996
+ {
997
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
998
+ },
999
+ {
1000
+ "$ref": "#/definitions/ContentTree.transit.Heading"
1001
+ },
1002
+ {
1003
+ "$ref": "#/definitions/ContentTree.transit.LayoutImage"
1004
+ }
1005
+ ]
1006
+ },
1007
+ "type": "array"
1008
+ },
1009
+ "data": {},
1010
+ "type": {
1011
+ "const": "layout-slot",
1012
+ "type": "string"
1013
+ }
1014
+ },
1015
+ "propertyOrder": [
1016
+ "type",
1017
+ "children",
1018
+ "data"
1019
+ ],
1020
+ "required": [
1021
+ "children",
1022
+ "type"
1023
+ ],
1024
+ "type": "object"
1025
+ },
1026
+ "ContentTree.transit.LayoutWidth": {
1027
+ "enum": [
1028
+ "auto",
1029
+ "full-bleed",
1030
+ "full-grid",
1031
+ "full-width",
1032
+ "in-line",
1033
+ "inset-left",
1034
+ "inset-right",
1035
+ "mid-grid"
1036
+ ],
1037
+ "type": "string"
1038
+ },
1039
+ "ContentTree.transit.Link": {
1040
+ "additionalProperties": false,
1041
+ "properties": {
1042
+ "children": {
1043
+ "items": {
1044
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1045
+ },
1046
+ "type": "array"
1047
+ },
1048
+ "data": {},
1049
+ "title": {
1050
+ "type": "string"
1051
+ },
1052
+ "type": {
1053
+ "const": "link",
1054
+ "type": "string"
1055
+ },
1056
+ "url": {
1057
+ "type": "string"
1058
+ }
1059
+ },
1060
+ "propertyOrder": [
1061
+ "type",
1062
+ "url",
1063
+ "title",
1064
+ "children",
1065
+ "data"
1066
+ ],
1067
+ "required": [
1068
+ "children",
1069
+ "title",
1070
+ "type",
1071
+ "url"
1072
+ ],
1073
+ "type": "object"
1074
+ },
1075
+ "ContentTree.transit.List": {
1076
+ "additionalProperties": false,
1077
+ "properties": {
1078
+ "children": {
1079
+ "items": {
1080
+ "$ref": "#/definitions/ContentTree.transit.ListItem"
1081
+ },
1082
+ "type": "array"
1083
+ },
1084
+ "data": {},
1085
+ "ordered": {
1086
+ "type": "boolean"
1087
+ },
1088
+ "type": {
1089
+ "const": "list",
1090
+ "type": "string"
1091
+ }
1092
+ },
1093
+ "propertyOrder": [
1094
+ "type",
1095
+ "ordered",
1096
+ "children",
1097
+ "data"
1098
+ ],
1099
+ "required": [
1100
+ "children",
1101
+ "ordered",
1102
+ "type"
1103
+ ],
1104
+ "type": "object"
1105
+ },
1106
+ "ContentTree.transit.ListItem": {
1107
+ "additionalProperties": false,
1108
+ "properties": {
1109
+ "children": {
1110
+ "items": {
1111
+ "anyOf": [
1112
+ {
1113
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
1114
+ },
1115
+ {
1116
+ "$ref": "#/definitions/ContentTree.transit.Text"
1117
+ },
1118
+ {
1119
+ "$ref": "#/definitions/ContentTree.transit.Break"
1120
+ },
1121
+ {
1122
+ "$ref": "#/definitions/ContentTree.transit.Strong"
1123
+ },
1124
+ {
1125
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
1126
+ },
1127
+ {
1128
+ "$ref": "#/definitions/ContentTree.transit.Strikethrough"
1129
+ },
1130
+ {
1131
+ "$ref": "#/definitions/ContentTree.transit.Subscript"
1132
+ },
1133
+ {
1134
+ "$ref": "#/definitions/ContentTree.transit.Superscript"
1135
+ },
1136
+ {
1137
+ "$ref": "#/definitions/ContentTree.transit.Link"
1138
+ },
1139
+ {
1140
+ "$ref": "#/definitions/ContentTree.transit.FindOutMoreLink"
1141
+ }
1142
+ ]
1143
+ },
1144
+ "type": "array"
1145
+ },
1146
+ "data": {},
1147
+ "type": {
1148
+ "const": "list-item",
1149
+ "type": "string"
1150
+ }
1151
+ },
1152
+ "propertyOrder": [
1153
+ "type",
1154
+ "children",
1155
+ "data"
1156
+ ],
1157
+ "required": [
1158
+ "children",
1159
+ "type"
1160
+ ],
1161
+ "type": "object"
1162
+ },
1163
+ "ContentTree.transit.Paragraph": {
1164
+ "additionalProperties": false,
1165
+ "properties": {
1166
+ "children": {
1167
+ "items": {
1168
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1169
+ },
1170
+ "type": "array"
1171
+ },
1172
+ "data": {},
1173
+ "type": {
1174
+ "const": "paragraph",
1175
+ "type": "string"
1176
+ }
1177
+ },
1178
+ "propertyOrder": [
1179
+ "type",
1180
+ "children",
1181
+ "data"
1182
+ ],
1183
+ "required": [
1184
+ "children",
1185
+ "type"
1186
+ ],
1187
+ "type": "object"
1188
+ },
1189
+ "ContentTree.transit.Phrasing": {
1190
+ "anyOf": [
1191
+ {
1192
+ "$ref": "#/definitions/ContentTree.transit.Text"
1193
+ },
1194
+ {
1195
+ "$ref": "#/definitions/ContentTree.transit.Break"
1196
+ },
1197
+ {
1198
+ "$ref": "#/definitions/ContentTree.transit.Strong"
1199
+ },
1200
+ {
1201
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
1202
+ },
1203
+ {
1204
+ "$ref": "#/definitions/ContentTree.transit.Strikethrough"
1205
+ },
1206
+ {
1207
+ "$ref": "#/definitions/ContentTree.transit.Subscript"
1208
+ },
1209
+ {
1210
+ "$ref": "#/definitions/ContentTree.transit.Superscript"
1211
+ },
1212
+ {
1213
+ "$ref": "#/definitions/ContentTree.transit.Link"
1214
+ },
1215
+ {
1216
+ "$ref": "#/definitions/ContentTree.transit.FindOutMoreLink"
1217
+ }
1218
+ ]
1219
+ },
1220
+ "ContentTree.transit.Pullquote": {
1221
+ "additionalProperties": false,
1222
+ "properties": {
1223
+ "data": {},
1224
+ "source": {
1225
+ "type": "string"
1226
+ },
1227
+ "text": {
1228
+ "type": "string"
1229
+ },
1230
+ "type": {
1231
+ "const": "pullquote",
1232
+ "type": "string"
1233
+ }
1234
+ },
1235
+ "propertyOrder": [
1236
+ "type",
1237
+ "text",
1238
+ "source",
1239
+ "data"
1240
+ ],
1241
+ "required": [
1242
+ "text",
1243
+ "type"
1244
+ ],
1245
+ "type": "object"
1246
+ },
1247
+ "ContentTree.transit.Recommended": {
1248
+ "additionalProperties": false,
1249
+ "properties": {
1250
+ "data": {},
1251
+ "heading": {
1252
+ "type": "string"
1253
+ },
1254
+ "id": {
1255
+ "type": "string"
1256
+ },
1257
+ "teaserTitleOverride": {
1258
+ "type": "string"
1259
+ },
1260
+ "type": {
1261
+ "const": "recommended",
1262
+ "type": "string"
1263
+ }
1264
+ },
1265
+ "propertyOrder": [
1266
+ "type",
1267
+ "id",
1268
+ "heading",
1269
+ "teaserTitleOverride",
1270
+ "data"
1271
+ ],
1272
+ "required": [
1273
+ "id",
1274
+ "type"
1275
+ ],
1276
+ "type": "object"
1277
+ },
1278
+ "ContentTree.transit.RecommendedList": {
1279
+ "additionalProperties": false,
1280
+ "properties": {
1281
+ "children": {
1282
+ "items": {
1283
+ "$ref": "#/definitions/ContentTree.transit.Recommended"
1284
+ },
1285
+ "type": "array"
1286
+ },
1287
+ "data": {},
1288
+ "heading": {
1289
+ "type": "string"
1290
+ },
1291
+ "type": {
1292
+ "const": "recommended-list",
1293
+ "type": "string"
1294
+ }
1295
+ },
1296
+ "propertyOrder": [
1297
+ "type",
1298
+ "heading",
1299
+ "children",
1300
+ "data"
1301
+ ],
1302
+ "required": [
1303
+ "children",
1304
+ "type"
1305
+ ],
1306
+ "type": "object"
1307
+ },
1308
+ "ContentTree.transit.ScrollyBlock": {
1309
+ "additionalProperties": false,
1310
+ "properties": {
1311
+ "children": {
1312
+ "items": {
1313
+ "$ref": "#/definitions/ContentTree.transit.ScrollySection"
1314
+ },
1315
+ "type": "array"
1316
+ },
1317
+ "data": {},
1318
+ "theme": {
1319
+ "enum": [
1320
+ "sans",
1321
+ "serif"
1322
+ ],
1323
+ "type": "string"
1324
+ },
1325
+ "type": {
1326
+ "const": "scrolly-block",
1327
+ "type": "string"
1328
+ }
1329
+ },
1330
+ "propertyOrder": [
1331
+ "type",
1332
+ "theme",
1333
+ "children",
1334
+ "data"
1335
+ ],
1336
+ "required": [
1337
+ "children",
1338
+ "theme",
1339
+ "type"
1340
+ ],
1341
+ "type": "object"
1342
+ },
1343
+ "ContentTree.transit.ScrollyCopy": {
1344
+ "additionalProperties": false,
1345
+ "properties": {
1346
+ "children": {
1347
+ "items": {
1348
+ "anyOf": [
1349
+ {
1350
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
1351
+ },
1352
+ {
1353
+ "$ref": "#/definitions/ContentTree.transit.ScrollyHeading"
1354
+ }
1355
+ ]
1356
+ },
1357
+ "type": "array"
1358
+ },
1359
+ "data": {},
1360
+ "type": {
1361
+ "const": "scrolly-copy",
1362
+ "type": "string"
1363
+ }
1364
+ },
1365
+ "propertyOrder": [
1366
+ "type",
1367
+ "children",
1368
+ "data"
1369
+ ],
1370
+ "required": [
1371
+ "children",
1372
+ "type"
1373
+ ],
1374
+ "type": "object"
1375
+ },
1376
+ "ContentTree.transit.ScrollyHeading": {
1377
+ "additionalProperties": false,
1378
+ "properties": {
1379
+ "children": {
1380
+ "items": {
1381
+ "$ref": "#/definitions/ContentTree.transit.Text"
1382
+ },
1383
+ "type": "array"
1384
+ },
1385
+ "data": {},
1386
+ "level": {
1387
+ "enum": [
1388
+ "chapter",
1389
+ "heading",
1390
+ "subheading"
1391
+ ],
1392
+ "type": "string"
1393
+ },
1394
+ "type": {
1395
+ "const": "scrolly-heading",
1396
+ "type": "string"
1397
+ }
1398
+ },
1399
+ "propertyOrder": [
1400
+ "type",
1401
+ "level",
1402
+ "children",
1403
+ "data"
1404
+ ],
1405
+ "required": [
1406
+ "children",
1407
+ "level",
1408
+ "type"
1409
+ ],
1410
+ "type": "object"
1411
+ },
1412
+ "ContentTree.transit.ScrollyImage": {
1413
+ "additionalProperties": false,
1414
+ "properties": {
1415
+ "data": {},
1416
+ "id": {
1417
+ "type": "string"
1418
+ },
1419
+ "type": {
1420
+ "const": "scrolly-image",
1421
+ "type": "string"
1422
+ }
1423
+ },
1424
+ "propertyOrder": [
1425
+ "type",
1426
+ "id",
1427
+ "data"
1428
+ ],
1429
+ "required": [
1430
+ "id",
1431
+ "type"
1432
+ ],
1433
+ "type": "object"
1434
+ },
1435
+ "ContentTree.transit.ScrollySection": {
1436
+ "additionalProperties": false,
1437
+ "properties": {
1438
+ "children": {
1439
+ "additionalItems": {
1440
+ "$ref": "#/definitions/ContentTree.transit.ScrollyCopy"
1441
+ },
1442
+ "items": [
1443
+ {
1444
+ "$ref": "#/definitions/ContentTree.transit.ScrollyImage"
1445
+ }
1446
+ ],
1447
+ "minItems": 1,
1448
+ "type": "array"
1449
+ },
1450
+ "data": {},
1451
+ "display": {
1452
+ "enum": [
1453
+ "dark-background",
1454
+ "light-background"
1455
+ ],
1456
+ "type": "string"
1457
+ },
1458
+ "noBox": {
1459
+ "const": true,
1460
+ "type": "boolean"
1461
+ },
1462
+ "position": {
1463
+ "enum": [
1464
+ "center",
1465
+ "left",
1466
+ "right"
1467
+ ],
1468
+ "type": "string"
1469
+ },
1470
+ "transition": {
1471
+ "enum": [
1472
+ "delay-after",
1473
+ "delay-before"
1474
+ ],
1475
+ "type": "string"
1476
+ },
1477
+ "type": {
1478
+ "const": "scrolly-section",
1479
+ "type": "string"
1480
+ }
1481
+ },
1482
+ "propertyOrder": [
1483
+ "type",
1484
+ "display",
1485
+ "noBox",
1486
+ "position",
1487
+ "transition",
1488
+ "children",
1489
+ "data"
1490
+ ],
1491
+ "required": [
1492
+ "children",
1493
+ "display",
1494
+ "position",
1495
+ "type"
1496
+ ],
1497
+ "type": "object"
1498
+ },
1499
+ "ContentTree.transit.Strikethrough": {
1500
+ "additionalProperties": false,
1501
+ "properties": {
1502
+ "children": {
1503
+ "items": {
1504
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1505
+ },
1506
+ "type": "array"
1507
+ },
1508
+ "data": {},
1509
+ "type": {
1510
+ "const": "strikethrough",
1511
+ "type": "string"
1512
+ }
1513
+ },
1514
+ "propertyOrder": [
1515
+ "type",
1516
+ "children",
1517
+ "data"
1518
+ ],
1519
+ "required": [
1520
+ "children",
1521
+ "type"
1522
+ ],
1523
+ "type": "object"
1524
+ },
1525
+ "ContentTree.transit.Strong": {
1526
+ "additionalProperties": false,
1527
+ "properties": {
1528
+ "children": {
1529
+ "items": {
1530
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1531
+ },
1532
+ "type": "array"
1533
+ },
1534
+ "data": {},
1535
+ "type": {
1536
+ "const": "strong",
1537
+ "type": "string"
1538
+ }
1539
+ },
1540
+ "propertyOrder": [
1541
+ "type",
1542
+ "children",
1543
+ "data"
1544
+ ],
1545
+ "required": [
1546
+ "children",
1547
+ "type"
1548
+ ],
1549
+ "type": "object"
1550
+ },
1551
+ "ContentTree.transit.Subscript": {
1552
+ "additionalProperties": false,
1553
+ "properties": {
1554
+ "children": {
1555
+ "items": {
1556
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1557
+ },
1558
+ "type": "array"
1559
+ },
1560
+ "data": {},
1561
+ "type": {
1562
+ "const": "subscript",
1563
+ "type": "string"
1564
+ }
1565
+ },
1566
+ "propertyOrder": [
1567
+ "type",
1568
+ "children",
1569
+ "data"
1570
+ ],
1571
+ "required": [
1572
+ "children",
1573
+ "type"
1574
+ ],
1575
+ "type": "object"
1576
+ },
1577
+ "ContentTree.transit.Superscript": {
1578
+ "additionalProperties": false,
1579
+ "properties": {
1580
+ "children": {
1581
+ "items": {
1582
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1583
+ },
1584
+ "type": "array"
1585
+ },
1586
+ "data": {},
1587
+ "type": {
1588
+ "const": "superscript",
1589
+ "type": "string"
1590
+ }
1591
+ },
1592
+ "propertyOrder": [
1593
+ "type",
1594
+ "children",
1595
+ "data"
1596
+ ],
1597
+ "required": [
1598
+ "children",
1599
+ "type"
1600
+ ],
1601
+ "type": "object"
1602
+ },
1603
+ "ContentTree.transit.Table": {
1604
+ "additionalProperties": false,
1605
+ "properties": {
1606
+ "children": {
1607
+ "$ref": "#/definitions/ContentTree.transit.TableChildren"
1608
+ },
1609
+ "collapseAfterHowManyRows": {
1610
+ "type": "number"
1611
+ },
1612
+ "columnSettings": {
1613
+ "items": {
1614
+ "additionalProperties": false,
1615
+ "properties": {
1616
+ "hideOnMobile": {
1617
+ "type": "boolean"
1618
+ },
1619
+ "sortType": {
1620
+ "enum": [
1621
+ "currency",
1622
+ "date",
1623
+ "number",
1624
+ "percent",
1625
+ "text"
1626
+ ],
1627
+ "type": "string"
1628
+ },
1629
+ "sortable": {
1630
+ "type": "boolean"
1631
+ }
1632
+ },
1633
+ "propertyOrder": [
1634
+ "hideOnMobile",
1635
+ "sortable",
1636
+ "sortType"
1637
+ ],
1638
+ "required": [
1639
+ "hideOnMobile",
1640
+ "sortable"
1641
+ ],
1642
+ "type": "object"
1643
+ },
1644
+ "type": "array"
1645
+ },
1646
+ "compact": {
1647
+ "type": "boolean"
1648
+ },
1649
+ "data": {},
1650
+ "layoutWidth": {
1651
+ "$ref": "#/definitions/ContentTree.transit.TableLayoutWidth"
1652
+ },
1653
+ "responsiveStyle": {
1654
+ "enum": [
1655
+ "flat",
1656
+ "overflow",
1657
+ "scroll"
1658
+ ],
1659
+ "type": "string"
1660
+ },
1661
+ "stripes": {
1662
+ "type": "boolean"
1663
+ },
1664
+ "type": {
1665
+ "const": "table",
1666
+ "type": "string"
1667
+ }
1668
+ },
1669
+ "propertyOrder": [
1670
+ "type",
1671
+ "stripes",
1672
+ "compact",
1673
+ "layoutWidth",
1674
+ "collapseAfterHowManyRows",
1675
+ "responsiveStyle",
1676
+ "columnSettings",
1677
+ "children",
1678
+ "data"
1679
+ ],
1680
+ "required": [
1681
+ "children",
1682
+ "columnSettings",
1683
+ "compact",
1684
+ "layoutWidth",
1685
+ "responsiveStyle",
1686
+ "stripes",
1687
+ "type"
1688
+ ],
1689
+ "type": "object"
1690
+ },
1691
+ "ContentTree.transit.TableBody": {
1692
+ "additionalProperties": false,
1693
+ "properties": {
1694
+ "children": {
1695
+ "items": {
1696
+ "$ref": "#/definitions/ContentTree.transit.TableRow"
1697
+ },
1698
+ "type": "array"
1699
+ },
1700
+ "data": {},
1701
+ "type": {
1702
+ "const": "table-body",
1703
+ "type": "string"
1704
+ }
1705
+ },
1706
+ "propertyOrder": [
1707
+ "type",
1708
+ "children",
1709
+ "data"
1710
+ ],
1711
+ "required": [
1712
+ "children",
1713
+ "type"
1714
+ ],
1715
+ "type": "object"
1716
+ },
1717
+ "ContentTree.transit.TableCaption": {
1718
+ "additionalProperties": false,
1719
+ "properties": {
1720
+ "children": {
1721
+ "items": {
1722
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1723
+ },
1724
+ "type": "array"
1725
+ },
1726
+ "data": {},
1727
+ "type": {
1728
+ "const": "table-caption",
1729
+ "type": "string"
1730
+ }
1731
+ },
1732
+ "propertyOrder": [
1733
+ "type",
1734
+ "children",
1735
+ "data"
1736
+ ],
1737
+ "required": [
1738
+ "children",
1739
+ "type"
1740
+ ],
1741
+ "type": "object"
1742
+ },
1743
+ "ContentTree.transit.TableCell": {
1744
+ "additionalProperties": false,
1745
+ "properties": {
1746
+ "children": {
1747
+ "items": {
1748
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1749
+ },
1750
+ "type": "array"
1751
+ },
1752
+ "columnSpan": {
1753
+ "type": "number"
1754
+ },
1755
+ "data": {},
1756
+ "heading": {
1757
+ "type": "boolean"
1758
+ },
1759
+ "rowSpan": {
1760
+ "type": "number"
1761
+ },
1762
+ "type": {
1763
+ "const": "table-cell",
1764
+ "type": "string"
1765
+ }
1766
+ },
1767
+ "propertyOrder": [
1768
+ "type",
1769
+ "heading",
1770
+ "columnSpan",
1771
+ "rowSpan",
1772
+ "children",
1773
+ "data"
1774
+ ],
1775
+ "required": [
1776
+ "children",
1777
+ "type"
1778
+ ],
1779
+ "type": "object"
1780
+ },
1781
+ "ContentTree.transit.TableChildren": {
1782
+ "anyOf": [
1783
+ {
1784
+ "items": [
1785
+ {
1786
+ "$ref": "#/definitions/ContentTree.transit.TableCaption"
1787
+ },
1788
+ {
1789
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1790
+ },
1791
+ {
1792
+ "$ref": "#/definitions/ContentTree.transit.TableFooter"
1793
+ }
1794
+ ],
1795
+ "maxItems": 3,
1796
+ "minItems": 2,
1797
+ "type": "array"
1798
+ },
1799
+ {
1800
+ "items": [
1801
+ {
1802
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1803
+ },
1804
+ {
1805
+ "$ref": "#/definitions/ContentTree.transit.TableFooter"
1806
+ }
1807
+ ],
1808
+ "maxItems": 2,
1809
+ "minItems": 1,
1810
+ "type": "array"
1811
+ },
1812
+ {
1813
+ "items": [
1814
+ {
1815
+ "$ref": "#/definitions/ContentTree.transit.TableCaption"
1816
+ },
1817
+ {
1818
+ "$ref": "#/definitions/ContentTree.transit.TableHeader"
1819
+ },
1820
+ {
1821
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1822
+ },
1823
+ {
1824
+ "$ref": "#/definitions/ContentTree.transit.TableFooter"
1825
+ }
1826
+ ],
1827
+ "maxItems": 4,
1828
+ "minItems": 3,
1829
+ "type": "array"
1830
+ },
1831
+ {
1832
+ "items": [
1833
+ {
1834
+ "$ref": "#/definitions/ContentTree.transit.TableHeader"
1835
+ },
1836
+ {
1837
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1838
+ },
1839
+ {
1840
+ "$ref": "#/definitions/ContentTree.transit.TableFooter"
1841
+ }
1842
+ ],
1843
+ "maxItems": 3,
1844
+ "minItems": 2,
1845
+ "type": "array"
1846
+ }
1847
+ ]
1848
+ },
1849
+ "ContentTree.transit.TableFooter": {
1850
+ "additionalProperties": false,
1851
+ "properties": {
1852
+ "children": {
1853
+ "items": {
1854
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1855
+ },
1856
+ "type": "array"
1857
+ },
1858
+ "data": {},
1859
+ "type": {
1860
+ "const": "table-footer",
1861
+ "type": "string"
1862
+ }
1863
+ },
1864
+ "propertyOrder": [
1865
+ "type",
1866
+ "children",
1867
+ "data"
1868
+ ],
1869
+ "required": [
1870
+ "children",
1871
+ "type"
1872
+ ],
1873
+ "type": "object"
1874
+ },
1875
+ "ContentTree.transit.TableHeader": {
1876
+ "additionalProperties": false,
1877
+ "properties": {
1878
+ "children": {
1879
+ "items": {
1880
+ "$ref": "#/definitions/ContentTree.transit.TableRow"
1881
+ },
1882
+ "type": "array"
1883
+ },
1884
+ "data": {},
1885
+ "type": {
1886
+ "const": "table-header",
1887
+ "type": "string"
1888
+ }
1889
+ },
1890
+ "propertyOrder": [
1891
+ "type",
1892
+ "children",
1893
+ "data"
1894
+ ],
1895
+ "required": [
1896
+ "children",
1897
+ "type"
1898
+ ],
1899
+ "type": "object"
1900
+ },
1901
+ "ContentTree.transit.TableLayoutWidth": {
1902
+ "enum": [
1903
+ "auto",
1904
+ "full-bleed",
1905
+ "full-grid",
1906
+ "inset-left",
1907
+ "inset-right"
1908
+ ],
1909
+ "type": "string"
1910
+ },
1911
+ "ContentTree.transit.TableRow": {
1912
+ "additionalProperties": false,
1913
+ "properties": {
1914
+ "children": {
1915
+ "items": {
1916
+ "$ref": "#/definitions/ContentTree.transit.TableCell"
1917
+ },
1918
+ "type": "array"
1919
+ },
1920
+ "data": {},
1921
+ "type": {
1922
+ "const": "table-row",
1923
+ "type": "string"
1924
+ }
1925
+ },
1926
+ "propertyOrder": [
1927
+ "type",
1928
+ "children",
1929
+ "data"
1930
+ ],
1931
+ "required": [
1932
+ "children",
1933
+ "type"
1934
+ ],
1935
+ "type": "object"
1936
+ },
1937
+ "ContentTree.transit.Text": {
1938
+ "additionalProperties": false,
1939
+ "properties": {
1940
+ "data": {},
1941
+ "type": {
1942
+ "const": "text",
1943
+ "type": "string"
1944
+ },
1945
+ "value": {
1946
+ "type": "string"
1947
+ }
1948
+ },
1949
+ "propertyOrder": [
1950
+ "type",
1951
+ "value",
1952
+ "data"
1953
+ ],
1954
+ "required": [
1955
+ "type",
1956
+ "value"
1957
+ ],
1958
+ "type": "object"
1959
+ },
1960
+ "ContentTree.transit.ThematicBreak": {
1961
+ "additionalProperties": false,
1962
+ "properties": {
1963
+ "data": {},
1964
+ "type": {
1965
+ "const": "thematic-break",
1966
+ "type": "string"
1967
+ }
1968
+ },
1969
+ "propertyOrder": [
1970
+ "type",
1971
+ "data"
1972
+ ],
1973
+ "required": [
1974
+ "type"
1975
+ ],
1976
+ "type": "object"
1977
+ },
1978
+ "ContentTree.transit.Timeline": {
1979
+ "additionalProperties": false,
1980
+ "description": "Timeline nodes display a timeline of events in arbitrary order.",
1981
+ "properties": {
1982
+ "children": {
1983
+ "items": {
1984
+ "$ref": "#/definitions/ContentTree.transit.TimelineEvent"
1985
+ },
1986
+ "type": "array"
1987
+ },
1988
+ "data": {},
1989
+ "title": {
1990
+ "description": "The title for the timeline",
1991
+ "type": "string"
1992
+ },
1993
+ "type": {
1994
+ "const": "timeline",
1995
+ "type": "string"
1996
+ }
1997
+ },
1998
+ "propertyOrder": [
1999
+ "type",
2000
+ "title",
2001
+ "children",
2002
+ "data"
2003
+ ],
2004
+ "required": [
2005
+ "children",
2006
+ "title",
2007
+ "type"
2008
+ ],
2009
+ "type": "object"
2010
+ },
2011
+ "ContentTree.transit.TimelineEvent": {
2012
+ "additionalProperties": false,
2013
+ "description": "TimelineEvent is the representation of a single event in a Timeline.",
2014
+ "properties": {
2015
+ "children": {
2016
+ "description": "Any combination of paragraphs and image sets",
2017
+ "items": {
2018
+ "anyOf": [
2019
+ {
2020
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
2021
+ },
2022
+ {
2023
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
2024
+ }
2025
+ ]
2026
+ },
2027
+ "type": "array"
2028
+ },
2029
+ "data": {},
2030
+ "title": {
2031
+ "description": "The title of the event",
2032
+ "type": "string"
2033
+ },
2034
+ "type": {
2035
+ "const": "timeline-event",
2036
+ "type": "string"
2037
+ }
2038
+ },
2039
+ "propertyOrder": [
2040
+ "type",
2041
+ "title",
2042
+ "children",
2043
+ "data"
2044
+ ],
2045
+ "required": [
2046
+ "children",
2047
+ "title",
2048
+ "type"
2049
+ ],
2050
+ "type": "object"
2051
+ },
2052
+ "ContentTree.transit.Tweet": {
2053
+ "additionalProperties": false,
2054
+ "properties": {
2055
+ "data": {},
2056
+ "id": {
2057
+ "type": "string"
2058
+ },
2059
+ "type": {
2060
+ "const": "tweet",
2061
+ "type": "string"
2062
+ }
2063
+ },
2064
+ "propertyOrder": [
2065
+ "id",
2066
+ "type",
2067
+ "data"
2068
+ ],
2069
+ "required": [
2070
+ "id",
2071
+ "type"
2072
+ ],
2073
+ "type": "object"
2074
+ },
2075
+ "ContentTree.transit.Video": {
2076
+ "additionalProperties": false,
2077
+ "properties": {
2078
+ "data": {},
2079
+ "id": {
2080
+ "type": "string"
2081
+ },
2082
+ "type": {
2083
+ "const": "video",
2084
+ "type": "string"
2085
+ }
2086
+ },
2087
+ "propertyOrder": [
2088
+ "type",
2089
+ "id",
2090
+ "data"
2091
+ ],
2092
+ "required": [
2093
+ "id",
2094
+ "type"
2095
+ ],
2096
+ "type": "object"
2097
+ },
2098
+ "ContentTree.transit.VimeoVideo": {
2099
+ "additionalProperties": false,
2100
+ "properties": {
2101
+ "data": {},
2102
+ "type": {
2103
+ "const": "vimeo-video",
2104
+ "type": "string"
2105
+ },
2106
+ "url": {
2107
+ "description": "Vimeo embed URL e.g. https://player.vimeo.com/player/<id> or https://vimeo.com/<id>",
2108
+ "type": "string"
2109
+ }
2110
+ },
2111
+ "propertyOrder": [
2112
+ "type",
2113
+ "url",
2114
+ "data"
2115
+ ],
2116
+ "required": [
2117
+ "type",
2118
+ "url"
2119
+ ],
2120
+ "type": "object"
2121
+ },
2122
+ "ContentTree.transit.YoutubeVideo": {
2123
+ "additionalProperties": false,
2124
+ "properties": {
2125
+ "data": {},
2126
+ "type": {
2127
+ "const": "youtube-video",
2128
+ "type": "string"
2129
+ },
2130
+ "url": {
2131
+ "type": "string"
2132
+ }
2133
+ },
2134
+ "propertyOrder": [
2135
+ "type",
2136
+ "url",
2137
+ "data"
2138
+ ],
2139
+ "required": [
2140
+ "type",
2141
+ "url"
2142
+ ],
2143
+ "type": "object"
2144
+ }
2145
+ },
2146
+ "properties": {
2147
+ "body": {
2148
+ "$ref": "#/definitions/ContentTree.transit.Body"
2149
+ },
2150
+ "data": {},
2151
+ "type": {
2152
+ "const": "root",
2153
+ "type": "string"
2154
+ }
2155
+ },
2156
+ "propertyOrder": [
2157
+ "type",
2158
+ "body",
2159
+ "data"
2160
+ ],
2161
+ "required": [
2162
+ "body",
2163
+ "type"
2164
+ ],
2165
+ "type": "object"
2166
+ }
2167
+