@json-to-office/shared-docx 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/{chunk-ZC2I7CTZ.js → chunk-45I2NASU.js} +5 -3
  2. package/dist/{chunk-ZC2I7CTZ.js.map → chunk-45I2NASU.js.map} +1 -1
  3. package/dist/chunk-5KOKA5GY.js +687 -0
  4. package/dist/chunk-5KOKA5GY.js.map +1 -0
  5. package/dist/{chunk-MG2PLA6W.js → chunk-6B3LHADB.js} +2 -2
  6. package/dist/{chunk-NZO5SZUO.js → chunk-6HFF6XZN.js} +44 -7
  7. package/dist/chunk-6HFF6XZN.js.map +1 -0
  8. package/dist/{chunk-V4HZOLMN.js → chunk-6YMJWMEC.js} +34 -18
  9. package/dist/chunk-6YMJWMEC.js.map +1 -0
  10. package/dist/{chunk-WXG3FQ5V.js → chunk-A2K66URO.js} +30 -151
  11. package/dist/chunk-A2K66URO.js.map +1 -0
  12. package/dist/{chunk-G3XK537A.js → chunk-BBFR3RRN.js} +14 -8
  13. package/dist/chunk-BBFR3RRN.js.map +1 -0
  14. package/dist/{chunk-NAVRPVTN.js → chunk-LBXOAXMG.js} +6 -6
  15. package/dist/{chunk-VEF4T6PL.js → chunk-MYLVUQCN.js} +2 -2
  16. package/dist/chunk-OP5PCDNN.js +1272 -0
  17. package/dist/chunk-OP5PCDNN.js.map +1 -0
  18. package/dist/{chunk-GT3MN2RI.js → chunk-TODYYVZ4.js} +2 -2
  19. package/dist/chunk-VX2J2KWA.js +465 -0
  20. package/dist/chunk-VX2J2KWA.js.map +1 -0
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js +52 -28
  23. package/dist/index.js.map +1 -1
  24. package/dist/schemas/api.js +7 -6
  25. package/dist/schemas/component-defaults.js +2 -1
  26. package/dist/schemas/component-registry.js +5 -4
  27. package/dist/schemas/components.d.ts +1092 -4
  28. package/dist/schemas/components.js +72 -27
  29. package/dist/schemas/document.js +8 -7
  30. package/dist/schemas/export.d.ts +8 -2
  31. package/dist/schemas/export.js +6 -5
  32. package/dist/schemas/generator.js +6 -5
  33. package/dist/schemas/renderer.d.ts +21 -3
  34. package/dist/schemas/renderer.js +5 -1
  35. package/dist/schemas/theme.js +3 -2
  36. package/dist/validation/unified/index.js +8 -7
  37. package/package.json +2 -2
  38. package/dist/chunk-2YUAD26Q.js +0 -1718
  39. package/dist/chunk-2YUAD26Q.js.map +0 -1
  40. package/dist/chunk-G3XK537A.js.map +0 -1
  41. package/dist/chunk-NZO5SZUO.js.map +0 -1
  42. package/dist/chunk-T7P4TA7I.js +0 -89
  43. package/dist/chunk-T7P4TA7I.js.map +0 -1
  44. package/dist/chunk-V4HZOLMN.js.map +0 -1
  45. package/dist/chunk-WXG3FQ5V.js.map +0 -1
  46. /package/dist/{chunk-MG2PLA6W.js.map → chunk-6B3LHADB.js.map} +0 -0
  47. /package/dist/{chunk-NAVRPVTN.js.map → chunk-LBXOAXMG.js.map} +0 -0
  48. /package/dist/{chunk-VEF4T6PL.js.map → chunk-MYLVUQCN.js.map} +0 -0
  49. /package/dist/{chunk-GT3MN2RI.js.map → chunk-TODYYVZ4.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ComponentDefinitionSchema,
3
3
  StandardComponentDefinitionSchema
4
- } from "../chunk-MG2PLA6W.js";
4
+ } from "../chunk-6B3LHADB.js";
5
5
  import {
6
6
  HighchartsPropsSchema,
7
7
  ReportPropsSchema,
@@ -11,60 +11,84 @@ import {
11
11
  TocScopeSchema,
12
12
  TocStyleMappingSchema,
13
13
  TocStyleSchema,
14
+ createReportPropsSchema
15
+ } from "../chunk-A2K66URO.js";
16
+ import {
17
+ NATIVE_RENDER_MODE,
18
+ NATIVE_VISUAL_ELEMENT_NAMES,
19
+ NativeVisualAlignmentSchema,
20
+ NativeVisualCanvasSchema,
21
+ NativeVisualColorSchema,
22
+ NativeVisualElementSchema,
23
+ NativeVisualExtentSchema,
24
+ NativeVisualFillSchema,
25
+ NativeVisualImagePropsSchema,
26
+ NativeVisualLineSchema,
27
+ NativeVisualMarginSchema,
28
+ NativeVisualOffsetSchema,
29
+ NativeVisualShapePropsSchema,
30
+ NativeVisualTextPropsSchema,
31
+ NativeVisualTextRunSchema,
32
+ NativeVisualTextSegmentSchema,
33
+ NativeVisualUnderlineSchema,
34
+ NativeVisualVerticalAlignmentSchema,
14
35
  VisualCanvasBackgroundSchema,
15
36
  VisualCanvasSchema,
37
+ VisualNativePropsSchema,
16
38
  VisualPropsSchema,
17
- createReportPropsSchema
18
- } from "../chunk-WXG3FQ5V.js";
19
- import "../chunk-T7P4TA7I.js";
20
- import "../chunk-ZC2I7CTZ.js";
39
+ VisualRasterPropsSchema,
40
+ isNativeVisualProps
41
+ } from "../chunk-5KOKA5GY.js";
42
+ import "../chunk-45I2NASU.js";
21
43
  import {
22
- AlignmentSchema,
23
- BaseComponentFields,
24
- BaseComponentPropsSchema,
25
- BorderSchema,
26
44
  ColumnsPropsSchema,
27
45
  CommentReplySchema,
28
46
  CommentSchema,
29
47
  EndnotesSchema,
30
- FloatingPropertiesSchema,
31
48
  FootnotesSchema,
32
- HeadingLevelSchema,
33
49
  HeadingPropsSchema,
34
- HorizontalPositionAlignSchema,
35
- HorizontalPositionRelativeFromSchema,
36
50
  ImagePropsSchema,
37
- IndentSchema,
38
- JustifiedAlignmentSchema,
39
51
  LevelFormatSchema,
40
- LineSpacingSchema,
41
52
  ListLevelPropsSchema,
42
53
  ListMarkerFontSchema,
43
54
  ListPropsSchema,
44
- ListSpacingSchema,
45
- MarginsSchema,
46
55
  NoteSchema,
47
- NumberingSchema,
48
- ParagraphIndentSchema,
49
56
  ParagraphPropsSchema,
50
57
  RevisionMarkSchema,
51
58
  RevisionSchema,
52
59
  RevisionSegmentSchema,
53
60
  SectionPropsSchema,
54
- SpacingSchema,
55
61
  StatisticPropsSchema,
62
+ TablePropsSchema,
63
+ createSectionPropsSchema,
64
+ createTablePropsSchema
65
+ } from "../chunk-OP5PCDNN.js";
66
+ import {
67
+ AlignmentSchema,
68
+ BaseComponentFields,
69
+ BaseComponentPropsSchema,
70
+ BorderSchema,
71
+ FloatingPropertiesSchema,
72
+ HeadingLevelSchema,
73
+ HorizontalPositionAlignSchema,
74
+ HorizontalPositionRelativeFromSchema,
75
+ IndentSchema,
76
+ JustifiedAlignmentSchema,
77
+ LineSpacingSchema,
78
+ ListSpacingSchema,
79
+ MarginsSchema,
80
+ NumberingSchema,
81
+ ParagraphIndentSchema,
82
+ SpacingSchema,
56
83
  TabStopLeaderSchema,
57
84
  TabStopSchema,
58
85
  TabStopTypeSchema,
59
86
  TabStopsSchema,
60
- TablePropsSchema,
61
87
  TextWrappingSideSchema,
62
88
  TextWrappingTypeSchema,
63
89
  VerticalPositionAlignSchema,
64
- VerticalPositionRelativeFromSchema,
65
- createSectionPropsSchema,
66
- createTablePropsSchema
67
- } from "../chunk-2YUAD26Q.js";
90
+ VerticalPositionRelativeFromSchema
91
+ } from "../chunk-VX2J2KWA.js";
68
92
  import "../chunk-7TTAAYQ5.js";
