@json-to-office/core-docx 2.5.0 → 2.6.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.
@@ -4,6 +4,7 @@ import type { ReportComponentDefinition } from '../types';
4
4
  import type { ThemeConfig } from '../styles';
5
5
  import { type GenerationThemeContext } from '../core/generationContext';
6
6
  import { type ResolvedDocumentTree } from '../core/structure';
7
+ import { type BlockName, type BlockSourceMap } from '../blocks';
7
8
  export interface DocxTableWidthFact extends QualityFact {
8
9
  kind: 'docx/table-width';
9
10
  totalWidthTwips: number;
@@ -161,6 +162,17 @@ export interface DocxFontFact extends QualityFact {
161
162
  kind: 'docx/font-family';
162
163
  family: string;
163
164
  }
165
+ /**
166
+ * One text slot of a block, counted against the budget the block declares.
167
+ * The path is the authored slot, so a finding lands where the author writes.
168
+ */
169
+ export interface DocxBlockSlotFact extends QualityFact {
170
+ kind: 'docx/block-slot';
171
+ block: BlockName;
172
+ slot: string;
173
+ words: number;
174
+ maxWords: number;
175
+ }
164
176
  /** One authored string that reads as a placeholder rather than as content. */
165
177
  export interface DocxPlaceholderFact extends QualityFact {
166
178
  kind: 'docx/placeholder';
@@ -169,13 +181,23 @@ export interface DocxPlaceholderFact extends QualityFact {
169
181
  pattern: string;
170
182
  excerpt: string;
171
183
  }
172
- export type DocxQualityFact = DocxTableWidthFact | DocxHeadingFact | DocxFrameTextFact | DocxSvgTextFact | DocxLineBoxFact | DocxPlaceholderFact | DocxThemeFact | DocxColorFact | DocxFontFact | DocxChartFact | DocxTableFact;
184
+ export type DocxQualityFact = DocxTableWidthFact | DocxHeadingFact | DocxFrameTextFact | DocxSvgTextFact | DocxLineBoxFact | DocxPlaceholderFact | DocxBlockSlotFact | DocxThemeFact | DocxColorFact | DocxFontFact | DocxChartFact | DocxTableFact;
173
185
  export interface DocxQualityModel {
174
186
  authored: ReportComponentDefinition;
187
+ /** Theme context over the expanded tree: every block lowered in place. */
175
188
  context: GenerationThemeContext;
176
189
  document: ResolvedDocumentTree;
177
190
  themeName: string;
178
191
  }
192
+ /** What `PreparedDocument.metadata.blocks` carries once a block expanded. */
193
+ export interface DocxBlocksMetadata {
194
+ /** Expanded pointer → authored pointer, for every compiled region. */
195
+ sourceMap: BlockSourceMap;
196
+ /** Authored pointers of the expanded blocks. */
197
+ blocks: readonly string[];
198
+ /** The compiled form: the document with every block lowered in place. */
199
+ document: ReportComponentDefinition;
200
+ }
179
201
  export interface PrepareDocxQualityOptions {
180
202
  customThemes?: Record<string, ThemeConfig>;
181
203
  fonts?: FontRuntimeOpts;
@@ -1 +1 @@
1
- {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/quality/facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/quality/facts.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@ export declare const docxLineBoxRule: QualityRule<DocxQualityModel, DocxQualityF
14
14
  * generation, filler only advises.
15
15
  */
16
16
  export declare const docxPlaceholderRule: QualityRule<DocxQualityModel, DocxQualityFact>;
17
+ /**
18
+ * A block slot holds a bounded amount of text, and the bound is the block's,
19
+ * not the theme's: a takeaway is one claim in one sentence whatever it is set
20
+ * in. Reported at the authored slot, so the repair is a rewrite of that item.
21
+ */
22
+ export declare const docxSlotBudgetRule: QualityRule<DocxQualityModel, DocxQualityFact>;
17
23
  /** Every family the document can paint: the theme's roles plus authored ones. */
18
24
  export declare const docxFontCountRule: QualityRule<DocxQualityModel, DocxQualityFact>;
19
25
  /** A literal colour the resolved theme does not define. */
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/quality/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,aAAa,EAGb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAQV,eAAe,EACf,gBAAgB,EAMjB,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAC1C,gBAAgB,EAChB,eAAe,CA6DhB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAChD,gBAAgB,EAChB,eAAe,CAuChB,CAAC;AAsBF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAwF1E,CAAC;AA+BF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAC9C,gBAAgB,EAChB,eAAe,CA6HhB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAC7C,gBAAgB,EAChB,eAAe,CAqChB,CAAC;AAsBF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CA8D1E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAC3C,gBAAgB,EAChB,eAAe,CAqBhB,CAAC;AAIF,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAoC1E,CAAC;AAEJ,2DAA2D;AAC3D,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CA0B1E,CAAC;AAUF,kFAAkF;AAClF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAiCxE,CAAC;AAqBF,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAC3C,gBAAgB,EAChB,eAAe,CA0BhB,CAAC;AA2CF,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,gBAAgB,EAChB,eAAe,CAgBhB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAmBiB,CAAC;AAEpD,eAAO,MAAM,4BAA4B,EAAE,cACA,CAAC;AAK5C;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,cAAc,GAAG,SAAS,GACpC,cAAc,GAAG,SAAS,CAK5B;AAED,eAAO,MAAM,iBAAiB,kDAA8C,CAAC"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/quality/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,aAAa,EAGb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EASV,eAAe,EACf,gBAAgB,EAMjB,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAC1C,gBAAgB,EAChB,eAAe,CA6DhB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAChD,gBAAgB,EAChB,eAAe,CAuChB,CAAC;AAsBF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAwF1E,CAAC;AA+BF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAC9C,gBAAgB,EAChB,eAAe,CA6HhB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAC7C,gBAAgB,EAChB,eAAe,CAqChB,CAAC;AAsBF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CA8D1E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAC3C,gBAAgB,EAChB,eAAe,CAqBhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAC1C,gBAAgB,EAChB,eAAe,CA6BhB,CAAC;AAIF,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAoC1E,CAAC;AAEJ,2DAA2D;AAC3D,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CA0B1E,CAAC;AAUF,kFAAkF;AAClF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAiCxE,CAAC;AAqBF,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAC3C,gBAAgB,EAChB,eAAe,CA0BhB,CAAC;AA2CF,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,gBAAgB,EAChB,eAAe,CAiBhB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAmBiB,CAAC;AAEpD,eAAO,MAAM,4BAA4B,EAAE,cACA,CAAC;AAK5C;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,cAAc,GAAG,SAAS,GACpC,cAAc,GAAG,SAAS,CAK5B;AAED,eAAO,MAAM,iBAAiB,kDAA8C,CAAC"}
@@ -7,7 +7,7 @@ export { themes, getTheme, getThemeNames, getThemeWithFallback, hasTheme, isVali
7
7
  export type { ThemeName } from '../templates/themes';
8
8
  export { getBodyTextStyle } from './utils/styleHelpers';
9
9
  export { getTableStyle, getDocumentMargins, getPageSetup, getPageDimensions, PAGE_SIZES, } from './utils/layoutUtils';
10
- export { minimalTheme, devportalTheme, vermilionTheme, } from '../templates/themes';
10
+ export { minimalTheme, devportalTheme, vermilionTheme, consultingTheme, } from '../templates/themes';
11
11
  export { ThemeConfigSchema, isValidThemeConfig, loadThemeFromJson, loadThemeFromFile, exportThemeToJson, validateThemeJsonString, ThemeValidationError, ThemeParseError, ThemeFileError, } from '../themes/json';
12
12
  export type { ThemeConfigJson } from '../themes/json';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,eAAe,IAAI,WAAW,EAC9B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,eAAe,IAAI,WAAW,EAC9B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,307 @@
1
+ {
2
+ "name": "consulting",
3
+ "displayName": "Consulting House",
4
+ "description": "The house style for client and technical reports — near-black ink, three greys and one deep-blue accent, Calibri body under Arial headings, hairline rules, no fills behind body text, safe fonts only",
5
+ "version": "1.0.0",
6
+ "colors": {
7
+ "primary": "#1A1F26",
8
+ "secondary": "#4B5563",
9
+ "accent": "#1B4F8A",
10
+ "text": "#1A1F26",
11
+ "background": "#FFFFFF",
12
+ "border": "#C9CED6",
13
+ "textPrimary": "#1A1F26",
14
+ "textSecondary": "#4B5563",
15
+ "textMuted": "#7B8794",
16
+ "borderPrimary": "#C9CED6",
17
+ "borderSecondary": "#E4E7EB",
18
+ "backgroundPrimary": "#FFFFFF",
19
+ "backgroundSecondary": "#F2F4F7",
20
+ "accent4": "#5B8DC9",
21
+ "accent5": "#A9C4E4",
22
+ "accent6": "#7B8794"
23
+ },
24
+ "palette": {
25
+ "rule": "#C9CED6",
26
+ "textMuted": "#7B8794",
27
+ "onPrimary": "#FFFFFF",
28
+ "surfaceInverse": "#1A1F26",
29
+ "positive": "#1E7F4F",
30
+ "negative": "#B42318",
31
+ "chart": ["accent", "secondary", "accent4", "textMuted", "accent5", "rule"]
32
+ },
33
+ "fonts": {
34
+ "heading": { "family": "Arial", "size": 16 },
35
+ "body": { "family": "Calibri", "size": 10.5 },
36
+ "mono": { "family": "Consolas", "size": 9.5 },
37
+ "light": { "family": "Arial", "size": 16 }
38
+ },
39
+ "page": {
40
+ "size": "A4",
41
+ "margins": {
42
+ "top": 1440,
43
+ "bottom": 1440,
44
+ "left": 1440,
45
+ "right": 1440,
46
+ "header": 680,
47
+ "footer": 680,
48
+ "gutter": 0
49
+ }
50
+ },
51
+ "typography": {
52
+ "roles": {
53
+ "eyebrow": {
54
+ "face": "heading",
55
+ "size": 8,
56
+ "weight": 700,
57
+ "case": "upper",
58
+ "tracking": 8,
59
+ "color": "accent",
60
+ "spaceAfter": 4
61
+ },
62
+ "display": {
63
+ "face": "heading",
64
+ "weight": 700,
65
+ "color": "primary",
66
+ "lineHeight": 1.05,
67
+ "spaceAfter": 8
68
+ },
69
+ "stat": {
70
+ "face": "heading",
71
+ "weight": 700,
72
+ "color": "accent",
73
+ "lineHeight": 1
74
+ },
75
+ "quote": {
76
+ "face": "body",
77
+ "color": "textSecondary",
78
+ "lineHeight": 1.3
79
+ },
80
+ "label": {
81
+ "face": "body",
82
+ "size": 9,
83
+ "weight": 700,
84
+ "color": "textSecondary"
85
+ },
86
+ "footer": { "face": "body", "size": 8, "color": "textMuted" },
87
+ "tableHeader": {
88
+ "face": "body",
89
+ "size": 9,
90
+ "weight": 700,
91
+ "color": "primary"
92
+ },
93
+ "tableCell": { "face": "body", "size": 9.5, "color": "textPrimary" },
94
+ "chartLabel": {
95
+ "face": "body",
96
+ "size": 9,
97
+ "weight": 400,
98
+ "color": "textSecondary"
99
+ },
100
+ "tracker": {
101
+ "face": "body",
102
+ "size": 8,
103
+ "case": "upper",
104
+ "tracking": 6,
105
+ "color": "textMuted"
106
+ },
107
+ "source": { "face": "body", "size": 8, "color": "textMuted" }
108
+ },
109
+ "scale": {
110
+ "a4": { "base": 10.5, "ratio": 1.2, "baselinePt": 2 },
111
+ "letter": { "base": 10.5, "ratio": 1.2, "baselinePt": 2 }
112
+ }
113
+ },
114
+ "spacing": {
115
+ "basePt": 8,
116
+ "blockGap": { "tight": 4, "normal": 8, "loose": 16 },
117
+ "canvas": {
118
+ "a4": { "safeAreaIn": 1, "gutterIn": 0, "columns": 12 },
119
+ "letter": { "safeAreaIn": 1, "gutterIn": 0, "columns": 12 }
120
+ }
121
+ },
122
+ "chrome": {
123
+ "runningHead": {
124
+ "type": "tracker",
125
+ "color": "textMuted",
126
+ "rule": { "weightPt": 0.5, "color": "rule" },
127
+ "alignment": "right"
128
+ },
129
+ "tracker": {
130
+ "type": "tracker",
131
+ "color": "textMuted",
132
+ "alignment": "right"
133
+ },
134
+ "actionTitle": { "type": "display", "color": "primary" },
135
+ "keyTakeaways": {
136
+ "type": "label",
137
+ "color": "primary",
138
+ "rule": { "weightPt": 2, "color": "accent" },
139
+ "padPt": 8
140
+ },
141
+ "sourceLine": { "type": "source", "color": "textMuted" },
142
+ "confidentialFooter": {
143
+ "type": "footer",
144
+ "color": "textMuted",
145
+ "rule": { "weightPt": 0.5, "color": "rule" },
146
+ "alignment": "left"
147
+ },
148
+ "logoSlot": { "alignment": "right" },
149
+ "cover": {
150
+ "type": "display",
151
+ "color": "primary",
152
+ "rule": { "weightPt": 3, "color": "accent" }
153
+ }
154
+ },
155
+ "motif": {
156
+ "kind": "rule",
157
+ "color": "accent",
158
+ "weightPt": 3,
159
+ "placement": "top"
160
+ },
161
+ "styles": {
162
+ "normal": {
163
+ "font": "body",
164
+ "color": "textPrimary",
165
+ "lineSpacing": { "type": "multiple", "value": 1.2 },
166
+ "alignment": "left",
167
+ "spacing": { "after": 8 }
168
+ },
169
+ "title": {
170
+ "font": "heading",
171
+ "size": 26,
172
+ "bold": true,
173
+ "color": "primary",
174
+ "alignment": "left",
175
+ "lineSpacing": { "type": "multiple", "value": 1.05 },
176
+ "spacing": { "before": 0, "after": 6 }
177
+ },
178
+ "subtitle": {
179
+ "font": "body",
180
+ "size": 13,
181
+ "color": "textSecondary",
182
+ "alignment": "left",
183
+ "lineSpacing": { "type": "multiple", "value": 1.2 },
184
+ "spacing": { "before": 0, "after": 18 }
185
+ },
186
+ "heading1": {
187
+ "font": "heading",
188
+ "size": 16,
189
+ "bold": true,
190
+ "color": "primary",
191
+ "lineSpacing": { "type": "multiple", "value": 1.1 },
192
+ "spacing": { "before": 24, "after": 8 },
193
+ "keepNext": true,
194
+ "alignment": "left",
195
+ "borders": {
196
+ "bottom": { "style": "single", "size": 4, "color": "rule", "space": 4 }
197
+ }
198
+ },
199
+ "heading2": {
200
+ "font": "heading",
201
+ "size": 12.5,
202
+ "bold": true,
203
+ "color": "primary",
204
+ "spacing": { "before": 16, "after": 6 },
205
+ "keepNext": true,
206
+ "alignment": "left"
207
+ },
208
+ "heading3": {
209
+ "font": "body",
210
+ "size": 11,
211
+ "bold": true,
212
+ "color": "primary",
213
+ "spacing": { "before": 12, "after": 4 },
214
+ "keepNext": true,
215
+ "alignment": "left"
216
+ },
217
+ "heading4": {
218
+ "font": "body",
219
+ "size": 10.5,
220
+ "bold": true,
221
+ "color": "textSecondary",
222
+ "spacing": { "before": 10, "after": 4 },
223
+ "keepNext": true,
224
+ "alignment": "left"
225
+ },
226
+ "heading5": {
227
+ "font": "body",
228
+ "size": 10.5,
229
+ "bold": false,
230
+ "italic": true,
231
+ "color": "textSecondary",
232
+ "spacing": { "before": 8, "after": 4 },
233
+ "keepNext": true,
234
+ "alignment": "left"
235
+ },
236
+ "heading6": {
237
+ "font": "body",
238
+ "size": 9,
239
+ "bold": true,
240
+ "case": "upper",
241
+ "color": "textMuted",
242
+ "characterSpacing": { "type": "expanded", "value": 20 },
243
+ "spacing": { "before": 8, "after": 4 },
244
+ "keepNext": true,
245
+ "alignment": "left"
246
+ },
247
+ "TOC1": {
248
+ "font": "body",
249
+ "size": 10.5,
250
+ "bold": true,
251
+ "color": "textPrimary",
252
+ "spacing": { "before": 4, "after": 3 },
253
+ "tabStops": [{ "type": "right", "position": 9026, "leader": "none" }]
254
+ },
255
+ "TOC2": {
256
+ "font": "body",
257
+ "size": 10.5,
258
+ "color": "textSecondary",
259
+ "indent": { "left": 240 },
260
+ "spacing": { "after": 2 },
261
+ "tabStops": [{ "type": "right", "position": 9026, "leader": "none" }]
262
+ },
263
+ "TOC3": {
264
+ "font": "body",
265
+ "size": 10,
266
+ "color": "textMuted",
267
+ "indent": { "left": 480 },
268
+ "spacing": { "after": 2 },
269
+ "tabStops": [{ "type": "right", "position": 9026, "leader": "none" }]
270
+ }
271
+ },
272
+ "componentDefaults": {
273
+ "table": {
274
+ "width": 100,
275
+ "borderColor": "#C9CED6",
276
+ "borderSize": 0.5,
277
+ "hideBorders": { "left": true, "right": true, "insideVertical": true },
278
+ "cellDefaults": {
279
+ "font": { "size": 9.5 },
280
+ "padding": { "top": 4, "bottom": 4 },
281
+ "verticalAlignment": "middle"
282
+ },
283
+ "headerCellDefaults": {
284
+ "color": "#1A1F26",
285
+ "font": { "size": 9, "bold": true },
286
+ "padding": { "top": 0, "bottom": 5 },
287
+ "verticalAlignment": "bottom",
288
+ "borderColor": { "bottom": "#1A1F26" },
289
+ "borderSize": { "bottom": 0.75 }
290
+ }
291
+ },
292
+ "list": {
293
+ "format": "bullet",
294
+ "bullet": "•",
295
+ "spacing": { "item": 2 }
296
+ },
297
+ "image": {
298
+ "alignment": "center"
299
+ },
300
+ "statistic": {
301
+ "alignment": "left"
302
+ },
303
+ "section": {
304
+ "pageBreak": false
305
+ }
306
+ }
307
+ }