office-open 0.6.9 → 0.6.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/schemas/docx.ts","../../src/schemas/pptx.ts","../../src/schemas/xlsx.ts","../../src/schemas/index.ts"],"mappings":";;;cAIa,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCAV,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCAV,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCIV,OAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMD,YAAA;AAAA,iBAEI,qBAAA,CAAsB,IAAA,EAAM,YAAA,EAAc,IAAA,YAAgB,MAAM"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/schemas/docx.ts","../../src/schemas/pptx.ts","../../src/schemas/xlsx.ts","../../src/schemas/index.ts"],"mappings":";;;cAuBa,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCMV,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC4EV,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCjGV,OAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMD,YAAA;AAAA,iBAEI,qBAAA,CAAsB,IAAA,EAAM,YAAA,EAAc,IAAA,YAAgB,MAAM"}
@@ -1,2 +1,2 @@
1
- import { a as docxSchema, i as pptxSchema, n as validateDocumentInput, r as xlsxSchema, t as SCHEMAS } from "../schemas-BbRmv4RW.mjs";
1
+ import { a as docxSchema, i as pptxSchema, n as validateDocumentInput, r as xlsxSchema, t as SCHEMAS } from "../schemas-BhTmC2Jb.mjs";
2
2
  export { SCHEMAS, docxSchema, pptxSchema, validateDocumentInput, xlsxSchema };
