canvas-drawing-editor 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.
@@ -0,0 +1,111 @@
1
+ import { default as default_2 } from 'react';
2
+
3
+ export declare interface BaseObject {
4
+ id: string;
5
+ type: CanvasObjectType;
6
+ x: number;
7
+ y: number;
8
+ color: string;
9
+ lineWidth: number;
10
+ }
11
+
12
+ export declare type CanvasObject = RectObject | CircleObject | PathObject | TextObject | ImageObject;
13
+
14
+ export declare type CanvasObjectType = 'RECTANGLE' | 'CIRCLE' | 'PATH' | 'TEXT' | 'IMAGE';
15
+
16
+ export declare interface CircleObject extends BaseObject {
17
+ type: 'CIRCLE';
18
+ radius: number;
19
+ }
20
+
21
+ export declare interface EditorConfig {
22
+ title?: string;
23
+ showPencil?: boolean;
24
+ showRectangle?: boolean;
25
+ showCircle?: boolean;
26
+ showText?: boolean;
27
+ showImage?: boolean;
28
+ showZoom?: boolean;
29
+ showDownload?: boolean;
30
+ showExport?: boolean;
31
+ showImport?: boolean;
32
+ showColor?: boolean;
33
+ showMinimap?: boolean;
34
+ }
35
+
36
+ export declare interface EditorState {
37
+ objects: CanvasObject[];
38
+ selectedId: string | null;
39
+ tool: ToolType;
40
+ }
41
+
42
+ export declare const ImageEditor: default_2.FC<ImageEditorProps>;
43
+
44
+ export declare interface ImageEditorProps {
45
+ onClose?: () => void;
46
+ config?: EditorConfig;
47
+ onChange?: (objects: CanvasObject[]) => void;
48
+ }
49
+
50
+ export declare const ImageEditorWebComponent: CustomElementConstructor;
51
+
52
+ export declare const ImageEditorWrapper: default_2.FC<WebComponentProps>;
53
+
54
+ export declare interface ImageObject extends BaseObject {
55
+ type: 'IMAGE';
56
+ width: number;
57
+ height: number;
58
+ dataUrl: string;
59
+ imageElement?: HTMLImageElement;
60
+ }
61
+
62
+ export declare interface PathObject extends BaseObject {
63
+ type: 'PATH';
64
+ points: Point[];
65
+ }
66
+
67
+ export declare interface Point {
68
+ x: number;
69
+ y: number;
70
+ }
71
+
72
+ export declare interface RectObject extends BaseObject {
73
+ type: 'RECTANGLE';
74
+ width: number;
75
+ height: number;
76
+ }
77
+
78
+ export declare function registerImageEditor(tagName?: string): void;
79
+
80
+ export declare interface TextObject extends BaseObject {
81
+ type: 'TEXT';
82
+ text: string;
83
+ fontSize: number;
84
+ }
85
+
86
+ export declare enum ToolType {
87
+ SELECT = "SELECT",
88
+ PENCIL = "PENCIL",
89
+ RECTANGLE = "RECTANGLE",
90
+ CIRCLE = "CIRCLE",
91
+ TEXT = "TEXT",
92
+ IMAGE = "IMAGE"
93
+ }
94
+
95
+ declare interface WebComponentProps {
96
+ config?: string;
97
+ title?: string;
98
+ 'show-pencil'?: boolean;
99
+ 'show-rectangle'?: boolean;
100
+ 'show-circle'?: boolean;
101
+ 'show-text'?: boolean;
102
+ 'show-image'?: boolean;
103
+ 'show-zoom'?: boolean;
104
+ 'show-download'?: boolean;
105
+ 'show-export'?: boolean;
106
+ 'show-import'?: boolean;
107
+ 'show-color'?: boolean;
108
+ 'show-minimap'?: boolean;
109
+ }
110
+
111
+ export { }
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "canvas-drawing-editor",
3
+ "version": "1.0.0",
4
+ "description": "A powerful canvas-based image editor Web Component that works with Vue, React, Angular, and vanilla HTML",
5
+ "type": "module",
6
+ "main": "dist/image-editor.umd.js",
7
+ "module": "dist/image-editor.es.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/image-editor.es.js",
13
+ "require": "./dist/image-editor.umd.js"
14
+ },
15
+ "./style.css": "./dist/image-editor.css"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "dev": "vite",
23
+ "build": "vite build",
24
+ "build:lib": "vite build --mode lib",
25
+ "preview": "vite preview",
26
+ "prepublishOnly": "npm run build:lib"
27
+ },
28
+ "keywords": [
29
+ "canvas",
30
+ "image-editor",
31
+ "web-component",
32
+ "drawing",
33
+ "vue",
34
+ "react",
35
+ "angular",
36
+ "vanilla"
37
+ ],
38
+ "author": "typsusan <typsusan@163.com>",
39
+ "license": "MIT",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": ""
43
+ },
44
+ "peerDependencies": {
45
+ "react": ">=17.0.0",
46
+ "react-dom": ">=17.0.0"
47
+ },
48
+ "dependencies": {
49
+ "@r2wc/react-to-web-component": "^2.1.0"
50
+ },
51
+ "devDependencies": {
52
+ "@types/node": "^22.14.0",
53
+ "@types/react": "^19.2.7",
54
+ "@types/react-dom": "^19.2.3",
55
+ "@vitejs/plugin-react": "^5.0.0",
56
+ "react": "^19.2.1",
57
+ "react-dom": "^19.2.1",
58
+ "typescript": "~5.8.2",
59
+ "vite": "^6.2.0",
60
+ "vite-plugin-dts": "^4.5.4"
61
+ }
62
+ }