@@ -85,11 +85,13 @@ export interface DrawerPopupProps
8585 // resizable
8686 /** Default size for uncontrolled resizable drawer */
8787 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+ } ;
9395}
9496
9597const DrawerPopup : React . ForwardRefRenderFunction <
@@ -319,9 +321,12 @@ const DrawerPopup: React.ForwardRefRenderFunction<
319321 // =========================== Resize ===========================
320322 const wrapperRef = React . useRef < HTMLDivElement > ( null ) ;
321323
324+ const isResizable = ! ! resizable ;
325+ const resizeConfig = ( typeof resizable === 'object' && resizable ) || { } ;
326+
322327 const onInternalResize = useEvent ( ( size : number ) => {
323328 setCurrentSize ( size ) ;
324- resizable ? .onResize ?.( size ) ;
329+ resizeConfig . onResize ?.( size ) ;
325330 } ) ;
326331
327332 const { dragElementProps, isDragging } = useDrag ( {
@@ -333,8 +338,8 @@ const DrawerPopup: React.ForwardRefRenderFunction<
333338 containerRef : wrapperRef ,
334339 currentSize : mergedSize ,
335340 onResize : onInternalResize ,
336- onResizeStart : resizable ? .onResizeStart ,
337- onResizeEnd : resizable ? .onResizeEnd ,
341+ onResizeStart : resizeConfig . onResizeStart ,
342+ onResizeEnd : resizeConfig . onResizeEnd ,
338343 } ) ;
339344
340345 // =========================== Events ===========================
@@ -394,7 +399,7 @@ const DrawerPopup: React.ForwardRefRenderFunction<
394399 } }
395400 { ...pickAttrs ( props , { data : true } ) }
396401 >
397- { resizable && < div { ...dragElementProps } /> }
402+ { isResizable && < div { ...dragElementProps } /> }
398403 { drawerRender ? drawerRender ( content ) : content }
399404 </ div >
400405 ) ;
0 commit comments