@momo-kits/date-picker 0.92.21-beta.0 → 0.92.21-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.
- package/index.tsx +23 -16
- package/package.json +2 -2
- package/publish.sh +6 -6
- package/styles.ts +4 -6
- package/types.ts +2 -1
package/index.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
import {
|
|
3
|
-
import { Spacing, Text
|
|
1
|
+
import React, {FC, useEffect, useState} from 'react';
|
|
2
|
+
import {Dimensions, LayoutChangeEvent, Platform, View} from 'react-native';
|
|
3
|
+
import {scaleSize, Spacing, Text} from '@momo-kits/foundation';
|
|
4
4
|
import WheelPicker from './WheelPicker';
|
|
5
5
|
import {
|
|
6
6
|
getDaysInMonth,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
getYears,
|
|
11
11
|
timeMode,
|
|
12
12
|
} from './utils';
|
|
13
|
-
import {
|
|
13
|
+
import {DateObject, DateTimePickerProps, PickerDataObject} from './types';
|
|
14
14
|
import styles from './styles';
|
|
15
15
|
|
|
16
16
|
const date = new Date();
|
|
@@ -28,7 +28,8 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
28
28
|
selectedValue = date,
|
|
29
29
|
minDate = minDateDefault,
|
|
30
30
|
maxDate = maxDateDefault,
|
|
31
|
-
arrayLabelTime = []
|
|
31
|
+
arrayLabelTime = [],
|
|
32
|
+
style,
|
|
32
33
|
}) => {
|
|
33
34
|
const [data, setData] = useState<DateObject[]>([]);
|
|
34
35
|
let [currentDate, setCurrentDate] = useState<PickerDataObject>({
|
|
@@ -42,7 +43,7 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
42
43
|
|
|
43
44
|
useEffect(() => {
|
|
44
45
|
setupData();
|
|
45
|
-
return () => {
|
|
46
|
+
return () => {};
|
|
46
47
|
}, [selectedValue, currentDate]);
|
|
47
48
|
|
|
48
49
|
useEffect(() => {
|
|
@@ -55,7 +56,7 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
55
56
|
const formatParts = format.split(/[^A-Za-z]+/);
|
|
56
57
|
const isOnlyHour = formatParts.length === 1 && formatParts[0] === 'HH';
|
|
57
58
|
|
|
58
|
-
const componentData: {
|
|
59
|
+
const componentData: {[key: string]: DateObject} = {
|
|
59
60
|
DD: {
|
|
60
61
|
name: 'day',
|
|
61
62
|
data: getDaysInMonth(
|
|
@@ -73,8 +74,8 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
73
74
|
name: 'year',
|
|
74
75
|
data: getYears(minDate, maxDate),
|
|
75
76
|
},
|
|
76
|
-
HH: {
|
|
77
|
-
mm: {
|
|
77
|
+
HH: {name: 'hour', data: getHours(isOnlyHour ? 12 : 24)},
|
|
78
|
+
mm: {name: 'min', data: getMinutes(minuteInterval)},
|
|
78
79
|
};
|
|
79
80
|
|
|
80
81
|
const initialData = formatParts.map(part => {
|
|
@@ -88,7 +89,7 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
88
89
|
});
|
|
89
90
|
|
|
90
91
|
if (isOnlyHour) {
|
|
91
|
-
initialData.push({
|
|
92
|
+
initialData.push({name: 'timeMode', data: timeMode});
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
setData(initialData);
|
|
@@ -133,15 +134,21 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
133
134
|
};
|
|
134
135
|
|
|
135
136
|
return (
|
|
136
|
-
<View
|
|
137
|
+
<View
|
|
138
|
+
onLayout={onLayout}
|
|
139
|
+
style={[
|
|
140
|
+
style,
|
|
141
|
+
styles.datePicker,
|
|
142
|
+
{
|
|
143
|
+
height: arrayLabelTime.length > 0 ? scaleSize(238) : scaleSize(210),
|
|
144
|
+
},
|
|
145
|
+
]}>
|
|
137
146
|
{data.map((dataItem, index) => {
|
|
138
147
|
return (
|
|
139
148
|
<View>
|
|
140
149
|
{arrayLabelTime[index] && (
|
|
141
|
-
<View style={{
|
|
142
|
-
<Text typography="
|
|
143
|
-
{arrayLabelTime[index]}
|
|
144
|
-
</Text>
|
|
150
|
+
<View style={{alignItems: 'center', marginBottom: Spacing.S}}>
|
|
151
|
+
<Text typography="action_s_bold">{arrayLabelTime[index]}</Text>
|
|
145
152
|
</View>
|
|
146
153
|
)}
|
|
147
154
|
<WheelPicker
|
|
@@ -159,7 +166,7 @@ const DateTimePicker: FC<DateTimePickerProps> = ({
|
|
|
159
166
|
}}
|
|
160
167
|
/>
|
|
161
168
|
</View>
|
|
162
|
-
)
|
|
169
|
+
);
|
|
163
170
|
})}
|
|
164
171
|
</View>
|
|
165
172
|
);
|
package/package.json
CHANGED
package/publish.sh
CHANGED
|
@@ -7,16 +7,16 @@ rsync -r --exclude=/dist ./* dist
|
|
|
7
7
|
cd dist
|
|
8
8
|
|
|
9
9
|
if [ "$1" == "stable" ]; then
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
npm version $(npm view @momo-kits/date-picker@stable version)
|
|
11
|
+
npm version patch
|
|
12
12
|
npm publish --tag stable --access=public
|
|
13
13
|
elif [ "$1" == "latest" ]; then
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
npm version $(npm view @momo-kits/foundation@latest version)
|
|
15
|
+
npm version prerelease --preid=rc
|
|
16
16
|
npm publish --tag latest --access=public
|
|
17
17
|
else
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
npm version $(npm view @momo-kits/date-picker@beta version)
|
|
19
|
+
npm version prerelease --preid=beta
|
|
20
20
|
npm publish --tag beta --access=public
|
|
21
21
|
fi
|
|
22
22
|
|
package/styles.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import {StyleSheet} from 'react-native';
|
|
2
|
+
import {Colors, Radius, scaleSize, Spacing} from '@momo-kits/foundation';
|
|
3
3
|
|
|
4
4
|
export default StyleSheet.create({
|
|
5
5
|
wheelItem: {
|
|
@@ -11,7 +11,7 @@ export default StyleSheet.create({
|
|
|
11
11
|
wheelPicker: {
|
|
12
12
|
borderWidth: 1,
|
|
13
13
|
borderRadius: Radius.S,
|
|
14
|
-
flex: 1
|
|
14
|
+
flex: 1,
|
|
15
15
|
},
|
|
16
16
|
overlay: {
|
|
17
17
|
position: 'absolute',
|
|
@@ -27,10 +27,8 @@ export default StyleSheet.create({
|
|
|
27
27
|
backgroundColor: Colors.blue_10,
|
|
28
28
|
},
|
|
29
29
|
datePicker: {
|
|
30
|
-
height: 245,
|
|
31
30
|
overflow: 'hidden',
|
|
32
31
|
flexDirection: 'row',
|
|
33
32
|
justifyContent: 'space-evenly',
|
|
34
|
-
marginBottom: Spacing.XL,
|
|
35
33
|
},
|
|
36
|
-
});
|
|
34
|
+
});
|
package/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {ViewStyle} from 'react-native';
|
|
2
2
|
|
|
3
3
|
export type DateTimePickerProps = {
|
|
4
4
|
/**
|
|
@@ -35,6 +35,7 @@ export type DateTimePickerProps = {
|
|
|
35
35
|
*/
|
|
36
36
|
arrayLabelTime?: string[];
|
|
37
37
|
|
|
38
|
+
style?: ViewStyle;
|
|
38
39
|
};
|
|
39
40
|
|
|
40
41
|
/**
|