@json-to-office/shared-docx 0.7.0 → 0.9.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 (51) hide show
  1. package/dist/{chunk-SK6LSPFN.js → chunk-25SAKHVN.js} +2 -2
  2. package/dist/{chunk-VP3X6DBP.js → chunk-7GGTZ4TA.js} +2 -1
  3. package/dist/chunk-7GGTZ4TA.js.map +1 -0
  4. package/dist/{chunk-22VYYAC2.js → chunk-7LRSVYGN.js} +7 -5
  5. package/dist/{chunk-22VYYAC2.js.map → chunk-7LRSVYGN.js.map} +1 -1
  6. package/dist/{chunk-OE5JFL7S.js → chunk-ANU2V2BM.js} +9 -7
  7. package/dist/{chunk-OE5JFL7S.js.map → chunk-ANU2V2BM.js.map} +1 -1
  8. package/dist/chunk-BFJJ5HYD.js +645 -0
  9. package/dist/chunk-BFJJ5HYD.js.map +1 -0
  10. package/dist/{chunk-V4L4S6ZS.js → chunk-CIBMJ7QA.js} +2 -2
  11. package/dist/{chunk-JOXJOD2C.js → chunk-H56RLQOF.js} +10 -2
  12. package/dist/chunk-H56RLQOF.js.map +1 -0
  13. package/dist/{chunk-ABVYMFDA.js → chunk-IHZIO72A.js} +2 -2
  14. package/dist/{chunk-6SLVQATI.js → chunk-VBZC5WT6.js} +2 -2
  15. package/dist/{chunk-L5TZFC47.js → chunk-YK2UUG65.js} +5 -43
  16. package/dist/chunk-YK2UUG65.js.map +1 -0
  17. package/dist/chunk-YUV5CJMG.js +1346 -0
  18. package/dist/chunk-YUV5CJMG.js.map +1 -0
  19. package/dist/{chunk-YQECZGRR.js → chunk-ZQNAWKEI.js} +2 -2
  20. package/dist/index.d.ts +224 -1
  21. package/dist/index.js +18 -16
  22. package/dist/index.js.map +1 -1
  23. package/dist/schemas/api.js +5 -4
  24. package/dist/schemas/component-defaults.d.ts +452 -0
  25. package/dist/schemas/component-defaults.js +24 -0
  26. package/dist/schemas/component-defaults.js.map +1 -0
  27. package/dist/schemas/component-registry.js +3 -2
  28. package/dist/schemas/components.d.ts +442 -0
  29. package/dist/schemas/components.js +14 -12
  30. package/dist/schemas/custom-components.d.ts +3 -0
  31. package/dist/schemas/custom-components.js +1 -1
  32. package/dist/schemas/document.js +7 -6
  33. package/dist/schemas/export.js +4 -3
  34. package/dist/schemas/font.d.ts +2 -0
  35. package/dist/schemas/font.js +1 -1
  36. package/dist/schemas/generator.js +4 -3
  37. package/dist/schemas/theme.d.ts +45 -444
  38. package/dist/schemas/theme.js +13 -13
  39. package/dist/validation/unified/index.d.ts +228 -0
  40. package/dist/validation/unified/index.js +8 -7
  41. package/package.json +2 -2
  42. package/dist/chunk-JOXJOD2C.js.map +0 -1
  43. package/dist/chunk-L5TZFC47.js.map +0 -1
  44. package/dist/chunk-PN6JT3KF.js +0 -1926
  45. package/dist/chunk-PN6JT3KF.js.map +0 -1
  46. package/dist/chunk-VP3X6DBP.js.map +0 -1
  47. /package/dist/{chunk-SK6LSPFN.js.map → chunk-25SAKHVN.js.map} +0 -0
  48. /package/dist/{chunk-V4L4S6ZS.js.map → chunk-CIBMJ7QA.js.map} +0 -0
  49. /package/dist/{chunk-ABVYMFDA.js.map → chunk-IHZIO72A.js.map} +0 -0
  50. /package/dist/{chunk-6SLVQATI.js.map → chunk-VBZC5WT6.js.map} +0 -0
  51. /package/dist/{chunk-YQECZGRR.js.map → chunk-ZQNAWKEI.js.map} +0 -0