69
93
  export {
70
94
  AlignmentSchema,
@@ -93,6 +117,24 @@ export {
93
117
  ListPropsSchema,
94
118
  ListSpacingSchema,
95
119
  MarginsSchema,
120
+ NATIVE_RENDER_MODE,
121
+ NATIVE_VISUAL_ELEMENT_NAMES,
122
+ NativeVisualAlignmentSchema,
123
+ NativeVisualCanvasSchema,
124
+ NativeVisualColorSchema,
125
+ NativeVisualElementSchema,
126
+ NativeVisualExtentSchema,
127
+ NativeVisualFillSchema,
128
+ NativeVisualImagePropsSchema,
129
+ NativeVisualLineSchema,
130
+ NativeVisualMarginSchema,
131
+ NativeVisualOffsetSchema,
132
+ NativeVisualShapePropsSchema,
133
+ NativeVisualTextPropsSchema,
134
+ NativeVisualTextRunSchema,
135
+ NativeVisualTextSegmentSchema,
136
+ NativeVisualUnderlineSchema,
137
+ NativeVisualVerticalAlignmentSchema,
96
138
  NoteSchema,
97
139
  NumberingSchema,
98
140
  ParagraphIndentSchema,
@@ -122,9 +164,12 @@ export {
122
164
  VerticalPositionRelativeFromSchema,
123
165
  VisualCanvasBackgroundSchema,
124
166
  VisualCanvasSchema,
167
+ VisualNativePropsSchema,
125
168
  VisualPropsSchema,
169
+ VisualRasterPropsSchema,
126
170
  createReportPropsSchema,
127
171
  createSectionPropsSchema,
128
- createTablePropsSchema
172
+ createTablePropsSchema,
173
+ isNativeVisualProps
129
174
  };
130
175
  //# sourceMappingURL=components.js.map
@@ -1,17 +1,18 @@
1
1
  import {
2
2
  JSON_SCHEMA_URLS,
3
3
  JsonComponentDefinitionSchema
4
- } from "../chunk-VEF4T6PL.js";
4
+ } from "../chunk-MYLVUQCN.js";
5
5
  import {
6
6
  validateDocumentWithSchema,
7
7
  validateJsonComponent
8
- } from "../chunk-NZO5SZUO.js";
9
- import "../chunk-MG2PLA6W.js";
8
+ } from "../chunk-6HFF6XZN.js";
9
+ import "../chunk-6B3LHADB.js";
10
10
  import "../chunk-7GGTZ4TA.js";
