@hirokisakabe/pom 8.3.0 → 8.4.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.
- package/README.md +35 -23
- package/dist/autoFit/autoFit.js +1 -1
- package/dist/autoFit/autoFit.js.map +1 -1
- package/dist/autoFit/strategies/reduceFontSize.js +16 -14
- package/dist/autoFit/strategies/reduceFontSize.js.map +1 -1
- package/dist/autoFit/strategies/reduceGapAndPadding.js +13 -20
- package/dist/autoFit/strategies/reduceGapAndPadding.js.map +1 -1
- package/dist/autoFit/strategies/reduceTableRowHeight.js +8 -2
- package/dist/autoFit/strategies/reduceTableRowHeight.js.map +1 -1
- package/dist/autoFit/strategies/uniformScale.js +19 -20
- package/dist/autoFit/strategies/uniformScale.js.map +1 -1
- package/dist/autoFit/strategyResult.js +15 -0
- package/dist/autoFit/strategyResult.js.map +1 -0
- package/dist/buildPptx.js +1 -1
- package/dist/calcYogaLayout/calcYogaLayout.js +16 -27
- package/dist/calcYogaLayout/calcYogaLayout.js.map +1 -1
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/parseXml/coercionRules.js +43 -8
- package/dist/parseXml/coercionRules.js.map +1 -1
- package/dist/parseXml/parseXml.d.ts +8 -3
- package/dist/parseXml/parseXml.d.ts.map +1 -1
- package/dist/parseXml/parseXml.js +192 -212
- package/dist/parseXml/parseXml.js.map +1 -1
- package/dist/parseXml/serializeXml.d.ts.map +1 -1
- package/dist/parseXml/serializeXml.js +12 -17
- package/dist/parseXml/serializeXml.js.map +1 -1
- package/dist/registry/definitions/arrow.js +2 -2
- package/dist/registry/definitions/arrow.js.map +1 -1
- package/dist/registry/definitions/chart.js +2 -2
- package/dist/registry/definitions/chart.js.map +1 -1
- package/dist/registry/definitions/compositeNodes.js +7 -12
- package/dist/registry/definitions/compositeNodes.js.map +1 -1
- package/dist/registry/definitions/icon.js +2 -2
- package/dist/registry/definitions/icon.js.map +1 -1
- package/dist/registry/definitions/image.js +2 -2
- package/dist/registry/definitions/image.js.map +1 -1
- package/dist/registry/definitions/layer.js +4 -5
- package/dist/registry/definitions/layer.js.map +1 -1
- package/dist/registry/definitions/line.js +2 -2
- package/dist/registry/definitions/line.js.map +1 -1
- package/dist/registry/definitions/list.js +3 -4
- package/dist/registry/definitions/list.js.map +1 -1
- package/dist/registry/definitions/shape.js +2 -2
- package/dist/registry/definitions/shape.js.map +1 -1
- package/dist/registry/definitions/stack.js +3 -4
- package/dist/registry/definitions/stack.js.map +1 -1
- package/dist/registry/definitions/svg.js +2 -2
- package/dist/registry/definitions/svg.js.map +1 -1
- package/dist/registry/definitions/table.js +2 -2
- package/dist/registry/definitions/table.js.map +1 -1
- package/dist/registry/definitions/text.js +2 -2
- package/dist/registry/definitions/text.js.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/nodeMetadata.js +208 -0
- package/dist/registry/nodeMetadata.js.map +1 -0
- package/dist/registry/nodeRegistry.js +3 -0
- package/dist/registry/nodeRegistry.js.map +1 -1
- package/dist/registry/xmlChildRules.js +55 -0
- package/dist/registry/xmlChildRules.js.map +1 -0
- package/dist/renderPptx/nodes/arrow.js +7 -28
- package/dist/renderPptx/nodes/arrow.js.map +1 -1
- package/dist/renderPptx/nodes/chart.js +2 -7
- package/dist/renderPptx/nodes/chart.js.map +1 -1
- package/dist/renderPptx/nodes/flow.js +6 -13
- package/dist/renderPptx/nodes/flow.js.map +1 -1
- package/dist/renderPptx/nodes/icon.js +4 -2
- package/dist/renderPptx/nodes/icon.js.map +1 -1
- package/dist/renderPptx/nodes/image.js +5 -13
- package/dist/renderPptx/nodes/image.js.map +1 -1
- package/dist/renderPptx/nodes/line.js +9 -33
- package/dist/renderPptx/nodes/line.js.map +1 -1
- package/dist/renderPptx/nodes/list.js +8 -20
- package/dist/renderPptx/nodes/list.js.map +1 -1
- package/dist/renderPptx/nodes/matrix.js +10 -11
- package/dist/renderPptx/nodes/matrix.js.map +1 -1
- package/dist/renderPptx/nodes/processArrow.js +9 -16
- package/dist/renderPptx/nodes/processArrow.js.map +1 -1
- package/dist/renderPptx/nodes/pyramid.js +5 -7
- package/dist/renderPptx/nodes/pyramid.js.map +1 -1
- package/dist/renderPptx/nodes/shape.js +7 -20
- package/dist/renderPptx/nodes/shape.js.map +1 -1
- package/dist/renderPptx/nodes/svg.js +2 -5
- package/dist/renderPptx/nodes/svg.js.map +1 -1
- package/dist/renderPptx/nodes/table.js +2 -5
- package/dist/renderPptx/nodes/table.js.map +1 -1
- package/dist/renderPptx/nodes/text.js +4 -1
- package/dist/renderPptx/nodes/text.js.map +1 -1
- package/dist/renderPptx/nodes/timeline.js +20 -22
- package/dist/renderPptx/nodes/timeline.js.map +1 -1
- package/dist/renderPptx/nodes/tree.js +5 -5
- package/dist/renderPptx/nodes/tree.js.map +1 -1
- package/dist/renderPptx/renderPptx.js +13 -29
- package/dist/renderPptx/renderPptx.js.map +1 -1
- package/dist/renderPptx/textOptions.js +32 -8
- package/dist/renderPptx/textOptions.js.map +1 -1
- package/dist/renderPptx/units.js +11 -1
- package/dist/renderPptx/units.js.map +1 -1
- package/dist/renderPptx/utils/backgroundBorder.js +103 -57
- package/dist/renderPptx/utils/backgroundBorder.js.map +1 -1
- package/dist/renderPptx/utils/contentArea.js +26 -9
- package/dist/renderPptx/utils/contentArea.js.map +1 -1
- package/dist/renderPptx/utils/scaleToFit.js +17 -1
- package/dist/renderPptx/utils/scaleToFit.js.map +1 -1
- package/dist/renderPptx/utils/straightLine.js +41 -0
- package/dist/renderPptx/utils/straightLine.js.map +1 -0
- package/dist/renderPptx/utils/visualStyle.js +113 -0
- package/dist/renderPptx/utils/visualStyle.js.map +1 -0
- package/dist/shared/boxSpacing.js +63 -0
- package/dist/shared/boxSpacing.js.map +1 -0
- package/dist/shared/walkTree.js +1 -7
- package/dist/shared/walkTree.js.map +1 -1
- package/dist/toPositioned/toPositioned.js +1 -1
- package/dist/toPositioned/toPositioned.js.map +1 -1
- package/dist/types.d.ts +1127 -95
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +47 -17
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;cA4GM,gBAAA,EAAgB,CAAA,CAAA,OAAA;;;;;;cAMhB,cAAA,EAAc,CAAA,CAAA,OAAA;;;;;cAEd,oBAAA,EAAoB,CAAA,CAAA,OAAA;;;;;;;;KAiMd,UAAA,GAAa,CAAA,CAAE,KAAK,QAAQ,gBAAA;AAAA,KAC5B,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,KAC1B,cAAA,GAAiB,CAAA,CAAE,KAAK,QAAQ,oBAAA;AAAA,cAuBtC,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BlB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,cAiBrB,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCd,YAAA,EAAY,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAeZ,YAAA,EAAY,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyBZ,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBf,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUf,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,cAEzB,aAAA,EAAa,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQd,OAAA,GAAU,CAAA,CAAE,KAAK,QAAQ,aAAA;AAAA,cA4BxB,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQf,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoCf,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAYhB,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,KAE1B,MAAA,GAAS,CAAA,CAAE,KAAK,QAAQ,YAAA;AAAA,KACxB,MAAA,GAAS,CAAA,CAAE,KAAK,QAAQ,YAAA;AAAA,KACxB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,KAC3B,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,KAC3B,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,KAC3B,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,cAY1B,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KASnB,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,cAuB7B,gBAAA,EAAgB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUjB,UAAA,GAAa,CAAA,CAAE,KAAK,QAAQ,gBAAA;AAAA,KAY5B,YAAA;EACV,KAAA;EACA,KAAA;EACA,SAAA;EACA,QAAA,GAAW,YAAY;AAAA;AAAA,cAYZ,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAef,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,cAWzB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBvB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,cAWjC,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KASlB,WAAA,GAAc,CAAA,CAAE,KAAK,QAAQ,iBAAA;AAAA,cA+C5B,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWf,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,cAkBzB,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAcf,QAAA,GAAW,CAAA,CAAE,KAAK,QAAQ,cAAA;AAAA,cAGzB,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWhB,SAAA,GAAY,CAAA,CAAE,KAAK,QAAQ,eAAA;AAAA,KAQ3B,UAAA,GAAa,WAAA;EACvB,IAAA;EACA,QAAA,EAAU,OAAA;EACV,GAAA;EACA,UAAA,GAAa,UAAA;EACb,cAAA,GAAiB,cAAA;EACjB,QAAA,GAAW,QAAA;AAAA;AAAA,KAGD,UAAA,GAAa,WAAA;EACvB,IAAA;EACA,QAAA,EAAU,OAAA;EACV,GAAA;EACA,UAAA,GAAa,UAAA;EACb,cAAA,GAAiB,cAAA;EACjB,QAAA,GAAW,QAAA;AAAA;AAAA,KAIR,UAAA,GAAa,OAAO;EACvB,CAAA;EACA,CAAA;AAAA;AAAA,KAGU,SAAA,GAAY,WAAA;EACtB,IAAA;EACA,QAAA,EAAU,UAAU;AAAA;AAAA,KAGV,OAAA,GACR,QAAA,GACA,MAAA,GACA,MAAA,GACA,SAAA,GACA,SAAA,GACA,UAAA,GACA,UAAA,GACA,SAAA,GACA,SAAA,GACA,YAAA,GACA,UAAA,GACA,QAAA,GACA,QAAA,GACA,gBAAA,GACA,WAAA,GACA,QAAA,GACA,SAAA,GACA,SAAA,GACA,QAAA,GACA,OAAA;AAAA,cA4JE,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBtB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;cASvB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;cAUtB,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cASf,kBAAA,EAAkB,CAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAOzB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;cAUxB,2BAAA,EAA2B,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,SAAA;;;;;;;;;cAO3B,uBAAA,EAAuB,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,SAAA;;;;;;cAUhB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQzB,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,KAClC,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,KACnC,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,KAClC,gBAAA,GAAmB,CAAA,CAAE,KAAK,QAAQ,sBAAA;AAAA,KAClC,YAAA,GAAe,CAAA,CAAE,KAAK,QAAQ,kBAAA;AAAA,KAC9B,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA;AAAA,KACpC,qBAAA,GAAwB,CAAA,CAAE,KAAK,QAAQ,2BAAA;AAAA,KACvC,iBAAA,GAAoB,CAAA,CAAE,KAAK,QAAQ,uBAAA;AAAA,KACnC,kBAAA,GAAqB,CAAA,CAAE,KAAK,QAAQ,wBAAA"}
|
package/dist/types.js
CHANGED
|
@@ -79,6 +79,15 @@ const underlineSchema = z.union([z.boolean(), z.object({
|
|
|
79
79
|
style: underlineStyleSchema.optional(),
|
|
80
80
|
color: z.string().optional()
|
|
81
81
|
})]);
|
|
82
|
+
const textGlowSchema = z.object({
|
|
83
|
+
size: z.number().nonnegative().optional(),
|
|
84
|
+
opacity: z.number().min(0).max(1).optional(),
|
|
85
|
+
color: z.string().optional()
|
|
86
|
+
});
|
|
87
|
+
const textOutlineSchema = z.object({
|
|
88
|
+
size: z.number().nonnegative().optional(),
|
|
89
|
+
color: z.string().optional()
|
|
90
|
+
});
|
|
82
91
|
const alignItemsSchema = z.enum([
|
|
83
92
|
"start",
|
|
84
93
|
"center",
|
|
@@ -307,6 +316,10 @@ const basePOMNodeSchema = z.object({
|
|
|
307
316
|
backgroundGradient: backgroundGradientSchema.optional(),
|
|
308
317
|
backgroundImage: backgroundImageSchema.optional(),
|
|
309
318
|
border: borderStyleSchema.optional(),
|
|
319
|
+
borderTop: borderStyleSchema.optional(),
|
|
320
|
+
borderRight: borderStyleSchema.optional(),
|
|
321
|
+
borderBottom: borderStyleSchema.optional(),
|
|
322
|
+
borderLeft: borderStyleSchema.optional(),
|
|
310
323
|
borderRadius: z.number().optional(),
|
|
311
324
|
opacity: z.number().min(0).max(1).optional(),
|
|
312
325
|
zIndex: z.number().optional(),
|
|
@@ -334,6 +347,7 @@ const textNodeSchema = basePOMNodeSchema.extend({
|
|
|
334
347
|
type: z.literal("text"),
|
|
335
348
|
text: z.string(),
|
|
336
349
|
runs: z.array(textRunSchema).optional(),
|
|
350
|
+
rotate: z.number().optional(),
|
|
337
351
|
fontSize: z.number().optional(),
|
|
338
352
|
color: z.string().optional(),
|
|
339
353
|
textAlign: z.enum([
|
|
@@ -348,7 +362,9 @@ const textNodeSchema = basePOMNodeSchema.extend({
|
|
|
348
362
|
highlight: z.string().optional(),
|
|
349
363
|
fontFamily: z.string().optional(),
|
|
350
364
|
lineHeight: z.number().optional(),
|
|
351
|
-
letterSpacing: z.number().optional()
|
|
365
|
+
letterSpacing: z.number().optional(),
|
|
366
|
+
glow: textGlowSchema.optional(),
|
|
367
|
+
outline: textOutlineSchema.optional()
|
|
352
368
|
});
|
|
353
369
|
const liNodeSchema = z.object({
|
|
354
370
|
text: z.string(),
|
|
@@ -414,7 +430,8 @@ const imageSizingSchema = z.object({
|
|
|
414
430
|
const imageNodeSchema = basePOMNodeSchema.extend({
|
|
415
431
|
type: z.literal("image"),
|
|
416
432
|
src: z.string(),
|
|
417
|
-
sizing: imageSizingSchema.optional()
|
|
433
|
+
sizing: imageSizingSchema.optional(),
|
|
434
|
+
rotate: z.number().optional()
|
|
418
435
|
});
|
|
419
436
|
const iconNameSchema = z.enum(Object.keys(ICON_DATA));
|
|
420
437
|
const iconColorSchema = z.string().regex(/^#?[0-9a-fA-F]{3,8}$/).optional();
|
|
@@ -430,7 +447,8 @@ const iconNodeSchema = basePOMNodeSchema.extend({
|
|
|
430
447
|
size: z.number().positive().max(1024).optional(),
|
|
431
448
|
color: iconColorSchema,
|
|
432
449
|
variant: iconVariantSchema,
|
|
433
|
-
bgColor: iconColorSchema
|
|
450
|
+
bgColor: iconColorSchema,
|
|
451
|
+
rotate: z.number().optional()
|
|
434
452
|
});
|
|
435
453
|
const svgNodeSchema = basePOMNodeSchema.extend({
|
|
436
454
|
type: z.literal("svg"),
|
|
@@ -475,6 +493,7 @@ const shapeNodeSchema = basePOMNodeSchema.extend({
|
|
|
475
493
|
type: z.literal("shape"),
|
|
476
494
|
shapeType: shapeTypeSchema,
|
|
477
495
|
text: z.string().optional(),
|
|
496
|
+
rotate: z.number().optional(),
|
|
478
497
|
fill: fillStyleSchema.optional(),
|
|
479
498
|
line: borderStyleSchema.optional(),
|
|
480
499
|
fontSize: z.number().optional(),
|
|
@@ -530,7 +549,10 @@ const timelineItemSchema = z.object({
|
|
|
530
549
|
const timelineNodeSchema = basePOMNodeSchema.extend({
|
|
531
550
|
type: z.literal("timeline"),
|
|
532
551
|
direction: timelineDirectionSchema.optional(),
|
|
533
|
-
items: z.array(timelineItemSchema)
|
|
552
|
+
items: z.array(timelineItemSchema),
|
|
553
|
+
dateColor: z.string().optional(),
|
|
554
|
+
titleColor: z.string().optional(),
|
|
555
|
+
descriptionColor: z.string().optional()
|
|
534
556
|
});
|
|
535
557
|
const matrixAxisSchema = z.object({
|
|
536
558
|
x: z.string(),
|
|
@@ -546,13 +568,17 @@ const matrixItemSchema = z.object({
|
|
|
546
568
|
label: z.string(),
|
|
547
569
|
x: z.number().min(0).max(1),
|
|
548
570
|
y: z.number().min(0).max(1),
|
|
549
|
-
color: z.string().optional()
|
|
571
|
+
color: z.string().optional(),
|
|
572
|
+
textColor: z.string().optional()
|
|
550
573
|
});
|
|
551
574
|
const matrixNodeSchema = basePOMNodeSchema.extend({
|
|
552
575
|
type: z.literal("matrix"),
|
|
553
576
|
axes: matrixAxisSchema,
|
|
554
577
|
quadrants: matrixQuadrantsSchema.optional(),
|
|
555
|
-
items: z.array(matrixItemSchema)
|
|
578
|
+
items: z.array(matrixItemSchema),
|
|
579
|
+
axisLabelColor: z.string().optional(),
|
|
580
|
+
quadrantLabelColor: z.string().optional(),
|
|
581
|
+
itemLabelColor: z.string().optional()
|
|
556
582
|
});
|
|
557
583
|
const treeLayoutSchema = z.enum(["vertical", "horizontal"]);
|
|
558
584
|
const treeNodeShapeSchema = z.enum([
|
|
@@ -567,6 +593,7 @@ const treeConnectorStyleSchema = z.object({
|
|
|
567
593
|
const treeDataItemSchema = z.lazy(() => z.object({
|
|
568
594
|
label: z.string(),
|
|
569
595
|
color: z.string().optional(),
|
|
596
|
+
textColor: z.string().optional(),
|
|
570
597
|
children: z.array(treeDataItemSchema).optional()
|
|
571
598
|
}));
|
|
572
599
|
const treeNodeSchema = basePOMNodeSchema.extend({
|
|
@@ -574,6 +601,7 @@ const treeNodeSchema = basePOMNodeSchema.extend({
|
|
|
574
601
|
layout: treeLayoutSchema.optional(),
|
|
575
602
|
nodeShape: treeNodeShapeSchema.optional(),
|
|
576
603
|
data: treeDataItemSchema,
|
|
604
|
+
textColor: z.string().optional(),
|
|
577
605
|
connectorStyle: treeConnectorStyleSchema.optional(),
|
|
578
606
|
nodeWidth: z.number().optional(),
|
|
579
607
|
nodeHeight: z.number().optional(),
|
|
@@ -643,11 +671,13 @@ const flowConnectionSchema = z.object({
|
|
|
643
671
|
from: z.string(),
|
|
644
672
|
to: z.string(),
|
|
645
673
|
label: z.string().optional(),
|
|
646
|
-
color: z.string().optional()
|
|
674
|
+
color: z.string().optional(),
|
|
675
|
+
labelColor: z.string().optional()
|
|
647
676
|
});
|
|
648
677
|
const flowConnectorStyleSchema = z.object({
|
|
649
678
|
color: z.string().optional(),
|
|
650
679
|
width: z.number().optional(),
|
|
680
|
+
labelColor: z.string().optional(),
|
|
651
681
|
arrowType: z.enum([
|
|
652
682
|
"none",
|
|
653
683
|
"arrow",
|
|
@@ -699,7 +729,7 @@ const arrowNodeSchema = basePOMNodeSchema.extend({
|
|
|
699
729
|
beginArrow: lineArrowSchema.optional(),
|
|
700
730
|
endArrow: lineArrowSchema.optional()
|
|
701
731
|
});
|
|
702
|
-
const
|
|
732
|
+
const vStackNodeSchema = basePOMNodeSchema.extend({
|
|
703
733
|
type: z.literal("vstack"),
|
|
704
734
|
children: z.array(z.lazy(() => pomNodeSchema)),
|
|
705
735
|
gap: z.number().optional(),
|
|
@@ -707,7 +737,7 @@ const vStackNodeSchemaBase = basePOMNodeSchema.extend({
|
|
|
707
737
|
justifyContent: justifyContentSchema.optional(),
|
|
708
738
|
flexWrap: flexWrapSchema.optional()
|
|
709
739
|
});
|
|
710
|
-
const
|
|
740
|
+
const hStackNodeSchema = basePOMNodeSchema.extend({
|
|
711
741
|
type: z.literal("hstack"),
|
|
712
742
|
children: z.array(z.lazy(() => pomNodeSchema)),
|
|
713
743
|
gap: z.number().optional(),
|
|
@@ -719,7 +749,7 @@ const layerChildSchemaBase = z.lazy(() => pomNodeSchema.and(z.object({
|
|
|
719
749
|
x: z.number(),
|
|
720
750
|
y: z.number()
|
|
721
751
|
})));
|
|
722
|
-
const
|
|
752
|
+
const layerNodeSchema = basePOMNodeSchema.extend({
|
|
723
753
|
type: z.literal("layer"),
|
|
724
754
|
children: z.array(layerChildSchemaBase)
|
|
725
755
|
});
|
|
@@ -729,8 +759,8 @@ const pomNodeSchema = z.lazy(() => z.discriminatedUnion("type", [
|
|
|
729
759
|
olNodeSchema,
|
|
730
760
|
imageNodeSchema,
|
|
731
761
|
tableNodeSchema,
|
|
732
|
-
|
|
733
|
-
|
|
762
|
+
vStackNodeSchema,
|
|
763
|
+
hStackNodeSchema,
|
|
734
764
|
shapeNodeSchema,
|
|
735
765
|
chartNodeSchema,
|
|
736
766
|
timelineNodeSchema,
|
|
@@ -741,7 +771,7 @@ const pomNodeSchema = z.lazy(() => z.discriminatedUnion("type", [
|
|
|
741
771
|
pyramidNodeSchema,
|
|
742
772
|
lineNodeSchema,
|
|
743
773
|
arrowNodeSchema,
|
|
744
|
-
|
|
774
|
+
layerNodeSchema,
|
|
745
775
|
iconNodeSchema,
|
|
746
776
|
svgNodeSchema
|
|
747
777
|
]));
|
|
@@ -761,8 +791,8 @@ const positionedNodeSchema = z.lazy(() => z.union([
|
|
|
761
791
|
olNodeSchema.merge(positionedBaseSchema),
|
|
762
792
|
imageNodeSchema.merge(positionedBaseSchema).extend({ imageData: z.string().optional() }),
|
|
763
793
|
tableNodeSchema.merge(positionedBaseSchema),
|
|
764
|
-
|
|
765
|
-
|
|
794
|
+
vStackNodeSchema.merge(positionedBaseSchema).extend({ children: z.array(z.lazy(() => positionedNodeSchema)) }),
|
|
795
|
+
hStackNodeSchema.merge(positionedBaseSchema).extend({ children: z.array(z.lazy(() => positionedNodeSchema)) }),
|
|
766
796
|
shapeNodeSchema.merge(positionedBaseSchema),
|
|
767
797
|
chartNodeSchema.merge(positionedBaseSchema),
|
|
768
798
|
timelineNodeSchema.merge(positionedBaseSchema),
|
|
@@ -773,7 +803,7 @@ const positionedNodeSchema = z.lazy(() => z.union([
|
|
|
773
803
|
pyramidNodeSchema.merge(positionedBaseSchema),
|
|
774
804
|
lineNodeSchema.merge(positionedBaseSchema),
|
|
775
805
|
arrowNodeSchema.merge(positionedBaseSchema),
|
|
776
|
-
|
|
806
|
+
layerNodeSchema.merge(positionedBaseSchema).extend({ children: z.array(positionedLayerChildSchema) }),
|
|
777
807
|
iconNodeSchema.merge(positionedBaseSchema).extend({ iconImageData: z.string() }),
|
|
778
808
|
svgNodeSchema.merge(positionedBaseSchema).extend({ iconImageData: z.string() })
|
|
779
809
|
]));
|
|
@@ -858,6 +888,6 @@ z.object({
|
|
|
858
888
|
slideNumber: slideNumberOptionsSchema.optional()
|
|
859
889
|
});
|
|
860
890
|
//#endregion
|
|
861
|
-
export { arrowNodeSchema, chartNodeSchema, flowNodeSchema, iconNodeSchema, imageNodeSchema, lineNodeSchema, matrixNodeSchema, olNodeSchema, processArrowNodeSchema, pyramidNodeSchema, shapeNodeSchema, tableNodeSchema, textNodeSchema, timelineNodeSchema, treeNodeSchema, ulNodeSchema };
|
|
891
|
+
export { arrowNodeSchema, chartNodeSchema, flowNodeSchema, hStackNodeSchema, iconNodeSchema, imageNodeSchema, layerNodeSchema, lineNodeSchema, matrixNodeSchema, olNodeSchema, processArrowNodeSchema, pyramidNodeSchema, shapeNodeSchema, svgNodeSchema, tableNodeSchema, textNodeSchema, timelineNodeSchema, treeNodeSchema, ulNodeSchema, vStackNodeSchema };
|
|
862
892
|
|
|
863
893
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { ICON_DATA } from \"./icons/iconData.ts\";\nimport { parseLinearGradient } from \"./shared/gradient.ts\";\n\n// ===== Basic Types =====\nconst lengthSchema = z.union([\n z.number(),\n z.literal(\"max\"),\n z.string().regex(/^\\d+%$/),\n]);\n\nconst paddingSchema = z.union([\n z.number(),\n z.object({\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n }),\n]);\n\nconst borderDashSchema = z.enum([\n \"solid\",\n \"dash\",\n \"dashDot\",\n \"lgDash\",\n \"lgDashDot\",\n \"lgDashDotDot\",\n \"sysDash\",\n \"sysDot\",\n]);\n\nconst borderStyleSchema = z.object({\n color: z.string().optional(),\n width: z.number().optional(),\n dashType: borderDashSchema.optional(),\n});\n\nconst fillStyleSchema = z.object({\n color: z.string().optional(),\n transparency: z.number().optional(),\n});\n\nexport const shadowStyleSchema = z.object({\n type: z.enum([\"outer\", \"inner\"]).optional(),\n opacity: z.number().optional(),\n blur: z.number().optional(),\n angle: z.number().optional(),\n offset: z.number().optional(),\n color: z.string().optional(),\n});\n\nconst bulletNumberTypeSchema = z.enum([\n \"alphaLcParenBoth\",\n \"alphaLcParenR\",\n \"alphaLcPeriod\",\n \"alphaUcParenBoth\",\n \"alphaUcParenR\",\n \"alphaUcPeriod\",\n \"arabicParenBoth\",\n \"arabicParenR\",\n \"arabicPeriod\",\n \"arabicPlain\",\n \"romanLcParenBoth\",\n \"romanLcParenR\",\n \"romanLcPeriod\",\n \"romanUcParenBoth\",\n \"romanUcParenR\",\n \"romanUcPeriod\",\n]);\n\nexport const underlineStyleSchema = z.enum([\n \"dash\",\n \"dashHeavy\",\n \"dashLong\",\n \"dashLongHeavy\",\n \"dbl\",\n \"dotDash\",\n \"dotDotDash\",\n \"dotted\",\n \"dottedHeavy\",\n \"heavy\",\n \"none\",\n \"sng\",\n \"wavy\",\n \"wavyDbl\",\n \"wavyHeavy\",\n]);\n\nexport const underlineSchema = z.union([\n z.boolean(),\n z.object({\n style: underlineStyleSchema.optional(),\n color: z.string().optional(),\n }),\n]);\n\nconst alignItemsSchema = z.enum([\"start\", \"center\", \"end\", \"stretch\"]);\n\nconst alignSelfSchema = z.enum([\"auto\", \"start\", \"center\", \"end\", \"stretch\"]);\n\nconst positionTypeSchema = z.enum([\"relative\", \"absolute\"]);\n\nconst flexWrapSchema = z.enum([\"nowrap\", \"wrap\", \"wrapReverse\"]);\n\nconst justifyContentSchema = z.enum([\n \"start\",\n \"center\",\n \"end\",\n \"spaceBetween\",\n \"spaceAround\",\n \"spaceEvenly\",\n]);\n\nconst shapeTypeSchema = z.enum([\n \"accentBorderCallout1\",\n \"accentBorderCallout2\",\n \"accentBorderCallout3\",\n \"accentCallout1\",\n \"accentCallout2\",\n \"accentCallout3\",\n \"actionButtonBackPrevious\",\n \"actionButtonBeginning\",\n \"actionButtonBlank\",\n \"actionButtonDocument\",\n \"actionButtonEnd\",\n \"actionButtonForwardNext\",\n \"actionButtonHelp\",\n \"actionButtonHome\",\n \"actionButtonInformation\",\n \"actionButtonMovie\",\n \"actionButtonReturn\",\n \"actionButtonSound\",\n \"arc\",\n \"bentArrow\",\n \"bentUpArrow\",\n \"bevel\",\n \"blockArc\",\n \"borderCallout1\",\n \"borderCallout2\",\n \"borderCallout3\",\n \"bracePair\",\n \"bracketPair\",\n \"callout1\",\n \"callout2\",\n \"callout3\",\n \"can\",\n \"chartPlus\",\n \"chartStar\",\n \"chartX\",\n \"chevron\",\n \"chord\",\n \"circularArrow\",\n \"cloud\",\n \"cloudCallout\",\n \"corner\",\n \"cornerTabs\",\n \"cube\",\n \"curvedDownArrow\",\n \"curvedLeftArrow\",\n \"curvedRightArrow\",\n \"curvedUpArrow\",\n \"decagon\",\n \"diagStripe\",\n \"diamond\",\n \"dodecagon\",\n \"donut\",\n \"doubleWave\",\n \"downArrow\",\n \"downArrowCallout\",\n \"ellipse\",\n \"ellipseRibbon\",\n \"ellipseRibbon2\",\n \"flowChartAlternateProcess\",\n \"flowChartCollate\",\n \"flowChartConnector\",\n \"flowChartDecision\",\n \"flowChartDelay\",\n \"flowChartDisplay\",\n \"flowChartDocument\",\n \"flowChartExtract\",\n \"flowChartInputOutput\",\n \"flowChartInternalStorage\",\n \"flowChartMagneticDisk\",\n \"flowChartMagneticDrum\",\n \"flowChartMagneticTape\",\n \"flowChartManualInput\",\n \"flowChartManualOperation\",\n \"flowChartMerge\",\n \"flowChartMultidocument\",\n \"flowChartOfflineStorage\",\n \"flowChartOffpageConnector\",\n \"flowChartOnlineStorage\",\n \"flowChartOr\",\n \"flowChartPredefinedProcess\",\n \"flowChartPreparation\",\n \"flowChartProcess\",\n \"flowChartPunchedCard\",\n \"flowChartPunchedTape\",\n \"flowChartSort\",\n \"flowChartSummingJunction\",\n \"flowChartTerminator\",\n \"folderCorner\",\n \"frame\",\n \"funnel\",\n \"gear6\",\n \"gear9\",\n \"halfFrame\",\n \"heart\",\n \"heptagon\",\n \"hexagon\",\n \"homePlate\",\n \"horizontalScroll\",\n \"irregularSeal1\",\n \"irregularSeal2\",\n \"leftArrow\",\n \"leftArrowCallout\",\n \"leftBrace\",\n \"leftBracket\",\n \"leftCircularArrow\",\n \"leftRightArrow\",\n \"leftRightArrowCallout\",\n \"leftRightCircularArrow\",\n \"leftRightRibbon\",\n \"leftRightUpArrow\",\n \"leftUpArrow\",\n \"lightningBolt\",\n \"line\",\n \"lineInv\",\n \"mathDivide\",\n \"mathEqual\",\n \"mathMinus\",\n \"mathMultiply\",\n \"mathNotEqual\",\n \"mathPlus\",\n \"moon\",\n \"noSmoking\",\n \"nonIsoscelesTrapezoid\",\n \"notchedRightArrow\",\n \"octagon\",\n \"parallelogram\",\n \"pentagon\",\n \"pie\",\n \"pieWedge\",\n \"plaque\",\n \"plaqueTabs\",\n \"plus\",\n \"quadArrow\",\n \"quadArrowCallout\",\n \"rect\",\n \"ribbon\",\n \"ribbon2\",\n \"rightArrow\",\n \"rightArrowCallout\",\n \"rightBrace\",\n \"rightBracket\",\n \"round1Rect\",\n \"round2DiagRect\",\n \"round2SameRect\",\n \"roundRect\",\n \"rtTriangle\",\n \"smileyFace\",\n \"snip1Rect\",\n \"snip2DiagRect\",\n \"snip2SameRect\",\n \"snipRoundRect\",\n \"squareTabs\",\n \"star10\",\n \"star12\",\n \"star16\",\n \"star24\",\n \"star32\",\n \"star4\",\n \"star5\",\n \"star6\",\n \"star7\",\n \"star8\",\n \"stripedRightArrow\",\n \"sun\",\n \"swooshArrow\",\n \"teardrop\",\n \"trapezoid\",\n \"triangle\",\n \"upArrow\",\n \"upArrowCallout\",\n \"upDownArrow\",\n \"upDownArrowCallout\",\n \"uturnArrow\",\n \"verticalScroll\",\n \"wave\",\n \"wedgeEllipseCallout\",\n \"wedgeRectCallout\",\n \"wedgeRoundRectCallout\",\n]);\n\n// ===== TypeScript Types (defined early for recursive references) =====\nexport type ShadowStyle = z.infer<typeof shadowStyleSchema>;\nexport type AlignItems = z.infer<typeof alignItemsSchema>;\nexport type FlexWrap = z.infer<typeof flexWrapSchema>;\nexport type JustifyContent = z.infer<typeof justifyContentSchema>;\nexport type UnderlineStyle = z.infer<typeof underlineStyleSchema>;\nexport type Underline = z.infer<typeof underlineSchema>;\n\n// ===== Background Image =====\nconst backgroundImageSizingSchema = z.enum([\"cover\", \"contain\"]);\n\nconst backgroundImageSchema = z.object({\n src: z.string(),\n sizing: backgroundImageSizingSchema.optional(),\n});\n\n// ===== Background Gradient =====\nconst backgroundGradientSchema = z\n .string()\n .refine((value) => parseLinearGradient(value) !== null, {\n message:\n 'Invalid gradient syntax. Expected: linear-gradient(<angle>deg, <color> <position>%, ...) e.g. \"linear-gradient(135deg, #FF0000 0%, #0000FF 100%)\"',\n });\n\n// ===== Base Node =====\nconst basePOMNodeSchema = z.object({\n id: z.string().optional(),\n w: lengthSchema.optional(),\n h: lengthSchema.optional(),\n grow: z.number().positive().optional(),\n minW: z.number().optional(),\n maxW: z.number().optional(),\n minH: z.number().optional(),\n maxH: z.number().optional(),\n padding: paddingSchema.optional(),\n margin: paddingSchema.optional(),\n backgroundColor: z.string().optional(),\n backgroundGradient: backgroundGradientSchema.optional(),\n backgroundImage: backgroundImageSchema.optional(),\n border: borderStyleSchema.optional(),\n borderRadius: z.number().optional(),\n opacity: z.number().min(0).max(1).optional(),\n zIndex: z.number().optional(),\n position: positionTypeSchema.optional(),\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n alignSelf: alignSelfSchema.optional(),\n shadow: shadowStyleSchema.optional(),\n});\n\ntype BasePOMNode = z.infer<typeof basePOMNodeSchema>;\n\n// ===== Inline text run (partial bold/italic within a text node) =====\nconst textRunSchema = z.object({\n text: z.string(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: z.boolean().optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n color: z.string().optional(),\n href: z.string().optional(),\n fontFamily: z.string().optional(),\n letterSpacing: z.number().optional(),\n});\n\n// ===== Non-recursive Node Types =====\nexport const textNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"text\"),\n text: z.string(),\n runs: z.array(textRunSchema).optional(),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n letterSpacing: z.number().optional(),\n});\n\nexport const liNodeSchema = z.object({\n text: z.string(),\n runs: z.array(textRunSchema).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n color: z.string().optional(),\n fontSize: z.number().optional(),\n fontFamily: z.string().optional(),\n});\n\nexport const ulNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"ul\"),\n items: z.array(liNodeSchema),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n});\n\nexport const olNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"ol\"),\n items: z.array(liNodeSchema),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n numberType: bulletNumberTypeSchema.optional(),\n numberStartAt: z.number().optional(),\n});\n\nconst imageSizingSchema = z.object({\n type: z.enum([\"contain\", \"cover\", \"crop\"]),\n w: z.number().optional(),\n h: z.number().optional(),\n x: z.number().optional(),\n y: z.number().optional(),\n});\n\nexport const imageNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"image\"),\n src: z.string(),\n sizing: imageSizingSchema.optional(),\n});\n\nconst iconNameSchema = z.enum(Object.keys(ICON_DATA) as [string, ...string[]]);\n\nconst iconColorSchema = z\n .string()\n .regex(/^#?[0-9a-fA-F]{3,8}$/)\n .optional();\n\nconst iconVariantSchema = z\n .enum([\n \"circle-filled\",\n \"circle-outlined\",\n \"square-filled\",\n \"square-outlined\",\n ])\n .optional();\n\nexport const iconNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"icon\"),\n name: iconNameSchema,\n size: z.number().positive().max(1024).optional(),\n color: iconColorSchema,\n variant: iconVariantSchema,\n bgColor: iconColorSchema,\n});\n\nexport type IconNode = z.infer<typeof iconNodeSchema>;\n\nexport const svgNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"svg\"),\n svgContent: z.string(),\n w: z.number().positive().max(1024).optional(),\n h: z.number().positive().max(1024).optional(),\n color: iconColorSchema,\n});\n\nexport type SvgNode = z.infer<typeof svgNodeSchema>;\n\nconst tableCellSchema = z.object({\n text: z.string(),\n runs: z.array(textRunSchema).optional(),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n backgroundColor: z.string().optional(),\n colspan: z.number().int().min(1).optional(),\n rowspan: z.number().int().min(1).optional(),\n});\n\nconst tableRowSchema = z.object({\n cells: z.array(tableCellSchema),\n height: z.number().optional(),\n});\n\nconst tableColumnSchema = z.object({\n width: z.number().optional(),\n});\n\nexport const tableNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"table\"),\n columns: z.array(tableColumnSchema),\n rows: z.array(tableRowSchema),\n defaultRowHeight: z.number().optional(),\n cellBorder: borderStyleSchema.optional(),\n});\n\nexport const shapeNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"shape\"),\n shapeType: shapeTypeSchema,\n text: z.string().optional(),\n fill: fillStyleSchema.optional(),\n line: borderStyleSchema.optional(),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n});\n\nconst chartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"area\",\n \"doughnut\",\n \"radar\",\n]);\n\nconst radarStyleSchema = z.enum([\"standard\", \"marker\", \"filled\"]);\n\nconst chartDataSchema = z.object({\n name: z.string().optional(),\n labels: z.array(z.string()),\n values: z.array(z.number()),\n});\n\nexport const chartNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"chart\"),\n chartType: chartTypeSchema,\n data: z.array(chartDataSchema),\n showLegend: z.boolean().optional(),\n showTitle: z.boolean().optional(),\n title: z.string().optional(),\n chartColors: z.array(z.string()).optional(),\n // radar専用オプション\n radarStyle: radarStyleSchema.optional(),\n});\n\nexport type TextNode = z.infer<typeof textNodeSchema>;\nexport type LiNode = z.infer<typeof liNodeSchema>;\nexport type UlNode = z.infer<typeof ulNodeSchema>;\nexport type OlNode = z.infer<typeof olNodeSchema>;\nexport type ImageNode = z.infer<typeof imageNodeSchema>;\nexport type TableNode = z.infer<typeof tableNodeSchema>;\nexport type ShapeNode = z.infer<typeof shapeNodeSchema>;\nexport type ChartNode = z.infer<typeof chartNodeSchema>;\n\n// ===== Timeline Node =====\nconst timelineDirectionSchema = z.enum([\"horizontal\", \"vertical\"]);\n\nconst timelineItemSchema = z.object({\n date: z.string(),\n title: z.string(),\n description: z.string().optional(),\n color: z.string().optional(),\n});\n\nexport const timelineNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"timeline\"),\n direction: timelineDirectionSchema.optional(),\n items: z.array(timelineItemSchema),\n});\n\nexport type TimelineNode = z.infer<typeof timelineNodeSchema>;\n\n// ===== Matrix Node =====\nconst matrixAxisSchema = z.object({\n x: z.string(),\n y: z.string(),\n});\n\nconst matrixQuadrantsSchema = z.object({\n topLeft: z.string(),\n topRight: z.string(),\n bottomLeft: z.string(),\n bottomRight: z.string(),\n});\n\nconst matrixItemSchema = z.object({\n label: z.string(),\n x: z.number().min(0).max(1),\n y: z.number().min(0).max(1),\n color: z.string().optional(),\n});\n\nexport const matrixNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"matrix\"),\n axes: matrixAxisSchema,\n quadrants: matrixQuadrantsSchema.optional(),\n items: z.array(matrixItemSchema),\n});\n\nexport type MatrixNode = z.infer<typeof matrixNodeSchema>;\n\n// ===== Tree Node =====\nconst treeLayoutSchema = z.enum([\"vertical\", \"horizontal\"]);\n\nexport const treeNodeShapeSchema = z.enum([\"rect\", \"roundRect\", \"ellipse\"]);\n\nexport const treeConnectorStyleSchema = z.object({\n color: z.string().optional(),\n width: z.number().optional(),\n});\n\nexport type TreeDataItem = {\n label: string;\n color?: string;\n children?: TreeDataItem[];\n};\n\nconst treeDataItemSchema: z.ZodType<TreeDataItem> = z.lazy(() =>\n z.object({\n label: z.string(),\n color: z.string().optional(),\n children: z.array(treeDataItemSchema).optional(),\n }),\n);\n\nexport const treeNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"tree\"),\n layout: treeLayoutSchema.optional(),\n nodeShape: treeNodeShapeSchema.optional(),\n data: treeDataItemSchema,\n connectorStyle: treeConnectorStyleSchema.optional(),\n nodeWidth: z.number().optional(),\n nodeHeight: z.number().optional(),\n levelGap: z.number().optional(),\n siblingGap: z.number().optional(),\n});\n\nexport type TreeNodeShape = z.infer<typeof treeNodeShapeSchema>;\nexport type TreeConnectorStyle = z.infer<typeof treeConnectorStyleSchema>;\nexport type TreeNode = z.infer<typeof treeNodeSchema>;\n\n// ===== ProcessArrow Node =====\nconst processArrowDirectionSchema = z.enum([\"horizontal\", \"vertical\"]);\n\nconst processArrowStepSchema = z.object({\n label: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n});\n\nexport const processArrowNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"processArrow\"),\n direction: processArrowDirectionSchema.optional(),\n steps: z.array(processArrowStepSchema),\n itemWidth: z.number().optional(),\n itemHeight: z.number().optional(),\n gap: z.number().optional(),\n fontSize: z.number().optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n});\n\nexport type ProcessArrowNode = z.infer<typeof processArrowNodeSchema>;\n\n// ===== Pyramid Node =====\nconst pyramidDirectionSchema = z.enum([\"up\", \"down\"]);\n\nconst pyramidLevelSchema = z.object({\n label: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n});\n\nexport const pyramidNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"pyramid\"),\n direction: pyramidDirectionSchema.optional(),\n levels: z.array(pyramidLevelSchema).min(1),\n fontSize: z.number().optional(),\n bold: z.boolean().optional(),\n fontFamily: z.string().optional(),\n});\n\nexport type PyramidNode = z.infer<typeof pyramidNodeSchema>;\n\n// ===== Flow Node =====\nconst flowDirectionSchema = z.enum([\"horizontal\", \"vertical\"]);\n\nconst flowNodeShapeSchema = z.enum([\n \"flowChartTerminator\",\n \"flowChartProcess\",\n \"flowChartDecision\",\n \"flowChartInputOutput\",\n \"flowChartDocument\",\n \"flowChartPredefinedProcess\",\n \"flowChartConnector\",\n \"flowChartPreparation\",\n \"flowChartManualInput\",\n \"flowChartManualOperation\",\n \"flowChartDelay\",\n \"flowChartMagneticDisk\",\n]);\n\nconst flowNodeItemSchema = z.object({\n id: z.string(),\n shape: flowNodeShapeSchema,\n text: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n});\n\nconst flowConnectionSchema = z.object({\n from: z.string(),\n to: z.string(),\n label: z.string().optional(),\n color: z.string().optional(),\n});\n\nconst flowConnectorStyleSchema = z.object({\n color: z.string().optional(),\n width: z.number().optional(),\n arrowType: z\n .enum([\"none\", \"arrow\", \"diamond\", \"oval\", \"stealth\", \"triangle\"])\n .optional(),\n});\n\nexport const flowNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"flow\"),\n direction: flowDirectionSchema.optional(),\n nodes: z.array(flowNodeItemSchema),\n connections: z.array(flowConnectionSchema),\n connectorStyle: flowConnectorStyleSchema.optional(),\n nodeWidth: z.number().optional(),\n nodeHeight: z.number().optional(),\n nodeGap: z.number().optional(),\n});\n\nexport type FlowNode = z.infer<typeof flowNodeSchema>;\n\n// ===== Line Node =====\nconst lineArrowTypeSchema = z.enum([\n \"none\",\n \"arrow\",\n \"triangle\",\n \"diamond\",\n \"oval\",\n \"stealth\",\n]);\n\nconst lineArrowOptionsSchema = z.object({\n type: lineArrowTypeSchema.optional(),\n});\n\nexport const lineArrowSchema = z.union([z.boolean(), lineArrowOptionsSchema]);\n\nexport const lineNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"line\"),\n x1: z.number(),\n y1: z.number(),\n x2: z.number(),\n y2: z.number(),\n color: z.string().optional(),\n lineWidth: z.number().optional(),\n dashType: borderDashSchema.optional(),\n beginArrow: lineArrowSchema.optional(),\n endArrow: lineArrowSchema.optional(),\n});\n\nexport type LineArrow = z.infer<typeof lineArrowSchema>;\nexport type LineNode = z.infer<typeof lineNodeSchema>;\n\n// ===== Arrow Node =====\nexport const arrowNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"arrow\"),\n from: z.string(),\n to: z.string(),\n color: z.string().optional(),\n lineWidth: z.number().optional(),\n dashType: borderDashSchema.optional(),\n beginArrow: lineArrowSchema.optional(),\n endArrow: lineArrowSchema.optional(),\n});\n\nexport type ArrowNode = z.infer<typeof arrowNodeSchema>;\n\n// ===== Layer Node =====\n// LayerChild, LayerNode types are defined below after POMNode\n\n// ===== Recursive Types with Explicit Type Definitions =====\n\n// Define the types explicitly to avoid 'any' inference\nexport type VStackNode = BasePOMNode & {\n type: \"vstack\";\n children: POMNode[];\n gap?: number;\n alignItems?: AlignItems;\n justifyContent?: JustifyContent;\n flexWrap?: FlexWrap;\n};\n\nexport type HStackNode = BasePOMNode & {\n type: \"hstack\";\n children: POMNode[];\n gap?: number;\n alignItems?: AlignItems;\n justifyContent?: JustifyContent;\n flexWrap?: FlexWrap;\n};\n\n// Layer の子要素は x, y を必須とする\ntype LayerChild = POMNode & {\n x: number;\n y: number;\n};\n\nexport type LayerNode = BasePOMNode & {\n type: \"layer\";\n children: LayerChild[];\n};\n\nexport type POMNode =\n | TextNode\n | UlNode\n | OlNode\n | ImageNode\n | TableNode\n | VStackNode\n | HStackNode\n | ShapeNode\n | ChartNode\n | TimelineNode\n | MatrixNode\n | TreeNode\n | FlowNode\n | ProcessArrowNode\n | PyramidNode\n | LineNode\n | ArrowNode\n | LayerNode\n | IconNode\n | SvgNode;\n\n// Define schemas using passthrough to maintain type safety\nconst vStackNodeSchemaBase = basePOMNodeSchema.extend({\n type: z.literal(\"vstack\"),\n children: z.array(z.lazy(() => pomNodeSchema)),\n gap: z.number().optional(),\n alignItems: alignItemsSchema.optional(),\n justifyContent: justifyContentSchema.optional(),\n flexWrap: flexWrapSchema.optional(),\n});\n\nconst hStackNodeSchemaBase = basePOMNodeSchema.extend({\n type: z.literal(\"hstack\"),\n children: z.array(z.lazy(() => pomNodeSchema)),\n gap: z.number().optional(),\n alignItems: alignItemsSchema.optional(),\n justifyContent: justifyContentSchema.optional(),\n flexWrap: flexWrapSchema.optional(),\n});\n\nconst layerChildSchemaBase = z.lazy(() =>\n pomNodeSchema.and(\n z.object({\n x: z.number(),\n y: z.number(),\n }),\n ),\n);\n\nconst layerNodeSchemaBase = basePOMNodeSchema.extend({\n type: z.literal(\"layer\"),\n children: z.array(layerChildSchemaBase),\n});\n\nconst pomNodeSchema: z.ZodType<POMNode> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n textNodeSchema,\n ulNodeSchema,\n olNodeSchema,\n imageNodeSchema,\n tableNodeSchema,\n vStackNodeSchemaBase,\n hStackNodeSchemaBase,\n shapeNodeSchema,\n chartNodeSchema,\n timelineNodeSchema,\n matrixNodeSchema,\n treeNodeSchema,\n flowNodeSchema,\n processArrowNodeSchema,\n pyramidNodeSchema,\n lineNodeSchema,\n arrowNodeSchema,\n layerNodeSchemaBase,\n iconNodeSchema,\n svgNodeSchema,\n ]),\n);\n\n// ===== Positioned Node Types =====\nconst positionedBaseSchema = z.object({\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n});\n\ntype PositionedBase = z.infer<typeof positionedBaseSchema>;\n\n// Layer の子要素(位置情報付き)\nexport type PositionedLayerChild = PositionedNode & {\n x: number;\n y: number;\n};\n\nexport type PositionedNode =\n | (TextNode & PositionedBase)\n | (UlNode & PositionedBase)\n | (OlNode & PositionedBase)\n | (ImageNode & PositionedBase & { imageData?: string })\n | (TableNode & PositionedBase)\n | (VStackNode & PositionedBase & { children: PositionedNode[] })\n | (HStackNode & PositionedBase & { children: PositionedNode[] })\n | (ShapeNode & PositionedBase)\n | (ChartNode & PositionedBase)\n | (TimelineNode & PositionedBase)\n | (MatrixNode & PositionedBase)\n | (TreeNode & PositionedBase)\n | (FlowNode & PositionedBase)\n | (ProcessArrowNode & PositionedBase)\n | (PyramidNode & PositionedBase)\n | (LineNode & PositionedBase)\n | (ArrowNode & PositionedBase)\n | (LayerNode & PositionedBase & { children: PositionedLayerChild[] })\n | (IconNode &\n PositionedBase & {\n iconImageData: string;\n bgX?: number;\n bgY?: number;\n bgW?: number;\n bgH?: number;\n iconX?: number;\n iconY?: number;\n iconW?: number;\n iconH?: number;\n })\n | (SvgNode & PositionedBase & { iconImageData: string });\n\nconst positionedLayerChildSchema: z.ZodType<PositionedLayerChild> = z.lazy(() =>\n positionedNodeSchema.and(\n z.object({\n x: z.number(),\n y: z.number(),\n }),\n ),\n);\n\nconst positionedNodeSchema: z.ZodType<PositionedNode> = z.lazy(() =>\n z.union([\n textNodeSchema.merge(positionedBaseSchema),\n ulNodeSchema.merge(positionedBaseSchema),\n olNodeSchema.merge(positionedBaseSchema),\n imageNodeSchema.merge(positionedBaseSchema).extend({\n imageData: z.string().optional(),\n }),\n tableNodeSchema.merge(positionedBaseSchema),\n vStackNodeSchemaBase.merge(positionedBaseSchema).extend({\n children: z.array(z.lazy(() => positionedNodeSchema)),\n }),\n hStackNodeSchemaBase.merge(positionedBaseSchema).extend({\n children: z.array(z.lazy(() => positionedNodeSchema)),\n }),\n shapeNodeSchema.merge(positionedBaseSchema),\n chartNodeSchema.merge(positionedBaseSchema),\n timelineNodeSchema.merge(positionedBaseSchema),\n matrixNodeSchema.merge(positionedBaseSchema),\n treeNodeSchema.merge(positionedBaseSchema),\n flowNodeSchema.merge(positionedBaseSchema),\n processArrowNodeSchema.merge(positionedBaseSchema),\n pyramidNodeSchema.merge(positionedBaseSchema),\n lineNodeSchema.merge(positionedBaseSchema),\n arrowNodeSchema.merge(positionedBaseSchema),\n layerNodeSchemaBase.merge(positionedBaseSchema).extend({\n children: z.array(positionedLayerChildSchema),\n }),\n iconNodeSchema.merge(positionedBaseSchema).extend({\n iconImageData: z.string(),\n }),\n svgNodeSchema.merge(positionedBaseSchema).extend({\n iconImageData: z.string(),\n }),\n ]),\n);\n\n// ===== Slide Master Options =====\nconst masterTextObjectSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string(),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n fontSize: z.number().optional(),\n fontFamily: z.string().optional(),\n color: z.string().optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n});\n\nconst masterImageObjectSchema = z.object({\n type: z.literal(\"image\"),\n src: z.string(),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n});\n\nconst masterRectObjectSchema = z.object({\n type: z.literal(\"rect\"),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n fill: fillStyleSchema.optional(),\n border: borderStyleSchema.optional(),\n});\n\nconst masterLineObjectSchema = z.object({\n type: z.literal(\"line\"),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n line: borderStyleSchema.optional(),\n});\n\nexport const masterObjectSchema = z.discriminatedUnion(\"type\", [\n masterTextObjectSchema,\n masterImageObjectSchema,\n masterRectObjectSchema,\n masterLineObjectSchema,\n]);\n\nconst slideNumberOptionsSchema = z.object({\n x: z.number(),\n y: z.number(),\n w: z.number().optional(),\n h: z.number().optional(),\n fontSize: z.number().optional(),\n fontFamily: z.string().optional(),\n color: z.string().optional(),\n});\n\nconst slideMasterBackgroundSchema = z.union([\n z.object({ color: z.string() }),\n z.object({ path: z.string() }),\n z.object({ data: z.string() }),\n z.object({ image: z.string() }),\n]);\n\nconst slideMasterMarginSchema = z.union([\n z.number(),\n z.object({\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n }),\n]);\n\nexport const slideMasterOptionsSchema = z.object({\n title: z.string().optional(),\n background: slideMasterBackgroundSchema.optional(),\n margin: slideMasterMarginSchema.optional(),\n objects: z.array(masterObjectSchema).optional(),\n slideNumber: slideNumberOptionsSchema.optional(),\n});\n\nexport type MasterTextObject = z.infer<typeof masterTextObjectSchema>;\nexport type MasterImageObject = z.infer<typeof masterImageObjectSchema>;\nexport type MasterRectObject = z.infer<typeof masterRectObjectSchema>;\nexport type MasterLineObject = z.infer<typeof masterLineObjectSchema>;\nexport type MasterObject = z.infer<typeof masterObjectSchema>;\nexport type SlideNumberOptions = z.infer<typeof slideNumberOptionsSchema>;\nexport type SlideMasterBackground = z.infer<typeof slideMasterBackgroundSchema>;\nexport type SlideMasterMargin = z.infer<typeof slideMasterMarginSchema>;\nexport type SlideMasterOptions = z.infer<typeof slideMasterOptionsSchema>;\n"],"mappings":";;;;AAKA,MAAM,eAAe,EAAE,MAAM;CAC3B,EAAE,OAAO;CACT,EAAE,QAAQ,KAAK;CACf,EAAE,OAAO,CAAC,CAAC,MAAM,QAAQ;AAC3B,CAAC;AAED,MAAM,gBAAgB,EAAE,MAAM,CAC5B,EAAE,OAAO,GACT,EAAE,OAAO;CACP,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS;CACzB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;AAC5B,CAAC,CACH,CAAC;AAED,MAAM,mBAAmB,EAAE,KAAK;CAC9B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,EAAE,OAAO;CACjC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,UAAU,iBAAiB,SAAS;AACtC,CAAC;AAED,MAAM,kBAAkB,EAAE,OAAO;CAC/B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS;AACpC,CAAC;AAED,MAAa,oBAAoB,EAAE,OAAO;CACxC,MAAM,EAAE,KAAK,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,SAAS;CAC1C,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;CAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;AAC7B,CAAC;AAED,MAAM,yBAAyB,EAAE,KAAK;CACpC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAa,uBAAuB,EAAE,KAAK;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAa,kBAAkB,EAAE,MAAM,CACrC,EAAE,QAAQ,GACV,EAAE,OAAO;CACP,OAAO,qBAAqB,SAAS;CACrC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;AAC7B,CAAC,CACH,CAAC;AAED,MAAM,mBAAmB,EAAE,KAAK;CAAC;CAAS;CAAU;CAAO;AAAS,CAAC;AAErE,MAAM,kBAAkB,EAAE,KAAK;CAAC;CAAQ;CAAS;CAAU;CAAO;AAAS,CAAC;AAE5E,MAAM,qBAAqB,EAAE,KAAK,CAAC,YAAY,UAAU,CAAC;AAE1D,MAAM,iBAAiB,EAAE,KAAK;CAAC;CAAU;CAAQ;AAAa,CAAC;AAE/D,MAAM,uBAAuB,EAAE,KAAK;CAClC;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,kBAAkB,EAAE,KAAK;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;C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"}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { ICON_DATA } from \"./icons/iconData.ts\";\nimport { parseLinearGradient } from \"./shared/gradient.ts\";\n\n// ===== Basic Types =====\nconst lengthSchema = z.union([\n z.number(),\n z.literal(\"max\"),\n z.string().regex(/^\\d+%$/),\n]);\n\nconst paddingSchema = z.union([\n z.number(),\n z.object({\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n }),\n]);\n\nconst borderDashSchema = z.enum([\n \"solid\",\n \"dash\",\n \"dashDot\",\n \"lgDash\",\n \"lgDashDot\",\n \"lgDashDotDot\",\n \"sysDash\",\n \"sysDot\",\n]);\n\nconst borderStyleSchema = z.object({\n color: z.string().optional(),\n width: z.number().optional(),\n dashType: borderDashSchema.optional(),\n});\n\nconst fillStyleSchema = z.object({\n color: z.string().optional(),\n transparency: z.number().optional(),\n});\n\nexport const shadowStyleSchema = z.object({\n type: z.enum([\"outer\", \"inner\"]).optional(),\n opacity: z.number().optional(),\n blur: z.number().optional(),\n angle: z.number().optional(),\n offset: z.number().optional(),\n color: z.string().optional(),\n});\n\nconst bulletNumberTypeSchema = z.enum([\n \"alphaLcParenBoth\",\n \"alphaLcParenR\",\n \"alphaLcPeriod\",\n \"alphaUcParenBoth\",\n \"alphaUcParenR\",\n \"alphaUcPeriod\",\n \"arabicParenBoth\",\n \"arabicParenR\",\n \"arabicPeriod\",\n \"arabicPlain\",\n \"romanLcParenBoth\",\n \"romanLcParenR\",\n \"romanLcPeriod\",\n \"romanUcParenBoth\",\n \"romanUcParenR\",\n \"romanUcPeriod\",\n]);\n\nexport const underlineStyleSchema = z.enum([\n \"dash\",\n \"dashHeavy\",\n \"dashLong\",\n \"dashLongHeavy\",\n \"dbl\",\n \"dotDash\",\n \"dotDotDash\",\n \"dotted\",\n \"dottedHeavy\",\n \"heavy\",\n \"none\",\n \"sng\",\n \"wavy\",\n \"wavyDbl\",\n \"wavyHeavy\",\n]);\n\nexport const underlineSchema = z.union([\n z.boolean(),\n z.object({\n style: underlineStyleSchema.optional(),\n color: z.string().optional(),\n }),\n]);\n\nexport const textGlowSchema = z.object({\n size: z.number().nonnegative().optional(),\n opacity: z.number().min(0).max(1).optional(),\n color: z.string().optional(),\n});\n\nexport const textOutlineSchema = z.object({\n size: z.number().nonnegative().optional(),\n color: z.string().optional(),\n});\n\nconst alignItemsSchema = z.enum([\"start\", \"center\", \"end\", \"stretch\"]);\n\nconst alignSelfSchema = z.enum([\"auto\", \"start\", \"center\", \"end\", \"stretch\"]);\n\nconst positionTypeSchema = z.enum([\"relative\", \"absolute\"]);\n\nconst flexWrapSchema = z.enum([\"nowrap\", \"wrap\", \"wrapReverse\"]);\n\nconst justifyContentSchema = z.enum([\n \"start\",\n \"center\",\n \"end\",\n \"spaceBetween\",\n \"spaceAround\",\n \"spaceEvenly\",\n]);\n\nconst shapeTypeSchema = z.enum([\n \"accentBorderCallout1\",\n \"accentBorderCallout2\",\n \"accentBorderCallout3\",\n \"accentCallout1\",\n \"accentCallout2\",\n \"accentCallout3\",\n \"actionButtonBackPrevious\",\n \"actionButtonBeginning\",\n \"actionButtonBlank\",\n \"actionButtonDocument\",\n \"actionButtonEnd\",\n \"actionButtonForwardNext\",\n \"actionButtonHelp\",\n \"actionButtonHome\",\n \"actionButtonInformation\",\n \"actionButtonMovie\",\n \"actionButtonReturn\",\n \"actionButtonSound\",\n \"arc\",\n \"bentArrow\",\n \"bentUpArrow\",\n \"bevel\",\n \"blockArc\",\n \"borderCallout1\",\n \"borderCallout2\",\n \"borderCallout3\",\n \"bracePair\",\n \"bracketPair\",\n \"callout1\",\n \"callout2\",\n \"callout3\",\n \"can\",\n \"chartPlus\",\n \"chartStar\",\n \"chartX\",\n \"chevron\",\n \"chord\",\n \"circularArrow\",\n \"cloud\",\n \"cloudCallout\",\n \"corner\",\n \"cornerTabs\",\n \"cube\",\n \"curvedDownArrow\",\n \"curvedLeftArrow\",\n \"curvedRightArrow\",\n \"curvedUpArrow\",\n \"decagon\",\n \"diagStripe\",\n \"diamond\",\n \"dodecagon\",\n \"donut\",\n \"doubleWave\",\n \"downArrow\",\n \"downArrowCallout\",\n \"ellipse\",\n \"ellipseRibbon\",\n \"ellipseRibbon2\",\n \"flowChartAlternateProcess\",\n \"flowChartCollate\",\n \"flowChartConnector\",\n \"flowChartDecision\",\n \"flowChartDelay\",\n \"flowChartDisplay\",\n \"flowChartDocument\",\n \"flowChartExtract\",\n \"flowChartInputOutput\",\n \"flowChartInternalStorage\",\n \"flowChartMagneticDisk\",\n \"flowChartMagneticDrum\",\n \"flowChartMagneticTape\",\n \"flowChartManualInput\",\n \"flowChartManualOperation\",\n \"flowChartMerge\",\n \"flowChartMultidocument\",\n \"flowChartOfflineStorage\",\n \"flowChartOffpageConnector\",\n \"flowChartOnlineStorage\",\n \"flowChartOr\",\n \"flowChartPredefinedProcess\",\n \"flowChartPreparation\",\n \"flowChartProcess\",\n \"flowChartPunchedCard\",\n \"flowChartPunchedTape\",\n \"flowChartSort\",\n \"flowChartSummingJunction\",\n \"flowChartTerminator\",\n \"folderCorner\",\n \"frame\",\n \"funnel\",\n \"gear6\",\n \"gear9\",\n \"halfFrame\",\n \"heart\",\n \"heptagon\",\n \"hexagon\",\n \"homePlate\",\n \"horizontalScroll\",\n \"irregularSeal1\",\n \"irregularSeal2\",\n \"leftArrow\",\n \"leftArrowCallout\",\n \"leftBrace\",\n \"leftBracket\",\n \"leftCircularArrow\",\n \"leftRightArrow\",\n \"leftRightArrowCallout\",\n \"leftRightCircularArrow\",\n \"leftRightRibbon\",\n \"leftRightUpArrow\",\n \"leftUpArrow\",\n \"lightningBolt\",\n \"line\",\n \"lineInv\",\n \"mathDivide\",\n \"mathEqual\",\n \"mathMinus\",\n \"mathMultiply\",\n \"mathNotEqual\",\n \"mathPlus\",\n \"moon\",\n \"noSmoking\",\n \"nonIsoscelesTrapezoid\",\n \"notchedRightArrow\",\n \"octagon\",\n \"parallelogram\",\n \"pentagon\",\n \"pie\",\n \"pieWedge\",\n \"plaque\",\n \"plaqueTabs\",\n \"plus\",\n \"quadArrow\",\n \"quadArrowCallout\",\n \"rect\",\n \"ribbon\",\n \"ribbon2\",\n \"rightArrow\",\n \"rightArrowCallout\",\n \"rightBrace\",\n \"rightBracket\",\n \"round1Rect\",\n \"round2DiagRect\",\n \"round2SameRect\",\n \"roundRect\",\n \"rtTriangle\",\n \"smileyFace\",\n \"snip1Rect\",\n \"snip2DiagRect\",\n \"snip2SameRect\",\n \"snipRoundRect\",\n \"squareTabs\",\n \"star10\",\n \"star12\",\n \"star16\",\n \"star24\",\n \"star32\",\n \"star4\",\n \"star5\",\n \"star6\",\n \"star7\",\n \"star8\",\n \"stripedRightArrow\",\n \"sun\",\n \"swooshArrow\",\n \"teardrop\",\n \"trapezoid\",\n \"triangle\",\n \"upArrow\",\n \"upArrowCallout\",\n \"upDownArrow\",\n \"upDownArrowCallout\",\n \"uturnArrow\",\n \"verticalScroll\",\n \"wave\",\n \"wedgeEllipseCallout\",\n \"wedgeRectCallout\",\n \"wedgeRoundRectCallout\",\n]);\n\n// ===== TypeScript Types (defined early for recursive references) =====\nexport type ShadowStyle = z.infer<typeof shadowStyleSchema>;\nexport type BorderStyle = z.infer<typeof borderStyleSchema>;\nexport type AlignItems = z.infer<typeof alignItemsSchema>;\nexport type FlexWrap = z.infer<typeof flexWrapSchema>;\nexport type JustifyContent = z.infer<typeof justifyContentSchema>;\nexport type UnderlineStyle = z.infer<typeof underlineStyleSchema>;\nexport type Underline = z.infer<typeof underlineSchema>;\nexport type TextGlow = z.infer<typeof textGlowSchema>;\nexport type TextOutline = z.infer<typeof textOutlineSchema>;\n\n// ===== Background Image =====\nconst backgroundImageSizingSchema = z.enum([\"cover\", \"contain\"]);\n\nconst backgroundImageSchema = z.object({\n src: z.string(),\n sizing: backgroundImageSizingSchema.optional(),\n});\n\n// ===== Background Gradient =====\nconst backgroundGradientSchema = z\n .string()\n .refine((value) => parseLinearGradient(value) !== null, {\n message:\n 'Invalid gradient syntax. Expected: linear-gradient(<angle>deg, <color> <position>%, ...) e.g. \"linear-gradient(135deg, #FF0000 0%, #0000FF 100%)\"',\n });\n\n// ===== Base Node =====\nconst basePOMNodeSchema = z.object({\n id: z.string().optional(),\n w: lengthSchema.optional(),\n h: lengthSchema.optional(),\n grow: z.number().positive().optional(),\n minW: z.number().optional(),\n maxW: z.number().optional(),\n minH: z.number().optional(),\n maxH: z.number().optional(),\n padding: paddingSchema.optional(),\n margin: paddingSchema.optional(),\n backgroundColor: z.string().optional(),\n backgroundGradient: backgroundGradientSchema.optional(),\n backgroundImage: backgroundImageSchema.optional(),\n border: borderStyleSchema.optional(),\n borderTop: borderStyleSchema.optional(),\n borderRight: borderStyleSchema.optional(),\n borderBottom: borderStyleSchema.optional(),\n borderLeft: borderStyleSchema.optional(),\n borderRadius: z.number().optional(),\n opacity: z.number().min(0).max(1).optional(),\n zIndex: z.number().optional(),\n position: positionTypeSchema.optional(),\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n alignSelf: alignSelfSchema.optional(),\n shadow: shadowStyleSchema.optional(),\n});\n\ntype BasePOMNode = z.infer<typeof basePOMNodeSchema>;\n\n// ===== Inline text run (partial bold/italic within a text node) =====\nconst textRunSchema = z.object({\n text: z.string(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: z.boolean().optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n color: z.string().optional(),\n href: z.string().optional(),\n fontFamily: z.string().optional(),\n letterSpacing: z.number().optional(),\n});\n\n// ===== Non-recursive Node Types =====\nexport const textNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"text\"),\n text: z.string(),\n runs: z.array(textRunSchema).optional(),\n rotate: z.number().optional(),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n letterSpacing: z.number().optional(),\n glow: textGlowSchema.optional(),\n outline: textOutlineSchema.optional(),\n});\n\nexport const liNodeSchema = z.object({\n text: z.string(),\n runs: z.array(textRunSchema).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n color: z.string().optional(),\n fontSize: z.number().optional(),\n fontFamily: z.string().optional(),\n});\n\nexport const ulNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"ul\"),\n items: z.array(liNodeSchema),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n});\n\nexport const olNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"ol\"),\n items: z.array(liNodeSchema),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n numberType: bulletNumberTypeSchema.optional(),\n numberStartAt: z.number().optional(),\n});\n\nconst imageSizingSchema = z.object({\n type: z.enum([\"contain\", \"cover\", \"crop\"]),\n w: z.number().optional(),\n h: z.number().optional(),\n x: z.number().optional(),\n y: z.number().optional(),\n});\n\nexport const imageNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"image\"),\n src: z.string(),\n sizing: imageSizingSchema.optional(),\n rotate: z.number().optional(),\n});\n\nconst iconNameSchema = z.enum(Object.keys(ICON_DATA) as [string, ...string[]]);\n\nconst iconColorSchema = z\n .string()\n .regex(/^#?[0-9a-fA-F]{3,8}$/)\n .optional();\n\nconst iconVariantSchema = z\n .enum([\n \"circle-filled\",\n \"circle-outlined\",\n \"square-filled\",\n \"square-outlined\",\n ])\n .optional();\n\nexport const iconNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"icon\"),\n name: iconNameSchema,\n size: z.number().positive().max(1024).optional(),\n color: iconColorSchema,\n variant: iconVariantSchema,\n bgColor: iconColorSchema,\n rotate: z.number().optional(),\n});\n\nexport type IconNode = z.infer<typeof iconNodeSchema>;\n\nexport const svgNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"svg\"),\n svgContent: z.string(),\n w: z.number().positive().max(1024).optional(),\n h: z.number().positive().max(1024).optional(),\n color: iconColorSchema,\n});\n\nexport type SvgNode = z.infer<typeof svgNodeSchema>;\n\nconst tableCellSchema = z.object({\n text: z.string(),\n runs: z.array(textRunSchema).optional(),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n backgroundColor: z.string().optional(),\n colspan: z.number().int().min(1).optional(),\n rowspan: z.number().int().min(1).optional(),\n});\n\nconst tableRowSchema = z.object({\n cells: z.array(tableCellSchema),\n height: z.number().optional(),\n});\n\nconst tableColumnSchema = z.object({\n width: z.number().optional(),\n});\n\nexport const tableNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"table\"),\n columns: z.array(tableColumnSchema),\n rows: z.array(tableRowSchema),\n defaultRowHeight: z.number().optional(),\n cellBorder: borderStyleSchema.optional(),\n});\n\nexport const shapeNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"shape\"),\n shapeType: shapeTypeSchema,\n text: z.string().optional(),\n rotate: z.number().optional(),\n fill: fillStyleSchema.optional(),\n line: borderStyleSchema.optional(),\n fontSize: z.number().optional(),\n color: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n lineHeight: z.number().optional(),\n});\n\nconst chartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"area\",\n \"doughnut\",\n \"radar\",\n]);\n\nconst radarStyleSchema = z.enum([\"standard\", \"marker\", \"filled\"]);\n\nconst chartDataSchema = z.object({\n name: z.string().optional(),\n labels: z.array(z.string()),\n values: z.array(z.number()),\n});\n\nexport const chartNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"chart\"),\n chartType: chartTypeSchema,\n data: z.array(chartDataSchema),\n showLegend: z.boolean().optional(),\n showTitle: z.boolean().optional(),\n title: z.string().optional(),\n chartColors: z.array(z.string()).optional(),\n // radar専用オプション\n radarStyle: radarStyleSchema.optional(),\n});\n\nexport type TextNode = z.infer<typeof textNodeSchema>;\nexport type LiNode = z.infer<typeof liNodeSchema>;\nexport type UlNode = z.infer<typeof ulNodeSchema>;\nexport type OlNode = z.infer<typeof olNodeSchema>;\nexport type ImageNode = z.infer<typeof imageNodeSchema>;\nexport type TableNode = z.infer<typeof tableNodeSchema>;\nexport type ShapeNode = z.infer<typeof shapeNodeSchema>;\nexport type ChartNode = z.infer<typeof chartNodeSchema>;\n\n// ===== Timeline Node =====\nconst timelineDirectionSchema = z.enum([\"horizontal\", \"vertical\"]);\n\nconst timelineItemSchema = z.object({\n date: z.string(),\n title: z.string(),\n description: z.string().optional(),\n color: z.string().optional(),\n});\n\nexport const timelineNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"timeline\"),\n direction: timelineDirectionSchema.optional(),\n items: z.array(timelineItemSchema),\n dateColor: z.string().optional(),\n titleColor: z.string().optional(),\n descriptionColor: z.string().optional(),\n});\n\nexport type TimelineNode = z.infer<typeof timelineNodeSchema>;\n\n// ===== Matrix Node =====\nconst matrixAxisSchema = z.object({\n x: z.string(),\n y: z.string(),\n});\n\nconst matrixQuadrantsSchema = z.object({\n topLeft: z.string(),\n topRight: z.string(),\n bottomLeft: z.string(),\n bottomRight: z.string(),\n});\n\nconst matrixItemSchema = z.object({\n label: z.string(),\n x: z.number().min(0).max(1),\n y: z.number().min(0).max(1),\n color: z.string().optional(),\n textColor: z.string().optional(),\n});\n\nexport const matrixNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"matrix\"),\n axes: matrixAxisSchema,\n quadrants: matrixQuadrantsSchema.optional(),\n items: z.array(matrixItemSchema),\n axisLabelColor: z.string().optional(),\n quadrantLabelColor: z.string().optional(),\n itemLabelColor: z.string().optional(),\n});\n\nexport type MatrixNode = z.infer<typeof matrixNodeSchema>;\n\n// ===== Tree Node =====\nconst treeLayoutSchema = z.enum([\"vertical\", \"horizontal\"]);\n\nexport const treeNodeShapeSchema = z.enum([\"rect\", \"roundRect\", \"ellipse\"]);\n\nexport const treeConnectorStyleSchema = z.object({\n color: z.string().optional(),\n width: z.number().optional(),\n});\n\nexport type TreeDataItem = {\n label: string;\n color?: string;\n textColor?: string;\n children?: TreeDataItem[];\n};\n\nconst treeDataItemSchema: z.ZodType<TreeDataItem> = z.lazy(() =>\n z.object({\n label: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n children: z.array(treeDataItemSchema).optional(),\n }),\n);\n\nexport const treeNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"tree\"),\n layout: treeLayoutSchema.optional(),\n nodeShape: treeNodeShapeSchema.optional(),\n data: treeDataItemSchema,\n textColor: z.string().optional(),\n connectorStyle: treeConnectorStyleSchema.optional(),\n nodeWidth: z.number().optional(),\n nodeHeight: z.number().optional(),\n levelGap: z.number().optional(),\n siblingGap: z.number().optional(),\n});\n\nexport type TreeNodeShape = z.infer<typeof treeNodeShapeSchema>;\nexport type TreeConnectorStyle = z.infer<typeof treeConnectorStyleSchema>;\nexport type TreeNode = z.infer<typeof treeNodeSchema>;\n\n// ===== ProcessArrow Node =====\nconst processArrowDirectionSchema = z.enum([\"horizontal\", \"vertical\"]);\n\nconst processArrowStepSchema = z.object({\n label: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n});\n\nexport const processArrowNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"processArrow\"),\n direction: processArrowDirectionSchema.optional(),\n steps: z.array(processArrowStepSchema),\n itemWidth: z.number().optional(),\n itemHeight: z.number().optional(),\n gap: z.number().optional(),\n fontSize: z.number().optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n fontFamily: z.string().optional(),\n});\n\nexport type ProcessArrowNode = z.infer<typeof processArrowNodeSchema>;\n\n// ===== Pyramid Node =====\nconst pyramidDirectionSchema = z.enum([\"up\", \"down\"]);\n\nconst pyramidLevelSchema = z.object({\n label: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n});\n\nexport const pyramidNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"pyramid\"),\n direction: pyramidDirectionSchema.optional(),\n levels: z.array(pyramidLevelSchema).min(1),\n fontSize: z.number().optional(),\n bold: z.boolean().optional(),\n fontFamily: z.string().optional(),\n});\n\nexport type PyramidNode = z.infer<typeof pyramidNodeSchema>;\n\n// ===== Flow Node =====\nconst flowDirectionSchema = z.enum([\"horizontal\", \"vertical\"]);\n\nconst flowNodeShapeSchema = z.enum([\n \"flowChartTerminator\",\n \"flowChartProcess\",\n \"flowChartDecision\",\n \"flowChartInputOutput\",\n \"flowChartDocument\",\n \"flowChartPredefinedProcess\",\n \"flowChartConnector\",\n \"flowChartPreparation\",\n \"flowChartManualInput\",\n \"flowChartManualOperation\",\n \"flowChartDelay\",\n \"flowChartMagneticDisk\",\n]);\n\nconst flowNodeItemSchema = z.object({\n id: z.string(),\n shape: flowNodeShapeSchema,\n text: z.string(),\n color: z.string().optional(),\n textColor: z.string().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n});\n\nconst flowConnectionSchema = z.object({\n from: z.string(),\n to: z.string(),\n label: z.string().optional(),\n color: z.string().optional(),\n labelColor: z.string().optional(),\n});\n\nconst flowConnectorStyleSchema = z.object({\n color: z.string().optional(),\n width: z.number().optional(),\n labelColor: z.string().optional(),\n arrowType: z\n .enum([\"none\", \"arrow\", \"diamond\", \"oval\", \"stealth\", \"triangle\"])\n .optional(),\n});\n\nexport const flowNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"flow\"),\n direction: flowDirectionSchema.optional(),\n nodes: z.array(flowNodeItemSchema),\n connections: z.array(flowConnectionSchema),\n connectorStyle: flowConnectorStyleSchema.optional(),\n nodeWidth: z.number().optional(),\n nodeHeight: z.number().optional(),\n nodeGap: z.number().optional(),\n});\n\nexport type FlowNode = z.infer<typeof flowNodeSchema>;\n\n// ===== Line Node =====\nconst lineArrowTypeSchema = z.enum([\n \"none\",\n \"arrow\",\n \"triangle\",\n \"diamond\",\n \"oval\",\n \"stealth\",\n]);\n\nconst lineArrowOptionsSchema = z.object({\n type: lineArrowTypeSchema.optional(),\n});\n\nexport const lineArrowSchema = z.union([z.boolean(), lineArrowOptionsSchema]);\n\nexport const lineNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"line\"),\n x1: z.number(),\n y1: z.number(),\n x2: z.number(),\n y2: z.number(),\n color: z.string().optional(),\n lineWidth: z.number().optional(),\n dashType: borderDashSchema.optional(),\n beginArrow: lineArrowSchema.optional(),\n endArrow: lineArrowSchema.optional(),\n});\n\nexport type LineArrow = z.infer<typeof lineArrowSchema>;\nexport type LineNode = z.infer<typeof lineNodeSchema>;\n\n// ===== Arrow Node =====\nexport const arrowNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"arrow\"),\n from: z.string(),\n to: z.string(),\n color: z.string().optional(),\n lineWidth: z.number().optional(),\n dashType: borderDashSchema.optional(),\n beginArrow: lineArrowSchema.optional(),\n endArrow: lineArrowSchema.optional(),\n});\n\nexport type ArrowNode = z.infer<typeof arrowNodeSchema>;\n\n// ===== Layer Node =====\n// LayerChild, LayerNode types are defined below after POMNode\n\n// ===== Recursive Types with Explicit Type Definitions =====\n\n// Define the types explicitly to avoid 'any' inference\nexport type VStackNode = BasePOMNode & {\n type: \"vstack\";\n children: POMNode[];\n gap?: number;\n alignItems?: AlignItems;\n justifyContent?: JustifyContent;\n flexWrap?: FlexWrap;\n};\n\nexport type HStackNode = BasePOMNode & {\n type: \"hstack\";\n children: POMNode[];\n gap?: number;\n alignItems?: AlignItems;\n justifyContent?: JustifyContent;\n flexWrap?: FlexWrap;\n};\n\n// Layer の子要素は x, y を必須とする\ntype LayerChild = POMNode & {\n x: number;\n y: number;\n};\n\nexport type LayerNode = BasePOMNode & {\n type: \"layer\";\n children: LayerChild[];\n};\n\nexport type POMNode =\n | TextNode\n | UlNode\n | OlNode\n | ImageNode\n | TableNode\n | VStackNode\n | HStackNode\n | ShapeNode\n | ChartNode\n | TimelineNode\n | MatrixNode\n | TreeNode\n | FlowNode\n | ProcessArrowNode\n | PyramidNode\n | LineNode\n | ArrowNode\n | LayerNode\n | IconNode\n | SvgNode;\n\n// Define schemas using passthrough to maintain type safety\nexport const vStackNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"vstack\"),\n children: z.array(z.lazy(() => pomNodeSchema)),\n gap: z.number().optional(),\n alignItems: alignItemsSchema.optional(),\n justifyContent: justifyContentSchema.optional(),\n flexWrap: flexWrapSchema.optional(),\n});\n\nexport const hStackNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"hstack\"),\n children: z.array(z.lazy(() => pomNodeSchema)),\n gap: z.number().optional(),\n alignItems: alignItemsSchema.optional(),\n justifyContent: justifyContentSchema.optional(),\n flexWrap: flexWrapSchema.optional(),\n});\n\nconst layerChildSchemaBase = z.lazy(() =>\n pomNodeSchema.and(\n z.object({\n x: z.number(),\n y: z.number(),\n }),\n ),\n);\n\nexport const layerNodeSchema = basePOMNodeSchema.extend({\n type: z.literal(\"layer\"),\n children: z.array(layerChildSchemaBase),\n});\n\nconst pomNodeSchema: z.ZodType<POMNode> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n textNodeSchema,\n ulNodeSchema,\n olNodeSchema,\n imageNodeSchema,\n tableNodeSchema,\n vStackNodeSchema,\n hStackNodeSchema,\n shapeNodeSchema,\n chartNodeSchema,\n timelineNodeSchema,\n matrixNodeSchema,\n treeNodeSchema,\n flowNodeSchema,\n processArrowNodeSchema,\n pyramidNodeSchema,\n lineNodeSchema,\n arrowNodeSchema,\n layerNodeSchema,\n iconNodeSchema,\n svgNodeSchema,\n ]),\n);\n\n// ===== Positioned Node Types =====\nconst positionedBaseSchema = z.object({\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n});\n\ntype PositionedBase = z.infer<typeof positionedBaseSchema>;\n\n// Layer の子要素(位置情報付き)\nexport type PositionedLayerChild = PositionedNode & {\n x: number;\n y: number;\n};\n\nexport type PositionedNode =\n | (TextNode & PositionedBase)\n | (UlNode & PositionedBase)\n | (OlNode & PositionedBase)\n | (ImageNode & PositionedBase & { imageData?: string })\n | (TableNode & PositionedBase)\n | (VStackNode & PositionedBase & { children: PositionedNode[] })\n | (HStackNode & PositionedBase & { children: PositionedNode[] })\n | (ShapeNode & PositionedBase)\n | (ChartNode & PositionedBase)\n | (TimelineNode & PositionedBase)\n | (MatrixNode & PositionedBase)\n | (TreeNode & PositionedBase)\n | (FlowNode & PositionedBase)\n | (ProcessArrowNode & PositionedBase)\n | (PyramidNode & PositionedBase)\n | (LineNode & PositionedBase)\n | (ArrowNode & PositionedBase)\n | (LayerNode & PositionedBase & { children: PositionedLayerChild[] })\n | (IconNode &\n PositionedBase & {\n iconImageData: string;\n bgX?: number;\n bgY?: number;\n bgW?: number;\n bgH?: number;\n iconX?: number;\n iconY?: number;\n iconW?: number;\n iconH?: number;\n })\n | (SvgNode & PositionedBase & { iconImageData: string });\n\nconst positionedLayerChildSchema: z.ZodType<PositionedLayerChild> = z.lazy(() =>\n positionedNodeSchema.and(\n z.object({\n x: z.number(),\n y: z.number(),\n }),\n ),\n);\n\nconst positionedNodeSchema: z.ZodType<PositionedNode> = z.lazy(() =>\n z.union([\n textNodeSchema.merge(positionedBaseSchema),\n ulNodeSchema.merge(positionedBaseSchema),\n olNodeSchema.merge(positionedBaseSchema),\n imageNodeSchema.merge(positionedBaseSchema).extend({\n imageData: z.string().optional(),\n }),\n tableNodeSchema.merge(positionedBaseSchema),\n vStackNodeSchema.merge(positionedBaseSchema).extend({\n children: z.array(z.lazy(() => positionedNodeSchema)),\n }),\n hStackNodeSchema.merge(positionedBaseSchema).extend({\n children: z.array(z.lazy(() => positionedNodeSchema)),\n }),\n shapeNodeSchema.merge(positionedBaseSchema),\n chartNodeSchema.merge(positionedBaseSchema),\n timelineNodeSchema.merge(positionedBaseSchema),\n matrixNodeSchema.merge(positionedBaseSchema),\n treeNodeSchema.merge(positionedBaseSchema),\n flowNodeSchema.merge(positionedBaseSchema),\n processArrowNodeSchema.merge(positionedBaseSchema),\n pyramidNodeSchema.merge(positionedBaseSchema),\n lineNodeSchema.merge(positionedBaseSchema),\n arrowNodeSchema.merge(positionedBaseSchema),\n layerNodeSchema.merge(positionedBaseSchema).extend({\n children: z.array(positionedLayerChildSchema),\n }),\n iconNodeSchema.merge(positionedBaseSchema).extend({\n iconImageData: z.string(),\n }),\n svgNodeSchema.merge(positionedBaseSchema).extend({\n iconImageData: z.string(),\n }),\n ]),\n);\n\n// ===== Slide Master Options =====\nconst masterTextObjectSchema = z.object({\n type: z.literal(\"text\"),\n text: z.string(),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n fontSize: z.number().optional(),\n fontFamily: z.string().optional(),\n color: z.string().optional(),\n bold: z.boolean().optional(),\n italic: z.boolean().optional(),\n underline: underlineSchema.optional(),\n strike: z.boolean().optional(),\n highlight: z.string().optional(),\n textAlign: z.enum([\"left\", \"center\", \"right\"]).optional(),\n});\n\nconst masterImageObjectSchema = z.object({\n type: z.literal(\"image\"),\n src: z.string(),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n});\n\nconst masterRectObjectSchema = z.object({\n type: z.literal(\"rect\"),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n fill: fillStyleSchema.optional(),\n border: borderStyleSchema.optional(),\n});\n\nconst masterLineObjectSchema = z.object({\n type: z.literal(\"line\"),\n x: z.number(),\n y: z.number(),\n w: z.number(),\n h: z.number(),\n line: borderStyleSchema.optional(),\n});\n\nexport const masterObjectSchema = z.discriminatedUnion(\"type\", [\n masterTextObjectSchema,\n masterImageObjectSchema,\n masterRectObjectSchema,\n masterLineObjectSchema,\n]);\n\nconst slideNumberOptionsSchema = z.object({\n x: z.number(),\n y: z.number(),\n w: z.number().optional(),\n h: z.number().optional(),\n fontSize: z.number().optional(),\n fontFamily: z.string().optional(),\n color: z.string().optional(),\n});\n\nconst slideMasterBackgroundSchema = z.union([\n z.object({ color: z.string() }),\n z.object({ path: z.string() }),\n z.object({ data: z.string() }),\n z.object({ image: z.string() }),\n]);\n\nconst slideMasterMarginSchema = z.union([\n z.number(),\n z.object({\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n }),\n]);\n\nexport const slideMasterOptionsSchema = z.object({\n title: z.string().optional(),\n background: slideMasterBackgroundSchema.optional(),\n margin: slideMasterMarginSchema.optional(),\n objects: z.array(masterObjectSchema).optional(),\n slideNumber: slideNumberOptionsSchema.optional(),\n});\n\nexport type MasterTextObject = z.infer<typeof masterTextObjectSchema>;\nexport type MasterImageObject = z.infer<typeof masterImageObjectSchema>;\nexport type MasterRectObject = z.infer<typeof masterRectObjectSchema>;\nexport type MasterLineObject = z.infer<typeof masterLineObjectSchema>;\nexport type MasterObject = z.infer<typeof masterObjectSchema>;\nexport type SlideNumberOptions = z.infer<typeof slideNumberOptionsSchema>;\nexport type SlideMasterBackground = z.infer<typeof slideMasterBackgroundSchema>;\nexport type SlideMasterMargin = z.infer<typeof slideMasterMarginSchema>;\nexport type SlideMasterOptions = z.infer<typeof slideMasterOptionsSchema>;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hirokisakabe/pom",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0",
|
|
4
4
|
"description": "AI-friendly PowerPoint generation with a Flexbox layout engine.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,13 +55,13 @@
|
|
|
55
55
|
"@types/pngjs": "6.0.5",
|
|
56
56
|
"@vitest/coverage-v8": "^4.1.8",
|
|
57
57
|
"@vitest/ui": "^4.1.8",
|
|
58
|
+
"dependency-cruiser": "^17.4.3",
|
|
58
59
|
"lucide-static": "^1.17.0",
|
|
59
60
|
"pixelmatch": "7.2.0",
|
|
60
61
|
"pngjs": "7.0.0",
|
|
61
62
|
"size-limit": "^12.1.0",
|
|
62
63
|
"tsdown": "^0.22.2",
|
|
63
|
-
"tsx": "4.22.4"
|
|
64
|
-
"typescript-eslint": "^8.60.1"
|
|
64
|
+
"tsx": "4.22.4"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
"fmt:check": "prettier --check .",
|
|
80
80
|
"knip": "knip",
|
|
81
81
|
"lint": "eslint",
|
|
82
|
+
"lint:deps": "depcruise src",
|
|
82
83
|
"typecheck": "tsc --noEmit -p tsconfig.check.json",
|
|
83
84
|
"test": "vitest",
|
|
84
85
|
"test:ui": "vitest --ui",
|