@dreamstack-us/kaal 0.0.1 → 0.0.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/lib/module/components/CalendarGrid/CalendarGrid.js +47 -13
- package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -1
- package/lib/module/components/CalendarGrid/CalendarGrid.styles.js +22 -17
- package/lib/module/components/CalendarGrid/CalendarGrid.styles.js.map +1 -1
- package/lib/module/components/CalendarGrid/CalendarGrid.web.js +203 -0
- package/lib/module/components/CalendarGrid/CalendarGrid.web.js.map +1 -0
- package/lib/module/components/CalendarGrid/DayCell.js +64 -52
- package/lib/module/components/CalendarGrid/DayCell.js.map +1 -1
- package/lib/module/components/CalendarGrid/DayCell.web.js +112 -0
- package/lib/module/components/CalendarGrid/DayCell.web.js.map +1 -0
- package/lib/module/components/CalendarGrid/index.js +1 -1
- package/lib/module/components/CalendarGrid/index.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.android.js +17 -8
- package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.ios.js +17 -8
- 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.styles.js +19 -20
- package/lib/module/components/DatePicker/DatePicker.styles.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.web.js +26 -12
- package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -1
- package/lib/module/components/TimePicker/ClockFace.js +27 -7
- package/lib/module/components/TimePicker/ClockFace.js.map +1 -1
- package/lib/module/components/TimePicker/ClockFace.web.js +253 -0
- package/lib/module/components/TimePicker/ClockFace.web.js.map +1 -0
- package/lib/module/components/TimePicker/MaterialTimePicker.js +68 -16
- package/lib/module/components/TimePicker/MaterialTimePicker.js.map +1 -1
- package/lib/module/components/TimePicker/MaterialTimePicker.web.js +231 -0
- package/lib/module/components/TimePicker/MaterialTimePicker.web.js.map +1 -0
- package/lib/module/components/TimePicker/TimePicker.android.js +13 -6
- package/lib/module/components/TimePicker/TimePicker.android.js.map +1 -1
- package/lib/module/components/TimePicker/TimePicker.ios.js +14 -7
- package/lib/module/components/TimePicker/TimePicker.ios.js.map +1 -1
- package/lib/module/components/TimePicker/TimePicker.styles.js +53 -45
- package/lib/module/components/TimePicker/TimePicker.styles.js.map +1 -1
- package/lib/module/components/TimePicker/TimePicker.web.js +24 -12
- package/lib/module/components/TimePicker/TimePicker.web.js.map +1 -1
- package/lib/module/components/TimePicker/TimeWheelPicker.js +45 -10
- package/lib/module/components/TimePicker/TimeWheelPicker.js.map +1 -1
- package/lib/module/components/TimePicker/TimeWheelPicker.web.js +339 -0
- package/lib/module/components/TimePicker/TimeWheelPicker.web.js.map +1 -0
- package/lib/module/components/TimePicker/index.js +3 -3
- package/lib/module/components/TimePicker/index.js.map +1 -1
- package/lib/module/components/WheelPicker/WheelPicker.js +21 -2
- package/lib/module/components/WheelPicker/WheelPicker.js.map +1 -1
- package/lib/module/components/WheelPicker/WheelPicker.styles.js +13 -8
- package/lib/module/components/WheelPicker/WheelPicker.styles.js.map +1 -1
- package/lib/module/components/WheelPicker/WheelPicker.web.js +146 -57
- package/lib/module/components/WheelPicker/WheelPicker.web.js.map +1 -1
- package/lib/module/context/ThemeOverrideContext.js +34 -0
- package/lib/module/context/ThemeOverrideContext.js.map +1 -0
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/validation.js +74 -34
- package/lib/module/utils/validation.js.map +1 -1
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +9 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -1
- package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts +12 -10
- package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -1
- package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts +21 -0
- package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts.map +1 -0
- package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -1
- package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts +12 -0
- package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker/DatePicker.d.ts +12 -1
- 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.styles.d.ts +12 -13
- package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts.map +1 -1
- package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/ClockFace.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/ClockFace.web.d.ts +12 -0
- package/lib/typescript/components/TimePicker/ClockFace.web.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/MaterialTimePicker.web.d.ts +12 -0
- package/lib/typescript/components/TimePicker/MaterialTimePicker.web.d.ts.map +1 -0
- package/lib/typescript/components/TimePicker/TimePicker.android.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts +29 -25
- package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/TimePicker.web.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts.map +1 -1
- package/lib/typescript/components/TimePicker/TimeWheelPicker.web.d.ts +11 -0
- package/lib/typescript/components/TimePicker/TimeWheelPicker.web.d.ts.map +1 -0
- package/lib/typescript/components/WheelPicker/WheelPicker.d.ts +14 -1
- package/lib/typescript/components/WheelPicker/WheelPicker.d.ts.map +1 -1
- package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts +9 -7
- package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts.map +1 -1
- package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts.map +1 -1
- package/lib/typescript/context/ThemeOverrideContext.d.ts +23 -0
- package/lib/typescript/context/ThemeOverrideContext.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/datepicker.d.ts +41 -0
- package/lib/typescript/types/datepicker.d.ts.map +1 -1
- package/lib/typescript/types/timepicker.d.ts +62 -0
- package/lib/typescript/types/timepicker.d.ts.map +1 -1
- package/lib/typescript/utils/validation.d.ts +47 -27
- package/lib/typescript/utils/validation.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/components/CalendarGrid/CalendarGrid.styles.ts +21 -17
- package/src/components/CalendarGrid/CalendarGrid.tsx +98 -12
- package/src/components/CalendarGrid/CalendarGrid.web.tsx +305 -0
- package/src/components/CalendarGrid/DayCell.tsx +78 -59
- package/src/components/CalendarGrid/DayCell.web.tsx +129 -0
- package/src/components/DatePicker/DatePicker.android.tsx +14 -8
- package/src/components/DatePicker/DatePicker.ios.tsx +14 -8
- package/src/components/DatePicker/DatePicker.styles.ts +18 -22
- package/src/components/DatePicker/DatePicker.tsx +12 -1
- package/src/components/DatePicker/DatePicker.web.tsx +21 -13
- package/src/components/TimePicker/ClockFace.tsx +34 -8
- package/src/components/TimePicker/ClockFace.web.tsx +303 -0
- package/src/components/TimePicker/MaterialTimePicker.tsx +144 -13
- package/src/components/TimePicker/MaterialTimePicker.web.tsx +271 -0
- package/src/components/TimePicker/TimePicker.android.tsx +9 -1
- package/src/components/TimePicker/TimePicker.ios.tsx +10 -6
- package/src/components/TimePicker/TimePicker.styles.ts +52 -45
- package/src/components/TimePicker/TimePicker.web.tsx +17 -7
- package/src/components/TimePicker/TimeWheelPicker.tsx +60 -6
- package/src/components/TimePicker/TimeWheelPicker.web.tsx +401 -0
- package/src/components/WheelPicker/WheelPicker.styles.ts +12 -8
- package/src/components/WheelPicker/WheelPicker.tsx +24 -2
- package/src/components/WheelPicker/WheelPicker.web.tsx +153 -57
- package/src/context/ThemeOverrideContext.tsx +38 -0
- package/src/index.ts +11 -0
- package/src/types/datepicker.ts +44 -0
- package/src/types/timepicker.ts +74 -0
- package/src/utils/validation.ts +111 -55
- package/lib/module/unistyles.js +0 -9
- package/lib/module/unistyles.js.map +0 -1
- package/lib/typescript/unistyles.d.ts +0 -3
- package/lib/typescript/unistyles.d.ts.map +0 -1
- package/src/unistyles.ts +0 -6
|
@@ -2,17 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { memo, useCallback, useMemo } from 'react';
|
|
4
4
|
import { FlatList, Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { useDatePickerOverrides } from "../../context/ThemeOverrideContext.js";
|
|
5
6
|
import { addMonths, compareDates, formatYearMonth, getDayOfWeek, getFirstDayOfMonth, getMonthDays, isSameDay, today } from "../../utils/date.js";
|
|
6
7
|
import { styles } from "./CalendarGrid.styles.js";
|
|
7
|
-
import { DayCell } from
|
|
8
|
+
import { DayCell } from './DayCell';
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
const CELL_SIZE = 44;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
// Week day labels starting from Sunday
|
|
13
|
+
const WEEK_DAYS_SUNDAY_START = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
14
|
+
const WEEK_DAYS_MONDAY_START = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Generate padding days for the month grid based on week start day
|
|
18
|
+
* TODO: This logic should be refactored when adding locale support
|
|
19
|
+
*/
|
|
20
|
+
const generateMonthDays = (currentMonth, weekStartsOn) => {
|
|
12
21
|
const firstDay = getFirstDayOfMonth(currentMonth);
|
|
13
|
-
// getDayOfWeek returns 0 for Sunday,
|
|
14
|
-
const
|
|
15
|
-
|
|
22
|
+
// getDayOfWeek returns 0 for Sunday, 1 for Monday, etc.
|
|
23
|
+
const dayOfWeek = getDayOfWeek(firstDay);
|
|
24
|
+
|
|
25
|
+
// Calculate padding days based on week start
|
|
26
|
+
let paddingDays;
|
|
27
|
+
if (weekStartsOn === 0) {
|
|
28
|
+
// Sunday start: Sunday = 0 padding, Monday = 1, etc.
|
|
29
|
+
paddingDays = dayOfWeek;
|
|
30
|
+
} else {
|
|
31
|
+
// Monday start: Monday = 0 padding, Sunday = 6 padding
|
|
32
|
+
paddingDays = dayOfWeek === 0 ? 6 : dayOfWeek - 1;
|
|
33
|
+
}
|
|
16
34
|
const days = [];
|
|
17
35
|
for (let i = 0; i < paddingDays; i++) {
|
|
18
36
|
days.push(null);
|
|
@@ -35,10 +53,13 @@ export const CalendarGrid = /*#__PURE__*/memo(({
|
|
|
35
53
|
minDate,
|
|
36
54
|
maxDate,
|
|
37
55
|
disabledDates,
|
|
38
|
-
themeMode
|
|
56
|
+
themeMode,
|
|
57
|
+
weekStartsOn = 0
|
|
39
58
|
}) => {
|
|
59
|
+
const overrides = useDatePickerOverrides();
|
|
40
60
|
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(value));
|
|
41
|
-
const days = useMemo(() => generateMonthDays(currentMonth), [currentMonth]);
|
|
61
|
+
const days = useMemo(() => generateMonthDays(currentMonth, weekStartsOn), [currentMonth, weekStartsOn]);
|
|
62
|
+
const weekDays = weekStartsOn === 0 ? WEEK_DAYS_SUNDAY_START : WEEK_DAYS_MONDAY_START;
|
|
42
63
|
const todayDate = useMemo(() => today(), []);
|
|
43
64
|
const isDisabled = useCallback(date => {
|
|
44
65
|
if (!date) return true;
|
|
@@ -66,31 +87,44 @@ export const CalendarGrid = /*#__PURE__*/memo(({
|
|
|
66
87
|
offset: CELL_SIZE * Math.floor(index / 7),
|
|
67
88
|
index
|
|
68
89
|
}), []);
|
|
90
|
+
|
|
91
|
+
// Build override styles from themeOverrides
|
|
92
|
+
const containerStyle = useMemo(() => ({
|
|
93
|
+
backgroundColor: overrides?.backgroundColor ?? '#1E1E1E',
|
|
94
|
+
borderRadius: overrides?.borderRadius ?? 16,
|
|
95
|
+
padding: overrides?.padding ?? 16
|
|
96
|
+
}), [overrides]);
|
|
97
|
+
const navTextStyle = useMemo(() => ({
|
|
98
|
+
color: overrides?.primaryColor ?? '#4DA6FF'
|
|
99
|
+
}), [overrides]);
|
|
100
|
+
const monthTitleStyle = useMemo(() => ({
|
|
101
|
+
color: overrides?.textColor ?? '#FFFFFF'
|
|
102
|
+
}), [overrides]);
|
|
69
103
|
return /*#__PURE__*/_jsxs(View, {
|
|
70
|
-
style: styles.container,
|
|
104
|
+
style: [styles.container, containerStyle],
|
|
71
105
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
72
106
|
style: styles.header,
|
|
73
107
|
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
74
108
|
onPress: () => navigateMonth(-1),
|
|
75
109
|
style: styles.navButton,
|
|
76
110
|
children: /*#__PURE__*/_jsx(Text, {
|
|
77
|
-
style: styles.navText,
|
|
111
|
+
style: [styles.navText, navTextStyle],
|
|
78
112
|
children: "\u2039"
|
|
79
113
|
})
|
|
80
114
|
}), /*#__PURE__*/_jsx(Text, {
|
|
81
|
-
style: styles.monthTitle,
|
|
115
|
+
style: [styles.monthTitle, monthTitleStyle],
|
|
82
116
|
children: formatYearMonth(currentMonth)
|
|
83
117
|
}), /*#__PURE__*/_jsx(Pressable, {
|
|
84
118
|
onPress: () => navigateMonth(1),
|
|
85
119
|
style: styles.navButton,
|
|
86
120
|
children: /*#__PURE__*/_jsx(Text, {
|
|
87
|
-
style: styles.navText,
|
|
121
|
+
style: [styles.navText, navTextStyle],
|
|
88
122
|
children: "\u203A"
|
|
89
123
|
})
|
|
90
124
|
})]
|
|
91
125
|
}), /*#__PURE__*/_jsx(View, {
|
|
92
126
|
style: styles.weekDays,
|
|
93
|
-
children:
|
|
127
|
+
children: weekDays.map(day => /*#__PURE__*/_jsx(Text, {
|
|
94
128
|
style: styles.weekDayText,
|
|
95
129
|
children: day
|
|
96
130
|
}, day))
|
|
@@ -1 +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","
|
|
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","minDate","maxDate","disabledDates","themeMode","overrides","setCurrentMonth","useState","weekDays","todayDate","isDisabled","date","some","d","navigateMonth","direction","prev","renderDay","item","isSelected","isToday","isWeekend","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":[]}
|
|
@@ -1,46 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { StyleSheet } from 'react-native
|
|
4
|
-
|
|
3
|
+
import { StyleSheet } from 'react-native';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Default styles for CalendarGrid using plain React Native StyleSheet.
|
|
7
|
+
* Colors use dark theme defaults - consumers override via themeOverrides prop.
|
|
8
|
+
*/
|
|
9
|
+
export const styles = StyleSheet.create({
|
|
5
10
|
container: {
|
|
6
|
-
backgroundColor:
|
|
7
|
-
borderRadius:
|
|
8
|
-
padding:
|
|
11
|
+
backgroundColor: '#1E1E1E',
|
|
12
|
+
borderRadius: 16,
|
|
13
|
+
padding: 16
|
|
9
14
|
},
|
|
10
15
|
header: {
|
|
11
16
|
flexDirection: 'row',
|
|
12
17
|
justifyContent: 'space-between',
|
|
13
18
|
alignItems: 'center',
|
|
14
|
-
marginBottom:
|
|
15
|
-
paddingHorizontal:
|
|
19
|
+
marginBottom: 16,
|
|
20
|
+
paddingHorizontal: 8
|
|
16
21
|
},
|
|
17
22
|
navButton: {
|
|
18
23
|
width: 40,
|
|
19
24
|
height: 40,
|
|
20
25
|
justifyContent: 'center',
|
|
21
26
|
alignItems: 'center',
|
|
22
|
-
borderRadius:
|
|
27
|
+
borderRadius: 8
|
|
23
28
|
},
|
|
24
29
|
navText: {
|
|
25
30
|
fontSize: 24,
|
|
26
|
-
color:
|
|
31
|
+
color: '#4DA6FF',
|
|
27
32
|
fontWeight: '600'
|
|
28
33
|
},
|
|
29
34
|
monthTitle: {
|
|
30
|
-
fontSize:
|
|
31
|
-
fontWeight:
|
|
32
|
-
color:
|
|
35
|
+
fontSize: 17,
|
|
36
|
+
fontWeight: '600',
|
|
37
|
+
color: '#FFFFFF'
|
|
33
38
|
},
|
|
34
39
|
weekDays: {
|
|
35
40
|
flexDirection: 'row',
|
|
36
|
-
marginBottom:
|
|
41
|
+
marginBottom: 8
|
|
37
42
|
},
|
|
38
43
|
weekDayText: {
|
|
39
44
|
flex: 1,
|
|
40
45
|
textAlign: 'center',
|
|
41
|
-
fontSize:
|
|
42
|
-
fontWeight:
|
|
43
|
-
color:
|
|
46
|
+
fontSize: 13,
|
|
47
|
+
fontWeight: '500',
|
|
48
|
+
color: '#8E8E93'
|
|
44
49
|
}
|
|
45
|
-
})
|
|
50
|
+
});
|
|
46
51
|
//# sourceMappingURL=CalendarGrid.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","styles","create","
|
|
1
|
+
{"version":3,"names":["StyleSheet","styles","create","container","backgroundColor","borderRadius","padding","header","flexDirection","justifyContent","alignItems","marginBottom","paddingHorizontal","navButton","width","height","navText","fontSize","color","fontWeight","monthTitle","weekDays","weekDayText","flex","textAlign"],"sourceRoot":"../../../../src","sources":["components/CalendarGrid/CalendarGrid.styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;;AAEzC;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAC;EACtCC,SAAS,EAAE;IACTC,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAE;IACNC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,SAAS,EAAE;IACTC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVN,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBL,YAAY,EAAE;EAChB,CAAC;EACDW,OAAO,EAAE;IACPC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE,SAAS;IAChBC,UAAU,EAAE;EACd,CAAC;EACDC,UAAU,EAAE;IACVH,QAAQ,EAAE,EAAE;IACZE,UAAU,EAAE,KAAK;IACjBD,KAAK,EAAE;EACT,CAAC;EACDG,QAAQ,EAAE;IACRb,aAAa,EAAE,KAAK;IACpBG,YAAY,EAAE;EAChB,CAAC;EACDW,WAAW,EAAE;IACXC,IAAI,EAAE,CAAC;IACPC,SAAS,EAAE,QAAQ;IACnBP,QAAQ,EAAE,EAAE;IACZE,UAAU,EAAE,KAAK;IACjBD,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/// <reference lib="dom" />
|
|
4
|
+
import React, { memo, useCallback, useMemo } from 'react';
|
|
5
|
+
import { FlatList, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
6
|
+
import { useDatePickerOverrides } from "../../context/ThemeOverrideContext.js";
|
|
7
|
+
import { addMonths, compareDates, formatYearMonth, getDayOfWeek, getFirstDayOfMonth, getMonthDays, isSameDay, today } from "../../utils/date.js";
|
|
8
|
+
import { DayCell } from './DayCell';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const CELL_SIZE = 44;
|
|
11
|
+
|
|
12
|
+
// Week day labels starting from Sunday
|
|
13
|
+
const WEEK_DAYS_SUNDAY_START = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
14
|
+
const WEEK_DAYS_MONDAY_START = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
|
|
15
|
+
|
|
16
|
+
// Default colors (light theme for web)
|
|
17
|
+
const DEFAULT_COLORS = {
|
|
18
|
+
backgroundColor: '#FFFFFF',
|
|
19
|
+
primaryColor: '#007AFF',
|
|
20
|
+
textColor: '#1C1C1E',
|
|
21
|
+
weekdayColor: '#8E8E93',
|
|
22
|
+
borderRadius: 14,
|
|
23
|
+
padding: 16
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Generate padding days for the month grid based on week start day
|
|
28
|
+
* TODO: This logic should be refactored when adding locale support
|
|
29
|
+
*/
|
|
30
|
+
const generateMonthDays = (currentMonth, weekStartsOn) => {
|
|
31
|
+
const firstDay = getFirstDayOfMonth(currentMonth);
|
|
32
|
+
// getDayOfWeek returns 0 for Sunday, 1 for Monday, etc.
|
|
33
|
+
const dayOfWeek = getDayOfWeek(firstDay);
|
|
34
|
+
|
|
35
|
+
// Calculate padding days based on week start
|
|
36
|
+
let paddingDays;
|
|
37
|
+
if (weekStartsOn === 0) {
|
|
38
|
+
// Sunday start: Sunday = 0 padding, Monday = 1, etc.
|
|
39
|
+
paddingDays = dayOfWeek;
|
|
40
|
+
} else {
|
|
41
|
+
// Monday start: Monday = 0 padding, Sunday = 6 padding
|
|
42
|
+
paddingDays = dayOfWeek === 0 ? 6 : dayOfWeek - 1;
|
|
43
|
+
}
|
|
44
|
+
const days = [];
|
|
45
|
+
for (let i = 0; i < paddingDays; i++) {
|
|
46
|
+
days.push(null);
|
|
47
|
+
}
|
|
48
|
+
const monthDays = getMonthDays(currentMonth.getUTCFullYear(), currentMonth.getUTCMonth());
|
|
49
|
+
for (const day of monthDays) {
|
|
50
|
+
days.push(day);
|
|
51
|
+
}
|
|
52
|
+
const remaining = 7 - days.length % 7;
|
|
53
|
+
if (remaining < 7) {
|
|
54
|
+
for (let i = 0; i < remaining; i++) {
|
|
55
|
+
days.push(null);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return days;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// Web-compatible styles (no unistyles dependency)
|
|
62
|
+
const webStyles = StyleSheet.create({
|
|
63
|
+
container: {
|
|
64
|
+
backgroundColor: '#FFFFFF',
|
|
65
|
+
borderRadius: 14,
|
|
66
|
+
padding: 16
|
|
67
|
+
},
|
|
68
|
+
header: {
|
|
69
|
+
flexDirection: 'row',
|
|
70
|
+
justifyContent: 'space-between',
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
marginBottom: 16,
|
|
73
|
+
paddingHorizontal: 8
|
|
74
|
+
},
|
|
75
|
+
navButton: {
|
|
76
|
+
width: 40,
|
|
77
|
+
height: 40,
|
|
78
|
+
justifyContent: 'center',
|
|
79
|
+
alignItems: 'center',
|
|
80
|
+
borderRadius: 8
|
|
81
|
+
},
|
|
82
|
+
navText: {
|
|
83
|
+
fontSize: 24,
|
|
84
|
+
color: '#007AFF',
|
|
85
|
+
fontWeight: '600'
|
|
86
|
+
},
|
|
87
|
+
monthTitle: {
|
|
88
|
+
fontSize: 17,
|
|
89
|
+
fontWeight: '600',
|
|
90
|
+
color: '#1C1C1E'
|
|
91
|
+
},
|
|
92
|
+
weekDays: {
|
|
93
|
+
flexDirection: 'row',
|
|
94
|
+
marginBottom: 8
|
|
95
|
+
},
|
|
96
|
+
weekDayText: {
|
|
97
|
+
flex: 1,
|
|
98
|
+
textAlign: 'center',
|
|
99
|
+
fontSize: 13,
|
|
100
|
+
fontWeight: '600',
|
|
101
|
+
color: '#8E8E93'
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
export const CalendarGrid = /*#__PURE__*/memo(({
|
|
105
|
+
value,
|
|
106
|
+
onChange,
|
|
107
|
+
minDate,
|
|
108
|
+
maxDate,
|
|
109
|
+
disabledDates,
|
|
110
|
+
themeMode,
|
|
111
|
+
weekStartsOn = 0
|
|
112
|
+
}) => {
|
|
113
|
+
const overrides = useDatePickerOverrides();
|
|
114
|
+
const [currentMonth, setCurrentMonth] = React.useState(() => getFirstDayOfMonth(value));
|
|
115
|
+
const days = useMemo(() => generateMonthDays(currentMonth, weekStartsOn), [currentMonth, weekStartsOn]);
|
|
116
|
+
const weekDays = weekStartsOn === 0 ? WEEK_DAYS_SUNDAY_START : WEEK_DAYS_MONDAY_START;
|
|
117
|
+
const todayDate = useMemo(() => today(), []);
|
|
118
|
+
const isDisabled = useCallback(date => {
|
|
119
|
+
if (!date) return true;
|
|
120
|
+
if (minDate && compareDates(date, minDate) < 0) return true;
|
|
121
|
+
if (maxDate && compareDates(date, maxDate) > 0) return true;
|
|
122
|
+
if (disabledDates?.some(d => isSameDay(date, d))) return true;
|
|
123
|
+
return false;
|
|
124
|
+
}, [minDate, maxDate, disabledDates]);
|
|
125
|
+
const navigateMonth = useCallback(direction => {
|
|
126
|
+
setCurrentMonth(prev => addMonths(prev, direction));
|
|
127
|
+
}, []);
|
|
128
|
+
const renderDay = useCallback(({
|
|
129
|
+
item
|
|
130
|
+
}) => /*#__PURE__*/_jsx(DayCell, {
|
|
131
|
+
date: item,
|
|
132
|
+
isSelected: item ? isSameDay(item, value) : false,
|
|
133
|
+
isToday: item ? isSameDay(item, todayDate) : false,
|
|
134
|
+
isDisabled: isDisabled(item),
|
|
135
|
+
isWeekend: item ? getDayOfWeek(item) === 0 || getDayOfWeek(item) === 6 : false,
|
|
136
|
+
onPress: item && !isDisabled(item) ? () => onChange(item) : undefined
|
|
137
|
+
}), [value, todayDate, isDisabled, onChange]);
|
|
138
|
+
const keyExtractor = useCallback((item, index) => item?.toISOString() ?? `empty-${index}`, []);
|
|
139
|
+
const getItemLayout = useCallback((_data, index) => ({
|
|
140
|
+
length: CELL_SIZE,
|
|
141
|
+
offset: CELL_SIZE * Math.floor(index / 7),
|
|
142
|
+
index
|
|
143
|
+
}), []);
|
|
144
|
+
|
|
145
|
+
// Build override styles
|
|
146
|
+
const containerStyle = useMemo(() => ({
|
|
147
|
+
backgroundColor: overrides?.backgroundColor ?? DEFAULT_COLORS.backgroundColor,
|
|
148
|
+
borderRadius: overrides?.borderRadius ?? DEFAULT_COLORS.borderRadius,
|
|
149
|
+
padding: overrides?.padding ?? DEFAULT_COLORS.padding
|
|
150
|
+
}), [overrides]);
|
|
151
|
+
const navTextStyle = useMemo(() => ({
|
|
152
|
+
color: overrides?.primaryColor ?? DEFAULT_COLORS.primaryColor
|
|
153
|
+
}), [overrides]);
|
|
154
|
+
const monthTitleStyle = useMemo(() => ({
|
|
155
|
+
color: overrides?.textColor ?? DEFAULT_COLORS.textColor
|
|
156
|
+
}), [overrides]);
|
|
157
|
+
const weekDayTextStyle = useMemo(() => ({
|
|
158
|
+
color: overrides?.textWeekendColor ?? DEFAULT_COLORS.weekdayColor
|
|
159
|
+
}), [overrides]);
|
|
160
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
161
|
+
style: [webStyles.container, containerStyle],
|
|
162
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
163
|
+
style: webStyles.header,
|
|
164
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
165
|
+
onPress: () => navigateMonth(-1),
|
|
166
|
+
style: webStyles.navButton,
|
|
167
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
168
|
+
style: [webStyles.navText, navTextStyle],
|
|
169
|
+
children: "\u2039"
|
|
170
|
+
})
|
|
171
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
172
|
+
style: [webStyles.monthTitle, monthTitleStyle],
|
|
173
|
+
children: formatYearMonth(currentMonth)
|
|
174
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
175
|
+
onPress: () => navigateMonth(1),
|
|
176
|
+
style: webStyles.navButton,
|
|
177
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
178
|
+
style: [webStyles.navText, navTextStyle],
|
|
179
|
+
children: "\u203A"
|
|
180
|
+
})
|
|
181
|
+
})]
|
|
182
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
183
|
+
style: webStyles.weekDays,
|
|
184
|
+
children: weekDays.map(day => /*#__PURE__*/_jsx(Text, {
|
|
185
|
+
style: [webStyles.weekDayText, weekDayTextStyle],
|
|
186
|
+
children: day
|
|
187
|
+
}, day))
|
|
188
|
+
}), /*#__PURE__*/_jsx(FlatList, {
|
|
189
|
+
data: days,
|
|
190
|
+
renderItem: renderDay,
|
|
191
|
+
keyExtractor: keyExtractor,
|
|
192
|
+
getItemLayout: getItemLayout,
|
|
193
|
+
numColumns: 7,
|
|
194
|
+
scrollEnabled: false,
|
|
195
|
+
removeClippedSubviews: true,
|
|
196
|
+
maxToRenderPerBatch: 14,
|
|
197
|
+
windowSize: 3,
|
|
198
|
+
initialNumToRender: 42
|
|
199
|
+
})]
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
CalendarGrid.displayName = 'CalendarGrid';
|
|
203
|
+
//# sourceMappingURL=CalendarGrid.web.js.map
|
|
@@ -0,0 +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,59 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { memo } from 'react';
|
|
4
|
-
import { Pressable, Text } from 'react-native';
|
|
5
|
-
import {
|
|
3
|
+
import { memo, useMemo } from 'react';
|
|
4
|
+
import { Pressable, StyleSheet, Text } from 'react-native';
|
|
5
|
+
import { useDatePickerOverrides } from "../../context/ThemeOverrideContext.js";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// Default colors (dark theme)
|
|
8
|
+
const DEFAULT_COLORS = {
|
|
9
|
+
cellBackground: 'transparent',
|
|
10
|
+
cellSelected: '#4DA6FF',
|
|
11
|
+
cellToday: '#1E3A5F',
|
|
12
|
+
textDefault: '#FFFFFF',
|
|
13
|
+
textSelected: '#FFFFFF',
|
|
14
|
+
textDisabled: '#555555',
|
|
15
|
+
textWeekend: '#8E8E93',
|
|
16
|
+
primary: '#4DA6FF',
|
|
17
|
+
cellBorderRadius: 22
|
|
18
|
+
};
|
|
19
|
+
const styles = StyleSheet.create({
|
|
8
20
|
cell: {
|
|
9
21
|
width: 44,
|
|
10
22
|
height: 44,
|
|
11
23
|
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
|
-
}
|
|
24
|
+
alignItems: 'center'
|
|
32
25
|
},
|
|
33
26
|
text: {
|
|
34
|
-
fontSize:
|
|
35
|
-
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
|
-
}
|
|
27
|
+
fontSize: 17,
|
|
28
|
+
fontWeight: '400'
|
|
55
29
|
}
|
|
56
|
-
})
|
|
30
|
+
});
|
|
57
31
|
export const DayCell = /*#__PURE__*/memo(({
|
|
58
32
|
date,
|
|
59
33
|
isSelected,
|
|
@@ -62,18 +36,56 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
62
36
|
isWeekend,
|
|
63
37
|
onPress
|
|
64
38
|
}) => {
|
|
39
|
+
const overrides = useDatePickerOverrides();
|
|
40
|
+
|
|
41
|
+
// Build cell style based on state and overrides
|
|
42
|
+
// Use primaryColor as fallback for cellSelectedColor (consumer expectation)
|
|
43
|
+
const cellStyle = useMemo(() => {
|
|
44
|
+
const style = {
|
|
45
|
+
backgroundColor: DEFAULT_COLORS.cellBackground
|
|
46
|
+
};
|
|
47
|
+
if (isSelected) {
|
|
48
|
+
style.backgroundColor = overrides?.cellSelectedColor ?? overrides?.primaryColor ?? DEFAULT_COLORS.cellSelected;
|
|
49
|
+
style.borderRadius = overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius;
|
|
50
|
+
} else if (isToday) {
|
|
51
|
+
style.backgroundColor = overrides?.cellTodayColor ?? DEFAULT_COLORS.cellToday;
|
|
52
|
+
style.borderRadius = overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius;
|
|
53
|
+
style.borderWidth = 1;
|
|
54
|
+
style.borderColor = overrides?.primaryColor ?? DEFAULT_COLORS.primary;
|
|
55
|
+
}
|
|
56
|
+
if (isDisabled) {
|
|
57
|
+
style.opacity = 0.4;
|
|
58
|
+
}
|
|
59
|
+
return style;
|
|
60
|
+
}, [overrides, isSelected, isToday, isDisabled]);
|
|
61
|
+
|
|
62
|
+
// Build text style based on state and overrides
|
|
63
|
+
const textStyle = useMemo(() => {
|
|
64
|
+
const style = {
|
|
65
|
+
color: overrides?.textColor ?? DEFAULT_COLORS.textDefault,
|
|
66
|
+
fontWeight: '400'
|
|
67
|
+
};
|
|
68
|
+
if (isSelected) {
|
|
69
|
+
style.color = overrides?.textSelectedColor ?? DEFAULT_COLORS.textSelected;
|
|
70
|
+
style.fontWeight = '600';
|
|
71
|
+
} else if (isToday) {
|
|
72
|
+
style.color = overrides?.primaryColor ?? DEFAULT_COLORS.primary;
|
|
73
|
+
style.fontWeight = '600';
|
|
74
|
+
} else if (isDisabled) {
|
|
75
|
+
style.color = overrides?.textDisabledColor ?? DEFAULT_COLORS.textDisabled;
|
|
76
|
+
} else if (isWeekend) {
|
|
77
|
+
style.color = overrides?.textWeekendColor ?? DEFAULT_COLORS.textWeekend;
|
|
78
|
+
}
|
|
79
|
+
return style;
|
|
80
|
+
}, [overrides, isSelected, isToday, isDisabled, isWeekend]);
|
|
65
81
|
if (!date) {
|
|
66
82
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
67
83
|
style: styles.cell,
|
|
68
84
|
disabled: true
|
|
69
85
|
});
|
|
70
86
|
}
|
|
71
|
-
const state = isDisabled ? 'disabled' : isSelected ? 'selected' : isToday ? 'today' : isWeekend ? 'weekend' : undefined;
|
|
72
|
-
styles.useVariants({
|
|
73
|
-
state
|
|
74
|
-
});
|
|
75
87
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
76
|
-
style: styles.cell,
|
|
88
|
+
style: [styles.cell, cellStyle],
|
|
77
89
|
onPress: onPress,
|
|
78
90
|
disabled: isDisabled,
|
|
79
91
|
accessibilityRole: "button",
|
|
@@ -87,7 +99,7 @@ export const DayCell = /*#__PURE__*/memo(({
|
|
|
87
99
|
disabled: isDisabled
|
|
88
100
|
},
|
|
89
101
|
children: /*#__PURE__*/_jsx(Text, {
|
|
90
|
-
style: styles.text,
|
|
102
|
+
style: [styles.text, textStyle],
|
|
91
103
|
children: date.getUTCDate()
|
|
92
104
|
})
|
|
93
105
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","
|
|
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;AAW5E;AACA,MAAMC,cAAc,GAAG;EACrBC,cAAc,EAAE,aAAa;EAC7BC,YAAY,EAAE,SAAS;EACvBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,YAAY,EAAE,SAAS;EACvBC,YAAY,EAAE,SAAS;EACvBC,WAAW,EAAE,SAAS;EACtBC,OAAO,EAAE,SAAS;EAClBC,gBAAgB,EAAE;AACpB,CAAC;AAED,MAAMC,MAAM,GAAGf,UAAU,CAACgB,MAAM,CAAC;EAC/BC,IAAI,EAAE;IACJC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDC,IAAI,EAAE;IACJC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,OAA+B,gBAAG5B,IAAI,CACjD,CAAC;EAAE6B,IAAI;EAAEC,UAAU;EAAEC,OAAO;EAAEC,UAAU;EAAEC,SAAS;EAAEC;AAAQ,CAAC,KAAK;EACjE,MAAMC,SAAS,GAAG9B,sBAAsB,CAAC,CAAC;;EAE1C;EACA;EACA,MAAM+B,SAAS,GAAGnC,OAAO,CAAC,MAAM;IAC9B,MAAMoC,KAA8B,GAAG;MACrCC,eAAe,EAAE9B,cAAc,CAACC;IAClC,CAAC;IAED,IAAIqB,UAAU,EAAE;MACdO,KAAK,CAACC,eAAe,GACnBH,SAAS,EAAEI,iBAAiB,IAC5BJ,SAAS,EAAEK,YAAY,IACvBhC,cAAc,CAACE,YAAY;MAC7B2B,KAAK,CAACI,YAAY,GAChBN,SAAS,EAAElB,gBAAgB,IAAIT,cAAc,CAACS,gBAAgB;IAClE,CAAC,MAAM,IAAIc,OAAO,EAAE;MAClBM,KAAK,CAACC,eAAe,GACnBH,SAAS,EAAEO,cAAc,IAAIlC,cAAc,CAACG,SAAS;MACvD0B,KAAK,CAACI,YAAY,GAChBN,SAAS,EAAElB,gBAAgB,IAAIT,cAAc,CAACS,gBAAgB;MAChEoB,KAAK,CAACM,WAAW,GAAG,CAAC;MACrBN,KAAK,CAACO,WAAW,GAAGT,SAAS,EAAEK,YAAY,IAAIhC,cAAc,CAACQ,OAAO;IACvE;IAEA,IAAIgB,UAAU,EAAE;MACdK,KAAK,CAACQ,OAAO,GAAG,GAAG;IACrB;IAEA,OAAOR,KAAK;EACd,CAAC,EAAE,CAACF,SAAS,EAAEL,UAAU,EAAEC,OAAO,EAAEC,UAAU,CAAC,CAAC;;EAEhD;EACA,MAAMc,SAAS,GAAG7C,OAAO,CAAC,MAAM;IAC9B,MAAMoC,KAA8B,GAAG;MACrCU,KAAK,EAAEZ,SAAS,EAAEa,SAAS,IAAIxC,cAAc,CAACI,WAAW;MACzDe,UAAU,EAAE;IACd,CAAC;IAED,IAAIG,UAAU,EAAE;MACdO,KAAK,CAACU,KAAK,GACTZ,SAAS,EAAEc,iBAAiB,IAAIzC,cAAc,CAACK,YAAY;MAC7DwB,KAAK,CAACV,UAAU,GAAG,KAAK;IAC1B,CAAC,MAAM,IAAII,OAAO,EAAE;MAClBM,KAAK,CAACU,KAAK,GAAGZ,SAAS,EAAEK,YAAY,IAAIhC,cAAc,CAACQ,OAAO;MAC/DqB,KAAK,CAACV,UAAU,GAAG,KAAK;IAC1B,CAAC,MAAM,IAAIK,UAAU,EAAE;MACrBK,KAAK,CAACU,KAAK,GACTZ,SAAS,EAAEe,iBAAiB,IAAI1C,cAAc,CAACM,YAAY;IAC/D,CAAC,MAAM,IAAImB,SAAS,EAAE;MACpBI,KAAK,CAACU,KAAK,GAAGZ,SAAS,EAAEgB,gBAAgB,IAAI3C,cAAc,CAACO,WAAW;IACzE;IAEA,OAAOsB,KAAK;EACd,CAAC,EAAE,CAACF,SAAS,EAAEL,UAAU,EAAEC,OAAO,EAAEC,UAAU,EAAEC,SAAS,CAAC,CAAC;EAE3D,IAAI,CAACJ,IAAI,EAAE;IACT,oBAAOtB,IAAA,CAACL,SAAS;MAACmC,KAAK,EAAEnB,MAAM,CAACE,IAAK;MAACgC,QAAQ;IAAA,CAAE,CAAC;EACnD;EAEA,oBACE7C,IAAA,CAACL,SAAS;IACRmC,KAAK,EAAE,CAACnB,MAAM,CAACE,IAAI,EAAEgB,SAAS,CAAE;IAChCF,OAAO,EAAEA,OAAQ;IACjBkB,QAAQ,EAAEpB,UAAW;IACrBqB,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE,IAAIC,IAAI,CAACC,cAAc,CAAC,OAAO,EAAE;MACnDC,OAAO,EAAE,MAAM;MACfC,KAAK,EAAE,MAAM;MACbC,GAAG,EAAE;IACP,CAAC,CAAC,CAACC,MAAM,CAAC/B,IAAI,CAAE;IAChBgC,kBAAkB,EAAE;MAAEC,QAAQ,EAAEhC,UAAU;MAAEsB,QAAQ,EAAEpB;IAAW,CAAE;IAAA+B,QAAA,eAEnExD,IAAA,CAACH,IAAI;MAACiC,KAAK,EAAE,CAACnB,MAAM,CAACO,IAAI,EAAEqB,SAAS,CAAE;MAAAiB,QAAA,EAAElC,IAAI,CAACmC,UAAU,CAAC;IAAC,CAAO;EAAC,CACxD,CAAC;AAEhB,CAAC,EACD,CAACC,IAAI,EAAEC,IAAI,KACTD,IAAI,CAACpC,IAAI,EAAEsC,OAAO,CAAC,CAAC,KAAKD,IAAI,CAACrC,IAAI,EAAEsC,OAAO,CAAC,CAAC,IAC7CF,IAAI,CAACnC,UAAU,KAAKoC,IAAI,CAACpC,UAAU,IACnCmC,IAAI,CAAClC,OAAO,KAAKmC,IAAI,CAACnC,OAAO,IAC7BkC,IAAI,CAACjC,UAAU,KAAKkC,IAAI,CAAClC,UAC7B,CAAC;AAEDJ,OAAO,CAACwC,WAAW,GAAG,SAAS","ignoreList":[]}
|