Skip to content

Commit 5deb8e4

Browse files
committed
fix ts
1 parent a99bb30 commit 5deb8e4

File tree

3 files changed

+93
-91
lines changed

3 files changed

+93
-91
lines changed

ReactKonvaCore.d.ts

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// special file for minimal import
2+
import * as React from 'react';
3+
import Konva from 'konva/lib/index-types';
4+
5+
export interface KonvaNodeEvents {
6+
onMouseOver?(evt: Konva.KonvaEventObject<MouseEvent>): void;
7+
onMouseMove?(evt: Konva.KonvaEventObject<MouseEvent>): void;
8+
onMouseOut?(evt: Konva.KonvaEventObject<MouseEvent>): void;
9+
onMouseEnter?(evt: Konva.KonvaEventObject<MouseEvent>): void;
10+
onMouseLeave?(evt: Konva.KonvaEventObject<MouseEvent>): void;
11+
onMouseDown?(evt: Konva.KonvaEventObject<MouseEvent>): void;
12+
onMouseUp?(evt: Konva.KonvaEventObject<MouseEvent>): void;
13+
onWheel?(evt: Konva.KonvaEventObject<WheelEvent>): void;
14+
onClick?(evt: Konva.KonvaEventObject<MouseEvent>): void;
15+
onDblClick?(evt: Konva.KonvaEventObject<MouseEvent>): void;
16+
onTouchStart?(evt: Konva.KonvaEventObject<TouchEvent>): void;
17+
onTouchMove?(evt: Konva.KonvaEventObject<TouchEvent>): void;
18+
onTouchEnd?(evt: Konva.KonvaEventObject<TouchEvent>): void;
19+
onTap?(evt: Konva.KonvaEventObject<Event>): void;
20+
onDblTap?(evt: Konva.KonvaEventObject<Event>): void;
21+
onDragStart?(evt: Konva.KonvaEventObject<DragEvent>): void;
22+
onDragMove?(evt: Konva.KonvaEventObject<DragEvent>): void;
23+
onDragEnd?(evt: Konva.KonvaEventObject<DragEvent>): void;
24+
onTransform?(evt: Konva.KonvaEventObject<Event>): void;
25+
onTransformStart?(evt: Konva.KonvaEventObject<Event>): void;
26+
onTransformEnd?(evt: Konva.KonvaEventObject<Event>): void;
27+
onContextMenu?(evt: Konva.KonvaEventObject<PointerEvent>): void;
28+
}
29+
30+
export interface KonvaNodeComponent<
31+
Node extends Konva.Node,
32+
Props = Konva.NodeConfig
33+
// We use React.ClassAttributes to fake the 'ref' attribute. This will ensure
34+
// consumers get the proper 'Node' type in 'ref' instead of the wrapper
35+
// component type.
36+
> extends React.SFC<Props & KonvaNodeEvents & React.ClassAttributes<Node>> {
37+
getPublicInstance(): Node;
38+
getNativeNode(): Node;
39+
// putEventListener(type: string, listener: Function): void;
40+
// handleEvent(event: Event): void;
41+
}
42+
43+
export interface StageProps
44+
extends Konva.NodeConfig,
45+
KonvaNodeEvents,
46+
Pick<
47+
React.HTMLAttributes<HTMLDivElement>,
48+
'className' | 'role' | 'style' | 'tabIndex' | 'title'
49+
> {}
50+
51+
// Stage is the only real class because the others are stubs that only know how
52+
// to be rendered when they are under stage. Since there is no real backing
53+
// class and are in reality are a string literal we don't want users to actually
54+
// try and use them as a type. By defining them as a variable with an interface
55+
// consumers will not be able to use the values as a type or constructor.
56+
// The down side to this approach, is that typescript thinks the type is a
57+
// function, but if the user tries to call it a runtime exception will occur.
58+
59+
export var Stage: KonvaNodeComponent<Konva.Stage, StageProps>;
60+
export var Layer: KonvaNodeComponent<Konva.Layer, Konva.LayerConfig>;
61+
export var FastLayer: KonvaNodeComponent<Konva.FastLayer, Konva.LayerConfig>;
62+
export var Group: KonvaNodeComponent<Konva.Group>;
63+
export var Label: KonvaNodeComponent<Konva.Label>;
64+
65+
/** Shapes */
66+
export var Rect: KonvaNodeComponent<Konva.Rect, Konva.RectConfig>;
67+
export var Circle: KonvaNodeComponent<Konva.Circle, Konva.CircleConfig>;
68+
export var Ellipse: KonvaNodeComponent<Konva.Ellipse, Konva.EllipseConfig>;
69+
export var Wedge: KonvaNodeComponent<Konva.Wedge, Konva.WedgeConfig>;
70+
export var Transformer: KonvaNodeComponent<
71+
Konva.Transformer,
72+
Konva.TransformerConfig
73+
>;
74+
export var Line: KonvaNodeComponent<Konva.Line, Konva.LineConfig>;
75+
export var Sprite: KonvaNodeComponent<Konva.Sprite, Konva.SpriteConfig>;
76+
export var Image: KonvaNodeComponent<Konva.Image, Konva.ImageConfig>;
77+
export var Text: KonvaNodeComponent<Konva.Text, Konva.TextConfig>;
78+
export var TextPath: KonvaNodeComponent<Konva.TextPath, Konva.TextPathConfig>;
79+
export var Star: KonvaNodeComponent<Konva.Star, Konva.StarConfig>;
80+
export var Ring: KonvaNodeComponent<Konva.Ring, Konva.RingConfig>;
81+
export var Arc: KonvaNodeComponent<Konva.Arc, Konva.ArcConfig>;
82+
export var Tag: KonvaNodeComponent<Konva.Tag, Konva.TagConfig>;
83+
export var Path: KonvaNodeComponent<Konva.Path, Konva.PathConfig>;
84+
export var RegularPolygon: KonvaNodeComponent<
85+
Konva.RegularPolygon,
86+
Konva.RegularPolygonConfig
87+
>;
88+
export var Arrow: KonvaNodeComponent<Konva.Arrow, Konva.ArrowConfig>;
89+
export var Shape: KonvaNodeComponent<Konva.Shape, Konva.ShapeConfig>;
90+
91+
export var useStrictMode: (useStrictMode: boolean) => void;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"license": "MIT",
33
"name": "react-konva",
44
"description": "React binding to canvas element via Konva framework",
5-
"version": "17.0.2-0",
5+
"version": "17.0.2-1",
66
"keywords": [
77
"react",
88
"canvas",

react-konva.d.ts

Lines changed: 1 addition & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1 @@
1-
import * as React from 'react';
2-
import Konva from 'konva/lib/index-types';
3-
4-
export interface KonvaNodeEvents {
5-
onMouseOver?(evt: Konva.KonvaEventObject<MouseEvent>): void;
6-
onMouseMove?(evt: Konva.KonvaEventObject<MouseEvent>): void;
7-
onMouseOut?(evt: Konva.KonvaEventObject<MouseEvent>): void;
8-
onMouseEnter?(evt: Konva.KonvaEventObject<MouseEvent>): void;
9-
onMouseLeave?(evt: Konva.KonvaEventObject<MouseEvent>): void;
10-
onMouseDown?(evt: Konva.KonvaEventObject<MouseEvent>): void;
11-
onMouseUp?(evt: Konva.KonvaEventObject<MouseEvent>): void;
12-
onWheel?(evt: Konva.KonvaEventObject<WheelEvent>): void;
13-
onClick?(evt: Konva.KonvaEventObject<MouseEvent>): void;
14-
onDblClick?(evt: Konva.KonvaEventObject<MouseEvent>): void;
15-
onTouchStart?(evt: Konva.KonvaEventObject<TouchEvent>): void;
16-
onTouchMove?(evt: Konva.KonvaEventObject<TouchEvent>): void;
17-
onTouchEnd?(evt: Konva.KonvaEventObject<TouchEvent>): void;
18-
onTap?(evt: Konva.KonvaEventObject<Event>): void;
19-
onDblTap?(evt: Konva.KonvaEventObject<Event>): void;
20-
onDragStart?(evt: Konva.KonvaEventObject<DragEvent>): void;
21-
onDragMove?(evt: Konva.KonvaEventObject<DragEvent>): void;
22-
onDragEnd?(evt: Konva.KonvaEventObject<DragEvent>): void;
23-
onTransform?(evt: Konva.KonvaEventObject<Event>): void;
24-
onTransformStart?(evt: Konva.KonvaEventObject<Event>): void;
25-
onTransformEnd?(evt: Konva.KonvaEventObject<Event>): void;
26-
onContextMenu?(evt: Konva.KonvaEventObject<PointerEvent>): void;
27-
}
28-
29-
export interface KonvaNodeComponent<
30-
Node extends Konva.Node,
31-
Props = Konva.NodeConfig
32-
// We use React.ClassAttributes to fake the 'ref' attribute. This will ensure
33-
// consumers get the proper 'Node' type in 'ref' instead of the wrapper
34-
// component type.
35-
> extends React.SFC<Props & KonvaNodeEvents & React.ClassAttributes<Node>> {
36-
getPublicInstance(): Node;
37-
getNativeNode(): Node;
38-
// putEventListener(type: string, listener: Function): void;
39-
// handleEvent(event: Event): void;
40-
}
41-
42-
export interface StageProps
43-
extends Konva.NodeConfig,
44-
KonvaNodeEvents,
45-
Pick<
46-
React.HTMLAttributes<HTMLDivElement>,
47-
'className' | 'role' | 'style' | 'tabIndex' | 'title'
48-
> {}
49-
50-
// Stage is the only real class because the others are stubs that only know how
51-
// to be rendered when they are under stage. Since there is no real backing
52-
// class and are in reality are a string literal we don't want users to actually
53-
// try and use them as a type. By defining them as a variable with an interface
54-
// consumers will not be able to use the values as a type or constructor.
55-
// The down side to this approach, is that typescript thinks the type is a
56-
// function, but if the user tries to call it a runtime exception will occur.
57-
58-
export var Stage: KonvaNodeComponent<Konva.Stage, StageProps>;
59-
export var Layer: KonvaNodeComponent<Konva.Layer, Konva.LayerConfig>;
60-
export var FastLayer: KonvaNodeComponent<Konva.FastLayer, Konva.LayerConfig>;
61-
export var Group: KonvaNodeComponent<Konva.Group>;
62-
export var Label: KonvaNodeComponent<Konva.Label>;
63-
64-
/** Shapes */
65-
export var Rect: KonvaNodeComponent<Konva.Rect, Konva.RectConfig>;
66-
export var Circle: KonvaNodeComponent<Konva.Circle, Konva.CircleConfig>;
67-
export var Ellipse: KonvaNodeComponent<Konva.Ellipse, Konva.EllipseConfig>;
68-
export var Wedge: KonvaNodeComponent<Konva.Wedge, Konva.WedgeConfig>;
69-
export var Transformer: KonvaNodeComponent<
70-
Konva.Transformer,
71-
Konva.TransformerConfig
72-
>;
73-
export var Line: KonvaNodeComponent<Konva.Line, Konva.LineConfig>;
74-
export var Sprite: KonvaNodeComponent<Konva.Sprite, Konva.SpriteConfig>;
75-
export var Image: KonvaNodeComponent<Konva.Image, Konva.ImageConfig>;
76-
export var Text: KonvaNodeComponent<Konva.Text, Konva.TextConfig>;
77-
export var TextPath: KonvaNodeComponent<Konva.TextPath, Konva.TextPathConfig>;
78-
export var Star: KonvaNodeComponent<Konva.Star, Konva.StarConfig>;
79-
export var Ring: KonvaNodeComponent<Konva.Ring, Konva.RingConfig>;
80-
export var Arc: KonvaNodeComponent<Konva.Arc, Konva.ArcConfig>;
81-
export var Tag: KonvaNodeComponent<Konva.Tag, Konva.TagConfig>;
82-
export var Path: KonvaNodeComponent<Konva.Path, Konva.PathConfig>;
83-
export var RegularPolygon: KonvaNodeComponent<
84-
Konva.RegularPolygon,
85-
Konva.RegularPolygonConfig
86-
>;
87-
export var Arrow: KonvaNodeComponent<Konva.Arrow, Konva.ArrowConfig>;
88-
export var Shape: KonvaNodeComponent<Konva.Shape, Konva.ShapeConfig>;
89-
90-
export var useStrictMode: (useStrictMode: boolean) => void;
1+
export * from './ReactKonvaCore';

0 commit comments

Comments
 (0)