@pooder/kit 0.0.2
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/CHANGELOG.md +9 -0
- package/dist/index.d.mts +167 -0
- package/dist/index.d.ts +167 -0
- package/dist/index.js +1693 -0
- package/dist/index.mjs +1654 -0
- package/package.json +27 -0
- package/src/background.ts +173 -0
- package/src/dieline.ts +424 -0
- package/src/film.ts +155 -0
- package/src/geometry.ts +244 -0
- package/src/hole.ts +413 -0
- package/src/image.ts +146 -0
- package/src/index.ts +7 -0
- package/src/ruler.ts +238 -0
- package/src/white-ink.ts +302 -0
- package/tsconfig.json +13 -0
package/CHANGELOG.md
ADDED
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Extension, OptionSchema, Editor, EditorState, Command } from '@pooder/core';
|
|
2
|
+
|
|
3
|
+
interface BackgroundToolOptions {
|
|
4
|
+
color: string;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
declare class BackgroundTool implements Extension<BackgroundToolOptions> {
|
|
8
|
+
name: string;
|
|
9
|
+
options: BackgroundToolOptions;
|
|
10
|
+
schema: Record<keyof BackgroundToolOptions, OptionSchema>;
|
|
11
|
+
private initLayer;
|
|
12
|
+
onMount(editor: Editor): void;
|
|
13
|
+
onUnmount(editor: Editor): void;
|
|
14
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
15
|
+
private updateBackground;
|
|
16
|
+
commands: Record<string, Command>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface DielineToolOptions {
|
|
20
|
+
shape: 'rect' | 'circle' | 'ellipse';
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
radius: number;
|
|
24
|
+
position?: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
};
|
|
28
|
+
borderLength?: number;
|
|
29
|
+
offset: number;
|
|
30
|
+
style: 'solid' | 'dashed';
|
|
31
|
+
insideColor: string;
|
|
32
|
+
outsideColor: string;
|
|
33
|
+
}
|
|
34
|
+
type DielineConfig = DielineToolOptions;
|
|
35
|
+
interface DielineGeometry {
|
|
36
|
+
shape: 'rect' | 'circle' | 'ellipse';
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
radius: number;
|
|
42
|
+
}
|
|
43
|
+
declare class DielineTool implements Extension<DielineToolOptions> {
|
|
44
|
+
name: string;
|
|
45
|
+
options: DielineToolOptions;
|
|
46
|
+
schema: Record<keyof DielineToolOptions, OptionSchema>;
|
|
47
|
+
onMount(editor: Editor): void;
|
|
48
|
+
onUnmount(editor: Editor): void;
|
|
49
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
50
|
+
onDestroy(editor: Editor): void;
|
|
51
|
+
private getLayer;
|
|
52
|
+
private createLayer;
|
|
53
|
+
private destroyLayer;
|
|
54
|
+
private createHatchPattern;
|
|
55
|
+
updateDieline(editor: Editor): void;
|
|
56
|
+
commands: Record<string, Command>;
|
|
57
|
+
getGeometry(editor: Editor): DielineGeometry | null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
interface FilmToolOptions {
|
|
61
|
+
url: string;
|
|
62
|
+
opacity: number;
|
|
63
|
+
}
|
|
64
|
+
declare class FilmTool implements Extension<FilmToolOptions> {
|
|
65
|
+
name: string;
|
|
66
|
+
options: FilmToolOptions;
|
|
67
|
+
schema: Record<keyof FilmToolOptions, OptionSchema>;
|
|
68
|
+
onMount(editor: Editor): void;
|
|
69
|
+
onUnmount(editor: Editor): void;
|
|
70
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
71
|
+
private initLayer;
|
|
72
|
+
private updateFilm;
|
|
73
|
+
commands: Record<string, Command>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface HoleToolOptions {
|
|
77
|
+
innerRadius: number;
|
|
78
|
+
outerRadius: number;
|
|
79
|
+
style: 'solid' | 'dashed';
|
|
80
|
+
holes?: Array<{
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
declare class HoleTool implements Extension<HoleToolOptions> {
|
|
86
|
+
name: string;
|
|
87
|
+
options: HoleToolOptions;
|
|
88
|
+
schema: Record<keyof HoleToolOptions, OptionSchema>;
|
|
89
|
+
private handleMoving;
|
|
90
|
+
private handleModified;
|
|
91
|
+
onMount(editor: Editor): void;
|
|
92
|
+
onUnmount(editor: Editor): void;
|
|
93
|
+
onDestroy(editor: Editor): void;
|
|
94
|
+
private getDielineGeometry;
|
|
95
|
+
private setup;
|
|
96
|
+
private teardown;
|
|
97
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
98
|
+
commands: Record<string, Command>;
|
|
99
|
+
private syncHolesFromCanvas;
|
|
100
|
+
private redraw;
|
|
101
|
+
private calculateConstrainedPosition;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
interface ImageToolOptions {
|
|
105
|
+
url: string;
|
|
106
|
+
opacity: number;
|
|
107
|
+
}
|
|
108
|
+
declare class ImageTool implements Extension<ImageToolOptions> {
|
|
109
|
+
name: string;
|
|
110
|
+
options: ImageToolOptions;
|
|
111
|
+
schema: Record<keyof ImageToolOptions, OptionSchema>;
|
|
112
|
+
onMount(editor: Editor): void;
|
|
113
|
+
onUnmount(editor: Editor): void;
|
|
114
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
115
|
+
private ensureLayer;
|
|
116
|
+
private updateImage;
|
|
117
|
+
private loadImage;
|
|
118
|
+
commands: Record<string, Command>;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface WhiteInkToolOptions {
|
|
122
|
+
customMask: string;
|
|
123
|
+
opacity: number;
|
|
124
|
+
enableClip: boolean;
|
|
125
|
+
}
|
|
126
|
+
declare class WhiteInkTool implements Extension<WhiteInkToolOptions> {
|
|
127
|
+
name: string;
|
|
128
|
+
options: WhiteInkToolOptions;
|
|
129
|
+
schema: Record<keyof WhiteInkToolOptions, OptionSchema>;
|
|
130
|
+
private syncHandler;
|
|
131
|
+
onMount(editor: Editor): void;
|
|
132
|
+
onUnmount(editor: Editor): void;
|
|
133
|
+
onDestroy(editor: Editor): void;
|
|
134
|
+
private setup;
|
|
135
|
+
private teardown;
|
|
136
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
137
|
+
commands: Record<string, Command>;
|
|
138
|
+
private updateWhiteInk;
|
|
139
|
+
private loadWhiteInk;
|
|
140
|
+
private applyClipPath;
|
|
141
|
+
private syncWithUserImage;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
interface RulerToolOptions {
|
|
145
|
+
unit: 'px' | 'mm' | 'cm' | 'in';
|
|
146
|
+
thickness: number;
|
|
147
|
+
backgroundColor: string;
|
|
148
|
+
textColor: string;
|
|
149
|
+
lineColor: string;
|
|
150
|
+
fontSize: number;
|
|
151
|
+
}
|
|
152
|
+
declare class RulerTool implements Extension<RulerToolOptions> {
|
|
153
|
+
name: string;
|
|
154
|
+
options: RulerToolOptions;
|
|
155
|
+
schema: Record<keyof RulerToolOptions, OptionSchema>;
|
|
156
|
+
onMount(editor: Editor): void;
|
|
157
|
+
onUnmount(editor: Editor): void;
|
|
158
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
159
|
+
onDestroy(editor: Editor): void;
|
|
160
|
+
private getLayer;
|
|
161
|
+
private createLayer;
|
|
162
|
+
private destroyLayer;
|
|
163
|
+
private updateRuler;
|
|
164
|
+
commands: Record<string, Command>;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export { BackgroundTool, type DielineConfig, type DielineGeometry, DielineTool, type DielineToolOptions, FilmTool, HoleTool, type HoleToolOptions, ImageTool, RulerTool, type RulerToolOptions, WhiteInkTool };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Extension, OptionSchema, Editor, EditorState, Command } from '@pooder/core';
|
|
2
|
+
|
|
3
|
+
interface BackgroundToolOptions {
|
|
4
|
+
color: string;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
declare class BackgroundTool implements Extension<BackgroundToolOptions> {
|
|
8
|
+
name: string;
|
|
9
|
+
options: BackgroundToolOptions;
|
|
10
|
+
schema: Record<keyof BackgroundToolOptions, OptionSchema>;
|
|
11
|
+
private initLayer;
|
|
12
|
+
onMount(editor: Editor): void;
|
|
13
|
+
onUnmount(editor: Editor): void;
|
|
14
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
15
|
+
private updateBackground;
|
|
16
|
+
commands: Record<string, Command>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface DielineToolOptions {
|
|
20
|
+
shape: 'rect' | 'circle' | 'ellipse';
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
radius: number;
|
|
24
|
+
position?: {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
};
|
|
28
|
+
borderLength?: number;
|
|
29
|
+
offset: number;
|
|
30
|
+
style: 'solid' | 'dashed';
|
|
31
|
+
insideColor: string;
|
|
32
|
+
outsideColor: string;
|
|
33
|
+
}
|
|
34
|
+
type DielineConfig = DielineToolOptions;
|
|
35
|
+
interface DielineGeometry {
|
|
36
|
+
shape: 'rect' | 'circle' | 'ellipse';
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
radius: number;
|
|
42
|
+
}
|
|
43
|
+
declare class DielineTool implements Extension<DielineToolOptions> {
|
|
44
|
+
name: string;
|
|
45
|
+
options: DielineToolOptions;
|
|
46
|
+
schema: Record<keyof DielineToolOptions, OptionSchema>;
|
|
47
|
+
onMount(editor: Editor): void;
|
|
48
|
+
onUnmount(editor: Editor): void;
|
|
49
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
50
|
+
onDestroy(editor: Editor): void;
|
|
51
|
+
private getLayer;
|
|
52
|
+
private createLayer;
|
|
53
|
+
private destroyLayer;
|
|
54
|
+
private createHatchPattern;
|
|
55
|
+
updateDieline(editor: Editor): void;
|
|
56
|
+
commands: Record<string, Command>;
|
|
57
|
+
getGeometry(editor: Editor): DielineGeometry | null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
interface FilmToolOptions {
|
|
61
|
+
url: string;
|
|
62
|
+
opacity: number;
|
|
63
|
+
}
|
|
64
|
+
declare class FilmTool implements Extension<FilmToolOptions> {
|
|
65
|
+
name: string;
|
|
66
|
+
options: FilmToolOptions;
|
|
67
|
+
schema: Record<keyof FilmToolOptions, OptionSchema>;
|
|
68
|
+
onMount(editor: Editor): void;
|
|
69
|
+
onUnmount(editor: Editor): void;
|
|
70
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
71
|
+
private initLayer;
|
|
72
|
+
private updateFilm;
|
|
73
|
+
commands: Record<string, Command>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface HoleToolOptions {
|
|
77
|
+
innerRadius: number;
|
|
78
|
+
outerRadius: number;
|
|
79
|
+
style: 'solid' | 'dashed';
|
|
80
|
+
holes?: Array<{
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
declare class HoleTool implements Extension<HoleToolOptions> {
|
|
86
|
+
name: string;
|
|
87
|
+
options: HoleToolOptions;
|
|
88
|
+
schema: Record<keyof HoleToolOptions, OptionSchema>;
|
|
89
|
+
private handleMoving;
|
|
90
|
+
private handleModified;
|
|
91
|
+
onMount(editor: Editor): void;
|
|
92
|
+
onUnmount(editor: Editor): void;
|
|
93
|
+
onDestroy(editor: Editor): void;
|
|
94
|
+
private getDielineGeometry;
|
|
95
|
+
private setup;
|
|
96
|
+
private teardown;
|
|
97
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
98
|
+
commands: Record<string, Command>;
|
|
99
|
+
private syncHolesFromCanvas;
|
|
100
|
+
private redraw;
|
|
101
|
+
private calculateConstrainedPosition;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
interface ImageToolOptions {
|
|
105
|
+
url: string;
|
|
106
|
+
opacity: number;
|
|
107
|
+
}
|
|
108
|
+
declare class ImageTool implements Extension<ImageToolOptions> {
|
|
109
|
+
name: string;
|
|
110
|
+
options: ImageToolOptions;
|
|
111
|
+
schema: Record<keyof ImageToolOptions, OptionSchema>;
|
|
112
|
+
onMount(editor: Editor): void;
|
|
113
|
+
onUnmount(editor: Editor): void;
|
|
114
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
115
|
+
private ensureLayer;
|
|
116
|
+
private updateImage;
|
|
117
|
+
private loadImage;
|
|
118
|
+
commands: Record<string, Command>;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface WhiteInkToolOptions {
|
|
122
|
+
customMask: string;
|
|
123
|
+
opacity: number;
|
|
124
|
+
enableClip: boolean;
|
|
125
|
+
}
|
|
126
|
+
declare class WhiteInkTool implements Extension<WhiteInkToolOptions> {
|
|
127
|
+
name: string;
|
|
128
|
+
options: WhiteInkToolOptions;
|
|
129
|
+
schema: Record<keyof WhiteInkToolOptions, OptionSchema>;
|
|
130
|
+
private syncHandler;
|
|
131
|
+
onMount(editor: Editor): void;
|
|
132
|
+
onUnmount(editor: Editor): void;
|
|
133
|
+
onDestroy(editor: Editor): void;
|
|
134
|
+
private setup;
|
|
135
|
+
private teardown;
|
|
136
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
137
|
+
commands: Record<string, Command>;
|
|
138
|
+
private updateWhiteInk;
|
|
139
|
+
private loadWhiteInk;
|
|
140
|
+
private applyClipPath;
|
|
141
|
+
private syncWithUserImage;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
interface RulerToolOptions {
|
|
145
|
+
unit: 'px' | 'mm' | 'cm' | 'in';
|
|
146
|
+
thickness: number;
|
|
147
|
+
backgroundColor: string;
|
|
148
|
+
textColor: string;
|
|
149
|
+
lineColor: string;
|
|
150
|
+
fontSize: number;
|
|
151
|
+
}
|
|
152
|
+
declare class RulerTool implements Extension<RulerToolOptions> {
|
|
153
|
+
name: string;
|
|
154
|
+
options: RulerToolOptions;
|
|
155
|
+
schema: Record<keyof RulerToolOptions, OptionSchema>;
|
|
156
|
+
onMount(editor: Editor): void;
|
|
157
|
+
onUnmount(editor: Editor): void;
|
|
158
|
+
onUpdate(editor: Editor, state: EditorState): void;
|
|
159
|
+
onDestroy(editor: Editor): void;
|
|
160
|
+
private getLayer;
|
|
161
|
+
private createLayer;
|
|
162
|
+
private destroyLayer;
|
|
163
|
+
private updateRuler;
|
|
164
|
+
commands: Record<string, Command>;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export { BackgroundTool, type DielineConfig, type DielineGeometry, DielineTool, type DielineToolOptions, FilmTool, HoleTool, type HoleToolOptions, ImageTool, RulerTool, type RulerToolOptions, WhiteInkTool };
|