@@ -0,0 +1,291 @@
1
+ import { z } from "zod";
2
+ //#region src/schemas/docx.ts
3
+ const anyObject$2 = z.record(z.string(), z.unknown()).describe("JSON object");
4
+ const sectionChild = z.union([
5
+ z.object({ paragraph: anyObject$2 }).passthrough(),
6
+ z.object({ table: anyObject$2 }).passthrough(),
7
+ z.object({ toc: anyObject$2 }).passthrough(),
8
+ z.object({ textbox: anyObject$2 }).passthrough(),
9
+ z.object({ sdt: anyObject$2 }).passthrough(),
10
+ z.object({ altChunk: anyObject$2 }).passthrough(),
11
+ z.object({ subDoc: anyObject$2 }).passthrough(),
12
+ anyObject$2
13
+ ]);
14
+ const headerFooterGroup = z.object({
15
+ default: anyObject$2.or(z.array(sectionChild.or(z.string()))).optional(),
16
+ first: anyObject$2.or(z.array(sectionChild.or(z.string()))).optional(),
17
+ even: anyObject$2.or(z.array(sectionChild.or(z.string()))).optional()
18
+ }).passthrough();
19
+ const docxSchema = z.object({
20
+ sections: z.array(z.object({
21
+ properties: anyObject$2.optional(),
22
+ children: z.array(sectionChild.or(z.string())).describe("Section content: paragraphs ({ paragraph: {...} }), tables ({ table: {...} }), images, TOCs, etc."),
23
+ headers: headerFooterGroup.optional(),
24
+ footers: headerFooterGroup.optional()
25
+ }).passthrough()).describe("Document sections (required)"),
26
+ title: z.string().optional(),
27
+ subject: z.string().optional(),
28
+ creator: z.string().optional(),
29
+ keywords: z.string().optional(),
30
+ description: z.string().optional(),
31
+ lastModifiedBy: z.string().optional(),
32
+ revision: z.number().optional(),
33
+ externalStyles: z.string().optional(),
34
+ styles: anyObject$2.optional(),
35
+ numbering: anyObject$2.optional(),
36
+ comments: anyObject$2.optional(),
37
+ bibliography: anyObject$2.optional(),
38
+ footnotes: z.record(z.string(), anyObject$2).optional(),
39
+ endnotes: z.record(z.string(), anyObject$2).optional(),
40
+ background: anyObject$2.optional(),
41
+ features: anyObject$2.optional(),
42
+ compatabilityModeVersion: z.number().optional(),
43
+ compatibility: anyObject$2.optional(),
44
+ customProperties: z.array(anyObject$2).optional(),
45
+ evenAndOddHeaderAndFooters: z.boolean().optional(),
46
+ defaultTabStop: z.number().optional(),
47
+ fonts: z.array(anyObject$2).optional(),
48
+ hyphenation: anyObject$2.optional(),
49
+ characterSpacingControl: z.enum(["compressPunctuation", "doNotCompress"]).optional(),
50
+ view: z.enum([
51
+ "none",
52
+ "print",
53
+ "outline",
54
+ "masterPages",
55
+ "normal",
56
+ "web"
57
+ ]).optional(),
58
+ zoom: z.object({
59
+ percent: z.number().optional(),
60
+ val: z.enum([
61
+ "none",
62
+ "fullPage",
63
+ "bestFit",
64
+ "textFit"
65
+ ]).optional()
66
+ }).passthrough().optional(),
67
+ writeProtection: anyObject$2.optional(),
68
+ displayBackgroundShape: z.boolean().optional(),
69
+ embedTrueTypeFonts: z.boolean().optional(),
70
+ embedSystemFonts: z.boolean().optional(),
71
+ saveSubsetFonts: z.boolean().optional(),
72
+ docVars: z.array(z.object({
73
+ name: z.string(),
74
+ val: z.string()
75
+ }).passthrough()).optional(),
76
+ colorSchemeMapping: anyObject$2.optional()
77
+ }).passthrough();
78
+ //#endregion
79
+ //#region src/schemas/pptx.ts
80
+ const anyObject$1 = z.record(z.string(), z.unknown()).describe("JSON object");
81
+ const slideChild = z.union([
82
+ z.object({ shape: anyObject$1 }).passthrough(),
83
+ z.object({ picture: anyObject$1 }).passthrough(),
84
+ z.object({ table: anyObject$1 }).passthrough(),
85
+ z.object({ chart: anyObject$1 }).passthrough(),
86
+ z.object({ line: anyObject$1 }).passthrough(),
87
+ z.object({ connector: anyObject$1 }).passthrough(),
88
+ z.object({ video: anyObject$1 }).passthrough(),
89
+ z.object({ audio: anyObject$1 }).passthrough(),
90
+ z.object({ group: anyObject$1 }).passthrough(),
91
+ z.object({ smartart: anyObject$1 }).passthrough(),
92
+ anyObject$1
93
+ ]);
94
+ const slideComment = z.object({
95
+ author: z.string(),
96
+ text: z.string(),
97
+ x: z.number(),
98
+ y: z.number(),
99
+ initials: z.string().optional(),
100
+ date: z.string().optional()
101
+ }).passthrough();
102
+ const pptxSchema = z.object({
103
+ slides: z.array(z.object({
104
+ children: z.array(slideChild.or(z.string())).describe("Slide content: shapes ({ shape: {...} }), pictures ({ picture: {...} }), tables, charts, groups, lines, etc."),
105
+ background: anyObject$1.optional(),
106
+ transition: anyObject$1.optional(),
107
+ notes: z.string().optional(),
108
+ layout: z.enum([
109
+ "blank",
110
+ "title",
111
+ "tx",
112
+ "twoColTx",
113
+ "titleOnly",
114
+ "obj",
115
+ "secHead",
116
+ "chart",
117
+ "tbl",
118
+ "picTx",
119
+ "twoObj",
120
+ "twoTxTwoObj",
121
+ "objTx",
122
+ "vertTx",
123
+ "vertTitleAndTx"
124
+ ]).optional(),
125
+ master: z.string().optional(),
126
+ comments: z.array(slideComment).optional(),
127
+ headerFooter: anyObject$1.optional()
128
+ }).passthrough()).describe("Presentation slides (required)"),
129
+ size: z.union([z.enum(["16:9", "4:3"]), z.object({
130
+ width: z.number(),
131
+ height: z.number()
132
+ })]).optional().describe("Slide size: \"16:9\", \"4:3\", or { width, height }"),
133
+ masters: z.array(anyObject$1).optional().describe("Slide master definitions"),
134
+ show: z.object({
135
+ loop: z.boolean().optional(),
136
+ kiosk: z.boolean().optional(),
137
+ showNarration: z.boolean().optional(),
138
+ useTimings: z.boolean().optional()
139
+ }).passthrough().optional(),
140
+ title: z.string().optional(),
141
+ subject: z.string().optional(),
142
+ creator: z.string().optional(),
143
+ keywords: z.string().optional(),
144
+ description: z.string().optional(),
145
+ lastModifiedBy: z.string().optional(),
146
+ revision: z.number().optional()
147
+ }).passthrough();
148
+ //#endregion
149
+ //#region src/schemas/xlsx.ts
150
+ const anyObject = z.record(z.string(), z.unknown()).describe("JSON object");
151
+ const cellValue = z.union([
152
+ z.string(),
153
+ z.number(),
154
+ z.boolean(),
155
+ z.null()
156
+ ]);
157
+ const cellOptions = z.union([z.object({
158
+ value: cellValue.optional(),
159
+ reference: z.string().optional(),
160
+ styleIndex: z.number().optional(),
161
+ style: anyObject.optional(),
162
+ formula: anyObject.optional()
163
+ }).passthrough(), cellValue]);
164
+ const columnOptions = z.object({
165
+ min: z.number(),
166
+ max: z.number(),
167
+ width: z.number().optional(),
168
+ hidden: z.boolean().optional(),
169
+ customWidth: z.boolean().optional()
170
+ }).passthrough();
171
+ const mergeCellOptions = z.object({
172
+ from: z.object({
173
+ row: z.number(),
174
+ col: z.number()
175
+ }),
176
+ to: z.object({
177
+ row: z.number(),
178
+ col: z.number()
179
+ })
180
+ }).passthrough();
181
+ const freezePaneOptions = z.object({
182
+ row: z.number().optional(),
183
+ col: z.number().optional()
184
+ }).passthrough();
185
+ const dataValidationOptions = z.object({
186
+ sqref: z.string(),
187
+ type: z.enum([
188
+ "none",
189
+ "whole",
190
+ "decimal",
191
+ "list",
192
+ "date",
193
+ "time",
194
+ "textLength",
195
+ "custom"
196
+ ]).optional(),
197
+ operator: z.enum([
198
+ "between",
199
+ "notBetween",
200
+ "equal",
201
+ "notEqual",
202
+ "greaterThan",
203
+ "lessThan",
204
+ "greaterThanOrEqual",
205
+ "lessThanOrEqual"
206
+ ]).optional(),
207
+ formula1: z.string().optional(),
208
+ formula2: z.string().optional(),
209
+ allowBlank: z.boolean().optional(),
210
+ showErrorMessage: z.boolean().optional(),
211
+ errorTitle: z.string().optional(),
212
+ error: z.string().optional(),
213
+ showInputMessage: z.boolean().optional(),
214
+ promptTitle: z.string().optional(),
215
+ prompt: z.string().optional()
216
+ }).passthrough();
217
+ const conditionalFormatOptions = z.object({
218
+ sqref: z.string(),
219
+ rules: z.array(z.object({
220
+ type: z.enum([
221
+ "cellIs",
222
+ "containsText",
223
+ "expression",
224
+ "top10",
225
+ "aboveAverage"
226
+ ]),
227
+ operator: z.enum([
228
+ "lessThan",
229
+ "lessThanOrEqual",
230
+ "equal",
231
+ "notEqual",
232
+ "greaterThanOrEqual",
233
+ "greaterThan",
234
+ "between",
235
+ "notBetween",
236
+ "containsText",
237
+ "notContains",
238
+ "beginsWith",
239
+ "endsWith"
240
+ ]).optional(),
241
+ formulas: z.array(z.string()).optional(),
242
+ priority: z.number().optional(),
243
+ dxfId: z.number().optional()
244
+ }).passthrough())
245
+ }).passthrough();
246
+ const xlsxSchema = z.object({
247
+ worksheets: z.array(z.object({
248
+ name: z.string().optional().describe("Sheet display name"),
249
+ rows: z.array(z.object({
250
+ cells: z.array(cellOptions).optional(),
251
+ height: z.number().optional(),
252
+ hidden: z.boolean().optional(),
253
+ rowNumber: z.number().optional()
254
+ }).passthrough()).optional().describe("Worksheet rows, each with \"cells\" array"),
255
+ columns: z.array(columnOptions).optional(),
256
+ mergeCells: z.array(mergeCellOptions).optional(),
257
+ freezePanes: freezePaneOptions.optional(),
258
+ autoFilter: z.string().optional(),
259
+ images: z.array(anyObject).optional(),
260
+ charts: z.array(anyObject).optional(),
261
+ dataValidations: z.array(dataValidationOptions).optional(),
262
+ conditionalFormats: z.array(conditionalFormatOptions).optional()
263
+ }).passthrough()).describe("Workbook worksheets (required)"),
264
+ title: z.string().optional(),
265
+ subject: z.string().optional(),
266
+ creator: z.string().optional(),
267
+ keywords: z.string().optional(),
268
+ description: z.string().optional(),
269
+ lastModifiedBy: z.string().optional(),
270
+ revision: z.number().optional()
271
+ }).passthrough();
272
+ //#endregion
273
+ //#region src/schemas/index.ts
274
+ const SCHEMAS = {
275
+ docx: docxSchema,
276
+ pptx: pptxSchema,
277
+ xlsx: xlsxSchema
278
+ };
279
+ function validateDocumentInput(type, data) {
280
+ const result = SCHEMAS[type].safeParse(data);
281
+ if (!result.success) {
282
+ const issue = result.error.issues[0];
283
+ const path = issue.path.join(".");
284
+ throw new Error(`Invalid ${type} options${path ? ` at "${path}"` : ""}: ${issue.message}`);
285
+ }
286
+ return result.data;
287
+ }
288
+ //#endregion
289
+ export { docxSchema as a, pptxSchema as i, validateDocumentInput as n, xlsxSchema as r, SCHEMAS as t };
290
+
291
+ //# sourceMappingURL=schemas-BhTmC2Jb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas-BhTmC2Jb.mjs","names":["anyObject","anyObject"],"sources":["../src/schemas/docx.ts","../src/schemas/pptx.ts","../src/schemas/xlsx.ts","../src/schemas/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst sectionChild = z.union([\n z.object({ paragraph: anyObject }).passthrough(),\n z.object({ table: anyObject }).passthrough(),\n z.object({ toc: anyObject }).passthrough(),\n z.object({ textbox: anyObject }).passthrough(),\n z.object({ sdt: anyObject }).passthrough(),\n z.object({ altChunk: anyObject }).passthrough(),\n z.object({ subDoc: anyObject }).passthrough(),\n anyObject,\n]);\n\nconst headerFooterGroup = z\n .object({\n default: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n first: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n even: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n })\n .passthrough();\n\nexport const docxSchema = z\n .object({\n sections: z\n .array(\n z\n .object({\n properties: anyObject.optional(),\n children: z\n .array(sectionChild.or(z.string()))\n .describe(\n \"Section content: paragraphs ({ paragraph: {...} }), tables ({ table: {...} }), images, TOCs, etc.\",\n ),\n headers: headerFooterGroup.optional(),\n footers: headerFooterGroup.optional(),\n })\n .passthrough(),\n )\n .describe(\"Document sections (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n externalStyles: z.string().optional(),\n styles: anyObject.optional(),\n numbering: anyObject.optional(),\n comments: anyObject.optional(),\n bibliography: anyObject.optional(),\n footnotes: z.record(z.string(), anyObject).optional(),\n endnotes: z.record(z.string(), anyObject).optional(),\n background: anyObject.optional(),\n features: anyObject.optional(),\n compatabilityModeVersion: z.number().optional(),\n compatibility: anyObject.optional(),\n customProperties: z.array(anyObject).optional(),\n evenAndOddHeaderAndFooters: z.boolean().optional(),\n defaultTabStop: z.number().optional(),\n fonts: z.array(anyObject).optional(),\n hyphenation: anyObject.optional(),\n characterSpacingControl: z.enum([\"compressPunctuation\", \"doNotCompress\"]).optional(),\n view: z.enum([\"none\", \"print\", \"outline\", \"masterPages\", \"normal\", \"web\"]).optional(),\n zoom: z\n .object({\n percent: z.number().optional(),\n val: z.enum([\"none\", \"fullPage\", \"bestFit\", \"textFit\"]).optional(),\n })\n .passthrough()\n .optional(),\n writeProtection: anyObject.optional(),\n displayBackgroundShape: z.boolean().optional(),\n embedTrueTypeFonts: z.boolean().optional(),\n embedSystemFonts: z.boolean().optional(),\n saveSubsetFonts: z.boolean().optional(),\n docVars: z.array(z.object({ name: z.string(), val: z.string() }).passthrough()).optional(),\n colorSchemeMapping: anyObject.optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst slideChild = z.union([\n z.object({ shape: anyObject }).passthrough(),\n z.object({ picture: anyObject }).passthrough(),\n z.object({ table: anyObject }).passthrough(),\n z.object({ chart: anyObject }).passthrough(),\n z.object({ line: anyObject }).passthrough(),\n z.object({ connector: anyObject }).passthrough(),\n z.object({ video: anyObject }).passthrough(),\n z.object({ audio: anyObject }).passthrough(),\n z.object({ group: anyObject }).passthrough(),\n z.object({ smartart: anyObject }).passthrough(),\n anyObject,\n]);\n\nconst slideComment = z\n .object({\n author: z.string(),\n text: z.string(),\n x: z.number(),\n y: z.number(),\n initials: z.string().optional(),\n date: z.string().optional(),\n })\n .passthrough();\n\nexport const pptxSchema = z\n .object({\n slides: z\n .array(\n z\n .object({\n children: z\n .array(slideChild.or(z.string()))\n .describe(\n \"Slide content: shapes ({ shape: {...} }), pictures ({ picture: {...} }), tables, charts, groups, lines, etc.\",\n ),\n background: anyObject.optional(),\n transition: anyObject.optional(),\n notes: z.string().optional(),\n layout: z\n .enum([\n \"blank\",\n \"title\",\n \"tx\",\n \"twoColTx\",\n \"titleOnly\",\n \"obj\",\n \"secHead\",\n \"chart\",\n \"tbl\",\n \"picTx\",\n \"twoObj\",\n \"twoTxTwoObj\",\n \"objTx\",\n \"vertTx\",\n \"vertTitleAndTx\",\n ])\n .optional(),\n master: z.string().optional(),\n comments: z.array(slideComment).optional(),\n headerFooter: anyObject.optional(),\n })\n .passthrough(),\n )\n .describe(\"Presentation slides (required)\"),\n size: z\n .union([z.enum([\"16:9\", \"4:3\"]), z.object({ width: z.number(), height: z.number() })])\n .optional()\n .describe('Slide size: \"16:9\", \"4:3\", or { width, height }'),\n masters: z.array(anyObject).optional().describe(\"Slide master definitions\"),\n show: z\n .object({\n loop: z.boolean().optional(),\n kiosk: z.boolean().optional(),\n showNarration: z.boolean().optional(),\n useTimings: z.boolean().optional(),\n })\n .passthrough()\n .optional(),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst cellValue = z.union([z.string(), z.number(), z.boolean(), z.null()]);\n\nconst cellOptions = z.union([\n z\n .object({\n value: cellValue.optional(),\n reference: z.string().optional(),\n styleIndex: z.number().optional(),\n style: anyObject.optional(),\n formula: anyObject.optional(),\n })\n .passthrough(),\n cellValue,\n]);\n\nconst columnOptions = z\n .object({\n min: z.number(),\n max: z.number(),\n width: z.number().optional(),\n hidden: z.boolean().optional(),\n customWidth: z.boolean().optional(),\n })\n .passthrough();\n\nconst mergeCellOptions = z\n .object({\n from: z.object({ row: z.number(), col: z.number() }),\n to: z.object({ row: z.number(), col: z.number() }),\n })\n .passthrough();\n\nconst freezePaneOptions = z\n .object({\n row: z.number().optional(),\n col: z.number().optional(),\n })\n .passthrough();\n\nconst dataValidationOptions = z\n .object({\n sqref: z.string(),\n type: z\n .enum([\"none\", \"whole\", \"decimal\", \"list\", \"date\", \"time\", \"textLength\", \"custom\"])\n .optional(),\n operator: z\n .enum([\n \"between\",\n \"notBetween\",\n \"equal\",\n \"notEqual\",\n \"greaterThan\",\n \"lessThan\",\n \"greaterThanOrEqual\",\n \"lessThanOrEqual\",\n ])\n .optional(),\n formula1: z.string().optional(),\n formula2: z.string().optional(),\n allowBlank: z.boolean().optional(),\n showErrorMessage: z.boolean().optional(),\n errorTitle: z.string().optional(),\n error: z.string().optional(),\n showInputMessage: z.boolean().optional(),\n promptTitle: z.string().optional(),\n prompt: z.string().optional(),\n })\n .passthrough();\n\nconst conditionalFormatOptions = z\n .object({\n sqref: z.string(),\n rules: z.array(\n z\n .object({\n type: z.enum([\"cellIs\", \"containsText\", \"expression\", \"top10\", \"aboveAverage\"]),\n operator: z\n .enum([\n \"lessThan\",\n \"lessThanOrEqual\",\n \"equal\",\n \"notEqual\",\n \"greaterThanOrEqual\",\n \"greaterThan\",\n \"between\",\n \"notBetween\",\n \"containsText\",\n \"notContains\",\n \"beginsWith\",\n \"endsWith\",\n ])\n .optional(),\n formulas: z.array(z.string()).optional(),\n priority: z.number().optional(),\n dxfId: z.number().optional(),\n })\n .passthrough(),\n ),\n })\n .passthrough();\n\nexport const xlsxSchema = z\n .object({\n worksheets: z\n .array(\n z\n .object({\n name: z.string().optional().describe(\"Sheet display name\"),\n rows: z\n .array(\n z\n .object({\n cells: z.array(cellOptions).optional(),\n height: z.number().optional(),\n hidden: z.boolean().optional(),\n rowNumber: z.number().optional(),\n })\n .passthrough(),\n )\n .optional()\n .describe('Worksheet rows, each with \"cells\" array'),\n columns: z.array(columnOptions).optional(),\n mergeCells: z.array(mergeCellOptions).optional(),\n freezePanes: freezePaneOptions.optional(),\n autoFilter: z.string().optional(),\n images: z.array(anyObject).optional(),\n charts: z.array(anyObject).optional(),\n dataValidations: z.array(dataValidationOptions).optional(),\n conditionalFormats: z.array(conditionalFormatOptions).optional(),\n })\n .passthrough(),\n )\n .describe(\"Workbook worksheets (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n","import { docxSchema } from \"./docx\";\nimport { pptxSchema } from \"./pptx\";\nimport { xlsxSchema } from \"./xlsx\";\n\nexport { docxSchema } from \"./docx\";\nexport { pptxSchema } from \"./pptx\";\nexport { xlsxSchema } from \"./xlsx\";\n\nexport const SCHEMAS = {\n docx: docxSchema,\n pptx: pptxSchema,\n xlsx: xlsxSchema,\n} as const;\n\nexport type DocumentType = \"docx\" | \"pptx\" | \"xlsx\";\n\nexport function validateDocumentInput(type: DocumentType, data: unknown): Record<string, unknown> {\n const result = SCHEMAS[type].safeParse(data);\n if (!result.success) {\n const issue = result.error.issues[0];\n const path = issue.path.join(\".\");\n throw new Error(`Invalid ${type} options${path ? ` at \"${path}\"` : \"\"}: ${issue.message}`);\n }\n return result.data as Record<string, unknown>;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "office-open",
3
- "version": "0.6.9",
3
+ "version": "0.6.10",
4
4
  "description": "Generate Office files (.docx, .pptx, .xlsx) from JSON — CLI, AI SDK tools, and unified re-exports",
