react-native-dates-picker 0.1.3 → 0.1.5

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.
Files changed (84) hide show
  1. package/lib/commonjs/DateTimePicker.js +144 -85
  2. package/lib/commonjs/DateTimePicker.js.map +1 -1
  3. package/lib/commonjs/components/Calendar.js +3 -5
  4. package/lib/commonjs/components/Calendar.js.map +1 -1
  5. package/lib/commonjs/components/DatePicker.js +16 -83
  6. package/lib/commonjs/components/DatePicker.js.map +1 -1
  7. package/lib/commonjs/components/Day.js +3 -8
  8. package/lib/commonjs/components/Day.js.map +1 -1
  9. package/lib/commonjs/components/TimeSelector.js +3 -3
  10. package/lib/commonjs/components/TimeSelector.js.map +1 -1
  11. package/lib/commonjs/components/WheelPicker/WheelNative.js +2 -2
  12. package/lib/commonjs/components/WheelPicker/WheelNative.js.map +1 -1
  13. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker-item.js +56 -72
  14. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker-item.js.map +1 -1
  15. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker.js +27 -48
  16. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker.js.map +1 -1
  17. package/lib/commonjs/components/WheelPicker/WheelWeb.js +5 -7
  18. package/lib/commonjs/components/WheelPicker/WheelWeb.js.map +1 -1
  19. package/lib/commonjs/components/WheelSelector.js +129 -0
  20. package/lib/commonjs/components/WheelSelector.js.map +1 -0
  21. package/lib/commonjs/utils.js +68 -0
  22. package/lib/commonjs/utils.js.map +1 -1
  23. package/lib/module/DateTimePicker.js +146 -87
  24. package/lib/module/DateTimePicker.js.map +1 -1
  25. package/lib/module/components/Calendar.js +3 -5
  26. package/lib/module/components/Calendar.js.map +1 -1
  27. package/lib/module/components/DatePicker.js +16 -81
  28. package/lib/module/components/DatePicker.js.map +1 -1
  29. package/lib/module/components/Day.js +3 -8
  30. package/lib/module/components/Day.js.map +1 -1
  31. package/lib/module/components/TimeSelector.js +3 -3
  32. package/lib/module/components/TimeSelector.js.map +1 -1
  33. package/lib/module/components/WheelPicker/WheelNative.js +2 -2
  34. package/lib/module/components/WheelPicker/WheelNative.js.map +1 -1
  35. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker-item.js +57 -73
  36. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker-item.js.map +1 -1
  37. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker.js +27 -48
  38. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker.js.map +1 -1
  39. package/lib/module/components/WheelPicker/WheelWeb.js +5 -7
  40. package/lib/module/components/WheelPicker/WheelWeb.js.map +1 -1
  41. package/lib/module/components/WheelSelector.js +120 -0
  42. package/lib/module/components/WheelSelector.js.map +1 -0
  43. package/lib/module/utils.js +65 -0
  44. package/lib/module/utils.js.map +1 -1
  45. package/lib/typescript/DateTimePicker.d.ts +2 -2
  46. package/lib/typescript/DateTimePicker.d.ts.map +1 -1
  47. package/lib/typescript/components/Calendar.d.ts.map +1 -1
  48. package/lib/typescript/components/DatePicker.d.ts +6 -1
  49. package/lib/typescript/components/DatePicker.d.ts.map +1 -1
  50. package/lib/typescript/components/Day.d.ts.map +1 -1
  51. package/lib/typescript/components/WheelPicker/Wheel.d.ts +1 -1
  52. package/lib/typescript/components/WheelPicker/WheelNative.d.ts +1 -1
  53. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker-item.d.ts.map +1 -1
  54. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker.d.ts +1 -2
  55. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker.d.ts.map +1 -1
  56. package/lib/typescript/components/WheelPicker/WheelWeb.d.ts +1 -1
  57. package/lib/typescript/components/WheelPicker/WheelWeb.d.ts.map +1 -1
  58. package/lib/typescript/components/WheelSelector.d.ts +8 -0
  59. package/lib/typescript/components/WheelSelector.d.ts.map +1 -0
  60. package/lib/typescript/types.d.ts +1 -1
  61. package/lib/typescript/types.d.ts.map +1 -1
  62. package/lib/typescript/utils.d.ts +9 -0
  63. package/lib/typescript/utils.d.ts.map +1 -1
  64. package/package.json +2 -3
  65. package/src/DateTimePicker.tsx +226 -108
  66. package/src/components/Calendar.tsx +3 -11
  67. package/src/components/DatePicker.tsx +17 -138
  68. package/src/components/Day.tsx +1 -4
  69. package/src/components/TimeSelector.tsx +3 -3
  70. package/src/components/WheelPicker/Wheel.tsx +1 -1
  71. package/src/components/WheelPicker/WheelNative.tsx +3 -3
  72. package/src/components/WheelPicker/WheelNativePicker/wheel-picker-item.tsx +65 -74
  73. package/src/components/WheelPicker/WheelNativePicker/wheel-picker.tsx +21 -48
  74. package/src/components/WheelPicker/WheelWeb.tsx +6 -7
  75. package/src/components/WheelSelector.tsx +170 -0
  76. package/src/types.ts +1 -1
  77. package/src/utils.ts +77 -0
  78. package/lib/commonjs/components/WheelPicker/AnimatedMath.js +0 -26
  79. package/lib/commonjs/components/WheelPicker/AnimatedMath.js.map +0 -1
  80. package/lib/module/components/WheelPicker/AnimatedMath.js +0 -20
  81. package/lib/module/components/WheelPicker/AnimatedMath.js.map +0 -1
  82. package/lib/typescript/components/WheelPicker/AnimatedMath.d.ts +0 -5
  83. package/lib/typescript/components/WheelPicker/AnimatedMath.d.ts.map +0 -1
  84. package/src/components/WheelPicker/AnimatedMath.tsx +0 -33
