document-model.js 1.9.0 → 1.10.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 (45) hide show
  1. package/README.md +36 -0
  2. package/dist/color-AELCDH_b.d.cts +13 -0
  3. package/dist/color-AELCDH_b.d.ts +13 -0
  4. package/dist/color.cjs +40 -0
  5. package/dist/color.d.cts +2 -0
  6. package/dist/color.d.ts +2 -0
  7. package/dist/color.js +36 -0
  8. package/dist/content.cjs +341 -0
  9. package/dist/content.d.cts +1188 -0
  10. package/dist/content.d.ts +1188 -0
  11. package/dist/content.js +309 -0
  12. package/dist/geometry-CokwQGtJ.d.cts +27 -0
  13. package/dist/geometry-CokwQGtJ.d.ts +27 -0
  14. package/dist/geometry.cjs +43 -0
  15. package/dist/geometry.d.cts +2 -0
  16. package/dist/geometry.d.ts +2 -0
  17. package/dist/geometry.js +36 -0
  18. package/dist/index.cjs +79 -684
  19. package/dist/index.d.cts +8 -2448
  20. package/dist/index.d.ts +8 -2448
  21. package/dist/index.js +8 -613
  22. package/dist/layout.cjs +147 -0
  23. package/dist/layout.d.cts +636 -0
  24. package/dist/layout.d.ts +636 -0
  25. package/dist/layout.js +133 -0
  26. package/dist/metadata.cjs +15 -0
  27. package/dist/metadata.d.cts +15 -0
  28. package/dist/metadata.d.ts +15 -0
  29. package/dist/metadata.js +14 -0
  30. package/dist/package.cjs +14 -0
  31. package/dist/package.d.cts +528 -0
  32. package/dist/package.d.ts +528 -0
  33. package/dist/package.js +12 -0
  34. package/dist/schema-io.cjs +87 -0
  35. package/dist/schema-io.d.cts +37 -0
  36. package/dist/schema-io.d.ts +37 -0
  37. package/dist/schema-io.js +79 -0
  38. package/dist/style.cjs +23 -0
  39. package/dist/style.d.cts +24 -0
  40. package/dist/style.d.ts +24 -0
  41. package/dist/style.js +20 -0
  42. package/package.json +10 -4
  43. package/schemas/content-document.schema.json +3 -3
  44. package/schemas/document-package.schema.json +3 -3
  45. package/schemas/layout-document.schema.json +1 -1
