@dreamstack-us/kaal 0.0.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/lib/module/components/CalendarGrid/CalendarGrid.js +112 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.styles.js +46 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.styles.js.map +1 -0
- package/lib/module/components/CalendarGrid/DayCell.js +96 -0
- package/lib/module/components/CalendarGrid/DayCell.js.map +1 -0
- package/lib/module/components/CalendarGrid/index.js +4 -0
- package/lib/module/components/CalendarGrid/index.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.android.js +66 -0
- package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.ios.js +74 -0
- package/lib/module/components/DatePicker/DatePicker.ios.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.js +9 -0
- package/lib/module/components/DatePicker/DatePicker.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.styles.js +35 -0
- package/lib/module/components/DatePicker/DatePicker.styles.js.map +1 -0
- package/lib/module/components/DatePicker/DatePicker.web.js +32 -0
- package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -0
- package/lib/module/components/DatePicker/index.js +4 -0
- package/lib/module/components/DatePicker/index.js.map +1 -0
- package/lib/module/components/TimePicker/ClockFace.js +194 -0
- package/lib/module/components/TimePicker/ClockFace.js.map +1 -0
- package/lib/module/components/TimePicker/MaterialTimePicker.js +122 -0
- package/lib/module/components/TimePicker/MaterialTimePicker.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.android.js +77 -0
- package/lib/module/components/TimePicker/TimePicker.android.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.ios.js +83 -0
- package/lib/module/components/TimePicker/TimePicker.ios.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.js +34 -0
- package/lib/module/components/TimePicker/TimePicker.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.styles.js +180 -0
- package/lib/module/components/TimePicker/TimePicker.styles.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.web.js +37 -0
- package/lib/module/components/TimePicker/TimePicker.web.js.map +1 -0
- package/lib/module/components/TimePicker/TimeWheelPicker.js +178 -0
- package/lib/module/components/TimePicker/TimeWheelPicker.js.map +1 -0
- package/lib/module/components/TimePicker/index.js +7 -0
- package/lib/module/components/TimePicker/index.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelPicker.js +5 -0
- package/lib/module/components/WheelPicker/WheelPicker.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelPicker.styles.js +41 -0
- package/lib/module/components/WheelPicker/WheelPicker.styles.js.map +1 -0
- package/lib/module/components/WheelPicker/WheelPicker.web.js +190 -0
- package/lib/module/components/WheelPicker/WheelPicker.web.js.map +1 -0
- package/lib/module/components/WheelPicker/index.js +4 -0
- package/lib/module/components/WheelPicker/index.js.map +1 -0
- package/lib/module/components/index.js +7 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/hooks/index.js +6 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useCalendar.js +44 -0
- package/lib/module/hooks/useCalendar.js.map +1 -0
- package/lib/module/hooks/useDatePicker.js +30 -0
- package/lib/module/hooks/useDatePicker.js.map +1 -0
- package/lib/module/hooks/useTimePicker.js +125 -0
- package/lib/module/hooks/useTimePicker.js.map +1 -0
- package/lib/module/index.js +22 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/types/datepicker.js +2 -0
- package/lib/module/types/datepicker.js.map +1 -0
- package/lib/module/types/index.js +5 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/timepicker.js +2 -0
- package/lib/module/types/timepicker.js.map +1 -0
- package/lib/module/unistyles.js +9 -0
- package/lib/module/unistyles.js.map +1 -0
- package/lib/module/utils/date.js +205 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/module/utils/index.js +5 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/validation.js +61 -0
- package/lib/module/utils/validation.js.map +1 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +12 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts +45 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts +12 -0
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/index.d.ts +2 -0
- package/lib/typescript/components/CalendarGrid/index.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.android.d.ts +4 -0
- package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.d.ts +15 -0
- package/lib/typescript/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts +4 -0
- package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts +29 -0
- package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.web.d.ts +4 -0
- package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/index.d.ts +3 -0
- package/lib/typescript/components/DatePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/ClockFace.d.ts +12 -0
- package/lib/typescript/components/TimePicker/ClockFace.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts +12 -0
- package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.android.d.ts +4 -0
- package/lib/typescript/components/TimePicker/TimePicker.android.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.d.ts +29 -0
- package/lib/typescript/components/TimePicker/TimePicker.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts +4 -0
- package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts +168 -0
- package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.web.d.ts +10 -0
- package/lib/typescript/components/TimePicker/TimePicker.web.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts +11 -0
- package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/index.d.ts +6 -0
- package/lib/typescript/components/TimePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.d.ts +2 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts +40 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts +10 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/index.d.ts +2 -0
- package/lib/typescript/components/WheelPicker/index.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +5 -0
- package/lib/typescript/components/index.d.ts.map +1 -0
- package/lib/typescript/hooks/index.d.ts +4 -0
- package/lib/typescript/hooks/index.d.ts.map +1 -0
- package/lib/typescript/hooks/useCalendar.d.ts +10 -0
- package/lib/typescript/hooks/useCalendar.d.ts.map +1 -0
- package/lib/typescript/hooks/useDatePicker.d.ts +15 -0
- package/lib/typescript/hooks/useDatePicker.d.ts.map +1 -0
- package/lib/typescript/hooks/useTimePicker.d.ts +52 -0
- package/lib/typescript/hooks/useTimePicker.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +12 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/types/datepicker.d.ts +15 -0
- package/lib/typescript/types/datepicker.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +3 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/types/timepicker.d.ts +54 -0
- package/lib/typescript/types/timepicker.d.ts.map +1 -0
- package/lib/typescript/unistyles.d.ts +3 -0
- package/lib/typescript/unistyles.d.ts.map +1 -0
- package/lib/typescript/utils/date.d.ts +94 -0
- package/lib/typescript/utils/date.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +3 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/validation.d.ts +40 -0
- package/lib/typescript/utils/validation.d.ts.map +1 -0
- package/package.json +101 -0
- package/src/components/CalendarGrid/CalendarGrid.styles.ts +44 -0
- package/src/components/CalendarGrid/CalendarGrid.tsx +151 -0
- package/src/components/CalendarGrid/DayCell.tsx +108 -0
- package/src/components/CalendarGrid/index.ts +1 -0
- package/src/components/DatePicker/DatePicker.android.tsx +69 -0
- package/src/components/DatePicker/DatePicker.ios.tsx +78 -0
- package/src/components/DatePicker/DatePicker.styles.ts +35 -0
- package/src/components/DatePicker/DatePicker.tsx +21 -0
- package/src/components/DatePicker/DatePicker.web.tsx +36 -0
- package/src/components/DatePicker/index.ts +2 -0
- package/src/components/TimePicker/ClockFace.tsx +233 -0
- package/src/components/TimePicker/MaterialTimePicker.tsx +169 -0
- package/src/components/TimePicker/TimePicker.android.tsx +80 -0
- package/src/components/TimePicker/TimePicker.ios.tsx +88 -0
- package/src/components/TimePicker/TimePicker.styles.ts +209 -0
- package/src/components/TimePicker/TimePicker.tsx +35 -0
- package/src/components/TimePicker/TimePicker.web.tsx +35 -0
- package/src/components/TimePicker/TimeWheelPicker.tsx +211 -0
- package/src/components/TimePicker/index.ts +5 -0
- package/src/components/WheelPicker/WheelPicker.styles.ts +39 -0
- package/src/components/WheelPicker/WheelPicker.tsx +2 -0
- package/src/components/WheelPicker/WheelPicker.web.tsx +237 -0
- package/src/components/WheelPicker/index.ts +1 -0
- package/src/components/index.ts +11 -0
- package/src/hooks/index.ts +9 -0
- package/src/hooks/useCalendar.ts +59 -0
- package/src/hooks/useDatePicker.ts +40 -0
- package/src/hooks/useTimePicker.ts +152 -0
- package/src/index.ts +77 -0
- package/src/types/datepicker.ts +17 -0
- package/src/types/index.ts +2 -0
- package/src/types/timepicker.ts +59 -0
- package/src/unistyles.ts +6 -0
- package/src/utils/date.ts +217 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/validation.ts +76 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useCallback, useMemo } from 'react';
|
|
4
|
+
import { FlatList, Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { addMonths, compareDates, formatYearMonth, getDayOfWeek, getFirstDayOfMonth, getMonthDays, isSameDay, today } from "../../utils/date.js";
|
|
6
|
+
import { styles } from "./CalendarGrid.styles.js";
|
|
7
|
+
import { DayCell } from "./DayCell.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const CELL_SIZE = 44;
|
|
10
|
+
const WEEK_DAYS = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
|
|
11
|
+
const generateMonthDays = currentMonth => {
|
|
12
|
+
const firstDay = getFirstDayOfMonth(currentMonth);
|
|
13
|
+
// getDayOfWeek returns 0 for Sunday, we want Monday = 0
|
|
14
|
+
const startOfWeek = getDayOfWeek(firstDay);
|
|
15
|
+
const paddingDays = startOfWeek === 0 ? 6 : startOfWeek - 1;
|
|
16
|
+
const days = [];
|
|
17
|
+
for (let i = 0; i < paddingDays; i++) {
|
|
18
|
+
days.push(null);
|
|
19
|
+
}
|
|
20
|
+
const monthDays = getMonthDays(currentMonth.getUTCFullYear(), currentMonth.getUTCMonth());
|
|
21
|
+
for (const day of monthDays) {
|
|
22
|
+
days.push(day);
|
|
23
|
+
}
|
|
24
|
+
const remaining = 7 - days.length % 7;
|
|
25
|
+
if (remaining < 7) {
|
|
26
|
+
for (let i = 0; i < remaining; i++) {
|
|
27
|
+
days.push(null);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return days;
|
|
31
|
+
};
|
|
32
|
+
export const CalendarGrid = /*#__PURE__*/memo(({
|
|
33
|
+
value,
|
|
34
|
+
onChange,
|
|
35
|
+
minDate,
|
|
36
|
+
maxDate,
|
|
37
|
+
disabledDates,
|
|
38
|
+
themeMode
|
|
39
|
+
}) => {
|
|
40
|
+
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(value));
|
|
41
|
+
const days = useMemo(() => generateMonthDays(currentMonth), [currentMonth]);
|
|
42
|
+
const todayDate = useMemo(() => today(), []);
|
|
43
|
+
const isDisabled = useCallback(date => {
|
|
44
|
+
if (!date) return true;
|
|
45
|
+
if (minDate && compareDates(date, minDate) < 0) return true;
|
|
46
|
+
if (maxDate && compareDates(date, maxDate) > 0) return true;
|
|
47
|
+
if (disabledDates?.some(d => isSameDay(date, d))) return true;
|
|
48
|
+
return false;
|
|
49
|
+
}, [minDate, maxDate, disabledDates]);
|
|
50
|
+
const navigateMonth = useCallback(direction => {
|
|
51
|
+
setCurrentMonth(prev => addMonths(prev, direction));
|
|
52
|
+
}, []);
|
|
53
|
+
const renderDay = useCallback(({
|
|
54
|
+
item
|
|
55
|
+
}) => /*#__PURE__*/_jsx(DayCell, {
|
|
56
|
+
date: item,
|
|
57
|
+
isSelected: item ? isSameDay(item, value) : false,
|
|
58
|
+
isToday: item ? isSameDay(item, todayDate) : false,
|
|
59
|
+
isDisabled: isDisabled(item),
|
|
60
|
+
isWeekend: item ? getDayOfWeek(item) === 0 || getDayOfWeek(item) === 6 : false,
|
|
61
|
+
onPress: item && !isDisabled(item) ? () => onChange(item) : undefined
|
|
62
|
+
}), [value, todayDate, isDisabled, onChange]);
|
|
63
|
+
const keyExtractor = useCallback((item, index) => item?.toISOString() ?? `empty-${index}`, []);
|
|
64
|
+
const getItemLayout = useCallback((_data, index) => ({
|
|
65
|
+
length: CELL_SIZE,
|
|
66
|
+
offset: CELL_SIZE * Math.floor(index / 7),
|
|
67
|
+
index
|
|
68
|
+
}), []);
|
|
69
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
70
|
+
style: styles.container,
|
|
71
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
72
|
+
style: styles.header,
|
|
73
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
74
|
+
onPress: () => navigateMonth(-1),
|
|
75
|
+
style: styles.navButton,
|
|
76
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
77
|
+
style: styles.navText,
|
|
78
|
+
children: "\u2039"
|
|
79
|
+
})
|
|
80
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
81
|
+
style: styles.monthTitle,
|
|
82
|
+
children: formatYearMonth(currentMonth)
|
|
83
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
84
|
+
onPress: () => navigateMonth(1),
|
|
85
|
+
style: styles.navButton,
|
|
86
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
87
|
+
style: styles.navText,
|
|
88
|
+
children: "\u203A"
|
|
89
|
+
})
|
|
90
|
+
})]
|
|
91
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
92
|
+
style: styles.weekDays,
|
|
93
|
+
children: WEEK_DAYS.map(day => /*#__PURE__*/_jsx(Text, {
|
|
94
|
+
style: styles.weekDayText,
|
|
95
|
+
children: day
|
|
96
|
+
}, day))
|
|
97
|
+
}), /*#__PURE__*/_jsx(FlatList, {
|
|
98
|
+
data: days,
|
|
99
|
+
renderItem: renderDay,
|
|
100
|
+
keyExtractor: keyExtractor,
|
|
101
|
+
getItemLayout: getItemLayout,
|
|
102
|
+
numColumns: 7,
|
|
103
|
+
scrollEnabled: false,
|
|
104
|
+
removeClippedSubviews: true,
|
|
105
|
+
maxToRenderPerBatch: 14,
|
|
106
|
+
windowSize: 3,
|
|
107
|
+
initialNumToRender: 42
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
CalendarGrid.displayName = 'CalendarGrid';
|
|
112
|
+
//# sourceMappingURL=CalendarGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","Pressable","Text","View","addMonths","compareDates","formatYearMonth","getDayOfWeek","getFirstDayOfMonth","getMonthDays","isSameDay","today","styles","DayCell","jsx","_jsx","jsxs","_jsxs","CELL_SIZE","WEEK_DAYS","generateMonthDays","currentMonth","firstDay","startOfWeek","paddingDays","days","i","push","monthDays","getUTCFullYear","getUTCMonth","day","remaining","length","CalendarGrid","value","onChange","minDate","maxDate","disabledDates","themeMode","setCurrentMonth","useState","todayDate","isDisabled","date","some","d","navigateMonth","direction","prev","renderDay","item","isSelected","isToday","isWeekend","onPress","undefined","keyExtractor","index","toISOString","getItemLayout","_data","offset","Math","floor","style","container","children","header","navButton","navText","monthTitle","weekDays","map","weekDayText","data","renderItem","numColumns","scrollEnabled","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/CalendarGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from 'react-native-unistyles';
|
|
4
|
+
export const styles = StyleSheet.create(theme => ({
|
|
5
|
+
container: {
|
|
6
|
+
backgroundColor: theme.colors.background.default,
|
|
7
|
+
borderRadius: theme.radii.card,
|
|
8
|
+
padding: theme.spacing(4)
|
|
9
|
+
},
|
|
10
|
+
header: {
|
|
11
|
+
flexDirection: 'row',
|
|
12
|
+
justifyContent: 'space-between',
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
marginBottom: theme.spacing(4),
|
|
15
|
+
paddingHorizontal: theme.spacing(2)
|
|
16
|
+
},
|
|
17
|
+
navButton: {
|
|
18
|
+
width: 40,
|
|
19
|
+
height: 40,
|
|
20
|
+
justifyContent: 'center',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
borderRadius: theme.radii.button
|
|
23
|
+
},
|
|
24
|
+
navText: {
|
|
25
|
+
fontSize: 24,
|
|
26
|
+
color: theme.colors.primary.default,
|
|
27
|
+
fontWeight: '600'
|
|
28
|
+
},
|
|
29
|
+
monthTitle: {
|
|
30
|
+
fontSize: theme.typography.monthHeader.fontSize,
|
|
31
|
+
fontWeight: theme.typography.monthHeader.fontWeight,
|
|
32
|
+
color: theme.colors.foreground.default
|
|
33
|
+
},
|
|
34
|
+
weekDays: {
|
|
35
|
+
flexDirection: 'row',
|
|
36
|
+
marginBottom: theme.spacing(2)
|
|
37
|
+
},
|
|
38
|
+
weekDayText: {
|
|
39
|
+
flex: 1,
|
|
40
|
+
textAlign: 'center',
|
|
41
|
+
fontSize: theme.typography.dayHeader.fontSize,
|
|
42
|
+
fontWeight: theme.typography.dayHeader.fontWeight,
|
|
43
|
+
color: theme.colors.foreground.muted
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
//# sourceMappingURL=CalendarGrid.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","styles","create","theme","container","backgroundColor","colors","background","default","borderRadius","radii","card","padding","spacing","header","flexDirection","justifyContent","alignItems","marginBottom","paddingHorizontal","navButton","width","height","button","navText","fontSize","color","primary","fontWeight","monthTitle","typography","monthHeader","foreground","weekDays","weekDayText","flex","textAlign","dayHeader","muted"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/CalendarGrid.styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,wBAAwB;AAEnD,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAEC,KAAK,KAAM;EAClDC,SAAS,EAAE;IACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,UAAU,CAACC,OAAO;IAChDC,YAAY,EAAEN,KAAK,CAACO,KAAK,CAACC,IAAI;IAC9BC,OAAO,EAAET,KAAK,CAACU,OAAO,CAAC,CAAC;EAC1B,CAAC;EACDC,MAAM,EAAE;IACNC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAEf,KAAK,CAACU,OAAO,CAAC,CAAC,CAAC;IAC9BM,iBAAiB,EAAEhB,KAAK,CAACU,OAAO,CAAC,CAAC;EACpC,CAAC;EACDO,SAAS,EAAE;IACTC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVN,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBR,YAAY,EAAEN,KAAK,CAACO,KAAK,CAACa;EAC5B,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAACqB,OAAO,CAACnB,OAAO;IACnCoB,UAAU,EAAE;EACd,CAAC;EACDC,UAAU,EAAE;IACVJ,QAAQ,EAAEtB,KAAK,CAAC2B,UAAU,CAACC,WAAW,CAACN,QAAQ;IAC/CG,UAAU,EAAEzB,KAAK,CAAC2B,UAAU,CAACC,WAAW,CAACH,UAAU;IACnDF,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAAC0B,UAAU,CAACxB;EACjC,CAAC;EACDyB,QAAQ,EAAE;IACRlB,aAAa,EAAE,KAAK;IACpBG,YAAY,EAAEf,KAAK,CAACU,OAAO,CAAC,CAAC;EAC/B,CAAC;EACDqB,WAAW,EAAE;IACXC,IAAI,EAAE,CAAC;IACPC,SAAS,EAAE,QAAQ;IACnBX,QAAQ,EAAEtB,KAAK,CAAC2B,UAAU,CAACO,SAAS,CAACZ,QAAQ;IAC7CG,UAAU,EAAEzB,KAAK,CAAC2B,UAAU,CAACO,SAAS,CAACT,UAAU;IACjDF,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAAC0B,UAAU,CAACM;EACjC;AACF,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { Pressable, Text } from 'react-native';
|
|
5
|
+
import { StyleSheet } from 'react-native-unistyles';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const styles = StyleSheet.create(theme => ({
|
|
8
|
+
cell: {
|
|
9
|
+
width: 44,
|
|
10
|
+
height: 44,
|
|
11
|
+
justifyContent: 'center',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
backgroundColor: theme.colors.datepicker.cellBackground,
|
|
14
|
+
variants: {
|
|
15
|
+
state: {
|
|
16
|
+
selected: {
|
|
17
|
+
backgroundColor: theme.colors.datepicker.cellSelected,
|
|
18
|
+
borderRadius: theme.radii.cell
|
|
19
|
+
},
|
|
20
|
+
today: {
|
|
21
|
+
backgroundColor: theme.colors.datepicker.cellToday,
|
|
22
|
+
borderRadius: theme.radii.cell,
|
|
23
|
+
borderWidth: 1,
|
|
24
|
+
borderColor: theme.colors.primary.default
|
|
25
|
+
},
|
|
26
|
+
disabled: {
|
|
27
|
+
opacity: 0.4
|
|
28
|
+
},
|
|
29
|
+
weekend: {}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
text: {
|
|
34
|
+
fontSize: theme.typography.dayCell.fontSize,
|
|
35
|
+
fontWeight: theme.typography.dayCell.fontWeight,
|
|
36
|
+
color: theme.colors.datepicker.textDefault,
|
|
37
|
+
variants: {
|
|
38
|
+
state: {
|
|
39
|
+
selected: {
|
|
40
|
+
color: theme.colors.datepicker.textSelected,
|
|
41
|
+
fontWeight: '600'
|
|
42
|
+
},
|
|
43
|
+
today: {
|
|
44
|
+
color: theme.colors.primary.default,
|
|
45
|
+
fontWeight: '600'
|
|
46
|
+
},
|
|
47
|
+
disabled: {
|
|
48
|
+
color: theme.colors.datepicker.textDisabled
|
|
49
|
+
},
|
|
50
|
+
weekend: {
|
|
51
|
+
color: theme.colors.datepicker.textWeekend
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
export const DayCell = /*#__PURE__*/memo(({
|
|
58
|
+
date,
|
|
59
|
+
isSelected,
|
|
60
|
+
isToday,
|
|
61
|
+
isDisabled,
|
|
62
|
+
isWeekend,
|
|
63
|
+
onPress
|
|
64
|
+
}) => {
|
|
65
|
+
if (!date) {
|
|
66
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
67
|
+
style: styles.cell,
|
|
68
|
+
disabled: true
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const state = isDisabled ? 'disabled' : isSelected ? 'selected' : isToday ? 'today' : isWeekend ? 'weekend' : undefined;
|
|
72
|
+
styles.useVariants({
|
|
73
|
+
state
|
|
74
|
+
});
|
|
75
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
76
|
+
style: styles.cell,
|
|
77
|
+
onPress: onPress,
|
|
78
|
+
disabled: isDisabled,
|
|
79
|
+
accessibilityRole: "button",
|
|
80
|
+
accessibilityLabel: new Intl.DateTimeFormat('en-US', {
|
|
81
|
+
weekday: 'long',
|
|
82
|
+
month: 'long',
|
|
83
|
+
day: 'numeric'
|
|
84
|
+
}).format(date),
|
|
85
|
+
accessibilityState: {
|
|
86
|
+
selected: isSelected,
|
|
87
|
+
disabled: isDisabled
|
|
88
|
+
},
|
|
89
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
90
|
+
style: styles.text,
|
|
91
|
+
children: date.getUTCDate()
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
}, (prev, next) => prev.date?.getTime() === next.date?.getTime() && prev.isSelected === next.isSelected && prev.isToday === next.isToday && prev.isDisabled === next.isDisabled);
|
|
95
|
+
DayCell.displayName = 'DayCell';
|
|
96
|
+
//# sourceMappingURL=DayCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","Pressable","Text","StyleSheet","jsx","_jsx","styles","create","theme","cell","width","height","justifyContent","alignItems","backgroundColor","colors","datepicker","cellBackground","variants","state","selected","cellSelected","borderRadius","radii","today","cellToday","borderWidth","borderColor","primary","default","disabled","opacity","weekend","text","fontSize","typography","dayCell","fontWeight","color","textDefault","textSelected","textDisabled","textWeekend","DayCell","date","isSelected","isToday","isDisabled","isWeekend","onPress","style","undefined","useVariants","accessibilityRole","accessibilityLabel","Intl","DateTimeFormat","weekday","month","day","format","accessibilityState","children","getUTCDate","prev","next","getTime","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/DayCell.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CalendarGrid"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,mBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Suspense, useCallback } from 'react';
|
|
4
|
+
import { ActivityIndicator, View } from 'react-native';
|
|
5
|
+
import { toISODateString } from "../../utils/date.js";
|
|
6
|
+
import { CalendarGrid } from "../CalendarGrid/index.js";
|
|
7
|
+
import { styles } from "./DatePicker.styles.js";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
// @ts-expect-error - React.lazy fallback returns null when @expo/ui unavailable
|
|
10
|
+
const ExpoDatePicker = /*#__PURE__*/React.lazy(async () => {
|
|
11
|
+
try {
|
|
12
|
+
// @ts-expect-error - @expo/ui types not available
|
|
13
|
+
const {
|
|
14
|
+
DateTimePicker
|
|
15
|
+
} = await import('@expo/ui/jetpack-compose');
|
|
16
|
+
return {
|
|
17
|
+
default: ({
|
|
18
|
+
value,
|
|
19
|
+
onChange
|
|
20
|
+
}) => /*#__PURE__*/_jsx(DateTimePicker, {
|
|
21
|
+
onDateSelected: onChange,
|
|
22
|
+
displayedComponents: "date",
|
|
23
|
+
initialDate: toISODateString(value),
|
|
24
|
+
variant: "picker"
|
|
25
|
+
})
|
|
26
|
+
};
|
|
27
|
+
} catch {
|
|
28
|
+
// Fallback when @expo/ui is not available
|
|
29
|
+
return {
|
|
30
|
+
default: _props => null
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
export const DatePicker = ({
|
|
35
|
+
value,
|
|
36
|
+
onChange,
|
|
37
|
+
theme = 'native',
|
|
38
|
+
minDate,
|
|
39
|
+
maxDate,
|
|
40
|
+
disabledDates
|
|
41
|
+
}) => {
|
|
42
|
+
const handleDateChange = useCallback(date => {
|
|
43
|
+
onChange(date);
|
|
44
|
+
}, [onChange]);
|
|
45
|
+
if (theme === 'native') {
|
|
46
|
+
return /*#__PURE__*/_jsx(View, {
|
|
47
|
+
style: styles.container,
|
|
48
|
+
children: /*#__PURE__*/_jsx(Suspense, {
|
|
49
|
+
fallback: /*#__PURE__*/_jsx(ActivityIndicator, {}),
|
|
50
|
+
children: /*#__PURE__*/_jsx(ExpoDatePicker, {
|
|
51
|
+
value: value,
|
|
52
|
+
onChange: handleDateChange
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return /*#__PURE__*/_jsx(CalendarGrid, {
|
|
58
|
+
value: value,
|
|
59
|
+
onChange: onChange,
|
|
60
|
+
minDate: minDate,
|
|
61
|
+
maxDate: maxDate,
|
|
62
|
+
disabledDates: disabledDates,
|
|
63
|
+
themeMode: theme
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=DatePicker.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Suspense","useCallback","ActivityIndicator","View","toISODateString","CalendarGrid","styles","jsx","_jsx","ExpoDatePicker","lazy","DateTimePicker","default","value","onChange","onDateSelected","displayedComponents","initialDate","variant","_props","DatePicker","theme","minDate","maxDate","disabledDates","handleDateChange","date","style","container","children","fallback","themeMode"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AACpD,SAASC,iBAAiB,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,eAAe,QAAQ,qBAAkB;AAClD,SAASC,YAAY,QAAQ,0BAAiB;AAE9C,SAASC,MAAM,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO7C;AACA,MAAMC,cAAc,gBAAGV,KAAK,CAACW,IAAI,CAAC,YAAY;EAC5C,IAAI;IACF;IACA,MAAM;MAAEC;IAAe,CAAC,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC;IACnE,OAAO;MACLC,OAAO,EAAEA,CAAC;QAAEC,KAAK;QAAEC;MAA8B,CAAC,kBAChDN,IAAA,CAACG,cAAc;QACbI,cAAc,EAAED,QAAS;QACzBE,mBAAmB,EAAC,MAAM;QAC1BC,WAAW,EAAEb,eAAe,CAACS,KAAK,CAAE;QACpCK,OAAO,EAAC;MAAQ,CACjB;IAEL,CAAC;EACH,CAAC,CAAC,MAAM;IACN;IACA,OAAO;MAAEN,OAAO,EAAGO,MAA2B,IAAK;IAAK,CAAC;EAC3D;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAyC,GAAGA,CAAC;EACxDP,KAAK;EACLC,QAAQ;EACRO,KAAK,GAAG,QAAQ;EAChBC,OAAO;EACPC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGxB,WAAW,CACjCyB,IAAU,IAAK;IACdZ,QAAQ,CAACY,IAAI,CAAC;EAChB,CAAC,EACD,CAACZ,QAAQ,CACX,CAAC;EAED,IAAIO,KAAK,KAAK,QAAQ,EAAE;IACtB,oBACEb,IAAA,CAACL,IAAI;MAACwB,KAAK,EAAErB,MAAM,CAACsB,SAAU;MAAAC,QAAA,eAC5BrB,IAAA,CAACR,QAAQ;QAAC8B,QAAQ,eAAEtB,IAAA,CAACN,iBAAiB,IAAE,CAAE;QAAA2B,QAAA,eACxCrB,IAAA,CAACC,cAAc;UAACI,KAAK,EAAEA,KAAM;UAACC,QAAQ,EAAEW;QAAiB,CAAE;MAAC,CACpD;IAAC,CACP,CAAC;EAEX;EAEA,oBACEjB,IAAA,CAACH,YAAY;IACXQ,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBQ,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BO,SAAS,EAAEV;EAAM,CAClB,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Suspense, useCallback } from 'react';
|
|
4
|
+
import { ActivityIndicator, View } from 'react-native';
|
|
5
|
+
import { toISODateString } from "../../utils/date.js";
|
|
6
|
+
import { CalendarGrid } from "../CalendarGrid/index.js";
|
|
7
|
+
import { styles } from "./DatePicker.styles.js";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
// @ts-expect-error - React.lazy fallback returns null when @expo/ui unavailable
|
|
10
|
+
const ExpoDatePicker = /*#__PURE__*/React.lazy(async () => {
|
|
11
|
+
try {
|
|
12
|
+
// @ts-expect-error - @expo/ui types not available
|
|
13
|
+
const {
|
|
14
|
+
DateTimePicker,
|
|
15
|
+
Host
|
|
16
|
+
} = await import('@expo/ui/swift-ui');
|
|
17
|
+
return {
|
|
18
|
+
default: ({
|
|
19
|
+
value,
|
|
20
|
+
onChange,
|
|
21
|
+
variant
|
|
22
|
+
}) => /*#__PURE__*/_jsx(Host, {
|
|
23
|
+
matchContents: true,
|
|
24
|
+
children: /*#__PURE__*/_jsx(DateTimePicker, {
|
|
25
|
+
onDateSelected: onChange,
|
|
26
|
+
displayedComponents: "date",
|
|
27
|
+
initialDate: toISODateString(value),
|
|
28
|
+
variant: variant || 'wheel'
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
|
+
};
|
|
32
|
+
} catch {
|
|
33
|
+
// Fallback when @expo/ui is not available
|
|
34
|
+
return {
|
|
35
|
+
default: _props => null
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
export const DatePicker = ({
|
|
40
|
+
value,
|
|
41
|
+
onChange,
|
|
42
|
+
mode = 'date',
|
|
43
|
+
theme = 'native',
|
|
44
|
+
variant = 'wheel',
|
|
45
|
+
minDate,
|
|
46
|
+
maxDate,
|
|
47
|
+
disabledDates
|
|
48
|
+
}) => {
|
|
49
|
+
const handleDateChange = useCallback(date => {
|
|
50
|
+
onChange(date);
|
|
51
|
+
}, [onChange]);
|
|
52
|
+
if (theme === 'native') {
|
|
53
|
+
return /*#__PURE__*/_jsx(View, {
|
|
54
|
+
style: styles.container,
|
|
55
|
+
children: /*#__PURE__*/_jsx(Suspense, {
|
|
56
|
+
fallback: /*#__PURE__*/_jsx(ActivityIndicator, {}),
|
|
57
|
+
children: /*#__PURE__*/_jsx(ExpoDatePicker, {
|
|
58
|
+
value: value,
|
|
59
|
+
onChange: handleDateChange,
|
|
60
|
+
variant: variant
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return /*#__PURE__*/_jsx(CalendarGrid, {
|
|
66
|
+
value: value,
|
|
67
|
+
onChange: onChange,
|
|
68
|
+
minDate: minDate,
|
|
69
|
+
maxDate: maxDate,
|
|
70
|
+
disabledDates: disabledDates,
|
|
71
|
+
themeMode: theme
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=DatePicker.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Suspense","useCallback","ActivityIndicator","View","toISODateString","CalendarGrid","styles","jsx","_jsx","ExpoDatePicker","lazy","DateTimePicker","Host","default","value","onChange","variant","matchContents","children","onDateSelected","displayedComponents","initialDate","_props","DatePicker","mode","theme","minDate","maxDate","disabledDates","handleDateChange","date","style","container","fallback","themeMode"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.ios.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AACpD,SAASC,iBAAiB,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,eAAe,QAAQ,qBAAkB;AAClD,SAASC,YAAY,QAAQ,0BAAiB;AAE9C,SAASC,MAAM,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ7C;AACA,MAAMC,cAAc,gBAAGV,KAAK,CAACW,IAAI,CAAC,YAAY;EAC5C,IAAI;IACF;IACA,MAAM;MAAEC,cAAc;MAAEC;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;IAClE,OAAO;MACLC,OAAO,EAAEA,CAAC;QAAEC,KAAK;QAAEC,QAAQ;QAAEC;MAA6B,CAAC,kBACzDR,IAAA,CAACI,IAAI;QAACK,aAAa;QAAAC,QAAA,eACjBV,IAAA,CAACG,cAAc;UACbQ,cAAc,EAAEJ,QAAS;UACzBK,mBAAmB,EAAC,MAAM;UAC1BC,WAAW,EAAEjB,eAAe,CAACU,KAAK,CAAE;UACpCE,OAAO,EAAEA,OAAO,IAAI;QAAQ,CAC7B;MAAC,CACE;IAEV,CAAC;EACH,CAAC,CAAC,MAAM;IACN;IACA,OAAO;MAAEH,OAAO,EAAGS,MAA2B,IAAK;IAAK,CAAC;EAC3D;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAyC,GAAGA,CAAC;EACxDT,KAAK;EACLC,QAAQ;EACRS,IAAI,GAAG,MAAM;EACbC,KAAK,GAAG,QAAQ;EAChBT,OAAO,GAAG,OAAO;EACjBU,OAAO;EACPC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAG5B,WAAW,CACjC6B,IAAU,IAAK;IACdf,QAAQ,CAACe,IAAI,CAAC;EAChB,CAAC,EACD,CAACf,QAAQ,CACX,CAAC;EAED,IAAIU,KAAK,KAAK,QAAQ,EAAE;IACtB,oBACEjB,IAAA,CAACL,IAAI;MAAC4B,KAAK,EAAEzB,MAAM,CAAC0B,SAAU;MAAAd,QAAA,eAC5BV,IAAA,CAACR,QAAQ;QAACiC,QAAQ,eAAEzB,IAAA,CAACN,iBAAiB,IAAE,CAAE;QAAAgB,QAAA,eACxCV,IAAA,CAACC,cAAc;UACbK,KAAK,EAAEA,KAAM;UACbC,QAAQ,EAAEc,gBAAiB;UAC3Bb,OAAO,EAAEA;QAAQ,CAClB;MAAC,CACM;IAAC,CACP,CAAC;EAEX;EAEA,oBACER,IAAA,CAACH,YAAY;IACXS,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BM,SAAS,EAAET;EAAM,CAClB,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Platform-specific implementations are handled by Metro's file resolution
|
|
4
|
+
// This file serves as the type definition and fallback
|
|
5
|
+
export const DatePicker = _props => {
|
|
6
|
+
// This should never be reached - Metro resolves platform-specific files
|
|
7
|
+
return null;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DatePicker","_props"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.tsx"],"mappings":";;AAeA;AACA;AACA,OAAO,MAAMA,UAAyC,GAAIC,MAAM,IAAK;EACnE;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import { StyleSheet } from 'react-native-unistyles';
|
|
5
|
+
export const styles = StyleSheet.create(theme => ({
|
|
6
|
+
container: {
|
|
7
|
+
backgroundColor: theme.colors.background.default,
|
|
8
|
+
borderRadius: theme.radii.card,
|
|
9
|
+
overflow: 'hidden',
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
compact: {
|
|
13
|
+
padding: theme.spacing(2)
|
|
14
|
+
},
|
|
15
|
+
default: {
|
|
16
|
+
padding: theme.spacing(4)
|
|
17
|
+
},
|
|
18
|
+
large: {
|
|
19
|
+
padding: theme.spacing(6)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
backdrop: Platform.select({
|
|
25
|
+
web: {
|
|
26
|
+
backdropFilter: 'blur(20px) saturate(180%)',
|
|
27
|
+
WebkitBackdropFilter: 'blur(20px) saturate(180%)',
|
|
28
|
+
backgroundColor: 'rgba(255, 255, 255, 0.7)'
|
|
29
|
+
},
|
|
30
|
+
default: {
|
|
31
|
+
backgroundColor: theme.colors.background.elevated
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
}));
|
|
35
|
+
//# sourceMappingURL=DatePicker.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","StyleSheet","styles","create","theme","container","backgroundColor","colors","background","default","borderRadius","radii","card","overflow","variants","size","compact","padding","spacing","large","backdrop","select","web","backdropFilter","WebkitBackdropFilter","elevated"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,UAAU,QAAgC,wBAAwB;AAE3E,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAEC,KAAK,KAAM;EAClDC,SAAS,EAAE;IACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,UAAU,CAACC,OAAO;IAChDC,YAAY,EAAEN,KAAK,CAACO,KAAK,CAACC,IAAI;IAC9BC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;MACRC,IAAI,EAAE;QACJC,OAAO,EAAE;UACPC,OAAO,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC;QAC1B,CAAC;QACDT,OAAO,EAAE;UACPQ,OAAO,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC;QAC1B,CAAC;QACDC,KAAK,EAAE;UACLF,OAAO,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC;QAC1B;MACF;IACF;EACF,CAAC;EACDE,QAAQ,EAAEpB,QAAQ,CAACqB,MAAM,CAAC;IACxBC,GAAG,EAAE;MACHC,cAAc,EAAE,2BAA2B;MAC3CC,oBAAoB,EAAE,2BAA2B;MACjDlB,eAAe,EAAE;IACnB,CAAC;IACDG,OAAO,EAAE;MACPH,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,UAAU,CAACiB;IAC3C;EACF,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { CalendarGrid } from "../CalendarGrid/index.js";
|
|
4
|
+
import { WheelPicker } from "../WheelPicker/index.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const DatePicker = ({
|
|
7
|
+
value,
|
|
8
|
+
onChange,
|
|
9
|
+
theme = 'ios',
|
|
10
|
+
variant = 'calendar',
|
|
11
|
+
minDate,
|
|
12
|
+
maxDate,
|
|
13
|
+
disabledDates
|
|
14
|
+
}) => {
|
|
15
|
+
if (theme === 'ios' && variant === 'wheel') {
|
|
16
|
+
return /*#__PURE__*/_jsx(WheelPicker, {
|
|
17
|
+
value: value,
|
|
18
|
+
onChange: onChange,
|
|
19
|
+
minDate: minDate,
|
|
20
|
+
maxDate: maxDate
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return /*#__PURE__*/_jsx(CalendarGrid, {
|
|
24
|
+
value: value,
|
|
25
|
+
onChange: onChange,
|
|
26
|
+
minDate: minDate,
|
|
27
|
+
maxDate: maxDate,
|
|
28
|
+
disabledDates: disabledDates,
|
|
29
|
+
themeMode: theme === 'native' ? 'ios' : theme
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=DatePicker.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CalendarGrid","WheelPicker","jsx","_jsx","DatePicker","value","onChange","theme","variant","minDate","maxDate","disabledDates","themeMode"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.web.tsx"],"mappings":";;AACA,SAASA,YAAY,QAAQ,0BAAiB;AAC9C,SAASC,WAAW,QAAQ,yBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7C,OAAO,MAAMC,UAAyC,GAAGA,CAAC;EACxDC,KAAK;EACLC,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,OAAO,GAAG,UAAU;EACpBC,OAAO;EACPC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,IAAIJ,KAAK,KAAK,KAAK,IAAIC,OAAO,KAAK,OAAO,EAAE;IAC1C,oBACEL,IAAA,CAACF,WAAW;MACVI,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA,QAAS;MACnBG,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA;IAAQ,CAClB,CAAC;EAEN;EAEA,oBACEP,IAAA,CAACH,YAAY;IACXK,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBG,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BC,SAAS,EAAEL,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAGA;EAAM,CAC/C,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DatePicker"],"sourceRoot":"../../../../src","sources":["components/DatePicker/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc","ignoreList":[]}
|