@tarojs/components-react 3.5.1-aplha.0 → 3.5.2-aplha.1

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.
@@ -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\n// import omit from 'omit.js'\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 = 'scrollWithAnimation' in props\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","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) {\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 = 'scrollWithAnimation' in props\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","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/components-react",
3
- "version": "3.5.1-aplha.0",
3
+ "version": "3.5.2-aplha.1",
4
4
  "description": "",
5
5
  "main:h5": "src/index.js",
6
6
  "main": "dist/index.js",