11
- import "../chunk-WXG3FQ5V.js";
12
- import "../chunk-T7P4TA7I.js";
13
- import "../chunk-ZC2I7CTZ.js";
14
- import "../chunk-2YUAD26Q.js";
11
+ import "../chunk-A2K66URO.js";
12
+ import "../chunk-5KOKA5GY.js";
13
+ import "../chunk-45I2NASU.js";
14
+ import "../chunk-OP5PCDNN.js";
15
+ import "../chunk-VX2J2KWA.js";
15
16
  import "../chunk-7TTAAYQ5.js";
16
17
  export {
17
18
  JSON_SCHEMA_URLS,
@@ -19,7 +19,13 @@ interface ComponentSchemaConfig {
19
19
  }
20
20
  /**
21
21
  * Fix TypeBox recursive references in a schema
22
- * Handles both "T0" and "ComponentDefinition" reference patterns
22
+ *
23
+ * Resolves the bare `$ref` values TypeBox leaves behind ("T0", or a
24
+ * `Type.Recursive` `$id`) into JSON Pointers. `rootDefinitionName` is only the
25
+ * fallback for a reference that names nothing hoisted: a schema may carry
26
+ * several recursive definitions — the DOCX document schema carries one per
27
+ * renderer — and a bare reference that matches an actual definition resolves
28
+ * to *that* one, which is what keeps the two renderer views apart.
23
29
  */
24
30
  declare function fixSchemaReferences(schema: Record<string, unknown>, rootDefinitionName?: string): void;
25
31
  /**
@@ -35,7 +41,7 @@ declare function convertToJsonSchema(schema: TSchema, options?: {
35
41
  /**
36
42
  * Create a component schema with proper structure
37
43
  */
38
- declare function createComponentSchema(name: string, config: ComponentSchemaConfig, componentDefinitionSchema?: TSchema): Record<string, unknown>;
44
+ declare function createComponentSchema(name: string, config: ComponentSchemaConfig, componentDefinitionSchema?: TSchema, rootDefinitionName?: string): Record<string, unknown>;
39
45
  /**
40
46
  * Export schema to file with proper formatting
41
47
  */
@@ -6,11 +6,12 @@ import {
6
6
  createComponentSchema,
7
7
  exportSchemaToFile,
8
8
  fixSchemaReferences
9
- } from "../chunk-V4HZOLMN.js";
10
- import "../chunk-WXG3FQ5V.js";
11
- import "../chunk-T7P4TA7I.js";
12
- import "../chunk-ZC2I7CTZ.js";
13
- import "../chunk-2YUAD26Q.js";
9
+ } from "../chunk-6YMJWMEC.js";
10
+ import "../chunk-A2K66URO.js";
11
+ import "../chunk-5KOKA5GY.js";
12
+ import "../chunk-45I2NASU.js";
13
+ import "../chunk-OP5PCDNN.js";
14
+ import "../chunk-VX2J2KWA.js";
14
15
  import "../chunk-7TTAAYQ5.js";
