@superdoc-dev/template-builder 0.2.0 → 0.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/dist/defaults/FieldList.d.ts.map +1 -1
- package/dist/defaults/FieldMenu.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -22
- package/dist/index.mjs +832 -928
- package/dist/types.d.ts +24 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -21
package/dist/types.d.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
import { SuperDoc } from 'superdoc';
|
|
1
2
|
export interface FieldDefinition {
|
|
2
3
|
id: string;
|
|
3
4
|
label: string;
|
|
4
|
-
category?: string;
|
|
5
5
|
defaultValue?: string;
|
|
6
6
|
metadata?: Record<string, any>;
|
|
7
|
+
group?: string;
|
|
7
8
|
}
|
|
8
9
|
export interface TemplateField {
|
|
9
10
|
id: string | number;
|
|
10
11
|
alias: string;
|
|
11
12
|
tag?: string;
|
|
12
13
|
position?: number;
|
|
13
|
-
mode?:
|
|
14
|
+
mode?: 'inline' | 'block';
|
|
15
|
+
group?: string;
|
|
14
16
|
}
|
|
15
17
|
export interface TriggerEvent {
|
|
16
18
|
position: {
|
|
@@ -20,6 +22,11 @@ export interface TriggerEvent {
|
|
|
20
22
|
bounds?: DOMRect;
|
|
21
23
|
cleanup: () => void;
|
|
22
24
|
}
|
|
25
|
+
export interface ExportEvent {
|
|
26
|
+
fields: TemplateField[];
|
|
27
|
+
blob?: Blob;
|
|
28
|
+
fileName: string;
|
|
29
|
+
}
|
|
23
30
|
export interface FieldMenuProps {
|
|
24
31
|
isVisible: boolean;
|
|
25
32
|
position?: DOMRect;
|
|
@@ -30,6 +37,8 @@ export interface FieldMenuProps {
|
|
|
30
37
|
onSelect: (field: FieldDefinition) => void;
|
|
31
38
|
onClose: () => void;
|
|
32
39
|
onCreateField?: (field: FieldDefinition) => void | Promise<FieldDefinition | void>;
|
|
40
|
+
existingFields?: TemplateField[];
|
|
41
|
+
onSelectExisting?: (field: TemplateField) => void;
|
|
33
42
|
}
|
|
34
43
|
export interface FieldListProps {
|
|
35
44
|
fields: TemplateField[];
|
|
@@ -40,7 +49,7 @@ export interface FieldListProps {
|
|
|
40
49
|
}
|
|
41
50
|
export interface DocumentConfig {
|
|
42
51
|
source?: string | File | Blob;
|
|
43
|
-
mode?:
|
|
52
|
+
mode?: 'editing' | 'viewing';
|
|
44
53
|
}
|
|
45
54
|
export interface FieldsConfig {
|
|
46
55
|
available?: FieldDefinition[];
|
|
@@ -53,7 +62,7 @@ export interface MenuConfig {
|
|
|
53
62
|
}
|
|
54
63
|
export interface ListConfig {
|
|
55
64
|
component?: React.ComponentType<FieldListProps>;
|
|
56
|
-
position?:
|
|
65
|
+
position?: 'left' | 'right';
|
|
57
66
|
}
|
|
58
67
|
export interface ToolbarConfig {
|
|
59
68
|
selector?: string;
|
|
@@ -97,6 +106,7 @@ export interface SuperDocTemplateBuilderProps {
|
|
|
97
106
|
onFieldsChange?: (fields: TemplateField[]) => void;
|
|
98
107
|
onFieldSelect?: (field: TemplateField | null) => void;
|
|
99
108
|
onFieldCreate?: (field: FieldDefinition) => void | Promise<FieldDefinition | void>;
|
|
109
|
+
onExport?: (event: ExportEvent) => void;
|
|
100
110
|
className?: string;
|
|
101
111
|
style?: React.CSSProperties;
|
|
102
112
|
documentHeight?: string;
|
|
@@ -115,5 +125,15 @@ export interface SuperDocTemplateBuilderHandle {
|
|
|
115
125
|
previousField: () => void;
|
|
116
126
|
getFields: () => TemplateField[];
|
|
117
127
|
exportTemplate: (config?: ExportConfig) => Promise<void | Blob>;
|
|
128
|
+
/**
|
|
129
|
+
* Returns the SuperDoc instance.
|
|
130
|
+
* Use this to access the full SuperDoc API, including:
|
|
131
|
+
* - The active editor: `getSuperDoc()?.activeEditor`
|
|
132
|
+
* - Editor commands: `getSuperDoc()?.activeEditor?.commands.*`
|
|
133
|
+
* - Editor state and helpers: `getSuperDoc()?.activeEditor?.state`
|
|
134
|
+
*
|
|
135
|
+
* Note: Full TypeScript types for SuperDoc will be available in a future update.
|
|
136
|
+
*/
|
|
137
|
+
getSuperDoc: () => SuperDoc | null;
|
|
118
138
|
}
|
|
119
139
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/template-builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "React template builder component for SuperDoc",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -21,13 +21,15 @@
|
|
|
21
21
|
"dev": "vite build --watch",
|
|
22
22
|
"build": "tsc && vite build",
|
|
23
23
|
"type-check": "tsc --noEmit",
|
|
24
|
-
"lint": "eslint src
|
|
25
|
-
"
|
|
24
|
+
"lint": "eslint src demo",
|
|
25
|
+
"lint:fix": "eslint src demo --fix",
|
|
26
|
+
"format": "prettier --write \"src/**/*.{ts,tsx}\" \"demo/**/*.{ts,tsx}\"",
|
|
27
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx}\" \"demo/**/*.{ts,tsx}\"",
|
|
26
28
|
"test": "vitest",
|
|
27
29
|
"test:watch": "vitest --watch",
|
|
28
30
|
"prepare": "husky",
|
|
29
31
|
"release": "semantic-release",
|
|
30
|
-
"check:all": "pnpm run
|
|
32
|
+
"check:all": "pnpm run format:check && pnpm run lint && pnpm run type-check && pnpm run build"
|
|
31
33
|
},
|
|
32
34
|
"repository": {
|
|
33
35
|
"type": "git",
|
|
@@ -51,43 +53,47 @@
|
|
|
51
53
|
"homepage": "https://github.com/superdoc-dev/template-builder#readme",
|
|
52
54
|
"peerDependencies": {
|
|
53
55
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
54
|
-
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
55
|
-
|
|
56
|
-
"dependencies": {
|
|
57
|
-
"superdoc": "^0.22.0"
|
|
56
|
+
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
57
|
+
"superdoc": "^0.35.3"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@commitlint/cli": "^20.1.0",
|
|
61
61
|
"@commitlint/config-conventional": "^20.0.0",
|
|
62
|
-
"@eslint/js": "^9.
|
|
63
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
62
|
+
"@eslint/js": "^9.39.1",
|
|
64
63
|
"@semantic-release/git": "^10.0.1",
|
|
65
64
|
"@testing-library/jest-dom": "^6.9.1",
|
|
66
65
|
"@testing-library/react": "^16.3.0",
|
|
67
66
|
"@testing-library/user-event": "^14.6.1",
|
|
68
|
-
"@types/node": "^24.
|
|
69
|
-
"@types/react": "^19.2.
|
|
70
|
-
"@types/react-dom": "^19.2.
|
|
71
|
-
"@vitejs/plugin-react": "^5.
|
|
72
|
-
"eslint": "^9.
|
|
67
|
+
"@types/node": "^24.10.1",
|
|
68
|
+
"@types/react": "^19.2.6",
|
|
69
|
+
"@types/react-dom": "^19.2.3",
|
|
70
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
71
|
+
"eslint": "^9.39.1",
|
|
73
72
|
"eslint-plugin-react": "^7.37.5",
|
|
74
|
-
"eslint-plugin-react-hooks": "^7.0.
|
|
73
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
75
74
|
"husky": "^9.1.7",
|
|
76
|
-
"jsdom": "^27.
|
|
75
|
+
"jsdom": "^27.2.0",
|
|
76
|
+
"lint-staged": "^16.2.7",
|
|
77
77
|
"prettier": "^3.6.2",
|
|
78
78
|
"react": "^19.2.0",
|
|
79
79
|
"react-dom": "^19.2.0",
|
|
80
|
-
"semantic-release": "^
|
|
80
|
+
"semantic-release": "^25.0.2",
|
|
81
81
|
"typescript": "^5.9.3",
|
|
82
|
-
"typescript-eslint": "^8.
|
|
83
|
-
"vite": "^7.
|
|
82
|
+
"typescript-eslint": "^8.47.0",
|
|
83
|
+
"vite": "^7.2.4",
|
|
84
84
|
"vite-plugin-dts": "^4.5.4",
|
|
85
|
-
"vitest": "^
|
|
85
|
+
"vitest": "^4.0.13"
|
|
86
86
|
},
|
|
87
87
|
"publishConfig": {
|
|
88
88
|
"access": "public"
|
|
89
89
|
},
|
|
90
90
|
"engines": {
|
|
91
91
|
"node": ">=18"
|
|
92
|
+
},
|
|
93
|
+
"lint-staged": {
|
|
94
|
+
"*.{ts,tsx}": [
|
|
95
|
+
"prettier --write",
|
|
96
|
+
"eslint --fix"
|
|
97
|
+
]
|
|
92
98
|
}
|
|
93
99
|
}
|