in packages-rc/console-base-rc-micro-browser/src/ui/rc-container/rnd/index.tsx [102:163]
export default function TheRnd({
children
}: IProps): JSX.Element {
const {
visible
} = useProps();
const mode = useMode();
const dragging = useDragging();
const resizing = useResizing();
const zIndex = useZIndex();
const resizeHandleStyles = useRndResizeHandleStyles();
const x = useRndRectX();
const y = useRndRectY();
const w = useRndRectW();
const h = useRndRectH();
const [minWidth, maxWidth] = useRndSizeWidthRange();
const [minHeight, maxHeight] = useRndSizeHeightRange();
const draggingDisabled = useRndDraggingDisabled();
const handleRndDragStart = useHandleRndDragStart();
const handleRndDrag = useHandleRndDrag();
const handleRndDragStop = useHandleRndDragStop();
const handleRndResizeStart = useHandleRndResizeStart();
const handleRndResize = useHandleRndResize();
const handleRndResizeStop = useHandleRndResizeStop();
return <ScFixedWrapper {...{
style: {
visibility: visible ? 'visible' : 'hidden', // 不能用 display,有个 bug,transform 会变双倍..导致不可见 https://github.com/bokuweb/react-rnd/issues/711
zIndex
}
}}>
<ScRnd {...{
$mode: mode,
$dragging: dragging,
$resizing: resizing,
$visible: visible && mode !== MicroBrowserMode.MINIMIZED,
bounds: 'window',
size: {
width: w,
height: h
},
position: {
x,
y
},
minWidth,
minHeight,
maxWidth,
maxHeight,
resizeHandleStyles,
dragHandleClassName: CLASS_J_RND_HANDLE,
cancel: `.${CLASS_J_RND_CANCEL}`,
disableDragging: draggingDisabled,
onDragStart: handleRndDragStart,
onDrag: handleRndDrag,
onDragStop: handleRndDragStop,
onResizeStart: handleRndResizeStart,
onResize: handleRndResize,
onResizeStop: handleRndResizeStop
}}>{children}</ScRnd>
</ScFixedWrapper>;
}