{"version":3,"sources":["webpack:///./node_modules/rmc-list-view/es/ScrollView.js","webpack:///./node_modules/rmc-list-view/es/index.js","webpack:///./node_modules/rmc-list-view/es/util.js"],"names":["babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default","n","babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__","babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default","babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__","babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default","babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__","babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default","babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__","babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default","react__WEBPACK_IMPORTED_MODULE_5__","react__WEBPACK_IMPORTED_MODULE_5___default","prop_types__WEBPACK_IMPORTED_MODULE_6__","prop_types__WEBPACK_IMPORTED_MODULE_6___default","classnames__WEBPACK_IMPORTED_MODULE_7__","classnames__WEBPACK_IMPORTED_MODULE_7___default","_util__WEBPACK_IMPORTED_MODULE_8__","propTypes","className","a","string","prefixCls","listPrefixCls","listViewPrefixCls","style","object","contentContainerStyle","onScroll","func","ScrollView","_React$Component","_ref","_temp","_this","_ret","this","_len","arguments","length","args","Array","_key","__proto__","Object","getPrototypeOf","call","apply","concat","_initialiseProps","key","value","nextProps","props","dataSource","initialListSize","handleScroll","useBodyScroll","window","removeEventListener","ScrollViewRef","prevProps","_this2","setTimeout","addEventListener","_this3","e","getMetrics","scrollEventThrottle","onLayout","nativeEvent","layout","width","innerWidth","height","innerHeight","_this4","_props","children","_props$style","undefined","_props$contentContain","pullToRefresh","preCls","containerProps","ref","el","position","overflow","WebkitOverflowScrolling","contentContainerProps","InnerScrollViewRef","minWidth","clonePullToRefresh","isBody","cloneElement","getScrollContainer","document","body","createElement","Component","_this5","isVertical","horizontal","scrollNode","scrollingElement","visibleLength","contentLength","offset","getInnerViewNode","scrollTo","_window","scrollLeft","scrollTop","__webpack_exports__","_ListView__WEBPACK_IMPORTED_MODULE_0__","_Indexed__WEBPACK_IMPORTED_MODULE_1__","IndexedList","DataSource","getOffsetTop","elem","offsetTop","isNaN","offsetParent","_event","touches","changedTouches","throttle","fn","delay","delayFlag","firstInvoke","d"],"mappings":"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","file":"vendor.rmc-list-view~6e3d849b.bundle.js","sourcesContent":["import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { throttle } from './util';\n\n// const SCROLLVIEW = 'ScrollViewRef';\n// const INNERVIEW = 'InnerScrollViewRef';\n\n// https://github.com/facebook/react-native/blob/0.26-stable/Libraries/Components/ScrollView/ScrollView.js\n\n/* eslint react/prop-types: 0, react/sort-comp: 0, no-unused-expressions: 0 */\n\nvar propTypes = {\n  className: PropTypes.string,\n  prefixCls: PropTypes.string,\n  listPrefixCls: PropTypes.string,\n  listViewPrefixCls: PropTypes.string,\n  style: PropTypes.object,\n  contentContainerStyle: PropTypes.object,\n  onScroll: PropTypes.func\n};\n\nvar ScrollView = function (_React$Component) {\n  _inherits(ScrollView, _React$Component);\n\n  function ScrollView() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, ScrollView);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ScrollView.__proto__ || Object.getPrototypeOf(ScrollView)).call.apply(_ref, [this].concat(args))), _this), _initialiseProps.call(_this), _temp), _possibleConstructorReturn(_this, _ret);\n  }\n\n  _createClass(ScrollView, [{\n    key: 'componentWillUpdate',\n    value: function componentWillUpdate(nextProps) {\n      // https://github.com/ant-design/ant-design-mobile/issues/1480\n      // https://stackoverflow.com/questions/1386696/make-scrollleft-scrolltop-changes-not-trigger-scroll-event\n      // 问题情景：用户滚动内容后，改变 dataSource 触发 ListView componentWillReceiveProps\n      // 内容变化后 scrollTop 如果改变、会自动触发 scroll 事件，而此事件应该避免被执行\n      if ((this.props.dataSource !== nextProps.dataSource || this.props.initialListSize !== nextProps.initialListSize) && this.handleScroll) {\n        // console.log('componentWillUpdate');\n        if (this.props.useBodyScroll) {\n          window.removeEventListener('scroll', this.handleScroll);\n        } else {\n          this.ScrollViewRef.removeEventListener('scroll', this.handleScroll);\n        }\n      }\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps) {\n      var _this2 = this;\n\n      // handle componentWillUpdate accordingly\n      if ((this.props.dataSource !== prevProps.dataSource || this.props.initialListSize !== prevProps.initialListSize) && this.handleScroll) {\n        setTimeout(function () {\n          if (_this2.props.useBodyScroll) {\n            window.addEventListener('scroll', _this2.handleScroll);\n          } else {\n            _this2.ScrollViewRef.addEventListener('scroll', _this2.handleScroll);\n          }\n        }, 0);\n      }\n    }\n  }, {\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      var _this3 = this;\n\n      var handleScroll = function handleScroll(e) {\n        return _this3.props.onScroll && _this3.props.onScroll(e, _this3.getMetrics());\n      };\n      if (this.props.scrollEventThrottle) {\n        handleScroll = throttle(handleScroll, this.props.scrollEventThrottle);\n      }\n      this.handleScroll = handleScroll;\n\n      // IE supports onresize on all HTML elements.\n      // In all other Browsers the onresize is only available at the window object\n      this.onLayout = function () {\n        return _this3.props.onLayout({\n          nativeEvent: { layout: { width: window.innerWidth, height: window.innerHeight } }\n        });\n      };\n\n      if (this.props.useBodyScroll) {\n        window.addEventListener('scroll', this.handleScroll);\n        window.addEventListener('resize', this.onLayout);\n      } else {\n        this.ScrollViewRef.addEventListener('scroll', this.handleScroll);\n      }\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      if (this.props.useBodyScroll) {\n        window.removeEventListener('scroll', this.handleScroll);\n        window.removeEventListener('resize', this.onLayout);\n      } else {\n        this.ScrollViewRef.removeEventListener('scroll', this.handleScroll);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this4 = this;\n\n      var _props = this.props,\n          children = _props.children,\n          className = _props.className,\n          prefixCls = _props.prefixCls,\n          listPrefixCls = _props.listPrefixCls,\n          listViewPrefixCls = _props.listViewPrefixCls,\n          _props$style = _props.style,\n          style = _props$style === undefined ? {} : _props$style,\n          _props$contentContain = _props.contentContainerStyle,\n          contentContainerStyle = _props$contentContain === undefined ? {} : _props$contentContain,\n          useBodyScroll = _props.useBodyScroll,\n          pullToRefresh = _props.pullToRefresh;\n\n\n      var styleBase = {\n        position: 'relative',\n        overflow: 'auto',\n        WebkitOverflowScrolling: 'touch'\n      };\n      var preCls = prefixCls || listViewPrefixCls || '';\n\n      var containerProps = {\n        ref: function ref(el) {\n          return _this4.ScrollViewRef = el || _this4.ScrollViewRef;\n        },\n        style: _extends({}, useBodyScroll ? {} : styleBase, style),\n        className: classNames(className, preCls + '-scrollview')\n      };\n      var contentContainerProps = {\n        ref: function ref(el) {\n          return _this4.InnerScrollViewRef = el;\n        },\n        style: _extends({ position: 'absolute', minWidth: '100%' }, contentContainerStyle),\n        className: classNames(preCls + '-scrollview-content', listPrefixCls)\n      };\n\n      var clonePullToRefresh = function clonePullToRefresh(isBody) {\n        return React.cloneElement(pullToRefresh, {\n          getScrollContainer: isBody ? function () {\n            return document.body;\n          } : function () {\n            return _this4.ScrollViewRef;\n          }\n        }, children);\n      };\n\n      if (useBodyScroll) {\n        if (pullToRefresh) {\n          return React.createElement(\n            'div',\n            containerProps,\n            clonePullToRefresh(true)\n          );\n        }\n        return React.createElement(\n          'div',\n          containerProps,\n          children\n        );\n      }\n\n      if (pullToRefresh) {\n        return React.createElement(\n          'div',\n          containerProps,\n          React.createElement(\n            'div',\n            contentContainerProps,\n            clonePullToRefresh()\n          )\n        );\n      }\n\n      return React.createElement(\n        'div',\n        containerProps,\n        React.createElement(\n          'div',\n          contentContainerProps,\n          children\n        )\n      );\n    }\n  }]);\n\n  return ScrollView;\n}(React.Component);\n\nScrollView.propTypes = propTypes;\n\nvar _initialiseProps = function _initialiseProps() {\n  var _this5 = this;\n\n  this.getMetrics = function () {\n    var isVertical = !_this5.props.horizontal;\n    if (_this5.props.useBodyScroll) {\n      // In chrome61 `document.body.scrollTop` is invalid,\n      // and add new `document.scrollingElement`(chrome61, iOS support).\n      // In old-android-browser and iOS `document.documentElement.scrollTop` is invalid.\n      var scrollNode = document.scrollingElement ? document.scrollingElement : document.body;\n      // todos: Why sometimes do not have `this.ScrollViewRef` ?\n      return {\n        visibleLength: window[isVertical ? 'innerHeight' : 'innerWidth'],\n        contentLength: _this5.ScrollViewRef ? _this5.ScrollViewRef[isVertical ? 'scrollHeight' : 'scrollWidth'] : 0,\n        offset: scrollNode[isVertical ? 'scrollTop' : 'scrollLeft']\n      };\n    }\n    return {\n      visibleLength: _this5.ScrollViewRef[isVertical ? 'offsetHeight' : 'offsetWidth'],\n      contentLength: _this5.ScrollViewRef[isVertical ? 'scrollHeight' : 'scrollWidth'],\n      offset: _this5.ScrollViewRef[isVertical ? 'scrollTop' : 'scrollLeft']\n    };\n  };\n\n  this.getInnerViewNode = function () {\n    return _this5.InnerScrollViewRef;\n  };\n\n  this.scrollTo = function () {\n    if (_this5.props.useBodyScroll) {\n      var _window;\n\n      (_window = window).scrollTo.apply(_window, arguments);\n    } else {\n      _this5.ScrollViewRef.scrollLeft = arguments.length <= 0 ? undefined : arguments[0];\n      _this5.ScrollViewRef.scrollTop = arguments.length <= 1 ? undefined : arguments[1];\n    }\n  };\n};\n\nexport default ScrollView;","// export this package's api\nimport ListView from './ListView';\nimport IndexedList from './Indexed';\n\nListView.IndexedList = IndexedList;\nvar DataSource = ListView.DataSource;\n\nexport { DataSource, IndexedList };\nexport default ListView;","export function getOffsetTop(elem) {\n  var offsetTop = 0;\n  /* eslint no-cond-assign: 0 */\n  do {\n    if (!isNaN(elem.offsetTop)) {\n      offsetTop += elem.offsetTop;\n    }\n  } while (elem = elem.offsetParent);\n  return offsetTop;\n}\n\nexport function _event(e) {\n  if (e.touches && e.touches.length) {\n    return e.touches[0];\n  }\n  if (e.changedTouches && e.changedTouches.length) {\n    return e.changedTouches[0];\n  }\n  return e;\n}\n\nexport function throttle(fn, delay) {\n  var delayFlag = true;\n  var firstInvoke = true;\n  // console.log('exec once');\n  return function _throttle(e) {\n    if (delayFlag) {\n      delayFlag = false;\n      setTimeout(function () {\n        delayFlag = true;\n        // console.log('exec delay time');\n        fn(e);\n      }, delay);\n      if (firstInvoke) {\n        // console.log('first invoke');\n        fn(e);\n        firstInvoke = false;\n      }\n    }\n  };\n}\n\nexport function setTransform(nodeStyle, value) {\n  nodeStyle.transform = value;\n  nodeStyle.webkitTransform = value;\n  nodeStyle.MozTransform = value;\n}\n\nexport function setTransformOrigin(nodeStyle, value) {\n  nodeStyle.transformOrigin = value;\n  nodeStyle.webkitTransformOrigin = value;\n  nodeStyle.MozTransformOrigin = value;\n}"],"sourceRoot":""}