@json-to-office/core-pptx 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +9 -0
  3. package/dist/components/chart.d.ts +63 -0
  4. package/dist/components/chart.d.ts.map +1 -0
  5. package/dist/components/highcharts.d.ts +8 -0
  6. package/dist/components/highcharts.d.ts.map +1 -0
  7. package/dist/components/image.d.ts +37 -0
  8. package/dist/components/image.d.ts.map +1 -0
  9. package/dist/components/index.d.ts +13 -0
  10. package/dist/components/index.d.ts.map +1 -0
  11. package/dist/components/shape.d.ts +45 -0
  12. package/dist/components/shape.d.ts.map +1 -0
  13. package/dist/components/table.d.ts +46 -0
  14. package/dist/components/table.d.ts.map +1 -0
  15. package/dist/components/text.d.ts +57 -0
  16. package/dist/components/text.d.ts.map +1 -0
  17. package/dist/core/generator.d.ts +61 -0
  18. package/dist/core/generator.d.ts.map +1 -0
  19. package/dist/core/grid.d.ts +35 -0
  20. package/dist/core/grid.d.ts.map +1 -0
  21. package/dist/core/render.d.ts +8 -0
  22. package/dist/core/render.d.ts.map +1 -0
  23. package/dist/core/structure.d.ts +8 -0
  24. package/dist/core/structure.d.ts.map +1 -0
  25. package/dist/core/template.d.ts +10 -0
  26. package/dist/core/template.d.ts.map +1 -0
  27. package/dist/index.d.ts +10 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +1205 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/themes/defaults.d.ts +8 -0
  32. package/dist/themes/defaults.d.ts.map +1 -0
  33. package/dist/themes/index.d.ts +2 -0
  34. package/dist/themes/index.d.ts.map +1 -0
  35. package/dist/tsconfig.tsbuildinfo +1 -0
  36. package/dist/types.d.ts +184 -0
  37. package/dist/types.d.ts.map +1 -0
  38. package/dist/utils/color.d.ts +12 -0
  39. package/dist/utils/color.d.ts.map +1 -0
  40. package/dist/utils/environment.d.ts +8 -0
  41. package/dist/utils/environment.d.ts.map +1 -0
  42. package/dist/utils/warn.d.ts +20 -0
  43. package/dist/utils/warn.d.ts.map +1 -0
  44. package/package.json +76 -0
