@hirokisakabe/pom 8.2.1 → 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 +37 -25
- 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/buildContext.js +3 -1
- package/dist/buildContext.js.map +1 -1
- package/dist/buildPptx.d.ts.map +1 -1
- package/dist/buildPptx.js +5 -1
- package/dist/buildPptx.js.map +1 -1
- package/dist/calcYogaLayout/calcYogaLayout.js +18 -28
- package/dist/calcYogaLayout/calcYogaLayout.js.map +1 -1
- package/dist/calcYogaLayout/fontLoader.js.map +1 -1
- package/dist/calcYogaLayout/measureText.d.ts.map +1 -1
- package/dist/calcYogaLayout/measureText.js +9 -2
- package/dist/calcYogaLayout/measureText.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/icons/renderIcon.js.map +1 -1
- package/dist/parseMasterPptx.js.map +1 -1
- package/dist/parseXml/coercionRules.js +48 -9
- 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 -209
- package/dist/parseXml/parseXml.js.map +1 -1
- package/dist/parseXml/serializeXml.d.ts.map +1 -1
- package/dist/parseXml/serializeXml.js +13 -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 +5 -3
- 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/gradientFills.js +139 -0
- package/dist/renderPptx/gradientFills.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 +22 -15
- 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 +18 -30
- package/dist/renderPptx/renderPptx.js.map +1 -1
- package/dist/renderPptx/textOptions.js +34 -9
- 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 +107 -59
- 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/gradient.js +103 -0
- package/dist/shared/gradient.js.map +1 -0
- package/dist/shared/measureImage.js.map +1 -1
- package/dist/shared/tableUtils.js.map +1 -1
- 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 +1166 -93
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +54 -18
- package/dist/types.js.map +1 -1
- package/package.json +10 -9
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":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ICON_DATA } from "./icons/iconData.js";
|
|
2
|
+
import { parseLinearGradient } from "./shared/gradient.js";
|
|
2
3
|
import { z } from "zod";
|
|
3
4
|
//#region src/types.ts
|
|
4
5
|
const lengthSchema = z.union([
|
|
@@ -78,6 +79,15 @@ const underlineSchema = z.union([z.boolean(), z.object({
|
|
|
78
79
|
style: underlineStyleSchema.optional(),
|
|
79
80
|
color: z.string().optional()
|
|
80
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
|
+
});
|
|
81
91
|
const alignItemsSchema = z.enum([
|
|
82
92
|
"start",
|
|
83
93
|
"center",
|
|
@@ -290,10 +300,12 @@ const backgroundImageSchema = z.object({
|
|
|
290
300
|
src: z.string(),
|
|
291
301
|
sizing: backgroundImageSizingSchema.optional()
|
|
292
302
|
});
|
|
303
|
+
const backgroundGradientSchema = z.string().refine((value) => parseLinearGradient(value) !== null, { message: "Invalid gradient syntax. Expected: linear-gradient(<angle>deg, <color> <position>%, ...) e.g. \"linear-gradient(135deg, #FF0000 0%, #0000FF 100%)\"" });
|
|
293
304
|
const basePOMNodeSchema = z.object({
|
|
294
305
|
id: z.string().optional(),
|
|
295
306
|
w: lengthSchema.optional(),
|
|
296
307
|
h: lengthSchema.optional(),
|
|
308
|
+
grow: z.number().positive().optional(),
|
|
297
309
|
minW: z.number().optional(),
|
|
298
310
|
maxW: z.number().optional(),
|
|
299
311
|
minH: z.number().optional(),
|
|
@@ -301,8 +313,13 @@ const basePOMNodeSchema = z.object({
|
|
|
301
313
|
padding: paddingSchema.optional(),
|
|
302
314
|
margin: paddingSchema.optional(),
|
|
303
315
|
backgroundColor: z.string().optional(),
|
|
316
|
+
backgroundGradient: backgroundGradientSchema.optional(),
|
|
304
317
|
backgroundImage: backgroundImageSchema.optional(),
|
|
305
318
|
border: borderStyleSchema.optional(),
|
|
319
|
+
borderTop: borderStyleSchema.optional(),
|
|
320
|
+
borderRight: borderStyleSchema.optional(),
|
|
321
|
+
borderBottom: borderStyleSchema.optional(),
|
|
322
|
+
borderLeft: borderStyleSchema.optional(),
|
|
306
323
|
borderRadius: z.number().optional(),
|
|
307
324
|
opacity: z.number().min(0).max(1).optional(),
|
|
308
325
|
zIndex: z.number().optional(),
|
|
@@ -323,12 +340,14 @@ const textRunSchema = z.object({
|
|
|
323
340
|
highlight: z.string().optional(),
|
|
324
341
|
color: z.string().optional(),
|
|
325
342
|
href: z.string().optional(),
|
|
326
|
-
fontFamily: z.string().optional()
|
|
343
|
+
fontFamily: z.string().optional(),
|
|
344
|
+
letterSpacing: z.number().optional()
|
|
327
345
|
});
|
|
328
346
|
const textNodeSchema = basePOMNodeSchema.extend({
|
|
329
347
|
type: z.literal("text"),
|
|
330
348
|
text: z.string(),
|
|
331
349
|
runs: z.array(textRunSchema).optional(),
|
|
350
|
+
rotate: z.number().optional(),
|
|
332
351
|
fontSize: z.number().optional(),
|
|
333
352
|
color: z.string().optional(),
|
|
334
353
|
textAlign: z.enum([
|
|
@@ -342,7 +361,10 @@ const textNodeSchema = basePOMNodeSchema.extend({
|
|
|
342
361
|
strike: z.boolean().optional(),
|
|
343
362
|
highlight: z.string().optional(),
|
|
344
363
|
fontFamily: z.string().optional(),
|
|
345
|
-
lineHeight: z.number().optional()
|
|
364
|
+
lineHeight: z.number().optional(),
|
|
365
|
+
letterSpacing: z.number().optional(),
|
|
366
|
+
glow: textGlowSchema.optional(),
|
|
367
|
+
outline: textOutlineSchema.optional()
|
|
346
368
|
});
|
|
347
369
|
const liNodeSchema = z.object({
|
|
348
370
|
text: z.string(),
|
|
@@ -408,7 +430,8 @@ const imageSizingSchema = z.object({
|
|
|
408
430
|
const imageNodeSchema = basePOMNodeSchema.extend({
|
|
409
431
|
type: z.literal("image"),
|
|
410
432
|
src: z.string(),
|
|
411
|
-
sizing: imageSizingSchema.optional()
|
|
433
|
+
sizing: imageSizingSchema.optional(),
|
|
434
|
+
rotate: z.number().optional()
|
|
412
435
|
});
|
|
413
436
|
const iconNameSchema = z.enum(Object.keys(ICON_DATA));
|
|
414
437
|
const iconColorSchema = z.string().regex(/^#?[0-9a-fA-F]{3,8}$/).optional();
|
|
@@ -424,7 +447,8 @@ const iconNodeSchema = basePOMNodeSchema.extend({
|
|
|
424
447
|
size: z.number().positive().max(1024).optional(),
|
|
425
448
|
color: iconColorSchema,
|
|
426
449
|
variant: iconVariantSchema,
|
|
427
|
-
bgColor: iconColorSchema
|
|
450
|
+
bgColor: iconColorSchema,
|
|
451
|
+
rotate: z.number().optional()
|
|
428
452
|
});
|
|
429
453
|
const svgNodeSchema = basePOMNodeSchema.extend({
|
|
430
454
|
type: z.literal("svg"),
|
|
@@ -469,6 +493,7 @@ const shapeNodeSchema = basePOMNodeSchema.extend({
|
|
|
469
493
|
type: z.literal("shape"),
|
|
470
494
|
shapeType: shapeTypeSchema,
|
|
471
495
|
text: z.string().optional(),
|
|
496
|
+
rotate: z.number().optional(),
|
|
472
497
|
fill: fillStyleSchema.optional(),
|
|
473
498
|
line: borderStyleSchema.optional(),
|
|
474
499
|
fontSize: z.number().optional(),
|
|
@@ -524,7 +549,10 @@ const timelineItemSchema = z.object({
|
|
|
524
549
|
const timelineNodeSchema = basePOMNodeSchema.extend({
|
|
525
550
|
type: z.literal("timeline"),
|
|
526
551
|
direction: timelineDirectionSchema.optional(),
|
|
527
|
-
items: z.array(timelineItemSchema)
|
|
552
|
+
items: z.array(timelineItemSchema),
|
|
553
|
+
dateColor: z.string().optional(),
|
|
554
|
+
titleColor: z.string().optional(),
|
|
555
|
+
descriptionColor: z.string().optional()
|
|
528
556
|
});
|
|
529
557
|
const matrixAxisSchema = z.object({
|
|
530
558
|
x: z.string(),
|
|
@@ -540,13 +568,17 @@ const matrixItemSchema = z.object({
|
|
|
540
568
|
label: z.string(),
|
|
541
569
|
x: z.number().min(0).max(1),
|
|
542
570
|
y: z.number().min(0).max(1),
|
|
543
|
-
color: z.string().optional()
|
|
571
|
+
color: z.string().optional(),
|
|
572
|
+
textColor: z.string().optional()
|
|
544
573
|
});
|
|
545
574
|
const matrixNodeSchema = basePOMNodeSchema.extend({
|
|
546
575
|
type: z.literal("matrix"),
|
|
547
576
|
axes: matrixAxisSchema,
|
|
548
577
|
quadrants: matrixQuadrantsSchema.optional(),
|
|
549
|
-
items: z.array(matrixItemSchema)
|
|
578
|
+
items: z.array(matrixItemSchema),
|
|
579
|
+
axisLabelColor: z.string().optional(),
|
|
580
|
+
quadrantLabelColor: z.string().optional(),
|
|
581
|
+
itemLabelColor: z.string().optional()
|
|
550
582
|
});
|
|
551
583
|
const treeLayoutSchema = z.enum(["vertical", "horizontal"]);
|
|
552
584
|
const treeNodeShapeSchema = z.enum([
|
|
@@ -561,6 +593,7 @@ const treeConnectorStyleSchema = z.object({
|
|
|
561
593
|
const treeDataItemSchema = z.lazy(() => z.object({
|
|
562
594
|
label: z.string(),
|
|
563
595
|
color: z.string().optional(),
|
|
596
|
+
textColor: z.string().optional(),
|
|
564
597
|
children: z.array(treeDataItemSchema).optional()
|
|
565
598
|
}));
|
|
566
599
|
const treeNodeSchema = basePOMNodeSchema.extend({
|
|
@@ -568,6 +601,7 @@ const treeNodeSchema = basePOMNodeSchema.extend({
|
|
|
568
601
|
layout: treeLayoutSchema.optional(),
|
|
569
602
|
nodeShape: treeNodeShapeSchema.optional(),
|
|
570
603
|
data: treeDataItemSchema,
|
|
604
|
+
textColor: z.string().optional(),
|
|
571
605
|
connectorStyle: treeConnectorStyleSchema.optional(),
|
|
572
606
|
nodeWidth: z.number().optional(),
|
|
573
607
|
nodeHeight: z.number().optional(),
|
|
@@ -637,11 +671,13 @@ const flowConnectionSchema = z.object({
|
|
|
637
671
|
from: z.string(),
|
|
638
672
|
to: z.string(),
|
|
639
673
|
label: z.string().optional(),
|
|
640
|
-
color: z.string().optional()
|
|
674
|
+
color: z.string().optional(),
|
|
675
|
+
labelColor: z.string().optional()
|
|
641
676
|
});
|
|
642
677
|
const flowConnectorStyleSchema = z.object({
|
|
643
678
|
color: z.string().optional(),
|
|
644
679
|
width: z.number().optional(),
|
|
680
|
+
labelColor: z.string().optional(),
|
|
645
681
|
arrowType: z.enum([
|
|
646
682
|
"none",
|
|
647
683
|
"arrow",
|
|
@@ -693,7 +729,7 @@ const arrowNodeSchema = basePOMNodeSchema.extend({
|
|
|
693
729
|
beginArrow: lineArrowSchema.optional(),
|
|
694
730
|
endArrow: lineArrowSchema.optional()
|
|
695
731
|
});
|
|
696
|
-
const
|
|
732
|
+
const vStackNodeSchema = basePOMNodeSchema.extend({
|
|
697
733
|
type: z.literal("vstack"),
|
|
698
734
|
children: z.array(z.lazy(() => pomNodeSchema)),
|
|
699
735
|
gap: z.number().optional(),
|
|
@@ -701,7 +737,7 @@ const vStackNodeSchemaBase = basePOMNodeSchema.extend({
|
|
|
701
737
|
justifyContent: justifyContentSchema.optional(),
|
|
702
738
|
flexWrap: flexWrapSchema.optional()
|
|
703
739
|
});
|
|
704
|
-
const
|
|
740
|
+
const hStackNodeSchema = basePOMNodeSchema.extend({
|
|
705
741
|
type: z.literal("hstack"),
|
|
706
742
|
children: z.array(z.lazy(() => pomNodeSchema)),
|
|
707
743
|
gap: z.number().optional(),
|
|
@@ -713,7 +749,7 @@ const layerChildSchemaBase = z.lazy(() => pomNodeSchema.and(z.object({
|
|
|
713
749
|
x: z.number(),
|
|
714
750
|
y: z.number()
|
|
715
751
|
})));
|
|
716
|
-
const
|
|
752
|
+
const layerNodeSchema = basePOMNodeSchema.extend({
|
|
717
753
|
type: z.literal("layer"),
|
|
718
754
|
children: z.array(layerChildSchemaBase)
|
|
719
755
|
});
|
|
@@ -723,8 +759,8 @@ const pomNodeSchema = z.lazy(() => z.discriminatedUnion("type", [
|
|
|
723
759
|
olNodeSchema,
|
|
724
760
|
imageNodeSchema,
|
|
725
761
|
tableNodeSchema,
|
|
726
|
-
|
|
727
|
-
|
|
762
|
+
vStackNodeSchema,
|
|
763
|
+
hStackNodeSchema,
|
|
728
764
|
shapeNodeSchema,
|
|
729
765
|
chartNodeSchema,
|
|
730
766
|
timelineNodeSchema,
|
|
@@ -735,7 +771,7 @@ const pomNodeSchema = z.lazy(() => z.discriminatedUnion("type", [
|
|
|
735
771
|
pyramidNodeSchema,
|
|
736
772
|
lineNodeSchema,
|
|
737
773
|
arrowNodeSchema,
|
|
738
|
-
|
|
774
|
+
layerNodeSchema,
|
|
739
775
|
iconNodeSchema,
|
|
740
776
|
svgNodeSchema
|
|
741
777
|
]));
|
|
@@ -755,8 +791,8 @@ const positionedNodeSchema = z.lazy(() => z.union([
|
|
|
755
791
|
olNodeSchema.merge(positionedBaseSchema),
|
|
756
792
|
imageNodeSchema.merge(positionedBaseSchema).extend({ imageData: z.string().optional() }),
|
|
757
793
|
tableNodeSchema.merge(positionedBaseSchema),
|
|
758
|
-
|
|
759
|
-
|
|
794
|
+
vStackNodeSchema.merge(positionedBaseSchema).extend({ children: z.array(z.lazy(() => positionedNodeSchema)) }),
|
|
795
|
+
hStackNodeSchema.merge(positionedBaseSchema).extend({ children: z.array(z.lazy(() => positionedNodeSchema)) }),
|
|
760
796
|
shapeNodeSchema.merge(positionedBaseSchema),
|
|
761
797
|
chartNodeSchema.merge(positionedBaseSchema),
|
|
762
798
|
timelineNodeSchema.merge(positionedBaseSchema),
|
|
@@ -767,7 +803,7 @@ const positionedNodeSchema = z.lazy(() => z.union([
|
|
|
767
803
|
pyramidNodeSchema.merge(positionedBaseSchema),
|
|
768
804
|
lineNodeSchema.merge(positionedBaseSchema),
|
|
769
805
|
arrowNodeSchema.merge(positionedBaseSchema),
|
|
770
|
-
|
|
806
|
+
layerNodeSchema.merge(positionedBaseSchema).extend({ children: z.array(positionedLayerChildSchema) }),
|
|
771
807
|
iconNodeSchema.merge(positionedBaseSchema).extend({ iconImageData: z.string() }),
|
|
772
808
|
svgNodeSchema.merge(positionedBaseSchema).extend({ iconImageData: z.string() })
|
|
773
809
|
]));
|
|
@@ -852,6 +888,6 @@ z.object({
|
|
|
852
888
|
slideNumber: slideNumberOptionsSchema.optional()
|
|
853
889
|
});
|
|
854
890
|
//#endregion
|
|
855
|
-
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 };
|
|
856
892
|
|
|
857
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\";\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// ===== Base Node =====\nconst basePOMNodeSchema = z.object({\n id: z.string().optional(),\n w: lengthSchema.optional(),\n h: lengthSchema.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 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});\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});\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":";;;AAIA,MAAM,eAAe,EAAE,MAAM;CAC3B,EAAE,OAAO;CACT,EAAE,QAAQ,KAAK;CACf,EAAE,OAAO,EAAE,MAAM,QAAQ;AAC3B,CAAC;AAED,MAAM,gBAAgB,EAAE,MAAM,CAC5B,EAAE,OAAO,GACT,EAAE,OAAO;CACP,KAAK,EAAE,OAAO,EAAE,SAAS;CACzB,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,MAAM,EAAE,OAAO,EAAE,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,EAAE,SAAS;CAC3B,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,UAAU,iBAAiB,SAAS;AACtC,CAAC;AAED,MAAM,kBAAkB,EAAE,OAAO;CAC/B,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,cAAc,EAAE,OAAO,EAAE,SAAS;AACpC,CAAC;AAED,MAAa,oBAAoB,EAAE,OAAO;CACxC,MAAM,EAAE,KAAK,CAAC,SAAS,OAAO,CAAC,EAAE,SAAS;CAC1C,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,MAAM,EAAE,OAAO,EAAE,SAAS;CAC1B,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,OAAO,EAAE,OAAO,EAAE,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,EAAE,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;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CA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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",
|
|
@@ -50,18 +50,18 @@
|
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@size-limit/file": "^12.1.0",
|
|
53
|
-
"@types/node": "^25.9.
|
|
54
|
-
"@types/opentype.js": "^1.3.
|
|
53
|
+
"@types/node": "^25.9.2",
|
|
54
|
+
"@types/opentype.js": "^1.3.10",
|
|
55
55
|
"@types/pngjs": "6.0.5",
|
|
56
|
-
"@vitest/coverage-v8": "^4.1.
|
|
57
|
-
"@vitest/ui": "^4.1.
|
|
58
|
-
"
|
|
56
|
+
"@vitest/coverage-v8": "^4.1.8",
|
|
57
|
+
"@vitest/ui": "^4.1.8",
|
|
58
|
+
"dependency-cruiser": "^17.4.3",
|
|
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
|
-
"tsdown": "^0.22.
|
|
63
|
-
"tsx": "4.22.
|
|
64
|
-
"typescript-eslint": "^8.59.4"
|
|
63
|
+
"tsdown": "^0.22.2",
|
|
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",
|