5
5
  "keywords": [
6
6
  "ai",
@@ -77,11 +77,11 @@
77
77
  "dependencies": {
78
78
  "citty": "0.2.2",
79
79
  "zod": "4.4.3",
80
- "@office-open/core": "0.6.9",
81
- "@office-open/docx": "0.6.9",
82
- "@office-open/xml": "0.6.9",
83
- "@office-open/xlsx": "0.6.9",
84
- "@office-open/pptx": "0.6.9"
80
+ "@office-open/docx": "0.6.10",
81
+ "@office-open/core": "0.6.10",
82
+ "@office-open/xlsx": "0.6.10",
83
+ "@office-open/xml": "0.6.10",
84
+ "@office-open/pptx": "0.6.10"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "ai": "^6.0.0"
@@ -96,8 +96,8 @@
96
96
  "build": "vp pack",
97
97
  "test": "vp test run",
98
98
  "check": "vp check --fix",
99
- "demo:docx": "node dist/cli.mjs docx demo/1-basic-docx.json \"My Document.docx\"",
100
- "demo:pptx": "node dist/cli.mjs pptx demo/1-basic-pptx.json \"My Presentation.pptx\"",
101
- "demo:xlsx": "node dist/cli.mjs xlsx demo/1-basic-xlsx.json \"My Workbook.xlsx\""
99
+ "demo:docx": "node dist/cli.mjs docx demo/1-docx.json \"My Document.docx\"",
100
+ "demo:pptx": "node dist/cli.mjs pptx demo/2-pptx.json \"My Presentation.pptx\"",
101
+ "demo:xlsx": "node dist/cli.mjs xlsx demo/3-xlsx.json \"My Workbook.xlsx\""
102
102
  }
103
103
  }
