UNPKG

tdesign-react

Version:
121 lines (117 loc) 4.91 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ import { _ as _defineProperty } from '../_chunks/dep-8618a2f1.js'; import { _ as _slicedToArray } from '../_chunks/dep-118954e6.js'; import React, { useState } from 'react'; import classNames from 'classnames'; import Tooltip from '../tooltip/Tooltip.js'; import '../_chunks/dep-c37cc2fd.js'; import '../_chunks/dep-61f5e3d1.js'; import '../_chunks/dep-30ed04a0.js'; import '../popup/index.js'; import '../popup/Popup.js'; import 'lodash-es'; import 'react-transition-group'; import '../_util/ref.js'; import 'react-is'; import '../_util/isFragment.js'; import '../_chunks/dep-82b8abc2.js'; import '../common/Portal.js'; import 'react-dom'; import '../hooks/useConfig.js'; import '../config-provider/ConfigContext.js'; import '../_chunks/dep-698f8ddd.js'; import '../_chunks/dep-09955460.js'; import 'dayjs'; import '../hooks/useLayoutEffect.js'; import '../hooks/useAnimation.js'; import '../hooks/useAttach.js'; import '../hooks/useControlled.js'; import '../_util/noop.js'; import '../hooks/useDefaultProps.js'; import '../hooks/useMutationObserver.js'; import '../hooks/useLatest.js'; import '../hooks/usePopper.js'; import '../_chunks/dep-132961ab.js'; import '@popperjs/core'; import 'react-fast-compare'; import '../hooks/useWindowSize.js'; import '../popup/defaultProps.js'; import '../popup/hooks/useTrigger.js'; import '../_util/composeRefs.js'; import '../_util/listener.js'; import '../popup/utils/transition.js'; import '../popup/PopupPlugin.js'; import '../_chunks/dep-e78f641d.js'; import '../_util/react-render.js'; import '../common/PluginContainer.js'; import '../config-provider/ConfigProvider.js'; import '../tooltip/defaultProps.js'; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var SliderHandleButton = function SliderHandleButton(_ref) { var onChange = _ref.onChange, style = _ref.style, classPrefix = _ref.classPrefix, toolTipProps = _ref.toolTipProps, hideTips = _ref.hideTips; var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), popupVisible = _useState2[0], setPopupVisible = _useState2[1]; var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), isDragging = _useState4[0], toggleIsDragging = _useState4[1]; var onSliderDragging = function onSliderDragging(e) { toggleIsDragging(true); onChange(e); }; var _onSliderDraggingEnd = function onSliderDraggingEnd() { toggleIsDragging(false); window.removeEventListener("mousemove", onSliderDragging); window.removeEventListener("mouseup", _onSliderDraggingEnd); window.removeEventListener("touchmove", onSliderDragging); window.removeEventListener("touchend", _onSliderDraggingEnd); }; var handleSliderMouseDown = function handleSliderMouseDown(e) { e.stopPropagation(); setPopupVisible(true); window.addEventListener("mousemove", onSliderDragging); window.addEventListener("mouseup", _onSliderDraggingEnd); window.addEventListener("touchmove", onSliderDragging); window.addEventListener("touchend", _onSliderDraggingEnd); }; var handleSliderEnter = function handleSliderEnter(event) { event.stopPropagation(); setPopupVisible(true); }; var handleSliderLeave = function handleSliderLeave(event) { event.stopPropagation(); setPopupVisible(false); }; var handleNode = /* @__PURE__ */React.createElement("div", { style: style, className: "".concat(classPrefix, "-slider__button-wrapper"), onMouseDown: function onMouseDown(e) { return handleSliderMouseDown(e); }, onMouseEnter: function onMouseEnter(e) { return handleSliderEnter(e); }, onMouseLeave: function onMouseLeave(e) { return handleSliderLeave(e); } }, /* @__PURE__ */React.createElement("div", { className: classNames("".concat(classPrefix, "-slider__button"), _defineProperty({}, "".concat(classPrefix, "-slider__button--dragging"), isDragging)) })); return hideTips ? handleNode : /* @__PURE__ */React.createElement(Tooltip, _objectSpread({ visible: popupVisible, placement: "top" }, toolTipProps), handleNode); }; export { SliderHandleButton as default }; //# sourceMappingURL=SliderHandleButton.js.map