@atlaskit/adf-schema 37.1.40 → 37.1.42

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.
Files changed (30) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/next-schema/groups/atomicInlineGroup.js +19 -0
  3. package/dist/cjs/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  4. package/dist/cjs/next-schema/nodes/nestedExpand.js +1 -1
  5. package/dist/cjs/next-schema/nodes/paragraph.js +2 -1
  6. package/dist/cjs/next-schema/nodes/tableCellContent.js +1 -1
  7. package/dist/cjs/validator-schema/generated/validatorSpec.js +1875 -0
  8. package/dist/cjs/validator-schema/utils/sortNestedArrays.js +33 -0
  9. package/dist/es2019/next-schema/groups/atomicInlineGroup.js +13 -0
  10. package/dist/es2019/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  11. package/dist/es2019/next-schema/nodes/nestedExpand.js +1 -1
  12. package/dist/es2019/next-schema/nodes/paragraph.js +2 -1
  13. package/dist/es2019/next-schema/nodes/tableCellContent.js +1 -1
  14. package/dist/es2019/validator-schema/generated/validatorSpec.js +1869 -0
  15. package/dist/es2019/validator-schema/utils/sortNestedArrays.js +24 -0
  16. package/dist/esm/next-schema/groups/atomicInlineGroup.js +13 -0
  17. package/dist/esm/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  18. package/dist/esm/next-schema/nodes/nestedExpand.js +1 -1
  19. package/dist/esm/next-schema/nodes/paragraph.js +2 -1
  20. package/dist/esm/next-schema/nodes/tableCellContent.js +1 -1
  21. package/dist/esm/validator-schema/generated/validatorSpec.js +1869 -0
  22. package/dist/esm/validator-schema/utils/sortNestedArrays.js +26 -0
  23. package/dist/types/next-schema/groups/atomicInlineGroup.d.ts +1 -0
  24. package/dist/types/next-schema/nodes/nestedExpand.d.ts +1 -1
  25. package/dist/types/validator-schema/generated/validatorSpec.d.ts +1888 -0
  26. package/dist/types/validator-schema/utils/sortNestedArrays.d.ts +1 -0
  27. package/package.json +3 -2
  28. package/schema-generators/__tests__/unit/adfToValidatorSpecValidation.unit.ts +2 -42
  29. package/schema-generators/__tests__/unit/json-full-schema-backwards-compat.unit.ts +23 -46
  30. package/schema-generators/validator-full-schema.ts +22 -0
