@tarojs/components-react 3.5.5 → 3.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,7 +49,8 @@ try {
49
49
  window.addEventListener('cancel', function () {
50
50
  return {};
51
51
  }, opts);
52
- } catch (e) {}
52
+ } catch (e) {} // eslint-disable-line no-empty
53
+
53
54
 
54
55
  var willPreventDefault = supportsPassive ? {
55
56
  passive: false
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/pull-down-refresh/index.tsx"],"sourcesContent":["import './style/index.css'\r\n\r\nimport Taro from '@tarojs/taro'\r\nimport classNames from 'classnames'\r\nimport React from 'react'\r\n\r\nfunction setTransform (nodeStyle, value) {\r\n nodeStyle.transform = value\r\n nodeStyle.webkitTransform = value\r\n nodeStyle.MozTransform = value\r\n}\r\n\r\nconst isWebView =\r\n typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent)\r\n\r\nenum PullDownState {\r\n activate = 'activate',\r\n deactivate = 'deactivate',\r\n release = 'release',\r\n finish = 'finish'\r\n}\r\n\r\nenum INDICATOR {\r\n activate = 'release',\r\n deactivate = 'pull',\r\n release = 'loading',\r\n finish = 'finish'\r\n}\r\n\r\nlet supportsPassive = false\r\ntry {\r\n const opts = Object.defineProperty({}, 'passive', {\r\n get () {\r\n supportsPassive = true\r\n }\r\n })\r\n window.addEventListener('cancel', () => ({}), opts)\r\n} catch (e) {}\r\n\r\nconst willPreventDefault = supportsPassive ? { passive: false } : false\r\n\r\ninterface IProps extends React.HTMLAttributes<HTMLBaseElement> {\r\n prefixCls: string\r\n distanceToRefresh: number\r\n damping: number\r\n indicator: INDICATOR\r\n onRefresh?: () => void\r\n}\r\n\r\ninterface IState {\r\n currSt: PullDownState\r\n dragOnEdge: boolean\r\n}\r\n\r\nclass PullDownRefresh extends React.Component<IProps, IState> {\r\n static defaultProps = {\r\n prefixCls: 'rmc-pull-to-refresh',\r\n distanceToRefresh: 50,\r\n damping: 100,\r\n indicator: INDICATOR\r\n }\r\n\r\n // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355\r\n // currSt: `activate` / `deactivate` / `release` / `finish`\r\n state = {\r\n currSt: PullDownState.deactivate,\r\n dragOnEdge: false\r\n }\r\n\r\n containerRef: HTMLElement | null\r\n contentRef: HTMLDivElement | null\r\n _to: Record<string, EventListener>\r\n _ScreenY = 0\r\n _startScreenY = 0\r\n _lastScreenY = 0\r\n _isMounted = false\r\n listeners: [string, (...args: any[]) => void][] = []\r\n\r\n get scrollContainer () {\r\n return (\r\n this.contentRef?.parentElement ||\r\n this.contentRef?.closest('.taro_page_stationed') ||\r\n document.querySelector('.taro_page_stationed') ||\r\n document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router') ||\r\n document.querySelector('.taro-tabbar__panel') ||\r\n document.body\r\n )\r\n }\r\n\r\n componentDidMount () {\r\n this.init()\r\n this._isMounted = true\r\n this.listeners = [\r\n [\r\n '__taroStartPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(true)\r\n successHandler({\r\n errMsg: 'startPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'startPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ],\r\n [\r\n '__taroStopPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(false)\r\n successHandler({\r\n errMsg: 'stopPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'stopPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ]\r\n ]\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.on(evtName, callback)\r\n })\r\n }\r\n\r\n componentWillUnmount () {\r\n this.destroy()\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.off(evtName, callback)\r\n })\r\n }\r\n\r\n componentDidUpdate (_, prevState: IState) {\r\n if (prevState.currSt !== this.state.currSt) {\r\n const pageEl: any = this.scrollContainer\r\n switch (this.state.currSt) {\r\n case PullDownState.release:\r\n pageEl?.__page?.onPullDownRefresh?.()\r\n break\r\n case PullDownState.deactivate:\r\n pageEl?.__page?.onPullIntercept?.()\r\n }\r\n }\r\n }\r\n\r\n triggerPullDownRefresh = (flag: boolean) => {\r\n // 在初始化时、用代码 自动 触发 pullDownRefresh\r\n // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish\r\n if (!this.state.dragOnEdge && this._isMounted) {\r\n if (flag) {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n // change dom need after setState\r\n this.setState({ currSt: PullDownState.release }, () => this.setContentStyle(this._lastScreenY))\r\n } else {\r\n this.setState({ currSt: PullDownState.finish }, () => this.reset())\r\n }\r\n }\r\n }\r\n\r\n init = () => {\r\n const ele = this.scrollContainer\r\n this._to = {\r\n touchstart: this.onTouchStart.bind(this, ele),\r\n touchmove: this.onTouchMove.bind(this, ele),\r\n touchend: this.onTouchEnd.bind(this, ele),\r\n touchcancel: this.onTouchEnd.bind(this, ele)\r\n }\r\n Object.keys(this._to).forEach(key => {\r\n ele.addEventListener(key, this._to[key], willPreventDefault)\r\n })\r\n }\r\n\r\n destroy = () => {\r\n const ele = this.scrollContainer\r\n Object.keys(this._to).forEach(key => {\r\n ele.removeEventListener(key, this._to[key])\r\n })\r\n }\r\n\r\n onTouchStart = (_, e: TouchEvent) => {\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n // 一开始 refreshing 为 true 时 this._lastScreenY 有值\r\n this._lastScreenY = this._lastScreenY || 0\r\n }\r\n\r\n isEdge = (ele: HTMLElement) => {\r\n const container = this.scrollContainer\r\n if (container && container === document.body) {\r\n // In chrome61 `document.body.scrollTop` is invalid\r\n const scrollNode = document.scrollingElement ? document.scrollingElement : document.body\r\n return scrollNode.scrollTop <= 0\r\n }\r\n return ele.scrollTop <= 0\r\n }\r\n\r\n damping = (dy: number) => {\r\n if (Math.abs(this._lastScreenY) > this.props.damping) {\r\n return 0\r\n }\r\n\r\n const ratio = Math.abs(this._ScreenY - this._startScreenY) / window.screen.height\r\n dy *= (1 - ratio) * 0.6\r\n\r\n return dy\r\n }\r\n\r\n onTouchMove = (ele: HTMLElement, e: TouchEvent) => {\r\n // 使用 pageY 对比有问题\r\n const _screenY = e.touches[0].screenY\r\n\r\n // 拖动方向不符合的不处理\r\n if (this._startScreenY > _screenY) {\r\n return\r\n }\r\n\r\n if (this.isEdge(ele)) {\r\n if (!this.state.dragOnEdge) {\r\n // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义\r\n // 下面这行代码解决了上面这个问题\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n this.setState({ dragOnEdge: true })\r\n }\r\n if (e.cancelable) {\r\n e.preventDefault()\r\n }\r\n // add stopPropagation with fastclick will trigger content onClick event. why?\r\n // ref https://github.com/ant-design/ant-design-mobile/issues/2141\r\n // e.stopPropagation();\r\n\r\n const _diff = Math.round(_screenY - this._ScreenY)\r\n this._ScreenY = _screenY\r\n this._lastScreenY += this.damping(_diff)\r\n\r\n this.setContentStyle(this._lastScreenY)\r\n\r\n if (Math.abs(this._lastScreenY) < this.props.distanceToRefresh) {\r\n if (this.state.currSt !== PullDownState.deactivate) {\r\n // console.log('back to the distance');\r\n this.setState({ currSt: PullDownState.deactivate })\r\n }\r\n } else {\r\n if (this.state.currSt === PullDownState.deactivate) {\r\n // console.log('reach to the distance');\r\n this.setState({ currSt: PullDownState.activate })\r\n }\r\n }\r\n\r\n // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829\r\n // iOS UIWebView issue, It seems no problem in WKWebView\r\n if (isWebView && e.changedTouches[0].clientY < 0) {\r\n this.onTouchEnd()\r\n }\r\n }\r\n }\r\n\r\n onTouchEnd = () => {\r\n if (this.state.dragOnEdge) {\r\n this.setState({ dragOnEdge: false })\r\n }\r\n if (this.state.currSt === PullDownState.activate) {\r\n this.setState({ currSt: PullDownState.release })\r\n this.props.onRefresh?.()\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else if (this.state.currSt === 'release') {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else {\r\n this.reset()\r\n }\r\n }\r\n\r\n reset = () => {\r\n this._lastScreenY = 0\r\n this.setContentStyle(0)\r\n }\r\n\r\n setContentStyle = ty => {\r\n // TODO: Why sometimes do not have `this.contentRef` ?\r\n if (this.contentRef) {\r\n // translate3d 不清理 会影响内部元素定位\r\n if (ty) {\r\n setTransform(this.contentRef.style, `translate3d(0px,${ty}px,0)`)\r\n } else {\r\n setTransform(this.contentRef.style, '')\r\n }\r\n }\r\n }\r\n\r\n render () {\r\n const props: Partial<IProps> & {\r\n children?: React.ReactNode\r\n } = { ...this.props }\r\n delete props.damping\r\n delete props.indicator\r\n delete props.distanceToRefresh\r\n delete props.onRefresh\r\n\r\n const { className, prefixCls, children, ...restProps } = props\r\n\r\n const renderRefresh = (cls: string) => {\r\n const { currSt, dragOnEdge } = this.state\r\n const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`)\r\n const showIndicator = currSt === 'activate' || currSt === 'release'\r\n return (\r\n <div className={`${prefixCls}-content-wrapper`}>\r\n <div\r\n className={cla}\r\n ref={el => {\r\n this.contentRef = el\r\n }}\r\n >\r\n {showIndicator && (\r\n <div className={`${prefixCls}-indicator`}>\r\n <div />\r\n <div />\r\n <div />\r\n </div>\r\n )}\r\n {children}\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (this.scrollContainer) {\r\n return renderRefresh(`${prefixCls}-content ${prefixCls}-down`)\r\n }\r\n return (\r\n <pull-down-refresh\r\n ref={el => {\r\n this.containerRef = el\r\n }}\r\n className={classNames(className, prefixCls, `${prefixCls}-down`)}\r\n {...restProps}\r\n >\r\n {renderRefresh(`${prefixCls}-content`)}\r\n </pull-down-refresh>\r\n )\r\n }\r\n}\r\n\r\nexport default PullDownRefresh\r\n"],"names":["setTransform","nodeStyle","value","transform","webkitTransform","MozTransform","isWebView","navigator","test","userAgent","PullDownState","INDICATOR","supportsPassive","opts","Object","defineProperty","get","window","addEventListener","e","willPreventDefault","passive","PullDownRefresh","state","currSt","deactivate","dragOnEdge","_ScreenY","_startScreenY","_lastScreenY","_isMounted","listeners","triggerPullDownRefresh","flag","props","distanceToRefresh","setState","release","setContentStyle","finish","reset","init","ele","scrollContainer","_to","touchstart","onTouchStart","bind","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","destroy","removeEventListener","_","touches","screenY","isEdge","container","document","body","scrollNode","scrollingElement","scrollTop","damping","dy","Math","abs","ratio","screen","height","_screenY","cancelable","preventDefault","_diff","round","activate","changedTouches","clientY","_b","onRefresh","ty","contentRef","style","_a","parentElement","closest","querySelector","successHandler","errorHandler","errMsg","evtName","callback","Taro","eventCenter","on","off","prevState","pageEl","__page","onPullDownRefresh","call","_d","_c","onPullIntercept","assign","indicator","className","prefixCls","children","restProps","__rest","renderRefresh","cls","cla","classNames","showIndicator","React","createElement","ref","el","containerRef","Component","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/pull-down-refresh/index.tsx"],"sourcesContent":["import './style/index.css'\r\n\r\nimport Taro from '@tarojs/taro'\r\nimport classNames from 'classnames'\r\nimport React from 'react'\r\n\r\nfunction setTransform (nodeStyle, value) {\r\n nodeStyle.transform = value\r\n nodeStyle.webkitTransform = value\r\n nodeStyle.MozTransform = value\r\n}\r\n\r\nconst isWebView =\r\n typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent)\r\n\r\nenum PullDownState {\r\n activate = 'activate',\r\n deactivate = 'deactivate',\r\n release = 'release',\r\n finish = 'finish'\r\n}\r\n\r\nenum INDICATOR {\r\n activate = 'release',\r\n deactivate = 'pull',\r\n release = 'loading',\r\n finish = 'finish'\r\n}\r\n\r\nlet supportsPassive = false\r\ntry {\r\n const opts = Object.defineProperty({}, 'passive', {\r\n get () {\r\n supportsPassive = true\r\n }\r\n })\r\n window.addEventListener('cancel', () => ({}), opts)\r\n} catch (e) {} // eslint-disable-line no-empty\r\n\r\nconst willPreventDefault = supportsPassive ? { passive: false } : false\r\n\r\ninterface IProps extends React.HTMLAttributes<HTMLBaseElement> {\r\n prefixCls: string\r\n distanceToRefresh: number\r\n damping: number\r\n indicator: INDICATOR\r\n onRefresh?: () => void\r\n}\r\n\r\ninterface IState {\r\n currSt: PullDownState\r\n dragOnEdge: boolean\r\n}\r\n\r\nclass PullDownRefresh extends React.Component<IProps, IState> {\r\n static defaultProps = {\r\n prefixCls: 'rmc-pull-to-refresh',\r\n distanceToRefresh: 50,\r\n damping: 100,\r\n indicator: INDICATOR\r\n }\r\n\r\n // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355\r\n // currSt: `activate` / `deactivate` / `release` / `finish`\r\n state = {\r\n currSt: PullDownState.deactivate,\r\n dragOnEdge: false\r\n }\r\n\r\n containerRef: HTMLElement | null\r\n contentRef: HTMLDivElement | null\r\n _to: Record<string, EventListener>\r\n _ScreenY = 0\r\n _startScreenY = 0\r\n _lastScreenY = 0\r\n _isMounted = false\r\n listeners: [string, (...args: any[]) => void][] = []\r\n\r\n get scrollContainer () {\r\n return (\r\n this.contentRef?.parentElement ||\r\n this.contentRef?.closest('.taro_page_stationed') ||\r\n document.querySelector('.taro_page_stationed') ||\r\n document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router') ||\r\n document.querySelector('.taro-tabbar__panel') ||\r\n document.body\r\n )\r\n }\r\n\r\n componentDidMount () {\r\n this.init()\r\n this._isMounted = true\r\n this.listeners = [\r\n [\r\n '__taroStartPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(true)\r\n successHandler({\r\n errMsg: 'startPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'startPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ],\r\n [\r\n '__taroStopPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(false)\r\n successHandler({\r\n errMsg: 'stopPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'stopPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ]\r\n ]\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.on(evtName, callback)\r\n })\r\n }\r\n\r\n componentWillUnmount () {\r\n this.destroy()\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.off(evtName, callback)\r\n })\r\n }\r\n\r\n componentDidUpdate (_, prevState: IState) {\r\n if (prevState.currSt !== this.state.currSt) {\r\n const pageEl: any = this.scrollContainer\r\n switch (this.state.currSt) {\r\n case PullDownState.release:\r\n pageEl?.__page?.onPullDownRefresh?.()\r\n break\r\n case PullDownState.deactivate:\r\n pageEl?.__page?.onPullIntercept?.()\r\n }\r\n }\r\n }\r\n\r\n triggerPullDownRefresh = (flag: boolean) => {\r\n // 在初始化时、用代码 自动 触发 pullDownRefresh\r\n // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish\r\n if (!this.state.dragOnEdge && this._isMounted) {\r\n if (flag) {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n // change dom need after setState\r\n this.setState({ currSt: PullDownState.release }, () => this.setContentStyle(this._lastScreenY))\r\n } else {\r\n this.setState({ currSt: PullDownState.finish }, () => this.reset())\r\n }\r\n }\r\n }\r\n\r\n init = () => {\r\n const ele = this.scrollContainer\r\n this._to = {\r\n touchstart: this.onTouchStart.bind(this, ele),\r\n touchmove: this.onTouchMove.bind(this, ele),\r\n touchend: this.onTouchEnd.bind(this, ele),\r\n touchcancel: this.onTouchEnd.bind(this, ele)\r\n }\r\n Object.keys(this._to).forEach(key => {\r\n ele.addEventListener(key, this._to[key], willPreventDefault)\r\n })\r\n }\r\n\r\n destroy = () => {\r\n const ele = this.scrollContainer\r\n Object.keys(this._to).forEach(key => {\r\n ele.removeEventListener(key, this._to[key])\r\n })\r\n }\r\n\r\n onTouchStart = (_, e: TouchEvent) => {\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n // 一开始 refreshing 为 true 时 this._lastScreenY 有值\r\n this._lastScreenY = this._lastScreenY || 0\r\n }\r\n\r\n isEdge = (ele: HTMLElement) => {\r\n const container = this.scrollContainer\r\n if (container && container === document.body) {\r\n // In chrome61 `document.body.scrollTop` is invalid\r\n const scrollNode = document.scrollingElement ? document.scrollingElement : document.body\r\n return scrollNode.scrollTop <= 0\r\n }\r\n return ele.scrollTop <= 0\r\n }\r\n\r\n damping = (dy: number) => {\r\n if (Math.abs(this._lastScreenY) > this.props.damping) {\r\n return 0\r\n }\r\n\r\n const ratio = Math.abs(this._ScreenY - this._startScreenY) / window.screen.height\r\n dy *= (1 - ratio) * 0.6\r\n\r\n return dy\r\n }\r\n\r\n onTouchMove = (ele: HTMLElement, e: TouchEvent) => {\r\n // 使用 pageY 对比有问题\r\n const _screenY = e.touches[0].screenY\r\n\r\n // 拖动方向不符合的不处理\r\n if (this._startScreenY > _screenY) {\r\n return\r\n }\r\n\r\n if (this.isEdge(ele)) {\r\n if (!this.state.dragOnEdge) {\r\n // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义\r\n // 下面这行代码解决了上面这个问题\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n this.setState({ dragOnEdge: true })\r\n }\r\n if (e.cancelable) {\r\n e.preventDefault()\r\n }\r\n // add stopPropagation with fastclick will trigger content onClick event. why?\r\n // ref https://github.com/ant-design/ant-design-mobile/issues/2141\r\n // e.stopPropagation();\r\n\r\n const _diff = Math.round(_screenY - this._ScreenY)\r\n this._ScreenY = _screenY\r\n this._lastScreenY += this.damping(_diff)\r\n\r\n this.setContentStyle(this._lastScreenY)\r\n\r\n if (Math.abs(this._lastScreenY) < this.props.distanceToRefresh) {\r\n if (this.state.currSt !== PullDownState.deactivate) {\r\n // console.log('back to the distance');\r\n this.setState({ currSt: PullDownState.deactivate })\r\n }\r\n } else {\r\n if (this.state.currSt === PullDownState.deactivate) {\r\n // console.log('reach to the distance');\r\n this.setState({ currSt: PullDownState.activate })\r\n }\r\n }\r\n\r\n // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829\r\n // iOS UIWebView issue, It seems no problem in WKWebView\r\n if (isWebView && e.changedTouches[0].clientY < 0) {\r\n this.onTouchEnd()\r\n }\r\n }\r\n }\r\n\r\n onTouchEnd = () => {\r\n if (this.state.dragOnEdge) {\r\n this.setState({ dragOnEdge: false })\r\n }\r\n if (this.state.currSt === PullDownState.activate) {\r\n this.setState({ currSt: PullDownState.release })\r\n this.props.onRefresh?.()\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else if (this.state.currSt === 'release') {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else {\r\n this.reset()\r\n }\r\n }\r\n\r\n reset = () => {\r\n this._lastScreenY = 0\r\n this.setContentStyle(0)\r\n }\r\n\r\n setContentStyle = ty => {\r\n // TODO: Why sometimes do not have `this.contentRef` ?\r\n if (this.contentRef) {\r\n // translate3d 不清理 会影响内部元素定位\r\n if (ty) {\r\n setTransform(this.contentRef.style, `translate3d(0px,${ty}px,0)`)\r\n } else {\r\n setTransform(this.contentRef.style, '')\r\n }\r\n }\r\n }\r\n\r\n render () {\r\n const props: Partial<IProps> & {\r\n children?: React.ReactNode\r\n } = { ...this.props }\r\n delete props.damping\r\n delete props.indicator\r\n delete props.distanceToRefresh\r\n delete props.onRefresh\r\n\r\n const { className, prefixCls, children, ...restProps } = props\r\n\r\n const renderRefresh = (cls: string) => {\r\n const { currSt, dragOnEdge } = this.state\r\n const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`)\r\n const showIndicator = currSt === 'activate' || currSt === 'release'\r\n return (\r\n <div className={`${prefixCls}-content-wrapper`}>\r\n <div\r\n className={cla}\r\n ref={el => {\r\n this.contentRef = el\r\n }}\r\n >\r\n {showIndicator && (\r\n <div className={`${prefixCls}-indicator`}>\r\n <div />\r\n <div />\r\n <div />\r\n </div>\r\n )}\r\n {children}\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (this.scrollContainer) {\r\n return renderRefresh(`${prefixCls}-content ${prefixCls}-down`)\r\n }\r\n return (\r\n <pull-down-refresh\r\n ref={el => {\r\n this.containerRef = el\r\n }}\r\n className={classNames(className, prefixCls, `${prefixCls}-down`)}\r\n {...restProps}\r\n >\r\n {renderRefresh(`${prefixCls}-content`)}\r\n </pull-down-refresh>\r\n )\r\n }\r\n}\r\n\r\nexport default PullDownRefresh\r\n"],"names":["setTransform","nodeStyle","value","transform","webkitTransform","MozTransform","isWebView","navigator","test","userAgent","PullDownState","INDICATOR","supportsPassive","opts","Object","defineProperty","get","window","addEventListener","e","willPreventDefault","passive","PullDownRefresh","state","currSt","deactivate","dragOnEdge","_ScreenY","_startScreenY","_lastScreenY","_isMounted","listeners","triggerPullDownRefresh","flag","props","distanceToRefresh","setState","release","setContentStyle","finish","reset","init","ele","scrollContainer","_to","touchstart","onTouchStart","bind","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","destroy","removeEventListener","_","touches","screenY","isEdge","container","document","body","scrollNode","scrollingElement","scrollTop","damping","dy","Math","abs","ratio","screen","height","_screenY","cancelable","preventDefault","_diff","round","activate","changedTouches","clientY","_b","onRefresh","ty","contentRef","style","_a","parentElement","closest","querySelector","successHandler","errorHandler","errMsg","evtName","callback","Taro","eventCenter","on","off","prevState","pageEl","__page","onPullDownRefresh","call","_d","_c","onPullIntercept","assign","indicator","className","prefixCls","children","restProps","__rest","renderRefresh","cls","cla","classNames","showIndicator","React","createElement","ref","el","containerRef","Component","defaultProps"],"mappings":"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"}
@@ -10329,7 +10329,8 @@ var Swiper = /*#__PURE__*/function (_React$Component2) {
10329
10329
  current: this.realIndex
10330
10330
  }
10331
10331
  });
