@@ -85,11 +85,13 @@ export interface DrawerPopupProps
85
85
// resizable
86
86
/** Default size for uncontrolled resizable drawer */
87
87
defaultSize ?: number | string ;
88
- resizable ?: {
89
- onResize ?: ( size : number ) => void ;
90
- onResizeStart ?: ( ) => void ;
91
- onResizeEnd ?: ( ) => void ;
92
- } ;
88
+ resizable ?:
89
+ | boolean
90
+ | {
91
+ onResize ?: ( size : number ) => void ;
92
+ onResizeStart ?: ( ) => void ;
93
+ onResizeEnd ?: ( ) => void ;
94
+ } ;
93
95
}
94
96
95
97
const DrawerPopup : React . ForwardRefRenderFunction <
@@ -319,9 +321,12 @@ const DrawerPopup: React.ForwardRefRenderFunction<
319
321
// =========================== Resize ===========================
320
322
const wrapperRef = React . useRef < HTMLDivElement > ( null ) ;
321
323
324
+ const isResizable = ! ! resizable ;
325
+ const resizeConfig = ( typeof resizable === 'object' && resizable ) || { } ;
326
+
322
327
const onInternalResize = useEvent ( ( size : number ) => {
323
328
setCurrentSize ( size ) ;
324
- resizable ? .onResize ?.( size ) ;
329
+ resizeConfig . onResize ?.( size ) ;
325
330
} ) ;
326
331
327
332
const { dragElementProps, isDragging } = useDrag ( {
@@ -333,8 +338,8 @@ const DrawerPopup: React.ForwardRefRenderFunction<
333
338
containerRef : wrapperRef ,
334
339
currentSize : mergedSize ,
335
340
onResize : onInternalResize ,
336
- onResizeStart : resizable ? .onResizeStart ,
337
- onResizeEnd : resizable ? .onResizeEnd ,
341
+ onResizeStart : resizeConfig . onResizeStart ,
342
+ onResizeEnd : resizeConfig . onResizeEnd ,
338
343
} ) ;
339
344
340
345
// =========================== Events ===========================
@@ -394,7 +399,7 @@ const DrawerPopup: React.ForwardRefRenderFunction<
394
399
} }
395
400
{ ...pickAttrs ( props , { data : true } ) }
396
401
>
397
- { resizable && < div { ...dragElementProps } /> }
402
+ { isResizable && < div { ...dragElementProps } /> }
398
403
{ drawerRender ? drawerRender ( content ) : content }
399
404
</ div >
400
405
) ;
0 commit comments