@@ -1,25 +1,25 @@
1
1
  import {
2
- ColumnsComponentDefaultsSchema,
3
- ComponentDefaultsSchema,
4
2
  DocumentMarginsSchema,
5
3
  FontsSchema,
6
- HeadingComponentDefaultsSchema,
7
4
  HeadingDefinitionSchema,
8
- ImageComponentDefaultsSchema,
9
- ListComponentDefaultsSchema,
10
5
  PageDimensionsSchema,
11
6
  PageSchema,
12
- ParagraphComponentDefaultsSchema,
13
- SectionComponentDefaultsSchema,
14
- StatisticComponentDefaultsSchema,
15
7
  StyleDefinitionsSchema,
16
- TableComponentDefaultsSchema,
17
8
  ThemeConfigSchema,
18
9
  isValidThemeConfig
19
- } from "../chunk-L5TZFC47.js";
20
- import "../chunk-YQECZGRR.js";
21
- import "../chunk-PN6JT3KF.js";
22
- import "../chunk-JOXJOD2C.js";
10
+ } from "../chunk-YK2UUG65.js";
11
+ import {
12
+ ColumnsComponentDefaultsSchema,
13
+ ComponentDefaultsSchema,
14
+ HeadingComponentDefaultsSchema,
15
+ ImageComponentDefaultsSchema,
16
+ ListComponentDefaultsSchema,
17
+ ParagraphComponentDefaultsSchema,
18
+ SectionComponentDefaultsSchema,
19
+ StatisticComponentDefaultsSchema,
20
+ TableComponentDefaultsSchema
21
+ } from "../chunk-YUV5CJMG.js";
22
+ import "../chunk-H56RLQOF.js";
23
23
  export {
24
24
  ColumnsComponentDefaultsSchema,
25
25
  ComponentDefaultsSchema,
@@ -9,6 +9,7 @@ import { ThemeConfigSchema } from '../../schemas/theme.js';
9
9
  import { ColumnsPropsSchema, HeadingPropsSchema, ImagePropsSchema, ListPropsSchema, ParagraphPropsSchema, ReportPropsSchema, SectionPropsSchema, StatisticPropsSchema, TablePropsSchema } from '../../schemas/components.js';
10
10
  import { CustomComponentDefinitionSchema } from '../../schemas/custom-components.js';
11
11
  import '../../schemas/font.js';
12
+ import '../../schemas/component-defaults.js';
12
13
 
13
14
  /**
14
15
  * Theme validation implementation
@@ -111,6 +112,230 @@ declare function getValidationSummary(result: ValidationResult): string;
111
112
  declare const COMPONENT_SCHEMA_MAP: {
112
113
  readonly report: _sinclair_typebox.TObject<{
113
114
  theme: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
115
+ componentDefaults: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
116
+ heading: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
117
+ text: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
118
+ level: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<1>, _sinclair_typebox.TLiteral<2>, _sinclair_typebox.TLiteral<3>, _sinclair_typebox.TLiteral<4>, _sinclair_typebox.TLiteral<5>, _sinclair_typebox.TLiteral<6>]>>;
119
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
120
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
121
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
122
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
123
+ fontWeight: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
124
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
125
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
126
+ lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
127
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"single">, _sinclair_typebox.TLiteral<"atLeast">, _sinclair_typebox.TLiteral<"exactly">, _sinclair_typebox.TLiteral<"double">, _sinclair_typebox.TLiteral<"multiple">]>;
128
+ value: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
129
+ }>>;
130
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
131
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
132
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
133
+ }>>;
134
+ characterSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
135
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"condensed">, _sinclair_typebox.TLiteral<"expanded">]>;
136
+ value: _sinclair_typebox.TNumber;
137
+ }>>;
138
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
139
+ }>>;
140
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
141
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
142
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
143
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
144
+ }>>;
145
+ lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
146
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"single">, _sinclair_typebox.TLiteral<"atLeast">, _sinclair_typebox.TLiteral<"exactly">, _sinclair_typebox.TLiteral<"double">, _sinclair_typebox.TLiteral<"multiple">]>;
147
+ value: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
148
+ }>]>>;
149
+ pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
150
+ columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
151
+ numbering: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
152
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
153
+ keepLines: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
154
+ }>>;
155
+ paragraph: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
156
+ text: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
157
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
158
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
159
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
160
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
161
+ fontWeight: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
162
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
163
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
164
+ lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
165
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"single">, _sinclair_typebox.TLiteral<"atLeast">, _sinclair_typebox.TLiteral<"exactly">, _sinclair_typebox.TLiteral<"double">, _sinclair_typebox.TLiteral<"multiple">]>;
166
+ value: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
167
+ }>>;
168
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
169
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
170
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
171
+ }>>;
172
+ characterSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
173
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"condensed">, _sinclair_typebox.TLiteral<"expanded">]>;
174
+ value: _sinclair_typebox.TNumber;
175
+ }>>;
176
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
177
+ }>>;
178
+ themeStyle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
179
+ boldColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
180
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
181
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
182
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
183
+ }>>;
184
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
185
+ pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
186
+ columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
187
+ floating: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
188
+ horizontalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
189
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"text">]>>;
190
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
191
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
192
+ }>>;
193
+ verticalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
194
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"text">]>>;
195
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"bottom">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
196
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
197
+ }>>;
198
+ wrap: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
199
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"around">, _sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"notBeside">, _sinclair_typebox.TLiteral<"through">, _sinclair_typebox.TLiteral<"tight">, _sinclair_typebox.TLiteral<"auto">]>;
200
+ }>>;
201
+ lockAnchor: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
202
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
203
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
204
+ }>>;
205
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
206
+ keepLines: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
207
+ id: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
208
+ }>>;
209
+ image: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
210
+ path: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
211
+ base64: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
212
+ alt: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
213
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
214
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
215
+ widthRelativeTo: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"content">, _sinclair_typebox.TLiteral<"page">]>>;
216
+ heightRelativeTo: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"content">, _sinclair_typebox.TLiteral<"page">]>>;
217
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">]>>;
218
+ caption: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
219
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
220
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
221
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
222
+ }>>;
223
+ floating: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
224
+ horizontalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
225
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"character">, _sinclair_typebox.TLiteral<"column">, _sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"text">]>>;
226
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
227
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
228
+ }>>;
229
+ verticalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
230
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"paragraph">, _sinclair_typebox.TLiteral<"line">, _sinclair_typebox.TLiteral<"text">]>>;
231
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"bottom">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
232
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
233
+ }>>;
234
+ wrap: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
235
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"square">, _sinclair_typebox.TLiteral<"topAndBottom">, _sinclair_typebox.TLiteral<"around">, _sinclair_typebox.TLiteral<"tight">, _sinclair_typebox.TLiteral<"through">]>;
236
+ side: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"bothSides">, _sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"largest">]>>;
237
+ margins: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
238
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
239
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
240
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
241
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
242
+ }>>;
243
+ }>>;
244
+ allowOverlap: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
245
+ behindDocument: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
246
+ lockAnchor: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
247
+ layoutInCell: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
248
+ zIndex: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
249
+ rotation: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
250
+ visibility: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"hidden">, _sinclair_typebox.TLiteral<"inherit">]>>;
251
+ }>>;
252
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
253
+ keepLines: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
254
+ }>>;
255
+ statistic: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
256
+ number: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
257
+ description: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
258
+ unit: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
259
+ format: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
260
+ trend: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"up">, _sinclair_typebox.TLiteral<"down">, _sinclair_typebox.TLiteral<"neutral">]>>;
261
+ trendValue: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TNumber]>>;
262
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">]>>;
263
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
264
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
265
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
266
+ }>>;
267
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"small">, _sinclair_typebox.TLiteral<"medium">, _sinclair_typebox.TLiteral<"large">]>>;
268
+ }>>;
269
+ table: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{}>>;
270
+ section: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
271
+ title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
272
+ level: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
273
+ header: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TArray<TSchema | _sinclair_typebox.TAny>, _sinclair_typebox.TLiteral<"linkToPrevious">]>>;
274
+ footer: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TArray<TSchema | _sinclair_typebox.TAny>, _sinclair_typebox.TLiteral<"linkToPrevious">]>>;
275
+ pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
276
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
277
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
278
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
279
+ }>>;
280
+ page: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
281
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"A4">, _sinclair_typebox.TLiteral<"A3">, _sinclair_typebox.TLiteral<"LETTER">, _sinclair_typebox.TLiteral<"LEGAL">, _sinclair_typebox.TObject<{
282
+ width: _sinclair_typebox.TNumber;
283
+ height: _sinclair_typebox.TNumber;
284
+ }>]>>;
285
+ margins: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
286
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
287
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
288
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
289
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
290
+ header: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
291
+ footer: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
292
+ gutter: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
293
+ }>>;
294
+ }>>;
295
+ }>>;
296
+ columns: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
297
+ columns: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TArray<_sinclair_typebox.TObject<{
298
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString, _sinclair_typebox.TLiteral<"auto">]>>;
299
+ gap: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
300
+ }>>]>>;
301
+ gap: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
302
+ }>>;
303
+ list: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
304
+ items: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
305
+ text: _sinclair_typebox.TString;
306
+ level: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
307
+ }>]>>>;
308
+ reference: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
309
+ levels: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TObject<{
310
+ level: _sinclair_typebox.TNumber;
311
+ format: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"decimal">, _sinclair_typebox.TLiteral<"upperRoman">, _sinclair_typebox.TLiteral<"lowerRoman">, _sinclair_typebox.TLiteral<"upperLetter">, _sinclair_typebox.TLiteral<"lowerLetter">, _sinclair_typebox.TLiteral<"bullet">, _sinclair_typebox.TLiteral<"ordinal">, _sinclair_typebox.TLiteral<"cardinalText">, _sinclair_typebox.TLiteral<"ordinalText">, _sinclair_typebox.TLiteral<"hex">, _sinclair_typebox.TLiteral<"chicago">, _sinclair_typebox.TLiteral<"ideographDigital">, _sinclair_typebox.TLiteral<"japaneseCounting">, _sinclair_typebox.TLiteral<"aiueo">, _sinclair_typebox.TLiteral<"iroha">, _sinclair_typebox.TLiteral<"decimalFullWidth">, _sinclair_typebox.TLiteral<"decimalHalfWidth">, _sinclair_typebox.TLiteral<"japaneseLegal">, _sinclair_typebox.TLiteral<"japaneseDigitalTenThousand">, _sinclair_typebox.TLiteral<"decimalEnclosedCircle">, _sinclair_typebox.TLiteral<"decimalFullWidth2">, _sinclair_typebox.TLiteral<"aiueoFullWidth">, _sinclair_typebox.TLiteral<"irohaFullWidth">, _sinclair_typebox.TLiteral<"decimalZero">, _sinclair_typebox.TLiteral<"ganada">, _sinclair_typebox.TLiteral<"chosung">, _sinclair_typebox.TLiteral<"decimalEnclosedFullstop">, _sinclair_typebox.TLiteral<"decimalEnclosedParen">, _sinclair_typebox.TLiteral<"decimalEnclosedCircleChinese">, _sinclair_typebox.TLiteral<"ideographEnclosedCircle">, _sinclair_typebox.TLiteral<"ideographTraditional">, _sinclair_typebox.TLiteral<"ideographZodiac">, _sinclair_typebox.TLiteral<"ideographZodiacTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCounting">, _sinclair_typebox.TLiteral<"ideographLegalTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCountingThousand">, _sinclair_typebox.TLiteral<"taiwaneseDigital">, _sinclair_typebox.TLiteral<"chineseCounting">, _sinclair_typebox.TLiteral<"chineseLegalSimplified">, _sinclair_typebox.TLiteral<"chineseCountingThousand">, _sinclair_typebox.TLiteral<"koreanDigital">, _sinclair_typebox.TLiteral<"koreanCounting">, _sinclair_typebox.TLiteral<"koreanLegal">, _sinclair_typebox.TLiteral<"koreanDigital2">, _sinclair_typebox.TLiteral<"vietnameseCounting">, _sinclair_typebox.TLiteral<"russianLower">, _sinclair_typebox.TLiteral<"russianUpper">, _sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"numberInDash">, _sinclair_typebox.TLiteral<"hebrew1">, _sinclair_typebox.TLiteral<"hebrew2">, _sinclair_typebox.TLiteral<"arabicAlpha">, _sinclair_typebox.TLiteral<"arabicAbjad">, _sinclair_typebox.TLiteral<"hindiVowels">, _sinclair_typebox.TLiteral<"hindiConsonants">, _sinclair_typebox.TLiteral<"hindiNumbers">, _sinclair_typebox.TLiteral<"hindiCounting">, _sinclair_typebox.TLiteral<"thaiLetters">, _sinclair_typebox.TLiteral<"thaiNumbers">, _sinclair_typebox.TLiteral<"thaiCounting">]>>;
312
+ /**
313
+ * Validate a custom component configuration with a custom schema.
314
+ * Delegates to @json-to-office/shared/plugin to avoid duplication.
315
+ */
316
+ text: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
317
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"start">, _sinclair_typebox.TLiteral<"end">, _sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"center">]>>;
318
+ indent: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
319
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
320
+ hanging: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
321
+ }>>;
322
+ start: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
323
+ }>>>;
324
+ format: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"decimal">, _sinclair_typebox.TLiteral<"upperRoman">, _sinclair_typebox.TLiteral<"lowerRoman">, _sinclair_typebox.TLiteral<"upperLetter">, _sinclair_typebox.TLiteral<"lowerLetter">, _sinclair_typebox.TLiteral<"bullet">, _sinclair_typebox.TLiteral<"ordinal">, _sinclair_typebox.TLiteral<"cardinalText">, _sinclair_typebox.TLiteral<"ordinalText">, _sinclair_typebox.TLiteral<"hex">, _sinclair_typebox.TLiteral<"chicago">, _sinclair_typebox.TLiteral<"ideographDigital">, _sinclair_typebox.TLiteral<"japaneseCounting">, _sinclair_typebox.TLiteral<"aiueo">, _sinclair_typebox.TLiteral<"iroha">, _sinclair_typebox.TLiteral<"decimalFullWidth">, _sinclair_typebox.TLiteral<"decimalHalfWidth">, _sinclair_typebox.TLiteral<"japaneseLegal">, _sinclair_typebox.TLiteral<"japaneseDigitalTenThousand">, _sinclair_typebox.TLiteral<"decimalEnclosedCircle">, _sinclair_typebox.TLiteral<"decimalFullWidth2">, _sinclair_typebox.TLiteral<"aiueoFullWidth">, _sinclair_typebox.TLiteral<"irohaFullWidth">, _sinclair_typebox.TLiteral<"decimalZero">, _sinclair_typebox.TLiteral<"ganada">, _sinclair_typebox.TLiteral<"chosung">, _sinclair_typebox.TLiteral<"decimalEnclosedFullstop">, _sinclair_typebox.TLiteral<"decimalEnclosedParen">, _sinclair_typebox.TLiteral<"decimalEnclosedCircleChinese">, _sinclair_typebox.TLiteral<"ideographEnclosedCircle">, _sinclair_typebox.TLiteral<"ideographTraditional">, _sinclair_typebox.TLiteral<"ideographZodiac">, _sinclair_typebox.TLiteral<"ideographZodiacTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCounting">, _sinclair_typebox.TLiteral<"ideographLegalTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCountingThousand">, _sinclair_typebox.TLiteral<"taiwaneseDigital">, _sinclair_typebox.TLiteral<"chineseCounting">, _sinclair_typebox.TLiteral<"chineseLegalSimplified">, _sinclair_typebox.TLiteral<"chineseCountingThousand">, _sinclair_typebox.TLiteral<"koreanDigital">, _sinclair_typebox.TLiteral<"koreanCounting">, _sinclair_typebox.TLiteral<"koreanLegal">, _sinclair_typebox.TLiteral<"koreanDigital2">, _sinclair_typebox.TLiteral<"vietnameseCounting">, _sinclair_typebox.TLiteral<"russianLower">, _sinclair_typebox.TLiteral<"russianUpper">, _sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"numberInDash">, _sinclair_typebox.TLiteral<"hebrew1">, _sinclair_typebox.TLiteral<"hebrew2">, _sinclair_typebox.TLiteral<"arabicAlpha">, _sinclair_typebox.TLiteral<"arabicAbjad">, _sinclair_typebox.TLiteral<"hindiVowels">, _sinclair_typebox.TLiteral<"hindiConsonants">, _sinclair_typebox.TLiteral<"hindiNumbers">, _sinclair_typebox.TLiteral<"hindiCounting">, _sinclair_typebox.TLiteral<"thaiLetters">, _sinclair_typebox.TLiteral<"thaiNumbers">, _sinclair_typebox.TLiteral<"thaiCounting">]>, _sinclair_typebox.TLiteral<"numbered">, _sinclair_typebox.TLiteral<"none">]>>;
325
+ bullet: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
326
+ start: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
327
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
328
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
329
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
330
+ item: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
331
+ }>>;
332
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
333
+ indent: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
334
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
335
+ hanging: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
336
+ }>]>>;
337
+ }>>;
338
+ }>>;
114
339
  metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
