@json-to-office/core-docx 0.38.0 → 1.0.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 (163) hide show
  1. package/dist/components/highcharts.d.ts +16 -6
  2. package/dist/components/highcharts.d.ts.map +1 -1
  3. package/dist/components/index.d.ts +8 -14
  4. package/dist/components/index.d.ts.map +1 -1
  5. package/dist/components/visual.d.ts +60 -18
  6. package/dist/components/visual.d.ts.map +1 -1
  7. package/dist/core/collectTocHeadings.d.ts +15 -1
  8. package/dist/core/collectTocHeadings.d.ts.map +1 -1
  9. package/dist/core/componentTransform.d.ts +30 -0
  10. package/dist/core/componentTransform.d.ts.map +1 -0
  11. package/dist/core/desugarExternals.d.ts +35 -0
  12. package/dist/core/desugarExternals.d.ts.map +1 -0
  13. package/dist/core/flattenVisuals.d.ts.map +1 -1
  14. package/dist/core/generateFromIr.d.ts +78 -0
  15. package/dist/core/generateFromIr.d.ts.map +1 -0
  16. package/dist/core/generationContext.d.ts +2 -2
  17. package/dist/core/generationContext.d.ts.map +1 -1
  18. package/dist/core/generator.d.ts +48 -39
  19. package/dist/core/generator.d.ts.map +1 -1
  20. package/dist/core/imageResources.d.ts +35 -0
  21. package/dist/core/imageResources.d.ts.map +1 -0
  22. package/dist/core/index.d.ts +4 -5
  23. package/dist/core/index.d.ts.map +1 -1
  24. package/dist/core/layout.d.ts +15 -3
  25. package/dist/core/layout.d.ts.map +1 -1
  26. package/dist/core/markdownList.d.ts +21 -0
  27. package/dist/core/markdownList.d.ts.map +1 -0
  28. package/dist/core/prerasterizeVisuals.d.ts +2 -3
  29. package/dist/core/prerasterizeVisuals.d.ts.map +1 -1
  30. package/dist/core/sectionBookmarks.d.ts +15 -40
  31. package/dist/core/sectionBookmarks.d.ts.map +1 -1
  32. package/dist/core/tableModel.d.ts +188 -0
  33. package/dist/core/tableModel.d.ts.map +1 -0
  34. package/dist/core/tocField.d.ts +70 -0
  35. package/dist/core/tocField.d.ts.map +1 -0
  36. package/dist/index.d.ts +7 -6
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +8060 -7269
  39. package/dist/index.js.map +1 -1
  40. package/dist/ir/compiler.d.ts +49 -0
  41. package/dist/ir/compiler.d.ts.map +1 -0
  42. package/dist/ir/debug.d.ts +15 -0
  43. package/dist/ir/debug.d.ts.map +1 -0
  44. package/dist/ir/features.d.ts +19 -0
  45. package/dist/ir/features.d.ts.map +1 -0
  46. package/dist/ir/index.d.ts +16 -0
  47. package/dist/ir/index.d.ts.map +1 -0
  48. package/dist/ir/inline.d.ts +126 -0
  49. package/dist/ir/inline.d.ts.map +1 -0
  50. package/dist/ir/types.d.ts +774 -0
  51. package/dist/ir/types.d.ts.map +1 -0
  52. package/dist/ir/units.d.ts +57 -0
  53. package/dist/ir/units.d.ts.map +1 -0
  54. package/dist/ir/validation.d.ts +19 -0
  55. package/dist/ir/validation.d.ts.map +1 -0
  56. package/dist/plugin/createDocumentGenerator.d.ts +10 -3
  57. package/dist/plugin/createDocumentGenerator.d.ts.map +1 -1
  58. package/dist/plugin/example/index.d.ts.map +1 -1
  59. package/dist/plugin/example/index.js +8083 -7149
  60. package/dist/plugin/example/index.js.map +1 -1
  61. package/dist/plugin/index.d.ts +1 -1
  62. package/dist/plugin/index.d.ts.map +1 -1
  63. package/dist/plugin/schema.d.ts.map +1 -1
  64. package/dist/plugin/types.d.ts +13 -26
  65. package/dist/plugin/types.d.ts.map +1 -1
  66. package/dist/renderers/docxjs/emit.d.ts +41 -0
  67. package/dist/renderers/docxjs/emit.d.ts.map +1 -0
  68. package/dist/renderers/docxjs/index.d.ts +22 -0
  69. package/dist/renderers/docxjs/index.d.ts.map +1 -0
  70. package/dist/renderers/docxjs/styles.d.ts +12 -0
  71. package/dist/renderers/docxjs/styles.d.ts.map +1 -0
  72. package/dist/renderers/office-open/emit.d.ts +63 -0
  73. package/dist/renderers/office-open/emit.d.ts.map +1 -0
  74. package/dist/renderers/office-open/index.d.ts +25 -0
  75. package/dist/renderers/office-open/index.d.ts.map +1 -0
  76. package/dist/renderers/office-open/styles.d.ts +13 -0
  77. package/dist/renderers/office-open/styles.d.ts.map +1 -0
  78. package/dist/renderers/registry.d.ts +15 -0
  79. package/dist/renderers/registry.d.ts.map +1 -0
  80. package/dist/renderers/types.d.ts +35 -0
  81. package/dist/renderers/types.d.ts.map +1 -0
  82. package/dist/styles/themeToStyles.d.ts +12 -0
  83. package/dist/styles/themeToStyles.d.ts.map +1 -0
  84. package/dist/styles/utils/borderUtils.d.ts +13 -6
  85. package/dist/styles/utils/borderUtils.d.ts.map +1 -1
  86. package/dist/styles/utils/layoutUtils.d.ts +10 -14
  87. package/dist/styles/utils/layoutUtils.d.ts.map +1 -1
  88. package/dist/styles/utils/styleHelpers.d.ts +6 -2
  89. package/dist/styles/utils/styleHelpers.d.ts.map +1 -1
  90. package/dist/themes/overrides.d.ts +0 -2
  91. package/dist/themes/overrides.d.ts.map +1 -1
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/dist/types/index.d.ts +18 -4
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/utils/bookmarkRegistry.d.ts +13 -77
  96. package/dist/utils/bookmarkRegistry.d.ts.map +1 -1
  97. package/dist/utils/commentRegistry.d.ts +5 -43
  98. package/dist/utils/commentRegistry.d.ts.map +1 -1
  99. package/dist/utils/exampleRunner.d.ts.map +1 -1
  100. package/dist/utils/imageUtils.d.ts +23 -19
  101. package/dist/utils/imageUtils.d.ts.map +1 -1
  102. package/dist/utils/numberingConfig.d.ts +7 -87
  103. package/dist/utils/numberingConfig.d.ts.map +1 -1
  104. package/dist/utils/packageDocument.d.ts +0 -3
  105. package/dist/utils/packageDocument.d.ts.map +1 -1
  106. package/dist/utils/revisionUtils.d.ts +6 -67
  107. package/dist/utils/revisionUtils.d.ts.map +1 -1
  108. package/dist/utils/warningsDocument.d.ts.map +1 -1
  109. package/package.json +12 -4
  110. package/dist/cache/index.d.ts +0 -7
  111. package/dist/cache/index.d.ts.map +0 -1
  112. package/dist/cache/key-generator.d.ts +0 -34
  113. package/dist/cache/key-generator.d.ts.map +0 -1
  114. package/dist/components/columns.d.ts +0 -12
  115. package/dist/components/columns.d.ts.map +0 -1
  116. package/dist/components/heading.d.ts +0 -12
  117. package/dist/components/heading.d.ts.map +0 -1
  118. package/dist/components/image.d.ts +0 -12
  119. package/dist/components/image.d.ts.map +0 -1
  120. package/dist/components/list.d.ts +0 -12
  121. package/dist/components/list.d.ts.map +0 -1
  122. package/dist/components/paragraph.d.ts +0 -12
  123. package/dist/components/paragraph.d.ts.map +0 -1
  124. package/dist/components/section.d.ts +0 -12
  125. package/dist/components/section.d.ts.map +0 -1
  126. package/dist/components/statistic.d.ts +0 -12
  127. package/dist/components/statistic.d.ts.map +0 -1
  128. package/dist/components/table.d.ts +0 -13
  129. package/dist/components/table.d.ts.map +0 -1
  130. package/dist/components/text-box.d.ts +0 -9
  131. package/dist/components/text-box.d.ts.map +0 -1
  132. package/dist/components/toc/index.d.ts +0 -30
  133. package/dist/components/toc/index.d.ts.map +0 -1
  134. package/dist/core/cached-render.d.ts +0 -92
  135. package/dist/core/cached-render.d.ts.map +0 -1
  136. package/dist/core/content.d.ts +0 -319
  137. package/dist/core/content.d.ts.map +0 -1
  138. package/dist/core/render.d.ts +0 -48
  139. package/dist/core/render.d.ts.map +0 -1
  140. package/dist/styles/themeToDocxAdapter.d.ts +0 -22
  141. package/dist/styles/themeToDocxAdapter.d.ts.map +0 -1
  142. package/dist/styles/utils/cellUtils.d.ts +0 -55
  143. package/dist/styles/utils/cellUtils.d.ts.map +0 -1
  144. package/dist/utils/alignmentUtils.d.ts +0 -10
  145. package/dist/utils/alignmentUtils.d.ts.map +0 -1
  146. package/dist/utils/commentAnchors.d.ts +0 -39
  147. package/dist/utils/commentAnchors.d.ts.map +0 -1
  148. package/dist/utils/componentAnnotations.d.ts +0 -23
  149. package/dist/utils/componentAnnotations.d.ts.map +0 -1
  150. package/dist/utils/docxImagePositioning.d.ts +0 -19
  151. package/dist/utils/docxImagePositioning.d.ts.map +0 -1
  152. package/dist/utils/noteRegistry.d.ts +0 -43
  153. package/dist/utils/noteRegistry.d.ts.map +0 -1
  154. package/dist/utils/noteResolver.d.ts +0 -31
  155. package/dist/utils/noteResolver.d.ts.map +0 -1
  156. package/dist/utils/numberedItemsRegistry.d.ts +0 -38
  157. package/dist/utils/numberedItemsRegistry.d.ts.map +0 -1
  158. package/dist/utils/placeholderImage.d.ts +0 -31
  159. package/dist/utils/placeholderImage.d.ts.map +0 -1
  160. package/dist/utils/placeholderProcessor.d.ts +0 -58
  161. package/dist/utils/placeholderProcessor.d.ts.map +0 -1
  162. package/dist/utils/textParser.d.ts +0 -117
  163. package/dist/utils/textParser.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-generator.d.ts","sourceRoot":"","sources":["../../src/cache/key-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,MAAc;IAInC;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,eAAoB,GAC5B,MAAM;IA0BT;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAU7B;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;OAEG;IACH,OAAO,CAAC,IAAI;CAGb"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Columns Component
