UNPKG

@uiw/react-md-editor

Version:

A markdown editor with preview, implemented with React.js and TypeScript.

66 lines (55 loc) 2.05 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var DragBar = function DragBar(props) { var _ref = props || {}, prefixCls = _ref.prefixCls, onChange = _ref.onChange; var dragRef = (0, _react.useRef)(); function handleMouseMove(event) { if (dragRef.current) { var newHeight = dragRef.current.height + event.clientY - dragRef.current.dragY; if (newHeight >= props.minHeight && newHeight <= props.maxHeight) { onChange && onChange(dragRef.current.height + (event.clientY - dragRef.current.dragY)); } } } function handleMouseUp() { dragRef.current = undefined; } function handleMouseDown(event) { dragRef.current = { height: props.height, dragY: event.clientY }; } (0, _react.useEffect)(function () { document.addEventListener('mousemove', handleMouseMove); document.addEventListener('mouseup', handleMouseUp); return function () { document.removeEventListener('mousemove', handleMouseMove); document.removeEventListener('mouseup', handleMouseUp); }; }, []); var svg = (0, _react.useMemo)(function () { return /*#__PURE__*/_react.default.createElement("svg", { viewBox: "0 0 512 512", height: "100%" }, /*#__PURE__*/_react.default.createElement("path", { fill: "currentColor", d: "M304 256c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm120-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-336 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z" })); }, []); return /*#__PURE__*/_react.default.createElement("div", { className: "".concat(prefixCls, "-bar"), onMouseDown: handleMouseDown }, svg); }; var _default = DragBar; exports.default = _default; module.exports = exports.default; //# sourceMappingURL=index.js.map