export default function TheRnd()

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>;
}