a5079d71a5d4726fb0fdda45c638e5f7.json 14.1 KB
{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport VerticalAlignTopOutlined from '@ant-design/icons/VerticalAlignTopOutlined';\nimport { throttleByAnimationFrame } from '../_util/throttleByAnimationFrame';\nimport { ConfigContext } from '../config-provider';\nimport getScroll from '../_util/getScroll';\nimport scrollTo from '../_util/scrollTo';\nimport { cloneElement } from '../_util/reactNode';\n\nvar BackTop = function BackTop(props) {\n  var _useMergedState = useMergedState(false, {\n    value: props.visible\n  }),\n      _useMergedState2 = _slicedToArray(_useMergedState, 2),\n      visible = _useMergedState2[0],\n      setVisible = _useMergedState2[1];\n\n  var ref = /*#__PURE__*/React.createRef();\n  var scrollEvent = React.useRef();\n\n  var getDefaultTarget = function getDefaultTarget() {\n    return ref.current && ref.current.ownerDocument ? ref.current.ownerDocument : window;\n  };\n\n  var handleScroll = throttleByAnimationFrame(function (e) {\n    var visibilityHeight = props.visibilityHeight;\n    var scrollTop = getScroll(e.target, true);\n    setVisible(scrollTop > visibilityHeight);\n  });\n\n  var bindScrollEvent = function bindScrollEvent() {\n    var target = props.target;\n    var getTarget = target || getDefaultTarget;\n    var container = getTarget();\n    scrollEvent.current = addEventListener(container, 'scroll', function (e) {\n      handleScroll(e);\n    });\n    handleScroll({\n      target: container\n    });\n  };\n\n  React.useEffect(function () {\n    bindScrollEvent();\n    return function () {\n      if (scrollEvent.current) {\n        scrollEvent.current.remove();\n      }\n\n      handleScroll.cancel();\n    };\n  }, [props.target]);\n\n  var scrollToTop = function scrollToTop(e) {\n    var onClick = props.onClick,\n        target = props.target,\n        _props$duration = props.duration,\n        duration = _props$duration === void 0 ? 450 : _props$duration;\n    scrollTo(0, {\n      getContainer: target || getDefaultTarget,\n      duration: duration\n    });\n\n    if (typeof onClick === 'function') {\n      onClick(e);\n    }\n  };\n\n  var renderChildren = function renderChildren(_ref) {\n    var prefixCls = _ref.prefixCls;\n    var children = props.children;\n    var defaultElement = /*#__PURE__*/React.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-content\")\n    }, /*#__PURE__*/React.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-icon\")\n    }, /*#__PURE__*/React.createElement(VerticalAlignTopOutlined, null)));\n    return /*#__PURE__*/React.createElement(CSSMotion, {\n      visible: visible,\n      motionName: \"fade\",\n      removeOnLeave: true\n    }, function (_ref2) {\n      var motionClassName = _ref2.className;\n      var childNode = children || defaultElement;\n      return /*#__PURE__*/React.createElement(\"div\", null, cloneElement(childNode, function (_ref3) {\n        var className = _ref3.className;\n        return {\n          className: classNames(motionClassName, className)\n        };\n      }));\n    });\n  };\n\n  var _React$useContext = React.useContext(ConfigContext),\n      getPrefixCls = _React$useContext.getPrefixCls,\n      direction = _React$useContext.direction;\n\n  var customizePrefixCls = props.prefixCls,\n      _props$className = props.className,\n      className = _props$className === void 0 ? '' : _props$className;\n  var prefixCls = getPrefixCls('back-top', customizePrefixCls);\n  var classString = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), className); // fix https://fb.me/react-unknown-prop\n\n  var divProps = omit(props, ['prefixCls', 'className', 'children', 'visibilityHeight', 'target', 'visible']);\n  return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n    className: classString,\n    onClick: scrollToTop,\n    ref: ref\n  }), renderChildren({\n    prefixCls: prefixCls\n  }));\n};\n\nBackTop.defaultProps = {\n  visibilityHeight: 400\n};\nexport default /*#__PURE__*/React.memo(BackTop);","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/back-top/index.js"],"names":["_extends","_defineProperty","_slicedToArray","React","CSSMotion","addEventListener","useMergedState","classNames","omit","VerticalAlignTopOutlined","throttleByAnimationFrame","ConfigContext","getScroll","scrollTo","cloneElement","BackTop","props","_useMergedState","value","visible","_useMergedState2","setVisible","ref","createRef","scrollEvent","useRef","getDefaultTarget","current","ownerDocument","window","handleScroll","e","visibilityHeight","scrollTop","target","bindScrollEvent","getTarget","container","useEffect","remove","cancel","scrollToTop","onClick","_props$duration","duration","getContainer","renderChildren","_ref","prefixCls","children","defaultElement","createElement","className","concat","motionName","removeOnLeave","_ref2","motionClassName","childNode","_ref3","_React$useContext","useContext","getPrefixCls","direction","customizePrefixCls","_props$className","classString","divProps","defaultProps","memo"],"mappings":"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","sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport VerticalAlignTopOutlined from '@ant-design/icons/VerticalAlignTopOutlined';\nimport { throttleByAnimationFrame } from '../_util/throttleByAnimationFrame';\nimport { ConfigContext } from '../config-provider';\nimport getScroll from '../_util/getScroll';\nimport scrollTo from '../_util/scrollTo';\nimport { cloneElement } from '../_util/reactNode';\n\nvar BackTop = function BackTop(props) {\n  var _useMergedState = useMergedState(false, {\n    value: props.visible\n  }),\n      _useMergedState2 = _slicedToArray(_useMergedState, 2),\n      visible = _useMergedState2[0],\n      setVisible = _useMergedState2[1];\n\n  var ref = /*#__PURE__*/React.createRef();\n  var scrollEvent = React.useRef();\n\n  var getDefaultTarget = function getDefaultTarget() {\n    return ref.current && ref.current.ownerDocument ? ref.current.ownerDocument : window;\n  };\n\n  var handleScroll = throttleByAnimationFrame(function (e) {\n    var visibilityHeight = props.visibilityHeight;\n    var scrollTop = getScroll(e.target, true);\n    setVisible(scrollTop > visibilityHeight);\n  });\n\n  var bindScrollEvent = function bindScrollEvent() {\n    var target = props.target;\n    var getTarget = target || getDefaultTarget;\n    var container = getTarget();\n    scrollEvent.current = addEventListener(container, 'scroll', function (e) {\n      handleScroll(e);\n    });\n    handleScroll({\n      target: container\n    });\n  };\n\n  React.useEffect(function () {\n    bindScrollEvent();\n    return function () {\n      if (scrollEvent.current) {\n        scrollEvent.current.remove();\n      }\n\n      handleScroll.cancel();\n    };\n  }, [props.target]);\n\n  var scrollToTop = function scrollToTop(e) {\n    var onClick = props.onClick,\n        target = props.target,\n        _props$duration = props.duration,\n        duration = _props$duration === void 0 ? 450 : _props$duration;\n    scrollTo(0, {\n      getContainer: target || getDefaultTarget,\n      duration: duration\n    });\n\n    if (typeof onClick === 'function') {\n      onClick(e);\n    }\n  };\n\n  var renderChildren = function renderChildren(_ref) {\n    var prefixCls = _ref.prefixCls;\n    var children = props.children;\n    var defaultElement = /*#__PURE__*/React.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-content\")\n    }, /*#__PURE__*/React.createElement(\"div\", {\n      className: \"\".concat(prefixCls, \"-icon\")\n    }, /*#__PURE__*/React.createElement(VerticalAlignTopOutlined, null)));\n    return /*#__PURE__*/React.createElement(CSSMotion, {\n      visible: visible,\n      motionName: \"fade\",\n      removeOnLeave: true\n    }, function (_ref2) {\n      var motionClassName = _ref2.className;\n      var childNode = children || defaultElement;\n      return /*#__PURE__*/React.createElement(\"div\", null, cloneElement(childNode, function (_ref3) {\n        var className = _ref3.className;\n        return {\n          className: classNames(motionClassName, className)\n        };\n      }));\n    });\n  };\n\n  var _React$useContext = React.useContext(ConfigContext),\n      getPrefixCls = _React$useContext.getPrefixCls,\n      direction = _React$useContext.direction;\n\n  var customizePrefixCls = props.prefixCls,\n      _props$className = props.className,\n      className = _props$className === void 0 ? '' : _props$className;\n  var prefixCls = getPrefixCls('back-top', customizePrefixCls);\n  var classString = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), className); // fix https://fb.me/react-unknown-prop\n\n  var divProps = omit(props, ['prefixCls', 'className', 'children', 'visibilityHeight', 'target', 'visible']);\n  return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n    className: classString,\n    onClick: scrollToTop,\n    ref: ref\n  }), renderChildren({\n    prefixCls: prefixCls\n  }));\n};\n\nBackTop.defaultProps = {\n  visibilityHeight: 400\n};\nexport default /*#__PURE__*/React.memo(BackTop);"]},"metadata":{},"sourceType":"module"}