@tarojs/components-rn 3.3.17 → 3.4.0-beta.2

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.
@@ -2,61 +2,23 @@
2
2
  * 注意:Carousel 组件由组件 @ant-design/react-native/lib/carousel 私有化并修改而成
3
3
  * https://github.com/ant-design/ant-design-mobile-rn/tree/master/components/carousel
4
4
  *
5
- * 依赖 @react-native-community/viewpager 实现,因此使用时需在壳工程中引入该组件
5
+ * 依赖 react-native-pager-view 实现
6
6
  *
7
7
  */
8
8
  import ViewPager from 'react-native-pager-view';
9
9
  import React from 'react';
10
- import { StyleSheet, Text, View } from 'react-native';
10
+ import { StyleSheet, Text, View, Platform } from 'react-native';
11
+ import defaultPagination from './pagination';
11
12
  const styles = StyleSheet.create({
12
13
  wrapperStyle: {
13
14
  overflow: 'hidden',
14
15
  },
15
- pagination: {
16
- position: 'absolute',
17
- alignItems: 'center',
18
- },
19
- paginationX: {
20
- bottom: 10,
21
- left: 0,
22
- right: 0,
23
- },
24
- paginationY: {
25
- right: 10,
26
- top: 0,
27
- bottom: 0,
28
- },
29
- pointStyle: {
30
- width: 8,
31
- height: 8,
32
- borderRadius: 8,
33
- backgroundColor: '#999',
34
- },
35
- pointActiveStyle: {
36
- backgroundColor: '#333',
37
- },
38
- spaceStyle: {
39
- marginHorizontal: 2.5,
40
- marginVertical: 3,
41
- },
42
16
  });
43
- const defaultPagination = (props) => {
44
- const { styles, current, vertical, count, dotStyle, dotActiveStyle } = props;
45
- const positionStyle = vertical ? 'paginationY' : 'paginationX';
46
- const flexDirection = vertical ? 'column' : 'row';
47
- const arr = [];
48
- for (let i = 0; i < count; i++) {
49
- arr.push(React.createElement(View, { key: `dot-${i}`, style: [
50
- styles.pointStyle,
51
- styles.spaceStyle,
52
- dotStyle,
53
- i === current && styles.pointActiveStyle,
54
- i === current && dotActiveStyle,
55
- ] }));
56
- }
57
- return (React.createElement(View, { style: [styles.pagination, styles[positionStyle]] },
58
- React.createElement(View, { style: { flexDirection } }, arr)));
59
- };
17
+ const INFINITE_BUFFER = 2;
18
+ const exchangePos = Platform.select({
19
+ ios: INFINITE_BUFFER - 1,
20
+ android: INFINITE_BUFFER - 2
21
+ });
60
22
  class Carousel extends React.Component {
61
23
  constructor(props) {
62
24
  super(props);
@@ -71,14 +33,14 @@ class Carousel extends React.Component {
71
33
  return;
72
34
  }
73
35
  const { children, autoplay, infinite, autoplayInterval } = this.props;
74
- const { isScrolling, selectedIndex } = this.state;
36
+ const { selectedIndex } = this.state;
75
37
  const count = this.getChildrenCount(children);
76
- if (!Array.isArray(children) || !autoplay || isScrolling) {
38
+ if (!Array.isArray(children) || !autoplay || this.isScrolling) {
77
39
  return;
78
40
  }
79
41
  clearTimeout(this.autoplayTimer);
80
42
  this.autoplayTimer = setTimeout(() => {
81
- let newIndex = selectedIndex < count ? selectedIndex + 1 : 0;
43
+ let newIndex = selectedIndex < this.getVirtualIndex(count) ? selectedIndex + 1 : 0;
82
44
  if (selectedIndex === count - 1) {
83
45
  newIndex = 0;
84
46
  if (!infinite) {
@@ -86,6 +48,9 @@ class Carousel extends React.Component {
86
48
  return;
87
49
  }
88
50
  }
51
+ if (infinite) {
52
+ newIndex = this.getVirtualIndex(this.getIndex(newIndex, count));
53
+ }
89
54
  this.goTo(newIndex);
90
55
  }, autoplayInterval);
91
56
  };
@@ -104,12 +69,10 @@ class Carousel extends React.Component {
104
69
  dotActiveStyle,
105
70
  });
106
71
  };
107
- const { children, selectedIndex } = this.props;
108
- const count = this.getChildrenCount(children);
109
- const index = count > 1 ? Math.min(selectedIndex, count - 1) : 0;
72
+ const { selectedIndex } = this.props;
73
+ this.isScrolling = false;
110
74
  this.state = {
111
- isScrolling: false,
112
- selectedIndex: index,
75
+ selectedIndex: this.getVirtualIndex(selectedIndex),
113
76
  };
114
77
  }
