UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

148 lines (125 loc) 5.25 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = _getPrototypeOf(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } import React from 'react'; import PropTypes from 'prop-types'; import Tooltip from '../tooltip'; import Handle from './Handle'; export default function createSliderWithTooltip(Component) { var _class, _temp; return _temp = _class = /*#__PURE__*/ function (_Component) { _inherits(ComponentWrapper, _Component); var _super = _createSuper(ComponentWrapper); function ComponentWrapper(props) { var _this; _classCallCheck(this, ComponentWrapper); _this = _super.call(this, props); _defineProperty(_assertThisInitialized(_this), "handleTooltipVisibleChange", function (index, visible) { _this.setState(function (prevState) { return { visibles: _objectSpread({}, prevState.visibles, _defineProperty({}, index, visible)) }; }); }); _defineProperty(_assertThisInitialized(_this), "handleWithTooltip", function (_ref) { var value = _ref.value, dragging = _ref.dragging, index = _ref.index, disabled = _ref.disabled, restProps = _objectWithoutProperties(_ref, ["value", "dragging", "index", "disabled"]); var _this$props = _this.props, tipFormatter = _this$props.tipFormatter, tipProps = _this$props.tipProps, handleStyle = _this$props.handleStyle; var _tipProps$prefixCls = tipProps.prefixCls, prefixCls = _tipProps$prefixCls === void 0 ? 'rc-slider-tooltip' : _tipProps$prefixCls, _tipProps$overlay = tipProps.overlay, overlay = _tipProps$overlay === void 0 ? tipFormatter(value) : _tipProps$overlay, _tipProps$placement = tipProps.placement, placement = _tipProps$placement === void 0 ? 'top' : _tipProps$placement, _tipProps$visible = tipProps.visible, visible = _tipProps$visible === void 0 ? visible || false : _tipProps$visible, restTooltipProps = _objectWithoutProperties(tipProps, ["prefixCls", "overlay", "placement", "visible"]); var handleStyleWithIndex; if (Array.isArray(handleStyle)) { handleStyleWithIndex = handleStyle[index] || handleStyle[0]; } else { handleStyleWithIndex = handleStyle; } return React.createElement(Tooltip, _extends({}, restTooltipProps, { prefixCls: prefixCls, overlay: overlay, placement: placement, visible: !disabled && (_this.state.visibles[index] || dragging) || visible, key: index }), React.createElement(Handle, _extends({}, restProps, { style: _objectSpread({}, handleStyleWithIndex), value: value, onMouseEnter: function onMouseEnter() { return _this.handleTooltipVisibleChange(index, true); }, onMouseLeave: function onMouseLeave() { return _this.handleTooltipVisibleChange(index, false); } }))); }); _this.state = { visibles: {} }; return _this; } _createClass(ComponentWrapper, [{ key: "render", value: function render() { return React.createElement(Component, _extends({}, this.props, { handle: this.handleWithTooltip })); } }]); return ComponentWrapper; }(Component), _defineProperty(_class, "propTypes", { tipFormatter: PropTypes.func, handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]), tipProps: PropTypes.object }), _defineProperty(_class, "defaultProps", { tipFormatter: function tipFormatter(value) { return value; }, handleStyle: [{}], tipProps: {} }), _temp; } //# sourceMappingURL=createSliderWithTooltip.js.map