@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.
Files changed (134) hide show
  1. package/lib/module/components/CalendarGrid/CalendarGrid.js +47 -13
  2. package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -1
  3. package/lib/module/components/CalendarGrid/CalendarGrid.styles.js +22 -17
  4. package/lib/module/components/CalendarGrid/CalendarGrid.styles.js.map +1 -1
  5. package/lib/module/components/CalendarGrid/CalendarGrid.web.js +203 -0
  6. package/lib/module/components/CalendarGrid/CalendarGrid.web.js.map +1 -0
  7. package/lib/module/components/CalendarGrid/DayCell.js +64 -52
  8. package/lib/module/components/CalendarGrid/DayCell.js.map +1 -1
  9. package/lib/module/components/CalendarGrid/DayCell.web.js +112 -0
  10. package/lib/module/components/CalendarGrid/DayCell.web.js.map +1 -0
  11. package/lib/module/components/CalendarGrid/index.js +1 -1
  12. package/lib/module/components/CalendarGrid/index.js.map +1 -1
  13. package/lib/module/components/DatePicker/DatePicker.android.js +17 -8
  14. package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -1
  15. package/lib/module/components/DatePicker/DatePicker.ios.js +17 -8
  16. package/lib/module/components/DatePicker/DatePicker.ios.js.map +1 -1
  17. package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
  18. package/lib/module/components/DatePicker/DatePicker.styles.js +19 -20
  19. package/lib/module/components/DatePicker/DatePicker.styles.js.map +1 -1
  20. package/lib/module/components/DatePicker/DatePicker.web.js +26 -12
  21. package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -1
  22. package/lib/module/components/TimePicker/ClockFace.js +27 -7
  23. package/lib/module/components/TimePicker/ClockFace.js.map +1 -1
  24. package/lib/module/components/TimePicker/ClockFace.web.js +253 -0
  25. package/lib/module/components/TimePicker/ClockFace.web.js.map +1 -0
  26. package/lib/module/components/TimePicker/MaterialTimePicker.js +68 -16
  27. package/lib/module/components/TimePicker/MaterialTimePicker.js.map +1 -1
  28. package/lib/module/components/TimePicker/MaterialTimePicker.web.js +231 -0
  29. package/lib/module/components/TimePicker/MaterialTimePicker.web.js.map +1 -0
  30. package/lib/module/components/TimePicker/TimePicker.android.js +13 -6
  31. package/lib/module/components/TimePicker/TimePicker.android.js.map +1 -1
  32. package/lib/module/components/TimePicker/TimePicker.ios.js +14 -7
  33. package/lib/module/components/TimePicker/TimePicker.ios.js.map +1 -1
  34. package/lib/module/components/TimePicker/TimePicker.styles.js +53 -45
  35. package/lib/module/components/TimePicker/TimePicker.styles.js.map +1 -1
  36. package/lib/module/components/TimePicker/TimePicker.web.js +24 -12
  37. package/lib/module/components/TimePicker/TimePicker.web.js.map +1 -1
  38. package/lib/module/components/TimePicker/TimeWheelPicker.js +45 -10
  39. package/lib/module/components/TimePicker/TimeWheelPicker.js.map +1 -1
  40. package/lib/module/components/TimePicker/TimeWheelPicker.web.js +339 -0
  41. package/lib/module/components/TimePicker/TimeWheelPicker.web.js.map +1 -0
  42. package/lib/module/components/TimePicker/index.js +3 -3
  43. package/lib/module/components/TimePicker/index.js.map +1 -1
  44. package/lib/module/components/WheelPicker/WheelPicker.js +21 -2
  45. package/lib/module/components/WheelPicker/WheelPicker.js.map +1 -1
  46. package/lib/module/components/WheelPicker/WheelPicker.styles.js +13 -8
  47. package/lib/module/components/WheelPicker/WheelPicker.styles.js.map +1 -1
  48. package/lib/module/components/WheelPicker/WheelPicker.web.js +146 -57
  49. package/lib/module/components/WheelPicker/WheelPicker.web.js.map +1 -1
  50. package/lib/module/context/ThemeOverrideContext.js +34 -0
  51. package/lib/module/context/ThemeOverrideContext.js.map +1 -0
  52. package/lib/module/index.js +3 -0
  53. package/lib/module/index.js.map +1 -1
  54. package/lib/module/utils/validation.js +74 -34
  55. package/lib/module/utils/validation.js.map +1 -1
  56. package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +9 -0
  57. package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -1
  58. package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts +12 -10
  59. package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -1
  60. package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts +21 -0
  61. package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts.map +1 -0
  62. package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -1
  63. package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts +12 -0
  64. package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts.map +1 -0
  65. package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -1
  66. package/lib/typescript/components/DatePicker/DatePicker.d.ts +12 -1
  67. package/lib/typescript/components/DatePicker/DatePicker.d.ts.map +1 -1
  68. package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts.map +1 -1
  69. package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts +12 -13
  70. package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts.map +1 -1
  71. package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -1
  72. package/lib/typescript/components/TimePicker/ClockFace.d.ts.map +1 -1
  73. package/lib/typescript/components/TimePicker/ClockFace.web.d.ts +12 -0
  74. package/lib/typescript/components/TimePicker/ClockFace.web.d.ts.map +1 -0
  75. package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts.map +1 -1
  76. package/lib/typescript/components/TimePicker/MaterialTimePicker.web.d.ts +12 -0
  77. package/lib/typescript/components/TimePicker/MaterialTimePicker.web.d.ts.map +1 -0
  78. package/lib/typescript/components/TimePicker/TimePicker.android.d.ts.map +1 -1
  79. package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts.map +1 -1
  80. package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts +29 -25
  81. package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  82. package/lib/typescript/components/TimePicker/TimePicker.web.d.ts.map +1 -1
  83. package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts.map +1 -1
  84. package/lib/typescript/components/TimePicker/TimeWheelPicker.web.d.ts +11 -0
  85. package/lib/typescript/components/TimePicker/TimeWheelPicker.web.d.ts.map +1 -0
  86. package/lib/typescript/components/WheelPicker/WheelPicker.d.ts +14 -1
  87. package/lib/typescript/components/WheelPicker/WheelPicker.d.ts.map +1 -1
  88. package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts +9 -7
  89. package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts.map +1 -1
  90. package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts.map +1 -1
  91. package/lib/typescript/context/ThemeOverrideContext.d.ts +23 -0
  92. package/lib/typescript/context/ThemeOverrideContext.d.ts.map +1 -0
  93. package/lib/typescript/index.d.ts +4 -2
  94. package/lib/typescript/index.d.ts.map +1 -1
  95. package/lib/typescript/types/datepicker.d.ts +41 -0
  96. package/lib/typescript/types/datepicker.d.ts.map +1 -1
  97. package/lib/typescript/types/timepicker.d.ts +62 -0
  98. package/lib/typescript/types/timepicker.d.ts.map +1 -1
  99. package/lib/typescript/utils/validation.d.ts +47 -27
  100. package/lib/typescript/utils/validation.d.ts.map +1 -1
  101. package/package.json +8 -8
  102. package/src/components/CalendarGrid/CalendarGrid.styles.ts +21 -17
  103. package/src/components/CalendarGrid/CalendarGrid.tsx +98 -12
  104. package/src/components/CalendarGrid/CalendarGrid.web.tsx +305 -0
  105. package/src/components/CalendarGrid/DayCell.tsx +78 -59
  106. package/src/components/CalendarGrid/DayCell.web.tsx +129 -0
  107. package/src/components/DatePicker/DatePicker.android.tsx +14 -8
  108. package/src/components/DatePicker/DatePicker.ios.tsx +14 -8
  109. package/src/components/DatePicker/DatePicker.styles.ts +18 -22
  110. package/src/components/DatePicker/DatePicker.tsx +12 -1
  111. package/src/components/DatePicker/DatePicker.web.tsx +21 -13
  112. package/src/components/TimePicker/ClockFace.tsx +34 -8
  113. package/src/components/TimePicker/ClockFace.web.tsx +303 -0
  114. package/src/components/TimePicker/MaterialTimePicker.tsx +144 -13
  115. package/src/components/TimePicker/MaterialTimePicker.web.tsx +271 -0
  116. package/src/components/TimePicker/TimePicker.android.tsx +9 -1
  117. package/src/components/TimePicker/TimePicker.ios.tsx +10 -6
  118. package/src/components/TimePicker/TimePicker.styles.ts +52 -45
  119. package/src/components/TimePicker/TimePicker.web.tsx +17 -7
  120. package/src/components/TimePicker/TimeWheelPicker.tsx +60 -6
  121. package/src/components/TimePicker/TimeWheelPicker.web.tsx +401 -0
  122. package/src/components/WheelPicker/WheelPicker.styles.ts +12 -8
  123. package/src/components/WheelPicker/WheelPicker.tsx +24 -2
  124. package/src/components/WheelPicker/WheelPicker.web.tsx +153 -57
  125. package/src/context/ThemeOverrideContext.tsx +38 -0
  126. package/src/index.ts +11 -0
  127. package/src/types/datepicker.ts +44 -0
  128. package/src/types/timepicker.ts +74 -0
  129. package/src/utils/validation.ts +111 -55
  130. package/lib/module/unistyles.js +0 -9
  131. package/lib/module/unistyles.js.map +0 -1
  132. package/lib/typescript/unistyles.d.ts +0 -3
  133. package/lib/typescript/unistyles.d.ts.map +0 -1
  134. 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 "./DayCell.js";
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
- const WEEK_DAYS = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
11
- const generateMonthDays = currentMonth => {
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, we want Monday = 0
14
- const startOfWeek = getDayOfWeek(firstDay);
15
- const paddingDays = startOfWeek === 0 ? 6 : startOfWeek - 1;
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: WEEK_DAYS.map(day => /*#__PURE__*/_jsx(Text, {
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","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":[]}
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-unistyles';
4
- export const styles = StyleSheet.create(theme => ({
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: theme.colors.background.default,
7
- borderRadius: theme.radii.card,
8
- padding: theme.spacing(4)
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: theme.spacing(4),
15
- paddingHorizontal: theme.spacing(2)
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: theme.radii.button
27
+ borderRadius: 8
23
28
  },
24
29
  navText: {
25
30
  fontSize: 24,
26
- color: theme.colors.primary.default,
31
+ color: '#4DA6FF',
27
32
  fontWeight: '600'
28
33
  },
29
34
  monthTitle: {
30
- fontSize: theme.typography.monthHeader.fontSize,
31
- fontWeight: theme.typography.monthHeader.fontWeight,
32
- color: theme.colors.foreground.default
35
+ fontSize: 17,
36
+ fontWeight: '600',
37
+ color: '#FFFFFF'
33
38
  },
34
39
  weekDays: {
35
40
  flexDirection: 'row',
36
- marginBottom: theme.spacing(2)
41
+ marginBottom: 8
37
42
  },
38
43
  weekDayText: {
39
44
  flex: 1,
40
45
  textAlign: 'center',
41
- fontSize: theme.typography.dayHeader.fontSize,
42
- fontWeight: theme.typography.dayHeader.fontWeight,
43
- color: theme.colors.foreground.muted
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","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":[]}
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 { StyleSheet } from 'react-native-unistyles';
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
- const styles = StyleSheet.create(theme => ({
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: 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
- }
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","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":[]}
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":"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","ignoreList":[]}