@json-to-office/core-docx 0.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 (169) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +9 -0
  3. package/dist/cache/index.d.ts +7 -0
  4. package/dist/cache/index.d.ts.map +1 -0
  5. package/dist/cache/key-generator.d.ts +34 -0
  6. package/dist/cache/key-generator.d.ts.map +1 -0
  7. package/dist/components/columns.d.ts +12 -0
  8. package/dist/components/columns.d.ts.map +1 -0
  9. package/dist/components/footer.d.ts +12 -0
  10. package/dist/components/footer.d.ts.map +1 -0
  11. package/dist/components/header.d.ts +12 -0
  12. package/dist/components/header.d.ts.map +1 -0
  13. package/dist/components/heading.d.ts +12 -0
  14. package/dist/components/heading.d.ts.map +1 -0
  15. package/dist/components/highcharts.d.ts +21 -0
  16. package/dist/components/highcharts.d.ts.map +1 -0
  17. package/dist/components/image.d.ts +12 -0
  18. package/dist/components/image.d.ts.map +1 -0
  19. package/dist/components/index.d.ts +19 -0
  20. package/dist/components/index.d.ts.map +1 -0
  21. package/dist/components/list.d.ts +12 -0
  22. package/dist/components/list.d.ts.map +1 -0
  23. package/dist/components/paragraph.d.ts +12 -0
  24. package/dist/components/paragraph.d.ts.map +1 -0
  25. package/dist/components/section.d.ts +12 -0
  26. package/dist/components/section.d.ts.map +1 -0
  27. package/dist/components/statistic.d.ts +12 -0
  28. package/dist/components/statistic.d.ts.map +1 -0
  29. package/dist/components/table.d.ts +13 -0
  30. package/dist/components/table.d.ts.map +1 -0
  31. package/dist/components/text-box.d.ts +9 -0
  32. package/dist/components/text-box.d.ts.map +1 -0
  33. package/dist/components/text-space-after.d.ts +35 -0
  34. package/dist/components/text-space-after.d.ts.map +1 -0
  35. package/dist/components/toc/index.d.ts +30 -0
  36. package/dist/components/toc/index.d.ts.map +1 -0
  37. package/dist/core/cached-render.d.ts +46 -0
  38. package/dist/core/cached-render.d.ts.map +1 -0
  39. package/dist/core/content.d.ts +263 -0
  40. package/dist/core/content.d.ts.map +1 -0
  41. package/dist/core/generator.d.ts +93 -0
  42. package/dist/core/generator.d.ts.map +1 -0
  43. package/dist/core/index.d.ts +14 -0
  44. package/dist/core/index.d.ts.map +1 -0
  45. package/dist/core/layout.d.ts +107 -0
  46. package/dist/core/layout.d.ts.map +1 -0
  47. package/dist/core/render.d.ts +26 -0
  48. package/dist/core/render.d.ts.map +1 -0
  49. package/dist/core/structure.d.ts +67 -0
  50. package/dist/core/structure.d.ts.map +1 -0
  51. package/dist/examples/test-spacing-debug.d.ts +2 -0
  52. package/dist/examples/test-spacing-debug.d.ts.map +1 -0
  53. package/dist/examples/test-spacing.d.ts +6 -0
  54. package/dist/examples/test-spacing.d.ts.map +1 -0
  55. package/dist/index.d.ts +20 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +7726 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/json/filesystem.d.ts +81 -0
  60. package/dist/json/filesystem.d.ts.map +1 -0
  61. package/dist/json/index.d.ts +6 -0
  62. package/dist/json/index.d.ts.map +1 -0
  63. package/dist/json/normalizer.d.ts +30 -0
  64. package/dist/json/normalizer.d.ts.map +1 -0
  65. package/dist/json/parser.d.ts +9 -0
  66. package/dist/json/parser.d.ts.map +1 -0
  67. package/dist/plugin/createComponent.d.ts +113 -0
  68. package/dist/plugin/createComponent.d.ts.map +1 -0
  69. package/dist/plugin/createDocumentGenerator.d.ts +18 -0
  70. package/dist/plugin/createDocumentGenerator.d.ts.map +1 -0
  71. package/dist/plugin/example/columns-layout.component.d.ts +29 -0
  72. package/dist/plugin/example/columns-layout.component.d.ts.map +1 -0
  73. package/dist/plugin/example/index.d.ts +6 -0
  74. package/dist/plugin/example/index.d.ts.map +1 -0
  75. package/dist/plugin/example/index.js +7449 -0
  76. package/dist/plugin/example/index.js.map +1 -0
  77. package/dist/plugin/example/nested-section.component.d.ts +16 -0
  78. package/dist/plugin/example/nested-section.component.d.ts.map +1 -0
  79. package/dist/plugin/example/plugin-demo.json +103 -0
  80. package/dist/plugin/example/text-space-after.component.d.ts +22 -0
  81. package/dist/plugin/example/text-space-after.component.d.ts.map +1 -0
  82. package/dist/plugin/example/weather.component.d.ts +29 -0
  83. package/dist/plugin/example/weather.component.d.ts.map +1 -0
  84. package/dist/plugin/index.d.ts +35 -0
  85. package/dist/plugin/index.d.ts.map +1 -0
  86. package/dist/plugin/schema.d.ts +30 -0
  87. package/dist/plugin/schema.d.ts.map +1 -0
  88. package/dist/plugin/types.d.ts +144 -0
  89. package/dist/plugin/types.d.ts.map +1 -0
  90. package/dist/plugin/validation.d.ts +45 -0
  91. package/dist/plugin/validation.d.ts.map +1 -0
  92. package/dist/plugin/version-resolver.d.ts +10 -0
  93. package/dist/plugin/version-resolver.d.ts.map +1 -0
  94. package/dist/styles/index.d.ts +13 -0
  95. package/dist/styles/index.d.ts.map +1 -0
  96. package/dist/styles/theme-resolver.d.ts +6 -0
  97. package/dist/styles/theme-resolver.d.ts.map +1 -0
  98. package/dist/styles/theme-validator.d.ts +7 -0
  99. package/dist/styles/theme-validator.d.ts.map +1 -0
  100. package/dist/styles/themeToDocxAdapter.d.ts +22 -0
  101. package/dist/styles/themeToDocxAdapter.d.ts.map +1 -0
  102. package/dist/styles/utils/borderUtils.d.ts +88 -0
  103. package/dist/styles/utils/borderUtils.d.ts.map +1 -0
  104. package/dist/styles/utils/cellUtils.d.ts +55 -0
  105. package/dist/styles/utils/cellUtils.d.ts.map +1 -0
  106. package/dist/styles/utils/colorUtils.d.ts +27 -0
  107. package/dist/styles/utils/colorUtils.d.ts.map +1 -0
  108. package/dist/styles/utils/componentDefaults.d.ts +97 -0
  109. package/dist/styles/utils/componentDefaults.d.ts.map +1 -0
  110. package/dist/styles/utils/layoutUtils.d.ts +87 -0
  111. package/dist/styles/utils/layoutUtils.d.ts.map +1 -0
  112. package/dist/styles/utils/styleHelpers.d.ts +90 -0
  113. package/dist/styles/utils/styleHelpers.d.ts.map +1 -0
  114. package/dist/templates/documents/index.d.ts +34 -0
  115. package/dist/templates/documents/index.d.ts.map +1 -0
  116. package/dist/templates/documents/proposal.docx.json +171 -0
  117. package/dist/templates/documents/quarterly-report.docx.json +117 -0
  118. package/dist/templates/documents/technical-guide.docx.json +178 -0
  119. package/dist/templates/themes/corporate.docx.theme.json +118 -0
  120. package/dist/templates/themes/index.d.ts +5765 -0
  121. package/dist/templates/themes/index.d.ts.map +1 -0
  122. package/dist/templates/themes/minimal.docx.theme.json +194 -0
  123. package/dist/templates/themes/modern.docx.theme.json +115 -0
  124. package/dist/themes/defaults.d.ts +1300 -0
  125. package/dist/themes/defaults.d.ts.map +1 -0
  126. package/dist/themes/json/index.d.ts +44 -0
  127. package/dist/themes/json/index.d.ts.map +1 -0
  128. package/dist/themes/json/loader.d.ts +26 -0
  129. package/dist/themes/json/loader.d.ts.map +1 -0
  130. package/dist/themes/json/parser.d.ts +25 -0
  131. package/dist/themes/json/parser.d.ts.map +1 -0
  132. package/dist/themes/json/validator.d.ts +35 -0
  133. package/dist/themes/json/validator.d.ts.map +1 -0
  134. package/dist/tsconfig.tsbuildinfo +1 -0
  135. package/dist/types/index.d.ts +158 -0
  136. package/dist/types/index.d.ts.map +1 -0
  137. package/dist/types/plugin.d.ts +67 -0
  138. package/dist/types/plugin.d.ts.map +1 -0
  139. package/dist/utils/alignmentUtils.d.ts +10 -0
  140. package/dist/utils/alignmentUtils.d.ts.map +1 -0
  141. package/dist/utils/bookmarkRegistry.d.ts +49 -0
  142. package/dist/utils/bookmarkRegistry.d.ts.map +1 -0
  143. package/dist/utils/docxImagePositioning.d.ts +18 -0
  144. package/dist/utils/docxImagePositioning.d.ts.map +1 -0
  145. package/dist/utils/environment.d.ts +14 -0
  146. package/dist/utils/environment.d.ts.map +1 -0
  147. package/dist/utils/exampleRunner.d.ts +17 -0
  148. package/dist/utils/exampleRunner.d.ts.map +1 -0
  149. package/dist/utils/fixFloatingImageIds.d.ts +18 -0
  150. package/dist/utils/fixFloatingImageIds.d.ts.map +1 -0
  151. package/dist/utils/formatters.d.ts +2 -0
  152. package/dist/utils/formatters.d.ts.map +1 -0
  153. package/dist/utils/imageUtils.d.ts +84 -0
  154. package/dist/utils/imageUtils.d.ts.map +1 -0
  155. package/dist/utils/numberingConfig.d.ts +84 -0
  156. package/dist/utils/numberingConfig.d.ts.map +1 -0
  157. package/dist/utils/placeholderImage.d.ts +31 -0
  158. package/dist/utils/placeholderImage.d.ts.map +1 -0
  159. package/dist/utils/placeholderProcessor.d.ts +58 -0
  160. package/dist/utils/placeholderProcessor.d.ts.map +1 -0
  161. package/dist/utils/textParser.d.ts +35 -0
  162. package/dist/utils/textParser.d.ts.map +1 -0
  163. package/dist/utils/unicode.d.ts +6 -0
  164. package/dist/utils/unicode.d.ts.map +1 -0
  165. package/dist/utils/warningsDocument.d.ts +17 -0
  166. package/dist/utils/warningsDocument.d.ts.map +1 -0
  167. package/dist/utils/widthUtils.d.ts +27 -0
  168. package/dist/utils/widthUtils.d.ts.map +1 -0
  169. package/package.json +88 -0
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Content Creation Functions
3
+ * Pure functions for creating Word document elements without layout concerns
4
+ */
5
+ import { Paragraph, Table, Header, Footer } from 'docx';
6
+ import { ThemeConfig } from '../styles';
7
+ import { ComponentDefinition } from '../types';
8
+ export interface TextOptions {
9
+ style?: string;
10
+ alignment?: 'left' | 'center' | 'right' | 'justify';
11
+ spacing?: {
12
+ before?: number;
13
+ after?: number;
14
+ };
15
+ lineSpacing?: number | {
16
+ type: 'single' | 'atLeast' | 'exactly' | 'double' | 'multiple';
17
+ value?: number;
18
+ };
19
+ boldColor?: string;
20
+ columnBreak?: boolean;
21
+ fontFamily?: string;
22
+ fontSize?: number;
23
+ fontColor?: string;
24
+ bold?: boolean;
25
+ italic?: boolean;
26
+ underline?: boolean;
27
+ prependChildren?: any[];
28
+ outlineLevel?: number;
29
+ bookmarkId?: string;
30
+ floating?: {
31
+ horizontalPosition?: {
32
+ relative?: 'margin' | 'page' | 'text';
33
+ align?: 'left' | 'center' | 'right' | 'inside' | 'outside';
34
+ offset?: number;
35
+ };
36
+ verticalPosition?: {
37
+ relative?: 'margin' | 'page' | 'text';
38
+ align?: 'top' | 'center' | 'bottom' | 'inside' | 'outside' | 'inline';
39
+ offset?: number;
40
+ };
41
+ wrap?: {
42
+ type: 'around' | 'none' | 'notBeside' | 'through' | 'tight' | 'auto';
43
+ };
44
+ lockAnchor?: boolean;
45
+ width?: number;
46
+ height?: number;
47
+ };
48
+ keepNext?: boolean;
49
+ keepLines?: boolean;
50
+ }
51
+ export interface ImageOptions {
52
+ caption?: string;
53
+ width?: number | string;
54
+ height?: number | string;
55
+ widthRelativeTo?: 'content' | 'page';
56
+ heightRelativeTo?: 'content' | 'page';
57
+ alignment?: 'left' | 'center' | 'right';
58
+ spacing?: {
59
+ before?: number;
60
+ after?: number;
61
+ };
62
+ floating?: {
63
+ horizontalPosition?: {
64
+ relative?: 'character' | 'column' | 'margin' | 'page' | 'text';
65
+ align?: 'left' | 'center' | 'right' | 'inside' | 'outside';
66
+ offset?: number;
67
+ };
68
+ verticalPosition?: {
69
+ relative?: 'margin' | 'page' | 'paragraph' | 'line' | 'text';
70
+ align?: 'top' | 'center' | 'bottom' | 'inside' | 'outside';
71
+ offset?: number;
72
+ };
73
+ wrap?: {
74
+ type: 'none' | 'square' | 'topAndBottom' | 'around' | 'tight' | 'through';
75
+ side?: 'bothSides' | 'left' | 'right' | 'largest';
76
+ margins?: {
77
+ top?: number;
78
+ bottom?: number;
79
+ left?: number;
80
+ right?: number;
81
+ };
82
+ };
83
+ allowOverlap?: boolean;
84
+ behindDocument?: boolean;
85
+ lockAnchor?: boolean;
86
+ layoutInCell?: boolean;
87
+ zIndex?: number;
88
+ rotation?: number;
89
+ visibility?: 'hidden' | 'inherit';
90
+ };
91
+ keepNext?: boolean;
92
+ keepLines?: boolean;
93
+ }
94
+ export interface TableOptions {
95
+ style?: 'minimal' | 'classic' | 'minimal';
96
+ }
97
+ export interface StatisticData {
98
+ number: string;
99
+ description: string;
100
+ alignment?: 'left' | 'center' | 'right';
101
+ }
102
+ export interface StatisticOptions {
103
+ spacing?: {
104
+ before?: number;
105
+ after?: number;
106
+ };
107
+ }
108
+ export interface ListOptions {
109
+ numberingReference?: string;
110
+ spacing?: {
111
+ before?: number;
112
+ after?: number;
113
+ item?: number;
114
+ };
115
+ alignment?: 'left' | 'center' | 'right' | 'justify';
116
+ }
117
+ /**
118
+ * Create a text paragraph
119
+ */
120
+ export declare function createText(content: string, theme: ThemeConfig, _themeName: string, options?: TextOptions): Paragraph;
121
+ /**
122
+ * Create a header paragraph
123
+ */
124
+ export declare function createHeading(text: string, level: number, theme: ThemeConfig, _themeName: string, options?: TextOptions): Paragraph;
125
+ /**
126
+ * Create title page content
127
+ */
128
+ export declare function createTitleContent(title?: string, subtitle?: string): Paragraph[];
129
+ /**
130
+ * Create an image with optional caption
131
+ */
132
+ export declare function createImage(path: string, theme: ThemeConfig, options?: ImageOptions): Promise<Paragraph[]>;
133
+ /**
134
+ * Create a statistic display
135
+ */
136
+ export declare function createStatistic(data: StatisticData, options?: StatisticOptions): Paragraph[];
137
+ /**
138
+ * Create a list of items using proper docx numbering
139
+ */
140
+ export declare function createList(items: (string | {
141
+ text: string;
142
+ level?: number;
143
+ })[], _theme: ThemeConfig, _themeName: string, options?: ListOptions): Paragraph[];
144
+ /**
145
+ * Create a table
146
+ */
147
+ type TableFontConfig = {
148
+ family?: string;
149
+ size?: number;
150
+ bold?: boolean;
151
+ italic?: boolean;
152
+ underline?: boolean;
153
+ };
154
+ type BorderColor = string | {
155
+ bottom?: string;
156
+ top?: string;
157
+ right?: string;
158
+ left?: string;
159
+ };
160
+ type BorderSize = number | {
161
+ bottom?: number;
162
+ top?: number;
163
+ right?: number;
164
+ left?: number;
165
+ };
166
+ type Padding = number | {
167
+ bottom?: number;
168
+ top?: number;
169
+ right?: number;
170
+ left?: number;
171
+ };
172
+ type CellDefaults = {
173
+ color?: string;
174
+ backgroundColor?: string;
175
+ horizontalAlignment?: 'left' | 'center' | 'right' | 'justify';
176
+ verticalAlignment?: 'top' | 'middle' | 'bottom';
177
+ font?: TableFontConfig;
178
+ borderColor?: BorderColor;
179
+ borderSize?: BorderSize;
180
+ padding?: Padding;
181
+ height?: number;
182
+ };
183
+ type HideBorders = boolean | {
184
+ top?: boolean;
185
+ right?: boolean;
186
+ bottom?: boolean;
187
+ left?: boolean;
188
+ insideHorizontal?: boolean;
189
+ insideVertical?: boolean;
190
+ };
191
+ type TableConfig = {
192
+ borderColor?: BorderColor;
193
+ borderSize?: BorderSize;
194
+ hideBorders?: HideBorders;
195
+ cellDefaults?: CellDefaults;
196
+ headerCellDefaults?: CellDefaults;
197
+ width?: number;
198
+ columns: {
199
+ width?: number;
200
+ cellDefaults?: CellDefaults;
201
+ header?: CellDefaults & {
202
+ content?: string | ComponentDefinition;
203
+ };
204
+ cells?: (CellDefaults & {
205
+ content?: string | ComponentDefinition;
206
+ })[];
207
+ }[];
208
+ keepInOnePage?: boolean;
209
+ keepNext?: boolean;
210
+ repeatHeaderOnPageBreak?: boolean;
211
+ };
212
+ export declare function createTable(columns: TableConfig['columns'], tableConfig: TableConfig, theme: ThemeConfig, themeName: string, _options?: TableOptions): Promise<Table>;
213
+ /**
214
+ * Create header element from content
215
+ */
216
+ export declare function createHeaderElement(children: (Paragraph | Table)[], _options?: {
217
+ position?: 'left' | 'center' | 'right';
218
+ }): Header;
219
+ /**
220
+ * Create footer element from content
221
+ */
222
+ export declare function createFooterElement(children: (Paragraph | Table)[], _options?: {
223
+ position?: 'left' | 'center' | 'right';
224
+ }): Footer;
225
+ /**
226
+ * Create page number element
227
+ */
228
+ export declare function createPageNumberElement(format?: string, alignment?: 'left' | 'center' | 'right'): Paragraph;
229
+ /**
230
+ * Create mixed content paragraph with text and image elements
231
+ */
232
+ export declare function createMixedContentParagraph(textContent: string, textOptions: {
233
+ fontSize?: number;
234
+ color?: string;
235
+ bold?: boolean;
236
+ italic?: boolean;
237
+ }, imagePath?: string, imageOptions?: {
238
+ width?: number;
239
+ height?: number;
240
+ }, alignment?: 'left' | 'center' | 'right', theme?: import('../styles').ThemeConfig): Promise<Paragraph>;
241
+ /**
242
+ * Create a table specifically for headers/footers with custom styling
243
+ */
244
+ export declare function createHeaderFooterTable(rows: (string | ComponentDefinition)[][], options?: {
245
+ cellAlignments?: ('left' | 'center' | 'right')[];
246
+ fontSize?: number;
247
+ bold?: boolean;
248
+ color?: string;
249
+ noBorders?: boolean;
250
+ cellStyling?: {
251
+ [rowIndex: number]: {
252
+ [cellIndex: number]: {
253
+ bold?: boolean;
254
+ color?: string;
255
+ fontSize?: number;
256
+ };
257
+ };
258
+ };
259
+ theme?: ThemeConfig;
260
+ themeName?: string;
261
+ }): Promise<Table>;
262
+ export {};
263
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/core/content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Document Generator
3
+ * Main orchestration functions that compose the document generation pipeline
4
+ */
5
+ /// <reference types="node" />
6
+ import { Document } from 'docx';
7
+ import { ComponentDefinition, ReportProps, ReportComponentDefinition } from '../types';
8
+ import { ThemeConfig } from '../styles';
9
+ import { DocumentValidationResult } from '@json-to-office/shared-docx';
10
+ export interface JsonGenerationOptions {
11
+ outputPath?: string;
12
+ validation?: {
13
+ strict?: boolean;
14
+ allowUnknownFields?: boolean;
15
+ };
16
+ customThemes?: {
17
+ [key: string]: ThemeConfig;
18
+ };
19
+ }
20
+ /**
21
+ * Type guard to check if input is a report component definition
22
+ */
23
+ export declare function isReportComponentDefinition(definition: unknown): definition is ReportComponentDefinition;
24
+ /**
25
+ * Generate a Word document from a report component definition
26
+ * This is the main entry point for document generation
27
+ */
28
+ export declare function generateDocument(document: ReportComponentDefinition): Promise<Document>;
29
+ /**
30
+ * Generate document from report props and components
31
+ * Convenience function that constructs the report component
32
+ */
33
+ export declare function generateFromConfig(props: ReportProps, components: ComponentDefinition[]): Promise<Document>;
34
+ /**
35
+ * Generate a Word document from JSON report definition
36
+ * Handles parsing, validation, and conversion to internal components
37
+ */
38
+ export declare function generateDocumentFromJson(jsonConfig: string | ComponentDefinition | ReportComponentDefinition, options?: JsonGenerationOptions): Promise<Document>;
39
+ /**
40
+ * Validate JSON schema without generating document
41
+ */
42
+ export declare function validateJsonSchema(jsonConfig: string | object): DocumentValidationResult;
43
+ /**
44
+ * Generate document buffer from JSON (commonly used for API responses)
45
+ */
46
+ export declare function generateBufferFromJson(jsonConfig: string | ReportComponentDefinition, options?: JsonGenerationOptions): Promise<Buffer>;
47
+ /**
48
+ * Generate and save document from JSON in one operation
49
+ */
50
+ export declare function generateAndSaveFromJson(jsonConfig: string | ReportComponentDefinition, filename: string, options?: JsonGenerationOptions): Promise<void>;
51
+ /**
52
+ * Generate document from JSON file
53
+ */
54
+ export declare function generateDocumentFromFile(filePath: string, options?: JsonGenerationOptions): Promise<Document>;
55
+ /**
56
+ * Generate document buffer from JSON file
57
+ */
58
+ export declare function generateBufferFromFile(filePath: string, options?: JsonGenerationOptions): Promise<Buffer>;
59
+ /**
60
+ * Generate and save document from JSON file in one operation
61
+ */
62
+ export declare function generateAndSaveFromFile(inputFilePath: string, outputFilePath: string, options?: JsonGenerationOptions): Promise<void>;
63
+ /**
64
+ * Save a document to file
65
+ */
66
+ export declare function saveDocument(document: Document, filename: string): Promise<void>;
67
+ /**
68
+ * Generate and save document in one operation
69
+ */
70
+ export declare function generateAndSave(document: ReportComponentDefinition, filename: string): Promise<void>;
71
+ /**
72
+ * Compose multiple transform functions
73
+ * Utility for creating custom pipelines
74
+ */
75
+ export declare function pipe<T>(...fns: Array<(_arg: T) => T>): (_arg: T) => T;
76
+ /**
77
+ * Export the main API
78
+ */
79
+ export declare const DocumentGenerator: {
80
+ generate: typeof generateDocument;
81
+ generateFromConfig: typeof generateFromConfig;
82
+ generateFromJson: typeof generateDocumentFromJson;
83
+ generateFromFile: typeof generateDocumentFromFile;
84
+ generateBufferFromJson: typeof generateBufferFromJson;
85
+ generateBufferFromFile: typeof generateBufferFromFile;
86
+ generateAndSaveFromJson: typeof generateAndSaveFromJson;
87
+ generateAndSaveFromFile: typeof generateAndSaveFromFile;
88
+ validateJsonSchema: typeof validateJsonSchema;
89
+ save: typeof saveDocument;
90
+ generateAndSave: typeof generateAndSave;
91
+ isReportComponentDefinition: typeof isReportComponentDefinition;
92
+ };
93
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAExC,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EAE1B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAwB,WAAW,EAAE,MAAM,WAAW,CAAC;AAM9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAMvE,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,yBAAyB,CASzC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,yBAAyB,GAClC,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,mBAAmB,EAAE,GAChC,OAAO,CAAC,QAAQ,CAAC,CAQnB;AA6CD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,yBAAyB,EACpE,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,wBAAwB,CAE1B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GAAG,yBAAyB,EAC9C,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GAAG,yBAAyB,EAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,QAAQ,CAAC,CAKnB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAErE;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAa7B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Core module exports
3
+ * Functional document generation API
4
+ */
5
+ export { generateDocument, generateFromConfig, saveDocument, generateAndSave, DocumentGenerator, } from './generator';
6
+ export { processDocument, createDocumentMetadata, extractSections, flattenComponents, createRenderContext, } from './structure';
7
+ export { applyLayout, analyzeLayoutGroups, determineComponentLayout, processLayoutComponents, getColumnSettings, createSectionProperties, calculateColumnDistribution, } from './layout';
8
+ export { createText, createHeading, createTitleContent, createImage, createStatistic, createTable, createHeaderElement, createFooterElement, createHeaderFooterTable, } from './content';
9
+ export { renderDocument, renderSection, renderComponent } from './render';
10
+ export { renderComponentWithCache, initializeComponentCache, getComponentCache, clearComponentCache, getComponentCacheStats, warmComponentCache, } from './cached-render';
11
+ export type { ProcessedDocument, DocumentMetadata, ProcessedSection, } from './structure';
12
+ export type { LayoutPlan, SectionLayout, LayoutGroup } from './layout';
13
+ export type { TextOptions, ImageOptions, TableOptions, StatisticData, } from './content';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvE,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Layout Functions
3
+ * Handle all layout concerns including columns, breaks, and section properties
4
+ */
5
+ import { SectionType, Column as DocxColumn } from 'docx';
6
+ import { ComponentDefinition, ColumnSettings } from '../types';
7
+ import { ThemeConfig } from '../styles';
8
+ import { ProcessedSection } from './structure';
9
+ export interface LayoutPlan {
10
+ sections: SectionLayout[];
11
+ }
12
+ export interface WordSectionProperties {
13
+ page: {
14
+ size: {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ margin: {
19
+ top: number;
20
+ right: number;
21
+ bottom: number;
22
+ left: number;
23
+ };
24
+ };
25
+ column: ColumnSettings & {
26
+ children?: DocxColumn[];
27
+ };
28
+ type?: (typeof SectionType)[keyof typeof SectionType];
29
+ }
30
+ export interface SectionLayout {
31
+ properties: WordSectionProperties;
32
+ components: ComponentDefinition[];
33
+ layoutType: 'single' | 'multi-column';
34
+ breakBefore: boolean;
35
+ header?: ComponentDefinition[] | 'linkToPrevious';
36
+ footer?: ComponentDefinition[] | 'linkToPrevious';
37
+ /** True if this layout section comes from a user-defined Section component */
38
+ isUserSection: boolean;
39
+ /** True if this layout chunk belongs to a user-defined Section (all chunks of that section) */
40
+ belongsToUserSection: boolean;
41
+ /** The heading level of the section title (e.g., 1 for Heading1) - used by TOCs to exclude section title from section-scoped TOCs */
42
+ sectionTitleLevel?: number;
43
+ /** Page configuration override for this section */
44
+ pageOverride?: {
45
+ size?: 'A4' | 'A3' | 'LETTER' | 'LEGAL' | {
46
+ width: number;
47
+ height: number;
48
+ };
49
+ margins?: {
50
+ top?: number;
51
+ bottom?: number;
52
+ left?: number;
53
+ right?: number;
54
+ header?: number;
55
+ footer?: number;
56
+ gutter?: number;
57
+ };
58
+ };
59
+ }
60
+ export interface LayoutGroup {
61
+ layout: 'single' | 'multi-column';
62
+ components: ComponentDefinition[];
63
+ breakBefore: boolean;
64
+ }
65
+ /**
66
+ * Apply layout to processed sections
67
+ */
68
+ export declare function applyLayout(sections: ProcessedSection[], theme: ThemeConfig, themeName: string): LayoutPlan;
69
+ /**
70
+ * Analyze components to determine layout groups
71
+ */
72
+ export declare function analyzeLayoutGroups(components: ComponentDefinition[]): LayoutGroup[];
73
+ /**
74
+ * Determine layout type for a component
75
+ */
76
+ export declare function determineComponentLayout(component: ComponentDefinition): 'single' | 'multi-column';
77
+ /**
78
+ * Process components for layout (insert breaks where needed)
79
+ */
80
+ export declare function processLayoutComponents(components: ComponentDefinition[]): ComponentDefinition[];
81
+ /**
82
+ * Get column settings for layout type
83
+ */
84
+ export declare function getColumnSettings(layout: 'single' | 'multi-column'): ColumnSettings;
85
+ /**
86
+ * Create Word section properties
87
+ */
88
+ export declare function createSectionProperties(columnSettings: ColumnSettings, theme: ThemeConfig, themeName: string, sectionType?: 'continuous' | 'nextPage', pageOverride?: {
89
+ size?: 'A4' | 'A3' | 'LETTER' | 'LEGAL' | {
90
+ width: number;
91
+ height: number;
92
+ };
93
+ margins?: {
94
+ top?: number;
95
+ bottom?: number;
96
+ left?: number;
97
+ right?: number;
98
+ header?: number;
99
+ footer?: number;
100
+ gutter?: number;
101
+ };
102
+ }): WordSectionProperties;
103
+ /**
104
+ * Calculate optimal column distribution for content
105
+ */
106
+ export declare function calculateColumnDistribution(components: ComponentDefinition[], columnCount: number): ComponentDefinition[][];
107
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/core/layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Render Functions
3
+ * Transform components and layout into Word document elements
4
+ */
5
+ import { Document, Paragraph, Table, TableOfContents, ISectionOptions, Textbox } from 'docx';
6
+ import { ComponentDefinition, RenderContext } from '../types';
7
+ import { ThemeConfig } from '../styles';
8
+ import { ProcessedDocument } from './structure';
9
+ import { LayoutPlan, SectionLayout } from './layout';
10
+ import { MemoryCache } from '../cache';
11
+ /**
12
+ * Render a complete document from structure and layout
13
+ */
14
+ export declare function renderDocument(structure: ProcessedDocument, layout: LayoutPlan, options?: {
15
+ cache?: MemoryCache;
16
+ bypassCache?: boolean;
17
+ }): Promise<Document>;
18
+ /**
19
+ * Render a section with layout
20
+ */
21
+ export declare function renderSection(section: SectionLayout, theme: ThemeConfig, themeName: string, context: RenderContext, sectionOrdinal?: number, closeBookmark?: boolean): Promise<ISectionOptions>;
22
+ /**
23
+ * Render a single component to Word elements
24
+ */
25
+ export declare function renderComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string, context: RenderContext): Promise<(Paragraph | Table | TableOfContents | Textbox)[]>;
26
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/core/render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,KAAK,EACL,eAAe,EACf,eAAe,EAMf,OAAO,EACR,MAAM,MAAM,CAAC;AAWd,OAAO,EACL,mBAAmB,EACnB,aAAa,EAgBd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAqCvC;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,OAAO,CAAC,QAAQ,CAAC,CAiJnB;AA+MD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,cAAc,CAAC,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,eAAe,CAAC,CAiH1B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAgC5D"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Document Structure Functions
3
+ * Handle document hierarchy and organization without layout concerns
4
+ */
5
+ import { ComponentDefinition, ReportProps, ReportComponentDefinition, RenderContext } from '../types';
6
+ import { ThemeConfig } from '../styles';
7
+ export interface ProcessedDocument {
8
+ metadata: DocumentMetadata;
9
+ sections: ProcessedSection[];
10
+ theme: ThemeConfig;
11
+ themeName: string;
12
+ }
13
+ export interface DocumentMetadata {
14
+ title?: string;
15
+ subtitle?: string;
16
+ author?: string;
17
+ company?: string;
18
+ date: Date;
19
+ }
20
+ export interface ProcessedSection {
21
+ title?: string;
22
+ level?: number;
23
+ components: ComponentDefinition[];
24
+ header?: ComponentDefinition[] | 'linkToPrevious';
25
+ footer?: ComponentDefinition[] | 'linkToPrevious';
26
+ /** True if this section originates from an explicit Section component */
27
+ isExplicitSection?: boolean;
28
+ /** Whether this section should start on a new page */
29
+ pageBreak?: boolean;
30
+ /** Page configuration override for this section */
31
+ page?: {
32
+ size?: 'A4' | 'A3' | 'LETTER' | 'LEGAL' | {
33
+ width: number;
34
+ height: number;
35
+ };
36
+ margins?: {
37
+ top?: number;
38
+ bottom?: number;
39
+ left?: number;
40
+ right?: number;
41
+ header?: number;
42
+ footer?: number;
43
+ gutter?: number;
44
+ };
45
+ };
46
+ }
47
+ /**
48
+ * Process document definition into structured format
49
+ */
50
+ export declare function processDocument(document: ReportComponentDefinition, theme: ThemeConfig, themeName: string): Promise<ProcessedDocument>;
51
+ /**
52
+ * Extract document metadata from report props
53
+ */
54
+ export declare function createDocumentMetadata(props: ReportProps): DocumentMetadata;
55
+ /**
56
+ * Extract and flatten sections from component hierarchy
57
+ */
58
+ export declare function extractSections(components: ComponentDefinition[], context: RenderContext): Promise<ProcessedSection[]>;
59
+ /**
60
+ * Flatten nested container components while preserving content components
61
+ */
62
+ export declare function flattenComponents(components: ComponentDefinition[], context: RenderContext): Promise<ComponentDefinition[]>;
63
+ /**
64
+ * Create render context from processed document
65
+ */
66
+ export declare function createRenderContext(document: ProcessedDocument, theme: ThemeConfig, themeName: string): RenderContext;
67
+ //# sourceMappingURL=structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../src/core/structure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,aAAa,EAGd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;IAClD,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;IAClD,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5E,OAAO,CAAC,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,yBAAyB,EACnC,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAQ3E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,mBAAmB,EAAE,EACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA+D7B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,mBAAmB,EAAE,EACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA8ChC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,aAAa,CA0Bf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-spacing-debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-spacing-debug.d.ts","sourceRoot":"","sources":["../../src/examples/test-spacing-debug.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Test Spacing Example
3
+ * Generate document to test that spacing values are in points
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=test-spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-spacing.d.ts","sourceRoot":"","sources":["../../src/examples/test-spacing.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,20 @@
1
+ export declare function getCoreVersion(): string;
2
+ export { generateDocument, generateFromConfig, generateDocumentFromJson, generateDocumentFromFile, generateBufferFromJson, generateBufferFromFile, generateAndSaveFromJson, generateAndSaveFromFile, validateJsonSchema, isReportComponentDefinition, saveDocument, generateAndSave, DocumentGenerator as CoreDocumentGenerator, } from './core/generator';
3
+ export { MemoryCache, CacheKeyGenerator, DEFAULT_CACHE_CONFIG, getCacheConfigFromEnv, mergeConfigs, ComponentCacheAnalytics, type CacheConfiguration, type CachedComponent, type CacheStatistics, type CacheKeyOptions, type CacheEvents, type CacheAnalyticsReport, type ComponentPerformanceMetrics, type ComponentCacheTrends, type CacheOptimizationRecommendation, type TimeSeriesPoint, } from './cache/index';
4
+ export { initializeComponentCache, getComponentCache, clearComponentCache, getComponentCacheStats, warmComponentCache, } from './core/cached-render';
5
+ export { isReportComponent, isSectionComponent, isHeadingComponent, isParagraphComponent, isColumnsComponent, isImageComponent, isStatisticComponent, isTableComponent, isListComponent, isHeaderComponent, isFooterComponent, isHighchartsComponent, } from './types/index';
6
+ export type { ImageContent, StatisticContent, TableData, SectionProperties, ColumnSettings, PageSizeOptions, PageMarginOptions, PageNumberOptions, PageBorderOptions, RenderContext, } from './types/index';
7
+ export * from './utils/formatters';
8
+ export { parseTextWithDecorators } from './utils/textParser';
9
+ export { isNodeEnvironment, hasNodeBuiltins } from './utils/environment';
10
+ export { generateWarningsDocument, formatWarningsText, } from './utils/warningsDocument';
11
+ export { themes, minimalTheme, corporateTheme, modernTheme, } from './styles/index';
12
+ export type { ThemeName } from './styles/index';
13
+ export { loadThemeFromJson, loadThemeFromFile, exportThemeToJson, validateThemeJsonString, ThemeValidationError, ThemeParseError, ThemeFileError, createMinimalTheme, } from './themes/json/index';
14
+ export { examples, getExample, getExampleNames, loadJsonExample, } from './templates/documents/index';
15
+ export { runExample } from './utils/exampleRunner';
16
+ import './components/index';
17
+ export type { ChartGenerationResult, } from './components/highcharts';
18
+ export { createComponent, createVersion, createDocumentGenerator, validateComponentProps, validateDocument, cleanComponentProps, ComponentValidationError, generatePluginDocumentSchema, exportPluginSchema, generateComponentSchemas, mergeSchemas, type CustomComponent, type ComponentVersion, type ComponentVersionMap, type RenderFunction, type RenderContext as ComponentRenderContext, type DocumentGenerator, type DocumentGeneratorOptions, type GenerationResult, type BufferGenerationResult, type FileGenerationResult, type ValidationResult, type ValidationError, type ExtractCustomComponentType, type CustomComponentUnion, type ExtendedComponentDefinition, type ExtendedReportComponent, type InferCustomComponents, } from './plugin/index';
19
+ export type { PluginComponent, PluginRenderFunction, PluginValidationError, PluginValidationResult, } from './types/plugin';
20
+ //# sourceMappingURL=index.d.ts.map