@@ -37,7 +37,7 @@ const TimeSelector = () => {
37
37
  }, /*#__PURE__*/React.createElement(Wheel, {
38
38
  value: hour,
39
39
  items: hours,
40
- setValue: value => handleChange(value, 'hour')
40
+ onChange: value => handleChange(value, 'hour')
41
41
  })), /*#__PURE__*/React.createElement(Text, {
42
42
  style: {
43
43
  ...styles.timePickerText,
@@ -48,7 +48,7 @@ const TimeSelector = () => {
48
48
  }, /*#__PURE__*/React.createElement(Wheel, {
49
49
  value: minute,
50
50
  items: minutes,
51
- setValue: value => handleChange(value, 'minute')
51
+ onChange: value => handleChange(value, 'minute')
52
52
  })), /*#__PURE__*/React.createElement(Text, {
53
53
  style: {
54
54
  ...styles.timePickerText,
@@ -59,7 +59,7 @@ const TimeSelector = () => {
59
59
  }, /*#__PURE__*/React.createElement(Wheel, {
60
60
  value: second,
61
61
  items: seconds,
62
- setValue: value => handleChange(value, 'second')
62
+ onChange: value => handleChange(value, 'second')
63
63
  }))));
64
64
  };
65
65
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","Text","View","StyleSheet","useCalendarContext","CONTAINER_HEIGHT","getParsedDate","getDate","getFormatted","Wheel","createNumberList","num","Array","fill","map","_","index","text","toString","padStart","value","hours","minutes","seconds","TimeSelector","date","onSelectDate","theme","hour","minute","second","handleChange","type","newDate","createElement","style","styles","container","timePickerContainer","wheelContainer","items","setValue","timePickerText","wheelPickerTextStyle","create","flex","alignItems","justifyContent","flexDirection","width","height","fontSize","fontWeight","marginHorizontal"],"sourceRoot":"../../../src","sources":["components/TimeSelector.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","Text","View","StyleSheet","useCalendarContext","CONTAINER_HEIGHT","getParsedDate","getDate","getFormatted","Wheel","createNumberList","num","Array","fill","map","_","index","text","toString","padStart","value","hours","minutes","seconds","TimeSelector","date","onSelectDate","theme","hour","minute","second","handleChange","type","newDate","createElement","style","styles","container","timePickerContainer","wheelContainer","items","onChange","timePickerText","wheelPickerTextStyle","create","flex","alignItems","justifyContent","flexDirection","width","height","fontSize","fontWeight","marginHorizontal"],"sourceRoot":"../../../src","sources":["components/TimeSelector.tsx"],"mappings":"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"}
@@ -2,13 +2,13 @@ import React, { memo } from 'react';
2
2
  import WheelPicker from './WheelNativePicker';
3
3
  const WheelNative = ({
4
4
  value,
5
- setValue = () => {},
5
+ onChange = () => {},
6
6
  items
7
7
  }) => {
8
8
  return /*#__PURE__*/React.createElement(WheelPicker, {
9
9
  value: value,
10
10
  options: items,
11
- onChange: setValue,
11
+ onChange: onChange,
12
12
  itemHeight: 44,
13
13
  decelerationRate: "fast"
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","WheelPicker","WheelNative","value","setValue","items","createElement","options","onChange","itemHeight","decelerationRate"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelNative.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,OAAOC,WAAW,MAAM,qBAAqB;AAS7C,MAAMC,WAAiC,GAAGA,CAAC;EACzCC,KAAK;EACLC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC;AACF,CAAC,KAAK;EACJ,oBACEN,KAAA,CAAAO,aAAA,CAACL,WAAW;IACVE,KAAK,EAAEA,KAAM;IACbI,OAAO,EAAEF,KAAM;IACfG,QAAQ,EAAEJ,QAAS;IACnBK,UAAU,EAAE,EAAG;IACfC,gBAAgB,EAAC;EAAM,CACxB,CAAC;AAEN,CAAC;AAED,4BAAeV,IAAI,CAACE,WAAW,CAAC"}
1
+ {"version":3,"names":["React","memo","WheelPicker","WheelNative","value","onChange","items","createElement","options","itemHeight","decelerationRate"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelNative.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,OAAOC,WAAW,MAAM,qBAAqB;AAS7C,MAAMC,WAAiC,GAAGA,CAAC;EACzCC,KAAK;EACLC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC;AACF,CAAC,KAAK;EACJ,oBACEN,KAAA,CAAAO,aAAA,CAACL,WAAW;IACVE,KAAK,EAAEA,KAAM;IACbI,OAAO,EAAEF,KAAM;IACfD,QAAQ,EAAEA,QAAS;IACnBI,UAAU,EAAE,EAAG;IACfC,gBAAgB,EAAC;EAAM,CACxB,CAAC;AAEN,CAAC;AAED,4BAAeT,IAAI,CAACE,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- import React, { memo } from 'react';
1
+ import React, { memo, useMemo } from 'react';
2
2
  import { Animated, Text, StyleSheet } from 'react-native';
3
3
  import { useCalendarContext } from '../../../CalendarContext';
4
4
  const WheelPickerItem = ({
@@ -14,85 +14,69 @@ const WheelPickerItem = ({
14
14
  const {
15
15
  theme
16
16
  } = useCalendarContext();
17
- const relativeScrollIndex = Animated.subtract(index, currentScrollIndex);
18
- const translateY = relativeScrollIndex.interpolate({
19
- inputRange: (() => {
20
- const range = [0];
21
- for (let i = 1; i <= visibleRest + 1; i++) {
22
- range.unshift(-i);
23
- range.push(i);
24
- }
25
- return range;
26
- })(),
27
- outputRange: (() => {
28
- const range = [0];
29
- for (let i = 1; i <= visibleRest + 1; i++) {
30
- let y = height / 2 * (1 - Math.sin(Math.PI / 2 - rotationFunction(i)));
31
- for (let j = 1; j < i; j++) {
32
- y += height * (1 - Math.sin(Math.PI / 2 - rotationFunction(j)));
33
- }
34
- range.unshift(y);
35
- range.push(-y);
17
+ const relativeScrollIndex = useMemo(() => Animated.subtract(index, currentScrollIndex), [index, currentScrollIndex]);
18
+ const interpolInputRange = useMemo(() => {
19
+ const range = [0];
20
+ for (let i = 1; i <= visibleRest + 1; i++) {
21
+ range.unshift(-i);
22
+ range.push(i);
23
+ }
24
+ return range;
25
+ }, [visibleRest]);
26
+ const translateYOutputRange = useMemo(() => {
27
+ const range = [0];
28
+ for (let i = 1; i <= visibleRest + 1; i++) {
29
+ let y = height / 2 * (1 - Math.sin(Math.PI / 2 - rotationFunction(i)));
30
+ for (let j = 1; j < i; j++) {
31
+ y += height * (1 - Math.sin(Math.PI / 2 - rotationFunction(j)));
36
32
  }
37
- return range;
38
- })()
33
+ range.unshift(y);
34
+ range.push(-y);
35
+ }
36
+ return range;
37
+ }, [height, visibleRest, rotationFunction]);
38
+ const opacityOutputRange = useMemo(() => {
39
+ const range = [1];
40
+ for (let x = 1; x <= visibleRest + 1; x++) {
41
+ const val = opacityFunction(x);
42
+ range.unshift(val);
43
+ range.push(val);
44
+ }
45
+ return range;
46
+ }, [visibleRest, opacityFunction]);
47
+ const scaleOutputRange = useMemo(() => {
48
+ const range = [1];
49
+ for (let x = 1; x <= visibleRest + 1; x++) {
50
+ const val = scaleFunction(x);
51
+ range.unshift(val);
52
+ range.push(val);
53
+ }
54
+ return range;
55
+ }, [visibleRest, scaleFunction]);
56
+ const rotateXOutputRange = useMemo(() => {
57
+ const range = ['0deg'];
58
+ for (let x = 1; x <= visibleRest + 1; x++) {
59
+ const deg = `${rotationFunction(x)}deg`;
60
+ range.unshift(deg);
61
+ range.push(deg);
62
+ }
63
+ return range;
64
+ }, [visibleRest, rotationFunction]);
65
+ const translateY = relativeScrollIndex.interpolate({
66
+ inputRange: interpolInputRange,
67
+ outputRange: translateYOutputRange
39
68
  });
40
69
  const opacity = relativeScrollIndex.interpolate({
41
- inputRange: (() => {
42
- const range = [0];
43
- for (let i = 1; i <= visibleRest + 1; i++) {
44
- range.unshift(-i);
45
- range.push(i);
46
- }
47
- return range;
48
- })(),
49
- outputRange: (() => {
50
- const range = [1];
51
- for (let x = 1; x <= visibleRest + 1; x++) {
52
- const y = opacityFunction(x);
53
- range.unshift(y);
54
- range.push(y);
55
- }
56
- return range;
57
- })()
70
+ inputRange: interpolInputRange,
71
+ outputRange: opacityOutputRange
58
72
  });
59
73
  const scale = relativeScrollIndex.interpolate({
60
- inputRange: (() => {
61
- const range = [0];
62
- for (let i = 1; i <= visibleRest + 1; i++) {
63
- range.unshift(-i);
64
- range.push(i);
65
- }
66
- return range;
67
- })(),
68
- outputRange: (() => {
69
- const range = [1.0];
70
- for (let x = 1; x <= visibleRest + 1; x++) {
71
- const y = scaleFunction(x);
72
- range.unshift(y);
73
- range.push(y);
74
- }
75
- return range;
76
- })()
74
+ inputRange: interpolInputRange,
75
+ outputRange: scaleOutputRange
77
76
  });
78
77
  const rotateX = relativeScrollIndex.interpolate({
79
- inputRange: (() => {
80
- const range = [0];
81
- for (let i = 1; i <= visibleRest + 1; i++) {
82
- range.unshift(-i);
83
- range.push(i);
84
- }
85
- return range;
86
- })(),
87
- outputRange: (() => {
88
- const range = ['0deg'];
89
- for (let x = 1; x <= visibleRest + 1; x++) {
90
- const y = rotationFunction(x);
91
- range.unshift(`${y}deg`);
92
- range.push(`${y}deg`);
93
- }
94
- return range;
95
- })()
78
+ inputRange: interpolInputRange,
79
+ outputRange: rotateXOutputRange
96
80
  });
97
81
  return /*#__PURE__*/React.createElement(Animated.View, {
98
82
  style: [styles.option, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","Animated","Text","StyleSheet","useCalendarContext","WheelPickerItem","height","option","index","visibleRest","currentScrollIndex","opacityFunction","rotationFunction","scaleFunction","theme","relativeScrollIndex","subtract","translateY","interpolate","inputRange","range","i","unshift","push","outputRange","y","Math","sin","PI","j","opacity","x","scale","rotateX","createElement","View","style","styles","transform","wheelPickerItemStyle","wheelPickerTextStyle","text","create","alignItems","justifyContent","paddingHorizontal","zIndex"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/wheel-picker-item.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","memo","useMemo","Animated","Text","StyleSheet","useCalendarContext","WheelPickerItem","height","option","index","visibleRest","currentScrollIndex","opacityFunction","rotationFunction","scaleFunction","theme","relativeScrollIndex","subtract","interpolInputRange","range","i","unshift","push","translateYOutputRange","y","Math","sin","PI","j","opacityOutputRange","x","val","scaleOutputRange","rotateXOutputRange","deg","translateY","interpolate","inputRange","outputRange","opacity","scale","rotateX","createElement","View","style","styles","transform","wheelPickerItemStyle","wheelPickerTextStyle","text","create","alignItems","justifyContent","paddingHorizontal","zIndex"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/wheel-picker-item.tsx"],"mappings":"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"}
@@ -13,14 +13,13 @@ const WheelPicker = ({
13
13
  opacityFunction = x => Math.pow(1 / 3, x),
14
14
  visibleRest = 2,
15
15
  decelerationRate = 'normal',
16
- containerProps = {},
17
- flatListProps = {}
16
+ containerProps = {}
18
17
  }) => {
19
18
  const {
20
19
  theme
21
20
  } = useCalendarContext();
22
- const momentumStarted = useRef(false);
23
21
  const selectedIndex = options.findIndex(item => item.value === value);
22
+ const timerRef = useRef();
24
23
  const flatListRef = useRef(null);
25
24
  const [scrollY] = useState(new Animated.Value(selectedIndex * itemHeight));
26
25
  const containerHeight = (1 + visibleRest * 2) * itemHeight;
@@ -35,46 +34,35 @@ const WheelPicker = ({
35
34
  const offsets = useMemo(() => [...Array(paddedOptions.length)].map((_, i) => i * itemHeight), [paddedOptions, itemHeight]);
36
35
  const currentScrollIndex = useMemo(() => Animated.add(Animated.divide(scrollY, itemHeight), visibleRest), [visibleRest, scrollY, itemHeight]);
37
36
  const handleScrollEnd = event => {
37
+ var _options$index;
38
+ if (timerRef.current) clearTimeout(timerRef.current);
38
39
  const offsetY = Math.min(itemHeight * (options.length - 1), Math.max(event.nativeEvent.contentOffset.y, 0));
39
40
  let index = Math.floor(offsetY / itemHeight);
40
41
  const remainder = offsetY % itemHeight;
41
42
  if (remainder > itemHeight / 2) {
42
43
  index++;
43
44
  }
45
+ const value = ((_options$index = options[index]) === null || _options$index === void 0 ? void 0 : _options$index.value) || 0;
44
46
  if (index !== selectedIndex) {
45
- var _options$index;
46
- onChange(((_options$index = options[index]) === null || _options$index === void 0 ? void 0 : _options$index.value) || 0);
47
+ timerRef.current = setTimeout(() => {
48
+ onChange(value);
49
+ clearTimeout(timerRef.current);
50
+ timerRef.current = undefined;
51
+ }, 50);
47
52
  }
48
53
  };
49
- const handleMomentumScrollBegin = () => {
50
- momentumStarted.current = true;
51
- };
52
- const handleMomentumScrollEnd = event => {
53
- momentumStarted.current = false;
54
- handleScrollEnd(event);
55
- };
56
- const handleScrollEndDrag = event => {
57
- var _event$nativeEvent$co;
58
- // Capture the offset value immediately
59
- const offsetY = (_event$nativeEvent$co = event.nativeEvent.contentOffset) === null || _event$nativeEvent$co === void 0 ? void 0 : _event$nativeEvent$co.y;
60
-
61
- // We'll start a short timer to see if momentum scroll begins
62
- setTimeout(() => {
63
- // If momentum scroll hasn't started within the timeout,
64
- // then it was a slow scroll that won't trigger momentum
65
- if (!momentumStarted.current && offsetY !== undefined) {
66
- // Create a synthetic event with just the data we need
67
- const syntheticEvent = {
68
- nativeEvent: {
69
- contentOffset: {
70
- y: offsetY
71
- }
72
- }
73
- };
74
- handleScrollEnd(syntheticEvent);
54
+ const scrollEvent = useMemo(() => Animated.event([{
55
+ nativeEvent: {
56
+ contentOffset: {
57
+ y: scrollY
75
58
  }
76
- }, 50);
77
- };
59
+ }
60
+ }], {
61
+ useNativeDriver: true,
62
+ listener: handleScrollEnd
63
+ }),
64
+ // eslint-disable-next-line react-hooks/exhaustive-deps
65
+ []);
78
66
  useEffect(() => {
79
67
  if (selectedIndex < 0 || selectedIndex >= options.length) {
80
68
  throw new Error(`Selected index ${selectedIndex} is out of bounds [0, ${options.length - 1}]`);
@@ -103,24 +91,15 @@ const WheelPicker = ({
103
91
  }],
104
92
  height: itemHeight
105
93
  }, theme.wheelPickerSelectedIndicatorStyle]
106
- }), /*#__PURE__*/React.createElement(Animated.FlatList, _extends({}, flatListProps, {
94
+ }), /*#__PURE__*/React.createElement(Animated.FlatList, {
107
95
  ref: flatListRef,
108
96
  nestedScrollEnabled: true,
109
97
  style: styles.scrollView,
110
98
  showsVerticalScrollIndicator: false,
111
- onScroll: Animated.event([{
112
- nativeEvent: {
113
- contentOffset: {
114
- y: scrollY
115
- }
116
- }
117
- }], {
118
- useNativeDriver: true
119
- }),
120
- onScrollEndDrag: handleScrollEndDrag,
121
- onMomentumScrollBegin: handleMomentumScrollBegin,
122
- onMomentumScrollEnd: handleMomentumScrollEnd,
99
+ scrollEventThrottle: 16,
100
+ onScroll: scrollEvent,
123
101
  snapToOffsets: offsets,
102
+ onMomentumScrollEnd: handleScrollEnd,
124
103
  decelerationRate: decelerationRate,
125
104
  initialScrollIndex: selectedIndex,
126
105
  getItemLayout: (_, index) => ({
@@ -129,7 +108,7 @@ const WheelPicker = ({
129
108
  index
130
109
  }),
131
110
  data: paddedOptions,
132
- keyExtractor: (item, index) => item ? `${item.value}-${item.text}-${index}` : `null-${index}`,
111
+ keyExtractor: (item, index) => item ? `${item.value}-${item.text}-${index}` : `-${index}`,
133
112
  renderItem: ({
134
113
  item: option,
135
114
  index
@@ -144,7 +123,7 @@ const WheelPicker = ({
144
123
  opacityFunction: opacityFunction,
145
124
  visibleRest: visibleRest
146
125
  })
147
- })));
126
+ }));
148
127
  };
149
128
  const styles = StyleSheet.create({
150
129
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","useState","memo","Animated","View","Platform","StyleSheet","WheelPickerItem","useCalendarContext","WheelPicker","value","options","onChange","itemHeight","scaleFunction","x","rotationFunction","Math","pow","opacityFunction","visibleRest","decelerationRate","containerProps","flatListProps","theme","momentumStarted","selectedIndex","findIndex","item","flatListRef","scrollY","Value","containerHeight","paddedOptions","array","i","unshift","push","offsets","Array","length","map","_","currentScrollIndex","add","divide","handleScrollEnd","event","offsetY","min","max","nativeEvent","contentOffset","y","index","floor","remainder","_options$index","handleMomentumScrollBegin","current","handleMomentumScrollEnd","handleScrollEndDrag","_event$nativeEvent$co","setTimeout","undefined","syntheticEvent","Error","_flatListRef$current","scrollToIndex","animated","OS","createElement","_extends","style","styles","container","height","wheelPickerContainerStyle","selectedIndicator","transform","translateY","wheelPickerSelectedIndicatorStyle","FlatList","ref","nestedScrollEnabled","scrollView","showsVerticalScrollIndicator","onScroll","useNativeDriver","onScrollEndDrag","onMomentumScrollBegin","onMomentumScrollEnd","snapToOffsets","initialScrollIndex","getItemLayout","offset","data","keyExtractor","text","renderItem","option","key","create","display","position","width","top","overflow","flex"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/wheel-picker.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,OAAO;AACzE,SAGEC,QAAQ,EACRC,IAAI,EAIJC,QAAQ,EACRC,UAAU,QACL,cAAc;AACrB,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,SAASC,kBAAkB,QAAQ,0BAA0B;AAgB7D,MAAMC,WAA4B,GAAGA,CAAC;EACpCC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC,UAAU,GAAG,EAAE;EACfC,aAAa,GAAIC,CAAS,IAAK,GAAG,IAAIA,CAAC;EACvCC,gBAAgB,GAAID,CAAS,IAAK,CAAC,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAEH,CAAC,CAAC;EACxDI,eAAe,GAAIJ,CAAS,IAAKE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAEH,CAAC,CAAC;EACnDK,WAAW,GAAG,CAAC;EACfC,gBAAgB,GAAG,QAAQ;EAC3BC,cAAc,GAAG,CAAC,CAAC;EACnBC,aAAa,GAAG,CAAC;AACnB,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAGhB,kBAAkB,CAAC,CAAC;EACtC,MAAMiB,eAAe,GAAGzB,MAAM,CAAC,KAAK,CAAC;EACrC,MAAM0B,aAAa,GAAGf,OAAO,CAACgB,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAAClB,KAAK,KAAKA,KAAK,CAAC;EAEvE,MAAMmB,WAAW,GAAG7B,MAAM,CAAW,IAAI,CAAC;EAC1C,MAAM,CAAC8B,OAAO,CAAC,GAAG7B,QAAQ,CAAC,IAAIE,QAAQ,CAAC4B,KAAK,CAACL,aAAa,GAAGb,UAAU,CAAC,CAAC;EAE1E,MAAMmB,eAAe,GAAG,CAAC,CAAC,GAAGZ,WAAW,GAAG,CAAC,IAAIP,UAAU;EAC1D,MAAMoB,aAAa,GAAGlC,OAAO,CAAC,MAAM;IAClC,MAAMmC,KAA8B,GAAG,CAAC,GAAGvB,OAAO,CAAC;IACnD,KAAK,IAAIwB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,WAAW,EAAEe,CAAC,EAAE,EAAE;MACpCD,KAAK,CAACE,OAAO,CAAC,IAAI,CAAC;MACnBF,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;IAClB;IACA,OAAOH,KAAK;EACd,CAAC,EAAE,CAACvB,OAAO,EAAES,WAAW,CAAC,CAAC;EAE1B,MAAMkB,OAAO,GAAGvC,OAAO,CACrB,MAAM,CAAC,GAAGwC,KAAK,CAACN,aAAa,CAACO,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEP,CAAC,KAAKA,CAAC,GAAGtB,UAAU,CAAC,EACpE,CAACoB,aAAa,EAAEpB,UAAU,CAC5B,CAAC;EAED,MAAM8B,kBAAkB,GAAG5C,OAAO,CAChC,MAAMI,QAAQ,CAACyC,GAAG,CAACzC,QAAQ,CAAC0C,MAAM,CAACf,OAAO,EAAEjB,UAAU,CAAC,EAAEO,WAAW,CAAC,EACrE,CAACA,WAAW,EAAEU,OAAO,EAAEjB,UAAU,CACnC,CAAC;EAED,MAAMiC,eAAe,GAAIC,KAA8C,IAAK;IAC1E,MAAMC,OAAO,GAAG/B,IAAI,CAACgC,GAAG,CACtBpC,UAAU,IAAIF,OAAO,CAAC6B,MAAM,GAAG,CAAC,CAAC,EACjCvB,IAAI,CAACiC,GAAG,CAACH,KAAK,CAACI,WAAW,CAACC,aAAa,CAACC,CAAC,EAAE,CAAC,CAC/C,CAAC;IAED,IAAIC,KAAK,GAAGrC,IAAI,CAACsC,KAAK,CAACP,OAAO,GAAGnC,UAAU,CAAC;IAC5C,MAAM2C,SAAS,GAAGR,OAAO,GAAGnC,UAAU;IACtC,IAAI2C,SAAS,GAAG3C,UAAU,GAAG,CAAC,EAAE;MAC9ByC,KAAK,EAAE;IACT;IAEA,IAAIA,KAAK,KAAK5B,aAAa,EAAE;MAAA,IAAA+B,cAAA;MAC3B7C,QAAQ,CAAC,EAAA6C,cAAA,GAAA9C,OAAO,CAAC2C,KAAK,CAAC,cAAAG,cAAA,uBAAdA,cAAA,CAAgB/C,KAAK,KAAI,CAAC,CAAC;IACtC;EACF,CAAC;EAED,MAAMgD,yBAAyB,GAAGA,CAAA,KAAM;IACtCjC,eAAe,CAACkC,OAAO,GAAG,IAAI;EAChC,CAAC;EAED,MAAMC,uBAAuB,GAC3Bb,KAA8C,IAC3C;IACHtB,eAAe,CAACkC,OAAO,GAAG,KAAK;IAC/Bb,eAAe,CAACC,KAAK,CAAC;EACxB,CAAC;EAED,MAAMc,mBAAmB,GACvBd,KAA8C,IAC3C;IAAA,IAAAe,qBAAA;IACH;IACA,MAAMd,OAAO,IAAAc,qBAAA,GAAGf,KAAK,CAACI,WAAW,CAACC,aAAa,cAAAU,qBAAA,uBAA/BA,qBAAA,CAAiCT,CAAC;;IAElD;IACAU,UAAU,CAAC,MAAM;MACf;MACA;MACA,IAAI,CAACtC,eAAe,CAACkC,OAAO,IAAIX,OAAO,KAAKgB,SAAS,EAAE;QACrD;QACA,MAAMC,cAAc,GAAG;UACrBd,WAAW,EAAE;YACXC,aAAa,EAAE;cAAEC,CAAC,EAAEL;YAAQ;UAC9B;QACF,CAAC;QACDF,eAAe,CAACmB,cAAqB,CAAC;MACxC;IACF,CAAC,EAAE,EAAE,CAAC;EACR,CAAC;EAEDnE,SAAS,CAAC,MAAM;IACd,IAAI4B,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAIf,OAAO,CAAC6B,MAAM,EAAE;MACxD,MAAM,IAAI0B,KAAK,CACZ,kBAAiBxC,aAAc,yBAC9Bf,OAAO,CAAC6B,MAAM,GAAG,CAClB,GACH,CAAC;IACH;EACF,CAAC,EAAE,CAACd,aAAa,EAAEf,OAAO,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACEb,SAAS,CAAC,MAAM;IAAA,IAAAqE,oBAAA;IACd,CAAAA,oBAAA,GAAAtC,WAAW,CAAC8B,OAAO,cAAAQ,oBAAA,eAAnBA,oBAAA,CAAqBC,aAAa,CAAC;MACjCd,KAAK,EAAE5B,aAAa;MACpB2C,QAAQ,EAAEhE,QAAQ,CAACiE,EAAE,KAAK;IAC5B,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC5C,aAAa,EAAEb,UAAU,CAAC,CAAC;EAE/B,oBACEhB,KAAA,CAAA0E,aAAA,CAACnE,IAAI,EAAAoE,QAAA;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,MAAM,EAAE5C;IAAgB,CAAC,EAC3BR,KAAK,CAACqD,yBAAyB;EAC/B,GACEvD,cAAc,gBAElBzB,KAAA,CAAA0E,aAAA,CAACnE,IAAI;IACHqE,KAAK,EAAE,CACLC,MAAM,CAACI,iBAAiB,EACxB;MACEC,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAACnE,UAAU,GAAG;MAAE,CAAC,CAAC;MAC5C+D,MAAM,EAAE/D;IACV,CAAC,EACDW,KAAK,CAACyD,iCAAiC;EACvC,CACH,CAAC,eACFpF,KAAA,CAAA0E,aAAA,CAACpE,QAAQ,CAAC+E,QAAQ,EAAAV,QAAA,KACZjD,aAAa;IACjB4D,GAAG,EAAEtD,WAAY;IACjBuD,mBAAmB;IACnBX,KAAK,EAAEC,MAAM,CAACW,UAAW;IACzBC,4BAA4B,EAAE,KAAM;IACpCC,QAAQ,EAAEpF,QAAQ,CAAC4C,KAAK,CACtB,CAAC;MAAEI,WAAW,EAAE;QAAEC,aAAa,EAAE;UAAEC,CAAC,EAAEvB;QAAQ;MAAE;IAAE,CAAC,CAAC,EACpD;MAAE0D,eAAe,EAAE;IAAK,CAC1B,CAAE;IACFC,eAAe,EAAE5B,mBAAoB;IACrC6B,qBAAqB,EAAEhC,yBAA0B;IACjDiC,mBAAmB,EAAE/B,uBAAwB;IAC7CgC,aAAa,EAAEtD,OAAQ;IACvBjB,gBAAgB,EAAEA,gBAAiB;IACnCwE,kBAAkB,EAAEnE,aAAc;IAClCoE,aAAa,EAAEA,CAACpD,CAAC,EAAEY,KAAK,MAAM;MAC5Bd,MAAM,EAAE3B,UAAU;MAClBkF,MAAM,EAAElF,UAAU,GAAGyC,KAAK;MAC1BA;IACF,CAAC,CAAE;IACH0C,IAAI,EAAE/D,aAAc;IACpBgE,YAAY,EAAEA,CAACrE,IAAI,EAAE0B,KAAK,KACxB1B,IAAI,GAAI,GAAEA,IAAI,CAAClB,KAAM,IAAGkB,IAAI,CAACsE,IAAK,IAAG5C,KAAM,EAAC,GAAI,QAAOA,KAAM,EAC9D;IACD6C,UAAU,EAAEA,CAAC;MAAEvE,IAAI,EAAEwE,MAAM;MAAE9C;IAAM,CAAC,kBAClCzD,KAAA,CAAA0E,aAAA,CAAChE,eAAe;MACd8F,GAAG,EAAG,UAAS/C,KAAM,EAAE;MACvBA,KAAK,EAAEA,KAAM;MACb8C,MAAM,EAAEA,MAAO;MACfxB,MAAM,EAAE/D,UAAW;MACnB8B,kBAAkB,EAAEA,kBAAmB;MACvC7B,aAAa,EAAEA,aAAc;MAC7BE,gBAAgB,EAAEA,gBAAiB;MACnCG,eAAe,EAAEA,eAAgB;MACjCC,WAAW,EAAEA;IAAY,CAC1B;EACD,EACH,CACG,CAAC;AAEX,CAAC;AAED,MAAMsD,MAAM,GAAGpE,UAAU,CAACgG,MAAM,CAAC;EAC/B3B,SAAS,EAAE;IACT4B,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;EACZ,CAAC;EACD1B,iBAAiB,EAAE;IACjB0B,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,GAAG,EAAE;EACP,CAAC;EACDrB,UAAU,EAAE;IACVsB,QAAQ,EAAE,QAAQ;IAClBC,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,4BAAe1G,IAAI,CAACO,WAAW,CAAC"}
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","useState","memo","Animated","View","Platform","StyleSheet","WheelPickerItem","useCalendarContext","WheelPicker","value","options","onChange","itemHeight","scaleFunction","x","rotationFunction","Math","pow","opacityFunction","visibleRest","decelerationRate","containerProps","theme","selectedIndex","findIndex","item","timerRef","flatListRef","scrollY","Value","containerHeight","paddedOptions","array","i","unshift","push","offsets","Array","length","map","_","currentScrollIndex","add","divide","handleScrollEnd","event","_options$index","current","clearTimeout","offsetY","min","max","nativeEvent","contentOffset","y","index","floor","remainder","setTimeout","undefined","scrollEvent","useNativeDriver","listener","Error","_flatListRef$current","scrollToIndex","animated","OS","createElement","_extends","style","styles","container","height","wheelPickerContainerStyle","selectedIndicator","transform","translateY","wheelPickerSelectedIndicatorStyle","FlatList","ref","nestedScrollEnabled","scrollView","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","snapToOffsets","onMomentumScrollEnd","initialScrollIndex","getItemLayout","offset","data","keyExtractor","text","renderItem","option","key","create","display","position","width","top","overflow","flex"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/wheel-picker.tsx"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { sin } from './animated-math';
8
8
  const ITEM_HEIGHT = 44;
9
9
  const WheelWeb = ({
10
10
  value,
11
- setValue = () => {},
11
+ onChange = () => {},
12
12
  items
13
13
  }) => {
14
14
  const {
@@ -43,10 +43,10 @@ const WheelWeb = ({
43
43
  if ((newValue === null || newValue === void 0 ? void 0 : newValue.value) === value) {
44
44
  translateY.setOffset(0);
45
45
  translateY.setValue(0);
46
- } else if (newValue !== null && newValue !== void 0 && newValue.value) setValue(newValue.value);else if ((_items$ = items[0]) !== null && _items$ !== void 0 && _items$.value) setValue(items[0].value);
46
+ } else if (newValue !== null && newValue !== void 0 && newValue.value) onChange(newValue.value);else if ((_items$ = items[0]) !== null && _items$ !== void 0 && _items$.value) onChange(items[0].value);
47
47
  }
48
48
  });
49
- }, [circular, displayCount, radius, setValue, value, valueIndex, items, translateY]);
49
+ }, [circular, displayCount, radius, onChange, value, valueIndex, items, translateY]);
50
50
  const displayValues = useMemo(() => {
51
51
  const centerIndex = Math.floor(renderCount / 2);
52
52
  return Array.from({
@@ -83,9 +83,7 @@ const WheelWeb = ({
83
83
  }), displayValues === null || displayValues === void 0 ? void 0 : displayValues.map((displayValue, index) => {
84
84
  const animatedAngle = animatedAngles[index];
85
85
  return /*#__PURE__*/React.createElement(Animated.View, {
86
- key: `${displayValue === null || displayValue === void 0 ? void 0 : displayValue.text}-${index}`
87
- // eslint-disable-next-line react-native/no-inline-styles
88
- ,
86
+ key: `${displayValue === null || displayValue === void 0 ? void 0 : displayValue.text}-${index}`,
89
87
  style: {
90
88
  position: 'absolute',
91
89
  height: ITEM_HEIGHT - 10,
@@ -130,7 +128,7 @@ const defaultStyles = StyleSheet.create({
130
128
  }
131
129
  });
132
130
  const customComparator = (prev, next) => {
133
- const areEqual = prev.value === next.value && prev.setValue === next.setValue && isEqual(prev.items, next.items);
131
+ const areEqual = prev.value === next.value && prev.onChange === next.onChange && isEqual(prev.items, next.items);
134
132
  return areEqual;
135
133
  };
136
134
  export default /*#__PURE__*/memo(WheelWeb, customComparator);
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","useRef","Animated","PanResponder","StyleSheet","View","Platform","Text","isEqual","CONTAINER_HEIGHT","useCalendarContext","sin","ITEM_HEIGHT","WheelWeb","value","setValue","items","theme","displayCount","translateY","Value","current","renderCount","length","circular","height","radius","valueIndex","findIndex","item","panResponder","create","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","evt","gestureState","dy","stopPropagation","onPanResponderRelease","_","_items$","extractOffset","newValueIndex","Math","round","newValue","setOffset","displayValues","centerIndex","floor","Array","from","index","targetIndex","max","min","animatedAngles","currentIndex","map","interpolate","inputRange","outputRange","extrapolate","PI","createElement","_extends","style","defaultStyles","container","wheelPickerContainerStyle","panHandlers","selectedIndicator","transform","wheelPickerSelectedIndicatorStyle","displayValue","animatedAngle","key","text","position","multiply","rotateX","opacity","wheelPickerTextStyle","minWidth","overflow","alignItems","justifyContent","select","web","cursor","userSelect","contentContainer","width","top","customComparator","prev","next","areEqual"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelWeb.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","memo","useMemo","useRef","Animated","PanResponder","StyleSheet","View","Platform","Text","isEqual","CONTAINER_HEIGHT","useCalendarContext","sin","ITEM_HEIGHT","WheelWeb","value","onChange","items","theme","displayCount","translateY","Value","current","renderCount","length","circular","height","radius","valueIndex","findIndex","item","panResponder","create","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onPanResponderGrant","setValue","onPanResponderMove","evt","gestureState","dy","stopPropagation","onPanResponderRelease","_","_items$","extractOffset","newValueIndex","Math","round","newValue","setOffset","displayValues","centerIndex","floor","Array","from","index","targetIndex","max","min","animatedAngles","currentIndex","map","interpolate","inputRange","outputRange","extrapolate","PI","createElement","_extends","style","defaultStyles","container","wheelPickerContainerStyle","panHandlers","selectedIndicator","transform","wheelPickerSelectedIndicatorStyle","displayValue","animatedAngle","key","text","position","multiply","rotateX","opacity","wheelPickerTextStyle","minWidth","overflow","alignItems","justifyContent","select","web","cursor","userSelect","contentContainer","width","top","customComparator","prev","next","areEqual"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelWeb.tsx"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import React, { useCallback, useEffect, useMemo, useRef } from 'react';
2
+ import { View, StyleSheet } from 'react-native';
3
+ import { useCalendarContext } from '../CalendarContext';
4
+ import { getFormatted, getParsedDate, getDaysNumInMonth, getTimeRange, getDate } from '../utils';
5
+ import Wheel from './WheelPicker/Wheel';
6
+ function createNumberList(start, end, first = 1) {
7
+ return new Array(end - start).fill(0).map((_, index) => ({
8
+ value: index + first + start,
9
+ text: String(index + first + start).padStart(2, '0')
10
+ }));
11
+ }
12
+ const WheelSelector = ({
13
+ type
14
+ }) => {
15
+ const {
16
+ date,
17
+ currentDate,
18
+ onSelectYear,
19
+ onSelectMonth,
20
+ onSelectDate,
21
+ minDate = '1900-01-01',
22
+ maxDate = '2099-12-31'
23
+ } = useCalendarContext();
24
+ const latestValues = useRef({
25
+ date,
26
+ currentDate
27
+ });
28
+ const {
29
+ year,
30
+ month
31
+ } = useMemo(() => {
32
+ const cd = getDate(currentDate);
33
+ if (cd.isAfter(getDate(maxDate))) return getParsedDate(maxDate);
34
+ if (cd.isBefore(getDate(minDate))) return getParsedDate(minDate);
35
+ return getParsedDate(cd);
36
+ }, [currentDate, maxDate, minDate]);
37
+ const {
38
+ year: startYear,
39
+ month: startMonth
40
+ } = getParsedDate(minDate);
41
+ const {
42
+ year: endYear,
43
+ month: endMonth
44
+ } = getParsedDate(maxDate);
45
+ const {
46
+ hour,
47
+ minute,
48
+ second
49
+ } = getParsedDate(currentDate);
50
+ const years = createNumberList(startYear - 1, endYear);
51
+ const months = useMemo(() => createNumberList(startYear === year ? startMonth : 0, endYear === year ? endMonth + 1 : 12), [endMonth, endYear, startMonth, startYear, year]);
52
+ const days = useMemo(() => getDaysNumInMonth(year, month + 1, minDate, maxDate), [year, month, minDate, maxDate]);
53
+ const hours = useMemo(() => createNumberList(...getTimeRange(currentDate, minDate, maxDate, 'hour'), 0), [currentDate, maxDate, minDate]);
54
+ const minutes = useMemo(() => createNumberList(...getTimeRange(currentDate, minDate, maxDate, 'minute'), 0), [currentDate, maxDate, minDate]);
55
+ const seconds = useMemo(() => createNumberList(...getTimeRange(currentDate, minDate, maxDate, 'second'), 0), [currentDate, maxDate, minDate]);
56
+ const handleChangeDate = useCallback((value, type) => {
57
+ const {
58
+ date: latestDate,
59
+ currentDate: latestCurrentDate
60
+ } = latestValues.current;
61
+ const newDate = getDate(latestDate || latestCurrentDate)[type](value);
62
+ onSelectDate(getFormatted(newDate));
63
+ }, [onSelectDate]);
64
+ const renderItem = () => {
65
+ if (type === 'year') return /*#__PURE__*/React.createElement(Wheel, {
66
+ value: year,
67
+ items: years,
68
+ key: "year",
69
+ onChange: value => onSelectYear(value)
70
+ });
71
+ if (type === 'month') return /*#__PURE__*/React.createElement(Wheel, {
72
+ key: "month",
73
+ value: month + 1,
74
+ items: months,
75
+ onChange: value => onSelectMonth(value - 1)
76
+ });
77
+ if (type === 'day') return /*#__PURE__*/React.createElement(Wheel, {
78
+ key: "day",
79
+ value: getDate(currentDate).date(),
80
+ items: days,
81
+ onChange: value => handleChangeDate(value, 'date')
82
+ });
83
+ if (type === 'hour') return /*#__PURE__*/React.createElement(Wheel, {
84
+ key: "hour",
85
+ value: hour,
86
+ items: hours,
87
+ onChange: value => handleChangeDate(value, 'hour')
88
+ });
89
+ if (type === 'minute') return /*#__PURE__*/React.createElement(Wheel, {
90
+ key: "minute",
91
+ value: minute,
92
+ items: minutes,
93
+ onChange: value => handleChangeDate(value, 'minute')
94
+ });
95
+ if (type === 'second') return /*#__PURE__*/React.createElement(Wheel, {
96
+ key: "second",
97
+ value: second,
98
+ items: seconds,
99
+ onChange: value => handleChangeDate(value, 'second')
100
+ });
101
+ return null;
102
+ };
103
+ useEffect(() => {
104
+ latestValues.current = {
105
+ date,
106
+ currentDate
107
+ };
108
+ }, [date, currentDate]);
109
+ return /*#__PURE__*/React.createElement(View, {
110
+ style: styles.wheelContainer,
111
+ key: 'date-' + type
112
+ }, renderItem());
113
+ };
114
+ const styles = StyleSheet.create({
115
+ wheelContainer: {
116
+ flex: 1
117
+ }
118
+ });
119
+ export default WheelSelector;
120
+ //# sourceMappingURL=WheelSelector.js.map