@financial-times/content-tree 0.1.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,1523 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "additionalProperties": false,
4
+ "definitions": {
5
+ "ContentTree.transit.BigNumber": {
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "data": {},
9
+ "description": {
10
+ "type": "string"
11
+ },
12
+ "number": {
13
+ "type": "string"
14
+ },
15
+ "type": {
16
+ "const": "big-number",
17
+ "type": "string"
18
+ }
19
+ },
20
+ "required": [
21
+ "description",
22
+ "number",
23
+ "type"
24
+ ],
25
+ "type": "object"
26
+ },
27
+ "ContentTree.transit.Blockquote": {
28
+ "additionalProperties": false,
29
+ "properties": {
30
+ "children": {
31
+ "items": {
32
+ "anyOf": [
33
+ {
34
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
35
+ },
36
+ {
37
+ "$ref": "#/definitions/ContentTree.transit.Text"
38
+ },
39
+ {
40
+ "$ref": "#/definitions/ContentTree.transit.Break"
41
+ },
42
+ {
43
+ "$ref": "#/definitions/ContentTree.transit.Strong"
44
+ },
45
+ {
46
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
47
+ },
48
+ {
49
+ "$ref": "#/definitions/ContentTree.transit.Strikethrough"
50
+ },
51
+ {
52
+ "$ref": "#/definitions/ContentTree.transit.Link"
53
+ },
54
+ {
55
+ "$ref": "#/definitions/ContentTree.transit.FindOutMoreLink"
56
+ }
57
+ ]
58
+ },
59
+ "type": "array"
60
+ },
61
+ "data": {},
62
+ "type": {
63
+ "const": "blockquote",
64
+ "type": "string"
65
+ }
66
+ },
67
+ "required": [
68
+ "children",
69
+ "type"
70
+ ],
71
+ "type": "object"
72
+ },
73
+ "ContentTree.transit.BodyBlock": {
74
+ "anyOf": [
75
+ {
76
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
77
+ },
78
+ {
79
+ "$ref": "#/definitions/ContentTree.transit.Heading"
80
+ },
81
+ {
82
+ "$ref": "#/definitions/ContentTree.transit.List"
83
+ },
84
+ {
85
+ "$ref": "#/definitions/ContentTree.transit.Blockquote"
86
+ },
87
+ {
88
+ "$ref": "#/definitions/ContentTree.transit.ThematicBreak"
89
+ },
90
+ {
91
+ "$ref": "#/definitions/ContentTree.transit.Text"
92
+ },
93
+ {
94
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
95
+ },
96
+ {
97
+ "$ref": "#/definitions/ContentTree.transit.Flourish"
98
+ },
99
+ {
100
+ "$ref": "#/definitions/ContentTree.transit.BigNumber"
101
+ },
102
+ {
103
+ "$ref": "#/definitions/ContentTree.transit.CustomCodeComponent"
104
+ },
105
+ {
106
+ "$ref": "#/definitions/ContentTree.transit.Layout"
107
+ },
108
+ {
109
+ "$ref": "#/definitions/ContentTree.transit.Pullquote"
110
+ },
111
+ {
112
+ "$ref": "#/definitions/ContentTree.transit.ScrollyBlock"
113
+ },
114
+ {
115
+ "$ref": "#/definitions/ContentTree.transit.Table"
116
+ },
117
+ {
118
+ "$ref": "#/definitions/ContentTree.transit.Recommended"
119
+ },
120
+ {
121
+ "$ref": "#/definitions/ContentTree.transit.RecommendedList"
122
+ },
123
+ {
124
+ "$ref": "#/definitions/ContentTree.transit.Tweet"
125
+ },
126
+ {
127
+ "$ref": "#/definitions/ContentTree.transit.Video"
128
+ },
129
+ {
130
+ "$ref": "#/definitions/ContentTree.transit.YoutubeVideo"
131
+ },
132
+ {
133
+ "$ref": "#/definitions/ContentTree.transit.Timeline"
134
+ },
135
+ {
136
+ "$ref": "#/definitions/ContentTree.transit.ImagePair"
137
+ },
138
+ {
139
+ "$ref": "#/definitions/ContentTree.transit.InNumbers"
140
+ },
141
+ {
142
+ "$ref": "#/definitions/ContentTree.transit.Definition"
143
+ },
144
+ {
145
+ "$ref": "#/definitions/ContentTree.transit.InfoBox"
146
+ },
147
+ {
148
+ "$ref": "#/definitions/ContentTree.transit.InfoPair"
149
+ }
150
+ ]
151
+ },
152
+ "ContentTree.transit.Break": {
153
+ "additionalProperties": false,
154
+ "properties": {
155
+ "data": {},
156
+ "type": {
157
+ "const": "break",
158
+ "type": "string"
159
+ }
160
+ },
161
+ "required": [
162
+ "type"
163
+ ],
164
+ "type": "object"
165
+ },
166
+ "ContentTree.transit.Card": {
167
+ "additionalProperties": false,
168
+ "description": "A card describes a subject with images and text",
169
+ "properties": {
170
+ "children": {
171
+ "items": {
172
+ "$ref": "#/definitions/ContentTree.transit.CardChildren"
173
+ },
174
+ "type": "array"
175
+ },
176
+ "data": {},
177
+ "title": {
178
+ "description": "The title of this card",
179
+ "type": "string"
180
+ },
181
+ "type": {
182
+ "const": "card",
183
+ "type": "string"
184
+ }
185
+ },
186
+ "required": [
187
+ "children",
188
+ "type"
189
+ ],
190
+ "type": "object"
191
+ },
192
+ "ContentTree.transit.CardChildren": {
193
+ "anyOf": [
194
+ {
195
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
196
+ },
197
+ {
198
+ "$ref": "#/definitions/ContentTree.transit.List"
199
+ },
200
+ {
201
+ "$ref": "#/definitions/ContentTree.transit.Blockquote"
202
+ },
203
+ {
204
+ "$ref": "#/definitions/ContentTree.transit.ThematicBreak"
205
+ },
206
+ {
207
+ "$ref": "#/definitions/ContentTree.transit.Text"
208
+ },
209
+ {
210
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
211
+ }
212
+ ],
213
+ "description": "Allowed children for a card"
214
+ },
215
+ "ContentTree.transit.CustomCodeComponent": {
216
+ "additionalProperties": false,
217
+ "properties": {
218
+ "data": {},
219
+ "id": {
220
+ "description": "Id taken from the CAPI url",
221
+ "type": "string"
222
+ },
223
+ "layoutWidth": {
224
+ "$ref": "#/definitions/ContentTree.transit.LayoutWidth",
225
+ "description": "How the component should be presented in the article page according to the column layout system"
226
+ },
227
+ "type": {
228
+ "const": "custom-code-component",
229
+ "description": "Component type",
230
+ "type": "string"
231
+ }
232
+ },
233
+ "required": [
234
+ "id",
235
+ "layoutWidth",
236
+ "type"
237
+ ],
238
+ "type": "object"
239
+ },
240
+ "ContentTree.transit.Definition": {
241
+ "additionalProperties": false,
242
+ "description": "A definition has a term and a related description. It is used to describe a term.",
243
+ "properties": {
244
+ "data": {},
245
+ "description": {
246
+ "type": "string"
247
+ },
248
+ "term": {
249
+ "type": "string"
250
+ },
251
+ "type": {
252
+ "const": "definition",
253
+ "type": "string"
254
+ }
255
+ },
256
+ "required": [
257
+ "description",
258
+ "term",
259
+ "type"
260
+ ],
261
+ "type": "object"
262
+ },
263
+ "ContentTree.transit.Emphasis": {
264
+ "additionalProperties": false,
265
+ "properties": {
266
+ "children": {
267
+ "items": {
268
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
269
+ },
270
+ "type": "array"
271
+ },
272
+ "data": {},
273
+ "type": {
274
+ "const": "emphasis",
275
+ "type": "string"
276
+ }
277
+ },
278
+ "required": [
279
+ "children",
280
+ "type"
281
+ ],
282
+ "type": "object"
283
+ },
284
+ "ContentTree.transit.FindOutMoreLink": {
285
+ "additionalProperties": false,
286
+ "properties": {
287
+ "children": {
288
+ "items": {
289
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
290
+ },
291
+ "type": "array"
292
+ },
293
+ "data": {},
294
+ "title": {
295
+ "type": "string"
296
+ },
297
+ "type": {
298
+ "const": "find-out-more-link",
299
+ "type": "string"
300
+ },
301
+ "url": {
302
+ "type": "string"
303
+ }
304
+ },
305
+ "required": [
306
+ "children",
307
+ "title",
308
+ "type",
309
+ "url"
310
+ ],
311
+ "type": "object"
312
+ },
313
+ "ContentTree.transit.Flourish": {
314
+ "additionalProperties": false,
315
+ "properties": {
316
+ "data": {},
317
+ "description": {
318
+ "type": "string"
319
+ },
320
+ "flourishType": {
321
+ "type": "string"
322
+ },
323
+ "fragmentIdentifier": {
324
+ "type": "string"
325
+ },
326
+ "id": {
327
+ "type": "string"
328
+ },
329
+ "layoutWidth": {
330
+ "$ref": "#/definitions/ContentTree.transit.FlourishLayoutWidth"
331
+ },
332
+ "timestamp": {
333
+ "type": "string"
334
+ },
335
+ "type": {
336
+ "const": "flourish",
337
+ "type": "string"
338
+ }
339
+ },
340
+ "required": [
341
+ "flourishType",
342
+ "id",
343
+ "layoutWidth",
344
+ "type"
345
+ ],
346
+ "type": "object"
347
+ },
348
+ "ContentTree.transit.FlourishLayoutWidth": {
349
+ "enum": [
350
+ "full-grid",
351
+ "in-line"
352
+ ],
353
+ "type": "string"
354
+ },
355
+ "ContentTree.transit.Heading": {
356
+ "additionalProperties": false,
357
+ "properties": {
358
+ "children": {
359
+ "items": {
360
+ "$ref": "#/definitions/ContentTree.transit.Text"
361
+ },
362
+ "type": "array"
363
+ },
364
+ "data": {},
365
+ "fragmentIdentifier": {
366
+ "type": "string"
367
+ },
368
+ "level": {
369
+ "enum": [
370
+ "chapter",
371
+ "label",
372
+ "subheading"
373
+ ],
374
+ "type": "string"
375
+ },
376
+ "type": {
377
+ "const": "heading",
378
+ "type": "string"
379
+ }
380
+ },
381
+ "required": [
382
+ "children",
383
+ "level",
384
+ "type"
385
+ ],
386
+ "type": "object"
387
+ },
388
+ "ContentTree.transit.ImagePair": {
389
+ "additionalProperties": false,
390
+ "properties": {
391
+ "children": {
392
+ "items": [
393
+ {
394
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
395
+ },
396
+ {
397
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
398
+ }
399
+ ],
400
+ "maxItems": 2,
401
+ "minItems": 2,
402
+ "type": "array"
403
+ },
404
+ "data": {},
405
+ "type": {
406
+ "const": "image-pair",
407
+ "type": "string"
408
+ }
409
+ },
410
+ "required": [
411
+ "children",
412
+ "type"
413
+ ],
414
+ "type": "object"
415
+ },
416
+ "ContentTree.transit.ImageSet": {
417
+ "additionalProperties": false,
418
+ "properties": {
419
+ "data": {},
420
+ "fragmentIdentifier": {
421
+ "type": "string"
422
+ },
423
+ "id": {
424
+ "type": "string"
425
+ },
426
+ "type": {
427
+ "const": "image-set",
428
+ "type": "string"
429
+ }
430
+ },
431
+ "required": [
432
+ "id",
433
+ "type"
434
+ ],
435
+ "type": "object"
436
+ },
437
+ "ContentTree.transit.InNumbers": {
438
+ "additionalProperties": false,
439
+ "description": "InNumbers represents a set of numbers with related descriptions.",
440
+ "properties": {
441
+ "children": {
442
+ "items": [
443
+ {
444
+ "$ref": "#/definitions/ContentTree.transit.Definition"
445
+ },
446
+ {
447
+ "$ref": "#/definitions/ContentTree.transit.Definition"
448
+ },
449
+ {
450
+ "$ref": "#/definitions/ContentTree.transit.Definition"
451
+ }
452
+ ],
453
+ "maxItems": 3,
454
+ "minItems": 3,
455
+ "type": "array"
456
+ },
457
+ "data": {},
458
+ "title": {
459
+ "description": "The title for the InNumbers",
460
+ "type": "string"
461
+ },
462
+ "type": {
463
+ "const": "in-numbers",
464
+ "type": "string"
465
+ }
466
+ },
467
+ "required": [
468
+ "children",
469
+ "type"
470
+ ],
471
+ "type": "object"
472
+ },
473
+ "ContentTree.transit.InfoBox": {
474
+ "additionalProperties": false,
475
+ "description": "An info box describes a subject via a single card",
476
+ "properties": {
477
+ "children": {
478
+ "items": [
479
+ {
480
+ "$ref": "#/definitions/ContentTree.transit.Card"
481
+ }
482
+ ],
483
+ "maxItems": 1,
484
+ "minItems": 1,
485
+ "type": "array"
486
+ },
487
+ "data": {},
488
+ "layoutWidth": {
489
+ "$ref": "#/definitions/ContentTree.transit.InfoBoxLayoutWidth",
490
+ "description": "The layout width supported by this node"
491
+ },
492
+ "type": {
493
+ "const": "info-box",
494
+ "type": "string"
495
+ }
496
+ },
497
+ "required": [
498
+ "children",
499
+ "layoutWidth",
500
+ "type"
501
+ ],
502
+ "type": "object"
503
+ },
504
+ "ContentTree.transit.InfoBoxLayoutWidth": {
505
+ "description": "Allowed layout widths for an InfoBox.",
506
+ "enum": [
507
+ "in-line",
508
+ "inset-left"
509
+ ],
510
+ "type": "string"
511
+ },
512
+ "ContentTree.transit.InfoPair": {
513
+ "additionalProperties": false,
514
+ "description": "InfoPair provides exactly two cards.",
515
+ "properties": {
516
+ "children": {
517
+ "items": [
518
+ {
519
+ "$ref": "#/definitions/ContentTree.transit.Card"
520
+ },
521
+ {
522
+ "$ref": "#/definitions/ContentTree.transit.Card"
523
+ }
524
+ ],
525
+ "maxItems": 2,
526
+ "minItems": 2,
527
+ "type": "array"
528
+ },
529
+ "data": {},
530
+ "title": {
531
+ "description": "The title of the info pair",
532
+ "type": "string"
533
+ },
534
+ "type": {
535
+ "const": "info-pair",
536
+ "type": "string"
537
+ }
538
+ },
539
+ "required": [
540
+ "children",
541
+ "type"
542
+ ],
543
+ "type": "object"
544
+ },
545
+ "ContentTree.transit.Layout": {
546
+ "additionalProperties": false,
547
+ "properties": {
548
+ "children": {
549
+ "anyOf": [
550
+ {
551
+ "additionalItems": {
552
+ "$ref": "#/definitions/ContentTree.transit.LayoutSlot"
553
+ },
554
+ "items": [
555
+ {
556
+ "$ref": "#/definitions/ContentTree.transit.Heading"
557
+ },
558
+ {
559
+ "$ref": "#/definitions/ContentTree.transit.LayoutImage"
560
+ }
561
+ ],
562
+ "minItems": 2,
563
+ "type": "array"
564
+ },
565
+ {
566
+ "additionalItems": {
567
+ "$ref": "#/definitions/ContentTree.transit.LayoutSlot"
568
+ },
569
+ "items": [
570
+ {
571
+ "$ref": "#/definitions/ContentTree.transit.Heading"
572
+ }
573
+ ],
574
+ "minItems": 1,
575
+ "type": "array"
576
+ },
577
+ {
578
+ "items": {
579
+ "$ref": "#/definitions/ContentTree.transit.LayoutSlot"
580
+ },
581
+ "type": "array"
582
+ }
583
+ ]
584
+ },
585
+ "data": {},
586
+ "layoutName": {
587
+ "enum": [
588
+ "auto",
589
+ "card",
590
+ "timeline"
591
+ ],
592
+ "type": "string"
593
+ },
594
+ "layoutWidth": {
595
+ "type": "string"
596
+ },
597
+ "type": {
598
+ "const": "layout",
599
+ "type": "string"
600
+ }
601
+ },
602
+ "required": [
603
+ "children",
604
+ "layoutName",
605
+ "layoutWidth",
606
+ "type"
607
+ ],
608
+ "type": "object"
609
+ },
610
+ "ContentTree.transit.LayoutImage": {
611
+ "additionalProperties": false,
612
+ "properties": {
613
+ "alt": {
614
+ "type": "string"
615
+ },
616
+ "caption": {
617
+ "type": "string"
618
+ },
619
+ "credit": {
620
+ "type": "string"
621
+ },
622
+ "data": {},
623
+ "id": {
624
+ "type": "string"
625
+ },
626
+ "type": {
627
+ "const": "layout-image",
628
+ "type": "string"
629
+ }
630
+ },
631
+ "required": [
632
+ "alt",
633
+ "caption",
634
+ "credit",
635
+ "id",
636
+ "type"
637
+ ],
638
+ "type": "object"
639
+ },
640
+ "ContentTree.transit.LayoutSlot": {
641
+ "additionalProperties": false,
642
+ "properties": {
643
+ "children": {
644
+ "items": {
645
+ "anyOf": [
646
+ {
647
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
648
+ },
649
+ {
650
+ "$ref": "#/definitions/ContentTree.transit.Heading"
651
+ },
652
+ {
653
+ "$ref": "#/definitions/ContentTree.transit.LayoutImage"
654
+ }
655
+ ]
656
+ },
657
+ "type": "array"
658
+ },
659
+ "data": {},
660
+ "type": {
661
+ "const": "layout-slot",
662
+ "type": "string"
663
+ }
664
+ },
665
+ "required": [
666
+ "children",
667
+ "type"
668
+ ],
669
+ "type": "object"
670
+ },
671
+ "ContentTree.transit.LayoutWidth": {
672
+ "enum": [
673
+ "auto",
674
+ "full-bleed",
675
+ "full-grid",
676
+ "full-width",
677
+ "in-line",
678
+ "inset-left",
679
+ "inset-right",
680
+ "mid-grid"
681
+ ],
682
+ "type": "string"
683
+ },
684
+ "ContentTree.transit.Link": {
685
+ "additionalProperties": false,
686
+ "properties": {
687
+ "children": {
688
+ "items": {
689
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
690
+ },
691
+ "type": "array"
692
+ },
693
+ "data": {},
694
+ "title": {
695
+ "type": "string"
696
+ },
697
+ "type": {
698
+ "const": "link",
699
+ "type": "string"
700
+ },
701
+ "url": {
702
+ "type": "string"
703
+ }
704
+ },
705
+ "required": [
706
+ "children",
707
+ "title",
708
+ "type",
709
+ "url"
710
+ ],
711
+ "type": "object"
712
+ },
713
+ "ContentTree.transit.List": {
714
+ "additionalProperties": false,
715
+ "properties": {
716
+ "children": {
717
+ "items": {
718
+ "$ref": "#/definitions/ContentTree.transit.ListItem"
719
+ },
720
+ "type": "array"
721
+ },
722
+ "data": {},
723
+ "ordered": {
724
+ "type": "boolean"
725
+ },
726
+ "type": {
727
+ "const": "list",
728
+ "type": "string"
729
+ }
730
+ },
731
+ "required": [
732
+ "children",
733
+ "ordered",
734
+ "type"
735
+ ],
736
+ "type": "object"
737
+ },
738
+ "ContentTree.transit.ListItem": {
739
+ "additionalProperties": false,
740
+ "properties": {
741
+ "children": {
742
+ "items": {
743
+ "anyOf": [
744
+ {
745
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
746
+ },
747
+ {
748
+ "$ref": "#/definitions/ContentTree.transit.Text"
749
+ },
750
+ {
751
+ "$ref": "#/definitions/ContentTree.transit.Break"
752
+ },
753
+ {
754
+ "$ref": "#/definitions/ContentTree.transit.Strong"
755
+ },
756
+ {
757
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
758
+ },
759
+ {
760
+ "$ref": "#/definitions/ContentTree.transit.Strikethrough"
761
+ },
762
+ {
763
+ "$ref": "#/definitions/ContentTree.transit.Link"
764
+ },
765
+ {
766
+ "$ref": "#/definitions/ContentTree.transit.FindOutMoreLink"
767
+ }
768
+ ]
769
+ },
770
+ "type": "array"
771
+ },
772
+ "data": {},
773
+ "type": {
774
+ "const": "list-item",
775
+ "type": "string"
776
+ }
777
+ },
778
+ "required": [
779
+ "children",
780
+ "type"
781
+ ],
782
+ "type": "object"
783
+ },
784
+ "ContentTree.transit.Paragraph": {
785
+ "additionalProperties": false,
786
+ "properties": {
787
+ "children": {
788
+ "items": {
789
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
790
+ },
791
+ "type": "array"
792
+ },
793
+ "data": {},
794
+ "type": {
795
+ "const": "paragraph",
796
+ "type": "string"
797
+ }
798
+ },
799
+ "required": [
800
+ "children",
801
+ "type"
802
+ ],
803
+ "type": "object"
804
+ },
805
+ "ContentTree.transit.Phrasing": {
806
+ "anyOf": [
807
+ {
808
+ "$ref": "#/definitions/ContentTree.transit.Text"
809
+ },
810
+ {
811
+ "$ref": "#/definitions/ContentTree.transit.Break"
812
+ },
813
+ {
814
+ "$ref": "#/definitions/ContentTree.transit.Strong"
815
+ },
816
+ {
817
+ "$ref": "#/definitions/ContentTree.transit.Emphasis"
818
+ },
819
+ {
820
+ "$ref": "#/definitions/ContentTree.transit.Strikethrough"
821
+ },
822
+ {
823
+ "$ref": "#/definitions/ContentTree.transit.Link"
824
+ },
825
+ {
826
+ "$ref": "#/definitions/ContentTree.transit.FindOutMoreLink"
827
+ }
828
+ ]
829
+ },
830
+ "ContentTree.transit.Pullquote": {
831
+ "additionalProperties": false,
832
+ "properties": {
833
+ "data": {},
834
+ "source": {
835
+ "type": "string"
836
+ },
837
+ "text": {
838
+ "type": "string"
839
+ },
840
+ "type": {
841
+ "const": "pullquote",
842
+ "type": "string"
843
+ }
844
+ },
845
+ "required": [
846
+ "text",
847
+ "type"
848
+ ],
849
+ "type": "object"
850
+ },
851
+ "ContentTree.transit.Recommended": {
852
+ "additionalProperties": false,
853
+ "properties": {
854
+ "data": {},
855
+ "heading": {
856
+ "type": "string"
857
+ },
858
+ "id": {
859
+ "type": "string"
860
+ },
861
+ "teaserTitleOverride": {
862
+ "type": "string"
863
+ },
864
+ "type": {
865
+ "const": "recommended",
866
+ "type": "string"
867
+ }
868
+ },
869
+ "required": [
870
+ "id",
871
+ "type"
872
+ ],
873
+ "type": "object"
874
+ },
875
+ "ContentTree.transit.RecommendedList": {
876
+ "additionalProperties": false,
877
+ "properties": {
878
+ "children": {
879
+ "items": {
880
+ "$ref": "#/definitions/ContentTree.transit.Recommended"
881
+ },
882
+ "type": "array"
883
+ },
884
+ "data": {},
885
+ "heading": {
886
+ "type": "string"
887
+ },
888
+ "type": {
889
+ "const": "recommended-list",
890
+ "type": "string"
891
+ }
892
+ },
893
+ "required": [
894
+ "children",
895
+ "type"
896
+ ],
897
+ "type": "object"
898
+ },
899
+ "ContentTree.transit.ScrollyBlock": {
900
+ "additionalProperties": false,
901
+ "properties": {
902
+ "children": {
903
+ "items": {
904
+ "$ref": "#/definitions/ContentTree.transit.ScrollySection"
905
+ },
906
+ "type": "array"
907
+ },
908
+ "data": {},
909
+ "theme": {
910
+ "enum": [
911
+ "sans",
912
+ "serif"
913
+ ],
914
+ "type": "string"
915
+ },
916
+ "type": {
917
+ "const": "scrolly-block",
918
+ "type": "string"
919
+ }
920
+ },
921
+ "required": [
922
+ "children",
923
+ "theme",
924
+ "type"
925
+ ],
926
+ "type": "object"
927
+ },
928
+ "ContentTree.transit.ScrollyCopy": {
929
+ "additionalProperties": false,
930
+ "properties": {
931
+ "children": {
932
+ "items": {
933
+ "anyOf": [
934
+ {
935
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
936
+ },
937
+ {
938
+ "$ref": "#/definitions/ContentTree.transit.ScrollyHeading"
939
+ }
940
+ ]
941
+ },
942
+ "type": "array"
943
+ },
944
+ "data": {},
945
+ "type": {
946
+ "const": "scrolly-copy",
947
+ "type": "string"
948
+ }
949
+ },
950
+ "required": [
951
+ "children",
952
+ "type"
953
+ ],
954
+ "type": "object"
955
+ },
956
+ "ContentTree.transit.ScrollyHeading": {
957
+ "additionalProperties": false,
958
+ "properties": {
959
+ "children": {
960
+ "items": {
961
+ "$ref": "#/definitions/ContentTree.transit.Text"
962
+ },
963
+ "type": "array"
964
+ },
965
+ "data": {},
966
+ "level": {
967
+ "enum": [
968
+ "chapter",
969
+ "heading",
970
+ "subheading"
971
+ ],
972
+ "type": "string"
973
+ },
974
+ "type": {
975
+ "const": "scrolly-heading",
976
+ "type": "string"
977
+ }
978
+ },
979
+ "required": [
980
+ "children",
981
+ "level",
982
+ "type"
983
+ ],
984
+ "type": "object"
985
+ },
986
+ "ContentTree.transit.ScrollyImage": {
987
+ "additionalProperties": false,
988
+ "properties": {
989
+ "data": {},
990
+ "id": {
991
+ "type": "string"
992
+ },
993
+ "type": {
994
+ "const": "scrolly-image",
995
+ "type": "string"
996
+ }
997
+ },
998
+ "required": [
999
+ "id",
1000
+ "type"
1001
+ ],
1002
+ "type": "object"
1003
+ },
1004
+ "ContentTree.transit.ScrollySection": {
1005
+ "additionalProperties": false,
1006
+ "properties": {
1007
+ "children": {
1008
+ "additionalItems": {
1009
+ "$ref": "#/definitions/ContentTree.transit.ScrollyCopy"
1010
+ },
1011
+ "items": [
1012
+ {
1013
+ "$ref": "#/definitions/ContentTree.transit.ScrollyImage"
1014
+ }
1015
+ ],
1016
+ "minItems": 1,
1017
+ "type": "array"
1018
+ },
1019
+ "data": {},
1020
+ "display": {
1021
+ "enum": [
1022
+ "dark-background",
1023
+ "light-background"
1024
+ ],
1025
+ "type": "string"
1026
+ },
1027
+ "noBox": {
1028
+ "const": true,
1029
+ "type": "boolean"
1030
+ },
1031
+ "position": {
1032
+ "enum": [
1033
+ "center",
1034
+ "left",
1035
+ "right"
1036
+ ],
1037
+ "type": "string"
1038
+ },
1039
+ "transition": {
1040
+ "enum": [
1041
+ "delay-after",
1042
+ "delay-before"
1043
+ ],
1044
+ "type": "string"
1045
+ },
1046
+ "type": {
1047
+ "const": "scrolly-section",
1048
+ "type": "string"
1049
+ }
1050
+ },
1051
+ "required": [
1052
+ "children",
1053
+ "display",
1054
+ "position",
1055
+ "type"
1056
+ ],
1057
+ "type": "object"
1058
+ },
1059
+ "ContentTree.transit.Strikethrough": {
1060
+ "additionalProperties": false,
1061
+ "properties": {
1062
+ "children": {
1063
+ "items": {
1064
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1065
+ },
1066
+ "type": "array"
1067
+ },
1068
+ "data": {},
1069
+ "type": {
1070
+ "const": "strikethrough",
1071
+ "type": "string"
1072
+ }
1073
+ },
1074
+ "required": [
1075
+ "children",
1076
+ "type"
1077
+ ],
1078
+ "type": "object"
1079
+ },
1080
+ "ContentTree.transit.Strong": {
1081
+ "additionalProperties": false,
1082
+ "properties": {
1083
+ "children": {
1084
+ "items": {
1085
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1086
+ },
1087
+ "type": "array"
1088
+ },
1089
+ "data": {},
1090
+ "type": {
1091
+ "const": "strong",
1092
+ "type": "string"
1093
+ }
1094
+ },
1095
+ "required": [
1096
+ "children",
1097
+ "type"
1098
+ ],
1099
+ "type": "object"
1100
+ },
1101
+ "ContentTree.transit.Table": {
1102
+ "additionalProperties": false,
1103
+ "properties": {
1104
+ "children": {
1105
+ "anyOf": [
1106
+ {
1107
+ "items": [
1108
+ {
1109
+ "$ref": "#/definitions/ContentTree.transit.TableCaption"
1110
+ },
1111
+ {
1112
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1113
+ },
1114
+ {
1115
+ "$ref": "#/definitions/ContentTree.transit.TableFooter"
1116
+ }
1117
+ ],
1118
+ "maxItems": 3,
1119
+ "minItems": 3,
1120
+ "type": "array"
1121
+ },
1122
+ {
1123
+ "items": [
1124
+ {
1125
+ "$ref": "#/definitions/ContentTree.transit.TableCaption"
1126
+ },
1127
+ {
1128
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1129
+ }
1130
+ ],
1131
+ "maxItems": 2,
1132
+ "minItems": 2,
1133
+ "type": "array"
1134
+ },
1135
+ {
1136
+ "items": [
1137
+ {
1138
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1139
+ },
1140
+ {
1141
+ "$ref": "#/definitions/ContentTree.transit.TableFooter"
1142
+ }
1143
+ ],
1144
+ "maxItems": 2,
1145
+ "minItems": 2,
1146
+ "type": "array"
1147
+ },
1148
+ {
1149
+ "items": [
1150
+ {
1151
+ "$ref": "#/definitions/ContentTree.transit.TableBody"
1152
+ }
1153
+ ],
1154
+ "maxItems": 1,
1155
+ "minItems": 1,
1156
+ "type": "array"
1157
+ }
1158
+ ]
1159
+ },
1160
+ "collapseAfterHowManyRows": {
1161
+ "type": "number"
1162
+ },
1163
+ "columnSettings": {
1164
+ "items": {
1165
+ "additionalProperties": false,
1166
+ "properties": {
1167
+ "hideOnMobile": {
1168
+ "type": "boolean"
1169
+ },
1170
+ "sortType": {
1171
+ "enum": [
1172
+ "currency",
1173
+ "date",
1174
+ "number",
1175
+ "percent",
1176
+ "text"
1177
+ ],
1178
+ "type": "string"
1179
+ },
1180
+ "sortable": {
1181
+ "type": "boolean"
1182
+ }
1183
+ },
1184
+ "required": [
1185
+ "hideOnMobile",
1186
+ "sortType",
1187
+ "sortable"
1188
+ ],
1189
+ "type": "object"
1190
+ },
1191
+ "type": "array"
1192
+ },
1193
+ "compact": {
1194
+ "type": "boolean"
1195
+ },
1196
+ "data": {},
1197
+ "layoutWidth": {
1198
+ "$ref": "#/definitions/ContentTree.transit.TableLayoutWidth"
1199
+ },
1200
+ "responsiveStyle": {
1201
+ "enum": [
1202
+ "flat",
1203
+ "overflow",
1204
+ "scroll"
1205
+ ],
1206
+ "type": "string"
1207
+ },
1208
+ "stripes": {
1209
+ "type": "boolean"
1210
+ },
1211
+ "type": {
1212
+ "const": "table",
1213
+ "type": "string"
1214
+ }
1215
+ },
1216
+ "required": [
1217
+ "children",
1218
+ "columnSettings",
1219
+ "compact",
1220
+ "layoutWidth",
1221
+ "responsiveStyle",
1222
+ "stripes",
1223
+ "type"
1224
+ ],
1225
+ "type": "object"
1226
+ },
1227
+ "ContentTree.transit.TableBody": {
1228
+ "additionalProperties": false,
1229
+ "properties": {
1230
+ "children": {
1231
+ "items": {
1232
+ "$ref": "#/definitions/ContentTree.transit.TableRow"
1233
+ },
1234
+ "type": "array"
1235
+ },
1236
+ "data": {},
1237
+ "type": {
1238
+ "const": "table-body",
1239
+ "type": "string"
1240
+ }
1241
+ },
1242
+ "required": [
1243
+ "children",
1244
+ "type"
1245
+ ],
1246
+ "type": "object"
1247
+ },
1248
+ "ContentTree.transit.TableCaption": {
1249
+ "additionalProperties": false,
1250
+ "properties": {
1251
+ "children": {
1252
+ "items": {
1253
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1254
+ },
1255
+ "type": "array"
1256
+ },
1257
+ "data": {},
1258
+ "type": {
1259
+ "const": "table-caption",
1260
+ "type": "string"
1261
+ }
1262
+ },
1263
+ "required": [
1264
+ "children",
1265
+ "type"
1266
+ ],
1267
+ "type": "object"
1268
+ },
1269
+ "ContentTree.transit.TableCell": {
1270
+ "additionalProperties": false,
1271
+ "properties": {
1272
+ "children": {
1273
+ "items": {
1274
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1275
+ },
1276
+ "type": "array"
1277
+ },
1278
+ "columnSpan": {
1279
+ "type": "number"
1280
+ },
1281
+ "data": {},
1282
+ "heading": {
1283
+ "type": "boolean"
1284
+ },
1285
+ "rowSpan": {
1286
+ "type": "number"
1287
+ },
1288
+ "type": {
1289
+ "const": "table-cell",
1290
+ "type": "string"
1291
+ }
1292
+ },
1293
+ "required": [
1294
+ "children",
1295
+ "type"
1296
+ ],
1297
+ "type": "object"
1298
+ },
1299
+ "ContentTree.transit.TableFooter": {
1300
+ "additionalProperties": false,
1301
+ "properties": {
1302
+ "children": {
1303
+ "items": {
1304
+ "$ref": "#/definitions/ContentTree.transit.Phrasing"
1305
+ },
1306
+ "type": "array"
1307
+ },
1308
+ "data": {},
1309
+ "type": {
1310
+ "const": "table-footer",
1311
+ "type": "string"
1312
+ }
1313
+ },
1314
+ "required": [
1315
+ "children",
1316
+ "type"
1317
+ ],
1318
+ "type": "object"
1319
+ },
1320
+ "ContentTree.transit.TableLayoutWidth": {
1321
+ "enum": [
1322
+ "auto",
1323
+ "full-bleed",
1324
+ "full-grid",
1325
+ "inset-left",
1326
+ "inset-right"
1327
+ ],
1328
+ "type": "string"
1329
+ },
1330
+ "ContentTree.transit.TableRow": {
1331
+ "additionalProperties": false,
1332
+ "properties": {
1333
+ "children": {
1334
+ "items": {
1335
+ "$ref": "#/definitions/ContentTree.transit.TableCell"
1336
+ },
1337
+ "type": "array"
1338
+ },
1339
+ "data": {},
1340
+ "type": {
1341
+ "const": "table-row",
1342
+ "type": "string"
1343
+ }
1344
+ },
1345
+ "required": [
1346
+ "children",
1347
+ "type"
1348
+ ],
1349
+ "type": "object"
1350
+ },
1351
+ "ContentTree.transit.Text": {
1352
+ "additionalProperties": false,
1353
+ "properties": {
1354
+ "data": {},
1355
+ "type": {
1356
+ "const": "text",
1357
+ "type": "string"
1358
+ },
1359
+ "value": {
1360
+ "type": "string"
1361
+ }
1362
+ },
1363
+ "required": [
1364
+ "type",
1365
+ "value"
1366
+ ],
1367
+ "type": "object"
1368
+ },
1369
+ "ContentTree.transit.ThematicBreak": {
1370
+ "additionalProperties": false,
1371
+ "properties": {
1372
+ "data": {},
1373
+ "type": {
1374
+ "const": "thematic-break",
1375
+ "type": "string"
1376
+ }
1377
+ },
1378
+ "required": [
1379
+ "type"
1380
+ ],
1381
+ "type": "object"
1382
+ },
1383
+ "ContentTree.transit.Timeline": {
1384
+ "additionalProperties": false,
1385
+ "description": "Timeline nodes display a timeline of events in arbitrary order.",
1386
+ "properties": {
1387
+ "children": {
1388
+ "items": {
1389
+ "$ref": "#/definitions/ContentTree.transit.TimelineEvent"
1390
+ },
1391
+ "type": "array"
1392
+ },
1393
+ "data": {},
1394
+ "title": {
1395
+ "description": "The title for the timeline",
1396
+ "type": "string"
1397
+ },
1398
+ "type": {
1399
+ "const": "timeline",
1400
+ "type": "string"
1401
+ }
1402
+ },
1403
+ "required": [
1404
+ "children",
1405
+ "title",
1406
+ "type"
1407
+ ],
1408
+ "type": "object"
1409
+ },
1410
+ "ContentTree.transit.TimelineEvent": {
1411
+ "additionalProperties": false,
1412
+ "description": "TimelineEvent is the representation of a single event in a Timeline.",
1413
+ "properties": {
1414
+ "children": {
1415
+ "description": "Any combination of paragraphs and image sets",
1416
+ "items": {
1417
+ "anyOf": [
1418
+ {
1419
+ "$ref": "#/definitions/ContentTree.transit.Paragraph"
1420
+ },
1421
+ {
1422
+ "$ref": "#/definitions/ContentTree.transit.ImageSet"
1423
+ }
1424
+ ]
1425
+ },
1426
+ "type": "array"
1427
+ },
1428
+ "data": {},
1429
+ "title": {
1430
+ "description": "The title of the event",
1431
+ "type": "string"
1432
+ },
1433
+ "type": {
1434
+ "const": "timeline-event",
1435
+ "type": "string"
1436
+ }
1437
+ },
1438
+ "required": [
1439
+ "children",
1440
+ "title",
1441
+ "type"
1442
+ ],
1443
+ "type": "object"
1444
+ },
1445
+ "ContentTree.transit.Tweet": {
1446
+ "additionalProperties": false,
1447
+ "properties": {
1448
+ "data": {},
1449
+ "id": {
1450
+ "type": "string"
1451
+ },
1452
+ "type": {
1453
+ "const": "tweet",
1454
+ "type": "string"
1455
+ }
1456
+ },
1457
+ "required": [
1458
+ "id",
1459
+ "type"
1460
+ ],
1461
+ "type": "object"
1462
+ },
1463
+ "ContentTree.transit.Video": {
1464
+ "additionalProperties": false,
1465
+ "properties": {
1466
+ "data": {},
1467
+ "id": {
1468
+ "type": "string"
1469
+ },
1470
+ "type": {
1471
+ "const": "video",
1472
+ "type": "string"
1473
+ }
1474
+ },
1475
+ "required": [
1476
+ "id",
1477
+ "type"
1478
+ ],
1479
+ "type": "object"
1480
+ },
1481
+ "ContentTree.transit.YoutubeVideo": {
1482
+ "additionalProperties": false,
1483
+ "properties": {
1484
+ "data": {},
1485
+ "type": {
1486
+ "const": "youtube-video",
1487
+ "type": "string"
1488
+ },
1489
+ "url": {
1490
+ "type": "string"
1491
+ }
1492
+ },
1493
+ "required": [
1494
+ "type",
1495
+ "url"
1496
+ ],
1497
+ "type": "object"
1498
+ }
1499
+ },
1500
+ "properties": {
1501
+ "children": {
1502
+ "items": {
1503
+ "$ref": "#/definitions/ContentTree.transit.BodyBlock"
1504
+ },
1505
+ "type": "array"
1506
+ },
1507
+ "data": {},
1508
+ "type": {
1509
+ "const": "body",
1510
+ "type": "string"
1511
+ },
1512
+ "version": {
1513
+ "type": "number"
1514
+ }
1515
+ },
1516
+ "required": [
1517
+ "children",
1518
+ "type",
1519
+ "version"
1520
+ ],
1521
+ "type": "object"
1522
+ }
1523
+