@json-to-office/shared-docx 0.16.0 → 0.18.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-M6LVAHZB.js → chunk-3E47TLLP.js} +2 -2
  2. package/dist/{chunk-PVQV2RS4.js → chunk-6CAIEW25.js} +2 -2
  3. package/dist/{chunk-X2B5OVWA.js → chunk-AIEN4MDJ.js} +3 -3
  4. package/dist/{chunk-P4CGTP5W.js → chunk-AKHPKRU5.js} +99 -36
  5. package/dist/chunk-AKHPKRU5.js.map +1 -0
  6. package/dist/{chunk-H56RLQOF.js → chunk-B66TAIK6.js} +31 -19
  7. package/dist/chunk-B66TAIK6.js.map +1 -0
  8. package/dist/{chunk-SMIG3LSE.js → chunk-CV7HBUPT.js} +2 -2
  9. package/dist/{chunk-YZYUY2VH.js → chunk-CYBFQ2VM.js} +81 -56
  10. package/dist/chunk-CYBFQ2VM.js.map +1 -0
  11. package/dist/{chunk-5C7XT6LW.js → chunk-JWBBT2MK.js} +2 -2
  12. package/dist/{chunk-YRRBEJPB.js → chunk-N22J6K24.js} +2 -2
  13. package/dist/{chunk-CGMJ665Z.js → chunk-UPVW437P.js} +177 -128
  14. package/dist/chunk-UPVW437P.js.map +1 -0
  15. package/dist/{chunk-NZKLNPBZ.js → chunk-ZFCRP5GT.js} +6 -6
  16. package/dist/{document-validator-CiaGiy1v.d.ts → document-validator-SsJ_brnh.d.ts} +12 -0
  17. package/dist/index.d.ts +3 -1
  18. package/dist/index.js +11 -11
  19. package/dist/schemas/api.js +5 -5
  20. package/dist/schemas/component-defaults.d.ts +2 -0
  21. package/dist/schemas/component-defaults.js +2 -2
  22. package/dist/schemas/component-registry.js +3 -3
  23. package/dist/schemas/components.d.ts +8 -0
  24. package/dist/schemas/components.js +4 -4
  25. package/dist/schemas/document.d.ts +1 -1
  26. package/dist/schemas/document.js +6 -6
  27. package/dist/schemas/export.js +4 -4
  28. package/dist/schemas/font.js +1 -1
  29. package/dist/schemas/generator.js +4 -4
  30. package/dist/schemas/theme.d.ts +1 -0
  31. package/dist/schemas/theme.js +3 -3
  32. package/dist/validation/unified/index.d.ts +21 -4
  33. package/dist/validation/unified/index.js +7 -7
  34. package/package.json +2 -2
  35. package/dist/chunk-CGMJ665Z.js.map +0 -1
  36. package/dist/chunk-H56RLQOF.js.map +0 -1
  37. package/dist/chunk-P4CGTP5W.js.map +0 -1
  38. package/dist/chunk-YZYUY2VH.js.map +0 -1
  39. /package/dist/{chunk-M6LVAHZB.js.map → chunk-3E47TLLP.js.map} +0 -0
  40. /package/dist/{chunk-PVQV2RS4.js.map → chunk-6CAIEW25.js.map} +0 -0
  41. /package/dist/{chunk-X2B5OVWA.js.map → chunk-AIEN4MDJ.js.map} +0 -0
  42. /package/dist/{chunk-SMIG3LSE.js.map → chunk-CV7HBUPT.js.map} +0 -0
  43. /package/dist/{chunk-5C7XT6LW.js.map → chunk-JWBBT2MK.js.map} +0 -0
  44. /package/dist/{chunk-YRRBEJPB.js.map → chunk-N22J6K24.js.map} +0 -0
  45. /package/dist/{chunk-NZKLNPBZ.js.map → chunk-ZFCRP5GT.js.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  FontDefinitionSchema,
3
3
  HexColorOrTransparentSchema,
4
4
  HexColorSchema
5
- } from "./chunk-H56RLQOF.js";
5
+ } from "./chunk-B66TAIK6.js";
6
6
 
