@tarojs/components-react 3.7.0-alpha.2 → 3.7.0-alpha.22
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.
- package/dist/components/image/index.js.map +1 -1
- package/dist/components/pull-down-refresh/index.js.map +1 -1
- package/dist/components/scroll-view/index.js +11 -6
- package/dist/components/scroll-view/index.js.map +1 -1
- package/dist/components/swiper/index.js.map +1 -1
- package/dist/components/text/index.js.map +1 -1
- package/dist/components/view/index.js.map +1 -1
- package/dist/node_modules/.pnpm/registry.npmjs.org_tslib@2.5.0/node_modules/tslib/tslib.es6.js +1 -3
- package/dist/node_modules/.pnpm/registry.npmjs.org_tslib@2.5.0/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +6 -6
- package/types/index.d.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nrequire('intersection-observer')\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nclass Image extends React.Component<IProps> {\n constructor (props) {\n super(props)\n this.state = {\n isLoaded: false\n }\n this.imageOnLoad = this.imageOnLoad.bind(this)\n // this.observer = {}\n }\n\n observer: any = {}\n imgRef: any = null\n\n componentDidMount () {\n if (this.props.lazyLoad) {\n this.observer = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n this.setState({ isLoaded: true }, () => {\n // findDOMNode(this).children[0].src = this.props.src\n this.imgRef.src = this.props.src\n })\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n this.observer.observe(this.imgRef)\n }\n }\n\n componentWillUnmount () {\n this.observer.disconnect && this.observer.disconnect()\n }\n\n imageOnLoad (e) {\n const { onLoad } = this.props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }\n\n render () {\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = this.props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n data-src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n }\n}\n\nexport default Image\n"],"names":["require","Image","props","observer","imgRef","state","isLoaded","imageOnLoad","bind","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nrequire('intersection-observer')\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nclass Image extends React.Component<IProps> {\n constructor (props) {\n super(props)\n this.state = {\n isLoaded: false\n }\n this.imageOnLoad = this.imageOnLoad.bind(this)\n // this.observer = {}\n }\n\n observer: any = {}\n imgRef: any = null\n\n componentDidMount () {\n if (this.props.lazyLoad) {\n this.observer = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n this.setState({ isLoaded: true }, () => {\n // findDOMNode(this).children[0].src = this.props.src\n this.imgRef.src = this.props.src\n })\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n this.observer.observe(this.imgRef)\n }\n }\n\n componentWillUnmount () {\n this.observer.disconnect && this.observer.disconnect()\n }\n\n imageOnLoad (e) {\n const { onLoad } = this.props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }\n\n render () {\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = this.props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n data-src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n }\n}\n\nexport default Image\n"],"names":["require","Image","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","observer","imgRef","state","isLoaded","imageOnLoad","bind","_assertThisInitialized","_createClass","key","value","componentDidMount","_this2","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","componentWillUnmount","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","width","target","height","render","_this3","_a","className","_a$style","style","mode","onError","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","React","createElement","assign","ref","img","Component"],"mappings":"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"}
|
|
@@ -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) {} // 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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"}
|
|
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","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","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","_assertThisInitialized","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","concat","_createClass","_a","parentElement","closest","querySelector","componentDidMount","_this2","_ref","successHandler","errorHandler","errMsg","_ref2","_ref3","_ref4","_slicedToArray","evtName","callback","Taro","eventCenter","on","componentWillUnmount","_ref5","_ref6","off","componentDidUpdate","prevState","pageEl","__page","onPullDownRefresh","call","_d","_c","onPullIntercept","render","_this3","assign","indicator","className","prefixCls","children","restProps","__rest","renderRefresh","cls","_this3$state","cla","classNames","showIndicator","React","createElement","ref","el","containerRef","Component","defaultProps"],"mappings":"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"}
|
|
@@ -32,12 +32,16 @@ function easeOutScroll() {
|
|
|
32
32
|
}
|
|
33
33
|
step();
|
|
34
34
|
}
|
|
35
|
-
function scrollIntoView(
|
|
35
|
+
function scrollIntoView() {
|
|
36
|
+
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
37
|
+
var isHorizontal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
38
|
+
var animated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
39
|
+
var scrollIntoViewAlignment = arguments.length > 3 ? arguments[3] : undefined;
|
|
36
40
|
var _a;
|
|
37
41
|
(_a = document.querySelector("#".concat(id))) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
|
|
38
|
-
behavior: 'smooth',
|
|
39
|
-
block: 'center',
|
|
40
|
-
inline: 'start'
|
|
42
|
+
behavior: animated ? 'smooth' : 'auto',
|
|
43
|
+
block: !isHorizontal ? scrollIntoViewAlignment || 'center' : 'center',
|
|
44
|
+
inline: isHorizontal ? scrollIntoViewAlignment || 'start' : 'start'
|
|
41
45
|
});
|
|
42
46
|
}
|
|
43
47
|
function scrollVertical(top, isAnimation) {
|
|
@@ -94,12 +98,13 @@ var ScrollView = /*#__PURE__*/function (_React$Component) {
|
|
|
94
98
|
var isInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
95
99
|
// scrollIntoView
|
|
96
100
|
if (props.scrollIntoView && typeof props.scrollIntoView === 'string' && document && document.querySelector && document.querySelector("#".concat(props.scrollIntoView))) {
|
|
101
|
+
var isHorizontal = props.scrollX && !props.scrollY;
|
|
97
102
|
if (isInit) {
|
|
98
103
|
setTimeout(function () {
|
|
99
|
-
return scrollIntoView(props.scrollIntoView);
|
|
104
|
+
return scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment);
|
|
100
105
|
}, 500);
|
|
101
106
|
} else {
|
|
102
|
-
scrollIntoView(props.scrollIntoView);
|
|
107
|
+
scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment);
|
|
103
108
|
}
|
|
104
109
|
} else {
|
|
105
110
|
var isAnimation = !!props.scrollWithAnimation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/scroll-view/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { throttle } from '../../utils'\n\nfunction easeOutScroll (from = 0, to = 0, callback) {\n if (from === to || typeof from !== 'number') {\n return\n }\n const change = to - from\n const dur = 500\n const sTime = +new Date()\n function linear (t, b, c, d) {\n return (c * t) / d + b\n }\n const isLarger = to >= from\n\n function step () {\n from = linear(+new Date() - sTime, from, change, dur)\n if ((isLarger && from >= to) || (!isLarger && to >= from)) {\n callback(to)\n return\n }\n callback(from)\n requestAnimationFrame(step)\n }\n step()\n}\n\nfunction scrollIntoView (id) {\n document.querySelector(`#${id}`)?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'start'\n })\n}\n\nfunction scrollVertical (top, isAnimation) {\n if (isAnimation) {\n easeOutScroll(this._scrollTop, top, pos => {\n if (this.container) this.container.scrollTop = pos\n })\n } else {\n if (this.container) this.container.scrollTop = top\n }\n this._scrollTop = top\n}\n\nfunction scrollHorizontal (left, isAnimation) {\n if (isAnimation) {\n easeOutScroll(this._scrollLeft, left, pos => {\n if (this.container) this.container.scrollLeft = pos\n })\n } else {\n if (this.container) this.container.scrollLeft = left\n }\n this._scrollLeft = left\n}\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n scrollX: boolean\n scrollY: boolean\n upperThreshold: number\n lowerThreshold: number\n scrollTop: number\n scrollLeft: number\n scrollIntoView?: string\n scrollWithAnimation: boolean\n enableBackToTop?: boolean\n onScrollToUpper: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onScrollToLower: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onScroll: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onTouchMove: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n}\n\nclass ScrollView extends React.Component<IProps> {\n _scrollTop: any = null\n _scrollLeft: any = null\n container: any = null\n\n onTouchMove = e => {\n e.stopPropagation()\n }\n\n componentDidMount () {\n this.handleScroll(this.props, true)\n }\n\n UNSAFE_componentWillReceiveProps (nextProps) {\n this.handleScroll(nextProps)\n }\n\n handleScroll (props, isInit = false) {\n // scrollIntoView\n if (\n props.scrollIntoView &&\n typeof props.scrollIntoView === 'string' &&\n document &&\n document.querySelector &&\n document.querySelector(`#${props.scrollIntoView}`)\n ) {\n if (isInit) {\n setTimeout(() => scrollIntoView(props.scrollIntoView), 500)\n } else {\n scrollIntoView(props.scrollIntoView)\n }\n } else {\n const isAnimation = !!props.scrollWithAnimation\n // Y 轴滚动\n if (props.scrollY && typeof props.scrollTop === 'number' && props.scrollTop !== this._scrollTop) {\n if (isInit) {\n setTimeout(() => scrollVertical.bind(this)(props.scrollTop, isAnimation), 10)\n } else {\n scrollVertical.bind(this)(props.scrollTop, isAnimation)\n }\n }\n // X 轴滚动\n if (props.scrollX && typeof props.scrollLeft === 'number' && props.scrollLeft !== this._scrollLeft) {\n if (isInit) {\n setTimeout(() => scrollHorizontal.bind(this)(props.scrollLeft, isAnimation), 10)\n } else {\n scrollHorizontal.bind(this)(props.scrollLeft, isAnimation)\n }\n }\n }\n }\n\n render () {\n const {\n className,\n style = {},\n onScroll,\n onScrollToUpper,\n onScrollToLower,\n onTouchMove,\n scrollX,\n scrollY\n } = this.props\n let { upperThreshold = 50, lowerThreshold = 50 } = this.props\n const cls = classNames(\n 'taro-scroll',\n {\n 'taro-scroll-view__scroll-x': scrollX,\n 'taro-scroll-view__scroll-y': scrollY\n },\n className\n )\n upperThreshold = Number(upperThreshold)\n lowerThreshold = Number(lowerThreshold)\n const upperAndLower = e => {\n if (!this.container) return\n const { offsetWidth, offsetHeight, scrollLeft, scrollTop, scrollHeight, scrollWidth } = this.container\n if (\n onScrollToLower &&\n ((this.props.scrollY && offsetHeight + scrollTop + lowerThreshold >= scrollHeight) ||\n (this.props.scrollX && offsetWidth + scrollLeft + lowerThreshold >= scrollWidth))\n ) {\n onScrollToLower(e)\n }\n if (\n onScrollToUpper &&\n ((this.props.scrollY && scrollTop <= upperThreshold) || (this.props.scrollX && scrollLeft <= upperThreshold))\n ) {\n onScrollToUpper(e)\n }\n }\n const upperAndLowerThrottle = throttle(upperAndLower, 200)\n const _onScroll = e => {\n const { scrollLeft, scrollTop, scrollHeight, scrollWidth } = this.container\n this._scrollLeft = scrollLeft\n this._scrollTop = scrollTop\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n scrollLeft,\n scrollTop,\n scrollHeight,\n scrollWidth\n }\n })\n upperAndLowerThrottle(e)\n onScroll && onScroll(e)\n }\n const _onTouchMove = e => {\n onTouchMove ? onTouchMove(e) : this.onTouchMove(e)\n }\n return (\n <div\n ref={container => {\n this.container = container\n }}\n style={style}\n className={cls}\n onScroll={_onScroll}\n onTouchMove={_onTouchMove}\n >\n {this.props.children}\n </div>\n )\n }\n}\n\nexport default ScrollView\n"],"names":["easeOutScroll","from","to","callback","change","dur","sTime","Date","linear","t","b","c","d","isLarger","step","requestAnimationFrame","scrollIntoView","id","_a","document","querySelector","behavior","block","inline","scrollVertical","top","isAnimation","_scrollTop","pos","container","scrollTop","scrollHorizontal","left","_scrollLeft","scrollLeft","ScrollView","onTouchMove","e","stopPropagation","handleScroll","props","nextProps","isInit","setTimeout","scrollWithAnimation","scrollY","bind","scrollX","className","style","onScroll","onScrollToUpper","onScrollToLower","upperThreshold","lowerThreshold","cls","classNames","Number","upperAndLower","offsetWidth","offsetHeight","scrollHeight","scrollWidth","upperAndLowerThrottle","throttle","_onScroll","Object","defineProperty","enumerable","writable","value","_onTouchMove","React","createElement","ref","children","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/scroll-view/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { throttle } from '../../utils'\n\nfunction easeOutScroll (from = 0, to = 0, callback) {\n if (from === to || typeof from !== 'number') {\n return\n }\n const change = to - from\n const dur = 500\n const sTime = +new Date()\n function linear (t, b, c, d) {\n return (c * t) / d + b\n }\n const isLarger = to >= from\n\n function step () {\n from = linear(+new Date() - sTime, from, change, dur)\n if ((isLarger && from >= to) || (!isLarger && to >= from)) {\n callback(to)\n return\n }\n callback(from)\n requestAnimationFrame(step)\n }\n step()\n}\n\nfunction scrollIntoView (id = '', isHorizontal = false, animated = true, scrollIntoViewAlignment?: ScrollLogicalPosition) {\n document.querySelector(`#${id}`)?.scrollIntoView({\n behavior: animated ? 'smooth' : 'auto',\n block: !isHorizontal ? (scrollIntoViewAlignment || 'center') : 'center',\n inline: isHorizontal ? (scrollIntoViewAlignment || 'start') : 'start'\n })\n}\n\nfunction scrollVertical (top, isAnimation) {\n if (isAnimation) {\n easeOutScroll(this._scrollTop, top, pos => {\n if (this.container) this.container.scrollTop = pos\n })\n } else {\n if (this.container) this.container.scrollTop = top\n }\n this._scrollTop = top\n}\n\nfunction scrollHorizontal (left, isAnimation) {\n if (isAnimation) {\n easeOutScroll(this._scrollLeft, left, pos => {\n if (this.container) this.container.scrollLeft = pos\n })\n } else {\n if (this.container) this.container.scrollLeft = left\n }\n this._scrollLeft = left\n}\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n scrollX: boolean\n scrollY: boolean\n upperThreshold: number\n lowerThreshold: number\n scrollTop: number\n scrollLeft: number\n scrollIntoView?: string\n scrollIntoViewAlignment?: ScrollLogicalPosition\n scrollWithAnimation: boolean\n enableBackToTop?: boolean\n onScrollToUpper: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onScrollToLower: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onScroll: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n onTouchMove: (e: React.SyntheticEvent<HTMLDivElement, Event>) => void\n}\n\nclass ScrollView extends React.Component<IProps> {\n _scrollTop: any = null\n _scrollLeft: any = null\n container: any = null\n\n onTouchMove = e => {\n e.stopPropagation()\n }\n\n componentDidMount () {\n this.handleScroll(this.props, true)\n }\n\n UNSAFE_componentWillReceiveProps (nextProps) {\n this.handleScroll(nextProps)\n }\n\n handleScroll (props: IProps, isInit = false) {\n // scrollIntoView\n if (\n props.scrollIntoView &&\n typeof props.scrollIntoView === 'string' &&\n document &&\n document.querySelector &&\n document.querySelector(`#${props.scrollIntoView}`)\n ) {\n const isHorizontal = props.scrollX && !props.scrollY\n if (isInit) {\n setTimeout(() => scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment), 500)\n } else {\n scrollIntoView(props.scrollIntoView, props.scrollWithAnimation, isHorizontal, props.scrollIntoViewAlignment)\n }\n } else {\n const isAnimation = !!props.scrollWithAnimation\n // Y 轴滚动\n if (props.scrollY && typeof props.scrollTop === 'number' && props.scrollTop !== this._scrollTop) {\n if (isInit) {\n setTimeout(() => scrollVertical.bind(this)(props.scrollTop, isAnimation), 10)\n } else {\n scrollVertical.bind(this)(props.scrollTop, isAnimation)\n }\n }\n // X 轴滚动\n if (props.scrollX && typeof props.scrollLeft === 'number' && props.scrollLeft !== this._scrollLeft) {\n if (isInit) {\n setTimeout(() => scrollHorizontal.bind(this)(props.scrollLeft, isAnimation), 10)\n } else {\n scrollHorizontal.bind(this)(props.scrollLeft, isAnimation)\n }\n }\n }\n }\n\n render () {\n const {\n className,\n style = {},\n onScroll,\n onScrollToUpper,\n onScrollToLower,\n onTouchMove,\n scrollX,\n scrollY\n } = this.props\n let { upperThreshold = 50, lowerThreshold = 50 } = this.props\n const cls = classNames(\n 'taro-scroll',\n {\n 'taro-scroll-view__scroll-x': scrollX,\n 'taro-scroll-view__scroll-y': scrollY\n },\n className\n )\n upperThreshold = Number(upperThreshold)\n lowerThreshold = Number(lowerThreshold)\n const upperAndLower = e => {\n if (!this.container) return\n const { offsetWidth, offsetHeight, scrollLeft, scrollTop, scrollHeight, scrollWidth } = this.container\n if (\n onScrollToLower &&\n ((this.props.scrollY && offsetHeight + scrollTop + lowerThreshold >= scrollHeight) ||\n (this.props.scrollX && offsetWidth + scrollLeft + lowerThreshold >= scrollWidth))\n ) {\n onScrollToLower(e)\n }\n if (\n onScrollToUpper &&\n ((this.props.scrollY && scrollTop <= upperThreshold) || (this.props.scrollX && scrollLeft <= upperThreshold))\n ) {\n onScrollToUpper(e)\n }\n }\n const upperAndLowerThrottle = throttle(upperAndLower, 200)\n const _onScroll = e => {\n const { scrollLeft, scrollTop, scrollHeight, scrollWidth } = this.container\n this._scrollLeft = scrollLeft\n this._scrollTop = scrollTop\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n scrollLeft,\n scrollTop,\n scrollHeight,\n scrollWidth\n }\n })\n upperAndLowerThrottle(e)\n onScroll && onScroll(e)\n }\n const _onTouchMove = e => {\n onTouchMove ? onTouchMove(e) : this.onTouchMove(e)\n }\n return (\n <div\n ref={container => {\n this.container = container\n }}\n style={style}\n className={cls}\n onScroll={_onScroll}\n onTouchMove={_onTouchMove}\n >\n {this.props.children}\n </div>\n )\n }\n}\n\nexport default ScrollView\n"],"names":["easeOutScroll","from","arguments","length","undefined","to","callback","change","dur","sTime","Date","linear","t","b","c","d","isLarger","step","requestAnimationFrame","scrollIntoView","id","isHorizontal","animated","scrollIntoViewAlignment","_a","document","querySelector","concat","behavior","block","inline","scrollVertical","top","isAnimation","_this","_scrollTop","pos","container","scrollTop","scrollHorizontal","left","_this2","_scrollLeft","scrollLeft","ScrollView","_React$Component","_inherits","_super","_createSuper","_this3","_classCallCheck","onTouchMove","e","stopPropagation","_createClass","key","value","componentDidMount","handleScroll","props","UNSAFE_componentWillReceiveProps","nextProps","_this4","isInit","scrollX","scrollY","setTimeout","scrollWithAnimation","bind","render","_this5","_this$props","className","_this$props$style","style","onScroll","onScrollToUpper","onScrollToLower","_this$props2","_this$props2$upperThr","upperThreshold","_this$props2$lowerThr","lowerThreshold","cls","classNames","Number","upperAndLower","_this5$container","offsetWidth","offsetHeight","scrollHeight","scrollWidth","upperAndLowerThrottle","throttle","_onScroll","_this5$container2","Object","defineProperty","enumerable","writable","_onTouchMove","React","createElement","ref","children","Component"],"mappings":"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"}
|
|
@@ -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 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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"}
|
|
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","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","render","_a","props","className","style","itemId","children","restProps","__rest","cls","classNames","React","createElement","Object","assign","Component","Swiper","_React$Component2","_super2","_this","_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","componentDidMount","_this2","_this$props","_this$props$autoplay","autoplay","_this$props$circular","_this$props$current","current","_this$props$displayMu","displayMultipleItems","_this$props$duration","duration","_this$props$interval","interval","spaceBetween","vertical","that","opt","pagination","el","concat","direction","loop","slidesPerView","parseFloat","String","initialSlide","parseInt","speed","observer","observeParents","on","slideChange","defineProperty","enumerable","realIndex","handleOnChange","transitionEnd","isBeginning","slideToLoop","isEnd","handleOnAnimationFinish","observerUpdate","_swiper","target","includes","display","contains","$el","slideTo","delay","disableOnInteraction","Swipers","setTimeout","update","childList","UNSAFE_componentWillReceiveProps","nextProps","nextCurrent","running","_typeof","params","start","stop","componentDidUpdate","preProps","width","height","componentWillUnmount","destroy","_f","_e","func","onChange","onAnimationFinish","parsePX","s","undefined","replace","_this3","_this$props2","previousMargin","nextMargin","indicatorColor","indicatorActiveColor","defaultIndicatorColor","defaultIndicatorActiveColor","sty","paddingTop","paddingRight","paddingBottom","paddingLeft","overflow","paginationCls","indicatorDots","ref","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/text/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLSpanElement> {\n selectable?: boolean\n}\n\nclass Text extends React.Component<IProps, Record<string, unknown>> {\n render () {\n const { className, selectable = false, ...restProps } = this.props\n const cls = classNames(\n 'taro-text',\n {\n 'taro-text__selectable': selectable\n },\n className\n )\n return (\n <span {...restProps} className={cls}>\n {this.props.children}\n </span>\n )\n }\n}\n\nexport default Text\n"],"names":["Text","_a","props","className","selectable","restProps","__rest","cls","classNames","React","createElement","Object","assign","children","Component"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/text/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLSpanElement> {\n selectable?: boolean\n}\n\nclass Text extends React.Component<IProps, Record<string, unknown>> {\n render () {\n const { className, selectable = false, ...restProps } = this.props\n const cls = classNames(\n 'taro-text',\n {\n 'taro-text__selectable': selectable\n },\n className\n )\n return (\n <span {...restProps} className={cls}>\n {this.props.children}\n </span>\n )\n }\n}\n\nexport default Text\n"],"names":["Text","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","render","_a","props","className","_a$selectable","selectable","restProps","__rest","cls","classNames","React","createElement","Object","assign","children","Component"],"mappings":";;;;;;;;;AAUMA,IAAAA,IAAK,0BAAAC,gBAAA,EAAA;EAAAC,SAAA,CAAAF,IAAA,EAAAC,gBAAA,CAAA,CAAA;AAAA,EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,IAAA,CAAA,CAAA;AAAA,EAAA,SAAAA,IAAA,GAAA;AAAAK,IAAAA,eAAA,OAAAL,IAAA,CAAA,CAAA;AAAA,IAAA,OAAAG,MAAA,CAAAG,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,GAAA;AAAAC,EAAAA,YAAA,CAAAR,IAAA,EAAA,CAAA;IAAAS,GAAA,EAAA,QAAA;IAAAC,KAAA,EACT,SAAAC,MAAAA,GAAM;AACE,MAAA,IAAAC,KAAkD,IAAI,CAACC,KAAK;QAA1DC,SAAS,GAAiDF,EAAA,CAA1DE,SAAS;QAAAC,aAAA,GAAiDH,EAAA,CAA/CI,UAAU;AAAVA,QAAAA,UAAU,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;QAAKE,SAAS,GAA7CC,MAAA,CAAAN,EAAA,EAAA,CAAA,WAAA,EAAA,YAAA,CAA+C,CAAa,CAAA;AAClE,MAAA,IAAMO,GAAG,GAAGC,UAAU,CACpB,WAAW,EACX;AACE,QAAA,uBAAuB,EAAEJ,UAAAA;OAC1B,EACDF,SAAS,CACV,CAAA;AACD,MAAA,OACEO,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAUP,SAAS,EAAA;AAAEH,QAAAA,SAAS,EAAEK,GAAAA;AAC7B,OAAA,CAAA,EAAA,IAAI,CAACN,KAAK,CAACY,QAAQ,CACf,CAAA;AAEX,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAzB,IAAA,CAAA;AAAA,CAfgBqB,CAAAA,KAAK,CAACK,SAA0C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/view/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n onTouchStart?(e: React.TouchEvent<HTMLDivElement>): void\n onTouchEnd?(e: React.TouchEvent<HTMLDivElement>): void\n onTouchMove?(e: React.TouchEvent<HTMLDivElement>): void\n onLongPress?(): void\n}\n\ninterface IState {\n hover: boolean\n touch: boolean\n}\n\nclass View extends React.Component<IProps, IState> {\n state = {\n hover: false,\n touch: false\n }\n\n timeoutEvent: ReturnType<typeof setTimeout>\n startTime = 0\n\n render () {\n const {\n className,\n hoverClass,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n hoverStartTime = 50,\n hoverStayTime = 400,\n ...other\n } = this.props\n\n const cls = classNames(\n '',\n {\n [`${hoverClass}`]: this.state.hover\n },\n className\n )\n\n const _onTouchStart = e => {\n if (hoverClass) {\n this.setState(() => ({\n touch: true\n }))\n setTimeout(() => {\n if (this.state.touch) {\n this.setState(() => ({\n hover: true\n }))\n }\n }, hoverStartTime)\n }\n onTouchStart && onTouchStart(e)\n if (this.props.onLongPress) {\n this.timeoutEvent = setTimeout(() => {\n this.props.onLongPress!()\n }, 350)\n this.startTime = new Date().getTime()\n }\n }\n\n const _onTouchMove = e => {\n clearTimeout(this.timeoutEvent)\n onTouchMove && onTouchMove(e)\n }\n\n const _onTouchEnd = e => {\n const spanTime = new Date().getTime() - this.startTime\n if (spanTime < 350) {\n clearTimeout(this.timeoutEvent)\n }\n if (hoverClass) {\n this.setState(() => ({\n touch: false\n }))\n setTimeout(() => {\n if (!this.state.touch) {\n this.setState(() => ({\n hover: false\n }))\n }\n }, hoverStayTime)\n }\n onTouchEnd && onTouchEnd(e)\n }\n\n return (\n <div\n className={cls}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n onTouchMove={_onTouchMove}\n {...other}\n >\n {this.props.children}\n </div>\n )\n }\n}\n\nexport default View\n"],"names":["View","state","hover","touch","startTime","_a","props","className","hoverClass","onTouchStart","onTouchEnd","onTouchMove","hoverStartTime","hoverStayTime","other","__rest","cls","classNames","_onTouchStart","e","setState","setTimeout","onLongPress","timeoutEvent","Date","getTime","_onTouchMove","clearTimeout","_onTouchEnd","spanTime","React","createElement","Object","assign","children","Component"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/view/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n onTouchStart?(e: React.TouchEvent<HTMLDivElement>): void\n onTouchEnd?(e: React.TouchEvent<HTMLDivElement>): void\n onTouchMove?(e: React.TouchEvent<HTMLDivElement>): void\n onLongPress?(): void\n}\n\ninterface IState {\n hover: boolean\n touch: boolean\n}\n\nclass View extends React.Component<IProps, IState> {\n state = {\n hover: false,\n touch: false\n }\n\n timeoutEvent: ReturnType<typeof setTimeout>\n startTime = 0\n\n render () {\n const {\n className,\n hoverClass,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n hoverStartTime = 50,\n hoverStayTime = 400,\n ...other\n } = this.props\n\n const cls = classNames(\n '',\n {\n [`${hoverClass}`]: this.state.hover\n },\n className\n )\n\n const _onTouchStart = e => {\n if (hoverClass) {\n this.setState(() => ({\n touch: true\n }))\n setTimeout(() => {\n if (this.state.touch) {\n this.setState(() => ({\n hover: true\n }))\n }\n }, hoverStartTime)\n }\n onTouchStart && onTouchStart(e)\n if (this.props.onLongPress) {\n this.timeoutEvent = setTimeout(() => {\n this.props.onLongPress!()\n }, 350)\n this.startTime = new Date().getTime()\n }\n }\n\n const _onTouchMove = e => {\n clearTimeout(this.timeoutEvent)\n onTouchMove && onTouchMove(e)\n }\n\n const _onTouchEnd = e => {\n const spanTime = new Date().getTime() - this.startTime\n if (spanTime < 350) {\n clearTimeout(this.timeoutEvent)\n }\n if (hoverClass) {\n this.setState(() => ({\n touch: false\n }))\n setTimeout(() => {\n if (!this.state.touch) {\n this.setState(() => ({\n hover: false\n }))\n }\n }, hoverStayTime)\n }\n onTouchEnd && onTouchEnd(e)\n }\n\n return (\n <div\n className={cls}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n onTouchMove={_onTouchMove}\n {...other}\n >\n {this.props.children}\n </div>\n )\n }\n}\n\nexport default View\n"],"names":["View","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","state","hover","touch","startTime","_createClass","key","value","render","_this2","_a","props","className","hoverClass","onTouchStart","onTouchEnd","onTouchMove","_a$hoverStartTime","hoverStartTime","_a$hoverStayTime","hoverStayTime","other","__rest","cls","classNames","_defineProperty","concat","_onTouchStart","e","setState","setTimeout","onLongPress","timeoutEvent","Date","getTime","_onTouchMove","clearTimeout","_onTouchEnd","spanTime","React","createElement","Object","assign","children","Component"],"mappings":"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"}
|
package/dist/node_modules/.pnpm/registry.npmjs.org_tslib@2.5.0/node_modules/tslib/tslib.es6.js
CHANGED
|
@@ -2,9 +2,7 @@ import '@babel/runtime/helpers/typeof';
|
|
|
2
2
|
|
|
3
3
|
function __rest(s, e) {
|
|
4
4
|
var t = {};
|
|
5
|
-
for (var p in s)
|
|
6
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
7
|
-
}
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
8
6
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
9
7
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
10
8
|
}
|
package/dist/node_modules/.pnpm/registry.npmjs.org_tslib@2.5.0/node_modules/tslib/tslib.es6.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tslib.es6.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tslib.es6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["export function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n"],"names":["throttle","fn","threshold","scope","lastTime","deferTimer","args","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer"],"mappings":"AAAM,SAAUA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["export function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n"],"names":["throttle","fn","threshold","arguments","length","undefined","scope","lastTime","deferTimer","_len","args","Array","_key","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer","_len2","_key2"],"mappings":"AAAM,SAAUA,QAAQA,CAAEC,EAAE,EAAyB;AAAA,EAAA,IAAvBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,GAAG,CAAA;EAAA,IAAEG,KAAM,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA,CAAA;EACnD,IAAIE,QAAQ,GAAG,CAAC,CAAA;AAChB,EAAA,IAAIC,UAAyC,CAAA;AAC7C,EAAA,OAAO,YAAiB;AAAA,IAAA,KAAA,IAAAC,IAAA,GAAAN,SAAA,CAAAC,MAAA,EAAJM,IAAI,GAAAC,IAAAA,KAAA,CAAAF,IAAA,GAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;AAAJF,MAAAA,IAAI,CAAAE,IAAA,CAAAT,GAAAA,SAAA,CAAAS,IAAA,CAAA,CAAA;AAAA,KAAA;AACtB,IAAA,IAAMC,OAAO,GAAGP,KAAK,IAAI,IAAI,CAAA;AAC7B,IAAA,IAAMQ,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE,CAAA;AACtB,IAAA,IAAIA,GAAG,GAAGP,QAAQ,GAAGL,SAAS,EAAE;AAC9BD,MAAAA,EAAE,CAACe,KAAK,CAAC,IAAI,EAAEN,IAAI,CAAC,CAAA;AACpBH,MAAAA,QAAQ,GAAGO,GAAG,CAAA;AACf,KAAA,MAAM;MACLG,YAAY,CAACT,UAAU,CAAC,CAAA;MACxBA,UAAU,GAAGU,UAAU,CAAC,YAAK;AAC3BX,QAAAA,QAAQ,GAAGO,GAAG,CAAA;AACdb,QAAAA,EAAE,CAACe,KAAK,CAACH,OAAO,EAAEH,IAAI,CAAC,CAAA;OACxB,EAAER,SAAS,CAAC,CAAA;AACd,KAAA;GACF,CAAA;AACH,CAAA;AAEM,SAAUiB,QAAQA,CAAElB,EAAE,EAAkB;AAAA,EAAA,IAAhBmB,EAAE,GAAAjB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,GAAG,CAAA;EAAA,IAAEG,KAAM,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAE,SAAA,CAAA;AAC5C,EAAA,IAAIgB,KAAoC,CAAA;AAExC,EAAA,OAAO,YAAiB;AAAA,IAAA,KAAA,IAAAC,KAAA,GAAAnB,SAAA,CAAAC,MAAA,EAAJM,IAAI,GAAAC,IAAAA,KAAA,CAAAW,KAAA,GAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAAJb,MAAAA,IAAI,CAAAa,KAAA,CAAApB,GAAAA,SAAA,CAAAoB,KAAA,CAAA,CAAA;AAAA,KAAA;AACtB,IAAA,IAAMV,OAAO,GAAGP,KAAK,IAAI,IAAI,CAAA;IAC7BW,YAAY,CAACI,KAAK,CAAC,CAAA;IACnBA,KAAK,GAAGH,UAAU,CAAC,YAAA;AACjBjB,MAAAA,EAAE,CAACe,KAAK,CAACH,OAAO,EAAEH,IAAI,CAAC,CAAA;KACxB,EAAEU,EAAE,CAAC,CAAA;GACP,CAAA;AACH;;;;"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/components-react",
|
|
3
|
-
"version": "3.7.0-alpha.
|
|
3
|
+
"version": "3.7.0-alpha.22",
|
|
4
4
|
"description": "",
|
|
5
|
-
"main:h5": "
|
|
5
|
+
"main:h5": "dist/index.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
-
"module": "dist/index.
|
|
7
|
+
"module": "dist/index.js",
|
|
8
8
|
"types": "types/index.d.ts",
|
|
9
9
|
"sideEffects": [
|
|
10
10
|
"./dist/components/**/loader.js"
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"resolve-pathname": "^3.0.0",
|
|
28
28
|
"swiper": "6.8.0",
|
|
29
29
|
"weui": "^1.1.2",
|
|
30
|
-
"@tarojs/taro": "3.7.0-alpha.
|
|
31
|
-
"@tarojs/components": "3.7.0-alpha.
|
|
30
|
+
"@tarojs/taro": "3.7.0-alpha.22",
|
|
31
|
+
"@tarojs/components": "3.7.0-alpha.22"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@babel/core": "^7.14.5",
|
|
35
|
-
"@rollup/plugin-babel": "^
|
|
35
|
+
"@rollup/plugin-babel": "^6.0.3",
|
|
36
36
|
"@rollup/plugin-commonjs": "^20.0.0",
|
|
37
37
|
"@rollup/plugin-node-resolve": "^8.0.0",
|
|
38
38
|
"rollup": "^2.79.0",
|
package/types/index.d.ts
ADDED