@hirokisakabe/pom 0.2.0 → 1.0.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 +3 -2
- package/dist/buildPptx.d.ts +2 -2
- package/dist/buildPptx.d.ts.map +1 -1
- package/dist/buildPptx.js +4 -66
- package/dist/calcYogaLayout/calcYogaLayout.d.ts.map +1 -1
- package/dist/calcYogaLayout/calcYogaLayout.js +49 -84
- package/dist/calcYogaLayout/fontLoader.d.ts +20 -0
- package/dist/calcYogaLayout/fontLoader.d.ts.map +1 -0
- package/dist/calcYogaLayout/fontLoader.js +59 -0
- package/dist/calcYogaLayout/fonts/notoSansJPBold.d.ts +7 -0
- package/dist/calcYogaLayout/fonts/notoSansJPBold.d.ts.map +1 -0
- package/dist/calcYogaLayout/fonts/notoSansJPBold.js +6 -0
- package/dist/calcYogaLayout/fonts/notoSansJPRegular.d.ts +7 -0
- package/dist/calcYogaLayout/fonts/notoSansJPRegular.d.ts.map +1 -0
- package/dist/calcYogaLayout/fonts/notoSansJPRegular.js +6 -0
- package/dist/calcYogaLayout/measureText.d.ts +1 -1
- package/dist/calcYogaLayout/measureText.d.ts.map +1 -1
- package/dist/calcYogaLayout/measureText.js +65 -114
- package/dist/inputSchema.d.ts +269 -10
- package/dist/inputSchema.d.ts.map +1 -1
- package/dist/inputSchema.js +94 -15
- package/dist/renderPptx/nodes/box.d.ts +1 -0
- package/dist/renderPptx/nodes/box.d.ts.map +1 -0
- package/dist/renderPptx/nodes/box.js +2 -0
- package/dist/renderPptx/nodes/chart.d.ts +8 -0
- package/dist/renderPptx/nodes/chart.d.ts.map +1 -0
- package/dist/renderPptx/nodes/chart.js +23 -0
- package/dist/renderPptx/nodes/flow.d.ts +8 -0
- package/dist/renderPptx/nodes/flow.d.ts.map +1 -0
- package/dist/renderPptx/nodes/flow.js +208 -0
- package/dist/renderPptx/nodes/image.d.ts +8 -0
- package/dist/renderPptx/nodes/image.d.ts.map +1 -0
- package/dist/renderPptx/nodes/image.js +17 -0
- package/dist/renderPptx/nodes/index.d.ts +11 -0
- package/dist/renderPptx/nodes/index.d.ts.map +1 -0
- package/dist/renderPptx/nodes/index.js +10 -0
- package/dist/renderPptx/nodes/matrix.d.ts +8 -0
- package/dist/renderPptx/nodes/matrix.d.ts.map +1 -0
- package/dist/renderPptx/nodes/matrix.js +150 -0
- package/dist/renderPptx/nodes/processArrow.d.ts +8 -0
- package/dist/renderPptx/nodes/processArrow.d.ts.map +1 -0
- package/dist/renderPptx/nodes/processArrow.js +75 -0
- package/dist/renderPptx/nodes/shape.d.ts +8 -0
- package/dist/renderPptx/nodes/shape.d.ts.map +1 -0
- package/dist/renderPptx/nodes/shape.js +49 -0
- package/dist/renderPptx/nodes/table.d.ts +8 -0
- package/dist/renderPptx/nodes/table.d.ts.map +1 -0
- package/dist/renderPptx/nodes/table.js +29 -0
- package/dist/renderPptx/nodes/text.d.ts +8 -0
- package/dist/renderPptx/nodes/text.d.ts.map +1 -0
- package/dist/renderPptx/nodes/text.js +5 -0
- package/dist/renderPptx/nodes/timeline.d.ts +8 -0
- package/dist/renderPptx/nodes/timeline.d.ts.map +1 -0
- package/dist/renderPptx/nodes/timeline.js +157 -0
- package/dist/renderPptx/nodes/tree.d.ts +8 -0
- package/dist/renderPptx/nodes/tree.d.ts.map +1 -0
- package/dist/renderPptx/nodes/tree.js +223 -0
- package/dist/renderPptx/renderPptx.d.ts +3 -2
- package/dist/renderPptx/renderPptx.d.ts.map +1 -1
- package/dist/renderPptx/renderPptx.js +204 -945
- package/dist/renderPptx/types.d.ts +10 -0
- package/dist/renderPptx/types.d.ts.map +1 -0
- package/dist/renderPptx/types.js +1 -0
- package/dist/renderPptx/utils/backgroundBorder.d.ts +8 -0
- package/dist/renderPptx/utils/backgroundBorder.d.ts.map +1 -0
- package/dist/renderPptx/utils/backgroundBorder.js +44 -0
- package/dist/renderPptx/utils/index.d.ts +6 -0
- package/dist/renderPptx/utils/index.d.ts.map +1 -0
- package/dist/renderPptx/utils/index.js +3 -0
- package/dist/renderPptx/utils/shapeDrawing.d.ts +27 -0
- package/dist/renderPptx/utils/shapeDrawing.d.ts.map +1 -0
- package/dist/renderPptx/utils/shapeDrawing.js +36 -0
- package/dist/renderPptx/utils/textDrawing.d.ts +20 -0
- package/dist/renderPptx/utils/textDrawing.d.ts.map +1 -0
- package/dist/renderPptx/utils/textDrawing.js +20 -0
- package/dist/schema.d.ts +2 -2
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -2
- package/dist/types.d.ts +258 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +74 -15
- package/package.json +3 -2
package/dist/types.js
CHANGED
|
@@ -535,19 +535,78 @@ export const positionedNodeSchema = z.lazy(() => z.union([
|
|
|
535
535
|
flowNodeSchema.merge(positionedBaseSchema),
|
|
536
536
|
processArrowNodeSchema.merge(positionedBaseSchema),
|
|
537
537
|
]));
|
|
538
|
-
// ===== Master
|
|
539
|
-
export const
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
538
|
+
// ===== Slide Master Options =====
|
|
539
|
+
export const masterTextObjectSchema = z.object({
|
|
540
|
+
type: z.literal("text"),
|
|
541
|
+
text: z.string(),
|
|
542
|
+
x: z.number(),
|
|
543
|
+
y: z.number(),
|
|
544
|
+
w: z.number(),
|
|
545
|
+
h: z.number(),
|
|
546
|
+
fontPx: z.number().optional(),
|
|
547
|
+
fontFamily: z.string().optional(),
|
|
548
|
+
color: z.string().optional(),
|
|
549
|
+
bold: z.boolean().optional(),
|
|
550
|
+
alignText: z.enum(["left", "center", "right"]).optional(),
|
|
551
|
+
});
|
|
552
|
+
export const masterImageObjectSchema = z.object({
|
|
553
|
+
type: z.literal("image"),
|
|
554
|
+
src: z.string(),
|
|
555
|
+
x: z.number(),
|
|
556
|
+
y: z.number(),
|
|
557
|
+
w: z.number(),
|
|
558
|
+
h: z.number(),
|
|
559
|
+
});
|
|
560
|
+
export const masterRectObjectSchema = z.object({
|
|
561
|
+
type: z.literal("rect"),
|
|
562
|
+
x: z.number(),
|
|
563
|
+
y: z.number(),
|
|
564
|
+
w: z.number(),
|
|
565
|
+
h: z.number(),
|
|
566
|
+
fill: fillStyleSchema.optional(),
|
|
567
|
+
border: borderStyleSchema.optional(),
|
|
568
|
+
});
|
|
569
|
+
export const masterLineObjectSchema = z.object({
|
|
570
|
+
type: z.literal("line"),
|
|
571
|
+
x: z.number(),
|
|
572
|
+
y: z.number(),
|
|
573
|
+
w: z.number(),
|
|
574
|
+
h: z.number(),
|
|
575
|
+
line: borderStyleSchema.optional(),
|
|
576
|
+
});
|
|
577
|
+
export const masterObjectSchema = z.discriminatedUnion("type", [
|
|
578
|
+
masterTextObjectSchema,
|
|
579
|
+
masterImageObjectSchema,
|
|
580
|
+
masterRectObjectSchema,
|
|
581
|
+
masterLineObjectSchema,
|
|
582
|
+
]);
|
|
583
|
+
export const slideNumberOptionsSchema = z.object({
|
|
584
|
+
x: z.number(),
|
|
585
|
+
y: z.number(),
|
|
586
|
+
w: z.number().optional(),
|
|
587
|
+
h: z.number().optional(),
|
|
588
|
+
fontPx: z.number().optional(),
|
|
589
|
+
fontFamily: z.string().optional(),
|
|
590
|
+
color: z.string().optional(),
|
|
591
|
+
});
|
|
592
|
+
export const slideMasterBackgroundSchema = z.union([
|
|
593
|
+
z.object({ color: z.string() }),
|
|
594
|
+
z.object({ path: z.string() }),
|
|
595
|
+
z.object({ data: z.string() }),
|
|
596
|
+
]);
|
|
597
|
+
export const slideMasterMarginSchema = z.union([
|
|
598
|
+
z.number(),
|
|
599
|
+
z.object({
|
|
600
|
+
top: z.number().optional(),
|
|
601
|
+
right: z.number().optional(),
|
|
602
|
+
bottom: z.number().optional(),
|
|
603
|
+
left: z.number().optional(),
|
|
604
|
+
}),
|
|
605
|
+
]);
|
|
606
|
+
export const slideMasterOptionsSchema = z.object({
|
|
607
|
+
title: z.string().optional(),
|
|
608
|
+
background: slideMasterBackgroundSchema.optional(),
|
|
609
|
+
margin: slideMasterMarginSchema.optional(),
|
|
610
|
+
objects: z.array(masterObjectSchema).optional(),
|
|
611
|
+
slideNumber: slideNumberOptionsSchema.optional(),
|
|
553
612
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hirokisakabe/pom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "PowerPoint Object Model - A declarative TypeScript library for creating PowerPoint presentations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"@changesets/cli": "^2.29.8",
|
|
74
74
|
"@eslint/js": "^9.39.1",
|
|
75
75
|
"@types/image-size": "0.7.0",
|
|
76
|
+
"@types/opentype.js": "^1.3.8",
|
|
76
77
|
"@types/pngjs": "6.0.5",
|
|
77
78
|
"@vitest/ui": "^4.0.8",
|
|
78
79
|
"eslint": "^9.39.1",
|
|
@@ -87,8 +88,8 @@
|
|
|
87
88
|
"vitest": "^4.0.8"
|
|
88
89
|
},
|
|
89
90
|
"dependencies": {
|
|
90
|
-
"canvas": "3.2.0",
|
|
91
91
|
"image-size": "2.0.2",
|
|
92
|
+
"opentype.js": "^1.3.4",
|
|
92
93
|
"pptxgenjs": "4.0.1",
|
|
93
94
|
"yoga-layout": "3.2.1",
|
|
94
95
|
"zod": "4.1.12"
|