4250a18e93c676ba011d1b61ce9bbca7.json 27.4 KB
{"ast":null,"code":"import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nfunction noop() {}\n\nvar Rate = /*#__PURE__*/function (_React$Component) {\n  _inherits(Rate, _React$Component);\n\n  var _super = _createSuper(Rate);\n\n  function Rate(props) {\n    var _this;\n\n    _classCallCheck(this, Rate);\n\n    _this = _super.call(this, props);\n\n    _this.onHover = function (event, index) {\n      var onHoverChange = _this.props.onHoverChange;\n\n      var hoverValue = _this.getStarValue(index, event.pageX);\n\n      var cleanedValue = _this.state.cleanedValue;\n\n      if (hoverValue !== cleanedValue) {\n        _this.setState({\n          hoverValue: hoverValue,\n          cleanedValue: null\n        });\n      }\n\n      onHoverChange(hoverValue);\n    };\n\n    _this.onMouseLeave = function () {\n      var onHoverChange = _this.props.onHoverChange;\n\n      _this.setState({\n        hoverValue: undefined,\n        cleanedValue: null\n      });\n\n      onHoverChange(undefined);\n    };\n\n    _this.onClick = function (event, index) {\n      var allowClear = _this.props.allowClear;\n      var value = _this.state.value;\n\n      var newValue = _this.getStarValue(index, event.pageX);\n\n      var isReset = false;\n\n      if (allowClear) {\n        isReset = newValue === value;\n      }\n\n      _this.onMouseLeave();\n\n      _this.changeValue(isReset ? 0 : newValue);\n\n      _this.setState({\n        cleanedValue: isReset ? newValue : null\n      });\n    };\n\n    _this.onFocus = function () {\n      var onFocus = _this.props.onFocus;\n\n      _this.setState({\n        focused: true\n      });\n\n      if (onFocus) {\n        onFocus();\n      }\n    };\n\n    _this.onBlur = function () {\n      var onBlur = _this.props.onBlur;\n\n      _this.setState({\n        focused: false\n      });\n\n      if (onBlur) {\n        onBlur();\n      }\n    };\n\n    _this.onKeyDown = function (event) {\n      var keyCode = event.keyCode;\n      var _this$props = _this.props,\n          count = _this$props.count,\n          allowHalf = _this$props.allowHalf,\n          onKeyDown = _this$props.onKeyDown,\n          direction = _this$props.direction;\n      var reverse = direction === 'rtl';\n      var value = _this.state.value;\n\n      if (keyCode === KeyCode.RIGHT && value < count && !reverse) {\n        if (allowHalf) {\n          value += 0.5;\n        } else {\n          value += 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      } else if (keyCode === KeyCode.LEFT && value > 0 && !reverse) {\n        if (allowHalf) {\n          value -= 0.5;\n        } else {\n          value -= 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      } else if (keyCode === KeyCode.RIGHT && value > 0 && reverse) {\n        if (allowHalf) {\n          value -= 0.5;\n        } else {\n          value -= 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      } else if (keyCode === KeyCode.LEFT && value < count && reverse) {\n        if (allowHalf) {\n          value += 0.5;\n        } else {\n          value += 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      }\n\n      if (onKeyDown) {\n        onKeyDown(event);\n      }\n    };\n\n    _this.saveRef = function (index) {\n      return function (node) {\n        _this.stars[index] = node;\n      };\n    };\n\n    _this.saveRate = function (node) {\n      _this.rate = node;\n    };\n\n    var value = props.value;\n\n    if (value === undefined) {\n      value = props.defaultValue;\n    }\n\n    _this.stars = {};\n    _this.state = {\n      value: value,\n      focused: false,\n      cleanedValue: null\n    };\n    return _this;\n  }\n\n  _createClass(Rate, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this$props2 = this.props,\n          autoFocus = _this$props2.autoFocus,\n          disabled = _this$props2.disabled;\n\n      if (autoFocus && !disabled) {\n        this.focus();\n      }\n    }\n  }, {\n    key: \"getStarDOM\",\n    value: function getStarDOM(index) {\n      return findDOMNode(this.stars[index]);\n    }\n  }, {\n    key: \"getStarValue\",\n    value: function getStarValue(index, x) {\n      var _this$props3 = this.props,\n          allowHalf = _this$props3.allowHalf,\n          direction = _this$props3.direction;\n      var reverse = direction === 'rtl';\n      var value = index + 1;\n\n      if (allowHalf) {\n        var starEle = this.getStarDOM(index);\n        var leftDis = getOffsetLeft(starEle);\n        var width = starEle.clientWidth;\n\n        if (reverse && x - leftDis > width / 2) {\n          value -= 0.5;\n        } else if (!reverse && x - leftDis < width / 2) {\n          value -= 0.5;\n        }\n      }\n\n      return value;\n    }\n  }, {\n    key: \"focus\",\n    value: function focus() {\n      var disabled = this.props.disabled;\n\n      if (!disabled) {\n        this.rate.focus();\n      }\n    }\n  }, {\n    key: \"blur\",\n    value: function blur() {\n      var disabled = this.props.disabled;\n\n      if (!disabled) {\n        this.rate.blur();\n      }\n    }\n  }, {\n    key: \"changeValue\",\n    value: function changeValue(value) {\n      var onChange = this.props.onChange;\n\n      if (!('value' in this.props)) {\n        this.setState({\n          value: value\n        });\n      }\n\n      onChange(value);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props4 = this.props,\n          count = _this$props4.count,\n          allowHalf = _this$props4.allowHalf,\n          style = _this$props4.style,\n          prefixCls = _this$props4.prefixCls,\n          disabled = _this$props4.disabled,\n          className = _this$props4.className,\n          character = _this$props4.character,\n          characterRender = _this$props4.characterRender,\n          tabIndex = _this$props4.tabIndex,\n          direction = _this$props4.direction;\n      var _this$state = this.state,\n          value = _this$state.value,\n          hoverValue = _this$state.hoverValue,\n          focused = _this$state.focused;\n      var stars = [];\n      var disabledClass = disabled ? \"\".concat(prefixCls, \"-disabled\") : '';\n\n      for (var index = 0; index < count; index += 1) {\n        stars.push( /*#__PURE__*/React.createElement(Star, {\n          ref: this.saveRef(index),\n          index: index,\n          count: count,\n          disabled: disabled,\n          prefixCls: \"\".concat(prefixCls, \"-star\"),\n          allowHalf: allowHalf,\n          value: hoverValue === undefined ? value : hoverValue,\n          onClick: this.onClick,\n          onHover: this.onHover,\n          key: index,\n          character: character,\n          characterRender: characterRender,\n          focused: focused\n        }));\n      }\n\n      var rateClassName = classNames(prefixCls, disabledClass, className, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'));\n      return /*#__PURE__*/React.createElement(\"ul\", {\n        className: rateClassName,\n        style: style,\n        onMouseLeave: disabled ? null : this.onMouseLeave,\n        tabIndex: disabled ? -1 : tabIndex,\n        onFocus: disabled ? null : this.onFocus,\n        onBlur: disabled ? null : this.onBlur,\n        onKeyDown: disabled ? null : this.onKeyDown,\n        ref: this.saveRate,\n        role: \"radiogroup\"\n      }, stars);\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, state) {\n      if ('value' in nextProps && nextProps.value !== undefined) {\n        return _objectSpread(_objectSpread({}, state), {}, {\n          value: nextProps.value\n        });\n      }\n\n      return state;\n    }\n  }]);\n\n  return Rate;\n}(React.Component);\n\nRate.defaultProps = {\n  defaultValue: 0,\n  count: 5,\n  allowHalf: false,\n  allowClear: true,\n  style: {},\n  prefixCls: 'rc-rate',\n  onChange: noop,\n  character: '★',\n  onHoverChange: noop,\n  tabIndex: 0,\n  direction: 'ltr'\n};\nexport default Rate;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-rate/es/Rate.js"],"names":["_objectSpread","_defineProperty","_classCallCheck","_createClass","_inherits","_createSuper","React","findDOMNode","classNames","KeyCode","getOffsetLeft","Star","noop","Rate","_React$Component","_super","props","_this","call","onHover","event","index","onHoverChange","hoverValue","getStarValue","pageX","cleanedValue","state","setState","onMouseLeave","undefined","onClick","allowClear","value","newValue","isReset","changeValue","onFocus","focused","onBlur","onKeyDown","keyCode","_this$props","count","allowHalf","direction","reverse","RIGHT","preventDefault","LEFT","saveRef","node","stars","saveRate","rate","defaultValue","key","componentDidMount","_this$props2","autoFocus","disabled","focus","getStarDOM","x","_this$props3","starEle","leftDis","width","clientWidth","blur","onChange","render","_this$props4","style","prefixCls","className","character","characterRender","tabIndex","_this$state","disabledClass","concat","push","createElement","ref","rateClassName","role","getDerivedStateFromProps","nextProps","Component","defaultProps"],"mappings":"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","sourcesContent":["import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nfunction noop() {}\n\nvar Rate = /*#__PURE__*/function (_React$Component) {\n  _inherits(Rate, _React$Component);\n\n  var _super = _createSuper(Rate);\n\n  function Rate(props) {\n    var _this;\n\n    _classCallCheck(this, Rate);\n\n    _this = _super.call(this, props);\n\n    _this.onHover = function (event, index) {\n      var onHoverChange = _this.props.onHoverChange;\n\n      var hoverValue = _this.getStarValue(index, event.pageX);\n\n      var cleanedValue = _this.state.cleanedValue;\n\n      if (hoverValue !== cleanedValue) {\n        _this.setState({\n          hoverValue: hoverValue,\n          cleanedValue: null\n        });\n      }\n\n      onHoverChange(hoverValue);\n    };\n\n    _this.onMouseLeave = function () {\n      var onHoverChange = _this.props.onHoverChange;\n\n      _this.setState({\n        hoverValue: undefined,\n        cleanedValue: null\n      });\n\n      onHoverChange(undefined);\n    };\n\n    _this.onClick = function (event, index) {\n      var allowClear = _this.props.allowClear;\n      var value = _this.state.value;\n\n      var newValue = _this.getStarValue(index, event.pageX);\n\n      var isReset = false;\n\n      if (allowClear) {\n        isReset = newValue === value;\n      }\n\n      _this.onMouseLeave();\n\n      _this.changeValue(isReset ? 0 : newValue);\n\n      _this.setState({\n        cleanedValue: isReset ? newValue : null\n      });\n    };\n\n    _this.onFocus = function () {\n      var onFocus = _this.props.onFocus;\n\n      _this.setState({\n        focused: true\n      });\n\n      if (onFocus) {\n        onFocus();\n      }\n    };\n\n    _this.onBlur = function () {\n      var onBlur = _this.props.onBlur;\n\n      _this.setState({\n        focused: false\n      });\n\n      if (onBlur) {\n        onBlur();\n      }\n    };\n\n    _this.onKeyDown = function (event) {\n      var keyCode = event.keyCode;\n      var _this$props = _this.props,\n          count = _this$props.count,\n          allowHalf = _this$props.allowHalf,\n          onKeyDown = _this$props.onKeyDown,\n          direction = _this$props.direction;\n      var reverse = direction === 'rtl';\n      var value = _this.state.value;\n\n      if (keyCode === KeyCode.RIGHT && value < count && !reverse) {\n        if (allowHalf) {\n          value += 0.5;\n        } else {\n          value += 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      } else if (keyCode === KeyCode.LEFT && value > 0 && !reverse) {\n        if (allowHalf) {\n          value -= 0.5;\n        } else {\n          value -= 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      } else if (keyCode === KeyCode.RIGHT && value > 0 && reverse) {\n        if (allowHalf) {\n          value -= 0.5;\n        } else {\n          value -= 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      } else if (keyCode === KeyCode.LEFT && value < count && reverse) {\n        if (allowHalf) {\n          value += 0.5;\n        } else {\n          value += 1;\n        }\n\n        _this.changeValue(value);\n\n        event.preventDefault();\n      }\n\n      if (onKeyDown) {\n        onKeyDown(event);\n      }\n    };\n\n    _this.saveRef = function (index) {\n      return function (node) {\n        _this.stars[index] = node;\n      };\n    };\n\n    _this.saveRate = function (node) {\n      _this.rate = node;\n    };\n\n    var value = props.value;\n\n    if (value === undefined) {\n      value = props.defaultValue;\n    }\n\n    _this.stars = {};\n    _this.state = {\n      value: value,\n      focused: false,\n      cleanedValue: null\n    };\n    return _this;\n  }\n\n  _createClass(Rate, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this$props2 = this.props,\n          autoFocus = _this$props2.autoFocus,\n          disabled = _this$props2.disabled;\n\n      if (autoFocus && !disabled) {\n        this.focus();\n      }\n    }\n  }, {\n    key: \"getStarDOM\",\n    value: function getStarDOM(index) {\n      return findDOMNode(this.stars[index]);\n    }\n  }, {\n    key: \"getStarValue\",\n    value: function getStarValue(index, x) {\n      var _this$props3 = this.props,\n          allowHalf = _this$props3.allowHalf,\n          direction = _this$props3.direction;\n      var reverse = direction === 'rtl';\n      var value = index + 1;\n\n      if (allowHalf) {\n        var starEle = this.getStarDOM(index);\n        var leftDis = getOffsetLeft(starEle);\n        var width = starEle.clientWidth;\n\n        if (reverse && x - leftDis > width / 2) {\n          value -= 0.5;\n        } else if (!reverse && x - leftDis < width / 2) {\n          value -= 0.5;\n        }\n      }\n\n      return value;\n    }\n  }, {\n    key: \"focus\",\n    value: function focus() {\n      var disabled = this.props.disabled;\n\n      if (!disabled) {\n        this.rate.focus();\n      }\n    }\n  }, {\n    key: \"blur\",\n    value: function blur() {\n      var disabled = this.props.disabled;\n\n      if (!disabled) {\n        this.rate.blur();\n      }\n    }\n  }, {\n    key: \"changeValue\",\n    value: function changeValue(value) {\n      var onChange = this.props.onChange;\n\n      if (!('value' in this.props)) {\n        this.setState({\n          value: value\n        });\n      }\n\n      onChange(value);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props4 = this.props,\n          count = _this$props4.count,\n          allowHalf = _this$props4.allowHalf,\n          style = _this$props4.style,\n          prefixCls = _this$props4.prefixCls,\n          disabled = _this$props4.disabled,\n          className = _this$props4.className,\n          character = _this$props4.character,\n          characterRender = _this$props4.characterRender,\n          tabIndex = _this$props4.tabIndex,\n          direction = _this$props4.direction;\n      var _this$state = this.state,\n          value = _this$state.value,\n          hoverValue = _this$state.hoverValue,\n          focused = _this$state.focused;\n      var stars = [];\n      var disabledClass = disabled ? \"\".concat(prefixCls, \"-disabled\") : '';\n\n      for (var index = 0; index < count; index += 1) {\n        stars.push( /*#__PURE__*/React.createElement(Star, {\n          ref: this.saveRef(index),\n          index: index,\n          count: count,\n          disabled: disabled,\n          prefixCls: \"\".concat(prefixCls, \"-star\"),\n          allowHalf: allowHalf,\n          value: hoverValue === undefined ? value : hoverValue,\n          onClick: this.onClick,\n          onHover: this.onHover,\n          key: index,\n          character: character,\n          characterRender: characterRender,\n          focused: focused\n        }));\n      }\n\n      var rateClassName = classNames(prefixCls, disabledClass, className, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'));\n      return /*#__PURE__*/React.createElement(\"ul\", {\n        className: rateClassName,\n        style: style,\n        onMouseLeave: disabled ? null : this.onMouseLeave,\n        tabIndex: disabled ? -1 : tabIndex,\n        onFocus: disabled ? null : this.onFocus,\n        onBlur: disabled ? null : this.onBlur,\n        onKeyDown: disabled ? null : this.onKeyDown,\n        ref: this.saveRate,\n        role: \"radiogroup\"\n      }, stars);\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, state) {\n      if ('value' in nextProps && nextProps.value !== undefined) {\n        return _objectSpread(_objectSpread({}, state), {}, {\n          value: nextProps.value\n        });\n      }\n\n      return state;\n    }\n  }]);\n\n  return Rate;\n}(React.Component);\n\nRate.defaultProps = {\n  defaultValue: 0,\n  count: 5,\n  allowHalf: false,\n  allowClear: true,\n  style: {},\n  prefixCls: 'rc-rate',\n  onChange: noop,\n  character: '★',\n  onHoverChange: noop,\n  tabIndex: 0,\n  direction: 'ltr'\n};\nexport default Rate;"]},"metadata":{},"sourceType":"module"}