15
16
  export {
16
17
  BASE_SCHEMA_METADATA,
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  generateUnifiedDocumentSchema
3
- } from "../chunk-G3XK537A.js";
4
- import "../chunk-WXG3FQ5V.js";
5
- import "../chunk-T7P4TA7I.js";
6
- import "../chunk-ZC2I7CTZ.js";
7
- import "../chunk-2YUAD26Q.js";
3
+ } from "../chunk-BBFR3RRN.js";
4
+ import "../chunk-A2K66URO.js";
5
+ import "../chunk-5KOKA5GY.js";
6
+ import "../chunk-45I2NASU.js";
7
+ import "../chunk-OP5PCDNN.js";
8
+ import "../chunk-VX2J2KWA.js";
8
9
  import "../chunk-7TTAAYQ5.js";
9
10
  export {
10
11
  generateUnifiedDocumentSchema
@@ -4,9 +4,27 @@ import { ValidationError } from '@json-to-office/shared';
4
4
  declare const DOCX_RENDERER_IDS: readonly ["docxjs", "office-open"];
5
5
  type DocxRendererId = (typeof DOCX_RENDERER_IDS)[number];
6
6
  declare const DEFAULT_DOCX_RENDERER_ID: DocxRendererId;
7
- /** Derive one renderer view from the canonical props schema. */
8
- declare function docxPropsSchemaForRenderer(schema: TSchema, renderer: DocxRendererId): TSchema;
7
+ /**
8
+ * The exported JSON-Schema definition name for one renderer's component union.
9
+ *
10
+ * One name per renderer, never a shared one. The two views differ wherever a
11
+ * backend cannot draw something, so a single definition would hand every
12
+ * position that goes through it — a section header or footer, a table cell's
13
+ * content, `componentDefaults` — whichever view the exporter happened to walk
14
+ * last, and give a schema-driven editor the wrong diagnostics for the other
15
+ * renderer.
16
+ */
17
+ declare function docxComponentDefinitionName(renderer: DocxRendererId): string;
18
+ /**
19
+ * Derive one renderer view from the canonical props schema.
20
+ *
21
+ * The canonical schema is the union of everything any backend can express, so
22
+ * a profile is a *subtraction*: the branches and fields this renderer cannot
23
+ * draw are removed, which is what makes a schema-driven editor offer only what
24
+ * the chosen backend will actually render.
25
+ */
26
+ declare function docxPropsSchemaForRenderer(componentName: string, schema: TSchema, renderer: DocxRendererId): TSchema;
9
27
  /** Static renderer-profile diagnostics used by CLI/library validation. */
10
28
  declare function collectDocxRendererErrors(data: unknown): ValidationError[];
11
29
 
12
- export { DEFAULT_DOCX_RENDERER_ID, DOCX_RENDERER_IDS, type DocxRendererId, collectDocxRendererErrors, docxPropsSchemaForRenderer };
30
+ export { DEFAULT_DOCX_RENDERER_ID, DOCX_RENDERER_IDS, type DocxRendererId, collectDocxRendererErrors, docxComponentDefinitionName, docxPropsSchemaForRenderer };
@@ -2,12 +2,16 @@ import {
2
2
  DEFAULT_DOCX_RENDERER_ID,
3
3
  DOCX_RENDERER_IDS,
4
4
  collectDocxRendererErrors,
5
+ docxComponentDefinitionName,
5
6
  docxPropsSchemaForRenderer
6
- } from "../chunk-T7P4TA7I.js";
7
+ } from "../chunk-5KOKA5GY.js";
8
+ import "../chunk-VX2J2KWA.js";
9
+ import "../chunk-7TTAAYQ5.js";
7
10
  export {
8
11
  DEFAULT_DOCX_RENDERER_ID,
9
12
  DOCX_RENDERER_IDS,
10
13
  collectDocxRendererErrors,
14
+ docxComponentDefinitionName,
11
15
  docxPropsSchemaForRenderer
12
16
  };