7
7
  // src/schemas/component-defaults.ts
8
8
  import { Type as Type11 } from "@sinclair/typebox";
@@ -89,7 +89,7 @@ var MarginsSchema = Type.Object(
89
89
  left: Type.Optional(Type.Number({ minimum: 0 })),
90
90
  right: Type.Optional(Type.Number({ minimum: 0 }))
91
91
  },
92
- { description: "Margin configuration" }
92
+ { description: "Margin configuration", additionalProperties: false }
93
93
  );
94
94
  var BorderSchema = Type.Object(
95
95
  {
@@ -105,7 +105,7 @@ var BorderSchema = Type.Object(
105
105
  width: Type.Optional(Type.Number({ minimum: 0 })),
106
106
  color: Type.Optional(HexColorSchema)
107
107
  },
108
- { description: "Border configuration" }
108
+ { description: "Border configuration", additionalProperties: false }
109
109
  );
110
110
  var LineSpacingSchema = Type.Object(
111
111
  {
@@ -118,14 +118,14 @@ var LineSpacingSchema = Type.Object(
118
118
  ]),
119
119
  value: Type.Optional(Type.Number({ minimum: 0 }))
120
120
  },
121
- { description: "Line spacing configuration" }
121
+ { description: "Line spacing configuration", additionalProperties: false }
122
122
  );
123
123
  var IndentSchema = Type.Object(
124
124
  {
125
125
  left: Type.Optional(Type.Number({ minimum: 0 })),
126
126
  hanging: Type.Optional(Type.Number({ minimum: 0 }))
127
127
  },
128
- { description: "Indentation configuration" }
128
+ { description: "Indentation configuration", additionalProperties: false }
129
129
  );
130
130
  var HorizontalPositionRelativeFromSchema = Type.Union(
131
131
  [
@@ -224,7 +224,8 @@ var FloatingPropertiesSchema = Type.Object(
224
224
  )
225
225
  },
226
226
  {
227
- description: "Horizontal positioning (use either align or offset, not both)"
227
+ description: "Horizontal positioning (use either align or offset, not both)",
228
+ additionalProperties: false
228
229
  }
229
230
  )
230
231
  ),
@@ -246,7 +247,8 @@ var FloatingPropertiesSchema = Type.Object(
246
247
  )
247
248
  },
248
249
  {
249
- description: "Vertical positioning (use either align or offset, not both)"
250
+ description: "Vertical positioning (use either align or offset, not both)",
251
+ additionalProperties: false
250
252
  }
251
253
  )
252
254
  ),
@@ -296,13 +298,15 @@ var FloatingPropertiesSchema = Type.Object(
296
298
  )
297
299
  },
298
300
  {
299
- description: "Distance from text margins"
301
+ description: "Distance from text margins",
302
+ additionalProperties: false
300
303
  }
301
304
  )
302
305
  )
303
306
  },
304
307
  {
305
- description: "Text wrapping configuration"
308
+ description: "Text wrapping configuration",
309
+ additionalProperties: false
306
310
  }
307
311
  )
308
312
  ),
@@ -344,7 +348,8 @@ var FloatingPropertiesSchema = Type.Object(
344
348
  )
345
349
  },
346
350
  {
347
- description: "Floating element properties"
351
+ description: "Floating element properties",
352
+ additionalProperties: false
348
353
  }
349
354
  );
350
355
  var NumberingSchema = Type.Object(
@@ -361,7 +366,10 @@ var NumberingSchema = Type.Object(
361
366
  ),
362
367
  separator: Type.Optional(Type.String())
363
368
  },
