Skip to content

Commit 2042c8e

Browse files
committed
Added pass-through events
1 parent 17688f5 commit 2042c8e

File tree

3 files changed

+39
-7
lines changed

3 files changed

+39
-7
lines changed

package-lock.json

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/Space.tsx

+22-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,20 @@ function applyCentering(children: React.ReactNode, centerType: CenterType | unde
1515
}
1616

1717
export const Space: React.FC<ISpaceProps> = (props) => {
18-
const { style, className, onClick, children } = props;
18+
const {
19+
style,
20+
className,
21+
onClick,
22+
onDoubleClick,
23+
onMouseDown,
24+
onMouseEnter,
25+
onMouseLeave,
26+
onMouseMove,
27+
onTouchStart,
28+
onTouchMove,
29+
onTouchEnd,
30+
children,
31+
} = props;
1932
const { space, domRect, elementRef, resizeHandles } = useSpace(props);
2033

2134
React.useEffect(() => {
@@ -46,6 +59,14 @@ export const Space: React.FC<ISpaceProps> = (props) => {
4659
style: style,
4760
className: outerClasses.join(" "),
4861
onClick: onClick,
62+
onDoubleClick: onDoubleClick,
63+
onMouseDown: onMouseDown,
64+
onMouseEnter: onMouseEnter,
65+
onMouseLeave: onMouseLeave,
66+
onMouseMove: onMouseMove,
67+
onTouchStart: onTouchStart,
68+
onTouchMove: onTouchMove,
69+
onTouchEnd: onTouchEnd,
4970
},
5071
<ParentContext.Provider value={space.id}>
5172
<LayerContext.Provider value={undefined}>

src/core-types.ts

+13-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,19 @@ export enum CenterType {
3838
HorizontalVertical = "horizontalVertical",
3939
}
4040

41-
export interface ICommonProps {
41+
export interface IPassThroughEvents {
42+
onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
43+
onDoubleClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
44+
onMouseDown?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
45+
onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
46+
onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
47+
onMouseMove?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
48+
onTouchStart?: (event: React.TouchEvent<HTMLElement>) => void;
49+
onTouchMove?: (event: React.TouchEvent<HTMLElement>) => void;
50+
onTouchEnd?: (event: React.TouchEvent<HTMLElement>) => void;
51+
}
52+
53+
export interface ICommonProps extends IPassThroughEvents {
4254
id?: string;
4355
className?: string;
4456
style?: React.CSSProperties;
@@ -47,7 +59,6 @@ export interface ICommonProps {
4759
zIndex?: number;
4860
scrollable?: boolean;
4961
trackSize?: boolean;
50-
onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
5162
}
5263

5364
export interface ISpaceProps extends ICommonProps {

0 commit comments

Comments
 (0)