@json-to-office/shared-docx 0.33.0 → 0.35.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.
Files changed (45) hide show
  1. package/dist/{chunk-PVZMPANS.js → chunk-436TK3T4.js} +622 -452
  2. package/dist/chunk-436TK3T4.js.map +1 -0
  3. package/dist/{chunk-QDBFYGOR.js → chunk-4FOTCEYP.js} +14 -3
  4. package/dist/chunk-4FOTCEYP.js.map +1 -0
  5. package/dist/{chunk-WAKSQXQA.js → chunk-4ORMKPLQ.js} +2 -2
  6. package/dist/{chunk-BDVZALLE.js → chunk-7FNE5T7M.js} +56 -3
  7. package/dist/chunk-7FNE5T7M.js.map +1 -0
  8. package/dist/{chunk-R5UGQRFE.js → chunk-EKBKTVLD.js} +2 -2
  9. package/dist/{chunk-5QOQVYBJ.js → chunk-G5GIBBUX.js} +5 -3
  10. package/dist/chunk-G5GIBBUX.js.map +1 -0
  11. package/dist/{chunk-UNNSBEER.js → chunk-HHF5AQ7X.js} +2 -2
  12. package/dist/chunk-HHF5AQ7X.js.map +1 -0
  13. package/dist/{chunk-XDMC32YP.js → chunk-KKFRVDJH.js} +6 -6
  14. package/dist/chunk-KKFRVDJH.js.map +1 -0
  15. package/dist/{chunk-LQGORQQI.js → chunk-PQITDZWT.js} +31 -23
  16. package/dist/chunk-PQITDZWT.js.map +1 -0
  17. package/dist/{chunk-I7HBLM3U.js → chunk-UKOAOVPP.js} +2 -2
  18. package/dist/index.d.ts +218 -16
  19. package/dist/index.js +295 -16
  20. package/dist/index.js.map +1 -1
  21. package/dist/schemas/api.d.ts +6 -0
  22. package/dist/schemas/api.js +5 -5
  23. package/dist/schemas/component-defaults.d.ts +76 -29
  24. package/dist/schemas/component-defaults.js +3 -1
  25. package/dist/schemas/component-registry.js +3 -3
  26. package/dist/schemas/components.d.ts +430 -29
  27. package/dist/schemas/components.js +18 -4
  28. package/dist/schemas/document.js +6 -6
  29. package/dist/schemas/export.js +4 -4
  30. package/dist/schemas/generator.js +4 -4
  31. package/dist/schemas/theme.d.ts +336 -14
  32. package/dist/schemas/theme.js +2 -2
  33. package/dist/validation/unified/index.d.ts +231 -23
  34. package/dist/validation/unified/index.js +8 -6
  35. package/package.json +3 -3
  36. package/dist/chunk-5QOQVYBJ.js.map +0 -1
  37. package/dist/chunk-BDVZALLE.js.map +0 -1
  38. package/dist/chunk-LQGORQQI.js.map +0 -1
  39. package/dist/chunk-PVZMPANS.js.map +0 -1
  40. package/dist/chunk-QDBFYGOR.js.map +0 -1
  41. package/dist/chunk-UNNSBEER.js.map +0 -1
  42. package/dist/chunk-XDMC32YP.js.map +0 -1
  43. /package/dist/{chunk-WAKSQXQA.js.map → chunk-4ORMKPLQ.js.map} +0 -0
  44. /package/dist/{chunk-R5UGQRFE.js.map → chunk-EKBKTVLD.js.map} +0 -0
  45. /package/dist/{chunk-I7HBLM3U.js.map → chunk-UKOAOVPP.js.map} +0 -0
@@ -8,10 +8,10 @@ import {
8
8
  } from "./chunk-7TTAAYQ5.js";
9
9
 
10
10
  // src/schemas/component-defaults.ts
11
- import { Type as Type11 } from "@sinclair/typebox";
11
+ import { Type as Type13 } from "@sinclair/typebox";
12
12
 
13
13
  // src/schemas/components/heading.ts
14
- import { Type as Type3 } from "@sinclair/typebox";
14
+ import { Type as Type4 } from "@sinclair/typebox";
15
15
 
16
16
  // src/schemas/components/common.ts
17
17
  import { Type } from "@sinclair/typebox";
@@ -489,56 +489,128 @@ var RevisionSchema = Type2.Object(
489
489
  additionalProperties: false
490
490
  }
491
491
  );
492
+ var RevisionMarkSchema = Type2.Object(
493
+ {
494
+ type: Type2.Union([Type2.Literal("insert"), Type2.Literal("delete")], {
495
+ description: "Whether the element was inserted or deleted"
496
+ }),
497
+ author: Type2.Optional(
498
+ Type2.String({
499
+ description: 'Revision author shown in Word (default: "json-to-office")'
500
+ })
501
+ ),
502
+ date: Type2.Optional(
503
+ Type2.String({
504
+ format: "date-time",
505
+ description: "Revision timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output"
506
+ })
507
+ )
508
+ },
509
+ {
510
+ description: "Structural tracked change: the element itself was inserted or deleted",
511
+ additionalProperties: false
512
+ }
513
+ );
514
+
515
+ // src/schemas/components/comment.ts
516
+ import { Type as Type3 } from "@sinclair/typebox";
517
+ var CommentBodyFields = {
518
+ text: Type3.String({
519
+ minLength: 1,
520
+ description: "Comment body. Newlines split it into separate paragraphs in the comment pane."
521
+ }),
522
+ author: Type3.Optional(
523
+ Type3.String({
524
+ description: 'Comment author shown in Word (default: "json-to-office")'
525
+ })
526
+ ),
527
+ initials: Type3.Optional(
528
+ Type3.String({
529
+ description: "Author initials shown on the comment bubble (derived from the author when omitted)"
530
+ })
531
+ ),
532
+ date: Type3.Optional(
533
+ Type3.String({
534
+ format: "date-time",
535
+ description: "Comment timestamp (ISO 8601). Defaults to the Unix epoch for deterministic output"
536
+ })
537
+ )
538
+ };
539
+ var CommentReplySchema = Type3.Object(CommentBodyFields, {
540
+ description: "A reply within a comment thread",
541
+ additionalProperties: false
542
+ });
543
+ var CommentSchema = Type3.Object(
544
+ {
545
+ ...CommentBodyFields,
546
+ replies: Type3.Optional(
547
+ Type3.Array(CommentReplySchema, {
548
+ minItems: 1,
549
+ description: "Replies, in order. They anchor to the same text and Word shows them as one thread."
550
+ })
551
+ ),
552
+ resolved: Type3.Optional(
553
+ Type3.Boolean({
554
+ description: "Mark the whole thread resolved (w15:done). Word writes the thread state only when the document contains at least one reply."
555
+ })
556
+ )
557
+ },
558
+ {
559
+ description: "A Word review comment anchored to this component's text",
560
+ additionalProperties: false
561
+ }
562
+ );
492
563
 
493
564
  // src/schemas/components/heading.ts
