@sms-frontend/components
Version:
SMS Design React UI Library.
20 lines (19 loc) • 1.33 kB
JavaScript
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())));
}