@dreamstack-us/kaal 0.0.2 → 0.0.4
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 +165 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.js +80 -18
- package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -1
- package/lib/module/components/CalendarGrid/CalendarGrid.web.js +80 -18
- package/lib/module/components/CalendarGrid/CalendarGrid.web.js.map +1 -1
- package/lib/module/components/CalendarGrid/DayCell.js +17 -5
- package/lib/module/components/CalendarGrid/DayCell.js.map +1 -1
- package/lib/module/components/CalendarGrid/DayCell.web.js +17 -5
- package/lib/module/components/CalendarGrid/DayCell.web.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.android.js +42 -19
- package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.ios.js +44 -21
- package/lib/module/components/DatePicker/DatePicker.ios.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.web.js +40 -16
- package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/date.js +3 -1
- package/lib/module/utils/date.js.map +1 -1
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +19 -7
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -1
- package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts +19 -7
- package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts.map +1 -1
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts +3 -0
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -1
- package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts +3 -0
- package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker/DatePicker.d.ts +20 -8
- package/lib/typescript/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/datepicker.d.ts +37 -3
- package/lib/typescript/types/datepicker.d.ts.map +1 -1
- package/lib/typescript/utils/date.d.ts +2 -1
- package/lib/typescript/utils/date.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/CalendarGrid/CalendarGrid.tsx +216 -122
- package/src/components/CalendarGrid/CalendarGrid.web.tsx +227 -136
- package/src/components/CalendarGrid/DayCell.tsx +48 -6
- package/src/components/CalendarGrid/DayCell.web.tsx +48 -6
- package/src/components/DatePicker/DatePicker.android.tsx +39 -21
- package/src/components/DatePicker/DatePicker.ios.tsx +42 -24
- package/src/components/DatePicker/DatePicker.tsx +28 -8
- package/src/components/DatePicker/DatePicker.web.tsx +40 -16
- package/src/index.ts +2 -0
- package/src/types/datepicker.ts +43 -3
- package/src/utils/date.ts +4 -2
package/README.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# @dreamstack-us/kaal
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@dreamstack-us/kaal)
|
|
4
|
+
[](https://www.npmjs.com/package/@dreamstack-us/kaal)
|
|
5
|
+
[](https://bundlephobia.com/package/@dreamstack-us/kaal)
|
|
6
|
+
[](https://github.com/DreamStack-us/kaal/blob/main/LICENSE)
|
|
7
|
+
|
|
8
|
+
High-performance React Native DatePicker & TimePicker for the New Architecture. Features native iOS/Android pickers via Expo, cross-platform calendar grid, Material Design 3 clock face, and full web support.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- **Sub-8KB Bundle** - Lightweight and optimized, no bloated dependencies
|
|
13
|
+
- **Native Date API** - Uses JavaScript Date and Intl APIs, no Temporal polyfill required
|
|
14
|
+
- **M3 Clock Face** - Material Design 3 clock for intuitive time selection
|
|
15
|
+
- **Cross-Platform** - Works on iOS, Android, and Web with consistent APIs
|
|
16
|
+
- **Design System Ready** - Full theming via `themeOverrides` prop
|
|
17
|
+
- **TypeScript First** - Complete type definitions for props and theme overrides
|
|
18
|
+
- **Range Selection** - Select date ranges with visual highlighting
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
- React Native 0.78+ (New Architecture only)
|
|
23
|
+
- Expo SDK 53+ (for native pickers)
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install @dreamstack-us/kaal
|
|
29
|
+
# or
|
|
30
|
+
yarn add @dreamstack-us/kaal
|
|
31
|
+
# or
|
|
32
|
+
bun add @dreamstack-us/kaal
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
### DatePicker
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { useState } from 'react';
|
|
41
|
+
import { DatePicker } from '@dreamstack-us/kaal';
|
|
42
|
+
|
|
43
|
+
export default function App() {
|
|
44
|
+
const [date, setDate] = useState(new Date());
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<DatePicker
|
|
48
|
+
value={date}
|
|
49
|
+
onChange={setDate}
|
|
50
|
+
variant="calendar"
|
|
51
|
+
themeOverrides={{
|
|
52
|
+
primaryColor: '#3b82f6',
|
|
53
|
+
backgroundColor: '#ffffff',
|
|
54
|
+
}}
|
|
55
|
+
/>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Date Range Selection
|
|
61
|
+
|
|
62
|
+
```tsx
|
|
63
|
+
import { useState } from 'react';
|
|
64
|
+
import { DatePicker } from '@dreamstack-us/kaal';
|
|
65
|
+
|
|
66
|
+
export default function App() {
|
|
67
|
+
const [range, setRange] = useState({
|
|
68
|
+
startDate: new Date(),
|
|
69
|
+
endDate: null,
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<DatePicker
|
|
74
|
+
selectionMode="range"
|
|
75
|
+
startDate={range.startDate}
|
|
76
|
+
endDate={range.endDate}
|
|
77
|
+
onRangeChange={setRange}
|
|
78
|
+
themeOverrides={{
|
|
79
|
+
primaryColor: '#3b82f6',
|
|
80
|
+
cellInRangeColor: 'rgba(59, 130, 246, 0.15)',
|
|
81
|
+
}}
|
|
82
|
+
/>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### TimePicker
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
import { useState } from 'react';
|
|
91
|
+
import { TimePicker } from '@dreamstack-us/kaal';
|
|
92
|
+
|
|
93
|
+
export default function App() {
|
|
94
|
+
const [time, setTime] = useState({ hours: 9, minutes: 30 });
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<TimePicker
|
|
98
|
+
value={time}
|
|
99
|
+
onChange={setTime}
|
|
100
|
+
theme="android" // Material clock face
|
|
101
|
+
is24Hour={false}
|
|
102
|
+
/>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Props
|
|
108
|
+
|
|
109
|
+
### DatePicker Props
|
|
110
|
+
|
|
111
|
+
| Prop | Type | Default | Description |
|
|
112
|
+
|------|------|---------|-------------|
|
|
113
|
+
| `value` | `Date` | required | Selected date (single mode) |
|
|
114
|
+
| `onChange` | `(date: Date) => void` | required | Callback when date changes (single mode) |
|
|
115
|
+
| `selectionMode` | `'single' \| 'range'` | `'single'` | Selection mode |
|
|
116
|
+
| `startDate` | `Date \| null` | - | Range start date (range mode) |
|
|
117
|
+
| `endDate` | `Date \| null` | - | Range end date (range mode) |
|
|
118
|
+
| `onRangeChange` | `(range: DateRange) => void` | - | Callback when range changes (range mode) |
|
|
119
|
+
| `variant` | `'calendar' \| 'wheel' \| 'compact'` | `'calendar'` | Picker variant |
|
|
120
|
+
| `theme` | `'native' \| 'ios' \| 'android' \| 'custom'` | `'native'` | Visual theme |
|
|
121
|
+
| `minDate` | `Date` | - | Minimum selectable date |
|
|
122
|
+
| `maxDate` | `Date` | - | Maximum selectable date |
|
|
123
|
+
| `disabledDates` | `Date[]` | `[]` | Array of disabled dates |
|
|
124
|
+
| `weekStartsOn` | `0 \| 1` | `0` | First day of week (0=Sun, 1=Mon) |
|
|
125
|
+
| `themeOverrides` | `DatePickerThemeOverrides` | - | Custom theme overrides |
|
|
126
|
+
|
|
127
|
+
### TimePicker Props
|
|
128
|
+
|
|
129
|
+
| Prop | Type | Default | Description |
|
|
130
|
+
|------|------|---------|-------------|
|
|
131
|
+
| `value` | `{ hours: number; minutes: number }` | required | Selected time |
|
|
132
|
+
| `onChange` | `(time: TimeValue) => void` | required | Callback when time changes |
|
|
133
|
+
| `theme` | `'native' \| 'ios' \| 'android'` | `'native'` | Visual theme |
|
|
134
|
+
| `is24Hour` | `boolean` | `false` | Use 24-hour format |
|
|
135
|
+
| `minuteInterval` | `1 \| 5 \| 10 \| 15 \| 30` | `1` | Minute step interval |
|
|
136
|
+
| `minTime` | `TimeValue` | - | Minimum selectable time |
|
|
137
|
+
| `maxTime` | `TimeValue` | - | Maximum selectable time |
|
|
138
|
+
| `themeOverrides` | `TimePickerThemeOverrides` | - | Custom theme overrides |
|
|
139
|
+
|
|
140
|
+
## Theme Overrides
|
|
141
|
+
|
|
142
|
+
Style components without a theme provider:
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
<DatePicker
|
|
146
|
+
themeOverrides={{
|
|
147
|
+
primaryColor: '#3b82f6',
|
|
148
|
+
cellSelectedColor: '#3b82f6',
|
|
149
|
+
cellTodayColor: 'rgba(59, 130, 246, 0.1)',
|
|
150
|
+
cellInRangeColor: 'rgba(59, 130, 246, 0.15)',
|
|
151
|
+
textColor: '#1e293b',
|
|
152
|
+
textSelectedColor: '#ffffff',
|
|
153
|
+
backgroundColor: '#ffffff',
|
|
154
|
+
borderRadius: 16,
|
|
155
|
+
}}
|
|
156
|
+
/>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Documentation
|
|
160
|
+
|
|
161
|
+
Full documentation with live examples: [kaal.dreamstack.us](https://kaal.dreamstack.us)
|
|
162
|
+
|
|
163
|
+
## License
|
|
164
|
+
|
|
165
|
+
MIT
|
|
@@ -47,17 +47,24 @@ const generateMonthDays = (currentMonth, weekStartsOn) => {
|
|
|
47
47
|
}
|
|
48
48
|
return days;
|
|
49
49
|
};
|
|
50
|
-
export const CalendarGrid = /*#__PURE__*/memo(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
50
|
+
export const CalendarGrid = /*#__PURE__*/memo(props => {
|
|
51
|
+
const {
|
|
52
|
+
minDate,
|
|
53
|
+
maxDate,
|
|
54
|
+
disabledDates,
|
|
55
|
+
themeMode,
|
|
56
|
+
weekStartsOn = 0,
|
|
57
|
+
selectionMode = 'single'
|
|
58
|
+
} = props;
|
|
59
|
+
|
|
60
|
+
// Extract mode-specific props
|
|
61
|
+
const singleValue = selectionMode === 'single' ? props.value : null;
|
|
62
|
+
const singleOnChange = selectionMode === 'single' ? props.onChange : null;
|
|
63
|
+
const rangeStart = selectionMode === 'range' ? props.startDate : null;
|
|
64
|
+
const rangeEnd = selectionMode === 'range' ? props.endDate : null;
|
|
65
|
+
const rangeOnChange = selectionMode === 'range' ? props.onRangeChange : null;
|
|
59
66
|
const overrides = useDatePickerOverrides();
|
|
60
|
-
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(
|
|
67
|
+
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(singleValue || rangeStart || today()));
|
|
61
68
|
const days = useMemo(() => generateMonthDays(currentMonth, weekStartsOn), [currentMonth, weekStartsOn]);
|
|
62
69
|
const weekDays = weekStartsOn === 0 ? WEEK_DAYS_SUNDAY_START : WEEK_DAYS_MONDAY_START;
|
|
63
70
|
const todayDate = useMemo(() => today(), []);
|
|
@@ -71,16 +78,71 @@ export const CalendarGrid = /*#__PURE__*/memo(({
|
|
|
71
78
|
const navigateMonth = useCallback(direction => {
|
|
72
79
|
setCurrentMonth(prev => addMonths(prev, direction));
|
|
73
80
|
}, []);
|
|
81
|
+
|
|
82
|
+
// Handle date press for both single and range modes
|
|
83
|
+
const handleDatePress = useCallback(date => {
|
|
84
|
+
if (selectionMode === 'single' && singleOnChange) {
|
|
85
|
+
singleOnChange(date);
|
|
86
|
+
} else if (selectionMode === 'range' && rangeOnChange) {
|
|
87
|
+
// Range selection logic:
|
|
88
|
+
// 1. If no start date, set start date
|
|
89
|
+
// 2. If start date but no end date, set end date (if after start)
|
|
90
|
+
// 3. If both dates exist, reset to new start date
|
|
91
|
+
if (!rangeStart || rangeStart && rangeEnd) {
|
|
92
|
+
rangeOnChange({
|
|
93
|
+
startDate: date,
|
|
94
|
+
endDate: null
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
// Have start but no end
|
|
98
|
+
if (compareDates(date, rangeStart) < 0) {
|
|
99
|
+
// Clicked before start - make this the new start
|
|
100
|
+
rangeOnChange({
|
|
101
|
+
startDate: date,
|
|
102
|
+
endDate: null
|
|
103
|
+
});
|
|
104
|
+
} else if (isSameDay(date, rangeStart)) {
|
|
105
|
+
// Clicked same day - clear selection
|
|
106
|
+
rangeOnChange({
|
|
107
|
+
startDate: date,
|
|
108
|
+
endDate: null
|
|
109
|
+
});
|
|
110
|
+
} else {
|
|
111
|
+
// Clicked after start - set as end date
|
|
112
|
+
rangeOnChange({
|
|
113
|
+
startDate: rangeStart,
|
|
114
|
+
endDate: date
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}, [selectionMode, singleOnChange, rangeOnChange, rangeStart, rangeEnd]);
|
|
120
|
+
|
|
121
|
+
// Check if date is in range (between start and end)
|
|
122
|
+
const isDateInRange = useCallback(date => {
|
|
123
|
+
if (!date || selectionMode !== 'range' || !rangeStart || !rangeEnd) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
return compareDates(date, rangeStart) > 0 && compareDates(date, rangeEnd) < 0;
|
|
127
|
+
}, [selectionMode, rangeStart, rangeEnd]);
|
|
74
128
|
const renderDay = useCallback(({
|
|
75
129
|
item
|
|
76
|
-
}) =>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
130
|
+
}) => {
|
|
131
|
+
const isRangeStart = selectionMode === 'range' && item && rangeStart ? isSameDay(item, rangeStart) : false;
|
|
132
|
+
const isRangeEnd = selectionMode === 'range' && item && rangeEnd ? isSameDay(item, rangeEnd) : false;
|
|
133
|
+
const isSelected = selectionMode === 'single' && item && singleValue ? isSameDay(item, singleValue) : false;
|
|
134
|
+
return /*#__PURE__*/_jsx(DayCell, {
|
|
135
|
+
date: item,
|
|
136
|
+
isSelected: isSelected,
|
|
137
|
+
isToday: item ? isSameDay(item, todayDate) : false,
|
|
138
|
+
isDisabled: isDisabled(item),
|
|
139
|
+
isWeekend: item ? getDayOfWeek(item) === 0 || getDayOfWeek(item) === 6 : false,
|
|
140
|
+
isRangeStart: isRangeStart,
|
|
141
|
+
isRangeEnd: isRangeEnd,
|
|
142
|
+
isInRange: isDateInRange(item),
|
|
143
|
+
onPress: item && !isDisabled(item) ? () => handleDatePress(item) : undefined
|
|
144
|
+
});
|
|
145
|
+
}, [selectionMode, singleValue, rangeStart, rangeEnd, todayDate, isDisabled, isDateInRange, handleDatePress]);
|
|
84
146
|
const keyExtractor = useCallback((item, index) => item?.toISOString() ?? `empty-${index}`, []);
|
|
85
147
|
const getItemLayout = useCallback((_data, index) => ({
|
|
86
148
|
length: CELL_SIZE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","Pressable","Text","View","useDatePickerOverrides","addMonths","compareDates","formatYearMonth","getDayOfWeek","getFirstDayOfMonth","getMonthDays","isSameDay","today","styles","DayCell","jsx","_jsx","jsxs","_jsxs","CELL_SIZE","WEEK_DAYS_SUNDAY_START","WEEK_DAYS_MONDAY_START","generateMonthDays","currentMonth","weekStartsOn","firstDay","dayOfWeek","paddingDays","days","i","push","monthDays","getUTCFullYear","getUTCMonth","day","remaining","length","CalendarGrid","value","onChange","
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","Pressable","Text","View","useDatePickerOverrides","addMonths","compareDates","formatYearMonth","getDayOfWeek","getFirstDayOfMonth","getMonthDays","isSameDay","today","styles","DayCell","jsx","_jsx","jsxs","_jsxs","CELL_SIZE","WEEK_DAYS_SUNDAY_START","WEEK_DAYS_MONDAY_START","generateMonthDays","currentMonth","weekStartsOn","firstDay","dayOfWeek","paddingDays","days","i","push","monthDays","getUTCFullYear","getUTCMonth","day","remaining","length","CalendarGrid","props","minDate","maxDate","disabledDates","themeMode","selectionMode","singleValue","value","singleOnChange","onChange","rangeStart","startDate","rangeEnd","endDate","rangeOnChange","onRangeChange","overrides","setCurrentMonth","useState","weekDays","todayDate","isDisabled","date","some","d","navigateMonth","direction","prev","handleDatePress","isDateInRange","renderDay","item","isRangeStart","isRangeEnd","isSelected","isToday","isWeekend","isInRange","onPress","undefined","keyExtractor","index","toISOString","getItemLayout","_data","offset","Math","floor","containerStyle","backgroundColor","borderRadius","padding","navTextStyle","color","primaryColor","monthTitleStyle","textColor","style","container","children","header","navButton","navText","monthTitle","map","weekDayText","data","renderItem","numColumns","scrollEnabled","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/CalendarGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -101,17 +101,24 @@ const webStyles = StyleSheet.create({
|
|
|
101
101
|
color: '#8E8E93'
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
|
-
export const CalendarGrid = /*#__PURE__*/memo(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
104
|
+
export const CalendarGrid = /*#__PURE__*/memo(props => {
|
|
105
|
+
const {
|
|
106
|
+
minDate,
|
|
107
|
+
maxDate,
|
|
108
|
+
disabledDates,
|
|
109
|
+
themeMode,
|
|
110
|
+
weekStartsOn = 0,
|
|
111
|
+
selectionMode = 'single'
|
|
112
|
+
} = props;
|
|
113
|
+
|
|
114
|
+
// Extract mode-specific props
|
|
115
|
+
const singleValue = selectionMode === 'single' ? props.value : null;
|
|
116
|
+
const singleOnChange = selectionMode === 'single' ? props.onChange : null;
|
|
117
|
+
const rangeStart = selectionMode === 'range' ? props.startDate : null;
|
|
118
|
+
const rangeEnd = selectionMode === 'range' ? props.endDate : null;
|
|
119
|
+
const rangeOnChange = selectionMode === 'range' ? props.onRangeChange : null;
|
|
113
120
|
const overrides = useDatePickerOverrides();
|
|
114
|
-
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(
|
|
121
|
+
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(singleValue || rangeStart || today()));
|
|
115
122
|
const days = useMemo(() => generateMonthDays(currentMonth, weekStartsOn), [currentMonth, weekStartsOn]);
|
|
116
123
|
const weekDays = weekStartsOn === 0 ? WEEK_DAYS_SUNDAY_START : WEEK_DAYS_MONDAY_START;
|
|
117
124
|
const todayDate = useMemo(() => today(), []);
|
|
@@ -125,16 +132,71 @@ export const CalendarGrid = /*#__PURE__*/memo(({
|
|
|
125
132
|
const navigateMonth = useCallback(direction => {
|
|
126
133
|
setCurrentMonth(prev => addMonths(prev, direction));
|
|
127
134
|
}, []);
|
|
135
|
+
|
|
136
|
+
// Handle date press for both single and range modes
|
|
137
|
+
const handleDatePress = useCallback(date => {
|
|
138
|
+
if (selectionMode === 'single' && singleOnChange) {
|
|
139
|
+
singleOnChange(date);
|
|
140
|
+
} else if (selectionMode === 'range' && rangeOnChange) {
|
|
141
|
+
// Range selection logic:
|
|
142
|
+
// 1. If no start date, set start date
|
|
143
|
+
// 2. If start date but no end date, set end date (if after start)
|
|
144
|
+
// 3. If both dates exist, reset to new start date
|
|
145
|
+
if (!rangeStart || rangeStart && rangeEnd) {
|
|
146
|
+
rangeOnChange({
|
|
147
|
+
startDate: date,
|
|
148
|
+
endDate: null
|
|
149
|
+
});
|
|
150
|
+
} else {
|
|
151
|
+
// Have start but no end
|
|
152
|
+
if (compareDates(date, rangeStart) < 0) {
|
|
153
|
+
// Clicked before start - make this the new start
|
|
154
|
+
rangeOnChange({
|
|
155
|
+
startDate: date,
|
|
156
|
+
endDate: null
|
|
157
|
+
});
|
|
158
|
+
} else if (isSameDay(date, rangeStart)) {
|
|
159
|
+
// Clicked same day - clear selection
|
|
160
|
+
rangeOnChange({
|
|
161
|
+
startDate: date,
|
|
162
|
+
endDate: null
|
|
163
|
+
});
|
|
164
|
+
} else {
|
|
165
|
+
// Clicked after start - set as end date
|
|
166
|
+
rangeOnChange({
|
|
167
|
+
startDate: rangeStart,
|
|
168
|
+
endDate: date
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}, [selectionMode, singleOnChange, rangeOnChange, rangeStart, rangeEnd]);
|
|
174
|
+
|
|
175
|
+
// Check if date is in range (between start and end)
|
|
176
|
+
const isDateInRange = useCallback(date => {
|
|
177
|
+
if (!date || selectionMode !== 'range' || !rangeStart || !rangeEnd) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
return compareDates(date, rangeStart) > 0 && compareDates(date, rangeEnd) < 0;
|
|
181
|
+
}, [selectionMode, rangeStart, rangeEnd]);
|
|
128
182
|
const renderDay = useCallback(({
|
|
129
183
|
item
|
|
130
|
-
}) =>
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
184
|
+
}) => {
|
|
185
|
+
const isRangeStart = selectionMode === 'range' && item && rangeStart ? isSameDay(item, rangeStart) : false;
|
|
186
|
+
const isRangeEnd = selectionMode === 'range' && item && rangeEnd ? isSameDay(item, rangeEnd) : false;
|
|
187
|
+
const isSelected = selectionMode === 'single' && item && singleValue ? isSameDay(item, singleValue) : false;
|
|
188
|
+
return /*#__PURE__*/_jsx(DayCell, {
|
|
189
|
+
date: item,
|
|
190
|
+
isSelected: isSelected,
|
|
191
|
+
isToday: item ? isSameDay(item, todayDate) : false,
|
|
192
|
+
isDisabled: isDisabled(item),
|
|
193
|
+
isWeekend: item ? getDayOfWeek(item) === 0 || getDayOfWeek(item) === 6 : false,
|
|
194
|
+
isRangeStart: isRangeStart,
|
|
195
|
+
isRangeEnd: isRangeEnd,
|
|
196
|
+
isInRange: isDateInRange(item),
|
|
197
|
+
onPress: item && !isDisabled(item) ? () => handleDatePress(item) : undefined
|
|
198
|
+
});
|
|
199
|
+
}, [selectionMode, singleValue, rangeStart, rangeEnd, todayDate, isDisabled, isDateInRange, handleDatePress]);
|
|
138
200
|
const keyExtractor = useCallback((item, index) => item?.toISOString() ?? `empty-${index}`, []);
|
|
139
201
|
const getItemLayout = useCallback((_data, index) => ({
|
|
140
202
|
length: CELL_SIZE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","Pressable","StyleSheet","Text","View","useDatePickerOverrides","addMonths","compareDates","formatYearMonth","getDayOfWeek","getFirstDayOfMonth","getMonthDays","isSameDay","today","DayCell","jsx","_jsx","jsxs","_jsxs","CELL_SIZE","WEEK_DAYS_SUNDAY_START","WEEK_DAYS_MONDAY_START","DEFAULT_COLORS","backgroundColor","primaryColor","textColor","weekdayColor","borderRadius","padding","generateMonthDays","currentMonth","weekStartsOn","firstDay","dayOfWeek","paddingDays","days","i","push","monthDays","getUTCFullYear","getUTCMonth","day","remaining","length","webStyles","create","container","header","flexDirection","justifyContent","alignItems","marginBottom","paddingHorizontal","navButton","width","height","navText","fontSize","color","fontWeight","monthTitle","weekDays","weekDayText","flex","textAlign","CalendarGrid","value","onChange","minDate","maxDate","disabledDates","themeMode","overrides","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","containerStyle","navTextStyle","monthTitleStyle","weekDayTextStyle","textWeekendColor","style","children","map","data","renderItem","numColumns","scrollEnabled","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/CalendarGrid.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","FlatList","Pressable","StyleSheet","Text","View","useDatePickerOverrides","addMonths","compareDates","formatYearMonth","getDayOfWeek","getFirstDayOfMonth","getMonthDays","isSameDay","today","DayCell","jsx","_jsx","jsxs","_jsxs","CELL_SIZE","WEEK_DAYS_SUNDAY_START","WEEK_DAYS_MONDAY_START","DEFAULT_COLORS","backgroundColor","primaryColor","textColor","weekdayColor","borderRadius","padding","generateMonthDays","currentMonth","weekStartsOn","firstDay","dayOfWeek","paddingDays","days","i","push","monthDays","getUTCFullYear","getUTCMonth","day","remaining","length","webStyles","create","container","header","flexDirection","justifyContent","alignItems","marginBottom","paddingHorizontal","navButton","width","height","navText","fontSize","color","fontWeight","monthTitle","weekDays","weekDayText","flex","textAlign","CalendarGrid","props","minDate","maxDate","disabledDates","themeMode","selectionMode","singleValue","value","singleOnChange","onChange","rangeStart","startDate","rangeEnd","endDate","rangeOnChange","onRangeChange","overrides","setCurrentMonth","useState","todayDate","isDisabled","date","some","d","navigateMonth","direction","prev","handleDatePress","isDateInRange","renderDay","item","isRangeStart","isRangeEnd","isSelected","isToday","isWeekend","isInRange","onPress","undefined","keyExtractor","index","toISOString","getItemLayout","_data","offset","Math","floor","containerStyle","navTextStyle","monthTitleStyle","weekDayTextStyle","textWeekendColor","style","children","map","data","renderItem","numColumns","scrollEnabled","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/CalendarGrid.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,10 +9,12 @@ const DEFAULT_COLORS = {
|
|
|
9
9
|
cellBackground: 'transparent',
|
|
10
10
|
cellSelected: '#4DA6FF',
|
|
11
11
|
cellToday: '#1E3A5F',
|
|
12
|
+
cellInRange: 'rgba(77, 166, 255, 0.2)',
|
|
12
13
|
textDefault: '#FFFFFF',
|
|
13
14
|
textSelected: '#FFFFFF',
|
|
14
15
|
textDisabled: '#555555',
|
|
15
16
|
textWeekend: '#8E8E93',
|
|
17
|
+
textInRange: '#FFFFFF',
|
|
16
18
|
primary: '#4DA6FF',
|
|
17
19
|
cellBorderRadius: 22
|
|
18
20
|
};
|
|
@@ -34,6 +36,9 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
34
36
|
isToday,
|
|
35
37
|
isDisabled,
|
|
36
38
|
isWeekend,
|
|
39
|
+
isRangeStart,
|
|
40
|
+
isRangeEnd,
|
|
41
|
+
isInRange,
|
|
37
42
|
onPress
|
|
38
43
|
}) => {
|
|
39
44
|
const overrides = useDatePickerOverrides();
|
|
@@ -44,9 +49,14 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
44
49
|
const style = {
|
|
45
50
|
backgroundColor: DEFAULT_COLORS.cellBackground
|
|
46
51
|
};
|
|
47
|
-
|
|
52
|
+
|
|
53
|
+
// Range start/end get selected styling
|
|
54
|
+
if (isRangeStart || isRangeEnd || isSelected) {
|
|
48
55
|
style.backgroundColor = overrides?.cellSelectedColor ?? overrides?.primaryColor ?? DEFAULT_COLORS.cellSelected;
|
|
49
56
|
style.borderRadius = overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius;
|
|
57
|
+
} else if (isInRange) {
|
|
58
|
+
// Dates in range get lighter background
|
|
59
|
+
style.backgroundColor = overrides?.cellInRangeColor ?? DEFAULT_COLORS.cellInRange;
|
|
50
60
|
} else if (isToday) {
|
|
51
61
|
style.backgroundColor = overrides?.cellTodayColor ?? DEFAULT_COLORS.cellToday;
|
|
52
62
|
style.borderRadius = overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius;
|
|
@@ -57,7 +67,7 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
57
67
|
style.opacity = 0.4;
|
|
58
68
|
}
|
|
59
69
|
return style;
|
|
60
|
-
}, [overrides, isSelected, isToday, isDisabled]);
|
|
70
|
+
}, [overrides, isSelected, isToday, isDisabled, isRangeStart, isRangeEnd, isInRange]);
|
|
61
71
|
|
|
62
72
|
// Build text style based on state and overrides
|
|
63
73
|
const textStyle = useMemo(() => {
|
|
@@ -65,9 +75,11 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
65
75
|
color: overrides?.textColor ?? DEFAULT_COLORS.textDefault,
|
|
66
76
|
fontWeight: '400'
|
|
67
77
|
};
|
|
68
|
-
if (isSelected) {
|
|
78
|
+
if (isRangeStart || isRangeEnd || isSelected) {
|
|
69
79
|
style.color = overrides?.textSelectedColor ?? DEFAULT_COLORS.textSelected;
|
|
70
80
|
style.fontWeight = '600';
|
|
81
|
+
} else if (isInRange) {
|
|
82
|
+
style.color = overrides?.textInRangeColor ?? DEFAULT_COLORS.textInRange;
|
|
71
83
|
} else if (isToday) {
|
|
72
84
|
style.color = overrides?.primaryColor ?? DEFAULT_COLORS.primary;
|
|
73
85
|
style.fontWeight = '600';
|
|
@@ -77,7 +89,7 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
77
89
|
style.color = overrides?.textWeekendColor ?? DEFAULT_COLORS.textWeekend;
|
|
78
90
|
}
|
|
79
91
|
return style;
|
|
80
|
-
}, [overrides, isSelected, isToday, isDisabled, isWeekend]);
|
|
92
|
+
}, [overrides, isSelected, isToday, isDisabled, isWeekend, isRangeStart, isRangeEnd, isInRange]);
|
|
81
93
|
if (!date) {
|
|
82
94
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
83
95
|
style: styles.cell,
|
|
@@ -103,6 +115,6 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
103
115
|
children: date.getUTCDate()
|
|
104
116
|
})
|
|
105
117
|
});
|
|
106
|
-
}, (prev, next) => prev.date?.getTime() === next.date?.getTime() && prev.isSelected === next.isSelected && prev.isToday === next.isToday && prev.isDisabled === next.isDisabled);
|
|
118
|
+
}, (prev, next) => prev.date?.getTime() === next.date?.getTime() && prev.isSelected === next.isSelected && prev.isToday === next.isToday && prev.isDisabled === next.isDisabled && prev.isRangeStart === next.isRangeStart && prev.isRangeEnd === next.isRangeEnd && prev.isInRange === next.isInRange);
|
|
107
119
|
DayCell.displayName = 'DayCell';
|
|
108
120
|
//# sourceMappingURL=DayCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useMemo","Pressable","StyleSheet","Text","useDatePickerOverrides","jsx","_jsx","DEFAULT_COLORS","cellBackground","cellSelected","cellToday","textDefault","textSelected","textDisabled","textWeekend","primary","cellBorderRadius","styles","create","cell","width","height","justifyContent","alignItems","text","fontSize","fontWeight","DayCell","date","isSelected","isToday","isDisabled","isWeekend","onPress","overrides","cellStyle","style","backgroundColor","cellSelectedColor","primaryColor","borderRadius","cellTodayColor","borderWidth","borderColor","opacity","textStyle","color","textColor","textSelectedColor","textDisabledColor","textWeekendColor","disabled","accessibilityRole","accessibilityLabel","Intl","DateTimeFormat","weekday","month","day","format","accessibilityState","selected","children","getUTCDate","prev","next","getTime","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/DayCell.tsx"],"mappings":";;AACA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC1D,SAASC,sBAAsB,QAAQ,uCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["memo","useMemo","Pressable","StyleSheet","Text","useDatePickerOverrides","jsx","_jsx","DEFAULT_COLORS","cellBackground","cellSelected","cellToday","cellInRange","textDefault","textSelected","textDisabled","textWeekend","textInRange","primary","cellBorderRadius","styles","create","cell","width","height","justifyContent","alignItems","text","fontSize","fontWeight","DayCell","date","isSelected","isToday","isDisabled","isWeekend","isRangeStart","isRangeEnd","isInRange","onPress","overrides","cellStyle","style","backgroundColor","cellSelectedColor","primaryColor","borderRadius","cellInRangeColor","cellTodayColor","borderWidth","borderColor","opacity","textStyle","color","textColor","textSelectedColor","textInRangeColor","textDisabledColor","textWeekendColor","disabled","accessibilityRole","accessibilityLabel","Intl","DateTimeFormat","weekday","month","day","format","accessibilityState","selected","children","getUTCDate","prev","next","getTime","displayName"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/DayCell.tsx"],"mappings":"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","ignoreList":[]}
|