@json-to-office/shared-docx 0.14.0 → 0.17.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-HJIS6RRQ.js → chunk-3XWQYKTW.js} +6 -6
  2. package/dist/{chunk-H56RLQOF.js → chunk-B66TAIK6.js} +31 -19
  3. package/dist/chunk-B66TAIK6.js.map +1 -0
  4. package/dist/{chunk-QUA2GDH7.js → chunk-CVIUFVXH.js} +2 -2
  5. package/dist/{chunk-52PV5JQK.js → chunk-G6C2WMTW.js} +2 -2
  6. package/dist/chunk-G6C2WMTW.js.map +1 -0
  7. package/dist/{chunk-CGMJ665Z.js → chunk-NRDLQSF3.js} +170 -126
  8. package/dist/chunk-NRDLQSF3.js.map +1 -0
  9. package/dist/{chunk-FA6FKO3L.js → chunk-TTT3L236.js} +2 -2
  10. package/dist/{chunk-5BKZFYJL.js → chunk-V5DHEETI.js} +56 -37
  11. package/dist/chunk-V5DHEETI.js.map +1 -0
  12. package/dist/{chunk-CY6IVMEZ.js → chunk-WIWVYW2G.js} +213 -64
  13. package/dist/chunk-WIWVYW2G.js.map +1 -0
  14. package/dist/{chunk-6IXK54YE.js → chunk-WZPPVJN6.js} +6 -2
  15. package/dist/{chunk-6IXK54YE.js.map → chunk-WZPPVJN6.js.map} +1 -1
  16. package/dist/{chunk-X2B5OVWA.js → chunk-XVCODWSU.js} +3 -3
  17. package/dist/{chunk-PQGT7BU5.js → chunk-Y5KKRSXX.js} +2 -2
  18. package/dist/{document-validator-CiaGiy1v.d.ts → document-validator-SsJ_brnh.d.ts} +12 -0
  19. package/dist/index.d.ts +18 -6
  20. package/dist/index.js +24 -13
  21. package/dist/index.js.map +1 -1
  22. package/dist/schemas/api.js +5 -5
  23. package/dist/schemas/component-defaults.js +2 -2
  24. package/dist/schemas/component-registry.js +3 -3
  25. package/dist/schemas/components.d.ts +89 -1
  26. package/dist/schemas/components.js +10 -4
  27. package/dist/schemas/document.d.ts +1 -1
  28. package/dist/schemas/document.js +6 -6
  29. package/dist/schemas/export.js +4 -4
  30. package/dist/schemas/font.js +1 -1
  31. package/dist/schemas/generator.js +4 -4
  32. package/dist/schemas/theme.js +3 -3
  33. package/dist/validation/unified/index.d.ts +19 -4
  34. package/dist/validation/unified/index.js +7 -7
  35. package/package.json +3 -2
  36. package/dist/chunk-52PV5JQK.js.map +0 -1
  37. package/dist/chunk-5BKZFYJL.js.map +0 -1
  38. package/dist/chunk-CGMJ665Z.js.map +0 -1
  39. package/dist/chunk-CY6IVMEZ.js.map +0 -1
  40. package/dist/chunk-H56RLQOF.js.map +0 -1
  41. /package/dist/{chunk-HJIS6RRQ.js.map → chunk-3XWQYKTW.js.map} +0 -0
  42. /package/dist/{chunk-QUA2GDH7.js.map → chunk-CVIUFVXH.js.map} +0 -0
  43. /package/dist/{chunk-FA6FKO3L.js.map → chunk-TTT3L236.js.map} +0 -0
  44. /package/dist/{chunk-X2B5OVWA.js.map → chunk-XVCODWSU.js.map} +0 -0
  45. /package/dist/{chunk-PQGT7BU5.js.map → chunk-Y5KKRSXX.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAllComponentSchemasNarrowed,
3
3
  getStandardComponent
4
- } from "./chunk-CY6IVMEZ.js";
4
+ } from "./chunk-WIWVYW2G.js";
5
5
 
6
6
  // src/schemas/generator.ts
7
7
  import { Type } from "@sinclair/typebox";