115
78
  componentDidMount() {
@@ -126,23 +89,42 @@ class Carousel extends React.Component {
126
89
  }
127
90
  // eslint-disable-next-line camelcase
128
91
  UNSAFE_componentWillReceiveProps(props) {
129
- const { selectedIndex } = props;
130
- const index = selectedIndex;
131
- if (selectedIndex !== this.state.selectedIndex) {
92
+ const { selectedIndex, infinite } = props;
93
+ if (selectedIndex === this.props.selectedIndex && infinite === this.props.infinite)
94
+ return;
95
+ const index = this.getVirtualIndex(selectedIndex, infinite);
96
+ if (index !== this.state.selectedIndex) {
132
97
  this.goTo(index);
133
98
  }
134
99
  }
135
- /**
136
- * go to index
137
- * @param index
138
- */
139
100
  goTo(index) {
140
- this.setState({ selectedIndex: index });
141
- this.viewPager.current && this.viewPager.current.setPage(index);
101
+ var _a;
102
+ (_a = this.viewPager.current) === null || _a === void 0 ? void 0 : _a.setPage(index);
103
+ }
104
+ getIndex(index, count) {
105
+ const { infinite } = this.props;
106
+ if (!infinite)
107
+ return index;
108
+ if (index < INFINITE_BUFFER) {
109
+ return count - INFINITE_BUFFER + index;
110
+ }
111
+ else if (index > count + INFINITE_BUFFER - 1) {
112
+ return index - count - INFINITE_BUFFER;
113
+ }
114
+ else {
115
+ return index - INFINITE_BUFFER;
116
+ }
117
+ }
118
+ // infinite 默认取 props,如为 next props 需传入
119
+ getVirtualIndex(index, infinite) {
120
+ const infi = infinite !== null && infinite !== void 0 ? infinite : this.props.infinite;
121
+ if (!infi)
122
+ return index;
123
+ return index + INFINITE_BUFFER;
142
124
  }
143
125
  render() {
144
126
  const { selectedIndex } = this.state;
145
- const { dots, children, vertical } = this.props;
127
+ const { dots, children, vertical, infinite } = this.props;
146
128
  if (!children) {
147
129
  return (React.createElement(Text, { style: { backgroundColor: 'white' } }, "You are supposed to add children inside Carousel"));
148
130
  }
@@ -150,6 +132,12 @@ class Carousel extends React.Component {
150
132
  let pages;
151
133
  if (count > 1) {
152
134
  const childrenArray = React.Children.toArray(children);
135
+ if (infinite) {
136
+ for (let index = 0; index < INFINITE_BUFFER; index++) {
137
+ childrenArray.push(React.cloneElement(children[index], { ref: null }));
138
+ childrenArray.unshift(React.cloneElement(children[count - index - 1], { ref: null }));
139
+ }
140
+ }
153
141
  pages = childrenArray.map((page, i) => {
154
142
  return (
155
143
  // when vertical, use the height of the first child as the height of the Carousel
@@ -163,29 +151,41 @@ class Carousel extends React.Component {
163
151
  initialPage: selectedIndex,
164
152
  showPageIndicator: false,
165
153
  onPageSelected: e => {
166
- this.setState({ selectedIndex: e.nativeEvent.position });
167
- this.autoplay();
168
- if (this.props.afterChange) {
169
- this.props.afterChange(e.nativeEvent.position);
154
+ const pos = e.nativeEvent.position;
155
+ const prevIndex = this.getIndex(this.state.selectedIndex, count);
156
+ this.setState({ selectedIndex: pos }, () => {
157
+ this.autoplay();
158
+ });
159
+ const actualIndex = this.getIndex(pos, count);
160
+ if (this.props.afterChange && prevIndex !== actualIndex) {
161
+ this.props.afterChange(actualIndex);
162
+ }
163
+ },
164
+ onPageScroll: (e) => {
165
+ var _a, _b;
166
+ const pos = e.nativeEvent.position;
167
+ if (infinite) {
168
+ if (pos === count + INFINITE_BUFFER) {
169
+ (_a = this.viewPager.current) === null || _a === void 0 ? void 0 : _a.setPageWithoutAnimation(INFINITE_BUFFER);
170
+ }
171
+ else if (pos === exchangePos) {
172
+ (_b = this.viewPager.current) === null || _b === void 0 ? void 0 : _b.setPageWithoutAnimation(count + exchangePos + 1);
173
+ }
170
174
  }
171
175
  },
172
176
  onPageScrollStateChanged: e => {
173
177
  switch (e.nativeEvent.pageScrollState) {
174
178
  case 'dragging':
175
179
  this.autoplay(true);
176
- this.setState({ isScrolling: true });
180
+ this.isScrolling = true;
177
181
  break;
178
182
  case 'idle':
179
- this.setState({
180
- isScrolling: false,
181
- }, () => {
182
- this.autoplay();
183
- this.setState({ isScrolling: false });
184
- });
183
+ this.autoplay();
184
+ this.isScrolling = false;
185
185
  break;
186
186
  case 'settling':
187
187
  this.autoplay();
188
- this.setState({ isScrolling: false });
188
+ this.isScrolling = false;
189
189
  break;
190
190
  default:
191
191
  break;
@@ -198,7 +198,7 @@ class Carousel extends React.Component {
198
198
  orientation: vertical ? 'vertical' : 'horizontal',
199
199
  // Lib does not support dynamically transitionStyle change
200
200
  transitionStyle: "scroll", ref: this.viewPager }), pages),
201
- dots && this.renderDots(selectedIndex)));
201
+ dots && this.renderDots(this.getIndex(selectedIndex, count))));
202
202
  }
203
203
  }
204
204
  Carousel.defaultProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../src/components/Swiper/carousel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../src/components/Swiper/carousel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { View, StyleSheet } from 'react-native';
3
+ const styles = StyleSheet.create({
4
+ pagination: {
5
+ position: 'absolute',
6
+ alignItems: 'center',
7
+ justifyContent: 'center',
8
+ },
9
+ paginationX: {
10
+ bottom: 10,
11
+ left: 0,
12
+ right: 0,
13
+ },
14
+ paginationY: {
15
+ right: 10,
16
+ top: 0,
17
+ bottom: 0,
18
+ },
19
+ pointStyle: {
20
+ width: 8,
21
+ height: 8,
22
+ borderRadius: 8,
23
+ backgroundColor: '#999',
24
+ },
25
+ pointActiveStyle: {
26
+ backgroundColor: '#333',
27
+ },
28
+ spaceStyle: {
29
+ marginHorizontal: 2.5,
30
+ marginVertical: 3,
31
+ },
32
+ });
33
+ export default function defaultPagination(props) {
34
+ const { current, vertical, count, dotStyle, dotActiveStyle } = props;
35
+ const positionStyle = vertical ? 'paginationY' : 'paginationX';
36
+ const flexDirection = vertical ? 'column' : 'row';
37
+ const arr = [];
38
+ for (let i = 0; i < count; i++) {
39
+ arr.push(React.createElement(View, { key: `dot-${i}`, style: [
40
+ styles.pointStyle,
41
+ styles.spaceStyle,
42
+ dotStyle,
43
+ i === current && styles.pointActiveStyle,
44
+ i === current && dotActiveStyle,
45
+ ] }));
46
+ }
47
+ return (React.createElement(View, { style: [styles.pagination, styles[positionStyle]] },
48
+ React.createElement(View, { style: { flexDirection } }, arr)));
49
+ }
50
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/components/Swiper/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG/C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE;QACV,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,WAAW,EAAE;QACX,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;KACT;IACD,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;KACV;IACD,UAAU,EAAE;QACV,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,MAAM;KACxB;IACD,gBAAgB,EAAE;QAChB,eAAe,EAAE,MAAM;KACxB;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,GAAG;QACrB,cAAc,EAAE,CAAC;KAClB;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAE,KAAsB;IAC/D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IACpE,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;IAC9D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAA;IACjD,MAAM,GAAG,GAAQ,EAAE,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CACN,oBAAC,IAAI,IACH,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,KAAK,EAAE;gBACL,MAAM,CAAC,UAAU;gBACjB,MAAM,CAAC,UAAU;gBACjB,QAAQ;gBACR,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,gBAAgB;gBACxC,CAAC,KAAK,OAAO,IAAI,cAAc;aAChC,GACD,CACH,CAAA;KACF;IACD,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAG,GAAG,CAAQ,CACvC,CACR,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/components-rn",
3
- "version": "3.3.17",
3
+ "version": "3.4.0-beta.2",
4
4
  "description": "多端解决方案基础组件(RN)",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -43,7 +43,7 @@
43
43
  "unimodules-permissions-interface": "~5.3.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@tarojs/components": "3.3.17",
46
+ "@tarojs/components": "3.4.0-beta.2",
47
47
  "@types/react-native": "0.66.5",
48
48
  "@types/sinon": "^9.0.8",
49
49
  "cpy-cli": "^3.1.1",
@@ -51,7 +51,6 @@
51
51
  "expo-file-system": "~11.1.3",
52
52
  "jest-expo": "^39.0.0",
53
53
  "metro-react-native-babel-preset": "^0.66.2",
54
- "pre-commit": "^1.2.2",
55
54
  "react-native": "^0.66.0",
56
55
  "react-test-renderer": "^17.0.1",
57
56
  "rimraf": "^3.0.0",
@@ -71,5 +70,5 @@
71
70
  "@types/react": "17.0.11",
72
71
  "@types/node": "^14.14.41"
73
72
  },
74
- "gitHead": "3f3ce5f66d370b1982a30e4a5f2c8eb383652063"
73
+ "gitHead": "ac3eb29f11aec15d25e061775d9e970efabc2c98"
75
74
  }