react-native-dates-picker 0.0.9 → 0.1.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.
- package/README.md +27 -28
- package/lib/commonjs/CalendarContext.js.map +1 -1
- package/lib/commonjs/DateTimePicker.js +15 -8
- package/lib/commonjs/DateTimePicker.js.map +1 -1
- package/lib/commonjs/components/Calendar.js +14 -12
- package/lib/commonjs/components/Calendar.js.map +1 -1
- package/lib/commonjs/components/DatePicker.js +46 -58
- package/lib/commonjs/components/DatePicker.js.map +1 -1
- package/lib/commonjs/components/Day.js +18 -16
- package/lib/commonjs/components/Day.js.map +1 -1
- package/lib/commonjs/components/DaySelector.js +12 -12
- package/lib/commonjs/components/DaySelector.js.map +1 -1
- package/lib/commonjs/components/Header.js +27 -25
- package/lib/commonjs/components/Header.js.map +1 -1
- package/lib/commonjs/components/MonthSelector.js +9 -7
- package/lib/commonjs/components/MonthSelector.js.map +1 -1
- package/lib/commonjs/components/TimeSelector.js +22 -17
- package/lib/commonjs/components/TimeSelector.js.map +1 -1
- package/lib/commonjs/components/WheelPicker/Wheel.js +9 -4
- package/lib/commonjs/components/WheelPicker/Wheel.js.map +1 -1
- package/lib/commonjs/components/WheelPicker/WheelNative.js +14 -47
- package/lib/commonjs/components/WheelPicker/WheelNative.js.map +1 -1
- package/lib/commonjs/components/WheelPicker/WheelNativePicker/index.js +10 -0
- package/lib/commonjs/components/WheelPicker/WheelNativePicker/index.js.map +1 -0
- package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker-item.js +130 -0
- package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker-item.js.map +1 -0
- package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker.js +174 -0
- package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker.js.map +1 -0
- package/lib/commonjs/components/WheelPicker/WheelWeb.js +51 -38
- package/lib/commonjs/components/WheelPicker/WheelWeb.js.map +1 -1
- package/lib/commonjs/components/WheelPicker/animated-math.js +26 -0
- package/lib/commonjs/components/WheelPicker/animated-math.js.map +1 -0
- package/lib/commonjs/components/WheelPicker/period-native.js +36 -0
- package/lib/commonjs/components/WheelPicker/period-native.js.map +1 -0
- package/lib/commonjs/components/WheelPicker/period-picker.js +19 -0
- package/lib/commonjs/components/WheelPicker/period-picker.js.map +1 -0
- package/lib/commonjs/components/WheelPicker/period-web.js +34 -0
- package/lib/commonjs/components/WheelPicker/period-web.js.map +1 -0
- package/lib/commonjs/components/YearSelector.js +10 -8
- package/lib/commonjs/components/YearSelector.js.map +1 -1
- package/lib/commonjs/enums.js +5 -4
- package/lib/commonjs/enums.js.map +1 -1
- package/lib/commonjs/utils.js +4 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/CalendarContext.js.map +1 -1
- package/lib/module/DateTimePicker.js +11 -6
- package/lib/module/DateTimePicker.js.map +1 -1
- package/lib/module/components/Calendar.js +4 -4
- package/lib/module/components/Calendar.js.map +1 -1
- package/lib/module/components/DatePicker.js +36 -50
- package/lib/module/components/DatePicker.js.map +1 -1
- package/lib/module/components/Day.js +8 -8
- package/lib/module/components/Day.js.map +1 -1
- package/lib/module/components/DaySelector.js +4 -4
- package/lib/module/components/DaySelector.js.map +1 -1
- package/lib/module/components/Header.js +3 -3
- package/lib/module/components/Header.js.map +1 -1
- package/lib/module/components/MonthSelector.js +3 -2
- package/lib/module/components/MonthSelector.js.map +1 -1
- package/lib/module/components/TimeSelector.js +10 -7
- package/lib/module/components/TimeSelector.js.map +1 -1
- package/lib/module/components/WheelPicker/Wheel.js +6 -3
- package/lib/module/components/WheelPicker/Wheel.js.map +1 -1
- package/lib/module/components/WheelPicker/WheelNative.js +10 -45
- package/lib/module/components/WheelPicker/WheelNative.js.map +1 -1
- package/lib/module/components/WheelPicker/WheelNativePicker/index.js +3 -0
- package/lib/module/components/WheelPicker/WheelNativePicker/index.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker-item.js +122 -0
- package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker-item.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker.js +165 -0
- package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelWeb.js +48 -37
- package/lib/module/components/WheelPicker/WheelWeb.js.map +1 -1
- package/lib/module/components/WheelPicker/animated-math.js +20 -0
- package/lib/module/components/WheelPicker/animated-math.js.map +1 -0
- package/lib/module/components/WheelPicker/period-native.js +27 -0
- package/lib/module/components/WheelPicker/period-native.js.map +1 -0
- package/lib/module/components/WheelPicker/period-picker.js +10 -0
- package/lib/module/components/WheelPicker/period-picker.js.map +1 -0
- package/lib/module/components/WheelPicker/period-web.js +26 -0
- package/lib/module/components/WheelPicker/period-web.js.map +1 -0
- package/lib/module/components/YearSelector.js +3 -3
- package/lib/module/components/YearSelector.js.map +1 -1
- package/lib/module/enums.js +4 -3
- package/lib/module/enums.js.map +1 -1
- package/lib/module/utils.js +4 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/CalendarContext.d.ts.map +1 -1
- package/lib/typescript/DateTimePicker.d.ts +3 -3
- package/lib/typescript/DateTimePicker.d.ts.map +1 -1
- package/lib/typescript/components/Calendar.d.ts +3 -3
- package/lib/typescript/components/Calendar.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker.d.ts +2 -2
- package/lib/typescript/components/DatePicker.d.ts.map +1 -1
- package/lib/typescript/components/Day.d.ts +4 -5
- package/lib/typescript/components/Day.d.ts.map +1 -1
- package/lib/typescript/components/DaySelector.d.ts +2 -2
- package/lib/typescript/components/DaySelector.d.ts.map +1 -1
- package/lib/typescript/components/Header.d.ts +3 -3
- package/lib/typescript/components/Header.d.ts.map +1 -1
- package/lib/typescript/components/MonthSelector.d.ts +2 -2
- package/lib/typescript/components/MonthSelector.d.ts.map +1 -1
- package/lib/typescript/components/TimeSelector.d.ts +2 -2
- package/lib/typescript/components/TimeSelector.d.ts.map +1 -1
- package/lib/typescript/components/WheelPicker/Wheel.d.ts +5 -6
- package/lib/typescript/components/WheelPicker/Wheel.d.ts.map +1 -1
- package/lib/typescript/components/WheelPicker/WheelNative.d.ts +7 -8
- package/lib/typescript/components/WheelPicker/WheelNative.d.ts.map +1 -1
- package/lib/typescript/components/WheelPicker/WheelNativePicker/index.d.ts +3 -0
- package/lib/typescript/components/WheelPicker/WheelNativePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker-item.d.ts +16 -0
- package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker-item.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker.d.ts +19 -0
- package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelWeb.d.ts +6 -5
- package/lib/typescript/components/WheelPicker/WheelWeb.d.ts.map +1 -1
- package/lib/typescript/components/WheelPicker/animated-math.d.ts +5 -0
- package/lib/typescript/components/WheelPicker/animated-math.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/period-native.d.ts +8 -0
- package/lib/typescript/components/WheelPicker/period-native.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/period-picker.d.ts +8 -0
- package/lib/typescript/components/WheelPicker/period-picker.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/period-web.d.ts +8 -0
- package/lib/typescript/components/WheelPicker/period-web.d.ts.map +1 -0
- package/lib/typescript/components/YearSelector.d.ts +2 -2
- package/lib/typescript/components/YearSelector.d.ts.map +1 -1
- package/lib/typescript/enums.d.ts +2 -1
- package/lib/typescript/enums.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +5 -2
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils.d.ts +2 -2
- package/lib/typescript/utils.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/DateTimePicker.tsx +20 -15
- package/src/components/Calendar.tsx +8 -8
- package/src/components/DatePicker.tsx +38 -66
- package/src/components/Day.tsx +9 -9
- package/src/components/DaySelector.tsx +6 -6
- package/src/components/Header.tsx +5 -5
- package/src/components/MonthSelector.tsx +4 -3
- package/src/components/TimeSelector.tsx +11 -12
- package/src/components/WheelPicker/Wheel.tsx +10 -10
- package/src/components/WheelPicker/WheelNative.tsx +13 -47
- package/src/components/WheelPicker/WheelNativePicker/index.ts +3 -0
- package/src/components/WheelPicker/WheelNativePicker/wheel-picker-item.tsx +140 -0
- package/src/components/WheelPicker/WheelNativePicker/wheel-picker.tsx +220 -0
- package/src/components/WheelPicker/WheelWeb.tsx +92 -65
- package/src/components/WheelPicker/animated-math.ts +33 -0
- package/src/components/WheelPicker/period-native.tsx +39 -0
- package/src/components/WheelPicker/period-picker.tsx +16 -0
- package/src/components/WheelPicker/period-web.tsx +37 -0
- package/src/components/YearSelector.tsx +4 -4
- package/src/enums.ts +4 -3
- package/src/types.ts +6 -2
- package/src/utils.ts +3 -3
- /package/src/{CalendarContext.tsx → CalendarContext.ts} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
|
+
import { Pressable, StyleSheet, Text, View } from 'react-native';
|
|
3
|
+
|
|
4
|
+
interface PeriodProps {
|
|
5
|
+
value: string;
|
|
6
|
+
setValue?: (value: any) => void;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const PeriodWeb: React.FC<PeriodProps> = ({ value, setValue = () => {} }) => {
|
|
10
|
+
return (
|
|
11
|
+
<Pressable onPress={() => setValue(value == 'AM' ? 'PM' : 'AM')}>
|
|
12
|
+
<View style={[defaultStyles.period]}>
|
|
13
|
+
<Text>{value}</Text>
|
|
14
|
+
</View>
|
|
15
|
+
</Pressable>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const defaultStyles = StyleSheet.create({
|
|
20
|
+
period: {
|
|
21
|
+
width: 65,
|
|
22
|
+
height: 44,
|
|
23
|
+
alignItems: 'center',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const customComparator = (
|
|
29
|
+
prev: Readonly<PeriodProps>,
|
|
30
|
+
next: Readonly<PeriodProps>
|
|
31
|
+
) => {
|
|
32
|
+
const areEqual = prev.value === next.value && prev.setValue === next.setValue;
|
|
33
|
+
|
|
34
|
+
return areEqual;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export default memo(PeriodWeb, customComparator);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Text,
|
|
4
4
|
View,
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
TextStyle,
|
|
8
8
|
ViewStyle,
|
|
9
9
|
} from 'react-native';
|
|
10
|
-
import { useCalendarContext } from '
|
|
11
|
-
import { getDateYear, getYearRange } from '
|
|
10
|
+
import { useCalendarContext } from 'src/CalendarContext';
|
|
11
|
+
import { getDateYear, getYearRange } from 'src/utils';
|
|
12
12
|
|
|
13
|
-
const YearSelector = () => {
|
|
13
|
+
const YearSelector: React.FC = () => {
|
|
14
14
|
const { currentDate, currentYear, onSelectYear, theme } =
|
|
15
15
|
useCalendarContext();
|
|
16
16
|
const selectedYear = getDateYear(currentDate);
|
package/src/enums.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @Author: limit
|
|
3
3
|
* @Date: 2024-07-17 05:09:59
|
|
4
|
-
* @LastEditTime:
|
|
4
|
+
* @LastEditTime: 2025-08-07 16:31:49
|
|
5
5
|
* @LastEditors: limit
|
|
6
|
-
* @FilePath: /
|
|
6
|
+
* @FilePath: /react-native-date-picker/src/enums.ts
|
|
7
7
|
* @Description: 由limit创建!
|
|
8
8
|
*/
|
|
9
9
|
export type CalendarViews = 'day' | 'month' | 'year' | 'time';
|
|
@@ -17,4 +17,5 @@ export enum CalendarActionKind {
|
|
|
17
17
|
CHANGE_SELECTED_MULTIPLE = 'CHANGE_SELECTED_MULTIPLE',
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export const
|
|
20
|
+
export const CONTAINER_HEIGHT = 300;
|
|
21
|
+
export const WEEKDAYS_HEIGHT = 25;
|
package/src/types.ts
CHANGED
|
@@ -47,8 +47,7 @@ export type CalendarThemeProps = {
|
|
|
47
47
|
wheelPickerContainerStyle?: ViewStyle;
|
|
48
48
|
wheelPickerItemStyle?: ViewStyle;
|
|
49
49
|
wheelPickerTextStyle?: TextStyle;
|
|
50
|
-
|
|
51
|
-
wheelPickerDecelerationRate?: 'normal' | 'fast' | number;
|
|
50
|
+
wheelPickerSelectedIndicatorStyle?: ViewStyle;
|
|
52
51
|
selectedRangeBackgroundColor?: string;
|
|
53
52
|
};
|
|
54
53
|
|
|
@@ -109,3 +108,8 @@ export interface DatePickerBaseProps {
|
|
|
109
108
|
initialView?: CalendarViews;
|
|
110
109
|
height?: number;
|
|
111
110
|
}
|
|
111
|
+
|
|
112
|
+
export type PickerOption = {
|
|
113
|
+
value: number | string;
|
|
114
|
+
text: string;
|
|
115
|
+
};
|
package/src/utils.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
|
-
import type { DateType, IDayObject } from './types';
|
|
2
|
+
import type { DateType, IDayObject, PickerOption } from './types';
|
|
3
3
|
|
|
4
4
|
export const CALENDAR_FORMAT = 'YYYY-MM-DD HH:mm:ss';
|
|
5
5
|
export const DATE_FORMAT = 'YYYY-MM-DD';
|
|
@@ -105,7 +105,7 @@ export function getDaysNumInMonth(
|
|
|
105
105
|
month: number,
|
|
106
106
|
minDate: DateType,
|
|
107
107
|
maxDate: DateType
|
|
108
|
-
):
|
|
108
|
+
): Array<PickerOption> {
|
|
109
109
|
const formattedMonth = String(month).padStart(2, '0');
|
|
110
110
|
const date = dayjs(`${year}-${formattedMonth}-01`);
|
|
111
111
|
const daysInMonth = date.daysInMonth();
|
|
@@ -121,7 +121,7 @@ export function getDaysNumInMonth(
|
|
|
121
121
|
(currentDate.isAfter(minDay) || currentDate.isSame(minDay, 'day')) &&
|
|
122
122
|
(currentDate.isBefore(maxDay) || currentDate.isSame(maxDay, 'day'))
|
|
123
123
|
)
|
|
124
|
-
daysArray.push(String(day).padStart(2, '0'));
|
|
124
|
+
daysArray.push({ value: day, text: String(day).padStart(2, '0') });
|
|
125
125
|
}
|
|
126
126
|
return daysArray;
|
|
127
127
|
}
|
|
File without changes
|