494
- var HeadingPropsSchema = Type3.Object(
565
+ var HeadingPropsSchema = Type4.Object(
495
566
  {
496
- text: Type3.String({
567
+ text: Type4.String({
497
568
  description: "Heading text (required)"
498
569
  }),
499
- level: Type3.Optional(HeadingLevelSchema),
570
+ level: Type4.Optional(HeadingLevelSchema),
500
571
  // Local font override: allows customizing family/size/color/bold/italic/underline
501
572
  // without modifying theme styles. Supports partial overrides.
502
- font: Type3.Optional(Type3.Partial(FontDefinitionSchema)),
573
+ font: Type4.Optional(Type4.Partial(FontDefinitionSchema)),
503
574
  // Local language override (BCP-47). Falls back to the document default when omitted.
504
- language: Type3.Optional(LanguageSchema),
575
+ language: Type4.Optional(LanguageSchema),
505
576
  // Disable spell/grammar checking for this heading's text
506
- noProof: Type3.Optional(NoProofSchema),
577
+ noProof: Type4.Optional(NoProofSchema),
507
578
  // Known-words allowlist for this heading (merged with the document list)
508
- noProofWords: Type3.Optional(NoProofWordsSchema),
509
- alignment: Type3.Optional(JustifiedAlignmentSchema),
510
- spacing: Type3.Optional(SpacingSchema),
579
+ noProofWords: Type4.Optional(NoProofWordsSchema),
580
+ alignment: Type4.Optional(JustifiedAlignmentSchema),
581
+ spacing: Type4.Optional(SpacingSchema),
511
582
  // Paragraph indentation (w:ind) in twips
512
- indent: Type3.Optional(ParagraphIndentSchema),
513
- lineSpacing: Type3.Optional(
514
- Type3.Union([Type3.Number({ minimum: 0 }), LineSpacingSchema])
583
+ indent: Type4.Optional(ParagraphIndentSchema),
584
+ lineSpacing: Type4.Optional(
585
+ Type4.Union([Type4.Number({ minimum: 0 }), LineSpacingSchema])
515
586
  ),
516
- pageBreak: Type3.Optional(
517
- Type3.Boolean({
587
+ pageBreak: Type4.Optional(
588
+ Type4.Boolean({
518
589
  description: "Insert page break before heading"
519
590
  })
520
591
  ),
521
- columnBreak: Type3.Optional(
522
- Type3.Boolean({
592
+ columnBreak: Type4.Optional(
593
+ Type4.Boolean({
523
594
  description: "Insert column break before heading"
524
595
  })
525
596
  ),
526
- numbering: Type3.Optional(
527
- Type3.Boolean({
597
+ numbering: Type4.Optional(
598
+ Type4.Boolean({
528
599
  description: "Include in numbering"
529
600
  })
530
601
  ),
531
- keepNext: Type3.Optional(
532
- Type3.Boolean({
602
+ keepNext: Type4.Optional(
603
+ Type4.Boolean({
533
604
  description: "Keep heading with next paragraph on same page"
534
605
  })
535
606
  ),
536
- keepLines: Type3.Optional(
537
- Type3.Boolean({
607
+ keepLines: Type4.Optional(
608
+ Type4.Boolean({
538
609
  description: "Keep all lines of heading together on same page"
539
610
  })
540
611
  ),
541
- revision: Type3.Optional(RevisionSchema)
612
+ revision: Type4.Optional(RevisionSchema),
613
+ comment: Type4.Optional(CommentSchema)
542
614
  },
543
615
  {
544
616
  description: "Heading component props",
@@ -547,63 +619,93 @@ var HeadingPropsSchema = Type3.Object(
547
619
  );
548
620
 
549
621
  // src/schemas/components/paragraph.ts
550
- import { Type as Type4 } from "@sinclair/typebox";
551
- var FrameWrapTypeSchema = Type4.Union(
622
+ import { Type as Type6 } from "@sinclair/typebox";
623
+
624
+ // src/schemas/components/note.ts
625
+ import { Type as Type5 } from "@sinclair/typebox";
626
+ var NoteSchema = Type5.Object(
627
+ {
628
+ id: Type5.String({
629
+ minLength: 1,
630
+ pattern: "^[^\\]\\s]+$",
631
+ description: 'Marker id referenced from the text as `[^id]`. Any characters except whitespace and "]".'
632
+ }),
633
+ text: Type5.String({
634
+ minLength: 1,
635
+ description: "Note body. Newlines split it into separate paragraphs where the note is placed."
636
+ })
637
+ },
638
+ {
639
+ description: "A note body bound to an inline `[^id]` marker",
640
+ additionalProperties: false
641
+ }
642
+ );
643
+ var FootnotesSchema = Type5.Array(NoteSchema, {
644
+ description: "Footnote bodies for `[^id]` markers in this paragraph, placed at the foot of the page. An unreferenced body is not emitted.",
645
+ minItems: 1
646
+ });
647
+ var EndnotesSchema = Type5.Array(NoteSchema, {
648
+ description: "Endnote bodies for `[^id]` markers in this paragraph, collected at the end of the document. An unreferenced body is not emitted.",
649
+ minItems: 1
650
+ });
651
+
652
+ // src/schemas/components/paragraph.ts
653
+ var FrameWrapTypeSchema = Type6.Union(
552
654
  [
553
- Type4.Literal("around"),
554
- Type4.Literal("none"),
555
- Type4.Literal("notBeside"),
556
- Type4.Literal("through"),
557
- Type4.Literal("tight"),
558
- Type4.Literal("auto")
655
+ Type6.Literal("around"),
656
+ Type6.Literal("none"),
657
+ Type6.Literal("notBeside"),
658
+ Type6.Literal("through"),
659
+ Type6.Literal("tight"),
660
+ Type6.Literal("auto")
559
661
  ],
560
662
  {
561
663
  description: "Frame text wrapping type"
562
664
  }
563
665
  );
564
- var FrameAnchorTypeSchema = Type4.Union(
565
- [Type4.Literal("margin"), Type4.Literal("page"), Type4.Literal("text")],
666
+ var FrameAnchorTypeSchema = Type6.Union(
667
+ [Type6.Literal("margin"), Type6.Literal("page"), Type6.Literal("text")],
566
668
  {
567
669
  description: "Frame anchor type"
568
670
  }
569
671
  );
570
- var FrameHorizontalAlignSchema = Type4.Union(
672
+ var FrameHorizontalAlignSchema = Type6.Union(
571
673
  [
572
- Type4.Literal("left"),
573
- Type4.Literal("center"),
574
- Type4.Literal("right"),
575
- Type4.Literal("inside"),
576
- Type4.Literal("outside")
674
+ Type6.Literal("left"),
675
+ Type6.Literal("center"),
676
+ Type6.Literal("right"),
677
+ Type6.Literal("inside"),
678
+ Type6.Literal("outside")
577
679
  ],
578
680
  {
579
681
  description: "Frame horizontal alignment"
580
682
  }
581
683
  );
582
- var FrameVerticalAlignSchema = Type4.Union(
684
+ var FrameVerticalAlignSchema = Type6.Union(
583
685
  [
584
- Type4.Literal("top"),
585
- Type4.Literal("center"),
586
- Type4.Literal("bottom"),
587
- Type4.Literal("inside"),
588
- Type4.Literal("outside")
686
+ Type6.Literal("top"),
687
+ Type6.Literal("center"),
688
+ Type6.Literal("bottom"),
689
+ Type6.Literal("inside"),
690
+ Type6.Literal("outside")
589
691
  ],
590
692
  {
591
693
  description: "Frame vertical alignment"
592
694
  }
593
695
  );
594
- var FloatingFramePropertiesSchema = Type4.Object(
696
+ var FloatingFramePropertiesSchema = Type6.Object(
595
697
  {
596
- horizontalPosition: Type4.Optional(
597
- Type4.Object(
698
+ horizontalPosition: Type6.Optional(
699
+ Type6.Object(
598
700
  {
599
- relative: Type4.Optional(FrameAnchorTypeSchema),
600
- align: Type4.Optional(FrameHorizontalAlignSchema),
601
- offset: Type4.Optional(
602
- Type4.Union([
603
- Type4.Number({
701
+ relative: Type6.Optional(FrameAnchorTypeSchema),
702
+ align: Type6.Optional(FrameHorizontalAlignSchema),
703
+ offset: Type6.Optional(
704
+ Type6.Union([
705
+ Type6.Number({
604
706
  description: "Horizontal offset in twips (1/20 of a point)"
605
707
  }),
606
- Type4.String({
708
+ Type6.String({
607
709
  pattern: "^\\d+(\\.\\d+)?%$",
608
710
  description: 'Horizontal offset as percentage (e.g., "50%") relative to page or margin width'
609
711
  })
@@ -616,17 +718,17 @@ var FloatingFramePropertiesSchema = Type4.Object(
616
718
  }
617
719
  )
618
720
  ),
619
- verticalPosition: Type4.Optional(
620
- Type4.Object(
721
+ verticalPosition: Type6.Optional(
722
+ Type6.Object(
621
723
  {
622
- relative: Type4.Optional(FrameAnchorTypeSchema),
623
- align: Type4.Optional(FrameVerticalAlignSchema),
624
- offset: Type4.Optional(
625
- Type4.Union([
626
- Type4.Number({
724
+ relative: Type6.Optional(FrameAnchorTypeSchema),
725
+ align: Type6.Optional(FrameVerticalAlignSchema),
726
+ offset: Type6.Optional(
727
+ Type6.Union([
728
+ Type6.Number({
627
729
  description: "Vertical offset in twips (1/20 of a point)"
628
730
  }),
629
- Type4.String({
731
+ Type6.String({
630
732
  pattern: "^\\d+(\\.\\d+)?%$",
631
733
  description: 'Vertical offset as percentage (e.g., "50%") relative to page or margin height'
632
734
  })
@@ -639,8 +741,8 @@ var FloatingFramePropertiesSchema = Type4.Object(
639
741
  }
640
742
  )
641
743
  ),
642
- wrap: Type4.Optional(
643
- Type4.Object(
744
+ wrap: Type6.Optional(
745
+ Type6.Object(
644
746
  {
645
747
  type: FrameWrapTypeSchema
646
748
  },
@@ -650,19 +752,19 @@ var FloatingFramePropertiesSchema = Type4.Object(
650
752
  }
651
753
  )
652
754
  ),
653
- lockAnchor: Type4.Optional(
654
- Type4.Boolean({
755
+ lockAnchor: Type6.Optional(
756
+ Type6.Boolean({
655
757
  description: "Lock the anchor position"
656
758
  })
657
759
  ),
658
- width: Type4.Optional(
659
- Type4.Number({
760
+ width: Type6.Optional(
761
+ Type6.Number({
660
762
  minimum: 1,
661
763
  description: "Frame width in twips (DXA units)"
662
764
  })
663
765
  ),
664
- height: Type4.Optional(
665
- Type4.Number({
766
+ height: Type6.Optional(
767
+ Type6.Number({
666
768
  minimum: 1,
667
769
  description: "Frame height in twips (DXA units)"
668
770
  })
@@ -673,71 +775,74 @@ var FloatingFramePropertiesSchema = Type4.Object(
673
775
  additionalProperties: false
674
776
  }
675
777
  );
676
- var AlignmentSchema2 = Type4.Union(
778
+ var AlignmentSchema2 = Type6.Union(
677
779
  [
678
- Type4.Literal("left"),
679
- Type4.Literal("center"),
680
- Type4.Literal("right"),
681
- Type4.Literal("justify")
780
+ Type6.Literal("left"),
781
+ Type6.Literal("center"),
782
+ Type6.Literal("right"),
783
+ Type6.Literal("justify")
682
784
  ],
683
785
  {
684
786
  description: "Paragraph text alignment"
685
787
  }
686
788
  );
687
- var ParagraphPropsSchema = Type4.Object(
789
+ var ParagraphPropsSchema = Type6.Object(
688
790
  {
689
- text: Type4.String({
791
+ text: Type6.String({
690
792
  description: "Text content (required)"
691
793
  }),
692
794
  // New nested font object, aligned with theme's FontDefinitionSchema
693
795
  // Allow partial overrides (family not required when overriding a subset)
694
- font: Type4.Optional(Type4.Partial(FontDefinitionSchema)),
796
+ font: Type6.Optional(Type6.Partial(FontDefinitionSchema)),
695
797
  // Optional reference to a named style from theme.styles (e.g., 'heading1', 'normal')
696
- themeStyle: Type4.Optional(Type4.String()),
798
+ themeStyle: Type6.Optional(Type6.String()),
697
799
  // Local language override (BCP-47). Falls back to the document default when omitted.
698
- language: Type4.Optional(LanguageSchema),
800
+ language: Type6.Optional(LanguageSchema),
699
801
  // Disable spell/grammar checking for this paragraph's text
700
- noProof: Type4.Optional(NoProofSchema),
802
+ noProof: Type6.Optional(NoProofSchema),
701
803
  // Known-words allowlist for this paragraph (merged with the document list)
702
- noProofWords: Type4.Optional(NoProofWordsSchema),
804
+ noProofWords: Type6.Optional(NoProofWordsSchema),
703
805
  // Rich-text decoration color for bold segments (kept as top-level behavior
704
806
  // option). Same value space as font.color: hex or theme color token.
705
- boldColor: Type4.Optional(HexColorSchema),
807
+ boldColor: Type6.Optional(HexColorSchema),
706
808
  // Paragraph spacing (in points) — limited paragraph-level option allowed
707
- spacing: Type4.Optional(SpacingSchema),
809
+ spacing: Type6.Optional(SpacingSchema),
708
810
  // Paragraph alignment (moved from font to config level)
709
- alignment: Type4.Optional(AlignmentSchema2),
811
+ alignment: Type6.Optional(AlignmentSchema2),
710
812
  // Paragraph indentation (w:ind) in twips
711
- indent: Type4.Optional(ParagraphIndentSchema),
813
+ indent: Type6.Optional(ParagraphIndentSchema),
712
814
  // Tab stops (w:tabs); tab characters (\t) in text jump to these positions
713
- tabStops: Type4.Optional(TabStopsSchema),
714
- pageBreak: Type4.Optional(
715
- Type4.Boolean({
815
+ tabStops: Type6.Optional(TabStopsSchema),
816
+ pageBreak: Type6.Optional(
817
+ Type6.Boolean({
716
818
  description: "Insert page break before paragraph"
717
819
  })
718
820
  ),
719
- columnBreak: Type4.Optional(
720
- Type4.Boolean({
821
+ columnBreak: Type6.Optional(
822
+ Type6.Boolean({
721
823
  description: "Insert column break before paragraph"
722
824
  })
723
825
  ),
724
- floating: Type4.Optional(FloatingFramePropertiesSchema),
725
- keepNext: Type4.Optional(
726
- Type4.Boolean({
826
+ floating: Type6.Optional(FloatingFramePropertiesSchema),
827
+ keepNext: Type6.Optional(
828
+ Type6.Boolean({
727
829
  description: "Keep paragraph with next paragraph on same page"
728
830
  })
729
831
  ),
730
- keepLines: Type4.Optional(
731
- Type4.Boolean({
832
+ keepLines: Type6.Optional(
833
+ Type6.Boolean({
732
834
  description: "Keep all lines of paragraph together on same page"
733
835
  })
734
836
  ),
735
- id: Type4.Optional(
736
- Type4.String({
837
+ id: Type6.Optional(
838
+ Type6.String({
737
839
  description: "Unique identifier for internal linking (bookmark anchor)"
738
840
  })
739
841
  ),
740
- revision: Type4.Optional(RevisionSchema)
842
+ revision: Type6.Optional(RevisionSchema),
843
+ comment: Type6.Optional(CommentSchema),
844
+ footnotes: Type6.Optional(FootnotesSchema),
845
+ endnotes: Type6.Optional(EndnotesSchema)
741
846
  },
742
847
  {
743
848
  description: "Paragraph component props (font nested for theme consistency; no flat font properties)",
@@ -746,37 +851,37 @@ var ParagraphPropsSchema = Type4.Object(
746
851
  );
747
852
 
748
853
  // src/schemas/components/image.ts
749
- import { Type as Type5 } from "@sinclair/typebox";
750
- var ImagePropsSchema = Type5.Object(
854
+ import { Type as Type7 } from "@sinclair/typebox";
855
+ var ImagePropsSchema = Type7.Object(
751
856
  {
752
- path: Type5.Optional(
753
- Type5.String({
857
+ path: Type7.Optional(
858
+ Type7.String({
754
859
  description: "Image source URL or file path (mutually exclusive with base64 and svg)"
755
860
  })
756
861
  ),
757
- base64: Type5.Optional(
758
- Type5.String({
862
+ base64: Type7.Optional(
863
+ Type7.String({
759
864
  description: 'Base64-encoded image data in data URI format (e.g., "data:image/png;base64,iVBORw0KGgo...") (mutually exclusive with path and svg)'
760
865
  })
761
866
  ),
762
- svg: Type5.Optional(
763
- Type5.String({
867
+ svg: Type7.Optional(
868
+ Type7.String({
764
869
  description: 'Raw inline SVG markup, e.g. "<svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\">...</svg>" (mutually exclusive with path and base64). Renders as a vector image (Word 2016+); intrinsic size taken from the SVG viewBox/width/height when width/height omitted.'
765
870
  })
766
871
  ),
767
- alt: Type5.Optional(
768
- Type5.String({
872
+ alt: Type7.Optional(
873
+ Type7.String({
769
874
  description: "Alternative text for accessibility"
770
875
  })
771
876
  ),
772
- width: Type5.Optional(
773
- Type5.Union(
877
+ width: Type7.Optional(
878
+ Type7.Union(
774
879
  [
775
- Type5.Number({
880
+ Type7.Number({
776
881
  minimum: 1,
777
882
  description: "Image width in pixels"
778
883
  }),
779
- Type5.String({
884
+ Type7.String({
780
885
  pattern: "^\\d+(\\.\\d+)?%$",
781
886
  description: 'Image width as percentage (e.g., "90%") relative to widthRelativeTo (defaults to content width)'
782
887
  })
@@ -787,14 +892,14 @@ var ImagePropsSchema = Type5.Object(
787
892
  }
788
893
  )
789
894
  ),
790
- height: Type5.Optional(
791
- Type5.Union(
895
+ height: Type7.Optional(
896
+ Type7.Union(
792
897
  [
793
- Type5.Number({
898
+ Type7.Number({
794
899
  minimum: 1,
795
900
  description: "Image height in pixels"
796
901
  }),
797
- Type5.String({
902
+ Type7.String({
798
903
  pattern: "^\\d+(\\.\\d+)?%$",
799
904
  description: 'Image height as percentage (e.g., "90%") relative to heightRelativeTo (defaults to content height)'
800
905
  })
@@ -804,33 +909,33 @@ var ImagePropsSchema = Type5.Object(
804
909
  }
805
910
  )
806
911
  ),
807
- widthRelativeTo: Type5.Optional(
808
- Type5.Union([Type5.Literal("content"), Type5.Literal("page")], {
912
+ widthRelativeTo: Type7.Optional(
913
+ Type7.Union([Type7.Literal("content"), Type7.Literal("page")], {
809
914
  description: "Reference for width percentages: content (page width minus margins) or page (full page width)",
810
915
  default: "content"
811
916
  })
812
917
  ),
813
- heightRelativeTo: Type5.Optional(
814
- Type5.Union([Type5.Literal("content"), Type5.Literal("page")], {
918
+ heightRelativeTo: Type7.Optional(
919
+ Type7.Union([Type7.Literal("content"), Type7.Literal("page")], {
815
920
  description: "Reference for height percentages: content (page height minus margins) or page (full page height)",
816
921
  default: "content"
817
922
  })
818
923
  ),
819
- alignment: Type5.Optional(AlignmentSchema),
820
- caption: Type5.Optional(
821
- Type5.String({
924
+ alignment: Type7.Optional(AlignmentSchema),
925
+ caption: Type7.Optional(
926
+ Type7.String({
822
927
  description: "Image caption (supports rich text with **bold**, *italic*, ***both***)"
823
928
  })
824
929
  ),
825
- spacing: Type5.Optional(SpacingSchema),
826
- floating: Type5.Optional(FloatingPropertiesSchema),
827
- keepNext: Type5.Optional(
828
- Type5.Boolean({
930
+ spacing: Type7.Optional(SpacingSchema),
931
+ floating: Type7.Optional(FloatingPropertiesSchema),
932
+ keepNext: Type7.Optional(
933
+ Type7.Boolean({
829
934
  description: "Keep paragraph with next paragraph on same page"
830
935
  })
831
936
  ),
832
- keepLines: Type5.Optional(
833
- Type5.Boolean({
937
+ keepLines: Type7.Optional(
938
+ Type7.Boolean({
834
939
  description: "Keep all lines of paragraph together on same page"
835
940
  })
836
941
  )
@@ -842,40 +947,40 @@ var ImagePropsSchema = Type5.Object(
842
947
  );
843
948
 
844
949
  // src/schemas/components/statistic.ts
845
- import { Type as Type6 } from "@sinclair/typebox";
846
- var StatisticPropsSchema = Type6.Object(
950
+ import { Type as Type8 } from "@sinclair/typebox";
951
+ var StatisticPropsSchema = Type8.Object(
847
952
  {
848
- number: Type6.String({
953
+ number: Type8.String({
849
954
  description: "Statistic number/value (required)"
850
955
  }),
851
- description: Type6.String({
956
+ description: Type8.String({
852
957
  description: "Statistic description (required)"
853
958
  }),
854
- unit: Type6.Optional(
855
- Type6.String({
959
+ unit: Type8.Optional(
960
+ Type8.String({
856
961
  description: "Unit of measurement"
857
962
  })
858
963
  ),
859
- format: Type6.Optional(
860
- Type6.String({
964
+ format: Type8.Optional(
965
+ Type8.String({
861
966
  description: "Number format pattern"
862
967
  })
863
968
  ),
864
- trend: Type6.Optional(
865
- Type6.Union([
866
- Type6.Literal("up"),
867
- Type6.Literal("down"),
868
- Type6.Literal("neutral")
969
+ trend: Type8.Optional(
970
+ Type8.Union([
971
+ Type8.Literal("up"),
972
+ Type8.Literal("down"),
973
+ Type8.Literal("neutral")
869
974
  ])
870
975
  ),
871
- trendValue: Type6.Optional(Type6.Union([Type6.String(), Type6.Number()])),
872
- alignment: Type6.Optional(AlignmentSchema),
873
- spacing: Type6.Optional(SpacingSchema),
874
- size: Type6.Optional(
875
- Type6.Union([
876
- Type6.Literal("small"),
877
- Type6.Literal("medium"),
878
- Type6.Literal("large")
976
+ trendValue: Type8.Optional(Type8.Union([Type8.String(), Type8.Number()])),
977
+ alignment: Type8.Optional(AlignmentSchema),
978
+ spacing: Type8.Optional(SpacingSchema),
979
+ size: Type8.Optional(
980
+ Type8.Union([
981
+ Type8.Literal("small"),
982
+ Type8.Literal("medium"),
983
+ Type8.Literal("large")
879
984
  ])
880
985
  )
881
986
  },
@@ -886,112 +991,112 @@ var StatisticPropsSchema = Type6.Object(
886
991
  );
887
992
 
888
993
  // src/schemas/components/table.ts
889
- import { Type as Type7 } from "@sinclair/typebox";
890
- var CellContentSchema = Type7.Recursive(
891
- (This) => Type7.Union([
892
- Type7.String(),
893
- Type7.Object(
994
+ import { Type as Type9 } from "@sinclair/typebox";
995
+ var CellContentSchema = Type9.Recursive(
996
+ (This) => Type9.Union([
997
+ Type9.String(),
998
+ Type9.Object(
894
999
  {
895
- name: Type7.String(),
896
- props: Type7.Object({}, { additionalProperties: true }),
897
- children: Type7.Optional(Type7.Array(This))
1000
+ name: Type9.String(),
1001
+ props: Type9.Object({}, { additionalProperties: true }),
1002
+ children: Type9.Optional(Type9.Array(This))
898
1003
  },
899
1004
  { additionalProperties: false }
900
1005
  )
901
1006
  ])
902
1007
  );
903
- var HorizontalAlignmentSchema = Type7.Union(
1008
+ var HorizontalAlignmentSchema = Type9.Union(
904
1009
  [
905
- Type7.Literal("left"),
906
- Type7.Literal("center"),
907
- Type7.Literal("right"),
908
- Type7.Literal("justify")
1010
+ Type9.Literal("left"),
1011
+ Type9.Literal("center"),
1012
+ Type9.Literal("right"),
1013
+ Type9.Literal("justify")
909
1014
  ],
910
1015
  { description: "Horizontal text alignment" }
911
1016
  );
912
- var VerticalAlignmentSchema = Type7.Union(
913
- [Type7.Literal("top"), Type7.Literal("middle"), Type7.Literal("bottom")],
1017
+ var VerticalAlignmentSchema = Type9.Union(
1018
+ [Type9.Literal("top"), Type9.Literal("middle"), Type9.Literal("bottom")],
914
1019
  { description: "Vertical cell alignment" }
915
1020
  );
916
- var FontConfigSchema = Type7.Object(
1021
+ var FontConfigSchema = Type9.Object(
917
1022
  {
918
- family: Type7.Optional(Type7.String({ description: "Font family name" })),
919
- size: Type7.Optional(
920
- Type7.Number({ minimum: 0, description: "Font size in points" })
1023
+ family: Type9.Optional(Type9.String({ description: "Font family name" })),
1024
+ size: Type9.Optional(
1025
+ Type9.Number({ minimum: 0, description: "Font size in points" })
921
1026
  ),
922
- bold: Type7.Optional(Type7.Boolean({ description: "Bold text" })),
923
- fontWeight: Type7.Optional(
924
- Type7.Integer({
1027
+ bold: Type9.Optional(Type9.Boolean({ description: "Bold text" })),
1028
+ fontWeight: Type9.Optional(
1029
+ Type9.Integer({
925
1030
  minimum: 100,
926
1031
  maximum: 900,
927
1032
  description: "Per-cell weight (100\u2013900). Overrides `bold` when set."
928
1033
  })
929
1034
  ),
930
- italic: Type7.Optional(Type7.Boolean({ description: "Italic text" })),
931
- underline: Type7.Optional(Type7.Boolean({ description: "Underlined text" }))
1035
+ italic: Type9.Optional(Type9.Boolean({ description: "Italic text" })),
1036
+ underline: Type9.Optional(Type9.Boolean({ description: "Underlined text" }))
932
1037
  },
933
1038
  { additionalProperties: false }
934
1039
  );
935
- var BorderColorSchema = Type7.Union([
936
- Type7.String({ description: "Border color for all sides (hex without #)" }),
937
- Type7.Object(
1040
+ var BorderColorSchema = Type9.Union([
1041
+ Type9.String({ description: "Border color for all sides (hex without #)" }),
1042
+ Type9.Object(
938
1043
  {
939
- bottom: Type7.Optional(
940
- Type7.String({ description: "Bottom border color (hex without #)" })
1044
+ bottom: Type9.Optional(
1045
+ Type9.String({ description: "Bottom border color (hex without #)" })
941
1046
  ),
942
- top: Type7.Optional(
943
- Type7.String({ description: "Top border color (hex without #)" })
1047
+ top: Type9.Optional(
1048
+ Type9.String({ description: "Top border color (hex without #)" })
944
1049
  ),
945
- right: Type7.Optional(
946
- Type7.String({ description: "Right border color (hex without #)" })
1050
+ right: Type9.Optional(
1051
+ Type9.String({ description: "Right border color (hex without #)" })
947
1052
  ),
948
- left: Type7.Optional(
949
- Type7.String({ description: "Left border color (hex without #)" })
1053
+ left: Type9.Optional(
1054
+ Type9.String({ description: "Left border color (hex without #)" })
950
1055
  )
951
1056
  },
952
1057
  { additionalProperties: false }
953
1058
  )
954
1059
  ]);
955
- var BorderSizeSchema = Type7.Union([
956
- Type7.Number({
1060
+ var BorderSizeSchema = Type9.Union([
1061
+ Type9.Number({
957
1062
  minimum: 0,
958
1063
  description: "Border size for all sides in points"
959
1064
  }),
960
- Type7.Object(
1065
+ Type9.Object(
961
1066
  {
962
- bottom: Type7.Optional(
963
- Type7.Number({ minimum: 0, description: "Bottom border size in points" })
1067
+ bottom: Type9.Optional(
1068
+ Type9.Number({ minimum: 0, description: "Bottom border size in points" })
964
1069
  ),
965
- top: Type7.Optional(
966
- Type7.Number({ minimum: 0, description: "Top border size in points" })
1070
+ top: Type9.Optional(
1071
+ Type9.Number({ minimum: 0, description: "Top border size in points" })
967
1072
  ),
968
- right: Type7.Optional(
969
- Type7.Number({ minimum: 0, description: "Right border size in points" })
1073
+ right: Type9.Optional(
1074
+ Type9.Number({ minimum: 0, description: "Right border size in points" })
970
1075
  ),
971
- left: Type7.Optional(
972
- Type7.Number({ minimum: 0, description: "Left border size in points" })
1076
+ left: Type9.Optional(
1077
+ Type9.Number({ minimum: 0, description: "Left border size in points" })
973
1078
  )
974
1079
  },
975
1080
  { additionalProperties: false }
976
1081
  )
977
1082
  ]);
978
- var HideBordersSchema = Type7.Union([
979
- Type7.Boolean({
1083
+ var HideBordersSchema = Type9.Union([
1084
+ Type9.Boolean({
980
1085
  description: "Hide all borders when true"
981
1086
  }),
982
- Type7.Object(
1087
+ Type9.Object(
983
1088
  {
984
- bottom: Type7.Optional(
985
- Type7.Boolean({ description: "Hide bottom border" })
1089
+ bottom: Type9.Optional(
1090
+ Type9.Boolean({ description: "Hide bottom border" })
986
1091
  ),
987
- top: Type7.Optional(Type7.Boolean({ description: "Hide top border" })),
988
- right: Type7.Optional(Type7.Boolean({ description: "Hide right border" })),
989
- left: Type7.Optional(Type7.Boolean({ description: "Hide left border" })),
990
- insideHorizontal: Type7.Optional(
991
- Type7.Boolean({ description: "Hide horizontal borders between rows" })
1092
+ top: Type9.Optional(Type9.Boolean({ description: "Hide top border" })),
1093
+ right: Type9.Optional(Type9.Boolean({ description: "Hide right border" })),
1094
+ left: Type9.Optional(Type9.Boolean({ description: "Hide left border" })),
1095
+ insideHorizontal: Type9.Optional(
1096
+ Type9.Boolean({ description: "Hide horizontal borders between rows" })
992
1097
  ),
993
- insideVertical: Type7.Optional(
994
- Type7.Boolean({ description: "Hide vertical borders between columns" })
1098
+ insideVertical: Type9.Optional(
1099
+ Type9.Boolean({ description: "Hide vertical borders between columns" })
995
1100
  )
996
1101
  },
997
1102
  {
@@ -1000,121 +1105,146 @@ var HideBordersSchema = Type7.Union([
1000
1105
  }
1001
1106
  )
1002
1107
  ]);
1003
- var PaddingSchema = Type7.Union([
1004
- Type7.Number({ minimum: 0, description: "Padding for all sides in points" }),
1005
- Type7.Object(
1108
+ var PaddingSchema = Type9.Union([
1109
+ Type9.Number({ minimum: 0, description: "Padding for all sides in points" }),
1110
+ Type9.Object(
1006
1111
  {
1007
- bottom: Type7.Optional(
1008
- Type7.Number({ minimum: 0, description: "Bottom padding in points" })
1112
+ bottom: Type9.Optional(
1113
+ Type9.Number({ minimum: 0, description: "Bottom padding in points" })
1009
1114
  ),
1010
- top: Type7.Optional(
1011
- Type7.Number({ minimum: 0, description: "Top padding in points" })
1115
+ top: Type9.Optional(
1116
+ Type9.Number({ minimum: 0, description: "Top padding in points" })
1012
1117
  ),
1013
- right: Type7.Optional(
1014
- Type7.Number({ minimum: 0, description: "Right padding in points" })
1118
+ right: Type9.Optional(
1119
+ Type9.Number({ minimum: 0, description: "Right padding in points" })
1015
1120
  ),
1016
- left: Type7.Optional(
1017
- Type7.Number({ minimum: 0, description: "Left padding in points" })
1121
+ left: Type9.Optional(
1122
+ Type9.Number({ minimum: 0, description: "Left padding in points" })
1018
1123
  )
1019
1124
  },
1020
1125
  { additionalProperties: false }
1021
1126
  )
1022
1127
  ]);
1023
- var CellDefaultsSchema = Type7.Object(
1128
+ var CellDefaultsSchema = Type9.Object(
1024
1129
  {
1025
- color: Type7.Optional(HexColorSchema),
1026
- backgroundColor: Type7.Optional(HexColorOrTransparentSchema),
1027
- horizontalAlignment: Type7.Optional(HorizontalAlignmentSchema),
1028
- verticalAlignment: Type7.Optional(VerticalAlignmentSchema),
1029
- font: Type7.Optional(FontConfigSchema),
1030
- borderColor: Type7.Optional(BorderColorSchema),
1031
- borderSize: Type7.Optional(BorderSizeSchema),
1032
- padding: Type7.Optional(PaddingSchema),
1033
- height: Type7.Optional(
1034
- Type7.Number({ minimum: 0, description: "Cell height in points" })
1130
+ color: Type9.Optional(HexColorSchema),
1131
+ backgroundColor: Type9.Optional(HexColorOrTransparentSchema),
1132
+ horizontalAlignment: Type9.Optional(HorizontalAlignmentSchema),
1133
+ verticalAlignment: Type9.Optional(VerticalAlignmentSchema),
1134
+ font: Type9.Optional(FontConfigSchema),
1135
+ borderColor: Type9.Optional(BorderColorSchema),
1136
+ borderSize: Type9.Optional(BorderSizeSchema),
1137
+ padding: Type9.Optional(PaddingSchema),
1138
+ height: Type9.Optional(
1139
+ Type9.Number({ minimum: 0, description: "Cell height in points" })
1035
1140
  )
1036
1141
  },
1037
1142
  { additionalProperties: false }
1038
1143
  );
1039
1144
  function createTablePropsSchema(componentRef) {
1040
- const cellContent = Type7.Union([Type7.String(), componentRef]);
1145
+ const cellContent = Type9.Union([Type9.String(), componentRef]);
1041
1146
  const cellFields = {
1042
- color: Type7.Optional(HexColorSchema),
1043
- backgroundColor: Type7.Optional(HexColorOrTransparentSchema),
1044
- horizontalAlignment: Type7.Optional(HorizontalAlignmentSchema),
1045
- verticalAlignment: Type7.Optional(VerticalAlignmentSchema),
1046
- font: Type7.Optional(FontConfigSchema),
1047
- borderColor: Type7.Optional(BorderColorSchema),
1048
- borderSize: Type7.Optional(BorderSizeSchema),
1049
- padding: Type7.Optional(PaddingSchema),
1050
- height: Type7.Optional(
1051
- Type7.Number({ minimum: 0, description: "Cell height in points" })
1052
- )
1147
+ color: Type9.Optional(HexColorSchema),
1148
+ backgroundColor: Type9.Optional(HexColorOrTransparentSchema),
1149
+ horizontalAlignment: Type9.Optional(HorizontalAlignmentSchema),
1150
+ verticalAlignment: Type9.Optional(VerticalAlignmentSchema),
1151
+ font: Type9.Optional(FontConfigSchema),
1152
+ borderColor: Type9.Optional(BorderColorSchema),
1153
+ borderSize: Type9.Optional(BorderSizeSchema),
1154
+ padding: Type9.Optional(PaddingSchema),
1155
+ height: Type9.Optional(
1156
+ Type9.Number({ minimum: 0, description: "Cell height in points" })
1157
+ ),
1158
+ comment: Type9.Optional(CommentSchema),
1159
+ revision: Type9.Optional(RevisionSchema)
1053
1160
  };
1054
- const headerSchema = Type7.Object(
1161
+ const headerSchema = Type9.Object(
1055
1162
  {
1056
1163
  ...cellFields,
1057
- content: Type7.Optional(cellContent)
1164
+ content: Type9.Optional(cellContent)
1058
1165
  },
1059
1166
  { additionalProperties: false }
1060
1167
  );
1061
- const cellSchema = Type7.Object(
1168
+ const cellSchema = Type9.Object(
1062
1169
  {
1063
1170
  ...cellFields,
1064
- content: Type7.Optional(cellContent)
1171
+ content: Type9.Optional(cellContent)
1065
1172
  },
1066
1173
  { additionalProperties: false }
1067
1174
  );
1068
- const columnSchema = Type7.Object(
1175
+ const columnSchema = Type9.Object(
1069
1176
  {
1070
- width: Type7.Optional(
1071
- Type7.Union([
1072
- Type7.Number({
1177
+ width: Type9.Optional(
1178
+ Type9.Union([
1179
+ Type9.Number({
1073
1180
  minimum: 0,
1074
1181
  description: "Column width in points. When set on some columns, remaining columns will automatically share the leftover table space equally. Leave undefined to distribute space evenly among unspecified columns."
1075
1182
  }),
1076
- Type7.String({
1183
+ Type9.String({
1077
1184
  pattern: "^\\d+(\\.\\d+)?%$",
1078
1185
  description: 'Column width as percentage of available width (e.g., "40%")'
1079
1186
  })
1080
1187
  ])
1081
1188
  ),
1082
- cellDefaults: Type7.Optional(CellDefaultsSchema),
1083
- header: Type7.Optional(headerSchema),
1084
- cells: Type7.Optional(Type7.Array(cellSchema))
1189
+ cellDefaults: Type9.Optional(CellDefaultsSchema),
1190
+ header: Type9.Optional(headerSchema),
1191
+ cells: Type9.Optional(Type9.Array(cellSchema))
1085
1192
  },
1086
1193
  { additionalProperties: false }
1087
1194
  );
1088
- return Type7.Object(
1195
+ return Type9.Object(
1089
1196
  {
1090
- borderColor: Type7.Optional(BorderColorSchema),
1091
- borderSize: Type7.Optional(BorderSizeSchema),
1092
- hideBorders: Type7.Optional(HideBordersSchema),
1093
- cellDefaults: Type7.Optional(CellDefaultsSchema),
1094
- headerCellDefaults: Type7.Optional(CellDefaultsSchema),
1095
- width: Type7.Optional(
1096
- Type7.Number({
1197
+ borderColor: Type9.Optional(BorderColorSchema),
1198
+ borderSize: Type9.Optional(BorderSizeSchema),
1199
+ hideBorders: Type9.Optional(HideBordersSchema),
1200
+ cellDefaults: Type9.Optional(CellDefaultsSchema),
1201
+ headerCellDefaults: Type9.Optional(CellDefaultsSchema),
1202
+ width: Type9.Optional(
1203
+ Type9.Number({
1097
1204
  minimum: 0,
1098
1205
  maximum: 100,
1099
1206
  description: "Table width in percentage (0-100)"
1100
1207
  })
1101
1208
  ),
1102
- columns: Type7.Array(columnSchema, {
1209
+ columns: Type9.Array(columnSchema, {
1103
1210
  description: "Table columns with headers and cells",
1104
1211
  minItems: 1
1105
1212
  }),
1106
- keepInOnePage: Type7.Optional(
1107
- Type7.Boolean({
1213
+ rows: Type9.Optional(
1214
+ Type9.Array(
1215
+ Type9.Object(
1216
+ {
1217
+ revision: Type9.Optional(RevisionMarkSchema),
1218
+ cantSplit: Type9.Optional(
1219
+ Type9.Boolean({
1220
+ description: "Keep this row on one page"
1221
+ })
1222
+ ),
1223
+ tableHeader: Type9.Optional(
1224
+ Type9.Boolean({
1225
+ description: "Repeat this row as a header on each page"
1226
+ })
1227
+ )
1228
+ },
1229
+ { additionalProperties: false }
1230
+ ),
1231
+ {
1232
+ description: "Row-parallel properties, indexed like `columns[].cells`. The model is column-major, so anything that belongs to a whole row lives here."
1233
+ }
1234
+ )
1235
+ ),
1236
+ keepInOnePage: Type9.Optional(
1237
+ Type9.Boolean({
1108
1238
  description: "Keep table rows together on the same page by setting keepNext on all paragraphs"
1109
1239
  })
1110
1240
  ),
1111
- keepNext: Type7.Optional(
1112
- Type7.Boolean({
1241
+ keepNext: Type9.Optional(
1242
+ Type9.Boolean({
1113
1243
  description: "Set keepNext on the last row to keep it connected to the next element. Works independently of keepInOnePage. Defaults to false."
1114
1244
  })
1115
1245
  ),
1116
- repeatHeaderOnPageBreak: Type7.Optional(
1117
- Type7.Boolean({
1246
+ repeatHeaderOnPageBreak: Type9.Optional(
1247
+ Type9.Boolean({
1118
1248
  description: "Repeat the header row on each page when the table spans multiple pages. Defaults to true.",
1119
1249
  default: true
1120
1250
  })
@@ -1129,14 +1259,14 @@ function createTablePropsSchema(componentRef) {
1129
1259
  var TablePropsSchema = createTablePropsSchema(CellContentSchema);
1130
1260
 
1131
1261
  // src/schemas/components/section.ts
1132
- import { Type as Type8 } from "@sinclair/typebox";
1133
- var createSectionPropsSchema = (componentRef) => Type8.Object(
1262
+ import { Type as Type10 } from "@sinclair/typebox";
1263
+ var createSectionPropsSchema = (componentRef) => Type10.Object(
1134
1264
  {
1135
- meta: Type8.Optional(
1136
- Type8.Object(
1265
+ meta: Type10.Optional(
1266
+ Type10.Object(
1137
1267
  {
1138
- title: Type8.Optional(
1139
- Type8.String({
1268
+ title: Type10.Optional(
1269
+ Type10.String({
1140
1270
  description: "Authoring label for this section, shown in editors and outlines. Never rendered \u2014 add a heading child for a visible title."
1141
1271
  })
1142
1272
  )
@@ -1147,58 +1277,58 @@ var createSectionPropsSchema = (componentRef) => Type8.Object(
1147
1277
  }
1148
1278
  )
1149
1279
  ),
1150
- header: Type8.Optional(
1151
- Type8.Union([
1152
- Type8.Array(componentRef || Type8.Any(), {
1280
+ header: Type10.Optional(
1281
+ Type10.Union([
1282
+ Type10.Array(componentRef || Type10.Any(), {
1153
1283
  description: "Section header components"
1154
1284
  }),
1155
- Type8.Literal("linkToPrevious", {
1285
+ Type10.Literal("linkToPrevious", {
1156
1286
  description: "Link header to previous section"
1157
1287
  })
1158
1288
  ])
1159
1289
  ),
1160
- footer: Type8.Optional(
1161
- Type8.Union([
1162
- Type8.Array(componentRef || Type8.Any(), {
1290
+ footer: Type10.Optional(
1291
+ Type10.Union([
1292
+ Type10.Array(componentRef || Type10.Any(), {
1163
1293
  description: "Section footer components"
1164
1294
  }),
1165
- Type8.Literal("linkToPrevious", {
1295
+ Type10.Literal("linkToPrevious", {
1166
1296
  description: "Link footer to previous section"
1167
1297
  })
1168
1298
  ])
1169
1299
  ),
1170
- pageBreak: Type8.Optional(
1171
- Type8.Boolean({
1300
+ pageBreak: Type10.Optional(
1301
+ Type10.Boolean({
1172
1302
  description: "Insert page break before section",
1173
1303
  default: true
1174
1304
  })
1175
1305
  ),
1176
- spacing: Type8.Optional(SpacingSchema),
1177
- page: Type8.Optional(
1178
- Type8.Object(
1306
+ spacing: Type10.Optional(SpacingSchema),
1307
+ page: Type10.Optional(
1308
+ Type10.Object(
1179
1309
  {
1180
- size: Type8.Optional(
1181
- Type8.Union([
1182
- Type8.Literal("A4"),
1183
- Type8.Literal("A3"),
1184
- Type8.Literal("LETTER"),
1185
- Type8.Literal("LEGAL"),
1186
- Type8.Object({
1187
- width: Type8.Number({ minimum: 0 }),
1188
- height: Type8.Number({ minimum: 0 })
1310
+ size: Type10.Optional(
1311
+ Type10.Union([
1312
+ Type10.Literal("A4"),
1313
+ Type10.Literal("A3"),
1314
+ Type10.Literal("LETTER"),
1315
+ Type10.Literal("LEGAL"),
1316
+ Type10.Object({
1317
+ width: Type10.Number({ minimum: 0 }),
1318
+ height: Type10.Number({ minimum: 0 })
1189
1319
  })
1190
1320
  ])
1191
1321
  ),
1192
- margins: Type8.Optional(
1193
- Type8.Object(
1322
+ margins: Type10.Optional(
1323
+ Type10.Object(
1194
1324
  {
1195
- top: Type8.Optional(Type8.Number({ minimum: 0 })),
1196
- bottom: Type8.Optional(Type8.Number({ minimum: 0 })),
1197
- left: Type8.Optional(Type8.Number({ minimum: 0 })),
1198
- right: Type8.Optional(Type8.Number({ minimum: 0 })),
1199
- header: Type8.Optional(Type8.Number({ minimum: 0 })),
1200
- footer: Type8.Optional(Type8.Number({ minimum: 0 })),
1201
- gutter: Type8.Optional(Type8.Number({ minimum: 0 }))
1325
+ top: Type10.Optional(Type10.Number({ minimum: 0 })),
1326
+ bottom: Type10.Optional(Type10.Number({ minimum: 0 })),
1327
+ left: Type10.Optional(Type10.Number({ minimum: 0 })),
1328
+ right: Type10.Optional(Type10.Number({ minimum: 0 })),
1329
+ header: Type10.Optional(Type10.Number({ minimum: 0 })),
1330
+ footer: Type10.Optional(Type10.Number({ minimum: 0 })),
1331
+ gutter: Type10.Optional(Type10.Number({ minimum: 0 }))
1202
1332
  },
1203
1333
  {
1204
1334
  additionalProperties: false
@@ -1221,31 +1351,31 @@ var createSectionPropsSchema = (componentRef) => Type8.Object(
1221
1351
  var SectionPropsSchema = createSectionPropsSchema();
1222
1352
 
1223
1353
  // src/schemas/components/columns.ts
1224
- import { Type as Type9 } from "@sinclair/typebox";
1225
- var ColumnDescriptorSchema = Type9.Object(
1354
+ import { Type as Type11 } from "@sinclair/typebox";
1355
+ var ColumnDescriptorSchema = Type11.Object(
1226
1356
  {
1227
- width: Type9.Optional(
1228
- Type9.Union([
1229
- Type9.Number({
1357
+ width: Type11.Optional(
1358
+ Type11.Union([
1359
+ Type11.Number({
1230
1360
  minimum: 1,
1231
1361
  description: "Column width in points"
1232
1362
  }),
1233
- Type9.String({
1363
+ Type11.String({
1234
1364
  pattern: "^\\d+(\\.\\d+)?%$",
1235
1365
  description: 'Column width as percentage of available width (e.g., "30%")'
1236
1366
  }),
1237
- Type9.Literal("auto", {
1367
+ Type11.Literal("auto", {
1238
1368
  description: "Auto width: consume remaining space after fixed widths and gaps"
1239
1369
  })
1240
1370
  ])
1241
1371
  ),
1242
- gap: Type9.Optional(
1243
- Type9.Union([
1244
- Type9.Number({
1372
+ gap: Type11.Optional(
1373
+ Type11.Union([
1374
+ Type11.Number({
1245
1375
  minimum: 0,
1246
1376
  description: "Gap after this column in points"
1247
1377
  }),
1248
- Type9.String({
1378
+ Type11.String({
1249
1379
  pattern: "^\\d+(\\.\\d+)?%$",
1250
1380
  description: 'Gap after this column as percentage of available width (e.g., "5%")'
1251
1381
  })
@@ -1254,25 +1384,25 @@ var ColumnDescriptorSchema = Type9.Object(
1254
1384
  },
1255
1385
  { additionalProperties: false }
1256
1386
  );
1257
- var ColumnsPropsSchema = Type9.Object(
1387
+ var ColumnsPropsSchema = Type11.Object(
1258
1388
  {
1259
- columns: Type9.Union([
1260
- Type9.Number({
1389
+ columns: Type11.Union([
1390
+ Type11.Number({
1261
1391
  minimum: 1,
1262
1392
  description: "Number of equal-width columns (converter will normalize to array)"
1263
1393
  }),
1264
- Type9.Array(ColumnDescriptorSchema, {
1394
+ Type11.Array(ColumnDescriptorSchema, {
1265
1395
  minItems: 1,
1266
1396
  description: "List of columns in order; width and gap can be points, percentages, or auto width"
1267
1397
  })
1268
1398
  ]),
1269
- gap: Type9.Optional(
1270
- Type9.Union([
1271
- Type9.Number({
1399
+ gap: Type11.Optional(
1400
+ Type11.Union([
1401
+ Type11.Number({
1272
1402
  minimum: 0,
1273
1403
  description: "Default gap applied after each column except the last (points)"
1274
1404
  }),
1275
- Type9.String({
1405
+ Type11.String({
1276
1406
  pattern: "^\\d+(\\.\\d+)?%$",
1277
1407
  description: 'Default gap applied after each column except the last as percentage of available width (e.g., "5%")'
1278
1408
  })
@@ -1286,130 +1416,149 @@ var ColumnsPropsSchema = Type9.Object(
1286
1416
  );
1287
1417
 
1288
1418
  // src/schemas/components/list.ts
1289
- import { Type as Type10 } from "@sinclair/typebox";
1290
- var LevelFormatSchema = Type10.Union(
1419
+ import { Type as Type12 } from "@sinclair/typebox";
1420
+ var LevelFormatSchema = Type12.Union(
1291
1421
  [
1292
- Type10.Literal("decimal"),
1293
- Type10.Literal("upperRoman"),
1294
- Type10.Literal("lowerRoman"),
1295
- Type10.Literal("upperLetter"),
1296
- Type10.Literal("lowerLetter"),
1297
- Type10.Literal("bullet"),
1298
- Type10.Literal("ordinal"),
1299
- Type10.Literal("cardinalText"),
1300
- Type10.Literal("ordinalText"),
1301
- Type10.Literal("hex"),
1302
- Type10.Literal("chicago"),
1303
- Type10.Literal("ideographDigital"),
1304
- Type10.Literal("japaneseCounting"),
1305
- Type10.Literal("aiueo"),
1306
- Type10.Literal("iroha"),
1307
- Type10.Literal("decimalFullWidth"),
1308
- Type10.Literal("decimalHalfWidth"),
1309
- Type10.Literal("japaneseLegal"),
1310
- Type10.Literal("japaneseDigitalTenThousand"),
1311
- Type10.Literal("decimalEnclosedCircle"),
1312
- Type10.Literal("decimalFullWidth2"),
1313
- Type10.Literal("aiueoFullWidth"),
1314
- Type10.Literal("irohaFullWidth"),
1315
- Type10.Literal("decimalZero"),
1316
- Type10.Literal("ganada"),
1317
- Type10.Literal("chosung"),
1318
- Type10.Literal("decimalEnclosedFullstop"),
1319
- Type10.Literal("decimalEnclosedParen"),
1320
- Type10.Literal("decimalEnclosedCircleChinese"),
1321
- Type10.Literal("ideographEnclosedCircle"),
1322
- Type10.Literal("ideographTraditional"),
1323
- Type10.Literal("ideographZodiac"),
1324
- Type10.Literal("ideographZodiacTraditional"),
1325
- Type10.Literal("taiwaneseCounting"),
1326
- Type10.Literal("ideographLegalTraditional"),
1327
- Type10.Literal("taiwaneseCountingThousand"),
1328
- Type10.Literal("taiwaneseDigital"),
1329
- Type10.Literal("chineseCounting"),
1330
- Type10.Literal("chineseLegalSimplified"),
1331
- Type10.Literal("chineseCountingThousand"),
1332
- Type10.Literal("koreanDigital"),
1333
- Type10.Literal("koreanCounting"),
1334
- Type10.Literal("koreanLegal"),
1335
- Type10.Literal("koreanDigital2"),
1336
- Type10.Literal("vietnameseCounting"),
1337
- Type10.Literal("russianLower"),
1338
- Type10.Literal("russianUpper"),
1339
- Type10.Literal("none"),
1340
- Type10.Literal("numberInDash"),
1341
- Type10.Literal("hebrew1"),
1342
- Type10.Literal("hebrew2"),
1343
- Type10.Literal("arabicAlpha"),
1344
- Type10.Literal("arabicAbjad"),
1345
- Type10.Literal("hindiVowels"),
1346
- Type10.Literal("hindiConsonants"),
1347
- Type10.Literal("hindiNumbers"),
1348
- Type10.Literal("hindiCounting"),
1349
- Type10.Literal("thaiLetters"),
1350
- Type10.Literal("thaiNumbers"),
1351
- Type10.Literal("thaiCounting")
1422
+ Type12.Literal("decimal"),
1423
+ Type12.Literal("upperRoman"),
1424
+ Type12.Literal("lowerRoman"),
1425
+ Type12.Literal("upperLetter"),
1426
+ Type12.Literal("lowerLetter"),
1427
+ Type12.Literal("bullet"),
1428
+ Type12.Literal("ordinal"),
1429
+ Type12.Literal("cardinalText"),
1430
+ Type12.Literal("ordinalText"),
1431
+ Type12.Literal("hex"),
1432
+ Type12.Literal("chicago"),
1433
+ Type12.Literal("ideographDigital"),
1434
+ Type12.Literal("japaneseCounting"),
1435
+ Type12.Literal("aiueo"),
1436
+ Type12.Literal("iroha"),
1437
+ Type12.Literal("decimalFullWidth"),
1438
+ Type12.Literal("decimalHalfWidth"),
1439
+ Type12.Literal("japaneseLegal"),
1440
+ Type12.Literal("japaneseDigitalTenThousand"),
1441
+ Type12.Literal("decimalEnclosedCircle"),
1442
+ Type12.Literal("decimalFullWidth2"),
1443
+ Type12.Literal("aiueoFullWidth"),
1444
+ Type12.Literal("irohaFullWidth"),
1445
+ Type12.Literal("decimalZero"),
1446
+ Type12.Literal("ganada"),
1447
+ Type12.Literal("chosung"),
1448
+ Type12.Literal("decimalEnclosedFullstop"),
1449
+ Type12.Literal("decimalEnclosedParen"),
1450
+ Type12.Literal("decimalEnclosedCircleChinese"),
1451
+ Type12.Literal("ideographEnclosedCircle"),
1452
+ Type12.Literal("ideographTraditional"),
1453
+ Type12.Literal("ideographZodiac"),
1454
+ Type12.Literal("ideographZodiacTraditional"),
1455
+ Type12.Literal("taiwaneseCounting"),
1456
+ Type12.Literal("ideographLegalTraditional"),
1457
+ Type12.Literal("taiwaneseCountingThousand"),
1458
+ Type12.Literal("taiwaneseDigital"),
1459
+ Type12.Literal("chineseCounting"),
1460
+ Type12.Literal("chineseLegalSimplified"),
1461
+ Type12.Literal("chineseCountingThousand"),
1462
+ Type12.Literal("koreanDigital"),
1463
+ Type12.Literal("koreanCounting"),
1464
+ Type12.Literal("koreanLegal"),
1465
+ Type12.Literal("koreanDigital2"),
1466
+ Type12.Literal("vietnameseCounting"),
1467
+ Type12.Literal("russianLower"),
1468
+ Type12.Literal("russianUpper"),
1469
+ Type12.Literal("none"),
1470
+ Type12.Literal("numberInDash"),
1471
+ Type12.Literal("hebrew1"),
1472
+ Type12.Literal("hebrew2"),
1473
+ Type12.Literal("arabicAlpha"),
1474
+ Type12.Literal("arabicAbjad"),
1475
+ Type12.Literal("hindiVowels"),
1476
+ Type12.Literal("hindiConsonants"),
1477
+ Type12.Literal("hindiNumbers"),
1478
+ Type12.Literal("hindiCounting"),
1479
+ Type12.Literal("thaiLetters"),
1480
+ Type12.Literal("thaiNumbers"),
1481
+ Type12.Literal("thaiCounting")
1352
1482
  ],
1353
1483
  {
1354
1484
  description: "Number or bullet format for list levels"
1355
1485
  }
1356
1486
  );
1357
- var ListLevelPropsSchema = Type10.Object(
1487
+ var ListMarkerFontSchema = Type12.Object(
1488
+ {
1489
+ family: Type12.Optional(Type12.String({ description: "Font family name" })),
1490
+ size: Type12.Optional(
1491
+ Type12.Number({ minimum: 1, description: "Marker size in points" })
1492
+ ),
1493
+ color: Type12.Optional(HexColorSchema),
1494
+ bold: Type12.Optional(Type12.Boolean({ description: "Bold marker" })),
1495
+ italic: Type12.Optional(Type12.Boolean({ description: "Italic marker" })),
1496
+ underline: Type12.Optional(
1497
+ Type12.Boolean({ description: "Underlined marker" })
1498
+ )
1499
+ },
1500
+ {
1501
+ description: "Styling for the number/bullet glyph only. The list text is unaffected.",
1502
+ additionalProperties: false
1503
+ }
1504
+ );
1505
+ var ListLevelPropsSchema = Type12.Object(
1358
1506
  {
1359
- level: Type10.Number({
1507
+ level: Type12.Number({
1360
1508
  minimum: 0,
1361
1509
  maximum: 8,
1362
1510
  description: "Nesting level (0 = root, 1 = first sublevel, etc.)"
1363
1511
  }),
1364
- format: Type10.Optional(LevelFormatSchema),
1365
- text: Type10.Optional(
1366
- Type10.String({
1512
+ format: Type12.Optional(LevelFormatSchema),
1513
+ text: Type12.Optional(
1514
+ Type12.String({
1367
1515
  description: 'Number format string (e.g., "%1." for "1.", "%1)" for "1)", custom bullet character for bullet format)'
1368
1516
  })
1369
1517
  ),
1370
- alignment: Type10.Optional(
1371
- Type10.Union(
1518
+ alignment: Type12.Optional(
1519
+ Type12.Union(
1372
1520
  [
1373
- Type10.Literal("start"),
1374
- Type10.Literal("end"),
1375
- Type10.Literal("left"),
1376
- Type10.Literal("right"),
1377
- Type10.Literal("center")
1521
+ Type12.Literal("start"),
1522
+ Type12.Literal("end"),
1523
+ Type12.Literal("left"),
1524
+ Type12.Literal("right"),
1525
+ Type12.Literal("center")
1378
1526
  ],
1379
1527
  {
1380
1528
  description: "Alignment of the numbering/bullet"
1381
1529
  }
1382
1530
  )
1383
1531
  ),
1384
- indent: Type10.Optional(IndentSchema),
1385
- start: Type10.Optional(
1386
- Type10.Number({
1532
+ indent: Type12.Optional(IndentSchema),
1533
+ start: Type12.Optional(
1534
+ Type12.Number({
1387
1535
  minimum: 1,
1388
1536
  description: "Starting number for this level (default: 1)"
1389
1537
  })
1390
- )
1538
+ ),
1539
+ font: Type12.Optional(ListMarkerFontSchema)
1391
1540
  },
1392
1541
  {
1393
1542
  description: "Configuration for a single list level",
1394
1543
  additionalProperties: false
1395
1544
  }
1396
1545
  );
1397
- var ListPropsSchema = Type10.Object(
1546
+ var ListPropsSchema = Type12.Object(
1398
1547
  {
1399
- items: Type10.Array(
1400
- Type10.Union([
1401
- Type10.String(),
1402
- Type10.Object(
1548
+ items: Type12.Array(
1549
+ Type12.Union([
1550
+ Type12.String(),
1551
+ Type12.Object(
1403
1552
  {
1404
- text: Type10.String(),
1405
- level: Type10.Optional(
1406
- Type10.Number({
1553
+ text: Type12.String(),
1554
+ level: Type12.Optional(
1555
+ Type12.Number({
1407
1556
  minimum: 0,
1408
1557
  maximum: 8,
1409
1558
  description: "Nesting level for this item"
1410
1559
  })
1411
1560
  ),
1412
- revision: Type10.Optional(RevisionSchema)
1561
+ revision: Type12.Optional(RevisionSchema)
1413
1562
  },
1414
1563
  { additionalProperties: false }
1415
1564
  )
@@ -1419,43 +1568,46 @@ var ListPropsSchema = Type10.Object(
1419
1568
  minItems: 1
1420
1569
  }
1421
1570
  ),
1422
- reference: Type10.Optional(
1423
- Type10.String({
1571
+ reference: Type12.Optional(
1572
+ Type12.String({
1424
1573
  description: "Unique reference ID for this numbering configuration (auto-generated if not provided)"
1425
1574
  })
1426
1575
  ),
1427
- levels: Type10.Optional(
1428
- Type10.Array(ListLevelPropsSchema, {
1576
+ levels: Type12.Optional(
1577
+ Type12.Array(ListLevelPropsSchema, {
1429
1578
  description: "Configuration for each nesting level",
1430
1579
  minItems: 1,
1431
1580
  maxItems: 9
1432
1581
  })
1433
1582
  ),
1434
1583
  // Simplified options for common use cases (when levels not specified)
1435
- format: Type10.Optional(
1436
- Type10.Union(
1437
- [LevelFormatSchema, Type10.Literal("numbered"), Type10.Literal("none")],
1584
+ format: Type12.Optional(
1585
+ Type12.Union(
1586
+ [LevelFormatSchema, Type12.Literal("numbered"), Type12.Literal("none")],
1438
1587
  {
1439
1588
  description: "Format for level 0 (simplified option when levels not specified)"
1440
1589
  }
1441
1590
  )
1442
1591
  ),
1443
- bullet: Type10.Optional(
1444
- Type10.String({
1592
+ bullet: Type12.Optional(
1593
+ Type12.String({
1445
1594
  description: "Custom bullet character (simplified option when levels not specified)"
1446
1595
  })
1447
1596
  ),
1448
- start: Type10.Optional(
1449
- Type10.Number({
1597
+ start: Type12.Optional(
1598
+ Type12.Number({
1450
1599
  minimum: 1,
1451
- description: "Starting number for level 0 (simplified option when levels not specified)"
1600
+ description: "Starting number for level 0. Applies whether or not `levels` is given; a `start` on the level itself wins."
1452
1601
  })
1453
1602
  ),
1454
- spacing: Type10.Optional(ListSpacingSchema),
1455
- alignment: Type10.Optional(JustifiedAlignmentSchema),
1456
- indent: Type10.Optional(
1457
- Type10.Union([Type10.Number({ minimum: 0 }), IndentSchema])
1458
- )
1603
+ spacing: Type12.Optional(ListSpacingSchema),
1604
+ alignment: Type12.Optional(JustifiedAlignmentSchema),
1605
+ indent: Type12.Optional(
1606
+ Type12.Union([Type12.Number({ minimum: 0 }), IndentSchema])
1607
+ ),
1608
+ // Anchored to the list as a whole: the range opens on the first rendered
1609
+ // item and closes on the last.
1610
+ comment: Type12.Optional(CommentSchema)
1459
1611
  },
1460
1612
  {
1461
1613
  description: "List component props",
@@ -1464,28 +1616,38 @@ var ListPropsSchema = Type10.Object(
1464
1616
  );
1465
1617
 
1466
1618
  // src/schemas/component-defaults.ts
1467
- var HeadingComponentDefaultsSchema = Type11.Partial(
1468
- Type11.Omit(HeadingPropsSchema, ["revision"])
1619
+ var PER_INSTANCE_PROPS = [
1620
+ "revision",
1621
+ "comment",
1622
+ "footnotes",
1623
+ "endnotes"
1624
+ ];
1625
+ var HeadingComponentDefaultsSchema = Type13.Partial(
1626
+ Type13.Omit(HeadingPropsSchema, PER_INSTANCE_PROPS)
1627
+ );
1628
+ var ParagraphComponentDefaultsSchema = Type13.Partial(
1629
+ Type13.Omit(ParagraphPropsSchema, PER_INSTANCE_PROPS)
1630
+ );
1631
+ var ImageComponentDefaultsSchema = Type13.Partial(ImagePropsSchema);
1632
+ var StatisticComponentDefaultsSchema = Type13.Partial(StatisticPropsSchema);
1633
+ var TableComponentDefaultsSchema = Type13.Partial(
1634
+ Type13.Omit(TablePropsSchema, ["rows"])
1469
1635
  );
1470
- var ParagraphComponentDefaultsSchema = Type11.Partial(
1471
- Type11.Omit(ParagraphPropsSchema, ["revision"])
1636
+ var SectionComponentDefaultsSchema = Type13.Partial(SectionPropsSchema);
1637
+ var ColumnsComponentDefaultsSchema = Type13.Partial(ColumnsPropsSchema);
1638
+ var ListComponentDefaultsSchema = Type13.Partial(
1639
+ Type13.Omit(ListPropsSchema, PER_INSTANCE_PROPS)
1472
1640
  );
1473
- var ImageComponentDefaultsSchema = Type11.Partial(ImagePropsSchema);
1474
- var StatisticComponentDefaultsSchema = Type11.Partial(StatisticPropsSchema);
1475
- var TableComponentDefaultsSchema = Type11.Partial(TablePropsSchema);
1476
- var SectionComponentDefaultsSchema = Type11.Partial(SectionPropsSchema);
1477
- var ColumnsComponentDefaultsSchema = Type11.Partial(ColumnsPropsSchema);
1478
- var ListComponentDefaultsSchema = Type11.Partial(ListPropsSchema);
1479
- var ComponentDefaultsSchema = Type11.Object(
1641
+ var ComponentDefaultsSchema = Type13.Object(
1480
1642
  {
1481
- heading: Type11.Optional(HeadingComponentDefaultsSchema),
1482
- paragraph: Type11.Optional(ParagraphComponentDefaultsSchema),
1483
- image: Type11.Optional(ImageComponentDefaultsSchema),
1484
- statistic: Type11.Optional(StatisticComponentDefaultsSchema),
1485
- table: Type11.Optional(TableComponentDefaultsSchema),
1486
- section: Type11.Optional(SectionComponentDefaultsSchema),
1487
- columns: Type11.Optional(ColumnsComponentDefaultsSchema),
1488
- list: Type11.Optional(ListComponentDefaultsSchema)
1643
+ heading: Type13.Optional(HeadingComponentDefaultsSchema),
1644
+ paragraph: Type13.Optional(ParagraphComponentDefaultsSchema),
1645
+ image: Type13.Optional(ImageComponentDefaultsSchema),
1646
+ statistic: Type13.Optional(StatisticComponentDefaultsSchema),
1647
+ table: Type13.Optional(TableComponentDefaultsSchema),
1648
+ section: Type13.Optional(SectionComponentDefaultsSchema),
1649
+ columns: Type13.Optional(ColumnsComponentDefaultsSchema),
1650
+ list: Type13.Optional(ListComponentDefaultsSchema)
1489
1651
  },
1490
1652
  { additionalProperties: true }
1491
1653
  // TODO: add a way to add strict custom component defaults when the plugin/registry paradigm will be implemented
@@ -1518,7 +1680,13 @@ export {
1518
1680
  BaseComponentPropsSchema,
1519
1681
  RevisionSegmentSchema,
1520
1682
  RevisionSchema,
1683
+ RevisionMarkSchema,
1684
+ CommentReplySchema,
1685
+ CommentSchema,
1521
1686
  HeadingPropsSchema,
1687
+ NoteSchema,
1688
+ FootnotesSchema,
1689
+ EndnotesSchema,
1522
1690
  ParagraphPropsSchema,
1523
1691
  ImagePropsSchema,
1524
1692
  StatisticPropsSchema,
@@ -1528,8 +1696,10 @@ export {
1528
1696
  SectionPropsSchema,
1529
1697
  ColumnsPropsSchema,
1530
1698
  LevelFormatSchema,
1699
+ ListMarkerFontSchema,
1531
1700
  ListLevelPropsSchema,
1532
1701
  ListPropsSchema,
1702
+ PER_INSTANCE_PROPS,
1533
1703
  HeadingComponentDefaultsSchema,
1534
1704
  ParagraphComponentDefaultsSchema,
1535
1705
  ImageComponentDefaultsSchema,
@@ -1540,4 +1710,4 @@ export {
1540
1710
  ListComponentDefaultsSchema,
1541
1711
  ComponentDefaultsSchema
1542
1712
  };
1543
- //# sourceMappingURL=chunk-PVZMPANS.js.map
1713
+ //# sourceMappingURL=chunk-436TK3T4.js.map