11import * as React from "react" ;
22import { createStore } from "./core" ;
3- import { ISpaceProps , ISpaceStore , ISpaceDefinition , IPositionalProps , ResizeType , CenterType } from "./core-types" ;
3+ import { ISpaceProps , ISpaceStore , ISpaceDefinition , IPositionalProps , ResizeType , CenterType , ICommonProps } from "./core-types" ;
44import { coalesce , shortuuid } from "./core-utils" ;
55import { ResizeSensor } from "css-element-queries" ;
66import * as PropTypes from "prop-types" ;
@@ -30,10 +30,6 @@ export const commonProps = {
3030 onTouchEnd : PropTypes . func ,
3131} ;
3232
33- export interface IReactSpacesOptions {
34- debug ?: boolean
35- }
36-
3733export interface IReactEvents {
3834 onClick ?: ( event : React . MouseEvent < HTMLElement , MouseEvent > ) => void ;
3935 onDoubleClick ?: ( event : React . MouseEvent < HTMLElement , MouseEvent > ) => void ;
@@ -46,6 +42,15 @@ export interface IReactEvents {
4642 onTouchEnd ?: ( event : React . TouchEvent < HTMLElement > ) => void ;
4743}
4844
45+ export interface IReactSpaceProps extends ISpaceProps , IReactEvents {
46+ style ?: React . CSSProperties ;
47+ as ?: keyof React . ReactDOM | React . ComponentType < ICommonProps > ;
48+ }
49+
50+ export interface IReactSpacesOptions {
51+ debug ?: boolean ;
52+ }
53+
4954export function useForceUpdate ( ) {
5055 const [ , setTick ] = React . useState ( 0 ) ;
5156 const update = React . useCallback ( ( ) => {
@@ -54,7 +59,7 @@ export function useForceUpdate() {
5459 return update ;
5560}
5661
57- export function useSpace ( props : ISpaceProps ) {
62+ export function useSpace ( props : IReactSpaceProps ) {
5863 const store = currentStore ;
5964 const update = useForceUpdate ( ) ;
6065 const parent = React . useContext ( ParentContext ) ;
@@ -179,6 +184,6 @@ export function useSpaceResizeHandles(store: ISpaceStore, space: ISpaceDefinitio
179184 }
180185
181186 return {
182- mouseHandles
187+ mouseHandles,
183188 } ;
184189}
0 commit comments