115
340
  title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
116
341
  subtitle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -157,6 +382,7 @@ declare const COMPONENT_SCHEMA_MAP: {
157
382
  size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
158
383
  color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
159
384
  bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
385
+ fontWeight: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
160
386
  italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
161
387
  underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
162
388
  lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
@@ -194,6 +420,7 @@ declare const COMPONENT_SCHEMA_MAP: {
194
420
  size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
195
421
  color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
196
422
  bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
423
+ fontWeight: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
197
424
  italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
198
425
  underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
199
426
  lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
@@ -353,6 +580,7 @@ declare const COMPONENT_SCHEMA_MAP: {
353
580
  fontSize: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
354
581
  fontFamily: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
355
582
  bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
583
+ fontWeight: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
356
584
  italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
357
585
  underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
358
586
  color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -48,8 +48,8 @@ import {
48
48
  validateTheme,
49
49
  validateThemeJson,
50
50
  validateThemeWithEnhancement
51
- } from "../../chunk-OE5JFL7S.js";
52
- import "../../chunk-L5TZFC47.js";
51
+ } from "../../chunk-ANU2V2BM.js";
52
+ import "../../chunk-YK2UUG65.js";
53
53
  import {
54
54
  comprehensiveValidateDocument,
55
55
  createDocumentValidator,
@@ -71,11 +71,12 @@ import {
71
71
  validateJsonComponent,
72
72
  validateJsonDocument,
73
73
  validateWithEnhancement
74
- } from "../../chunk-22VYYAC2.js";
75
- import "../../chunk-YQECZGRR.js";
76
- import "../../chunk-VP3X6DBP.js";
77
- import "../../chunk-PN6JT3KF.js";
78
- import "../../chunk-JOXJOD2C.js";
74
+ } from "../../chunk-7LRSVYGN.js";
75
+ import "../../chunk-ZQNAWKEI.js";
76
+ import "../../chunk-7GGTZ4TA.js";
77
+ import "../../chunk-BFJJ5HYD.js";
78
+ import "../../chunk-YUV5CJMG.js";
79
+ import "../../chunk-H56RLQOF.js";
79
80
  export {
80
81
  DEFAULT_ERROR_CONFIG,
81
82
  DOC_LINKS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-to-office/shared-docx",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "DOCX-specific schemas, component registry and validation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@sinclair/typebox": "0.34.38",
32
32
  "docx": "9.5.1",
33
- "@json-to-office/shared": "^0.7.0"
33
+ "@json-to-office/shared": "^0.9.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "20.11.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemas/font.ts"],"sourcesContent":["/**\n * Font-related Schemas (shared)\n * Extracted to avoid circular dependencies between theme and module schemas.\n */\n\nimport { Type } from '@sinclair/typebox';\n\n// ----------------------------------------------------------------------------\n// Shared Color Schema\n// ----------------------------------------------------------------------------\n\n/** Hex color with # prefix (e.g. \"#000000\") or a theme color name (e.g. \"primary\") */\nexport const HexColorSchema = Type.String({\n pattern: '^(#[0-9A-Fa-f]{6}|[a-zA-Z][a-zA-Z0-9]*)$',\n description: 'Hex color with # prefix (e.g. \"#000000\") or theme color name',\n});\n\n/** Like HexColorSchema but also accepts \"transparent\" (used for backgroundColor) */\nexport const HexColorOrTransparentSchema = Type.String({\n pattern: '^(transparent|#[0-9A-Fa-f]{6}|[a-zA-Z][a-zA-Z0-9]*)$',\n description: 'Hex color with # prefix, theme color name, or \"transparent\"',\n});\n\n// ----------------------------------------------------------------------------\n// Shared Text Formatting Properties\n// ----------------------------------------------------------------------------\n\n/**\n * Shared schema for text formatting properties.\n * Used as base for both font definitions and style definitions.\n */\nexport const TextFormattingPropertiesSchema = Type.Object(\n {\n size: Type.Optional(Type.Number({ minimum: 8, maximum: 72 })),\n color: Type.Optional(HexColorSchema),\n bold: Type.Optional(Type.Boolean()),\n italic: Type.Optional(Type.Boolean()),\n underline: Type.Optional(Type.Boolean()),\n lineSpacing: Type.Optional(\n Type.Object({\n type: Type.Union([\n Type.Literal('single'),\n Type.Literal('atLeast'),\n Type.Literal('exactly'),\n Type.Literal('double'),\n Type.Literal('multiple'),\n ]),\n value: Type.Optional(Type.Number({ minimum: 0 })),\n })\n ),\n spacing: Type.Optional(\n Type.Object({\n before: Type.Optional(Type.Number({ minimum: 0 })),\n after: Type.Optional(Type.Number({ minimum: 0 })),\n })\n ),\n characterSpacing: Type.Optional(\n Type.Object({\n type: Type.Union([Type.Literal('condensed'), Type.Literal('expanded')]),\n value: Type.Number(),\n })\n ),\n },\n { additionalProperties: false }\n);\n\n// ----------------------------------------------------------------------------\n// Font Definition Schema\n// ----------------------------------------------------------------------------\n\n/**\n * Font definition schema with full text formatting properties.\n * All properties except 'family' are optional.\n */\nexport const FontDefinitionSchema = Type.Object(\n {\n family: Type.String(),\n ...TextFormattingPropertiesSchema.properties,\n },\n {\n description:\n 'Font definition with family and optional formatting properties',\n additionalProperties: false,\n }\n);\n"],"mappings":";AAKA,SAAS,YAAY;AAOd,IAAM,iBAAiB,KAAK,OAAO;AAAA,EACxC,SAAS;AAAA,EACT,aAAa;AACf,CAAC;AAGM,IAAM,8BAA8B,KAAK,OAAO;AAAA,EACrD,SAAS;AAAA,EACT,aAAa;AACf,CAAC;AAUM,IAAM,iCAAiC,KAAK;AAAA,EACjD;AAAA,IACE,MAAM,KAAK,SAAS,KAAK,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;AAAA,IAC5D,OAAO,KAAK,SAAS,cAAc;AAAA,IACnC,MAAM,KAAK,SAAS,KAAK,QAAQ,CAAC;AAAA,IAClC,QAAQ,KAAK,SAAS,KAAK,QAAQ,CAAC;AAAA,IACpC,WAAW,KAAK,SAAS,KAAK,QAAQ,CAAC;AAAA,IACvC,aAAa,KAAK;AAAA,MAChB,KAAK,OAAO;AAAA,QACV,MAAM,KAAK,MAAM;AAAA,UACf,KAAK,QAAQ,QAAQ;AAAA,UACrB,KAAK,QAAQ,SAAS;AAAA,UACtB,KAAK,QAAQ,SAAS;AAAA,UACtB,KAAK,QAAQ,QAAQ;AAAA,UACrB,KAAK,QAAQ,UAAU;AAAA,QACzB,CAAC;AAAA,QACD,OAAO,KAAK,SAAS,KAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,MAClD,CAAC;AAAA,IACH;AAAA,IACA,SAAS,KAAK;AAAA,MACZ,KAAK,OAAO;AAAA,QACV,QAAQ,KAAK,SAAS,KAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,QACjD,OAAO,KAAK,SAAS,KAAK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,MAClD,CAAC;AAAA,IACH;AAAA,IACA,kBAAkB,KAAK;AAAA,MACrB,KAAK,OAAO;AAAA,QACV,MAAM,KAAK,MAAM,CAAC,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,UAAU,CAAC,CAAC;AAAA,QACtE,OAAO,KAAK,OAAO;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,EAAE,sBAAsB,MAAM;AAChC;AAUO,IAAM,uBAAuB,KAAK;AAAA,EACvC;AAAA,IACE,QAAQ,KAAK,OAAO;AAAA,IACpB,GAAG,+BAA+B;AAAA,EACpC;AAAA,EACA;AAAA,IACE,aACE;AAAA,IACF,sBAAsB;AAAA,EACxB;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schemas/theme.ts"],"sourcesContent":["/**\n * Theme Schema Definitions using TypeBox\n * This file provides TypeBox schemas for theme configuration validation\n */\n\nimport { Type, Static } from '@sinclair/typebox';\nimport {\n FontDefinitionSchema,\n TextFormattingPropertiesSchema,\n HexColorSchema,\n} from './font';\nimport { IndentSchema } from './components/common';\n\n// ============================================================================\n// Document Margins Schema\n// ============================================================================\n\nexport const DocumentMarginsSchema = Type.Object(\n {\n top: Type.Number({ minimum: 0 }),\n bottom: Type.Number({ minimum: 0 }),\n left: Type.Number({ minimum: 0 }),\n right: Type.Number({ minimum: 0 }),\n header: Type.Number({ minimum: 0 }),\n footer: Type.Number({ minimum: 0 }),\n gutter: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false, description: 'Document margin configuration' }\n);\n\n// ============================================================================\n// Page Dimensions Schema\n// ============================================================================\n\nexport const PageDimensionsSchema = Type.Object(\n {\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false, description: 'Page dimensions in twips' }\n);\n\n// ============================================================================\n// Page Schema (replaces PageSetupSchema)\n// ============================================================================\n\nexport const PageSchema = Type.Object(\n {\n size: Type.Union(\n [\n Type.Literal('A4'),\n Type.Literal('A3'),\n Type.Literal('LETTER'),\n Type.Literal('LEGAL'),\n Type.Object(\n {\n width: Type.Number({ minimum: 0 }),\n height: Type.Number({ minimum: 0 }),\n },\n { additionalProperties: false }\n ),\n ],\n { description: 'Standard page size or custom dimensions' }\n ),\n margins: DocumentMarginsSchema,\n },\n {\n description: 'Page configuration including dimensions and margins',\n additionalProperties: false,\n }\n);\n\n// ============================================================================\n// Text formatting and font schemas now imported from './font' to avoid cycles\n\n// ============================================================================\n// Fonts Schema\n// ============================================================================\n\nexport const FontsSchema = Type.Object(\n {\n heading: FontDefinitionSchema,\n body: FontDefinitionSchema,\n mono: FontDefinitionSchema,\n light: FontDefinitionSchema,\n },\n {\n additionalProperties: false,\n description: 'Font definitions for different text types',\n }\n);\n\n// ============================================================================\n// Style Definitions Schema\n// ============================================================================\n\n// Paragraph border style support (matches docx BorderStyle)\nconst BorderStyleSchema = Type.Union(\n [\n Type.Literal('single'),\n Type.Literal('dashDotStroked'),\n Type.Literal('dashed'),\n Type.Literal('dashSmallGap'),\n Type.Literal('dotDash'),\n Type.Literal('dotDotDash'),\n Type.Literal('dotted'),\n Type.Literal('double'),\n Type.Literal('doubleWave'),\n Type.Literal('inset'),\n Type.Literal('nil'),\n Type.Literal('none'),\n Type.Literal('outset'),\n Type.Literal('thick'),\n Type.Literal('thickThinLargeGap'),\n Type.Literal('thickThinMediumGap'),\n Type.Literal('thickThinSmallGap'),\n Type.Literal('thinThickLargeGap'),\n Type.Literal('thinThickMediumGap'),\n Type.Literal('thinThickSmallGap'),\n Type.Literal('thinThickThinLargeGap'),\n Type.Literal('thinThickThinMediumGap'),\n Type.Literal('thinThickThinSmallGap'),\n Type.Literal('threeDEmboss'),\n Type.Literal('threeDEngrave'),\n Type.Literal('triple'),\n Type.Literal('wave'),\n ],\n { description: 'Paragraph border style' }\n);\n\nconst BorderDefinitionSchema = Type.Object(\n {\n style: BorderStyleSchema,\n size: Type.Number({\n minimum: 0,\n description: 'Width in eighths of a point (docx sz)',\n }),\n color: HexColorSchema,\n space: Type.Optional(\n Type.Number({\n minimum: 0,\n description: 'Space between text and border in points',\n })\n ),\n },\n {\n additionalProperties: false,\n description: 'Paragraph border side definition',\n }\n);\n\nconst BordersSchema = Type.Object(\n {\n top: Type.Optional(BorderDefinitionSchema),\n bottom: Type.Optional(BorderDefinitionSchema),\n left: Type.Optional(BorderDefinitionSchema),\n right: Type.Optional(BorderDefinitionSchema),\n },\n { additionalProperties: false, description: 'Paragraph borders (per side)' }\n);\n\n// Alignment schema for paragraph-level alignment (used in styles)\nconst AlignmentSchema = Type.Optional(\n Type.Union([\n Type.Literal('left'),\n Type.Literal('center'),\n Type.Literal('right'),\n Type.Literal('justify'),\n ])\n);\n\n/**\n * Style properties schema that extends text formatting properties\n * with additional style-specific properties (priority, baseStyle, etc.)\n */\nconst StylePropertiesSchema = Type.Object(\n {\n font: Type.Optional(\n Type.Union([\n Type.Literal('heading'),\n Type.Literal('body'),\n Type.Literal('mono'),\n Type.Literal('light'),\n ])\n ),\n ...TextFormattingPropertiesSchema.properties,\n // Paragraph-level alignment (not a font property)\n alignment: AlignmentSchema,\n // Additional properties specific to styles\n priority: Type.Optional(Type.Number()),\n baseStyle: Type.Optional(Type.String()),\n followingStyle: Type.Optional(Type.String()),\n widowControl: Type.Optional(Type.Boolean()),\n keepNext: Type.Optional(Type.Boolean()),\n keepLinesTogether: Type.Optional(Type.Boolean()),\n outlineLevel: Type.Optional(Type.Number()),\n borders: Type.Optional(BordersSchema),\n indent: Type.Optional(IndentSchema),\n },\n { additionalProperties: false }\n);\n\n// ============================================================================\n// Tab Stop Schema\n// ============================================================================\n\n/**\n * Tab stop leader types matching docx.js LeaderType\n */\nconst TabStopLeaderSchema = Type.Union(\n [\n Type.Literal('dot'),\n Type.Literal('hyphen'),\n Type.Literal('middleDot'),\n Type.Literal('none'),\n Type.Literal('underscore'),\n ],\n {\n description:\n 'Tab leader style: dot (dotted), hyphen (dashed), middleDot, none (blank), or underscore',\n }\n);\n\n/**\n * Tab stop type matching docx.js TabStopType\n */\nconst TabStopTypeSchema = Type.Union(\n [\n Type.Literal('left'),\n Type.Literal('right'),\n Type.Literal('center'),\n Type.Literal('bar'),\n Type.Literal('clear'),\n Type.Literal('decimal'),\n Type.Literal('end'),\n Type.Literal('num'),\n Type.Literal('start'),\n ],\n {\n description: 'Tab stop alignment type',\n }\n);\n\n/**\n * Tab stop definition schema\n */\nconst TabStopDefinitionSchema = Type.Object(\n {\n type: TabStopTypeSchema,\n position: Type.Union([\n Type.Number({\n description:\n 'Tab stop position in twips (1/1440 inch). Common: 9026 for right-aligned at page margin',\n }),\n Type.Literal('max', {\n description: 'Use maximum position (TabStopPosition.MAX = 9026 twips)',\n }),\n ]),\n leader: Type.Optional(TabStopLeaderSchema),\n },\n {\n description:\n 'Tab stop configuration with position, alignment, and optional leader',\n additionalProperties: false,\n }\n);\n\n/**\n * TOC style properties schema that extends text formatting properties\n * but EXCLUDES baseStyle to prevent unwanted coupling with Heading styles\n */\nconst TocStylePropertiesSchema = Type.Object(\n {\n font: Type.Optional(\n Type.Union([\n Type.Literal('heading'),\n Type.Literal('body'),\n Type.Literal('mono'),\n Type.Literal('light'),\n ])\n ),\n ...TextFormattingPropertiesSchema.properties,\n // Paragraph-level alignment (not a font property)\n alignment: AlignmentSchema,\n // Tab stops for controlling TOC entry formatting (leader dots, alignment, etc.)\n tabStops: Type.Optional(\n Type.Array(TabStopDefinitionSchema, {\n description:\n 'Tab stops for TOC entries. Use right-aligned tab with leader to create dotted lines to page numbers.',\n default: [{ type: 'right', position: 'max', leader: 'none' }],\n })\n ),\n // Additional properties specific to styles (baseStyle intentionally excluded)\n priority: Type.Optional(Type.Number()),\n followingStyle: Type.Optional(Type.String()),\n widowControl: Type.Optional(Type.Boolean()),\n keepNext: Type.Optional(Type.Boolean()),\n keepLinesTogether: Type.Optional(Type.Boolean()),\n outlineLevel: Type.Optional(Type.Number()),\n borders: Type.Optional(BordersSchema),\n indent: Type.Optional(IndentSchema),\n },\n { additionalProperties: false }\n);\n\nexport const StyleDefinitionsSchema = Type.Object(\n {\n normal: Type.Optional(StylePropertiesSchema),\n heading1: Type.Optional(StylePropertiesSchema),\n heading2: Type.Optional(StylePropertiesSchema),\n heading3: Type.Optional(StylePropertiesSchema),\n heading4: Type.Optional(StylePropertiesSchema),\n heading5: Type.Optional(StylePropertiesSchema),\n heading6: Type.Optional(StylePropertiesSchema),\n title: Type.Optional(StylePropertiesSchema),\n subtitle: Type.Optional(StylePropertiesSchema),\n // TOC entry styles (used by Word to format TOC entries)\n // Note: TOC styles use TocStylePropertiesSchema which excludes baseStyle to prevent coupling with Headings\n TOC1: Type.Optional(TocStylePropertiesSchema),\n TOC2: Type.Optional(TocStylePropertiesSchema),\n TOC3: Type.Optional(TocStylePropertiesSchema),\n TOC4: Type.Optional(TocStylePropertiesSchema),\n TOC5: Type.Optional(TocStylePropertiesSchema),\n TOC6: Type.Optional(TocStylePropertiesSchema),\n },\n {\n additionalProperties: StylePropertiesSchema,\n description:\n 'Style definitions supporting predefined styles (normal, heading1..6, title, subtitle), TOC entry styles (TOC1..TOC6), and arbitrary custom styles.',\n }\n);\n\n// ============================================================================\n// Heading Definition Schema\n// ============================================================================\n\n/**\n * Heading definition schema that uses the same properties as StylePropertiesSchema\n * but adds a required 'level' field.\n */\nexport const HeadingDefinitionSchema = Type.Object(\n {\n level: Type.Union([\n Type.Literal(1),\n Type.Literal(2),\n Type.Literal(3),\n Type.Literal(4),\n Type.Literal(5),\n Type.Literal(6),\n ]),\n ...StylePropertiesSchema.properties,\n },\n { additionalProperties: false }\n);\n\n// ============================================================================\n// Component Defaults Schemas\n// ============================================================================\n\n// Import component props schemas from components.ts\nimport {\n HeadingPropsSchema,\n ParagraphPropsSchema,\n ImagePropsSchema,\n StatisticPropsSchema,\n TablePropsSchema,\n SectionPropsSchema,\n ColumnsPropsSchema,\n ListPropsSchema,\n} from './components';\n\n// Create component defaults by making all fields optional (Type.Partial)\nexport const HeadingComponentDefaultsSchema = Type.Partial(HeadingPropsSchema);\nexport const ParagraphComponentDefaultsSchema =\n Type.Partial(ParagraphPropsSchema);\nexport const ImageComponentDefaultsSchema = Type.Partial(ImagePropsSchema);\nexport const StatisticComponentDefaultsSchema =\n Type.Partial(StatisticPropsSchema);\nexport const TableComponentDefaultsSchema = Type.Partial(TablePropsSchema);\nexport const SectionComponentDefaultsSchema = Type.Partial(SectionPropsSchema);\nexport const ColumnsComponentDefaultsSchema = Type.Partial(ColumnsPropsSchema);\nexport const ListComponentDefaultsSchema = Type.Partial(ListPropsSchema);\n\nexport const ComponentDefaultsSchema = Type.Object(\n {\n heading: Type.Optional(HeadingComponentDefaultsSchema),\n paragraph: Type.Optional(ParagraphComponentDefaultsSchema),\n image: Type.Optional(ImageComponentDefaultsSchema),\n statistic: Type.Optional(StatisticComponentDefaultsSchema),\n table: Type.Optional(TableComponentDefaultsSchema),\n section: Type.Optional(SectionComponentDefaultsSchema),\n columns: Type.Optional(ColumnsComponentDefaultsSchema),\n list: Type.Optional(ListComponentDefaultsSchema),\n },\n { additionalProperties: true } // TODO: add a way to add strict custom component defaults when the plugin/registry paradigm will be implemented\n);\n\n// ============================================================================\n// Theme Config Schema\n// ============================================================================\n\nexport const ThemeConfigSchema = Type.Object(\n {\n $schema: Type.Optional(Type.String()),\n name: Type.String(),\n displayName: Type.String(),\n description: Type.String(),\n version: Type.String(),\n colors: Type.Object(\n {\n primary: HexColorSchema,\n secondary: HexColorSchema,\n accent: HexColorSchema,\n text: HexColorSchema,\n background: HexColorSchema,\n border: HexColorSchema,\n // Additional semantic color names\n textPrimary: HexColorSchema,\n textSecondary: HexColorSchema,\n textMuted: HexColorSchema,\n borderPrimary: HexColorSchema,\n borderSecondary: HexColorSchema,\n backgroundPrimary: HexColorSchema,\n backgroundSecondary: HexColorSchema,\n },\n { additionalProperties: false }\n ),\n fonts: FontsSchema,\n page: PageSchema,\n styles: Type.Optional(StyleDefinitionsSchema),\n componentDefaults: Type.Optional(ComponentDefaultsSchema),\n },\n {\n additionalProperties: false,\n description: 'Theme configuration',\n }\n);\n\n// ============================================================================\n// TypeScript Types\n// ============================================================================\n\nexport type ThemeConfigJson = Static<typeof ThemeConfigSchema>;\nexport type DocumentMargins = Static<typeof DocumentMarginsSchema>;\nexport type PageDimensions = Static<typeof PageDimensionsSchema>;\nexport type Page = Static<typeof PageSchema>;\nexport type FontDefinition = Static<typeof FontDefinitionSchema>;\nexport type Fonts = Static<typeof FontsSchema>;\nexport type StyleDefinitions = Static<typeof StyleDefinitionsSchema>;\nexport type HeadingDefinition = Static<typeof HeadingDefinitionSchema>;\nexport type HeadingComponentDefaults = Static<\n typeof HeadingComponentDefaultsSchema\n>;\nexport type ParagraphComponentDefaults = Static<\n typeof ParagraphComponentDefaultsSchema\n>;\nexport type ImageComponentDefaults = Static<\n typeof ImageComponentDefaultsSchema\n>;\nexport type StatisticComponentDefaults = Static<\n typeof StatisticComponentDefaultsSchema\n>;\nexport type TableComponentDefaults = Static<\n typeof TableComponentDefaultsSchema\n>;\nexport type SectionComponentDefaults = Static<\n typeof SectionComponentDefaultsSchema\n>;\nexport type ColumnsComponentDefaults = Static<\n typeof ColumnsComponentDefaultsSchema\n>;\nexport type ListComponentDefaults = Static<typeof ListComponentDefaultsSchema>;\nexport type ComponentDefaults = Static<typeof ComponentDefaultsSchema>;\n\n// ============================================================================\n// Validation Function\n// ============================================================================\n\nimport { Value } from '@sinclair/typebox/value';\n\nexport function isValidThemeConfig(data: unknown): data is ThemeConfigJson {\n return Value.Check(ThemeConfigSchema, data);\n}\n"],"mappings":"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","names":[]}