@@ -0,0 +1,528 @@
1
+ import { ContentBlock, ContentEmbeddedObject } from "./content.js";
2
+ import { z } from "zod";
3
+ //#region src/package.d.ts
4
+ declare const DOCUMENT_PACKAGE_FORMAT_VERSION = 1;
5
+ declare const DocumentPackageSchema: z.ZodObject<{
6
+ formatVersion: z.ZodLiteral<1>;
7
+ content: z.ZodDiscriminatedUnion<[z.ZodObject<{
8
+ kind: z.ZodLiteral<"wordprocessing">;
9
+ formatVersion: z.ZodLiteral<1>;
10
+ metadata: z.ZodObject<{
11
+ title: z.ZodOptional<z.ZodString>;
12
+ author: z.ZodOptional<z.ZodString>;
13
+ subject: z.ZodOptional<z.ZodString>;
14
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ creator: z.ZodOptional<z.ZodString>;
16
+ producer: z.ZodOptional<z.ZodString>;
17
+ createdIso: z.ZodOptional<z.ZodString>;
18
+ modifiedIso: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ sections: z.ZodArray<z.ZodObject<{
21
+ pageSize: z.ZodObject<{
22
+ widthPt: z.ZodNumber;
23
+ heightPt: z.ZodNumber;
24
+ }, z.core.$strip>;
25
+ margins: z.ZodObject<{
26
+ topPt: z.ZodNumber;
27
+ rightPt: z.ZodNumber;
28
+ bottomPt: z.ZodNumber;
29
+ leftPt: z.ZodNumber;
30
+ }, z.core.$strip>;
31
+ blocks: z.ZodArray<z.ZodCustom<ContentBlock, ContentBlock>>;
32
+ }, z.core.$strip>>;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ kind: z.ZodLiteral<"presentation">;
35
+ formatVersion: z.ZodLiteral<1>;
36
+ metadata: z.ZodObject<{
37
+ title: z.ZodOptional<z.ZodString>;
38
+ author: z.ZodOptional<z.ZodString>;
39
+ subject: z.ZodOptional<z.ZodString>;
40
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ creator: z.ZodOptional<z.ZodString>;
42
+ producer: z.ZodOptional<z.ZodString>;
43
+ createdIso: z.ZodOptional<z.ZodString>;
44
+ modifiedIso: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ slides: z.ZodArray<z.ZodObject<{
47
+ size: z.ZodObject<{
48
+ widthPt: z.ZodNumber;
49
+ heightPt: z.ZodNumber;
50
+ }, z.core.$strip>;
51
+ shapes: z.ZodArray<z.ZodObject<{
52
+ name: z.ZodOptional<z.ZodString>;
53
+ frame: z.ZodObject<{
54
+ xPt: z.ZodNumber;
55
+ yPt: z.ZodNumber;
56
+ widthPt: z.ZodNumber;
57
+ heightPt: z.ZodNumber;
58
+ }, z.core.$strip>;
59
+ rotationDeg: z.ZodOptional<z.ZodNumber>;
60
+ insetLeftPt: z.ZodNumber;
61
+ insetTopPt: z.ZodNumber;
62
+ insetRightPt: z.ZodNumber;
63
+ insetBottomPt: z.ZodNumber;
64
+ fontScale: z.ZodOptional<z.ZodNumber>;
65
+ lineSpacingReduction: z.ZodOptional<z.ZodNumber>;
66
+ sourcePath: z.ZodOptional<z.ZodString>;
67
+ blocks: z.ZodArray<z.ZodCustom<ContentBlock, ContentBlock>>;
68
+ }, z.core.$strip>>;
69
+ notes: z.ZodString;
70
+ }, z.core.$strip>>;
71
+ }, z.core.$strip>, z.ZodObject<{
72
+ kind: z.ZodLiteral<"spreadsheet">;
73
+ formatVersion: z.ZodLiteral<1>;
74
+ metadata: z.ZodObject<{
75
+ title: z.ZodOptional<z.ZodString>;
76
+ author: z.ZodOptional<z.ZodString>;
77
+ subject: z.ZodOptional<z.ZodString>;
78
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
79
+ creator: z.ZodOptional<z.ZodString>;
80
+ producer: z.ZodOptional<z.ZodString>;
81
+ createdIso: z.ZodOptional<z.ZodString>;
82
+ modifiedIso: z.ZodOptional<z.ZodString>;
83
+ }, z.core.$strip>;
84
+ sheets: z.ZodArray<z.ZodObject<{
85
+ name: z.ZodString;
86
+ cells: z.ZodArray<z.ZodObject<{
87
+ row: z.ZodNumber;
88
+ column: z.ZodNumber;
89
+ value: z.ZodDiscriminatedUnion<[z.ZodObject<{
90
+ kind: z.ZodLiteral<"number">;
91
+ value: z.ZodNumber;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ kind: z.ZodLiteral<"percentage">;
94
+ value: z.ZodNumber;
95
+ }, z.core.$strip>, z.ZodObject<{
96
+ kind: z.ZodLiteral<"currency">;
97
+ value: z.ZodNumber;
98
+ currency: z.ZodOptional<z.ZodString>;
99
+ }, z.core.$strip>, z.ZodObject<{
100
+ kind: z.ZodLiteral<"boolean">;
101
+ value: z.ZodBoolean;
102
+ }, z.core.$strip>, z.ZodObject<{
103
+ kind: z.ZodLiteral<"date">;
104
+ value: z.ZodString;
105
+ }, z.core.$strip>, z.ZodObject<{
106
+ kind: z.ZodLiteral<"time">;
107
+ value: z.ZodString;
108
+ }, z.core.$strip>, z.ZodObject<{
109
+ kind: z.ZodLiteral<"string">;
110
+ value: z.ZodString;
111
+ }, z.core.$strip>, z.ZodObject<{
112
+ kind: z.ZodLiteral<"error">;
113
+ value: z.ZodString;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ kind: z.ZodLiteral<"empty">;
116
+ }, z.core.$strip>], "kind">;
117
+ formula: z.ZodOptional<z.ZodString>;
118
+ displayText: z.ZodString;
119
+ runs: z.ZodOptional<z.ZodArray<z.ZodObject<{
120
+ text: z.ZodString;
121
+ bold: z.ZodOptional<z.ZodBoolean>;
122
+ italic: z.ZodOptional<z.ZodBoolean>;
123
+ underline: z.ZodOptional<z.ZodBoolean>;
124
+ strike: z.ZodOptional<z.ZodBoolean>;
125
+ fontFamily: z.ZodOptional<z.ZodString>;
126
+ sizePt: z.ZodOptional<z.ZodNumber>;
127
+ color: z.ZodOptional<z.ZodObject<{
128
+ r: z.ZodNumber;
129
+ g: z.ZodNumber;
130
+ b: z.ZodNumber;
131
+ }, z.core.$strip>>;
132
+ hyperlink: z.ZodOptional<z.ZodString>;
133
+ sourcePath: z.ZodOptional<z.ZodString>;
134
+ }, z.core.$strip>>>;
135
+ colSpan: z.ZodOptional<z.ZodNumber>;
136
+ rowSpan: z.ZodOptional<z.ZodNumber>;
137
+ }, z.core.$strip>>;
138
+ columns: z.ZodArray<z.ZodObject<{
139
+ index: z.ZodNumber;
140
+ widthPt: z.ZodNumber;
141
+ hidden: z.ZodOptional<z.ZodBoolean>;
142
+ }, z.core.$strip>>;
143
+ rows: z.ZodArray<z.ZodObject<{
144
+ index: z.ZodNumber;
145
+ heightPt: z.ZodNumber;
146
+ hidden: z.ZodOptional<z.ZodBoolean>;
147
+ }, z.core.$strip>>;
148
+ images: z.ZodArray<z.ZodObject<{
149
+ kind: z.ZodLiteral<"image">;
150
+ format: z.ZodEnum<{
151
+ png: "png";
152
+ jpeg: "jpeg";
153
+ }>;
154
+ base64: z.ZodString;
155
+ widthPt: z.ZodNumber;
156
+ heightPt: z.ZodNumber;
157
+ altText: z.ZodOptional<z.ZodString>;
158
+ sourcePath: z.ZodOptional<z.ZodString>;
159
+ anchorRow: z.ZodNumber;
160
+ anchorColumn: z.ZodNumber;
161
+ offsetXPt: z.ZodNumber;
162
+ offsetYPt: z.ZodNumber;
163
+ }, z.core.$strip>>;
164
+ printSettings: z.ZodObject<{
165
+ pageSize: z.ZodObject<{
166
+ widthPt: z.ZodNumber;
167
+ heightPt: z.ZodNumber;
168
+ }, z.core.$strip>;
169
+ margins: z.ZodObject<{
170
+ topPt: z.ZodNumber;
171
+ rightPt: z.ZodNumber;
172
+ bottomPt: z.ZodNumber;
173
+ leftPt: z.ZodNumber;
174
+ }, z.core.$strip>;
175
+ printRange: z.ZodOptional<z.ZodObject<{
176
+ startRow: z.ZodNumber;
177
+ startColumn: z.ZodNumber;
178
+ endRow: z.ZodNumber;
179
+ endColumn: z.ZodNumber;
180
+ }, z.core.$strip>>;
181
+ scale: z.ZodOptional<z.ZodNumber>;
182
+ fitToPages: z.ZodOptional<z.ZodObject<{
183
+ width: z.ZodNumber;
184
+ height: z.ZodNumber;
185
+ }, z.core.$strip>>;
186
+ repeatRows: z.ZodOptional<z.ZodObject<{
187
+ start: z.ZodNumber;
188
+ end: z.ZodNumber;
189
+ }, z.core.$strip>>;
190
+ repeatColumns: z.ZodOptional<z.ZodObject<{
191
+ start: z.ZodNumber;
192
+ end: z.ZodNumber;
193
+ }, z.core.$strip>>;
194
+ gridlines: z.ZodBoolean;
195
+ headers: z.ZodBoolean;
196
+ pageOrder: z.ZodEnum<{
197
+ downThenOver: "downThenOver";
198
+ overThenDown: "overThenDown";
199
+ }>;
200
+ manualBreaks: z.ZodOptional<z.ZodObject<{
201
+ rows: z.ZodArray<z.ZodNumber>;
202
+ columns: z.ZodArray<z.ZodNumber>;
203
+ }, z.core.$strip>>;
204
+ }, z.core.$strip>;
205
+ embeddedObjects: z.ZodOptional<z.ZodArray<z.ZodCustom<ContentEmbeddedObject, ContentEmbeddedObject>>>;
206
+ }, z.core.$strip>>;
207
+ }, z.core.$strip>, z.ZodObject<{
208
+ kind: z.ZodLiteral<"drawing">;
209
+ formatVersion: z.ZodLiteral<1>;
210
+ metadata: z.ZodObject<{
211
+ title: z.ZodOptional<z.ZodString>;
212
+ author: z.ZodOptional<z.ZodString>;
213
+ subject: z.ZodOptional<z.ZodString>;
214
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
215
+ creator: z.ZodOptional<z.ZodString>;
216
+ producer: z.ZodOptional<z.ZodString>;
217
+ createdIso: z.ZodOptional<z.ZodString>;
218
+ modifiedIso: z.ZodOptional<z.ZodString>;
219
+ }, z.core.$strip>;
220
+ pages: z.ZodArray<z.ZodObject<{
221
+ size: z.ZodObject<{
222
+ widthPt: z.ZodNumber;
223
+ heightPt: z.ZodNumber;
224
+ }, z.core.$strip>;
225
+ shapes: z.ZodArray<z.ZodObject<{
226
+ name: z.ZodOptional<z.ZodString>;
227
+ frame: z.ZodObject<{
228
+ xPt: z.ZodNumber;
229
+ yPt: z.ZodNumber;
230
+ widthPt: z.ZodNumber;
231
+ heightPt: z.ZodNumber;
232
+ }, z.core.$strip>;
233
+ rotationDeg: z.ZodOptional<z.ZodNumber>;
234
+ insetLeftPt: z.ZodNumber;
235
+ insetTopPt: z.ZodNumber;
236
+ insetRightPt: z.ZodNumber;
237
+ insetBottomPt: z.ZodNumber;
238
+ fontScale: z.ZodOptional<z.ZodNumber>;
239
+ lineSpacingReduction: z.ZodOptional<z.ZodNumber>;
240
+ sourcePath: z.ZodOptional<z.ZodString>;
241
+ blocks: z.ZodArray<z.ZodCustom<ContentBlock, ContentBlock>>;
242
+ }, z.core.$strip>>;
243
+ vectors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
244
+ kind: z.ZodLiteral<"rect">;
245
+ frame: z.ZodObject<{
246
+ xPt: z.ZodNumber;
247
+ yPt: z.ZodNumber;
248
+ widthPt: z.ZodNumber;
249
+ heightPt: z.ZodNumber;
250
+ }, z.core.$strip>;
251
+ fill: z.ZodOptional<z.ZodObject<{
252
+ r: z.ZodNumber;
253
+ g: z.ZodNumber;
254
+ b: z.ZodNumber;
255
+ }, z.core.$strip>>;
256
+ stroke: z.ZodOptional<z.ZodObject<{
257
+ color: z.ZodObject<{
258
+ r: z.ZodNumber;
259
+ g: z.ZodNumber;
260
+ b: z.ZodNumber;
261
+ }, z.core.$strip>;
262
+ widthPt: z.ZodNumber;
263
+ }, z.core.$strip>>;
264
+ sourcePath: z.ZodOptional<z.ZodString>;
265
+ }, z.core.$strip>, z.ZodObject<{
266
+ kind: z.ZodLiteral<"ellipse">;
267
+ frame: z.ZodObject<{
268
+ xPt: z.ZodNumber;
269
+ yPt: z.ZodNumber;
270
+ widthPt: z.ZodNumber;
271
+ heightPt: z.ZodNumber;
272
+ }, z.core.$strip>;
273
+ fill: z.ZodOptional<z.ZodObject<{
274
+ r: z.ZodNumber;
275
+ g: z.ZodNumber;
276
+ b: z.ZodNumber;
277
+ }, z.core.$strip>>;
278
+ stroke: z.ZodOptional<z.ZodObject<{
279
+ color: z.ZodObject<{
280
+ r: z.ZodNumber;
281
+ g: z.ZodNumber;
282
+ b: z.ZodNumber;
283
+ }, z.core.$strip>;
284
+ widthPt: z.ZodNumber;
285
+ }, z.core.$strip>>;
286
+ sourcePath: z.ZodOptional<z.ZodString>;
287
+ }, z.core.$strip>, z.ZodObject<{
288
+ kind: z.ZodLiteral<"line">;
289
+ from: z.ZodObject<{
290
+ xPt: z.ZodNumber;
291
+ yPt: z.ZodNumber;
292
+ }, z.core.$strip>;
293
+ to: z.ZodObject<{
294
+ xPt: z.ZodNumber;
295
+ yPt: z.ZodNumber;
296
+ }, z.core.$strip>;
297
+ stroke: z.ZodObject<{
298
+ color: z.ZodObject<{
299
+ r: z.ZodNumber;
300
+ g: z.ZodNumber;
301
+ b: z.ZodNumber;
302
+ }, z.core.$strip>;
303
+ widthPt: z.ZodNumber;
304
+ }, z.core.$strip>;
305
+ sourcePath: z.ZodOptional<z.ZodString>;
306
+ }, z.core.$strip>, z.ZodObject<{
307
+ kind: z.ZodLiteral<"path">;
308
+ frame: z.ZodObject<{
309
+ xPt: z.ZodNumber;
310
+ yPt: z.ZodNumber;
311
+ widthPt: z.ZodNumber;
312
+ heightPt: z.ZodNumber;
313
+ }, z.core.$strip>;
314
+ subpaths: z.ZodArray<z.ZodObject<{
315
+ start: z.ZodObject<{
316
+ xPt: z.ZodNumber;
317
+ yPt: z.ZodNumber;
318
+ }, z.core.$strip>;
319
+ segments: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
320
+ kind: z.ZodLiteral<"line">;
321
+ to: z.ZodObject<{
322
+ xPt: z.ZodNumber;
323
+ yPt: z.ZodNumber;
324
+ }, z.core.$strip>;
325
+ }, z.core.$strip>, z.ZodObject<{
326
+ kind: z.ZodLiteral<"cubic">;
327
+ control1: z.ZodObject<{
328
+ xPt: z.ZodNumber;
329
+ yPt: z.ZodNumber;
330
+ }, z.core.$strip>;
331
+ control2: z.ZodObject<{
332
+ xPt: z.ZodNumber;
333
+ yPt: z.ZodNumber;
334
+ }, z.core.$strip>;
335
+ to: z.ZodObject<{
336
+ xPt: z.ZodNumber;
337
+ yPt: z.ZodNumber;
338
+ }, z.core.$strip>;
339
+ }, z.core.$strip>], "kind">>;
340
+ closed: z.ZodBoolean;
341
+ }, z.core.$strip>>;
342
+ fill: z.ZodOptional<z.ZodObject<{
343
+ r: z.ZodNumber;
344
+ g: z.ZodNumber;
345
+ b: z.ZodNumber;
346
+ }, z.core.$strip>>;
347
+ fillRule: z.ZodOptional<z.ZodEnum<{
348
+ nonzero: "nonzero";
349
+ evenodd: "evenodd";
350
+ }>>;
351
+ stroke: z.ZodOptional<z.ZodObject<{
352
+ color: z.ZodObject<{
353
+ r: z.ZodNumber;
354
+ g: z.ZodNumber;
355
+ b: z.ZodNumber;
356
+ }, z.core.$strip>;
357
+ widthPt: z.ZodNumber;
358
+ }, z.core.$strip>>;
359
+ sourcePath: z.ZodOptional<z.ZodString>;
360
+ }, z.core.$strip>], "kind">>;
361
+ }, z.core.$strip>>;
362
+ }, z.core.$strip>], "kind">;
363
+ layout: z.ZodOptional<z.ZodObject<{
364
+ formatVersion: z.ZodLiteral<1>;
365
+ metadata: z.ZodObject<{
366
+ title: z.ZodOptional<z.ZodString>;
367
+ author: z.ZodOptional<z.ZodString>;
368
+ subject: z.ZodOptional<z.ZodString>;
369
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
370
+ creator: z.ZodOptional<z.ZodString>;
371
+ producer: z.ZodOptional<z.ZodString>;
372
+ createdIso: z.ZodOptional<z.ZodString>;
373
+ modifiedIso: z.ZodOptional<z.ZodString>;
374
+ }, z.core.$strip>;
375
+ pages: z.ZodArray<z.ZodObject<{
376
+ widthPt: z.ZodNumber;
377
+ heightPt: z.ZodNumber;
378
+ items: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
379
+ kind: z.ZodLiteral<"text">;
380
+ text: z.ZodString;
381
+ xPt: z.ZodNumber;
382
+ yPt: z.ZodNumber;
383
+ font: z.ZodObject<{
384
+ family: z.ZodString;
385
+ weight: z.ZodEnum<{
386
+ normal: "normal";
387
+ bold: "bold";
388
+ }>;
389
+ style: z.ZodEnum<{
390
+ normal: "normal";
391
+ italic: "italic";
392
+ }>;
393
+ }, z.core.$strip>;
394
+ sizePt: z.ZodNumber;
395
+ color: z.ZodObject<{
396
+ r: z.ZodNumber;
397
+ g: z.ZodNumber;
398
+ b: z.ZodNumber;
399
+ }, z.core.$strip>;
400
+ widthPt: z.ZodOptional<z.ZodNumber>;
401
+ rotationDeg: z.ZodOptional<z.ZodNumber>;
402
+ underline: z.ZodOptional<z.ZodBoolean>;
403
+ sourcePath: z.ZodOptional<z.ZodString>;
404
+ }, z.core.$strip>, z.ZodObject<{
405
+ kind: z.ZodLiteral<"image">;
406
+ imageId: z.ZodString;
407
+ xPt: z.ZodNumber;
408
+ yPt: z.ZodNumber;
409
+ widthPt: z.ZodNumber;
410
+ heightPt: z.ZodNumber;
411
+ rotationDeg: z.ZodOptional<z.ZodNumber>;
412
+ sourcePath: z.ZodOptional<z.ZodString>;
413
+ }, z.core.$strip>, z.ZodObject<{
414
+ kind: z.ZodLiteral<"rect">;
415
+ xPt: z.ZodNumber;
416
+ yPt: z.ZodNumber;
417
+ widthPt: z.ZodNumber;
418
+ heightPt: z.ZodNumber;
419
+ fill: z.ZodOptional<z.ZodObject<{
420
+ r: z.ZodNumber;
421
+ g: z.ZodNumber;
422
+ b: z.ZodNumber;
423
+ }, z.core.$strip>>;
424
+ stroke: z.ZodOptional<z.ZodObject<{
425
+ color: z.ZodObject<{
426
+ r: z.ZodNumber;
427
+ g: z.ZodNumber;
428
+ b: z.ZodNumber;
429
+ }, z.core.$strip>;
430
+ widthPt: z.ZodNumber;
431
+ }, z.core.$strip>>;
432
+ sourcePath: z.ZodOptional<z.ZodString>;
433
+ }, z.core.$strip>, z.ZodObject<{
434
+ kind: z.ZodLiteral<"line">;
435
+ x1Pt: z.ZodNumber;
436
+ y1Pt: z.ZodNumber;
437
+ x2Pt: z.ZodNumber;
438
+ y2Pt: z.ZodNumber;
439
+ color: z.ZodObject<{
440
+ r: z.ZodNumber;
441
+ g: z.ZodNumber;
442
+ b: z.ZodNumber;
443
+ }, z.core.$strip>;
444
+ widthPt: z.ZodNumber;
445
+ sourcePath: z.ZodOptional<z.ZodString>;
446
+ }, z.core.$strip>, z.ZodObject<{
447
+ kind: z.ZodLiteral<"ellipse">;
448
+ xPt: z.ZodNumber;
449
+ yPt: z.ZodNumber;
450
+ widthPt: z.ZodNumber;
451
+ heightPt: z.ZodNumber;
452
+ fill: z.ZodOptional<z.ZodObject<{
453
+ r: z.ZodNumber;
454
+ g: z.ZodNumber;
455
+ b: z.ZodNumber;
456
+ }, z.core.$strip>>;
457
+ stroke: z.ZodOptional<z.ZodObject<{
458
+ color: z.ZodObject<{
459
+ r: z.ZodNumber;
460
+ g: z.ZodNumber;
461
+ b: z.ZodNumber;
462
+ }, z.core.$strip>;
463
+ widthPt: z.ZodNumber;
464
+ }, z.core.$strip>>;
465
+ sourcePath: z.ZodOptional<z.ZodString>;
466
+ }, z.core.$strip>, z.ZodObject<{
467
+ kind: z.ZodLiteral<"path">;
468
+ subpaths: z.ZodArray<z.ZodObject<{
469
+ startXPt: z.ZodNumber;
470
+ startYPt: z.ZodNumber;
471
+ segments: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
472
+ kind: z.ZodLiteral<"line">;
473
+ xPt: z.ZodNumber;
474
+ yPt: z.ZodNumber;
475
+ }, z.core.$strip>, z.ZodObject<{
476
+ kind: z.ZodLiteral<"cubic">;
477
+ c1xPt: z.ZodNumber;
478
+ c1yPt: z.ZodNumber;
479
+ c2xPt: z.ZodNumber;
480
+ c2yPt: z.ZodNumber;
481
+ xPt: z.ZodNumber;
482
+ yPt: z.ZodNumber;
483
+ }, z.core.$strip>], "kind">>;
484
+ closed: z.ZodBoolean;
485
+ }, z.core.$strip>>;
486
+ fill: z.ZodOptional<z.ZodObject<{
487
+ r: z.ZodNumber;
488
+ g: z.ZodNumber;
489
+ b: z.ZodNumber;
490
+ }, z.core.$strip>>;
491
+ fillRule: z.ZodOptional<z.ZodEnum<{
492
+ nonzero: "nonzero";
493
+ evenodd: "evenodd";
494
+ }>>;
495
+ stroke: z.ZodOptional<z.ZodObject<{
496
+ color: z.ZodObject<{
497
+ r: z.ZodNumber;
498
+ g: z.ZodNumber;
499
+ b: z.ZodNumber;
500
+ }, z.core.$strip>;
501
+ widthPt: z.ZodNumber;
502
+ }, z.core.$strip>>;
503
+ sourcePath: z.ZodOptional<z.ZodString>;
504
+ }, z.core.$strip>, z.ZodObject<{
505
+ kind: z.ZodLiteral<"link">;
506
+ uri: z.ZodString;
507
+ xPt: z.ZodNumber;
508
+ yPt: z.ZodNumber;
509
+ widthPt: z.ZodNumber;
510
+ heightPt: z.ZodNumber;
511
+ sourcePath: z.ZodOptional<z.ZodString>;
512
+ }, z.core.$strip>], "kind">>;
513
+ notes: z.ZodOptional<z.ZodString>;
514
+ }, z.core.$strip>>;
515
+ images: z.ZodRecord<z.ZodString, z.ZodObject<{
516
+ format: z.ZodEnum<{
517
+ png: "png";
518
+ jpeg: "jpeg";
519
+ }>;
520
+ base64: z.ZodString;
521
+ widthPx: z.ZodNumber;
522
+ heightPx: z.ZodNumber;
523
+ }, z.core.$strip>>;
524
+ }, z.core.$strip>>;
525
+ }, z.core.$strip>;
526
+ type DocumentPackage = z.infer<typeof DocumentPackageSchema>;
527
+ //#endregion
528
+ export { DOCUMENT_PACKAGE_FORMAT_VERSION, DocumentPackage, DocumentPackageSchema };
@@ -0,0 +1,12 @@
1
+ import { ContentDocumentSchema } from "./content.js";
2
+ import { LayoutDocumentSchema } from "./layout.js";
3
+ import { z } from "zod";
4
+ //#region src/package.ts
5
+ const DOCUMENT_PACKAGE_FORMAT_VERSION = 1;
6
+ const DocumentPackageSchema = z.object({
7
+ formatVersion: z.literal(1),
8
+ content: ContentDocumentSchema,
9
+ layout: LayoutDocumentSchema.optional()
10
+ });
11
+ //#endregion
12
+ export { DOCUMENT_PACKAGE_FORMAT_VERSION, DocumentPackageSchema };
@@ -0,0 +1,87 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_content = require("./content.cjs");
3
+ const require_layout = require("./layout.cjs");
4
+ const require_package = require("./package.cjs");
5
+ //#region src/schema-io.ts
6
+ const SCHEMA_FILE_NAMES = {
7
+ DocumentPackage: "document-package.schema.json",
8
+ ContentDocument: "content-document.schema.json",
9
+ LayoutDocument: "layout-document.schema.json"
10
+ };
11
+ function schemaUriFor(kind) {
12
+ return `https://cdn.jsdelivr.net/npm/document-schema.js@1.10.0/schemas/${SCHEMA_FILE_NAMES[kind]}`;
13
+ }
14
+ const SCHEMA_URI_PATTERN = /^https:\/\/cdn\.jsdelivr\.net\/npm\/document-schema\.js@[^/]+\/schemas\/(document-package|content-document|layout-document)\.schema\.json$/;
15
+ function kindForFileStem(stem) {
16
+ switch (stem) {
17
+ case "document-package": return "DocumentPackage";
18
+ case "content-document": return "ContentDocument";
19
+ case "layout-document": return "LayoutDocument";
20
+ default: return;
21
+ }
22
+ }
23
+ function isRecord(value) {
24
+ return typeof value === "object" && value !== null && !Array.isArray(value);
25
+ }
26
+ function documentSchemaKindOf(value) {
27
+ if (!isRecord(value)) return void 0;
28
+ if (!("$schema" in value) || typeof value.$schema !== "string") return void 0;
29
+ const match = SCHEMA_URI_PATTERN.exec(value.$schema);
30
+ if (match === null) return void 0;
31
+ const stem = match[1];
32
+ if (stem === void 0) return void 0;
33
+ return kindForFileStem(stem);
34
+ }
35
+ function documentPackageWithSchema(value) {
36
+ return {
37
+ $schema: schemaUriFor("DocumentPackage"),
38
+ ...value
39
+ };
40
+ }
41
+ function contentDocumentWithSchema(value) {
42
+ return {
43
+ $schema: schemaUriFor("ContentDocument"),
44
+ ...value
45
+ };
46
+ }
47
+ function layoutDocumentWithSchema(value) {
48
+ return {
49
+ $schema: schemaUriFor("LayoutDocument"),
50
+ ...value
51
+ };
52
+ }
53
+ var UnrecognizedDocumentSchemaError = class extends Error {
54
+ schema;
55
+ constructor(schema) {
56
+ super(`documentFromJson: value has no recognized "$schema" property (expected one of the three document-schema.js .schema.json URIs; found: ${JSON.stringify(schema)}).`);
57
+ this.name = "UnrecognizedDocumentSchemaError";
58
+ this.schema = schema;
59
+ }
60
+ };
61
+ function documentFromJson(value) {
62
+ const kind = documentSchemaKindOf(value);
63
+ if (kind === void 0) throw new UnrecognizedDocumentSchemaError(isRecord(value) ? value.$schema : void 0);
64
+ switch (kind) {
65
+ case "DocumentPackage": return {
66
+ kind,
67
+ value: require_package.DocumentPackageSchema.parse(value)
68
+ };
69
+ case "ContentDocument": return {
70
+ kind,
71
+ value: require_content.ContentDocumentSchema.parse(value)
72
+ };
73
+ case "LayoutDocument": return {
74
+ kind,
75
+ value: require_layout.LayoutDocumentSchema.parse(value)
76
+ };
77
+ }
78
+ }
79
+ //#endregion
80
+ exports.SCHEMA_FILE_NAMES = SCHEMA_FILE_NAMES;
81
+ exports.UnrecognizedDocumentSchemaError = UnrecognizedDocumentSchemaError;
82
+ exports.contentDocumentWithSchema = contentDocumentWithSchema;
83
+ exports.documentFromJson = documentFromJson;
84
+ exports.documentPackageWithSchema = documentPackageWithSchema;
85
+ exports.documentSchemaKindOf = documentSchemaKindOf;
86
+ exports.layoutDocumentWithSchema = layoutDocumentWithSchema;
87
+ exports.schemaUriFor = schemaUriFor;
@@ -0,0 +1,37 @@
1
+ import { ContentDocument } from "./content.cjs";
2
+ import { LayoutDocument } from "./layout.cjs";
3
+ import { DocumentPackage } from "./package.cjs";
4
+ //#region src/schema-io.d.ts
5
+ type DocumentSchemaKind = 'DocumentPackage' | 'ContentDocument' | 'LayoutDocument';
6
+ declare const SCHEMA_FILE_NAMES: Record<DocumentSchemaKind, string>;
7
+ declare function schemaUriFor(kind: DocumentSchemaKind): string;
8
+ declare function documentSchemaKindOf(value: unknown): DocumentSchemaKind | undefined;
9
+ type DocumentPackageJson = DocumentPackage & {
10
+ readonly $schema: string;
11
+ };
12
+ type ContentDocumentJson = ContentDocument & {
13
+ readonly $schema: string;
14
+ };
15
+ type LayoutDocumentJson = LayoutDocument & {
16
+ readonly $schema: string;
17
+ };
18
+ declare function documentPackageWithSchema(value: DocumentPackage): DocumentPackageJson;
19
+ declare function contentDocumentWithSchema(value: ContentDocument): ContentDocumentJson;
20
+ declare function layoutDocumentWithSchema(value: LayoutDocument): LayoutDocumentJson;
21
+ declare class UnrecognizedDocumentSchemaError extends Error {
22
+ readonly schema: unknown;
23
+ constructor(schema: unknown);
24
+ }
25
+ type DocumentJsonResult = {
26
+ kind: 'DocumentPackage';
27
+ value: DocumentPackage;
28
+ } | {
29
+ kind: 'ContentDocument';
30
+ value: ContentDocument;
31
+ } | {
32
+ kind: 'LayoutDocument';
33
+ value: LayoutDocument;
34
+ };
35
+ declare function documentFromJson(value: unknown): DocumentJsonResult;
36
+ //#endregion
37
+ export { ContentDocumentJson, DocumentJsonResult, DocumentPackageJson, DocumentSchemaKind, LayoutDocumentJson, SCHEMA_FILE_NAMES, UnrecognizedDocumentSchemaError, contentDocumentWithSchema, documentFromJson, documentPackageWithSchema, documentSchemaKindOf, layoutDocumentWithSchema, schemaUriFor };