364
- { description: "Numbering configuration for lists" }
369
+ {
370
+ description: "Numbering configuration for lists",
371
+ additionalProperties: false
372
+ }
365
373
  );
366
374
  var BaseComponentFields = {};
367
375
  var BaseComponentPropsSchema = Type.Object(BaseComponentFields, {
@@ -525,7 +533,8 @@ var FloatingFramePropertiesSchema = Type4.Object(
525
533
  )
526
534
  },
527
535
  {
528
- description: "Horizontal positioning (use either align or offset, not both)"
536
+ description: "Horizontal positioning (use either align or offset, not both)",
537
+ additionalProperties: false
529
538
  }
530
539
  )
531
540
  ),
@@ -547,7 +556,8 @@ var FloatingFramePropertiesSchema = Type4.Object(
547
556
  )
548
557
  },
549
558
  {
550
- description: "Vertical positioning (use either align or offset, not both)"
559
+ description: "Vertical positioning (use either align or offset, not both)",
560
+ additionalProperties: false
551
561
  }
552
562
  )
553
563
  ),
@@ -557,7 +567,8 @@ var FloatingFramePropertiesSchema = Type4.Object(
557
567
  type: FrameWrapTypeSchema
558
568
  },
559
569
  {
560
- description: "Text wrapping configuration"
570
+ description: "Text wrapping configuration",
571
+ additionalProperties: false
561
572
  }
562
573
  )
563
574
  ),
@@ -580,7 +591,8 @@ var FloatingFramePropertiesSchema = Type4.Object(
580
591
  )
581
592
  },
582
593
  {
583
- description: "Floating text frame properties"
594
+ description: "Floating text frame properties",
595
+ additionalProperties: false
584
596
  }
585
597
  );
