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