@@ -0,0 +1,1869 @@
1
+ export const blockCard = {
2
+ props: {
3
+ type: {
4
+ type: 'enum',
5
+ values: ['blockCard']
6
+ },
7
+ attrs: [{
8
+ props: {
9
+ url: {
10
+ type: 'string',
11
+ optional: true,
12
+ validatorFn: 'safeUrl'
13
+ },
14
+ datasource: {
15
+ props: {
16
+ id: {
17
+ type: 'string'
18
+ },
19
+ parameters: {
20
+ type: 'object'
21
+ },
22
+ views: {
23
+ items: [{
24
+ props: {
25
+ properties: {
26
+ optional: true,
27
+ type: 'object'
28
+ },
29
+ type: {
30
+ type: 'string'
31
+ }
32
+ }
33
+ }],
34
+ minItems: 1,
35
+ type: 'array'
36
+ }
37
+ }
38
+ },
39
+ width: {
40
+ type: 'number',
41
+ optional: true
42
+ },
43
+ layout: {
44
+ type: 'enum',
45
+ values: ['align-end', 'align-start', 'center', 'full-width', 'wide', 'wrap-left', 'wrap-right'],
46
+ optional: true
47
+ }
48
+ }
49
+ }, {
50
+ props: {
51
+ url: {
52
+ type: 'string',
53
+ validatorFn: 'safeUrl'
54
+ }
55
+ }
56
+ }, {
57
+ props: {
58
+ data: {
59
+ type: 'object'
60
+ }
61
+ }
62
+ }]
63
+ },
64
+ required: ['attrs']
65
+ };
66
+ export const text = {
67
+ props: {
68
+ type: {
69
+ type: 'enum',
70
+ values: ['text']
71
+ },
72
+ text: {
73
+ type: 'string',
74
+ minLength: 1
75
+ },
76
+ marks: {
77
+ type: 'array',
78
+ items: [],
79
+ optional: true
80
+ }
81
+ }
82
+ };
83
+ export const unsupportedInline = {
84
+ props: {
85
+ type: {
86
+ type: 'enum',
87
+ values: ['unsupportedInline']
88
+ },
89
+ attrs: {
90
+ props: {
91
+ originalValue: {
92
+ type: 'object'
93
+ }
94
+ }
95
+ }
96
+ }
97
+ };
98
+ export const codeBlock = {
99
+ props: {
100
+ type: {
101
+ type: 'enum',
102
+ values: ['codeBlock']
103
+ },
104
+ attrs: {
105
+ props: {
106
+ language: {
107
+ type: 'string',
108
+ optional: true
109
+ }
110
+ },
111
+ optional: true
112
+ },
113
+ content: {
114
+ type: 'array',
115
+ items: [['text', {
116
+ props: {
117
+ marks: {
118
+ items: [],
119
+ maxItems: 0,
120
+ optional: true,
121
+ type: 'array'
122
+ }
123
+ }
124
+ }]],
125
+ optional: true,
126
+ allowUnsupportedInline: true
127
+ },
128
+ marks: {
129
+ type: 'array',
130
+ items: [],
131
+ optional: true
132
+ }
133
+ }
134
+ };
135
+ export const codeBlock_with_marks = ['codeBlock', {
136
+ props: {
137
+ marks: {
138
+ type: 'array',
139
+ items: ['breakout'],
140
+ optional: true
141
+ }
142
+ }
143
+ }];
144
+ export const codeBlock_with_no_marks = ['codeBlock', {
145
+ props: {
146
+ marks: {
147
+ type: 'array',
148
+ maxItems: 0,
149
+ items: [],
150
+ optional: true
151
+ }
152
+ }
153
+ }];
154
+ export const mediaSingle = {
155
+ props: {
156
+ type: {
157
+ type: 'enum',
158
+ values: ['mediaSingle']
159
+ },
160
+ attrs: [{
161
+ props: {
162
+ width: {
163
+ type: 'number',
164
+ minimum: 0,
165
+ maximum: 100,
166
+ optional: true
167
+ },
168
+ layout: {
169
+ type: 'enum',
170
+ values: ['align-end', 'align-start', 'center', 'full-width', 'wide', 'wrap-left', 'wrap-right']
171
+ },
172
+ widthType: {
173
+ type: 'enum',
174
+ values: ['percentage'],
175
+ optional: true
176
+ }
177
+ }
178
+ }, {
179
+ props: {
180
+ width: {
181
+ type: 'number',
182
+ minimum: 0
183
+ },
184
+ widthType: {
185
+ type: 'enum',
186
+ values: ['pixel']
187
+ },
188
+ layout: {
189
+ type: 'enum',
190
+ values: ['align-end', 'align-start', 'center', 'full-width', 'wide', 'wrap-left', 'wrap-right']
191
+ }
192
+ }
193
+ }],
194
+ marks: {
195
+ type: 'array',
196
+ items: ['link'],
197
+ optional: true
198
+ }
199
+ }
200
+ };
201
+ export const media = {
202
+ props: {
203
+ type: {
204
+ type: 'enum',
205
+ values: ['media']
206
+ },
207
+ attrs: [{
208
+ props: {
209
+ type: {
210
+ type: 'enum',
211
+ values: ['file', 'link']
212
+ },
213
+ id: {
214
+ minLength: 1,
215
+ type: 'string'
216
+ },
217
+ alt: {
218
+ type: 'string',
219
+ optional: true
220
+ },
221
+ collection: {
222
+ type: 'string'
223
+ },
224
+ height: {
225
+ type: 'number',
226
+ optional: true
227
+ },
228
+ occurrenceKey: {
229
+ minLength: 1,
230
+ type: 'string',
231
+ optional: true
232
+ },
233
+ width: {
234
+ type: 'number',
235
+ optional: true
236
+ }
237
+ }
238
+ }, {
239
+ props: {
240
+ type: {
241
+ type: 'enum',
242
+ values: ['external']
243
+ },
244
+ alt: {
245
+ type: 'string',
246
+ optional: true
247
+ },
248
+ height: {
249
+ type: 'number',
250
+ optional: true
251
+ },
252
+ width: {
253
+ type: 'number',
254
+ optional: true
255
+ },
256
+ url: {
257
+ type: 'string'
258
+ }
259
+ }
260
+ }],
261
+ marks: {
262
+ type: 'array',
263
+ items: [['annotation', 'border', 'link']],
264
+ optional: true
265
+ }
266
+ },
267
+ required: ['attrs']
268
+ };
269
+ export const unsupportedBlock = {
270
+ props: {
271
+ type: {
272
+ type: 'enum',
273
+ values: ['unsupportedBlock']
274
+ },
275
+ attrs: {
276
+ props: {
277
+ originalValue: {
278
+ type: 'object'
279
+ }
280
+ }
281
+ }
282
+ }
283
+ };
284
+ export const link = {
285
+ props: {
286
+ type: {
287
+ type: 'enum',
288
+ values: ['link']
289
+ },
290
+ attrs: {
291
+ props: {
292
+ href: {
293
+ type: 'string',
294
+ validatorFn: 'safeUrl'
295
+ },
296
+ title: {
297
+ type: 'string',
298
+ optional: true
299
+ },
300
+ id: {
301
+ type: 'string',
302
+ optional: true
303
+ },
304
+ collection: {
305
+ type: 'string',
306
+ optional: true
307
+ },
308
+ occurrenceKey: {
309
+ type: 'string',
310
+ optional: true
311
+ }
312
+ }
313
+ }
314
+ }
315
+ };
316
+ export const annotation = {
317
+ props: {
318
+ type: {
319
+ type: 'enum',
320
+ values: ['annotation']
321
+ },
322
+ attrs: {
323
+ props: {
324
+ id: {
325
+ type: 'string'
326
+ },
327
+ annotationType: {
328
+ type: 'enum',
329
+ values: ['inlineComment']
330
+ }
331
+ }
332
+ }
333
+ }
334
+ };
335
+ export const border = {
336
+ props: {
337
+ type: {
338
+ type: 'enum',
339
+ values: ['border']
340
+ },
341
+ attrs: {
342
+ props: {
343
+ size: {
344
+ type: 'number',
345
+ minimum: 1,
346
+ maximum: 3
347
+ },
348
+ color: {
349
+ pattern: '^#[0-9a-fA-F]{8}$|^#[0-9a-fA-F]{6}$',
350
+ type: 'string'
351
+ }
352
+ }
353
+ }
354
+ }
355
+ };
356
+ export const hardBreak = {
357
+ props: {
358
+ type: {
359
+ type: 'enum',
360
+ values: ['hardBreak']
361
+ },
362
+ attrs: {
363
+ props: {
364
+ text: {
365
+ type: 'enum',
366
+ values: ['\n'],
367
+ optional: true
368
+ }
369
+ },
370
+ optional: true
371
+ }
372
+ }
373
+ };
374
+ export const mention = {
375
+ props: {
376
+ type: {
377
+ type: 'enum',
378
+ values: ['mention']
379
+ },
380
+ attrs: {
381
+ props: {
382
+ id: {
383
+ type: 'string'
384
+ },
385
+ localId: {
386
+ type: 'string',
387
+ optional: true
388
+ },
389
+ text: {
390
+ type: 'string',
391
+ optional: true
392
+ },
393
+ accessLevel: {
394
+ type: 'string',
395
+ optional: true
396
+ },
397
+ userType: {
398
+ type: 'enum',
399
+ values: ['APP', 'DEFAULT', 'SPECIAL'],
400
+ optional: true
401
+ }
402
+ }
403
+ },
404
+ marks: {
405
+ type: 'array',
406
+ items: ['annotation'],
407
+ optional: true
408
+ }
409
+ }
410
+ };
411
+ export const emoji = {
412
+ props: {
413
+ type: {
414
+ type: 'enum',
415
+ values: ['emoji']
416
+ },
417
+ attrs: {
418
+ props: {
419
+ shortName: {
420
+ type: 'string'
421
+ },
422
+ id: {
423
+ type: 'string',
424
+ optional: true
425
+ },
426
+ text: {
427
+ type: 'string',
428
+ optional: true
429
+ }
430
+ }
431
+ },
432
+ marks: {
433
+ type: 'array',
434
+ items: ['annotation'],
435
+ optional: true
436
+ }
437
+ }
438
+ };
439
+ export const date = {
440
+ props: {
441
+ type: {
442
+ type: 'enum',
443
+ values: ['date']
444
+ },
445
+ attrs: {
446
+ props: {
447
+ timestamp: {
448
+ minLength: 1,
449
+ type: 'string'
450
+ }
451
+ }
452
+ },
453
+ marks: {
454
+ type: 'array',
455
+ items: ['annotation'],
456
+ optional: true
457
+ }
458
+ }
459
+ };
460
+ export const placeholder = {
461
+ props: {
462
+ type: {
463
+ type: 'enum',
464
+ values: ['placeholder']
465
+ },
466
+ attrs: {
467
+ props: {
468
+ text: {
469
+ type: 'string'
470
+ }
471
+ }
472
+ }
473
+ }
474
+ };
475
+ export const inlineCard = {
476
+ props: {
477
+ type: {
478
+ type: 'enum',
479
+ values: ['inlineCard']
480
+ },
481
+ attrs: [{
482
+ props: {
483
+ url: {
484
+ type: 'string',
485
+ validatorFn: 'safeUrl'
486
+ }
487
+ }
488
+ }, {
489
+ props: {
490
+ data: {
491
+ type: 'object'
492
+ }
493
+ }
494
+ }],
495
+ marks: {
496
+ items: ['annotation'],
497
+ optional: true,
498
+ type: 'array'
499
+ }
500
+ },
501
+ required: ['attrs']
502
+ };
503
+ export const status = {
504
+ props: {
505
+ type: {
506
+ type: 'enum',
507
+ values: ['status']
508
+ },
509
+ attrs: {
510
+ props: {
511
+ text: {
512
+ minLength: 1,
513
+ type: 'string'
514
+ },
515
+ color: {
516
+ type: 'enum',
517
+ values: ['blue', 'green', 'neutral', 'purple', 'red', 'yellow']
518
+ },
519
+ localId: {
520
+ type: 'string',
521
+ optional: true
522
+ },
523
+ style: {
524
+ type: 'string',
525
+ optional: true
526
+ }
527
+ }
528
+ },
529
+ marks: {
530
+ type: 'array',
531
+ items: ['annotation'],
532
+ optional: true
533
+ }
534
+ }
535
+ };
536
+ export const formatted_text_inline = ['text', {
537
+ props: {
538
+ marks: {
539
+ type: 'array',
540
+ items: [['annotation', 'backgroundColor', 'em', 'link', 'strike', 'strong', 'subsup', 'textColor', 'underline', null]],
541
+ optional: true
542
+ }
543
+ }
544
+ }];
545
+ export const code_inline = ['text', {
546
+ props: {
547
+ marks: {
548
+ type: 'array',
549
+ items: [['annotation', 'code', 'link']],
550
+ optional: true
551
+ }
552
+ }
553
+ }];
554
+ export const em = {
555
+ props: {
556
+ type: {
557
+ type: 'enum',
558
+ values: ['em']
559
+ }
560
+ }
561
+ };
562
+ export const strong = {
563
+ props: {
564
+ type: {
565
+ type: 'enum',
566
+ values: ['strong']
567
+ }
568
+ }
569
+ };
570
+ export const strike = {
571
+ props: {
572
+ type: {
573
+ type: 'enum',
574
+ values: ['strike']
575
+ }
576
+ }
577
+ };
578
+ export const subsup = {
579
+ props: {
580
+ type: {
581
+ type: 'enum',
582
+ values: ['subsup']
583
+ },
584
+ attrs: {
585
+ props: {
586
+ type: {
587
+ type: 'enum',
588
+ values: ['sub', 'sup']
589
+ }
590
+ }
591
+ }
592
+ }
593
+ };
594
+ export const underline = {
595
+ props: {
596
+ type: {
597
+ type: 'enum',
598
+ values: ['underline']
599
+ }
600
+ }
601
+ };
602
+ export const textColor = {
603
+ props: {
604
+ type: {
605
+ type: 'enum',
606
+ values: ['textColor']
607
+ },
608
+ attrs: {
609
+ props: {
610
+ color: {
611
+ type: 'string',
612
+ pattern: '^#[0-9a-fA-F]{6}$'
613
+ }
614
+ }
615
+ }
616
+ }
617
+ };
618
+ export const backgroundColor = {
619
+ props: {
620
+ type: {
621
+ type: 'enum',
622
+ values: ['backgroundColor']
623
+ },
624
+ attrs: {
625
+ props: {
626
+ color: {
627
+ pattern: '^#[0-9a-fA-F]{6}$',
628
+ type: 'string'
629
+ }
630
+ }
631
+ }
632
+ }
633
+ };
634
+ export const inline_comment_marker = {
635
+ props: {
636
+ type: {
637
+ type: 'enum',
638
+ values: ['confluenceInlineComment']
639
+ },
640
+ attrs: {
641
+ props: {
642
+ reference: {
643
+ type: 'string'
644
+ }
645
+ }
646
+ }
647
+ }
648
+ };
649
+ export const code = {
650
+ props: {
651
+ type: {
652
+ type: 'enum',
653
+ values: ['code']
654
+ }
655
+ }
656
+ };
657
+ export const caption = {
658
+ props: {
659
+ type: {
660
+ type: 'enum',
661
+ values: ['caption']
662
+ },
663
+ content: {
664
+ type: 'array',
665
+ items: [['code_inline', 'date', 'emoji', 'formatted_text_inline', 'hardBreak', 'inlineCard', 'mention', 'placeholder', 'status']],
666
+ allowUnsupportedInline: true,
667
+ minItems: 0
668
+ }
669
+ }
670
+ };
671
+ export const mediaSingle_caption = ['mediaSingle', {
672
+ props: {
673
+ content: {
674
+ type: 'array',
675
+ isTupleLike: true,
676
+ items: ['caption', 'media'],
677
+ minItems: 1,
678
+ maxItems: 2,
679
+ allowUnsupportedBlock: true
680
+ }
681
+ }
682
+ }];
683
+ export const mediaSingle_full = ['mediaSingle', {
684
+ props: {
685
+ content: {
686
+ type: 'array',
687
+ items: ['media'],
688
+ minItems: 1,
689
+ maxItems: 1,
690
+ allowUnsupportedBlock: true
691
+ }
692
+ }
693
+ }];
694
+ export const mediaSingle_width_type = ['mediaSingle', {
695
+ props: {
696
+ content: {
697
+ type: 'array',
698
+ items: ['media'],
699
+ minItems: 1,
700
+ maxItems: 1,
701
+ allowUnsupportedBlock: true
702
+ }
703
+ }
704
+ }];
705
+ export const link_text_inline = ['text', {
706
+ props: {
707
+ marks: {
708
+ type: 'array',
709
+ items: ['link'],
710
+ optional: true
711
+ }
712
+ }
713
+ }];
714
+ export const inlineExtension = {
715
+ props: {
716
+ type: {
717
+ type: 'enum',
718
+ values: ['inlineExtension']
719
+ },
720
+ attrs: {
721
+ props: {
722
+ extensionKey: {
723
+ minLength: 1,
724
+ type: 'string'
725
+ },
726
+ extensionType: {
727
+ minLength: 1,
728
+ type: 'string'
729
+ },
730
+ parameters: {
731
+ type: 'object',
732
+ optional: true
733
+ },
734
+ text: {
735
+ type: 'string',
736
+ optional: true
737
+ },
738
+ localId: {
739
+ minLength: 1,
740
+ type: 'string',
741
+ optional: true
742
+ }
743
+ }
744
+ },
745
+ marks: {
746
+ type: 'array',
747
+ items: [],
748
+ optional: true
749
+ }
750
+ }
751
+ };
752
+ export const inlineExtension_with_marks = ['inlineExtension', {
753
+ props: {
754
+ marks: {
755
+ type: 'array',
756
+ items: [['dataConsumer', 'fragment']],
757
+ optional: true
758
+ }
759
+ }
760
+ }];
761
+ export const mediaInline = {
762
+ props: {
763
+ type: {
764
+ type: 'enum',
765
+ values: ['mediaInline']
766
+ },
767
+ attrs: {
768
+ props: {
769
+ type: {
770
+ type: 'enum',
771
+ values: ['file', 'image', 'link'],
772
+ optional: true
773
+ },
774
+ id: {
775
+ minLength: 1,
776
+ type: 'string'
777
+ },
778
+ alt: {
779
+ type: 'string',
780
+ optional: true
781
+ },
782
+ collection: {
783
+ type: 'string'
784
+ },
785
+ occurrenceKey: {
786
+ minLength: 1,
787
+ type: 'string',
788
+ optional: true
789
+ },
790
+ width: {
791
+ type: 'number',
792
+ optional: true
793
+ },
794
+ height: {
795
+ type: 'number',
796
+ optional: true
797
+ },
798
+ data: {
799
+ type: 'object',
800
+ optional: true
801
+ }
802
+ }
803
+ },
804
+ marks: {
805
+ type: 'array',
806
+ items: [['annotation', 'border', 'link']],
807
+ optional: true
808
+ }
809
+ }
810
+ };
811
+ export const image = {
812
+ props: {
813
+ type: {
814
+ type: 'enum',
815
+ values: ['image']
816
+ },
817
+ attrs: {
818
+ props: {
819
+ src: {
820
+ type: 'string'
821
+ },
822
+ alt: {
823
+ type: 'string',
824
+ optional: true
825
+ },
826
+ title: {
827
+ type: 'string',
828
+ optional: true
829
+ }
830
+ }
831
+ }
832
+ }
833
+ };
834
+ export const confluenceJiraIssue = {
835
+ props: {
836
+ type: {
837
+ type: 'enum',
838
+ values: ['confluenceJiraIssue']
839
+ },
840
+ attrs: {
841
+ props: {
842
+ issueKey: {
843
+ type: 'string'
844
+ },
845
+ macroId: {
846
+ type: 'string',
847
+ optional: true
848
+ },
849
+ schemaVersion: {
850
+ type: 'string',
851
+ optional: true
852
+ },
853
+ server: {
854
+ type: 'string',
855
+ optional: true
856
+ },
857
+ serverId: {
858
+ type: 'string',
859
+ optional: true
860
+ }
861
+ }
862
+ }
863
+ }
864
+ };
865
+ export const confluenceUnsupportedInline = {
866
+ props: {
867
+ type: {
868
+ type: 'enum',
869
+ values: ['confluenceUnsupportedInline']
870
+ },
871
+ attrs: {
872
+ props: {
873
+ cxhtml: {
874
+ type: 'string'
875
+ }
876
+ }
877
+ }
878
+ }
879
+ };
880
+ export const atomic_inline = ['date', 'emoji', 'hardBreak', 'inlineCard', 'inlineExtension_with_marks', 'mediaInline', 'mention', 'placeholder', 'status'];
881
+ export const inline = ['code_inline', 'date', 'emoji', 'formatted_text_inline', 'hardBreak', 'inlineCard', 'inlineExtension_with_marks', 'mediaInline', 'mention', 'placeholder', 'status'];
882
+ export const paragraph = {
883
+ props: {
884
+ type: {
885
+ type: 'enum',
886
+ values: ['paragraph']
887
+ },
888
+ attrs: {
889
+ props: {
890
+ localId: {
891
+ type: 'string',
892
+ optional: true
893
+ }
894
+ },
895
+ optional: true
896
+ },
897
+ content: {
898
+ type: 'array',
899
+ items: ['inline'],
900
+ optional: true,
901
+ allowUnsupportedInline: true
902
+ },
903
+ marks: {
904
+ type: 'array',
905
+ items: [],
906
+ optional: true
907
+ }
908
+ }
909
+ };
910
+ export const paragraph_with_alignment = ['paragraph', {
911
+ props: {
912
+ marks: {
913
+ type: 'array',
914
+ items: ['alignment'],
915
+ optional: true
916
+ }
917
+ }
918
+ }];
919
+ export const paragraph_with_indentation = ['paragraph', {
920
+ props: {
921
+ marks: {
922
+ type: 'array',
923
+ items: ['indentation'],
924
+ optional: true
925
+ }
926
+ }
927
+ }];
928
+ export const paragraph_with_no_marks = ['paragraph', {
929
+ props: {
930
+ marks: {
931
+ type: 'array',
932
+ maxItems: 0,
933
+ items: [],
934
+ optional: true
935
+ }
936
+ }
937
+ }];
938
+ export const taskItem = {
939
+ props: {
940
+ type: {
941
+ type: 'enum',
942
+ values: ['taskItem']
943
+ },
944
+ attrs: {
945
+ props: {
946
+ localId: {
947
+ type: 'string'
948
+ },
949
+ state: {
950
+ type: 'enum',
951
+ values: ['DONE', 'TODO']
952
+ }
953
+ }
954
+ },
955
+ content: {
956
+ type: 'array',
957
+ items: ['inline'],
958
+ optional: true,
959
+ allowUnsupportedInline: true
960
+ }
961
+ }
962
+ };
963
+ export const taskList = {
964
+ props: {
965
+ type: {
966
+ type: 'enum',
967
+ values: ['taskList']
968
+ },
969
+ attrs: {
970
+ props: {
971
+ localId: {
972
+ type: 'string'
973
+ }
974
+ }
975
+ },
976
+ content: {
977
+ type: 'array',
978
+ isTupleLike: true,
979
+ items: ['taskItem', ['taskItem', 'taskList']],
980
+ minItems: 1,
981
+ allowUnsupportedBlock: true
982
+ }
983
+ }
984
+ };
985
+ export const listItem_legacy = ['listItem', {
986
+ props: {
987
+ content: {
988
+ type: 'array',
989
+ isTupleLike: true,
990
+ items: [['codeBlock_with_no_marks', 'mediaSingle_caption', 'mediaSingle_full', 'paragraph_with_no_marks'], ['bulletList', 'codeBlock_with_no_marks', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'paragraph_with_no_marks']],
991
+ minItems: 1,
992
+ allowUnsupportedBlock: true
993
+ }
994
+ }
995
+ }];
996
+ export const bulletList = {
997
+ props: {
998
+ type: {
999
+ type: 'enum',
1000
+ values: ['bulletList']
1001
+ },
1002
+ content: {
1003
+ type: 'array',
1004
+ items: ['listItem'],
1005
+ minItems: 1
1006
+ }
1007
+ }
1008
+ };
1009
+ export const listItem = {
1010
+ props: {
1011
+ type: {
1012
+ type: 'enum',
1013
+ values: ['listItem']
1014
+ },
1015
+ content: {
1016
+ type: 'array',
1017
+ isTupleLike: true,
1018
+ items: [['codeBlock_with_no_marks', 'mediaSingle_caption', 'mediaSingle_full', 'paragraph_with_no_marks'], ['bulletList', 'codeBlock_with_no_marks', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'paragraph_with_no_marks', 'taskList']],
1019
+ minItems: 1,
1020
+ allowUnsupportedBlock: true
1021
+ }
1022
+ }
1023
+ };
1024
+ export const orderedList = {
1025
+ props: {
1026
+ type: {
1027
+ type: 'enum',
1028
+ values: ['orderedList']
1029
+ },
1030
+ attrs: {
1031
+ props: {
1032
+ order: {
1033
+ type: 'number',
1034
+ minimum: 0,
1035
+ optional: true
1036
+ }
1037
+ },
1038
+ optional: true
1039
+ },
1040
+ content: {
1041
+ type: 'array',
1042
+ items: ['listItem'],
1043
+ minItems: 1
1044
+ }
1045
+ }
1046
+ };
1047
+ export const blockquote = {
1048
+ props: {
1049
+ type: {
1050
+ type: 'enum',
1051
+ values: ['blockquote']
1052
+ },
1053
+ content: {
1054
+ type: 'array',
1055
+ items: [['bulletList', 'orderedList', 'paragraph_with_no_marks']],
1056
+ minItems: 1,
1057
+ allowUnsupportedBlock: true
1058
+ }
1059
+ }
1060
+ };
1061
+ export const blockquote_legacy = ['blockquote', {
1062
+ props: {
1063
+ content: {
1064
+ type: 'array',
1065
+ items: ['paragraph'],
1066
+ minItems: 1,
1067
+ allowUnsupportedBlock: true
1068
+ }
1069
+ }
1070
+ }];
1071
+ export const decisionItem = {
1072
+ props: {
1073
+ type: {
1074
+ type: 'enum',
1075
+ values: ['decisionItem']
1076
+ },
1077
+ attrs: {
1078
+ props: {
1079
+ localId: {
1080
+ type: 'string'
1081
+ },
1082
+ state: {
1083
+ type: 'string'
1084
+ }
1085
+ }
1086
+ },
1087
+ content: {
1088
+ type: 'array',
1089
+ items: ['inline'],
1090
+ optional: true,
1091
+ allowUnsupportedInline: true
1092
+ }
1093
+ }
1094
+ };
1095
+ export const decisionList = {
1096
+ props: {
1097
+ type: {
1098
+ type: 'enum',
1099
+ values: ['decisionList']
1100
+ },
1101
+ attrs: {
1102
+ props: {
1103
+ localId: {
1104
+ type: 'string'
1105
+ }
1106
+ }
1107
+ },
1108
+ content: {
1109
+ type: 'array',
1110
+ items: ['decisionItem'],
1111
+ minItems: 1,
1112
+ allowUnsupportedBlock: true
1113
+ }
1114
+ }
1115
+ };
1116
+ export const embedCard = {
1117
+ props: {
1118
+ type: {
1119
+ type: 'enum',
1120
+ values: ['embedCard']
1121
+ },
1122
+ attrs: {
1123
+ props: {
1124
+ url: {
1125
+ type: 'string',
1126
+ validatorFn: 'safeUrl'
1127
+ },
1128
+ layout: {
1129
+ type: 'enum',
1130
+ values: ['align-end', 'align-start', 'center', 'full-width', 'wide', 'wrap-left', 'wrap-right']
1131
+ },
1132
+ width: {
1133
+ type: 'number',
1134
+ maximum: 100,
1135
+ minimum: 0,
1136
+ optional: true
1137
+ },
1138
+ originalHeight: {
1139
+ type: 'number',
1140
+ optional: true
1141
+ },
1142
+ originalWidth: {
1143
+ type: 'number',
1144
+ optional: true
1145
+ }
1146
+ }
1147
+ }
1148
+ }
1149
+ };
1150
+ export const extension = {
1151
+ props: {
1152
+ type: {
1153
+ type: 'enum',
1154
+ values: ['extension']
1155
+ },
1156
+ attrs: {
1157
+ props: {
1158
+ extensionKey: {
1159
+ minLength: 1,
1160
+ type: 'string'
1161
+ },
1162
+ extensionType: {
1163
+ minLength: 1,
1164
+ type: 'string'
1165
+ },
1166
+ parameters: {
1167
+ type: 'object',
1168
+ optional: true
1169
+ },
1170
+ text: {
1171
+ type: 'string',
1172
+ optional: true
1173
+ },
1174
+ layout: {
1175
+ type: 'enum',
1176
+ values: ['default', 'full-width', 'wide'],
1177
+ optional: true
1178
+ },
1179
+ localId: {
1180
+ minLength: 1,
1181
+ type: 'string',
1182
+ optional: true
1183
+ }
1184
+ }
1185
+ },
1186
+ marks: {
1187
+ type: 'array',
1188
+ items: [],
1189
+ optional: true
1190
+ }
1191
+ }
1192
+ };
1193
+ export const extension_with_marks = ['extension', {
1194
+ props: {
1195
+ marks: {
1196
+ type: 'array',
1197
+ items: [['dataConsumer', 'fragment']],
1198
+ optional: true
1199
+ }
1200
+ }
1201
+ }];
1202
+ export const heading = {
1203
+ props: {
1204
+ type: {
1205
+ type: 'enum',
1206
+ values: ['heading']
1207
+ },
1208
+ attrs: {
1209
+ props: {
1210
+ level: {
1211
+ type: 'number',
1212
+ minimum: 1,
1213
+ maximum: 6
1214
+ },
1215
+ localId: {
1216
+ type: 'string',
1217
+ optional: true
1218
+ }
1219
+ }
1220
+ },
1221
+ content: {
1222
+ type: 'array',
1223
+ items: ['inline'],
1224
+ optional: true,
1225
+ allowUnsupportedInline: true
1226
+ },
1227
+ marks: {
1228
+ type: 'array',
1229
+ items: [],
1230
+ optional: true
1231
+ }
1232
+ }
1233
+ };
1234
+ export const heading_with_indentation = ['heading', {
1235
+ props: {
1236
+ marks: {
1237
+ type: 'array',
1238
+ items: ['indentation'],
1239
+ optional: true
1240
+ }
1241
+ }
1242
+ }];
1243
+ export const heading_with_no_marks = ['heading', {
1244
+ props: {
1245
+ marks: {
1246
+ type: 'array',
1247
+ maxItems: 0,
1248
+ items: [],
1249
+ optional: true
1250
+ }
1251
+ }
1252
+ }];
1253
+ export const heading_with_alignment = ['heading', {
1254
+ props: {
1255
+ marks: {
1256
+ type: 'array',
1257
+ items: ['alignment'],
1258
+ optional: true
1259
+ }
1260
+ }
1261
+ }];
1262
+ export const mediaGroup = {
1263
+ props: {
1264
+ type: {
1265
+ type: 'enum',
1266
+ values: ['mediaGroup']
1267
+ },
1268
+ content: {
1269
+ type: 'array',
1270
+ items: ['media'],
1271
+ minItems: 1,
1272
+ allowUnsupportedBlock: true
1273
+ }
1274
+ }
1275
+ };
1276
+ export const rule = {
1277
+ props: {
1278
+ type: {
1279
+ type: 'enum',
1280
+ values: ['rule']
1281
+ }
1282
+ }
1283
+ };
1284
+ export const panel = {
1285
+ props: {
1286
+ type: {
1287
+ type: 'enum',
1288
+ values: ['panel']
1289
+ },
1290
+ attrs: {
1291
+ props: {
1292
+ panelType: {
1293
+ type: 'enum',
1294
+ values: ['custom', 'error', 'info', 'note', 'success', 'tip', 'warning']
1295
+ },
1296
+ panelIcon: {
1297
+ type: 'string',
1298
+ optional: true
1299
+ },
1300
+ panelIconId: {
1301
+ type: 'string',
1302
+ optional: true
1303
+ },
1304
+ panelIconText: {
1305
+ type: 'string',
1306
+ optional: true
1307
+ },
1308
+ panelColor: {
1309
+ type: 'string',
1310
+ optional: true
1311
+ }
1312
+ }
1313
+ },
1314
+ content: {
1315
+ type: 'array',
1316
+ items: [['blockCard', 'bulletList', 'codeBlock_with_no_marks', 'decisionList', 'heading_with_no_marks', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'paragraph_with_no_marks', 'rule', 'taskList']],
1317
+ minItems: 1,
1318
+ allowUnsupportedBlock: true
1319
+ }
1320
+ }
1321
+ };
1322
+ export const panel_legacy = ['panel', {
1323
+ props: {
1324
+ content: {
1325
+ type: 'array',
1326
+ items: [['blockCard', 'bulletList', 'heading_with_no_marks', 'orderedList', 'paragraph_with_no_marks']],
1327
+ minItems: 1,
1328
+ allowUnsupportedBlock: true
1329
+ }
1330
+ }
1331
+ }];
1332
+ export const nestedExpand_content = {
1333
+ type: 'array',
1334
+ items: [['blockquote', 'bulletList', 'codeBlock_with_no_marks', 'decisionList', 'heading_with_no_marks', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'panel', 'paragraph_with_no_marks', 'rule', 'taskList']],
1335
+ minItems: 1,
1336
+ allowUnsupportedBlock: true
1337
+ };
1338
+ export const nestedExpand_with_no_marks = ['nestedExpand', {
1339
+ props: {
1340
+ marks: {
1341
+ type: 'array',
1342
+ maxItems: 0,
1343
+ items: [],
1344
+ optional: true
1345
+ }
1346
+ }
1347
+ }];
1348
+ export const alignment = {
1349
+ props: {
1350
+ type: {
1351
+ type: 'enum',
1352
+ values: ['alignment']
1353
+ },
1354
+ attrs: {
1355
+ props: {
1356
+ align: {
1357
+ type: 'enum',
1358
+ values: ['center', 'end']
1359
+ }
1360
+ }
1361
+ }
1362
+ }
1363
+ };
1364
+ export const indentation = {
1365
+ props: {
1366
+ type: {
1367
+ type: 'enum',
1368
+ values: ['indentation']
1369
+ },
1370
+ attrs: {
1371
+ props: {
1372
+ level: {
1373
+ type: 'number',
1374
+ minimum: 1,
1375
+ maximum: 6
1376
+ }
1377
+ }
1378
+ }
1379
+ }
1380
+ };
1381
+ export const dataConsumer = {
1382
+ props: {
1383
+ type: {
1384
+ type: 'enum',
1385
+ values: ['dataConsumer']
1386
+ },
1387
+ attrs: {
1388
+ props: {
1389
+ sources: {
1390
+ type: 'array',
1391
+ items: [{
1392
+ type: 'string'
1393
+ }],
1394
+ minItems: 1
1395
+ }
1396
+ }
1397
+ }
1398
+ }
1399
+ };
1400
+ export const fragment = {
1401
+ props: {
1402
+ type: {
1403
+ type: 'enum',
1404
+ values: ['fragment']
1405
+ },
1406
+ attrs: {
1407
+ props: {
1408
+ localId: {
1409
+ minLength: 1,
1410
+ type: 'string'
1411
+ },
1412
+ name: {
1413
+ type: 'string',
1414
+ optional: true
1415
+ }
1416
+ }
1417
+ }
1418
+ }
1419
+ };
1420
+ export const tableCell = {
1421
+ props: {
1422
+ type: {
1423
+ type: 'enum',
1424
+ values: ['tableCell']
1425
+ },
1426
+ attrs: {
1427
+ props: {
1428
+ colspan: {
1429
+ type: 'number',
1430
+ optional: true
1431
+ },
1432
+ rowspan: {
1433
+ type: 'number',
1434
+ optional: true
1435
+ },
1436
+ colwidth: {
1437
+ type: 'array',
1438
+ items: [{
1439
+ type: 'number'
1440
+ }],
1441
+ optional: true
1442
+ },
1443
+ background: {
1444
+ type: 'string',
1445
+ optional: true
1446
+ }
1447
+ },
1448
+ optional: true
1449
+ },
1450
+ content: 'tableCell_content'
1451
+ },
1452
+ required: ['content']
1453
+ };
1454
+ export const nestedExpand = {
1455
+ props: {
1456
+ type: {
1457
+ type: 'enum',
1458
+ values: ['nestedExpand']
1459
+ },
1460
+ attrs: {
1461
+ props: {
1462
+ title: {
1463
+ type: 'string',
1464
+ optional: true
1465
+ }
1466
+ }
1467
+ },
1468
+ content: 'nestedExpand_content'
1469
+ },
1470
+ required: ['content']
1471
+ };
1472
+ export const tableHeader = {
1473
+ props: {
1474
+ type: {
1475
+ type: 'enum',
1476
+ values: ['tableHeader']
1477
+ },
1478
+ attrs: {
1479
+ props: {
1480
+ colspan: {
1481
+ type: 'number',
1482
+ optional: true
1483
+ },
1484
+ rowspan: {
1485
+ type: 'number',
1486
+ optional: true
1487
+ },
1488
+ colwidth: {
1489
+ type: 'array',
1490
+ items: [{
1491
+ type: 'number'
1492
+ }],
1493
+ optional: true
1494
+ },
1495
+ background: {
1496
+ type: 'string',
1497
+ optional: true
1498
+ }
1499
+ },
1500
+ optional: true
1501
+ },
1502
+ content: 'tableCell_content'
1503
+ },
1504
+ required: ['content']
1505
+ };
1506
+ export const tableCell_content = {
1507
+ type: 'array',
1508
+ items: [['blockCard', 'blockquote', 'bulletList', 'codeBlock_with_no_marks', 'decisionList', 'embedCard', 'extension_with_marks', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'nestedExpand_with_no_marks', 'orderedList', 'panel', 'paragraph_with_alignment', 'paragraph_with_no_marks', 'rule', 'taskList']],
1509
+ minItems: 1,
1510
+ allowUnsupportedBlock: true
1511
+ };
1512
+ export const tableRow = {
1513
+ props: {
1514
+ type: {
1515
+ type: 'enum',
1516
+ values: ['tableRow']
1517
+ },
1518
+ content: {
1519
+ type: 'array',
1520
+ items: [['tableCell', 'tableHeader']]
1521
+ }
1522
+ }
1523
+ };
1524
+ export const table = {
1525
+ props: {
1526
+ type: {
1527
+ type: 'enum',
1528
+ values: ['table']
1529
+ },
1530
+ attrs: {
1531
+ props: {
1532
+ displayMode: {
1533
+ type: 'enum',
1534
+ values: ['default', 'fixed'],
1535
+ optional: true
1536
+ },
1537
+ isNumberColumnEnabled: {
1538
+ type: 'boolean',
1539
+ optional: true
1540
+ },
1541
+ layout: {
1542
+ type: 'enum',
1543
+ values: ['align-end', 'align-start', 'center', 'default', 'full-width', 'wide'],
1544
+ optional: true
1545
+ },
1546
+ localId: {
1547
+ type: 'string',
1548
+ minLength: 1,
1549
+ optional: true
1550
+ },
1551
+ width: {
1552
+ type: 'number',
1553
+ optional: true
1554
+ }
1555
+ },
1556
+ optional: true
1557
+ },
1558
+ content: {
1559
+ type: 'array',
1560
+ items: ['tableRow'],
1561
+ minItems: 1
1562
+ },
1563
+ marks: {
1564
+ type: 'array',
1565
+ items: ['fragment'],
1566
+ optional: true
1567
+ }
1568
+ }
1569
+ };
1570
+ export const non_nestable_block_content = ['blockCard', 'blockquote', 'bulletList', 'codeBlock_with_no_marks', 'decisionList', 'embedCard', 'extension_with_marks', 'heading_with_no_marks', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'panel', 'paragraph_with_no_marks', 'rule', 'table', 'taskList'];
1571
+ export const bodiedExtension = {
1572
+ props: {
1573
+ type: {
1574
+ type: 'enum',
1575
+ values: ['bodiedExtension']
1576
+ },
1577
+ attrs: {
1578
+ props: {
1579
+ extensionKey: {
1580
+ minLength: 1,
1581
+ type: 'string'
1582
+ },
1583
+ extensionType: {
1584
+ minLength: 1,
1585
+ type: 'string'
1586
+ },
1587
+ parameters: {
1588
+ type: 'object',
1589
+ optional: true
1590
+ },
1591
+ text: {
1592
+ type: 'string',
1593
+ optional: true
1594
+ },
1595
+ layout: {
1596
+ type: 'enum',
1597
+ values: ['default', 'full-width', 'wide'],
1598
+ optional: true
1599
+ },
1600
+ localId: {
1601
+ minLength: 1,
1602
+ type: 'string',
1603
+ optional: true
1604
+ }
1605
+ }
1606
+ },
1607
+ content: {
1608
+ type: 'array',
1609
+ items: ['non_nestable_block_content'],
1610
+ minItems: 1,
1611
+ allowUnsupportedBlock: true
1612
+ },
1613
+ marks: {
1614
+ type: 'array',
1615
+ items: [],
1616
+ optional: true
1617
+ }
1618
+ }
1619
+ };
1620
+ export const bodiedExtension_with_marks = ['bodiedExtension', {
1621
+ props: {
1622
+ marks: {
1623
+ type: 'array',
1624
+ items: [['dataConsumer', 'fragment']],
1625
+ optional: true
1626
+ }
1627
+ }
1628
+ }];
1629
+ export const expand = {
1630
+ props: {
1631
+ type: {
1632
+ type: 'enum',
1633
+ values: ['expand']
1634
+ },
1635
+ attrs: {
1636
+ props: {
1637
+ title: {
1638
+ type: 'string',
1639
+ optional: true
1640
+ }
1641
+ }
1642
+ },
1643
+ content: {
1644
+ type: 'array',
1645
+ items: ['non_nestable_block_content'],
1646
+ minItems: 1,
1647
+ allowUnsupportedBlock: true
1648
+ },
1649
+ marks: {
1650
+ type: 'array',
1651
+ items: [],
1652
+ optional: true
1653
+ }
1654
+ }
1655
+ };
1656
+ export const expand_with_no_mark = ['expand', {
1657
+ props: {
1658
+ marks: {
1659
+ type: 'array',
1660
+ maxItems: 0,
1661
+ items: [],
1662
+ optional: true
1663
+ }
1664
+ }
1665
+ }];
1666
+ export const expand_with_breakout_mark = ['expand', {
1667
+ props: {
1668
+ marks: {
1669
+ type: 'array',
1670
+ items: ['breakout'],
1671
+ optional: true
1672
+ }
1673
+ }
1674
+ }];
1675
+ export const confluenceUnsupportedBlock = {
1676
+ props: {
1677
+ type: {
1678
+ type: 'enum',
1679
+ values: ['confluenceUnsupportedBlock']
1680
+ },
1681
+ attrs: {
1682
+ props: {
1683
+ cxhtml: {
1684
+ type: 'string'
1685
+ }
1686
+ }
1687
+ }
1688
+ }
1689
+ };
1690
+ export const block_content = ['blockCard', 'blockquote', 'bodiedExtension_with_marks', 'bulletList', 'codeBlock_with_no_marks', 'decisionList', 'embedCard', 'expand_with_no_mark', 'extension_with_marks', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'panel', 'paragraph_with_alignment', 'paragraph_with_indentation', 'paragraph_with_no_marks', 'rule', 'table', 'taskList'];
1691
+ export const layoutColumn = {
1692
+ props: {
1693
+ type: {
1694
+ type: 'enum',
1695
+ values: ['layoutColumn']
1696
+ },
1697
+ attrs: {
1698
+ props: {
1699
+ width: {
1700
+ type: 'number',
1701
+ minimum: 0,
1702
+ maximum: 100
1703
+ }
1704
+ }
1705
+ },
1706
+ content: {
1707
+ type: 'array',
1708
+ items: ['block_content'],
1709
+ minItems: 1,
1710
+ allowUnsupportedBlock: true
1711
+ }
1712
+ }
1713
+ };
1714
+ export const layoutSection = {
1715
+ props: {
1716
+ type: {
1717
+ type: 'enum',
1718
+ values: ['layoutSection']
1719
+ },
1720
+ content: {
1721
+ type: 'array',
1722
+ items: ['layoutColumn']
1723
+ },
1724
+ marks: {
1725
+ type: 'array',
1726
+ items: ['breakout'],
1727
+ optional: true
1728
+ }
1729
+ }
1730
+ };
1731
+ export const layoutSection_full = ['layoutSection', {
1732
+ props: {
1733
+ content: {
1734
+ type: 'array',
1735
+ items: ['layoutColumn'],
1736
+ minItems: 2,
1737
+ maxItems: 3,
1738
+ allowUnsupportedBlock: true
1739
+ },
1740
+ marks: {
1741
+ type: 'array',
1742
+ items: ['breakout'],
1743
+ optional: true
1744
+ },
1745
+ type: {
1746
+ type: 'enum',
1747
+ values: ['layoutSection']
1748
+ }
1749
+ }
1750
+ }];
1751
+ export const layoutSection_with_single_column = ['layoutSection', {
1752
+ props: {
1753
+ content: {
1754
+ type: 'array',
1755
+ items: ['layoutColumn'],
1756
+ minItems: 1,
1757
+ maxItems: 3,
1758
+ allowUnsupportedBlock: true
1759
+ },
1760
+ type: {
1761
+ type: 'enum',
1762
+ values: ['layoutSection']
1763
+ },
1764
+ marks: {
1765
+ items: ['breakout'],
1766
+ optional: true,
1767
+ type: 'array'
1768
+ }
1769
+ }
1770
+ }];
1771
+ export const extensionFrame = {
1772
+ props: {
1773
+ type: {
1774
+ type: 'enum',
1775
+ values: ['extensionFrame']
1776
+ },
1777
+ content: {
1778
+ type: 'array',
1779
+ items: [['blockCard', 'blockquote', 'bodiedExtension_with_marks', 'bulletList', 'codeBlock_with_no_marks', 'decisionList', 'embedCard', 'extension_with_marks', 'heading_with_no_marks', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'orderedList', 'panel', 'paragraph_with_no_marks', 'rule', 'table', 'taskList']],
1780
+ minItems: 1
1781
+ },
1782
+ marks: {
1783
+ type: 'array',
1784
+ items: [['dataConsumer', 'fragment']],
1785
+ optional: true
1786
+ }
1787
+ }
1788
+ };
1789
+ export const multiBodiedExtension = {
1790
+ props: {
1791
+ type: {
1792
+ type: 'enum',
1793
+ values: ['multiBodiedExtension']
1794
+ },
1795
+ attrs: {
1796
+ props: {
1797
+ extensionKey: {
1798
+ type: 'string',
1799
+ minLength: 1
1800
+ },
1801
+ extensionType: {
1802
+ type: 'string',
1803
+ minLength: 1
1804
+ },
1805
+ parameters: {
1806
+ type: 'object',
1807
+ optional: true
1808
+ },
1809
+ text: {
1810
+ type: 'string',
1811
+ optional: true
1812
+ },
1813
+ layout: {
1814
+ type: 'enum',
1815
+ values: ['default', 'full-width', 'wide'],
1816
+ optional: true
1817
+ },
1818
+ localId: {
1819
+ type: 'string',
1820
+ optional: true,
1821
+ minLength: 1
1822
+ }
1823
+ }
1824
+ },
1825
+ content: {
1826
+ type: 'array',
1827
+ items: ['extensionFrame']
1828
+ },
1829
+ marks: {
1830
+ type: 'array',
1831
+ items: [],
1832
+ optional: true
1833
+ }
1834
+ }
1835
+ };
1836
+ export const blockRootOnly = ['multiBodiedExtension'];
1837
+ export const breakout = {
1838
+ props: {
1839
+ type: {
1840
+ type: 'enum',
1841
+ values: ['breakout']
1842
+ },
1843
+ attrs: {
1844
+ props: {
1845
+ mode: {
1846
+ type: 'enum',
1847
+ values: ['full-width', 'wide']
1848
+ }
1849
+ }
1850
+ }
1851
+ }
1852
+ };
1853
+ export const doc = {
1854
+ props: {
1855
+ type: {
1856
+ type: 'enum',
1857
+ values: ['doc']
1858
+ },
1859
+ version: {
1860
+ type: 'enum',
1861
+ values: [1]
1862
+ },
1863
+ content: {
1864
+ type: 'array',
1865
+ items: [['blockCard', 'blockquote', 'bodiedExtension_with_marks', 'bulletList', 'codeBlock_with_marks', 'codeBlock_with_no_marks', 'decisionList', 'embedCard', 'expand_with_breakout_mark', 'expand_with_no_mark', 'extension_with_marks', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'layoutSection_full', 'layoutSection_with_single_column', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'multiBodiedExtension', 'orderedList', 'panel', 'paragraph_with_alignment', 'paragraph_with_indentation', 'paragraph_with_no_marks', 'rule', 'table', 'taskList']],
1866
+ allowUnsupportedBlock: true
1867
+ }
1868
+ }
1869
+ };