@@ -0,0 +1,184 @@
1
+ /**
2
+ * PPTX Core Types
3
+ */
4
+ export interface PptxComponentInput {
5
+ name: string;
6
+ id?: string;
7
+ enabled?: boolean;
8
+ props: Record<string, any>;
9
+ children?: PptxComponentInput[];
10
+ }
11
+ export interface PresentationComponentDefinition {
12
+ name: 'pptx';
13
+ $schema?: string;
14
+ id?: string;
15
+ props: {
16
+ title?: string;
17
+ author?: string;
18
+ subject?: string;
19
+ company?: string;
20
+ theme?: string;
21
+ slideWidth?: number;
22
+ slideHeight?: number;
23
+ rtlMode?: boolean;
24
+ pageNumberFormat?: '9' | '09';
25
+ grid?: GridConfig;
26
+ templates?: TemplateSlideDefinition[];
27
+ };
28
+ children?: PptxComponentInput[];
29
+ }
30
+ export interface SlideComponentDefinition {
31
+ name: 'slide';
32
+ id?: string;
33
+ props: {
34
+ background?: {
35
+ color?: string;
36
+ image?: {
37
+ path?: string;
38
+ base64?: string;
39
+ };
40
+ };
41
+ transition?: {
42
+ type?: string;
43
+ speed?: string;
44
+ };
45
+ notes?: string;
46
+ layout?: string;
47
+ hidden?: boolean;
48
+ template?: string;
49
+ placeholders?: Record<string, PptxComponentInput>;
50
+ };
51
+ children?: PptxComponentInput[];
52
+ }
53
+ export interface ProcessedPresentation {
54
+ metadata: {
55
+ title?: string;
56
+ author?: string;
57
+ subject?: string;
58
+ company?: string;
59
+ };
60
+ theme: PptxThemeConfig;
61
+ grid?: GridConfig;
62
+ slideWidth: number;
63
+ slideHeight: number;
64
+ rtlMode: boolean;
65
+ pageNumberFormat: '9' | '09';
66
+ slides: ProcessedSlide[];
67
+ templates?: TemplateSlideDefinition[];
68
+ }
69
+ export interface ProcessedSlide {
70
+ components: PptxComponentInput[];
71
+ background?: {
72
+ color?: string;
73
+ image?: {
74
+ path?: string;
75
+ base64?: string;
76
+ };
77
+ };
78
+ notes?: string;
79
+ layout?: string;
80
+ hidden?: boolean;
81
+ template?: string;
82
+ placeholders?: Record<string, PptxComponentInput>;
83
+ }
84
+ export interface GridConfig {
85
+ columns?: number;
86
+ rows?: number;
87
+ margin?: number | {
88
+ top: number;
89
+ right: number;
90
+ bottom: number;
91
+ left: number;
92
+ };
93
+ gutter?: number | {
94
+ column: number;
95
+ row: number;
96
+ };
97
+ }
98
+ export interface GridPosition {
99
+ column: number;
100
+ row: number;
101
+ columnSpan?: number;
102
+ rowSpan?: number;
103
+ }
104
+ export interface TextStyle {
105
+ fontSize?: number;
106
+ fontFace?: string;
107
+ fontColor?: string;
108
+ bold?: boolean;
109
+ italic?: boolean;
110
+ align?: string;
111
+ lineSpacing?: number;
112
+ charSpacing?: number;
113
+ paraSpaceAfter?: number;
114
+ }
115
+ export type StyleName = 'title' | 'subtitle' | 'heading1' | 'heading2' | 'heading3' | 'body' | 'caption';
116
+ export interface PptxThemeConfig {
117
+ name: string;
118
+ colors: {
119
+ primary: string;
120
+ secondary: string;
121
+ accent: string;
122
+ background: string;
123
+ text: string;
124
+ text2?: string;
125
+ background2?: string;
126
+ accent4?: string;
127
+ accent5?: string;
128
+ accent6?: string;
129
+ };
130
+ fonts: {
131
+ heading: string;
132
+ body: string;
133
+ };
134
+ defaults: {
135
+ fontSize: number;
136
+ fontColor: string;
137
+ };
138
+ styles?: Partial<Record<StyleName, TextStyle>>;
139
+ }
140
+ export interface PlaceholderDefinition {
141
+ name: string;
142
+ x?: number;
143
+ y?: number;
144
+ w?: number;
145
+ h?: number;
146
+ grid?: GridPosition;
147
+ defaults?: PptxComponentInput;
148
+ }
149
+ export interface TemplateSlideDefinition {
150
+ name: string;
151
+ background?: {
152
+ color?: string;
153
+ image?: {
154
+ path?: string;
155
+ base64?: string;
156
+ };
157
+ };
158
+ margin?: number | [number, number, number, number];
159
+ slideNumber?: {
160
+ x: number;
161
+ y: number;
162
+ w?: number;
163
+ h?: number;
164
+ color?: string;
165
+ fontSize?: number;
166
+ };
167
+ objects?: PptxComponentInput[];
168
+ placeholders?: PlaceholderDefinition[];
169
+ grid?: GridConfig;
170
+ }
171
+ export interface SlideContext {
172
+ slideNumber: number;
173
+ totalSlides: number;
174
+ pageNumberFormat: '9' | '09';
175
+ }
176
+ export interface PipelineWarning {
177
+ code: string;
178
+ message: string;
179
+ component?: string;
180
+ slide?: number;
181
+ }
182
+ export declare function isPresentationComponent(component: unknown): component is PresentationComponentDefinition;
183
+ export declare function isSlideComponent(component: unknown): component is SlideComponentDefinition;
184
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Color utilities for PPTX generation.
3
+ * pptxgenjs expects bare 6-char hex (e.g. 'FF0000'), but our theme
4
+ * convention uses '#'-prefixed values (e.g. '#FF0000').
5
+ */
6
+ import type { PptxThemeConfig, PipelineWarning } from '../types';
7
+ /**
8
+ * Resolve a color value to bare hex (no '#' prefix).
9
+ * Accepts hex colors (with or without '#') or semantic theme color names.
10
+ */
11
+ export declare function resolveColor(color: string, theme: PptxThemeConfig, warnings?: PipelineWarning[]): string;
12
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAiBjE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,CAmBxG"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Environment detection utilities
3
+ */
4
+ /**
5
+ * Check if the current environment is Node.js
6
+ */
7
+ export declare function isNodeEnvironment(): boolean;
8
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/utils/environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
@@ -0,0 +1,20 @@
1
+ import type { PipelineWarning } from '../types';
2
+ export declare const W: {
3
+ readonly UNKNOWN_COMPONENT: "UNKNOWN_COMPONENT";
4
+ readonly UNKNOWN_CHART_TYPE: "UNKNOWN_CHART_TYPE";
5
+ readonly UNKNOWN_SHAPE: "UNKNOWN_SHAPE";
6
+ readonly CHART_NO_DATA: "CHART_NO_DATA";
7
+ readonly CHART_INVALID_SERIES: "CHART_INVALID_SERIES";
8
+ readonly CHART_MULTI_SERIES: "CHART_MULTI_SERIES";
9
+ readonly IMAGE_NO_SOURCE: "IMAGE_NO_SOURCE";
10
+ readonly IMAGE_PROBE_FAILED: "IMAGE_PROBE_FAILED";
11
+ readonly MISSING_TEMPLATE: "MISSING_TEMPLATE";
12
+ readonly UNKNOWN_PLACEHOLDER: "UNKNOWN_PLACEHOLDER";
13
+ readonly PLACEHOLDER_NO_POSITION: "PLACEHOLDER_NO_POSITION";
14
+ readonly THEME_COLOR_FALLBACK: "THEME_COLOR_FALLBACK";
15
+ readonly UNKNOWN_COLOR: "UNKNOWN_COLOR";
16
+ readonly GRID_POSITION_CLAMPED: "GRID_POSITION_CLAMPED";
17
+ };
18
+ export type WarningCode = typeof W[keyof typeof W];
19
+ export declare function warn(warnings: PipelineWarning[] | undefined, code: WarningCode, message: string, extra?: Partial<PipelineWarning>): void;
20
+ //# sourceMappingURL=warn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn.d.ts","sourceRoot":"","sources":["../../src/utils/warn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;CAeJ,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC;AAEnD,wBAAgB,IAAI,CAClB,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,EACvC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAC/B,IAAI,CAMN"}
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@json-to-office/core-pptx",
3
+ "version": "0.1.0",
4
+ "description": "Core PPTX presentation generation engine",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./*": {
15
+ "types": "./dist/*.d.ts",
16
+ "import": "./dist/*.js",
17
+ "default": "./dist/*.js"
18
+ }
19
+ },
20
+ "dependencies": {
21
+ "@sinclair/typebox": "0.34.38",
22
+ "jszip": "3.10.1",
23
+ "probe-image-size": "7.2.3",
24
+ "pptxgenjs": "^3.12.0",
25
+ "@json-to-office/shared": "^0.1.0",
26
+ "@json-to-office/shared-pptx": "^0.1.0"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "20.11.0",
30
+ "@types/probe-image-size": "7.2.4",
31
+ "tsup": "8.5.0",
32
+ "typescript": "5.3.3"
33
+ },
34
+ "license": "MIT",
35
+ "author": "Paolo Barbato",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/Wiseair-srl/json-to-office.git",
39
+ "directory": "packages/core-pptx"
40
+ },
41
+ "homepage": "https://github.com/Wiseair-srl/json-to-office/tree/main/packages/core-pptx",
42
+ "bugs": {
43
+ "url": "https://github.com/Wiseair-srl/json-to-office/issues"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "files": [
49
+ "dist",
50
+ "LICENSE"
51
+ ],
52
+ "keywords": [
53
+ "json-to-office",
54
+ "typescript",
55
+ "pptx",
56
+ "presentation",
57
+ "powerpoint"
58
+ ],
59
+ "engines": {
60
+ "node": ">=20.0.0"
61
+ },
62
+ "scripts": {
63
+ "build": "tsup && tsc --emitDeclarationOnly --declaration",
64
+ "build:js": "tsup",
65
+ "build:types": "tsc --emitDeclarationOnly --declaration",
66
+ "dev": "tsup --watch",
67
+ "clean": "rm -rf dist",
68
+ "lint": "eslint src/**/*.ts",
69
+ "lint:fix": "eslint src/**/*.ts --fix",
70
+ "format": "prettier --write src/**/*.ts",
71
+ "typecheck": "tsc --noEmit",
72
+ "test": "vitest run --passWithNoTests",
73
+ "test:watch": "vitest",
74
+ "test:coverage": "vitest run --coverage --passWithNoTests"
75
+ }
76
+ }