586
598
  var AlignmentSchema2 = Type4.Union(
@@ -650,12 +662,17 @@ var ImagePropsSchema = Type5.Object(
650
662
  {
651
663
  path: Type5.Optional(
652
664
  Type5.String({
653
- description: "Image source URL or file path (mutually exclusive with base64)"
665
+ description: "Image source URL or file path (mutually exclusive with base64 and svg)"
654
666
  })
655
667
  ),
656
668
  base64: Type5.Optional(
657
669
  Type5.String({
658
- description: 'Base64-encoded image data in data URI format (e.g., "data:image/png;base64,iVBORw0KGgo...") (mutually exclusive with path)'
670
+ description: 'Base64-encoded image data in data URI format (e.g., "data:image/png;base64,iVBORw0KGgo...") (mutually exclusive with path and svg)'
671
+ })
672
+ ),
673
+ svg: Type5.Optional(
674
+ Type5.String({
675
+ 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.'
659
676
  })
660
677
  ),
661
678
  alt: Type5.Optional(
@@ -807,58 +824,67 @@ var VerticalAlignmentSchema = Type7.Union(
807
824
  [Type7.Literal("top"), Type7.Literal("middle"), Type7.Literal("bottom")],
808
825
  { description: "Vertical cell alignment" }
809
826
  );
810
- var FontConfigSchema = Type7.Object({
811
- family: Type7.Optional(Type7.String({ description: "Font family name" })),
812
- size: Type7.Optional(
813
- Type7.Number({ minimum: 0, description: "Font size in points" })
814
- ),
815
- bold: Type7.Optional(Type7.Boolean({ description: "Bold text" })),
816
- fontWeight: Type7.Optional(
817
- Type7.Integer({
818
- minimum: 100,
819
- maximum: 900,
820
- description: "Per-cell weight (100\u2013900). Overrides `bold` when set."
821
- })
822
- ),
823
- italic: Type7.Optional(Type7.Boolean({ description: "Italic text" })),
824
- underline: Type7.Optional(Type7.Boolean({ description: "Underlined text" }))
825
- });
827
+ var FontConfigSchema = Type7.Object(
828
+ {
829
+ family: Type7.Optional(Type7.String({ description: "Font family name" })),
830
+ size: Type7.Optional(
831
+ Type7.Number({ minimum: 0, description: "Font size in points" })
832
+ ),
833
+ bold: Type7.Optional(Type7.Boolean({ description: "Bold text" })),
834
+ fontWeight: Type7.Optional(
835
+ Type7.Integer({
836
+ minimum: 100,
837
+ maximum: 900,
838
+ description: "Per-cell weight (100\u2013900). Overrides `bold` when set."
839
+ })
840
+ ),
841
+ italic: Type7.Optional(Type7.Boolean({ description: "Italic text" })),
842
+ underline: Type7.Optional(Type7.Boolean({ description: "Underlined text" }))
843
+ },
844
+ { additionalProperties: false }
845
+ );
826
846
  var BorderColorSchema = Type7.Union([
827
847
  Type7.String({ description: "Border color for all sides (hex without #)" }),
828
- Type7.Object({
829
- bottom: Type7.Optional(
830
- Type7.String({ description: "Bottom border color (hex without #)" })
831
- ),
832
- top: Type7.Optional(
833
- Type7.String({ description: "Top border color (hex without #)" })
834
- ),
835
- right: Type7.Optional(
836
- Type7.String({ description: "Right border color (hex without #)" })
837
- ),
838
- left: Type7.Optional(
839
- Type7.String({ description: "Left border color (hex without #)" })
840
- )
841
- })
848
+ Type7.Object(
849
+ {
850
+ bottom: Type7.Optional(
851
+ Type7.String({ description: "Bottom border color (hex without #)" })
852
+ ),
853
+ top: Type7.Optional(
854
+ Type7.String({ description: "Top border color (hex without #)" })
855
+ ),
856
+ right: Type7.Optional(
857
+ Type7.String({ description: "Right border color (hex without #)" })
858
+ ),
859
+ left: Type7.Optional(
860
+ Type7.String({ description: "Left border color (hex without #)" })
861
+ )
862
+ },
863
+ { additionalProperties: false }
864
+ )
842
865
  ]);
843
866
  var BorderSizeSchema = Type7.Union([
844
867
  Type7.Number({
845
868
  minimum: 0,
846
869
  description: "Border size for all sides in points"
847
870
  }),
848
- Type7.Object({
849
- bottom: Type7.Optional(
850
- Type7.Number({ minimum: 0, description: "Bottom border size in points" })
851
- ),
852
- top: Type7.Optional(
853
- Type7.Number({ minimum: 0, description: "Top border size in points" })
854
- ),
855
- right: Type7.Optional(
856
- Type7.Number({ minimum: 0, description: "Right border size in points" })
857
- ),
858
- left: Type7.Optional(
859
- Type7.Number({ minimum: 0, description: "Left border size in points" })
860
- )
861
- })
871
+ Type7.Object(
872
+ {
873
+ bottom: Type7.Optional(
874
+ Type7.Number({ minimum: 0, description: "Bottom border size in points" })
875
+ ),
876
+ top: Type7.Optional(
877
+ Type7.Number({ minimum: 0, description: "Top border size in points" })
878
+ ),
879
+ right: Type7.Optional(
880
+ Type7.Number({ minimum: 0, description: "Right border size in points" })
881
+ ),
882
+ left: Type7.Optional(
883
+ Type7.Number({ minimum: 0, description: "Left border size in points" })
884
+ )
885
+ },
886
+ { additionalProperties: false }
887
+ )
862
888
  ]);
863
889
  var HideBordersSchema = Type7.Union([
864
890
  Type7.Boolean({
@@ -879,39 +905,48 @@ var HideBordersSchema = Type7.Union([
879
905
  Type7.Boolean({ description: "Hide vertical borders between columns" })
880
906
  )
881
907
  },
882
- { description: "Selectively hide specific borders" }
908
+ {
909
+ description: "Selectively hide specific borders",
910
+ additionalProperties: false
911
+ }
883
912
  )
884
913
  ]);
885
914
  var PaddingSchema = Type7.Union([
886
915
  Type7.Number({ minimum: 0, description: "Padding for all sides in points" }),
887
- Type7.Object({
888
- bottom: Type7.Optional(
889
- Type7.Number({ minimum: 0, description: "Bottom padding in points" })
890
- ),
891
- top: Type7.Optional(
892
- Type7.Number({ minimum: 0, description: "Top padding in points" })
893
- ),
894
- right: Type7.Optional(
895
- Type7.Number({ minimum: 0, description: "Right padding in points" })
896
- ),
897
- left: Type7.Optional(
898
- Type7.Number({ minimum: 0, description: "Left padding in points" })
899
- )
900
- })
901
- ]);
902
- var CellDefaultsSchema = Type7.Object({
903
- color: Type7.Optional(HexColorSchema),
904
- backgroundColor: Type7.Optional(HexColorOrTransparentSchema),
905
- horizontalAlignment: Type7.Optional(HorizontalAlignmentSchema),
906
- verticalAlignment: Type7.Optional(VerticalAlignmentSchema),
907
- font: Type7.Optional(FontConfigSchema),
908
- borderColor: Type7.Optional(BorderColorSchema),
909
- borderSize: Type7.Optional(BorderSizeSchema),
910
- padding: Type7.Optional(PaddingSchema),
911
- height: Type7.Optional(
912
- Type7.Number({ minimum: 0, description: "Cell height in points" })
916
+ Type7.Object(
917
+ {
918
+ bottom: Type7.Optional(
919
+ Type7.Number({ minimum: 0, description: "Bottom padding in points" })
920
+ ),
921
+ top: Type7.Optional(
922
+ Type7.Number({ minimum: 0, description: "Top padding in points" })
923
+ ),
924
+ right: Type7.Optional(
925
+ Type7.Number({ minimum: 0, description: "Right padding in points" })
926
+ ),
927
+ left: Type7.Optional(
928
+ Type7.Number({ minimum: 0, description: "Left padding in points" })
929
+ )
930
+ },
931
+ { additionalProperties: false }
913
932
  )
914
- });
933
+ ]);
934
+ var CellDefaultsSchema = Type7.Object(
935
+ {
936
+ color: Type7.Optional(HexColorSchema),
937
+ backgroundColor: Type7.Optional(HexColorOrTransparentSchema),
938
+ horizontalAlignment: Type7.Optional(HorizontalAlignmentSchema),
939
+ verticalAlignment: Type7.Optional(VerticalAlignmentSchema),
940
+ font: Type7.Optional(FontConfigSchema),
941
+ borderColor: Type7.Optional(BorderColorSchema),
942
+ borderSize: Type7.Optional(BorderSizeSchema),
943
+ padding: Type7.Optional(PaddingSchema),
944
+ height: Type7.Optional(
945
+ Type7.Number({ minimum: 0, description: "Cell height in points" })
946
+ )
947
+ },
948
+ { additionalProperties: false }
949
+ );
915
950
  function createTablePropsSchema(componentRef) {
916
951
  const cellContent = Type7.Union([Type7.String(), componentRef]);
917
952
  const cellFields = {
@@ -927,31 +962,40 @@ function createTablePropsSchema(componentRef) {
927
962
  Type7.Number({ minimum: 0, description: "Cell height in points" })
928
963
  )
929
964
  };
930
- const headerSchema = Type7.Object({
931
- ...cellFields,
932
- content: Type7.Optional(cellContent)
933
- });
934
- const cellSchema = Type7.Object({
935
- ...cellFields,
936
- content: Type7.Optional(cellContent)
937
- });
938
- const columnSchema = Type7.Object({
939
- width: Type7.Optional(
940
- Type7.Union([
941
- Type7.Number({
942
- minimum: 0,
943
- 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."
944
- }),
945
- Type7.String({
946
- pattern: "^\\d+(\\.\\d+)?%$",
947
- description: 'Column width as percentage of available width (e.g., "40%")'
948
- })
949
- ])
950
- ),
951
- cellDefaults: Type7.Optional(CellDefaultsSchema),
952
- header: Type7.Optional(headerSchema),
953
- cells: Type7.Optional(Type7.Array(cellSchema))
954
- });
965
+ const headerSchema = Type7.Object(
966
+ {
967
+ ...cellFields,
968
+ content: Type7.Optional(cellContent)
969
+ },
970
+ { additionalProperties: false }
971
+ );
972
+ const cellSchema = Type7.Object(
973
+ {
974
+ ...cellFields,
975
+ content: Type7.Optional(cellContent)
976
+ },
977
+ { additionalProperties: false }
978
+ );
979
+ const columnSchema = Type7.Object(
980
+ {
981
+ width: Type7.Optional(
982
+ Type7.Union([
983
+ Type7.Number({
984
+ minimum: 0,
985
+ 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."
986
+ }),
987
+ Type7.String({
988
+ pattern: "^\\d+(\\.\\d+)?%$",
989
+ description: 'Column width as percentage of available width (e.g., "40%")'
990
+ })
991
+ ])
992
+ ),
993
+ cellDefaults: Type7.Optional(CellDefaultsSchema),
994
+ header: Type7.Optional(headerSchema),
995
+ cells: Type7.Optional(Type7.Array(cellSchema))
996
+ },
997
+ { additionalProperties: false }
998
+ );
955
999
  return Type7.Object(
956
1000
  {
957
1001
  borderColor: Type7.Optional(BorderColorSchema),
@@ -988,7 +1032,8 @@ function createTablePropsSchema(componentRef) {
988
1032
  )
989
1033
  },
990
1034
  {
991
- description: "Table component props with column-based structure"
1035
+ description: "Table component props with column-based structure",
1036
+ additionalProperties: false
992
1037
  }
993
1038
  );
994
1039
  }
@@ -1254,7 +1299,8 @@ var ListLevelPropsSchema = Type10.Object(
1254
1299
  )
1255
1300
  },
1256
1301
  {
1257
- description: "Configuration for a single list level"
1302
+ description: "Configuration for a single list level",
1303
+ additionalProperties: false
1258
1304
  }
1259
1305
  );
1260
1306
  var ListPropsSchema = Type10.Object(
@@ -1262,17 +1308,20 @@ var ListPropsSchema = Type10.Object(
1262
1308
  items: Type10.Array(
1263
1309
  Type10.Union([
1264
1310
  Type10.String(),
1265
- Type10.Object({
1266
- text: Type10.String(),
1267
- level: Type10.Optional(
1268
- Type10.Number({
1269
- minimum: 0,
1270
- maximum: 8,
1271
- description: "Nesting level for this item"
1272
- })
1273
- ),
1274
- revision: Type10.Optional(RevisionSchema)
1275
- })
1311
+ Type10.Object(
1312
+ {
1313
+ text: Type10.String(),
1314
+ level: Type10.Optional(
1315
+ Type10.Number({
1316
+ minimum: 0,
1317
+ maximum: 8,
1318
+ description: "Nesting level for this item"
1319
+ })
1320
+ ),
1321
+ revision: Type10.Optional(RevisionSchema)
1322
+ },
1323
+ { additionalProperties: false }
1324
+ )
1276
1325
  ]),
1277
1326
  {
1278
1327
  description: "List items (required)",
@@ -1395,4 +1444,4 @@ export {
1395
1444
  ListComponentDefaultsSchema,
1396
1445
  ComponentDefaultsSchema
1397
1446
  };
1398
- //# sourceMappingURL=chunk-CGMJ665Z.js.map
1447
+ //# sourceMappingURL=chunk-UPVW437P.js.map