3
- * Standard component for rendering content in columns layout
4
- */
5
- import { Paragraph, Table } from 'docx';
6
- import { ComponentDefinition, RenderContext } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render columns component
10
- */
11
- export declare function renderColumnsComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string, context: RenderContext): Promise<(Paragraph | Table)[]>;
12
- //# sourceMappingURL=columns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../src/components/columns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,EAON,MAAM,MAAM,CAAC;AACd,OAAO,EACL,mBAAmB,EACnB,aAAa,EAGd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CA0BhC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Heading Component
3
- * Standard component for rendering heading elements in documents
4
- */
5
- import { Paragraph } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render heading component
10
- */
11
- export declare function renderHeadingComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string): Paragraph[];
12
- //# sourceMappingURL=heading.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/components/heading.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAsCxC;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CAuDb"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Image Component
3
- * Standard component for rendering images in documents
4
- */
5
- import { Paragraph } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render image component
10
- */
11
- export declare function renderImageComponent(component: ComponentDefinition, theme: ThemeConfig, themeName?: string): Promise<Paragraph[]>;
12
- //# sourceMappingURL=image.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/components/image.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAoB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAIxC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA2BtB"}
@@ -1,12 +0,0 @@
1
- /**
2
- * List Component
3
- * Standard component for rendering list elements in documents
4
- */
5
- import { Paragraph } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render list component
10
- */
11
- export declare function renderListComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string): Paragraph[];
12
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAmB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAiCxC;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA6Bb"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Paragraph Component
3
- * Standard component for rendering paragraph content in documents
4
- */
5
- import { Paragraph } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render paragraph component
10
- */
11
- export declare function renderParagraphComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string): Paragraph[];
12
- //# sourceMappingURL=paragraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../src/components/paragraph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6DxC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA4Jb"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Section Component
3
- * Standard component for rendering document sections with child components
4
- */
5
- import { Paragraph, Table } from 'docx';
6
- import { ComponentDefinition, RenderContext } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render section component with bookmark support for scoped TOCs
10
- */
11
- export declare function renderSectionComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string, context: RenderContext): Promise<(Paragraph | Table)[]>;
12
- //# sourceMappingURL=section.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/components/section.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAA8B,MAAM,MAAM,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAIxC;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CA2DhC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Statistic Component
3
- * Standard component for rendering statistic displays in documents
4
- */
5
- import { Paragraph } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render statistic component
10
- */
11
- export declare function renderStatisticComponent(component: ComponentDefinition, _theme: ThemeConfig): Paragraph[];
12
- //# sourceMappingURL=statistic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statistic.d.ts","sourceRoot":"","sources":["../../src/components/statistic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,WAAW,GAClB,SAAS,EAAE,CAkBb"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Table Component
3
- * Standard component for rendering tables in documents
4
- */
5
- import { Table } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- /**
9
- * Render table component
10
- * Supports new column-based format with cell defaults and legacy headers/rows format
11
- */
12
- export declare function renderTableComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string): Promise<Table[]>;
13
- //# sourceMappingURL=table.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAoB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6FxC;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,EAAE,CAAC,CAyDlB"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Text Box Component
3
- * Floating container that groups child paragraphs (from text/image components)
4
- */
5
- import { Paragraph, Table } from 'docx';
6
- import { ComponentDefinition } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- export declare function renderTextBoxComponent(component: ComponentDefinition, theme: ThemeConfig, themeName: string, context: import('../types').RenderContext): Promise<(Paragraph | Table)[]>;
9
- //# sourceMappingURL=text-box.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-box.d.ts","sourceRoot":"","sources":["../../src/components/text-box.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,EAWN,MAAM,MAAM,CAAC;AACd,OAAO,EACL,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAmdxC,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,UAAU,EAAE,aAAa,GACxC,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAiBhC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Table of Contents Component
3
- * Renders TOC using Word's native TableOfContents field with bookmark scoping support
4
- */
5
- import { Paragraph, TableOfContents } from 'docx';
6
- import type { TocProps } from '@json-to-office/shared-docx';
7
- import type { ThemeConfig } from '../../styles';
8
- import type { RenderContext } from '../../types';
9
- export interface TocComponentDefinition {
10
- name: 'toc';
11
- id?: string;
12
- props: TocProps;
13
- }
14
- /**
15
- * Render TOC component using Word's native TableOfContents field with bookmark scoping
16
- *
17
- * This creates a dynamic TOC that:
18
- * - Auto-populates with headings from configured scope
19
- * - Updates automatically when document structure changes
20
- * - Includes clickable hyperlinks to content
21
- * - Shows page numbers (if enabled)
22
- * - Respects configured depth limits
23
- *
24
- * Scope behavior:
25
- * - scope: 'document' → Scans entire document (default when TOC is at report level)
26
- * - scope: 'section' → Scans only parent section content (uses bookmark)
27
- * - scope: 'auto' → Automatically detects: section if inside section, otherwise document
28
- */
29
- export declare function renderTocComponent(component: TocComponentDefinition, theme: ThemeConfig, context?: RenderContext): (Paragraph | TableOfContents)[];
30
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toc/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EAIhB,MAAM,MAAM,CAAC;AAcd,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;CACjB;AAiHD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,sBAAsB,EACjC,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,CAAC,SAAS,GAAG,eAAe,CAAC,EAAE,CAqOjC"}
@@ -1,92 +0,0 @@
1
- /**
2
- * Cached component rendering system
3
- * Provides caching layer for component rendering operations
4
- */
5
- import { Paragraph, Table, TableOfContents } from 'docx';
6
- import { ComponentDefinition, RenderContext } from '../types';
7
- import { ThemeConfig } from '../styles';
8
- import { MemoryCache } from '../cache';
9
- /** Why a component type is never cached (see renderComponentWithCache). */
10
- export type ComponentBypassReason = 'dynamic-context' | 'bookmark-id' | 'revision-ids' | 'comment-ids';
11
- export interface ComponentBypassStats {
12
- /** Component type name. */
13
- type: string;
14
- /** Renders that skipped the cache by design. */
15
- renders: number;
16
- /** The (first observed) reason this type bypasses the cache. */
17
- reason: ComponentBypassReason;
18
- }
19
- /**
20
- * Get per-type "uncached by design" render counters.
21
- */
22
- export declare function getComponentBypassStats(): ComponentBypassStats[];
23
- /**
24
- * True when the serialized props/children reference a registered placeholder
25
- * whose output can vary with the generation date. Components without one
26
- * render identically across dates, so their cache keys must not embed the
27
- * per-render timestamp — that's what made cross-render hits impossible for
28
- * date-less documents (#156).
29
- */
30
- export declare function usesDateSensitivePlaceholder(serialized: string): boolean;
31
- /**
32
- * Initialize the component cache
33
- */
34
- export declare function initializeComponentCache(cache?: MemoryCache): void;
35
- /**
36
- * Get the component cache instance
37
- */
38
- export declare function getComponentCache(): MemoryCache | null;
39
- /**
40
- * Clear the component cache
41
- */
42
- export declare function clearComponentCache(): Promise<void>;
43
- /**
44
- * Why this component must skip the cross-document component cache, or `null`
45
- * when it is safe to cache.
46
- *
47
- * Kept as one named predicate so a new reason is a new clause here rather
48
- * than a restructuring of an inline conditional ladder.
49
- */
50
- export declare function componentBypassReason(component: ComponentDefinition): ComponentBypassReason | null;
51
- /**
52
- * Render a component with caching
53
- */
54
- export declare function renderComponentWithCache(component: ComponentDefinition, theme: ThemeConfig, themeName: string, context: RenderContext, bypassCache?: boolean): Promise<(Paragraph | Table | TableOfContents)[]>;
55
- /**
56
- * Warm the cache with frequently used components
57
- */
58
- export declare function warmComponentCache(components: Array<{
59
- component: ComponentDefinition;
60
- theme: ThemeConfig;
61
- themeName: string;
62
- context: RenderContext;
63
- }>): Promise<void>;
64
- /**
65
- * Get component cache statistics, extended with per-type "uncached by
66
- * design" render counters (#156). The bypass counters exist even before the
67
- * cache is initialized — a document full of bypassed types never triggers
68
- * initialization, yet its renders are exactly what needs surfacing.
69
- */
70
- export declare function getComponentCacheStats(): {
71
- bypassedComponents: ComponentBypassStats[];
72
- } | {
73
- bypassedComponents: ComponentBypassStats[];
74
- entries: number;
75
- totalSize: number;
76
- hitRate: number;
77
- missRate: number;
78
- totalHits: number;
79
- totalMisses: number;
80
- avgResponseTime: number;
81
- evictions: number;
82
- componentStats: Map<string, import("@json-to-office/shared/cache").ComponentStatistics>;
83
- } | null;
84
- /**
85
- * Export component cache for persistence
86
- */
87
- export declare function exportComponentCache(): Promise<Map<string, unknown> | null>;
88
- /**
89
- * Import component cache from persistence
90
- */
91
- export declare function importComponentCache(data: Map<string, unknown>): Promise<void>;
92
- //# sourceMappingURL=cached-render.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cached-render.d.ts","sourceRoot":"","sources":["../../src/core/cached-render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,WAAW,EAIZ,MAAM,UAAU,CAAC;AAYlB,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAwBD;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,EAAE,CAMhE;AAUD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CASxE;AAYD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CA4BlE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzD;AA6BD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,mBAAmB,GAC7B,qBAAqB,GAAG,IAAI,CAU9B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,WAAW,UAAQ,GAClB,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC,CA0FlD;AAKD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,GACD,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;;SAOrC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,GAAG,CACvD,MAAM,EACN,OAAO,CACR,GAAG,IAAI,CAAC,CAgBR;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -1,319 +0,0 @@
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 type { Comment, Note, Revision, RevisionMark } from '@json-to-office/shared-docx';
8
- import { ComponentDefinition } from '../types';
9
- export interface TextOptions {
10
- style?: string;
11
- alignment?: 'left' | 'center' | 'right' | 'justify';
12
- spacing?: {
13
- before?: number;
14
- after?: number;
15
- };
16
- lineSpacing?: number | {
17
- type: 'single' | 'atLeast' | 'exactly' | 'double' | 'multiple';
18
- value?: number;
19
- };
20
- boldColor?: string;
21
- columnBreak?: boolean;
22
- fontFamily?: string;
23
- fontSize?: number;
24
- fontColor?: string;
25
- bold?: boolean;
26
- /**
27
- * Per-run weight (100–900). Renderer picks the closest embedded variant
28
- * via the font-alias registry and emits the run under a synthetic family
29
- * (e.g. "Inter Light" for 300). Overrides `bold` when set.
30
- */
31
- fontWeight?: number;
32
- italic?: boolean;
33
- underline?: boolean;
34
- scale?: number;
35
- characterSpacing?: {
36
- type: 'condensed' | 'expanded';
37
- value: number;
38
- };
39
- language?: string;
40
- noProof?: boolean;
41
- noProofWords?: string[];
42
- prependChildren?: any[];
43
- outlineLevel?: number;
44
- /**
45
- * Paragraph-level numbering (`w:numPr`). `false` is the explicit opt-out
46
- * docx writes as numId 0 — the only way a single heading escapes a numbering
47
- * turned on for every heading through componentDefaults.
48
- */
49
- numbering?: {
50
- reference: string;
51
- level: number;
52
- } | false;
53
- bookmarkId?: string;
54
- floating?: {
55
- horizontalPosition?: {
56
- relative?: 'margin' | 'page' | 'text';
57
- align?: 'left' | 'center' | 'right' | 'inside' | 'outside';
58
- offset?: number | string;
59
- };
60
- verticalPosition?: {
61
- relative?: 'margin' | 'page' | 'text';
62
- align?: 'top' | 'center' | 'bottom' | 'inside' | 'outside' | 'inline';
63
- offset?: number | string;
64
- };
65
- wrap?: {
66
- type: 'around' | 'none' | 'notBeside' | 'through' | 'tight' | 'auto';
67
- };
68
- lockAnchor?: boolean;
69
- width?: number;
70
- height?: number;
71
- };
72
- keepNext?: boolean;
73
- keepLines?: boolean;
74
- indent?: {
75
- left?: number;
76
- right?: number;
77
- hanging?: number;
78
- firstLine?: number;
79
- };
80
- tabStops?: {
81
- type: 'left' | 'right' | 'center' | 'decimal' | 'bar';
82
- position: number;
83
- leader?: 'dot' | 'hyphen' | 'underscore' | 'middleDot' | 'none';
84
- }[];
85
- revision?: Revision;
86
- comment?: Comment;
87
- footnotes?: readonly Note[];
88
- endnotes?: readonly Note[];
89
- }
90
- export interface ImageOptions {
91
- caption?: string;
92
- width?: number | string;
93
- height?: number | string;
94
- widthRelativeTo?: 'content' | 'page';
95
- heightRelativeTo?: 'content' | 'page';
96
- alignment?: 'left' | 'center' | 'right';
97
- spacing?: {
98
- before?: number;
99
- after?: number;
100
- };
101
- floating?: {
102
- horizontalPosition?: {
103
- relative?: 'character' | 'column' | 'margin' | 'page' | 'text';
104
- align?: 'left' | 'center' | 'right' | 'inside' | 'outside';
105
- offset?: number | string;
106
- };
107
- verticalPosition?: {
108
- relative?: 'margin' | 'page' | 'paragraph' | 'line' | 'text';
109
- align?: 'top' | 'center' | 'bottom' | 'inside' | 'outside';
110
- offset?: number | string;
111
- };
112
- wrap?: {
113
- type: 'none' | 'square' | 'topAndBottom' | 'around' | 'tight' | 'through';
114
- side?: 'bothSides' | 'left' | 'right' | 'largest';
115
- margins?: {
116
- top?: number | string;
117
- bottom?: number | string;
118
- left?: number | string;
119
- right?: number | string;
120
- };
121
- };
122
- allowOverlap?: boolean;
123
- behindDocument?: boolean;
124
- lockAnchor?: boolean;
125
- layoutInCell?: boolean;
126
- zIndex?: number;
127
- rotation?: number;
128
- visibility?: 'hidden' | 'inherit';
129
- };
130
- keepNext?: boolean;
131
- keepLines?: boolean;
132
- }
133
- export interface TableOptions {
134
- style?: 'minimal' | 'classic' | 'minimal';
135
- }
136
- export interface StatisticData {
137
- number: string;
138
- description: string;
139
- alignment?: 'left' | 'center' | 'right';
140
- }
141
- export interface StatisticOptions {
142
- spacing?: {
143
- before?: number;
144
- after?: number;
145
- };
146
- }
147
- export interface ListOptions {
148
- numberingReference?: string;
149
- comment?: Comment;
150
- footnotes?: readonly Note[];
151
- endnotes?: readonly Note[];
152
- spacing?: {
153
- before?: number;
154
- after?: number;
155
- item?: number;
156
- };
157
- alignment?: 'left' | 'center' | 'right' | 'justify';
158
- }
159
- /**
160
- * Create a text paragraph
161
- */
162
- export declare function createText(content: string, theme: ThemeConfig, themeName: string, options?: TextOptions): Paragraph;
163
- /**
164
- * Create a header paragraph
165
- */
166
- export declare function createHeading(text: string, level: number, theme: ThemeConfig, _themeName: string, options?: TextOptions): Paragraph;
167
- /**
168
- * Create title page content
169
- */
170
- export declare function createTitleContent(title?: string, subtitle?: string): Paragraph[];
171
- /**
172
- * Create an image with optional caption
173
- */
174
- export declare function createImage(path: string, theme: ThemeConfig, themeName?: string, options?: ImageOptions): Promise<Paragraph[]>;
175
- /**
176
- * Create a statistic display
177
- */
178
- export declare function createStatistic(data: StatisticData, options?: StatisticOptions): Paragraph[];
179
- /**
180
- * Create a list of items using proper docx numbering
181
- */
182
- export declare function createList(items: (string | {
183
- text: string;
184
- level?: number;
185
- id?: string;
186
- revision?: Revision;
187
- })[], _theme: ThemeConfig, _themeName: string, options?: ListOptions): Paragraph[];
188
- /**
189
- * Create a table
190
- */
191
- type TableFontConfig = {
192
- family?: string;
193
- size?: number;
194
- bold?: boolean;
195
- fontWeight?: number;
196
- italic?: boolean;
197
- underline?: boolean;
198
- };
199
- type BorderColor = string | {
200
- bottom?: string;
201
- top?: string;
202
- right?: string;
203
- left?: string;
204
- };
205
- type BorderSize = number | {
206
- bottom?: number;
207
- top?: number;
208
- right?: number;
209
- left?: number;
210
- };
211
- type Padding = number | {
212
- bottom?: number;
213
- top?: number;
214
- right?: number;
215
- left?: number;
216
- };
217
- type CellDefaults = {
218
- color?: string;
219
- backgroundColor?: string;
220
- horizontalAlignment?: 'left' | 'center' | 'right' | 'justify';
221
- verticalAlignment?: 'top' | 'middle' | 'bottom';
222
- font?: TableFontConfig;
223
- borderColor?: BorderColor;
224
- borderSize?: BorderSize;
225
- padding?: Padding;
226
- height?: number;
227
- };
228
- type HideBorders = boolean | {
229
- top?: boolean;
230
- right?: boolean;
231
- bottom?: boolean;
232
- left?: boolean;
233
- insideHorizontal?: boolean;
234
- insideVertical?: boolean;
235
- };
236
- type TableConfig = {
237
- borderColor?: BorderColor;
238
- borderSize?: BorderSize;
239
- hideBorders?: HideBorders;
240
- cellDefaults?: CellDefaults;
241
- headerCellDefaults?: CellDefaults;
242
- width?: number;
243
- columns: {
244
- /** Width in points (number) or as percentage string e.g. "40%" */
245
- width?: number | string;
246
- cellDefaults?: CellDefaults;
247
- header?: CellDefaults & {
248
- comment?: Comment;
249
- revision?: Revision;
250
- content?: string | ComponentDefinition;
251
- };
252
- cells?: (CellDefaults & {
253
- comment?: Comment;
254
- revision?: Revision;
255
- content?: string | ComponentDefinition;
256
- })[];
257
- }[];
258
- /** Row-parallel properties, indexed like `columns[].cells`. */
259
- rows?: {
260
- revision?: RevisionMark;
261
- cantSplit?: boolean;
262
- tableHeader?: boolean;
263
- }[];
264
- keepInOnePage?: boolean;
265
- keepNext?: boolean;
266
- repeatHeaderOnPageBreak?: boolean;
267
- };
268
- export declare function createTable(columns: TableConfig['columns'], tableConfig: TableConfig, theme: ThemeConfig, themeName: string, _options?: TableOptions): Promise<Table>;
269
- /**
270
- * Create header element from content
271
- */
272
- export declare function createHeaderElement(children: (Paragraph | Table)[], _options?: {
273
- position?: 'left' | 'center' | 'right';
274
- }): Header;
275
- /**
276
- * Create footer element from content
277
- */
278
- export declare function createFooterElement(children: (Paragraph | Table)[], _options?: {
279
- position?: 'left' | 'center' | 'right';
280
- }): Footer;
281
- /**
282
- * Create page number element
283
- */
284
- export declare function createPageNumberElement(format?: string, alignment?: 'left' | 'center' | 'right'): Paragraph;
285
- /**
286
- * Create mixed content paragraph with text and image elements
287
- */
288
- export declare function createMixedContentParagraph(textContent: string, textOptions: {
289
- fontSize?: number;
290
- color?: string;
291
- bold?: boolean;
292
- italic?: boolean;
293
- }, imagePath?: string, imageOptions?: {
294
- width?: number;
295
- height?: number;
296
- }, alignment?: 'left' | 'center' | 'right', theme?: import('../styles').ThemeConfig): Promise<Paragraph>;
297
- /**
298
- * Create a table specifically for headers/footers with custom styling
299
- */
300
- export declare function createHeaderFooterTable(rows: (string | ComponentDefinition)[][], options?: {
301
- cellAlignments?: ('left' | 'center' | 'right')[];
302
- fontSize?: number;
303
- bold?: boolean;
304
- color?: string;
305
- noBorders?: boolean;
306
- cellStyling?: {
307
- [rowIndex: number]: {
308
- [cellIndex: number]: {
309
- bold?: boolean;
310
- color?: string;
311
- fontSize?: number;
312
- };
313
- };
314
- };
315
- theme?: ThemeConfig;
316
- themeName?: string;
317
- }): Promise<Table>;
318
- export {};
319
- //# sourceMappingURL=content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/core/content.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,SAAS,EAET,KAAK,EAQL,MAAM,EACN,MAAM,EAKP,MAAM,MAAM,CAAC;AAWd,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAyBxC,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EAKpB,MAAM,UAAU,CAAC;AAoDlB,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EACR,MAAM,GACN;QACE,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAGrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAEzD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE;QACT,kBAAkB,CAAC,EAAE;YACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;YACtC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SAC1B,CAAC;QACF,gBAAgB,CAAC,EAAE;YACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;YACtC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;YACtE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SAC1B,CAAC;QACF,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;SACtE,CAAC;QACF,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;QACtD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;KACjE,EAAE,CAAC;IAGJ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAGpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,SAAS,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,kBAAkB,CAAC,EAAE;YACnB,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;YAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SAC1B,CAAC;QACF,gBAAgB,CAAC,EAAE;YACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;YAC7D,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;YAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SAC1B,CAAC;QACF,IAAI,CAAC,EAAE;YAEL,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;YAC1E,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;YAClD,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;gBACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;aACzB,CAAC;SACH,CAAC;QACF,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KACnC,CAAC;IAEF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAE1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAqDD;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,WAAgB,GACxB,SAAS,CA0KX;AAuFD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,SAAS,CA+LX;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,SAAS,EAAE,CA6Bb;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,SAAS,EAAE,CAAC,CAgJtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,EAAE,CAkBb;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,CACH,MAAM,GACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,CACrE,EAAE,EACH,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,SAAS,EAAE,CA0Gb;AAED;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,WAAW,GACZ,MAAM,GACN;IACE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,KAAK,UAAU,GACX,MAAM,GACN;IACE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,KAAK,OAAO,GACR,MAAM,GACN;IACE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9D,iBAAiB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAgBF,KAAK,WAAW,GACZ,OAAO,GACP;IACE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEN,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,kEAAkE;QAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,MAAM,CAAC,EAAE,YAAY,GAAG;YACtB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;SACxC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG;YACtB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;SACxC,CAAC,EAAE,CAAC;KACN,EAAE,CAAC;IACJ,+DAA+D;IAC/D,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EAAE,CAAC;IACJ,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,EAC/B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,YAAiB,GAC1B,OAAO,CAAC,KAAK,CAAC,CA6pChB;AA4CD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,EAC/B,QAAQ,CAAC,EAAE;IACT,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxC,GACA,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,EAC/B,QAAQ,CAAC,EAAE;IACT,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxC,GACA,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GACtC,SAAS,CAmBX;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,EACD,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EACvC,KAAK,CAAC,EAAE,OAAO,WAAW,EAAE,WAAW,GACtC,OAAO,CAAC,SAAS,CAAC,CA8DpB;AAED;;GAEG;AAEH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,CAAC,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,EACxC,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,CAAC,QAAQ,EAAE,MAAM,GAAG;YAClB,CAAC,SAAS,EAAE,MAAM,GAAG;gBACnB,IAAI,CAAC,EAAE,OAAO,CAAC;gBACf,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,QAAQ,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC;SACH,CAAC;KACH,CAAC;IACF,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,KAAK,CAAC,CAiMhB"}