Dot.js 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  2. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  3. import classNames from 'classnames';
  4. import * as React from 'react';
  5. import SliderContext from "../context";
  6. import { getDirectionStyle } from "../util";
  7. var Dot = function Dot(props) {
  8. var prefixCls = props.prefixCls,
  9. value = props.value,
  10. style = props.style,
  11. activeStyle = props.activeStyle;
  12. var _React$useContext = React.useContext(SliderContext),
  13. min = _React$useContext.min,
  14. max = _React$useContext.max,
  15. direction = _React$useContext.direction,
  16. included = _React$useContext.included,
  17. includedStart = _React$useContext.includedStart,
  18. includedEnd = _React$useContext.includedEnd;
  19. var dotClassName = "".concat(prefixCls, "-dot");
  20. var active = included && includedStart <= value && value <= includedEnd;
  21. // ============================ Offset ============================
  22. var mergedStyle = _objectSpread(_objectSpread({}, getDirectionStyle(direction, value, min, max)), typeof style === 'function' ? style(value) : style);
  23. if (active) {
  24. mergedStyle = _objectSpread(_objectSpread({}, mergedStyle), typeof activeStyle === 'function' ? activeStyle(value) : activeStyle);
  25. }
  26. return /*#__PURE__*/React.createElement("span", {
  27. className: classNames(dotClassName, _defineProperty({}, "".concat(dotClassName, "-active"), active)),
  28. style: mergedStyle
  29. });
  30. };
  31. export default Dot;