10332
- } catch (err) {}
10332
+ } catch (err) {} // eslint-disable-line no-empty
10333
+
10333
10334
 
10334
10335
  that._$current = this.realIndex;
10335
10336
  that.handleOnChange(e);
@@ -10350,7 +10351,8 @@ var Swiper = /*#__PURE__*/function (_React$Component2) {
10350
10351
  } else if (this.mySwiper.isEnd) {
10351
10352
  this.mySwiper.slideToLoop(0, 0);
10352
10353
  }
10353
- } catch (err) {}
10354
+ } catch (err) {} // eslint-disable-line no-empty
10355
+
10354
10356
 
10355
10357
  that.handleOnAnimationFinish(e);
10356
10358
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/swiper/index.tsx"],"sourcesContent":["import 'swiper/swiper-bundle.min.css'\nimport 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\nimport type ISwiper from 'swiper'\nimport Swipers from 'swiper/swiper-bundle.esm.js'\n\nimport { debounce } from '../../utils'\n\nlet INSTANCE_ID = 0\n\ninterface SwiperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n itemId: string\n}\n\ninterface SwiperProps extends React.HTMLAttributes<HTMLDivElement> {\n autoplay?: boolean\n interval?: number\n duration?: number\n current?: number\n displayMultipleItems?: number\n circular?: boolean\n vertical?: boolean\n spaceBetween?: any\n previousMargin?: string\n nextMargin?: string\n indicatorColor?: string\n indicatorActiveColor?: string\n indicatorDots?: boolean\n onAnimationFinish?: (e: TouchEvent) => void\n}\n\nconst createEvent = (type: string) => {\n let e\n try {\n e = new TouchEvent(type)\n } catch (err) {\n e = document.createEvent('Event')\n e.initEvent(type, true, true)\n }\n return e\n}\n\nclass SwiperItem extends React.Component<SwiperItemProps, Record<string, unknown>> {\n render () {\n const { className, style, itemId, children, ...restProps } = this.props\n const cls = classNames('swiper-slide', className)\n return (\n <div\n className={cls}\n style={style}\n item-id={itemId}\n {...restProps}\n >\n {children}\n </div>\n )\n }\n}\n\nclass Swiper extends React.Component<SwiperProps, Record<string, unknown>> {\n _id = 1 + INSTANCE_ID++\n _$current = 0\n _$width = 0\n _$height = 0\n $el: HTMLDivElement | null\n mySwiper: ISwiper\n observer: MutationObserver\n observerFirst: MutationObserver\n observerLast: MutationObserver\n\n componentDidMount () {\n const {\n autoplay = false,\n circular = true,\n current = 0,\n displayMultipleItems = 1,\n duration = 500,\n interval = 5000,\n spaceBetween,\n vertical\n } = this.props\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this\n const opt: Record<string, any> = {\n // 指示器\n pagination: { el: `.taro-swiper-${this._id} > .swiper-container > .swiper-pagination` },\n direction: vertical ? 'vertical' : 'horizontal',\n loop: circular,\n slidesPerView: parseFloat(String(displayMultipleItems)),\n initialSlide: parseInt(String(current), 10),\n speed: parseInt(String(duration), 10),\n observer: true,\n observeParents: true,\n on: {\n slideChange () {\n const e = createEvent('touchend')\n try {\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n value: {\n current: this.realIndex\n }\n })\n } catch (err) {}\n that._$current = this.realIndex\n that.handleOnChange(e)\n },\n transitionEnd () {\n const e = createEvent('touchend')\n try {\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n value: {\n current: this.mySwiper.realIndex\n }\n })\n if (this.mySwiper.isBeginning) {\n this.mySwiper.slideToLoop((this.props.children as any).length - 1, 0)\n } else if (this.mySwiper.isEnd) {\n this.mySwiper.slideToLoop(0, 0)\n }\n } catch (err) {}\n that.handleOnAnimationFinish(e)\n },\n observerUpdate (_swiper: ISwiper, e) {\n const target = e.target\n const className = target && typeof target.className === 'string' ? target.className : ''\n if (className.includes('taro_page') && target.style.display !== 'none') {\n if (that.props.autoplay && target.contains(_swiper.$el[0])) {\n if (that.props.circular) {\n _swiper.slideToLoop(this.realIndex, 0) // 更新下标\n } else {\n _swiper.slideTo(this.realIndex)\n }\n }\n }\n }\n }\n }\n\n // 自动播放\n if (autoplay) {\n opt.autoplay = {\n delay: parseInt(String(interval), 10),\n disableOnInteraction: false\n }\n }\n\n // 两端距离\n if (spaceBetween) {\n opt.spaceBetween = spaceBetween\n }\n\n this.mySwiper = new Swipers(this.$el!, opt)\n setTimeout(() => {\n this.mySwiper.update()\n }, 500)\n\n if (!this.mySwiper || !this.props.circular) return\n\n const wrapper = this.mySwiper.$wrapperEl[0]\n this.observer = new MutationObserver(this.handleSwiperLoopListen)\n\n this.observer.observe(wrapper, {\n childList: true\n })\n }\n\n UNSAFE_componentWillReceiveProps (nextProps) {\n if (this.mySwiper) {\n const nextCurrent = typeof nextProps.current === 'number' ? nextProps.current : this._$current || 0\n\n this.handleSwiperLoop()\n // 是否衔接滚动模式\n if (nextProps.circular) {\n if (!this.mySwiper.isBeginning && !this.mySwiper.isEnd) {\n this.mySwiper.slideToLoop(parseInt(nextCurrent, 10)) // 更新下标\n }\n } else {\n this.mySwiper.slideTo(parseInt(nextCurrent, 10) + 1) // 更新下标\n }\n\n const autoplay = this.mySwiper.autoplay\n // 判断是否需要停止或开始自动轮播\n if (autoplay.running !== nextProps.autoplay) {\n if (nextProps.autoplay) {\n if (typeof this.mySwiper.params.autoplay === 'object') {\n this.mySwiper.params.autoplay.disableOnInteraction = false\n this.mySwiper.params.autoplay.delay = parseInt(String(this.props.interval) || '3000', 10)\n }\n autoplay.start()\n } else {\n autoplay.stop()\n }\n }\n\n this.mySwiper.update() // 更新子元素\n }\n }\n\n componentDidUpdate (preProps) {\n if (preProps.children.length === 0 && (this.props.children as any).length > 0) {\n (this.mySwiper as any).loopDestroy()\n ;(this.mySwiper as any).loopCreate()\n }\n if (!this.mySwiper) return\n if (this.props.autoplay) {\n if (this._$width !== this.mySwiper.width || this._$height !== this.mySwiper.height) {\n this.mySwiper.autoplay.start()\n }\n }\n this._$width = this.mySwiper.width\n this._$height = this.mySwiper.height\n }\n\n componentWillUnmount () {\n this.$el = null\n if (this.mySwiper) this.mySwiper.destroy()\n this.observer?.disconnect?.()\n this.observerFirst?.disconnect?.()\n this.observerLast?.disconnect?.()\n }\n\n handleOnChange (e: React.FormEvent<HTMLDivElement>) {\n const func = this.props.onChange\n typeof func === 'function' && func(e)\n }\n\n handleOnAnimationFinish (e: TouchEvent) {\n const func = this.props.onAnimationFinish\n typeof func === 'function' && func(e)\n }\n\n parsePX (s = '0px') {\n return parseFloat(s.replace(/r*px/i, ''))\n }\n\n handleSwiperLoopListen = () => {\n this.observerFirst?.disconnect?.()\n this.observerLast?.disconnect?.()\n this.observerFirst = new MutationObserver(this.handleSwiperLoop)\n this.observerLast = new MutationObserver(this.handleSwiperLoop)\n const wrapper = this.mySwiper.$wrapperEl[0]\n const list = wrapper.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)')\n if (list.length >= 1) {\n this.observerFirst.observe(list[0], {\n characterData: true\n })\n } else if (list.length >= 2) {\n this.observerLast.observe(list[list.length - 1], {\n characterData: true\n })\n }\n }\n\n handleSwiperLoop = debounce(() => {\n if (this.mySwiper && this.mySwiper.$wrapperEl && this.props.circular) {\n // @ts-ignore\n this.mySwiper.loopDestroy()\n // @ts-ignore\n this.mySwiper.loopCreate()\n }\n }, 500)\n\n render () {\n const {\n className,\n style,\n vertical,\n previousMargin,\n nextMargin,\n indicatorColor,\n indicatorActiveColor\n } = this.props\n const defaultIndicatorColor = indicatorColor || 'rgba(0, 0, 0, .3)'\n const defaultIndicatorActiveColor = indicatorActiveColor || '#000'\n const cls = classNames(`taro-swiper-${this._id}`, className)\n const sty = Object.assign({\n paddingTop: vertical ? this.parsePX(previousMargin) : 0,\n paddingRight: vertical ? 0 : this.parsePX(nextMargin),\n paddingBottom: vertical ? this.parsePX(nextMargin) : 0,\n paddingLeft: vertical ? 0 : this.parsePX(previousMargin),\n overflow: 'hidden'\n }, style)\n const paginationCls = classNames(\n 'swiper-pagination',\n {\n 'swiper-pagination-hidden': !this.props.indicatorDots,\n 'swiper-pagination-bullets': this.props.indicatorDots\n }\n )\n return (\n <div className={`swiper-container-wrapper ${cls}`} style={sty}>\n <div className='swiper-container' style={{ overflow: 'visible' }} ref={(el) => { this.$el = el }}>\n <div\n dangerouslySetInnerHTML={{\n __html: `<style type='text/css'>\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet { background: ${defaultIndicatorColor} }\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet-active { background: ${defaultIndicatorActiveColor} }\n </style>`\n }}\n />\n <div className='swiper-wrapper'>{this.props.children}</div>\n <div className={paginationCls} />\n </div>\n </div>\n )\n }\n}\n\nexport { Swiper, SwiperItem }\n"],"names":["INSTANCE_ID","createEvent","type","e","TouchEvent","err","document","initEvent","SwiperItem","_a","props","className","style","itemId","children","restProps","__rest","cls","classNames","React","createElement","Object","assign","Component","Swiper","_id","_$current","_$width","_$height","handleSwiperLoopListen","_b","observerFirst","disconnect","_d","observerLast","_c","MutationObserver","handleSwiperLoop","wrapper","mySwiper","$wrapperEl","list","querySelectorAll","length","observe","characterData","debounce","circular","loopDestroy","loopCreate","autoplay","current","displayMultipleItems","duration","interval","spaceBetween","vertical","that","opt","pagination","el","direction","loop","slidesPerView","parseFloat","String","initialSlide","parseInt","speed","observer","observeParents","on","slideChange","defineProperty","enumerable","value","realIndex","handleOnChange","transitionEnd","isBeginning","slideToLoop","isEnd","handleOnAnimationFinish","observerUpdate","_swiper","target","includes","display","contains","$el","slideTo","delay","disableOnInteraction","Swipers","setTimeout","update","childList","nextProps","nextCurrent","running","params","start","stop","preProps","width","height","destroy","_f","_e","func","onChange","onAnimationFinish","s","replace","previousMargin","nextMargin","indicatorColor","indicatorActiveColor","defaultIndicatorColor","defaultIndicatorActiveColor","sty","paddingTop","parsePX","paddingRight","paddingBottom","paddingLeft","overflow","paginationCls","indicatorDots","ref","dangerouslySetInnerHTML","__html"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/swiper/index.tsx"],"sourcesContent":["import 'swiper/swiper-bundle.min.css'\nimport 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\nimport Swipers from 'swiper/swiper-bundle.esm.js'\n\nimport { debounce } from '../../utils'\n\nimport type ISwiper from 'swiper'\n\nlet INSTANCE_ID = 0\n\ninterface SwiperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n itemId: string\n}\n\ninterface SwiperProps extends React.HTMLAttributes<HTMLDivElement> {\n autoplay?: boolean\n interval?: number\n duration?: number\n current?: number\n displayMultipleItems?: number\n circular?: boolean\n vertical?: boolean\n spaceBetween?: any\n previousMargin?: string\n nextMargin?: string\n indicatorColor?: string\n indicatorActiveColor?: string\n indicatorDots?: boolean\n onAnimationFinish?: (e: TouchEvent) => void\n}\n\nconst createEvent = (type: string) => {\n let e\n try {\n e = new TouchEvent(type)\n } catch (err) {\n e = document.createEvent('Event')\n e.initEvent(type, true, true)\n }\n return e\n}\n\nclass SwiperItem extends React.Component<SwiperItemProps, Record<string, unknown>> {\n render () {\n const { className, style, itemId, children, ...restProps } = this.props\n const cls = classNames('swiper-slide', className)\n return (\n <div\n className={cls}\n style={style}\n item-id={itemId}\n {...restProps}\n >\n {children}\n </div>\n )\n }\n}\n\nclass Swiper extends React.Component<SwiperProps, Record<string, unknown>> {\n _id = 1 + INSTANCE_ID++\n _$current = 0\n _$width = 0\n _$height = 0\n $el: HTMLDivElement | null\n mySwiper: ISwiper\n observer: MutationObserver\n observerFirst: MutationObserver\n observerLast: MutationObserver\n\n componentDidMount () {\n const {\n autoplay = false,\n circular = true,\n current = 0,\n displayMultipleItems = 1,\n duration = 500,\n interval = 5000,\n spaceBetween,\n vertical\n } = this.props\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this\n const opt: Record<string, any> = {\n // 指示器\n pagination: { el: `.taro-swiper-${this._id} > .swiper-container > .swiper-pagination` },\n direction: vertical ? 'vertical' : 'horizontal',\n loop: circular,\n slidesPerView: parseFloat(String(displayMultipleItems)),\n initialSlide: parseInt(String(current), 10),\n speed: parseInt(String(duration), 10),\n observer: true,\n observeParents: true,\n on: {\n slideChange () {\n const e = createEvent('touchend')\n try {\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n value: {\n current: this.realIndex\n }\n })\n } catch (err) {} // eslint-disable-line no-empty\n that._$current = this.realIndex\n that.handleOnChange(e)\n },\n transitionEnd () {\n const e = createEvent('touchend')\n try {\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n value: {\n current: this.mySwiper.realIndex\n }\n })\n if (this.mySwiper.isBeginning) {\n this.mySwiper.slideToLoop((this.props.children as any).length - 1, 0)\n } else if (this.mySwiper.isEnd) {\n this.mySwiper.slideToLoop(0, 0)\n }\n } catch (err) {} // eslint-disable-line no-empty\n that.handleOnAnimationFinish(e)\n },\n observerUpdate (_swiper: ISwiper, e) {\n const target = e.target\n const className = target && typeof target.className === 'string' ? target.className : ''\n if (className.includes('taro_page') && target.style.display !== 'none') {\n if (that.props.autoplay && target.contains(_swiper.$el[0])) {\n if (that.props.circular) {\n _swiper.slideToLoop(this.realIndex, 0) // 更新下标\n } else {\n _swiper.slideTo(this.realIndex)\n }\n }\n }\n }\n }\n }\n\n // 自动播放\n if (autoplay) {\n opt.autoplay = {\n delay: parseInt(String(interval), 10),\n disableOnInteraction: false\n }\n }\n\n // 两端距离\n if (spaceBetween) {\n opt.spaceBetween = spaceBetween\n }\n\n this.mySwiper = new Swipers(this.$el!, opt)\n setTimeout(() => {\n this.mySwiper.update()\n }, 500)\n\n if (!this.mySwiper || !this.props.circular) return\n\n const wrapper = this.mySwiper.$wrapperEl[0]\n this.observer = new MutationObserver(this.handleSwiperLoopListen)\n\n this.observer.observe(wrapper, {\n childList: true\n })\n }\n\n UNSAFE_componentWillReceiveProps (nextProps) {\n if (this.mySwiper) {\n const nextCurrent = typeof nextProps.current === 'number' ? nextProps.current : this._$current || 0\n\n this.handleSwiperLoop()\n // 是否衔接滚动模式\n if (nextProps.circular) {\n if (!this.mySwiper.isBeginning && !this.mySwiper.isEnd) {\n this.mySwiper.slideToLoop(parseInt(nextCurrent, 10)) // 更新下标\n }\n } else {\n this.mySwiper.slideTo(parseInt(nextCurrent, 10) + 1) // 更新下标\n }\n\n const autoplay = this.mySwiper.autoplay\n // 判断是否需要停止或开始自动轮播\n if (autoplay.running !== nextProps.autoplay) {\n if (nextProps.autoplay) {\n if (typeof this.mySwiper.params.autoplay === 'object') {\n this.mySwiper.params.autoplay.disableOnInteraction = false\n this.mySwiper.params.autoplay.delay = parseInt(String(this.props.interval) || '3000', 10)\n }\n autoplay.start()\n } else {\n autoplay.stop()\n }\n }\n\n this.mySwiper.update() // 更新子元素\n }\n }\n\n componentDidUpdate (preProps) {\n if (preProps.children.length === 0 && (this.props.children as any).length > 0) {\n (this.mySwiper as any).loopDestroy()\n ;(this.mySwiper as any).loopCreate()\n }\n if (!this.mySwiper) return\n if (this.props.autoplay) {\n if (this._$width !== this.mySwiper.width || this._$height !== this.mySwiper.height) {\n this.mySwiper.autoplay.start()\n }\n }\n this._$width = this.mySwiper.width\n this._$height = this.mySwiper.height\n }\n\n componentWillUnmount () {\n this.$el = null\n if (this.mySwiper) this.mySwiper.destroy()\n this.observer?.disconnect?.()\n this.observerFirst?.disconnect?.()\n this.observerLast?.disconnect?.()\n }\n\n handleOnChange (e: React.FormEvent<HTMLDivElement>) {\n const func = this.props.onChange\n typeof func === 'function' && func(e)\n }\n\n handleOnAnimationFinish (e: TouchEvent) {\n const func = this.props.onAnimationFinish\n typeof func === 'function' && func(e)\n }\n\n parsePX (s = '0px') {\n return parseFloat(s.replace(/r*px/i, ''))\n }\n\n handleSwiperLoopListen = () => {\n this.observerFirst?.disconnect?.()\n this.observerLast?.disconnect?.()\n this.observerFirst = new MutationObserver(this.handleSwiperLoop)\n this.observerLast = new MutationObserver(this.handleSwiperLoop)\n const wrapper = this.mySwiper.$wrapperEl[0]\n const list = wrapper.querySelectorAll('taro-swiper-item-core:not(.swiper-slide-duplicate)')\n if (list.length >= 1) {\n this.observerFirst.observe(list[0], {\n characterData: true\n })\n } else if (list.length >= 2) {\n this.observerLast.observe(list[list.length - 1], {\n characterData: true\n })\n }\n }\n\n handleSwiperLoop = debounce(() => {\n if (this.mySwiper && this.mySwiper.$wrapperEl && this.props.circular) {\n // @ts-ignore\n this.mySwiper.loopDestroy()\n // @ts-ignore\n this.mySwiper.loopCreate()\n }\n }, 500)\n\n render () {\n const {\n className,\n style,\n vertical,\n previousMargin,\n nextMargin,\n indicatorColor,\n indicatorActiveColor\n } = this.props\n const defaultIndicatorColor = indicatorColor || 'rgba(0, 0, 0, .3)'\n const defaultIndicatorActiveColor = indicatorActiveColor || '#000'\n const cls = classNames(`taro-swiper-${this._id}`, className)\n const sty = Object.assign({\n paddingTop: vertical ? this.parsePX(previousMargin) : 0,\n paddingRight: vertical ? 0 : this.parsePX(nextMargin),\n paddingBottom: vertical ? this.parsePX(nextMargin) : 0,\n paddingLeft: vertical ? 0 : this.parsePX(previousMargin),\n overflow: 'hidden'\n }, style)\n const paginationCls = classNames(\n 'swiper-pagination',\n {\n 'swiper-pagination-hidden': !this.props.indicatorDots,\n 'swiper-pagination-bullets': this.props.indicatorDots\n }\n )\n return (\n <div className={`swiper-container-wrapper ${cls}`} style={sty}>\n <div className='swiper-container' style={{ overflow: 'visible' }} ref={(el) => { this.$el = el }}>\n <div\n dangerouslySetInnerHTML={{\n __html: `<style type='text/css'>\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet { background: ${defaultIndicatorColor} }\n .taro-swiper-${this._id} > .swiper-container > .swiper-pagination > .swiper-pagination-bullet-active { background: ${defaultIndicatorActiveColor} }\n </style>`\n }}\n />\n <div className='swiper-wrapper'>{this.props.children}</div>\n <div className={paginationCls} />\n </div>\n </div>\n )\n }\n}\n\nexport { Swiper, SwiperItem }\n"],"names":["INSTANCE_ID","createEvent","type","e","TouchEvent","err","document","initEvent","SwiperItem","_a","props","className","style","itemId","children","restProps","__rest","cls","classNames","React","createElement","Object","assign","Component","Swiper","_id","_$current","_$width","_$height","handleSwiperLoopListen","_b","observerFirst","disconnect","_d","observerLast","_c","MutationObserver","handleSwiperLoop","wrapper","mySwiper","$wrapperEl","list","querySelectorAll","length","observe","characterData","debounce","circular","loopDestroy","loopCreate","autoplay","current","displayMultipleItems","duration","interval","spaceBetween","vertical","that","opt","pagination","el","direction","loop","slidesPerView","parseFloat","String","initialSlide","parseInt","speed","observer","observeParents","on","slideChange","defineProperty","enumerable","value","realIndex","handleOnChange","transitionEnd","isBeginning","slideToLoop","isEnd","handleOnAnimationFinish","observerUpdate","_swiper","target","includes","display","contains","$el","slideTo","delay","disableOnInteraction","Swipers","setTimeout","update","childList","nextProps","nextCurrent","running","params","start","stop","preProps","width","height","destroy","_f","_e","func","onChange","onAnimationFinish","s","replace","previousMargin","nextMargin","indicatorColor","indicatorActiveColor","defaultIndicatorColor","defaultIndicatorActiveColor","sty","paddingTop","parsePX","paddingRight","paddingBottom","paddingLeft","overflow","paginationCls","indicatorDots","ref","dangerouslySetInnerHTML","__html"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/components-react",
3
- "version": "3.5.5",
3
+ "version": "3.5.6",
4
4
  "description": "",
5
5
  "main:h5": "src/index.js",
6
6
  "main": "dist/index.js",