UNPKG

@sms-frontend/components

Version:

SMS Design React UI Library.

20 lines (19 loc) 1.33 kB
import React, { useContext } from 'react'; import cs from '../_util/classNames'; import ResizeObserver from '../_util/resizeObserver'; import { ConfigContext } from '../ConfigProvider'; import IconDragDotVertical from '../../icon/react-icon/IconDragDotVertical'; import IconDragDot from '../../icon/react-icon/IconDragDot'; export default function ResizeTrigger(props) { var className = props.className, direction = props.direction, icon = props.icon, onMouseDown = props.onMouseDown, onResize = props.onResize, children = props.children; var getPrefixCls = useContext(ConfigContext).getPrefixCls; var prefixCls = getPrefixCls('resizebox-trigger'); var isHorizontal = direction === 'horizontal'; var classNames = cs(prefixCls, prefixCls + "-" + (isHorizontal ? 'horizontal' : 'vertical'), className); var renderIcon = function () { return (React.createElement("div", { className: prefixCls + "-icon-wrapper" }, React.createElement("span", { className: prefixCls + "-icon" }, icon || (isHorizontal ? React.createElement(IconDragDot, null) : React.createElement(IconDragDotVertical, null))))); }; return (React.createElement(ResizeObserver, { onResize: onResize }, React.createElement("div", { className: classNames, onMouseDown: onMouseDown }, children || renderIcon()))); }