13
17
  //# sourceMappingURL=renderer.js.map
@@ -10,7 +10,7 @@ import {
10
10
  ThemeOverridesSchema,
11
11
  createMinimalTheme,
12
12
  isValidThemeConfig
13
- } from "../chunk-ZC2I7CTZ.js";
13
+ } from "../chunk-45I2NASU.js";
14
14
  import {
15
15
  ColumnsComponentDefaultsSchema,
16
16
  ComponentDefaultsSchema,
@@ -21,7 +21,8 @@ import {
21
21
  SectionComponentDefaultsSchema,
22
22
  StatisticComponentDefaultsSchema,
23
23
  TableComponentDefaultsSchema
24
- } from "../chunk-2YUAD26Q.js";
24
+ } from "../chunk-OP5PCDNN.js";
25
+ import "../chunk-VX2J2KWA.js";
25
26
  import "../chunk-7TTAAYQ5.js";
26
27
  export {
27
28
  ColumnsComponentDefaultsSchema,
@@ -47,7 +47,7 @@ import {
47
47
  validateTheme,
48
48
  validateThemeJson,
49
49
  validateThemeWithEnhancement
50
- } from "../../chunk-NAVRPVTN.js";
50
+ } from "../../chunk-LBXOAXMG.js";
51
51
  import {
52
52
  collectIndentConflicts,
53
53
  collectNoteRevisionConflicts,
@@ -72,13 +72,14 @@ import {
72
72
  validateJsonComponent,
73
73
  validateJsonDocument,
74
74
  validateWithEnhancement
75
- } from "../../chunk-NZO5SZUO.js";
76
- import "../../chunk-MG2PLA6W.js";
75
+ } from "../../chunk-6HFF6XZN.js";
76
+ import "../../chunk-6B3LHADB.js";
77
77
  import "../../chunk-7GGTZ4TA.js";
78
- import "../../chunk-WXG3FQ5V.js";
79
- import "../../chunk-T7P4TA7I.js";
80
- import "../../chunk-ZC2I7CTZ.js";
81
- import "../../chunk-2YUAD26Q.js";
78
+ import "../../chunk-A2K66URO.js";
79
+ import "../../chunk-5KOKA5GY.js";
80
+ import "../../chunk-45I2NASU.js";
81
+ import "../../chunk-OP5PCDNN.js";
82
+ import "../../chunk-VX2J2KWA.js";
82
83
  import "../../chunk-7TTAAYQ5.js";
83
84
  export {
84
85
  DEFAULT_ERROR_CONFIG,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-to-office/shared-docx",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "DOCX-specific schemas, component registry and validation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@sinclair/typebox": "0.34.38",
32
32
  "docx": "9.7.1",
33
- "@json-to-office/shared": "^1.0.0"
33
+ "@json-to-office/shared": "^1.1.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "20.11.0",