@@ -128,4 +128,4 @@ function generateUnifiedDocumentSchema(options = {}) {
128
128
  export {
129
129
  generateUnifiedDocumentSchema
130
130
  };
131
- //# sourceMappingURL=chunk-PQGT7BU5.js.map
131
+ //# sourceMappingURL=chunk-Y5KKRSXX.js.map
@@ -36,6 +36,18 @@ interface ValidationOptions {
36
36
  jsonString?: string;
37
37
  /** Maximum number of errors to collect */
38
38
  maxErrors?: number;
39
+ /**
40
+ * When true, unknown/extra properties are stripped before validation instead
41
+ * of being rejected by additionalProperties:false. Escape hatch for callers
42
+ * migrating onto strict schemas.
43
+ */
44
+ allowUnknownFields?: boolean;
45
+ /**
46
+ * Names of registered plugin components. They are not flagged as unknown and
47
+ * their props are not checked against a standard schema here — the plugin
48
+ * layer validates custom props version-aware separately.
49
+ */
50
+ knownCustomNames?: Set<string>;
39
51
  }
40
52
  /**
41
53
  * Result specifically for JSON parsing with validation
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { RevisionSegment, ComponentDefinition as ComponentDefinition$1, ComponentDefinitionSchema, ColumnsPropsSchema, ReportPropsSchema, SectionPropsSchema, HeadingPropsSchema, ParagraphPropsSchema, TextBoxPropsSchema, ImagePropsSchema, HighchartsPropsSchema, StatisticPropsSchema, TablePropsSchema, ListPropsSchema, TocPropsSchema } from './schemas/components.js';
2
- export { Alignment, AlignmentSchema, BaseComponentProps, BaseComponentPropsSchema, BorderSchema, ColumnsProps, HeadingLevel, HeadingLevelSchema, HeadingProps, HighchartsProps, ImageProps, Indent, IndentSchema, JustifiedAlignment, JustifiedAlignmentSchema, LineSpacing, LineSpacingSchema, ListProps, MarginsSchema, Numbering, NumberingSchema, ParagraphProps, ReportProps, Revision, RevisionSchema, RevisionSegmentSchema, SectionProps, Spacing, SpacingSchema, StandardComponentDefinitionSchema, StatisticProps, TableProps, TextBoxProps, TocProps } from './schemas/components.js';
1
+ import { RevisionSegment, ComponentDefinition as ComponentDefinition$1, ComponentDefinitionSchema, ColumnsPropsSchema, ReportPropsSchema, SectionPropsSchema, HeadingPropsSchema, ParagraphPropsSchema, TextBoxPropsSchema, ImagePropsSchema, HighchartsPropsSchema, VisualPropsSchema, StatisticPropsSchema, TablePropsSchema, ListPropsSchema, TocPropsSchema } from './schemas/components.js';
2
+ export { Alignment, AlignmentSchema, BaseComponentProps, BaseComponentPropsSchema, BorderSchema, ColumnsProps, HeadingLevel, HeadingLevelSchema, HeadingProps, HighchartsProps, ImageProps, Indent, IndentSchema, JustifiedAlignment, JustifiedAlignmentSchema, LineSpacing, LineSpacingSchema, ListProps, MarginsSchema, Numbering, NumberingSchema, ParagraphProps, ReportProps, Revision, RevisionSchema, RevisionSegmentSchema, SectionProps, Spacing, SpacingSchema, StandardComponentDefinitionSchema, StatisticProps, TableProps, TextBoxProps, TocProps, VisualCanvas, VisualCanvasBackgroundSchema, VisualCanvasSchema, VisualProps } from './schemas/components.js';
3
3
  export { AddWarningFunction, ComponentSchemaConfig, DEFAULT_ERROR_CONFIG, ERROR_EMOJIS, ErrorFormatterConfig, GenerationWarning, ParsedSemver, ComponentDefinition as SharedComponentDefinition, ValidationError, ValidationResult, calculatePosition, clearComponentNamesCache, compareSemver, convertToJsonSchema, createComponentSchema, createErrorConfig, createJsonParseError, exportSchemaToFile, extractStandardComponentNames, fixSchemaReferences, formatErrorMessage, formatErrorSummary, getLiteralValue, getObjectSchemaPropertyNames, getSchemaMetadata, groupErrorsByPath, isLiteralSchema, isObjectSchema, isUnionSchema, isValidSemver, latestVersion, parseSemver, createComponentSchemaObject as sharedCreateComponentSchemaObject, transformValueError, transformValueErrors } from '@json-to-office/shared';
4
4
  import { DocumentValidationResult, ValidationError } from './schemas/document.js';
5
5
  export { JSON_SCHEMA_URLS, JsonComponentDefinitionSchema } from './schemas/document.js';
@@ -14,7 +14,7 @@ export { CustomComponentDefinitionSchema, TextSpaceAfterComponentSchema, TextSpa
14
14
  export { BASE_SCHEMA_METADATA, COMPONENT_METADATA, ComponentSchemaConfig as DocxComponentSchemaConfig, THEME_SCHEMA_METADATA, convertToJsonSchema as convertDocxToJsonSchema, createComponentSchema as createDocxComponentSchema, exportSchemaToFile as exportDocxSchemaToFile, fixSchemaReferences as fixDocxSchemaReferences } from './schemas/export.js';
15
15
  export { CustomComponentInfo, GenerateDocumentSchemaOptions, generateUnifiedDocumentSchema } from './schemas/generator.js';
16
16
  export { ColumnsComponentDefaults, ComponentDefaults, HeadingComponentDefaults, ImageComponentDefaults, ListComponentDefaults, ParagraphComponentDefaults, SectionComponentDefaults, StatisticComponentDefaults, TableComponentDefaults } from './schemas/component-defaults.js';
17
- export { C as ComponentValidationResult, E as EnhancedValueError, J as JsonValidationResult, T as ThemeValidationResult, V as ValidationOptions, c as createDocumentValidator, d as documentValidator, i as isValidDocument, s as strictDocumentValidator, v as validateDocument, a as validateDocumentWithSchema, b as validateJsonComponent, e as validateJsonComponentDoc, b as validateJsonDocument } from './document-validator-CiaGiy1v.js';
17
+ export { C as ComponentValidationResult, E as EnhancedValueError, J as JsonValidationResult, T as ThemeValidationResult, V as ValidationOptions, c as createDocumentValidator, d as documentValidator, i as isValidDocument, s as strictDocumentValidator, v as validateDocument, a as validateDocumentWithSchema, b as validateJsonComponent, e as validateJsonComponentDoc, b as validateJsonDocument } from './document-validator-SsJ_brnh.js';
18
18
  import './schemas/font.js';
19
19
 
20
20
  /**
@@ -936,6 +936,17 @@ interface HighchartsComponent {
936
936
  enabled?: boolean;
937
937
  props: Static<typeof HighchartsPropsSchema>;
938
938
  }
939
+ /**
940
+ * Visual component with literal name discriminator.
941
+ * A pptx-rendered free-canvas graphic embedded as a rasterized image.
942
+ */
943
+ interface VisualComponent {
944
+ name: 'visual';
945
+ id?: string;
946
+ /** When false, this component is filtered out and not rendered. Defaults to true */
947
+ enabled?: boolean;
948
+ props: Static<typeof VisualPropsSchema>;
949
+ }
939
950
  /**
940
951
  * Text Box component with literal name discriminator
941
952
  * Container for child components with floating positioning
@@ -981,12 +992,12 @@ interface TextSpaceAfterComponent {
981
992
  /**
982
993
  * Union of all standard component types
983
994
  */
984
- type StandardComponentDefinition = ReportComponent | SectionComponent | ColumnsComponent | HeadingComponent | ParagraphComponent | TextBoxComponent | ImageComponent | HighchartsComponent | StatisticComponent | TableComponent | ListComponent | TocComponent;
995
+ type StandardComponentDefinition = ReportComponent | SectionComponent | ColumnsComponent | HeadingComponent | ParagraphComponent | TextBoxComponent | ImageComponent | HighchartsComponent | VisualComponent | StatisticComponent | TableComponent | ListComponent | TocComponent;
985
996
  /**
986
997
  * Array of all standard component names.
987
998
  * Useful for iterating, validation, or displaying available components to users.
988
999
  */
989
- declare const STANDARD_COMPONENTS: readonly ["columns", "heading", "highcharts", "image", "list", "paragraph", "docx", "section", "statistic", "table", "text-box", "toc"];
1000
+ declare const STANDARD_COMPONENTS: readonly ["columns", "heading", "highcharts", "image", "list", "paragraph", "docx", "section", "statistic", "table", "text-box", "toc", "visual"];
990
1001
  /**
991
1002
  * Set of all standard component names for O(1) lookup.
992
1003
  */
@@ -1028,10 +1039,11 @@ declare function isTableComponent(component: ComponentDefinition): component is
1028
1039
  declare function isListComponent(component: ComponentDefinition): component is ListComponent;
1029
1040
  declare function isTocComponent(component: ComponentDefinition): component is TocComponent;
1030
1041
  declare function isHighchartsComponent(component: ComponentDefinition): component is HighchartsComponent;
1042
+ declare function isVisualComponent(component: ComponentDefinition): component is VisualComponent;
1031
1043
  declare function isTextSpaceAfterComponent(component: ComponentDefinition): component is TextSpaceAfterComponent;
1032
1044
 
1033
1045
  type ThemeName = 'minimal' | 'verizon' | 'a2a' | 'hitachi';
1034
1046
 
1035
1047
  declare const SHARED_DOCX_VERSION = "1.0.0";
1036
1048
 
1037
- export { type ColumnsComponent, ColumnsPropsSchema, type ComponentDefinition, ComponentDefinitionSchema, type CoreValidationResult, type DiffDocumentsOptions, type DiffDocumentsResult, type DiffSegment, type DiffSummary, ValidationError as DocumentValidationError, DocumentValidationResult, type FormattedError, type HeadingComponent, HeadingPropsSchema, type HighchartsComponent, HighchartsPropsSchema, type ImageComponent, ImagePropsSchema, JsonDocumentParser, type JsonNode, JsonParsingError, JsonValidationError, type ListComponent, ListPropsSchema, type ParagraphComponent, ParagraphPropsSchema, type ReportComponent, ReportPropsSchema, RevisionSegment, SHARED_DOCX_VERSION, STANDARD_COMPONENTS, STANDARD_COMPONENTS_SET, type SectionComponent, SectionPropsSchema, type StandardComponentDefinition, type StandardComponentName, type StatisticComponent, StatisticPropsSchema, type TableComponent, TablePropsSchema, type TextBoxComponent, TextBoxPropsSchema, type TextSpaceAfterComponent, TextSpaceAfterPropsSchema, type ThemeName, type TocComponent, TocPropsSchema, type UntrackedChange, createValidatedComponent, diffDocuments, diffWords, formatErrorReport, formatValidationError, formatValidationErrorStrings, formatValidationErrors, getErrorSummary, getValidationContext, getValidationErrors, hasCriticalErrors, isColumnsComponent, isHeadingComponent, isHighchartsComponent, isImageComponent, isListComponent, isParagraphComponent, isReportComponent, isSectionComponent, isStatisticComponent, isTableComponent, isTextBoxComponent, isTextSpaceAfterComponent, isTocComponent, isValidComponent, parseJsonComponent, parseJsonWithLineNumbers, safeValidateComponentDefinition, safeValidateComponentProps, stripMarkdown, transformAndValidate, validateComponent, validateComponentDefinition, validateComponents };
1049
+ export { type ColumnsComponent, ColumnsPropsSchema, type ComponentDefinition, ComponentDefinitionSchema, type CoreValidationResult, type DiffDocumentsOptions, type DiffDocumentsResult, type DiffSegment, type DiffSummary, ValidationError as DocumentValidationError, DocumentValidationResult, type FormattedError, type HeadingComponent, HeadingPropsSchema, type HighchartsComponent, HighchartsPropsSchema, type ImageComponent, ImagePropsSchema, JsonDocumentParser, type JsonNode, JsonParsingError, JsonValidationError, type ListComponent, ListPropsSchema, type ParagraphComponent, ParagraphPropsSchema, type ReportComponent, ReportPropsSchema, RevisionSegment, SHARED_DOCX_VERSION, STANDARD_COMPONENTS, STANDARD_COMPONENTS_SET, type SectionComponent, SectionPropsSchema, type StandardComponentDefinition, type StandardComponentName, type StatisticComponent, StatisticPropsSchema, type TableComponent, TablePropsSchema, type TextBoxComponent, TextBoxPropsSchema, type TextSpaceAfterComponent, TextSpaceAfterPropsSchema, type ThemeName, type TocComponent, TocPropsSchema, type UntrackedChange, type VisualComponent, VisualPropsSchema, createValidatedComponent, diffDocuments, diffWords, formatErrorReport, formatValidationError, formatValidationErrorStrings, formatValidationErrors, getErrorSummary, getValidationContext, getValidationErrors, hasCriticalErrors, isColumnsComponent, isHeadingComponent, isHighchartsComponent, isImageComponent, isListComponent, isParagraphComponent, isReportComponent, isSectionComponent, isStatisticComponent, isTableComponent, isTextBoxComponent, isTextSpaceAfterComponent, isTocComponent, isValidComponent, isVisualComponent, parseJsonComponent, parseJsonWithLineNumbers, safeValidateComponentDefinition, safeValidateComponentProps, stripMarkdown, transformAndValidate, validateComponent, validateComponentDefinition, validateComponents };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateUnifiedDocumentSchema
3
- } from "./chunk-PQGT7BU5.js";
3
+ } from "./chunk-Y5KKRSXX.js";
4
4
  import {
5
5
  DOC_LINKS,
6
6
  ERROR_TEMPLATES,
@@ -32,21 +32,21 @@ import {
32
32
  validateTheme,
33
33
  validateThemeJson,
34
34
  validateThemeWithEnhancement
35
- } from "./chunk-HJIS6RRQ.js";
35
+ } from "./chunk-3XWQYKTW.js";
36
36
  import {
37
37
  ThemeConfigSchema,
38
38
  isValidThemeConfig
39
- } from "./chunk-X2B5OVWA.js";
39
+ } from "./chunk-XVCODWSU.js";
40
40
  import {
41
41
  GenerateDocumentRequestSchema,
42
42
  GenerateDocumentResponseSchema,
43
43
  ValidateDocumentRequestSchema,
44
44
  ValidateDocumentResponseSchema
45
- } from "./chunk-QUA2GDH7.js";
45
+ } from "./chunk-CVIUFVXH.js";
46
46
  import {
47
47
  JSON_SCHEMA_URLS,
48
48
  JsonComponentDefinitionSchema
49
- } from "./chunk-FA6FKO3L.js";
49
+ } from "./chunk-TTT3L236.js";
50
50
  import {
51
51
  comprehensiveValidateDocument,
52
52
  createDocumentValidator,
@@ -68,11 +68,11 @@ import {
68
68
  validateJsonComponent,
69
69
  validateJsonDocument,
70
70
  validateWithEnhancement
71
- } from "./chunk-5BKZFYJL.js";
71
+ } from "./chunk-V5DHEETI.js";
72
72
  import {
73
73
  ComponentDefinitionSchema,
74
74
  StandardComponentDefinitionSchema
75
- } from "./chunk-52PV5JQK.js";
75
+ } from "./chunk-G6C2WMTW.js";
76
76
  import {
77
77
  CustomComponentDefinitionSchema,
78
78
  TextSpaceAfterComponentSchema,
@@ -86,13 +86,16 @@ import {
86
86
  createComponentSchema,
87
87
  exportSchemaToFile,
88
88
  fixSchemaReferences
89
- } from "./chunk-6IXK54YE.js";
89
+ } from "./chunk-WZPPVJN6.js";
90
90
  import {
91
91
  HighchartsPropsSchema,
92
92
  ReportPropsSchema,
93
93
  TextBoxPropsSchema,
94
- TocPropsSchema
95
- } from "./chunk-CY6IVMEZ.js";
94
+ TocPropsSchema,
95
+ VisualCanvasBackgroundSchema,
96
+ VisualCanvasSchema,
97
+ VisualPropsSchema
98
+ } from "./chunk-WIWVYW2G.js";
96
99
  import {
97
100
  AlignmentSchema,
98
101
  BaseComponentPropsSchema,
@@ -114,8 +117,8 @@ import {
114
117
  SpacingSchema,
115
118
  StatisticPropsSchema,
116
119
  TablePropsSchema
117
- } from "./chunk-CGMJ665Z.js";
118
- import "./chunk-H56RLQOF.js";
120
+ } from "./chunk-NRDLQSF3.js";
121
+ import "./chunk-B66TAIK6.js";
119
122
 