@@ -1,125 +0,0 @@
1
- import { z } from "zod";
2
- //#region src/schemas/docx.ts
3
- const anyObject$2 = z.record(z.string(), z.unknown()).describe("JSON object");
4
- const docxSchema = z.object({
5
- sections: z.array(z.object({
6
- properties: anyObject$2.optional(),
7
- children: z.array(anyObject$2.or(z.string())).describe("Section content: paragraphs ({ paragraph: {...} }), tables ({ table: {...} }), images, TOCs, etc."),
8
- headers: anyObject$2.optional(),
9
- footers: anyObject$2.optional()
10
- }).passthrough()).describe("Document sections (required)"),
11
- title: z.string().optional(),
12
- subject: z.string().optional(),
13
- creator: z.string().optional(),
14
- keywords: z.string().optional(),
15
- description: z.string().optional(),
16
- lastModifiedBy: z.string().optional(),
17
- revision: z.number().optional(),
18
- externalStyles: z.string().optional(),
19
- styles: anyObject$2.optional(),
20
- numbering: anyObject$2.optional(),
21
- comments: anyObject$2.optional(),
22
- bibliography: anyObject$2.optional(),
23
- footnotes: z.record(z.string(), anyObject$2).optional(),
24
- endnotes: z.record(z.string(), anyObject$2).optional(),
25
- background: anyObject$2.optional(),
26
- features: anyObject$2.optional(),
27
- compatabilityModeVersion: z.number().optional(),
28
- compatibility: anyObject$2.optional(),
29
- customProperties: z.array(anyObject$2).optional(),
30
- evenAndOddHeaderAndFooters: z.boolean().optional(),
31
- defaultTabStop: z.number().optional(),
32
- fonts: z.array(anyObject$2).optional(),
33
- hyphenation: anyObject$2.optional(),
34
- characterSpacingControl: z.string().optional(),
35
- view: z.string().optional(),
36
- zoom: anyObject$2.optional(),
37
- writeProtection: anyObject$2.optional(),
38
- displayBackgroundShape: z.boolean().optional(),
39
- embedTrueTypeFonts: z.boolean().optional(),
40
- embedSystemFonts: z.boolean().optional(),
41
- saveSubsetFonts: z.boolean().optional(),
42
- docVars: z.array(anyObject$2).optional(),
43
- colorSchemeMapping: z.unknown().optional()
44
- }).passthrough();
45
- //#endregion
46
- //#region src/schemas/pptx.ts
47
- const anyObject$1 = z.record(z.string(), z.unknown()).describe("JSON object");
48
- const pptxSchema = z.object({
49
- slides: z.array(z.object({
50
- children: z.array(anyObject$1.or(z.string())).describe("Slide content: shapes ({ shape: {...} }), pictures ({ picture: {...} }), tables, charts, groups, lines, etc."),
51
- background: anyObject$1.optional(),
52
- transition: anyObject$1.optional(),
53
- notes: z.string().optional(),
54
- layout: z.string().optional(),
55
- master: z.string().optional(),
56
- comments: z.array(anyObject$1).optional(),
57
- headerFooter: anyObject$1.optional()
58
- }).passthrough()).describe("Presentation slides (required)"),
59
- size: z.union([z.enum(["16:9", "4:3"]), z.object({
60
- width: z.number(),
61
- height: z.number()
62
- })]).optional().describe("Slide size: \"16:9\", \"4:3\", or { width, height }"),
63
- masters: z.array(anyObject$1).optional().describe("Slide master definitions"),
64
- show: anyObject$1.optional(),
65
- title: z.string().optional(),
66
- subject: z.string().optional(),
67
- creator: z.string().optional(),
68
- keywords: z.string().optional(),
69
- description: z.string().optional(),
70
- lastModifiedBy: z.string().optional(),
71
- revision: z.number().optional()
72
- }).passthrough();
73
- //#endregion
74
- //#region src/schemas/xlsx.ts
75
- const anyObject = z.record(z.string(), z.unknown()).describe("JSON object");
76
- const xlsxSchema = z.object({
77
- worksheets: z.array(z.object({
78
- name: z.string().optional().describe("Sheet display name"),
79
- children: z.array(z.object({
80
- cells: z.array(anyObject.or(z.union([
81
- z.string(),
82
- z.number(),
83
- z.boolean()
84
- ]))).optional(),
85
- height: z.number().optional(),
86
- hidden: z.boolean().optional(),
87
- rowNumber: z.number().optional()
88
- }).passthrough()).optional().describe("Worksheet rows, each with \"cells\" array. NOTE: use \"children\" not \"rows\""),
89
- columns: z.array(anyObject).optional(),
90
- mergeCells: z.array(anyObject).optional(),
91
- freezePanes: anyObject.optional(),
92
- autoFilter: z.string().optional(),
93
- images: z.array(anyObject).optional(),
94
- charts: z.array(anyObject).optional(),
95
- dataValidations: z.array(anyObject).optional(),
96
- conditionalFormats: z.array(anyObject).optional()
97
- }).passthrough()).describe("Workbook worksheets (required)"),
98
- title: z.string().optional(),
99
- subject: z.string().optional(),
100
- creator: z.string().optional(),
101
- keywords: z.string().optional(),
102
- description: z.string().optional(),
103
- lastModifiedBy: z.string().optional(),
104
- revision: z.number().optional()
105
- }).passthrough();
106
- //#endregion
107
- //#region src/schemas/index.ts
108
- const SCHEMAS = {
109
- docx: docxSchema,
110
- pptx: pptxSchema,
111
- xlsx: xlsxSchema
112
- };
113
- function validateDocumentInput(type, data) {
114
- const result = SCHEMAS[type].safeParse(data);
115
- if (!result.success) {
116
- const issue = result.error.issues[0];
117
- const path = issue.path.join(".");
118
- throw new Error(`Invalid ${type} options${path ? ` at "${path}"` : ""}: ${issue.message}`);
119
- }
120
- return result.data;
121
- }
122
- //#endregion
123
- export { docxSchema as a, pptxSchema as i, validateDocumentInput as n, xlsxSchema as r, SCHEMAS as t };
124
-
125
- //# sourceMappingURL=schemas-BbRmv4RW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas-BbRmv4RW.mjs","names":["anyObject","anyObject"],"sources":["../src/schemas/docx.ts","../src/schemas/pptx.ts","../src/schemas/xlsx.ts","../src/schemas/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nexport const docxSchema = z\n .object({\n sections: z\n .array(\n z\n .object({\n properties: anyObject.optional(),\n children: z\n .array(anyObject.or(z.string()))\n .describe(\n \"Section content: paragraphs ({ paragraph: {...} }), tables ({ table: {...} }), images, TOCs, etc.\",\n ),\n headers: anyObject.optional(),\n footers: anyObject.optional(),\n })\n .passthrough(),\n )\n .describe(\"Document sections (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n externalStyles: z.string().optional(),\n styles: anyObject.optional(),\n numbering: anyObject.optional(),\n comments: anyObject.optional(),\n bibliography: anyObject.optional(),\n footnotes: z.record(z.string(), anyObject).optional(),\n endnotes: z.record(z.string(), anyObject).optional(),\n background: anyObject.optional(),\n features: anyObject.optional(),\n compatabilityModeVersion: z.number().optional(),\n compatibility: anyObject.optional(),\n customProperties: z.array(anyObject).optional(),\n evenAndOddHeaderAndFooters: z.boolean().optional(),\n defaultTabStop: z.number().optional(),\n fonts: z.array(anyObject).optional(),\n hyphenation: anyObject.optional(),\n characterSpacingControl: z.string().optional(),\n view: z.string().optional(),\n zoom: anyObject.optional(),\n writeProtection: anyObject.optional(),\n displayBackgroundShape: z.boolean().optional(),\n embedTrueTypeFonts: z.boolean().optional(),\n embedSystemFonts: z.boolean().optional(),\n saveSubsetFonts: z.boolean().optional(),\n docVars: z.array(anyObject).optional(),\n colorSchemeMapping: z.unknown().optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nexport const pptxSchema = z\n .object({\n slides: z\n .array(\n z\n .object({\n children: z\n .array(anyObject.or(z.string()))\n .describe(\n \"Slide content: shapes ({ shape: {...} }), pictures ({ picture: {...} }), tables, charts, groups, lines, etc.\",\n ),\n background: anyObject.optional(),\n transition: anyObject.optional(),\n notes: z.string().optional(),\n layout: z.string().optional(),\n master: z.string().optional(),\n comments: z.array(anyObject).optional(),\n headerFooter: anyObject.optional(),\n })\n .passthrough(),\n )\n .describe(\"Presentation slides (required)\"),\n size: z\n .union([z.enum([\"16:9\", \"4:3\"]), z.object({ width: z.number(), height: z.number() })])\n .optional()\n .describe('Slide size: \"16:9\", \"4:3\", or { width, height }'),\n masters: z.array(anyObject).optional().describe(\"Slide master definitions\"),\n show: anyObject.optional(),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nexport const xlsxSchema = z\n .object({\n worksheets: z\n .array(\n z\n .object({\n name: z.string().optional().describe(\"Sheet display name\"),\n children: z\n .array(\n z\n .object({\n cells: z\n .array(anyObject.or(z.union([z.string(), z.number(), z.boolean()])))\n .optional(),\n height: z.number().optional(),\n hidden: z.boolean().optional(),\n rowNumber: z.number().optional(),\n })\n .passthrough(),\n )\n .optional()\n .describe('Worksheet rows, each with \"cells\" array. NOTE: use \"children\" not \"rows\"'),\n columns: z.array(anyObject).optional(),\n mergeCells: z.array(anyObject).optional(),\n freezePanes: anyObject.optional(),\n autoFilter: z.string().optional(),\n images: z.array(anyObject).optional(),\n charts: z.array(anyObject).optional(),\n dataValidations: z.array(anyObject).optional(),\n conditionalFormats: z.array(anyObject).optional(),\n })\n .passthrough(),\n )\n .describe(\"Workbook worksheets (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n","import { docxSchema } from \"./docx\";\nimport { pptxSchema } from \"./pptx\";\nimport { xlsxSchema } from \"./xlsx\";\n\nexport { docxSchema } from \"./docx\";\nexport { pptxSchema } from \"./pptx\";\nexport { xlsxSchema } from \"./xlsx\";\n\nexport const SCHEMAS = {\n docx: docxSchema,\n pptx: pptxSchema,\n xlsx: xlsxSchema,\n} as const;\n\nexport type DocumentType = \"docx\" | \"pptx\" | \"xlsx\";\n\nexport function validateDocumentInput(type: DocumentType, data: unknown): Record<string, unknown> {\n const result = SCHEMAS[type].safeParse(data);\n if (!result.success) {\n const issue = result.error.issues[0];\n const path = issue.path.join(\".\");\n throw new Error(`Invalid ${type} options${path ? ` at \"${path}\"` : \"\"}: ${issue.message}`);\n }\n return result.data as Record<string, unknown>;\n}\n"],"mappings":";;AAEA,MAAMA,cAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,aAAa;AAE1E,MAAa,aAAa,EACvB,OAAO;CACN,UAAU,EACP,MACC,EACG,OAAO;EACN,YAAYA,YAAU,SAAS;EAC/B,UAAU,EACP,MAAMA,YAAU,GAAG,EAAE,OAAO,CAAC,CAAC,EAC9B,SACC,mGACF;EACF,SAASA,YAAU,SAAS;EAC5B,SAASA,YAAU,SAAS;CAC9B,CAAC,EACA,YAAY,CACjB,EACC,SAAS,8BAA8B;CAC1C,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,aAAa,EAAE,OAAO,EAAE,SAAS;CACjC,gBAAgB,EAAE,OAAO,EAAE,SAAS;CACpC,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,gBAAgB,EAAE,OAAO,EAAE,SAAS;CACpC,QAAQA,YAAU,SAAS;CAC3B,WAAWA,YAAU,SAAS;CAC9B,UAAUA,YAAU,SAAS;CAC7B,cAAcA,YAAU,SAAS;CACjC,WAAW,EAAE,OAAO,EAAE,OAAO,GAAGA,WAAS,EAAE,SAAS;CACpD,UAAU,EAAE,OAAO,EAAE,OAAO,GAAGA,WAAS,EAAE,SAAS;CACnD,YAAYA,YAAU,SAAS;CAC/B,UAAUA,YAAU,SAAS;CAC7B,0BAA0B,EAAE,OAAO,EAAE,SAAS;CAC9C,eAAeA,YAAU,SAAS;CAClC,kBAAkB,EAAE,MAAMA,WAAS,EAAE,SAAS;CAC9C,4BAA4B,EAAE,QAAQ,EAAE,SAAS;CACjD,gBAAgB,EAAE,OAAO,EAAE,SAAS;CACpC,OAAO,EAAE,MAAMA,WAAS,EAAE,SAAS;CACnC,aAAaA,YAAU,SAAS;CAChC,yBAAyB,EAAE,OAAO,EAAE,SAAS;CAC7C,MAAM,EAAE,OAAO,EAAE,SAAS;CAC1B,MAAMA,YAAU,SAAS;CACzB,iBAAiBA,YAAU,SAAS;CACpC,wBAAwB,EAAE,QAAQ,EAAE,SAAS;CAC7C,oBAAoB,EAAE,QAAQ,EAAE,SAAS;CACzC,kBAAkB,EAAE,QAAQ,EAAE,SAAS;CACvC,iBAAiB,EAAE,QAAQ,EAAE,SAAS;CACtC,SAAS,EAAE,MAAMA,WAAS,EAAE,SAAS;CACrC,oBAAoB,EAAE,QAAQ,EAAE,SAAS;AAC3C,CAAC,EACA,YAAY;;;ACtDf,MAAMC,cAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,aAAa;AAE1E,MAAa,aAAa,EACvB,OAAO;CACN,QAAQ,EACL,MACC,EACG,OAAO;EACN,UAAU,EACP,MAAMA,YAAU,GAAG,EAAE,OAAO,CAAC,CAAC,EAC9B,SACC,8GACF;EACF,YAAYA,YAAU,SAAS;EAC/B,YAAYA,YAAU,SAAS;EAC/B,OAAO,EAAE,OAAO,EAAE,SAAS;EAC3B,QAAQ,EAAE,OAAO,EAAE,SAAS;EAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;EAC5B,UAAU,EAAE,MAAMA,WAAS,EAAE,SAAS;EACtC,cAAcA,YAAU,SAAS;CACnC,CAAC,EACA,YAAY,CACjB,EACC,SAAS,gCAAgC;CAC5C,MAAM,EACH,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,KAAK,CAAC,GAAG,EAAE,OAAO;EAAE,OAAO,EAAE,OAAO;EAAG,QAAQ,EAAE,OAAO;CAAE,CAAC,CAAC,CAAC,EACpF,SAAS,EACT,SAAS,qDAAiD;CAC7D,SAAS,EAAE,MAAMA,WAAS,EAAE,SAAS,EAAE,SAAS,0BAA0B;CAC1E,MAAMA,YAAU,SAAS;CACzB,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,aAAa,EAAE,OAAO,EAAE,SAAS;CACjC,gBAAgB,EAAE,OAAO,EAAE,SAAS;CACpC,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC,EACA,YAAY;;;ACtCf,MAAM,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,aAAa;AAE1E,MAAa,aAAa,EACvB,OAAO;CACN,YAAY,EACT,MACC,EACG,OAAO;EACN,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oBAAoB;EACzD,UAAU,EACP,MACC,EACG,OAAO;GACN,OAAO,EACJ,MAAM,UAAU,GAAG,EAAE,MAAM;IAAC,EAAE,OAAO;IAAG,EAAE,OAAO;IAAG,EAAE,QAAQ;GAAC,CAAC,CAAC,CAAC,EAClE,SAAS;GACZ,QAAQ,EAAE,OAAO,EAAE,SAAS;GAC5B,QAAQ,EAAE,QAAQ,EAAE,SAAS;GAC7B,WAAW,EAAE,OAAO,EAAE,SAAS;EACjC,CAAC,EACA,YAAY,CACjB,EACC,SAAS,EACT,SAAS,gFAA0E;EACtF,SAAS,EAAE,MAAM,SAAS,EAAE,SAAS;EACrC,YAAY,EAAE,MAAM,SAAS,EAAE,SAAS;EACxC,aAAa,UAAU,SAAS;EAChC,YAAY,EAAE,OAAO,EAAE,SAAS;EAChC,QAAQ,EAAE,MAAM,SAAS,EAAE,SAAS;EACpC,QAAQ,EAAE,MAAM,SAAS,EAAE,SAAS;EACpC,iBAAiB,EAAE,MAAM,SAAS,EAAE,SAAS;EAC7C,oBAAoB,EAAE,MAAM,SAAS,EAAE,SAAS;CAClD,CAAC,EACA,YAAY,CACjB,EACC,SAAS,gCAAgC;CAC5C,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,aAAa,EAAE,OAAO,EAAE,SAAS;CACjC,gBAAgB,EAAE,OAAO,EAAE,SAAS;CACpC,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC,EACA,YAAY;;;ACtCf,MAAa,UAAU;CACrB,MAAM;CACN,MAAM;CACN,MAAM;AACR;AAIA,SAAgB,sBAAsB,MAAoB,MAAwC;CAChG,MAAM,SAAS,QAAQ,MAAM,UAAU,IAAI;CAC3C,IAAI,CAAC,OAAO,SAAS;EACnB,MAAM,QAAQ,OAAO,MAAM,OAAO;EAClC,MAAM,OAAO,MAAM,KAAK,KAAK,GAAG;EAChC,MAAM,IAAI,MAAM,WAAW,KAAK,UAAU,OAAO,QAAQ,KAAK,KAAK,GAAG,IAAI,MAAM,SAAS;CAC3F;CACA,OAAO,OAAO;AAChB"}