@tarojs/components-react 3.3.12 → 3.3.16

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.
@@ -11,7 +11,7 @@ import { s as styleInject, c as classNames } from '../index.js';
11
11
  import React from 'react';
12
12
  import '@babel/runtime/helpers/typeof';
13
13
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
14
- import Taro from '@tarojs/taro-h5';
14
+ import Taro from '@tarojs/taro';
15
15
 
16
16
  var css_248z = ".rmc-pull-to-refresh-content {\r\n transform-origin: left top 0px;\r\n}\r\n.rmc-pull-to-refresh-content-wrapper {\r\n overflow: hidden;\r\n}\r\n\r\n.rmc-pull-to-refresh-transition {\r\n transition: transform 0.3s;\r\n}\r\n\r\n\r\n@keyframes rmc-pull-to-refresh-indicator {\r\n 50% {\r\n opacity: 0.2;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator {\r\n text-align: center;\r\n height: 30px;\r\n line-height: 10px;\r\n}\r\n\r\n.rmc-pull-to-refresh-indicator > div {\r\n background-color: grey;\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 100%;\r\n margin: 3px;\r\n animation-fill-mode: both;\r\n display: inline-block;\r\n animation: rmc-pull-to-refresh-indicator 0.5s 0s infinite linear;\r\n}\r\n.rmc-pull-to-refresh-indicator > div:nth-child(0) {\r\n animation-delay: -0.1s !important;\r\n}\r\n.rmc-pull-to-refresh-indicator > div:nth-child(1) {\r\n animation-delay: -0.2s !important;\r\n}\r\n.rmc-pull-to-refresh-indicator > div:nth-child(2) {\r\n animation-delay: -0.3s !important;\r\n}\r\n.rmc-pull-to-refresh-down .rmc-pull-to-refresh-indicator {\r\n margin-top: -25px;\r\n}\r\n";
17
17
  styleInject(css_248z,{"insertAt":"top"});
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/pull-down-refresh/index.tsx"],"sourcesContent":["import React from 'react'\r\nimport classNames from 'classnames'\r\nimport Taro from '@tarojs/taro-h5'\r\n\r\nimport './style/index.css'\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 = typeof navigator !== 'undefined' &&\r\n /(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 {\r\n className?: string\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 document.querySelector('.taro-tabbar__panel') || document.body\r\n }\r\n\r\n componentDidMount () {\r\n this.init()\r\n this._isMounted = true\r\n this.listeners = [\r\n ['__taroStartPullDownRefresh', ({ 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 ['__taroStopPullDownRefresh', ({ 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 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 && this.state.currSt === PullDownState.release) {\r\n const pageEl: any = this.contentRef?.closest('.taro_page')\r\n if (pageEl?.__page) {\r\n pageEl.__page?.onPullDownRefresh()\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 // todos: 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: Optional<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 {\r\n className,\r\n prefixCls,\r\n children,\r\n ...restProps\r\n } = 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 {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","currSt","deactivate","dragOnEdge","flag","state","_isMounted","_lastScreenY","props","distanceToRefresh","setState","release","setContentStyle","finish","reset","ele","scrollContainer","_to","touchstart","onTouchStart","bind","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","removeEventListener","_","_ScreenY","_startScreenY","touches","screenY","container","document","body","scrollNode","scrollingElement","scrollTop","dy","Math","abs","damping","ratio","screen","height","_screenY","isEdge","cancelable","preventDefault","_diff","round","activate","changedTouches","clientY","onRefresh","ty","contentRef","style","querySelector","init","listeners","successHandler","errorHandler","triggerPullDownRefresh","errMsg","evtName","callback","Taro","eventCenter","on","destroy","off","prevState","pageEl","closest","__page","onPullDownRefresh","indicator","className","prefixCls","children","restProps","renderRefresh","cls","cla","classNames","showIndicator","React","ref","el","containerRef","Component"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/pull-down-refresh/index.tsx"],"sourcesContent":["import React from 'react'\r\nimport classNames from 'classnames'\r\nimport Taro from '@tarojs/taro'\r\n\r\nimport './style/index.css'\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 = typeof navigator !== 'undefined' &&\r\n /(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 {\r\n className?: string\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 document.querySelector('.taro-tabbar__panel') || document.body\r\n }\r\n\r\n componentDidMount () {\r\n this.init()\r\n this._isMounted = true\r\n this.listeners = [\r\n ['__taroStartPullDownRefresh', ({ 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 ['__taroStopPullDownRefresh', ({ 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 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 && this.state.currSt === PullDownState.release) {\r\n const pageEl: any = this.contentRef?.closest('.taro_page')\r\n if (pageEl?.__page) {\r\n pageEl.__page?.onPullDownRefresh()\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 // todos: 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 {\r\n className,\r\n prefixCls,\r\n children,\r\n ...restProps\r\n } = 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 {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","currSt","deactivate","dragOnEdge","flag","state","_isMounted","_lastScreenY","props","distanceToRefresh","setState","release","setContentStyle","finish","reset","ele","scrollContainer","_to","touchstart","onTouchStart","bind","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","removeEventListener","_","_ScreenY","_startScreenY","touches","screenY","container","document","body","scrollNode","scrollingElement","scrollTop","dy","Math","abs","damping","ratio","screen","height","_screenY","isEdge","cancelable","preventDefault","_diff","round","activate","changedTouches","clientY","onRefresh","ty","contentRef","style","querySelector","init","listeners","successHandler","errorHandler","triggerPullDownRefresh","errMsg","evtName","callback","Taro","eventCenter","on","destroy","off","prevState","pageEl","closest","__page","onPullDownRefresh","indicator","className","prefixCls","children","restProps","renderRefresh","cls","cla","classNames","showIndicator","React","ref","el","containerRef","Component"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/components-react",
3
- "version": "3.3.12",
3
+ "version": "3.3.16",
4
4
  "description": "",
5
5
  "main:h5": "src/index.js",
6
6
  "main": "dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "license": "MIT",
25
25
  "dependencies": {
26
26
  "@babel/runtime": "^7.13.10",
27
- "@tarojs/taro": "3.3.12",
28
- "@tarojs/taro-h5": "3.3.12",
27
+ "@tarojs/taro": "3.3.16",
28
+ "@tarojs/taro-h5": "3.3.16",
29
29
  "better-scroll": "^1.14.1",
30
30
  "classnames": "^2.2.5",
31
31
  "intersection-observer": "^0.7.0",
@@ -33,5 +33,5 @@
33
33
  "swiper": "6.8.0",
34
34
  "weui": "^1.1.2"
35
35
  },
36
- "gitHead": "0d7650ee4263efafacd87b9c8b69bb29b2a852c0"
36
+ "gitHead": "75d3de695c98fab79998612ef87567a68ea981a7"
37
37
  }