120
123
  // src/diff/word-diff.ts
121
124
  var MAX_LCS_CELLS = 1e6;
@@ -1576,7 +1579,8 @@ var STANDARD_COMPONENTS = [
1576
1579
  "statistic",
1577
1580
  "table",
1578
1581
  "text-box",
1579
- "toc"
1582
+ "toc",
1583
+ "visual"
1580
1584
  ];
1581
1585
  var STANDARD_COMPONENTS_SET = new Set(STANDARD_COMPONENTS);
1582
1586
  function isReportComponent(component) {
@@ -1615,6 +1619,9 @@ function isTocComponent(component) {
1615
1619
  function isHighchartsComponent(component) {
1616
1620
  return component.name === "highcharts";
1617
1621
  }
1622
+ function isVisualComponent(component) {
1623
+ return component.name === "visual";
1624
+ }
1618
1625
  function isTextSpaceAfterComponent(component) {
1619
1626
  return component.name === "text-space-after";
1620
1627
  }
@@ -1671,6 +1678,9 @@ export {
1671
1678
  TocPropsSchema,
1672
1679
  ValidateDocumentRequestSchema,
1673
1680
  ValidateDocumentResponseSchema,
1681
+ VisualCanvasBackgroundSchema,
1682
+ VisualCanvasSchema,
1683
+ VisualPropsSchema,
1674
1684
  calculatePosition,
1675
1685
  clearComponentNamesCache,
1676
1686
  compareSemver,
@@ -1749,6 +1759,7 @@ export {
1749
1759
  isValidThemeConfig,
1750
1760
  isValidTheme as isValidThemeJson,
1751
1761
  isValidationSuccess,
1762
+ isVisualComponent,
1752
1763
  latestVersion,
1753
1764
  parseJsonComponent,
1754
1765
  parseJsonWithLineNumbers,