PresetPanel.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = PresetPanel;
  7. var React = _interopRequireWildcard(require("react"));
  8. function executeValue(value) {
  9. return typeof value === 'function' ? value() : value;
  10. }
  11. function PresetPanel(props) {
  12. var prefixCls = props.prefixCls,
  13. presets = props.presets,
  14. _onClick = props.onClick,
  15. onHover = props.onHover;
  16. if (!presets.length) {
  17. return null;
  18. }
  19. return /*#__PURE__*/React.createElement("div", {
  20. className: "".concat(prefixCls, "-presets")
  21. }, /*#__PURE__*/React.createElement("ul", null, presets.map(function (_ref, index) {
  22. var label = _ref.label,
  23. value = _ref.value;
  24. return /*#__PURE__*/React.createElement("li", {
  25. key: index,
  26. onClick: function onClick() {
  27. _onClick(executeValue(value));
  28. },
  29. onMouseEnter: function onMouseEnter() {
  30. onHover(executeValue(value));
  31. },
  32. onMouseLeave: function onMouseLeave() {
  33. onHover(null);
  34. }
  35. }, label);
  36. })));
  37. }