@json-to-office/core-pptx 0.7.0 → 0.8.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/dist/core/render.d.ts.map +1 -1
- package/dist/core/structure.d.ts.map +1 -1
- package/dist/index.js +121 -10
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/componentDefaults.d.ts +28 -0
- package/dist/utils/componentDefaults.d.ts.map +1 -0
- package/dist/utils/resolveComponentTree.d.ts +18 -0
- package/dist/utils/resolveComponentTree.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* PPTX Core Types
|
|
3
3
|
*/
|
|
4
4
|
import type { ServicesConfig } from '@json-to-office/shared';
|
|
5
|
+
import type { PptxComponentDefaults } from '@json-to-office/shared-pptx';
|
|
5
6
|
export interface PptxComponentInput {
|
|
6
7
|
name: string;
|
|
7
8
|
id?: string;
|
|
@@ -23,6 +24,7 @@ export interface PresentationComponentDefinition {
|
|
|
23
24
|
slideHeight?: number;
|
|
24
25
|
rtlMode?: boolean;
|
|
25
26
|
pageNumberFormat?: '9' | '09';
|
|
27
|
+
componentDefaults?: PptxComponentDefaults;
|
|
26
28
|
grid?: GridConfig;
|
|
27
29
|
templates?: TemplateSlideDefinition[];
|
|
28
30
|
};
|
|
@@ -138,6 +140,7 @@ export interface PptxThemeConfig {
|
|
|
138
140
|
fontColor: string;
|
|
139
141
|
};
|
|
140
142
|
styles?: Partial<Record<StyleName, TextStyle>>;
|
|
143
|
+
componentDefaults?: PptxComponentDefaults;
|
|
141
144
|
}
|
|
142
145
|
export interface PlaceholderDefinition {
|
|
143
146
|
name: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PPTX Component Default Resolution System
|
|
3
|
+
* Provides theme-based default configurations for components
|
|
4
|
+
*/
|
|
5
|
+
import type { PptxThemeConfig } from '../types';
|
|
6
|
+
import type { PptxComponentDefaults, TextComponentDefaults, ImageComponentDefaults, ShapeComponentDefaults, TableComponentDefaults, HighchartsComponentDefaults, ChartComponentDefaults, TextProps, PptxImageProps, ShapeProps, PptxTableProps, PptxHighchartsProps, PptxChartProps } from '@json-to-office/shared-pptx';
|
|
7
|
+
export declare function getComponentDefaults(theme: PptxThemeConfig): PptxComponentDefaults;
|
|
8
|
+
export declare function getTextDefaults(theme: PptxThemeConfig): TextComponentDefaults;
|
|
9
|
+
export declare function getImageDefaults(theme: PptxThemeConfig): ImageComponentDefaults;
|
|
10
|
+
export declare function getShapeDefaults(theme: PptxThemeConfig): ShapeComponentDefaults;
|
|
11
|
+
export declare function getTableDefaults(theme: PptxThemeConfig): TableComponentDefaults;
|
|
12
|
+
export declare function getHighchartsDefaults(theme: PptxThemeConfig): HighchartsComponentDefaults;
|
|
13
|
+
export declare function getChartDefaults(theme: PptxThemeConfig): ChartComponentDefaults;
|
|
14
|
+
export declare function getCustomComponentDefaults(theme: PptxThemeConfig, componentName: string): Record<string, unknown>;
|
|
15
|
+
export declare function resolveTextProps(props: TextProps, theme: PptxThemeConfig): TextProps;
|
|
16
|
+
export declare function resolveImageProps(props: PptxImageProps, theme: PptxThemeConfig): PptxImageProps;
|
|
17
|
+
export declare function resolveShapeProps(props: ShapeProps, theme: PptxThemeConfig): ShapeProps;
|
|
18
|
+
export declare function resolveTableProps(props: PptxTableProps, theme: PptxThemeConfig): PptxTableProps;
|
|
19
|
+
export declare function resolveHighchartsProps(props: PptxHighchartsProps, theme: PptxThemeConfig): PptxHighchartsProps;
|
|
20
|
+
export declare function resolveChartProps(props: PptxChartProps, theme: PptxThemeConfig): PptxChartProps;
|
|
21
|
+
export declare function resolveCustomComponentProps<T extends Record<string, unknown>>(props: T, theme: PptxThemeConfig, componentName: string): T;
|
|
22
|
+
/**
|
|
23
|
+
* Get the flat componentDefaults object for a given component type.
|
|
24
|
+
* Use this when you need the raw defaults without merging into props
|
|
25
|
+
* (e.g. for injecting into a multi-layer shallow spread).
|
|
26
|
+
*/
|
|
27
|
+
export declare function getDefaultsForType(componentName: string, theme: PptxThemeConfig): Record<string, unknown>;
|
|
28
|
+
//# sourceMappingURL=componentDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentDefaults.d.ts","sourceRoot":"","sources":["../../src/utils/componentDefaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACf,MAAM,6BAA6B,CAAC;AAKrC,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,GACrB,qBAAqB,CAEvB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,qBAAqB,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GACrB,sBAAsB,CAExB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GACrB,sBAAsB,CAExB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GACrB,sBAAsB,CAExB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,GACrB,2BAA2B,CAE7B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GACrB,sBAAsB,CAExB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAID,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,eAAe,GACrB,SAAS,CAEX;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAEhB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,eAAe,GACrB,UAAU,CAEZ;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAEhB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,eAAe,GACrB,mBAAmB,CAErB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,eAAe,GACrB,cAAc,CAEhB;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,GACpB,CAAC,CAGH;AAgBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,eAAe,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized Component Defaults Resolution
|
|
3
|
+
* Walks the component tree and resolves theme componentDefaults
|
|
4
|
+
* on every component before any rendering or structure processing.
|
|
5
|
+
*/
|
|
6
|
+
import type { PptxComponentInput, PptxThemeConfig } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Resolve componentDefaults for a single component.
|
|
9
|
+
* Known components use their typed resolver; unknown names
|
|
10
|
+
* fall back to resolveCustomComponentProps.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveComponentDefaults(component: PptxComponentInput, theme: PptxThemeConfig): PptxComponentInput;
|
|
13
|
+
/**
|
|
14
|
+
* Recursively walk the component tree and resolve componentDefaults
|
|
15
|
+
* on every component. Returns a new tree (no mutation).
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveComponentTree(components: PptxComponentInput[], theme: PptxThemeConfig): PptxComponentInput[];
|
|
18
|
+
//# sourceMappingURL=resolveComponentTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveComponentTree.d.ts","sourceRoot":"","sources":["../../src/utils/resolveComponentTree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAuBpE;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE,eAAe,GACrB,kBAAkB,CAWpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,kBAAkB,EAAE,EAChC,KAAK,EAAE,eAAe,GACrB,kBAAkB,EAAE,CAatB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@json-to-office/core-pptx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Core PPTX presentation generation engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"jszip": "3.10.1",
|
|
23
23
|
"probe-image-size": "7.2.3",
|
|
24
24
|
"pptxgenjs": "^3.12.0",
|
|
25
|
-
"@json-to-office/shared": "^0.
|
|
26
|
-
"@json-to-office/shared-pptx": "^0.
|
|
25
|
+
"@json-to-office/shared": "^0.8.0",
|
|
26
|
+
"@json-to-office/shared-pptx": "^0.8.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "20.11.0",
|