react-native-ll-calendar 0.3.0 → 0.4.0

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 (29) hide show
  1. package/README.md +43 -32
  2. package/lib/module/calendar/month-calendar/MonthCalendar.js +20 -38
  3. package/lib/module/calendar/month-calendar/MonthCalendar.js.map +1 -1
  4. package/lib/module/calendar/month-calendar/logic/useEvents.js +3 -7
  5. package/lib/module/calendar/month-calendar/logic/useEvents.js.map +1 -1
  6. package/lib/module/calendar/month-calendar/view/MonthCalendarViewItem.js +24 -42
  7. package/lib/module/calendar/month-calendar/view/MonthCalendarViewItem.js.map +1 -1
  8. package/lib/module/calendar/month-calendar/view/MonthCalendarWeekDayRow.js +62 -0
  9. package/lib/module/calendar/month-calendar/view/MonthCalendarWeekDayRow.js.map +1 -0
  10. package/lib/module/calendar/month-calendar/view/MonthCalendarWeekRow.js +47 -52
  11. package/lib/module/calendar/month-calendar/view/MonthCalendarWeekRow.js.map +1 -1
  12. package/lib/typescript/src/calendar/month-calendar/MonthCalendar.d.ts +3 -1
  13. package/lib/typescript/src/calendar/month-calendar/MonthCalendar.d.ts.map +1 -1
  14. package/lib/typescript/src/calendar/month-calendar/logic/useEvents.d.ts.map +1 -1
  15. package/lib/typescript/src/calendar/month-calendar/view/MonthCalendarViewItem.d.ts +3 -1
  16. package/lib/typescript/src/calendar/month-calendar/view/MonthCalendarViewItem.d.ts.map +1 -1
  17. package/lib/typescript/src/calendar/month-calendar/view/MonthCalendarWeekDayRow.d.ts +11 -0
  18. package/lib/typescript/src/calendar/month-calendar/view/MonthCalendarWeekDayRow.d.ts.map +1 -0
  19. package/lib/typescript/src/calendar/month-calendar/view/MonthCalendarWeekRow.d.ts +4 -4
  20. package/lib/typescript/src/calendar/month-calendar/view/MonthCalendarWeekRow.d.ts.map +1 -1
  21. package/lib/typescript/src/types/month-calendar.d.ts +3 -0
  22. package/lib/typescript/src/types/month-calendar.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/calendar/month-calendar/MonthCalendar.tsx +23 -39
  25. package/src/calendar/month-calendar/logic/useEvents.tsx +3 -5
  26. package/src/calendar/month-calendar/view/MonthCalendarViewItem.tsx +36 -41
  27. package/src/calendar/month-calendar/view/MonthCalendarWeekDayRow.tsx +79 -0
  28. package/src/calendar/month-calendar/view/MonthCalendarWeekRow.tsx +68 -81
  29. package/src/types/month-calendar.ts +3 -0
@@ -1,43 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  import dayjs from 'dayjs';
4
- import en from 'dayjs/locale/en';
5
4
  import { StyleSheet, useWindowDimensions } from 'react-native';
6
5
  import { Text, TouchableOpacity, View } from 'react-native';
7
6
  import { CELL_BORDER_WIDTH, EVENT_GAP } from "../../../constants/size.js";
8
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
8
  export const MonthCalendarWeekRow = props => {
10
- const {
11
- dates,
12
- isWeekdayHeader,
13
- events = [],
14
- eventPosition,
15
- onPressEvent,
16
- onPressCell,
17
- onLongPressCell,
18
- delayLongPress = 500,
19
- dayCellContainerStyle,
20
- dayCellTextStyle,
21
- locale = en,
22
- weekdayCellContainerStyle,
23
- weekdayCellTextStyle,
24
- weekRowMinHeight,
25
- todayCellTextStyle
26
- } = props;
27
9
  const eventHeight = 26;
28
10
  const {
29
11
  width: screenWidth
30
12
  } = useWindowDimensions();
31
13
  const dateColumnWidth = screenWidth / 7;
32
- const weekId = dates[0]?.format('YYYY-MM-DD');
33
- if (weekId && eventPosition) {
34
- eventPosition.resetResource(weekId);
14
+ const weekId = props.dates[0]?.format('YYYY-MM-DD');
15
+ if (weekId && props.eventPosition) {
16
+ props.eventPosition.resetResource(weekId);
35
17
  }
36
18
  return /*#__PURE__*/_jsx(View, {
37
19
  style: styles.container,
38
- children: dates.map((djs, dateIndex) => {
39
- const text = isWeekdayHeader ? djs.locale(locale).format('ddd') : djs.format('D');
40
- const filteredEvents = isWeekdayHeader ? [] : events.filter(event => {
20
+ children: props.dates.map((djs, dateIndex) => {
21
+ const text = djs.format('D');
22
+ const filteredEvents = props.events?.filter(event => {
41
23
  const startDjs = dayjs(event.start);
42
24
  return startDjs.format('YYYY-MM-DD') === djs.format('YYYY-MM-DD') || dateIndex === 0 && startDjs.isBefore(djs);
43
25
  }).sort((a, b) => {
@@ -49,9 +31,9 @@ export const MonthCalendarWeekRow = props => {
49
31
  const bDiffDays = bEndDjs.diff(bStartDjs, 'day');
50
32
  return bDiffDays - aDiffDays;
51
33
  });
52
- const rows = [];
53
- if (weekId && eventPosition) {
54
- const rowNums = eventPosition.getRowNums({
34
+ const events = [];
35
+ if (weekId && props.eventPosition) {
36
+ const rowNums = props.eventPosition.getRowNums({
55
37
  weekId,
56
38
  date: djs.toDate()
57
39
  });
@@ -59,11 +41,11 @@ export const MonthCalendarWeekRow = props => {
59
41
  let eventIndex = 0;
60
42
  for (let ii = 1; ii <= rowsLength; ii++) {
61
43
  if (rowNums.includes(ii)) {
62
- rows.push(ii);
44
+ events.push(ii);
63
45
  } else {
64
46
  const event = filteredEvents[eventIndex];
65
47
  if (event) {
66
- rows.push(event);
48
+ events.push(event);
67
49
  }
68
50
  eventIndex++;
69
51
  }
@@ -71,46 +53,46 @@ export const MonthCalendarWeekRow = props => {
71
53
  }
72
54
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
73
55
  style: [styles.dayCellCountainer, {
74
- minHeight: isWeekdayHeader ? undefined : weekRowMinHeight
56
+ minHeight: props.weekRowMinHeight
75
57
  }, {
76
58
  zIndex: 7 - dateIndex
77
59
  }],
78
60
  onPress: () => {
79
- onPressCell?.(djs.toDate());
61
+ props.onPressCell?.(djs.toDate());
80
62
  },
81
63
  onLongPress: () => {
82
- onLongPressCell?.(djs.toDate());
64
+ props.onLongPressCell?.(djs.toDate());
83
65
  },
84
- delayLongPress: delayLongPress,
66
+ delayLongPress: props.delayLongPressCell,
85
67
  children: [/*#__PURE__*/_jsx(View, {
86
- style: [styles.dayCellInner, isWeekdayHeader ? weekdayCellContainerStyle?.(djs.day()) : dayCellContainerStyle?.(djs.toDate())]
68
+ style: [styles.dayCellInner, props.dayCellContainerStyle?.(djs.toDate())]
87
69
  }), /*#__PURE__*/_jsx(View, {
88
70
  style: styles.dayCellLabel,
89
71
  children: /*#__PURE__*/_jsx(Text, {
90
- style: [styles.dayCellText, isWeekdayHeader ? weekdayCellTextStyle?.(djs.day()) : dayCellTextStyle?.(djs.toDate()), !isWeekdayHeader && dayjs(djs).isSame(dayjs(), 'day') ? todayCellTextStyle : {}],
72
+ style: [styles.dayCellText, props.dayCellTextStyle?.(djs.toDate()), dayjs(djs).isSame(dayjs(), 'day') ? props.todayCellTextStyle : {}],
91
73
  children: text
92
74
  })
93
- }), rows.map((eventRow, rowIndex) => {
94
- if (typeof eventRow === 'number') {
75
+ }), events.map((event, rowIndex) => {
76
+ if (typeof event === 'number') {
95
77
  return /*#__PURE__*/_jsx(View, {
96
78
  style: {
97
79
  height: eventHeight,
98
80
  marginBottom: EVENT_GAP
99
81
  }
100
- }, eventRow);
82
+ }, event);
101
83
  }
102
- const rawStartDjs = dayjs(eventRow.start);
103
- const startDjs = dateIndex === 0 ? djs : dayjs(eventRow.start);
104
- const endDjs = dayjs(eventRow.end);
84
+ const rawStartDjs = dayjs(event.start);
85
+ const startDjs = dateIndex === 0 ? djs : dayjs(event.start);
86
+ const endDjs = dayjs(event.end);
105
87
  const diffDays = endDjs.startOf('day').diff(startDjs.startOf('day'), 'day');
106
88
  const isPrevDateEvent = dateIndex === 0 && rawStartDjs.isBefore(djs);
107
89
  let width = (diffDays + 1) * dateColumnWidth - EVENT_GAP * 2 - CELL_BORDER_WIDTH * 2;
108
90
  if (isPrevDateEvent) {
109
91
  width += EVENT_GAP + 1;
110
92
  }
111
- const isLastRow = rowIndex === rows.length - 1;
112
- if (eventPosition && weekId) {
113
- eventPosition.push({
93
+ const isLastRow = rowIndex === events.length - 1;
94
+ if (props.eventPosition && weekId) {
95
+ props.eventPosition.push({
114
96
  weekId,
115
97
  startDate: startDjs.toDate(),
116
98
  days: diffDays + 1,
@@ -119,25 +101,38 @@ export const MonthCalendarWeekRow = props => {
119
101
  }
120
102
  return /*#__PURE__*/_jsx(TouchableOpacity, {
121
103
  style: [styles.event, {
122
- backgroundColor: eventRow.backgroundColor,
123
- borderColor: eventRow.borderColor,
104
+ backgroundColor: event.backgroundColor,
105
+ borderColor: event.borderColor,
124
106
  width: width,
125
- height: eventHeight
107
+ height: eventHeight,
108
+ ...(event.borderStyle !== undefined && {
109
+ borderStyle: event.borderStyle
110
+ }),
111
+ ...(event.borderWidth !== undefined && {
112
+ borderWidth: event.borderWidth
113
+ }),
114
+ ...(event.borderRadius !== undefined && {
115
+ borderRadius: event.borderRadius
116
+ })
126
117
  }, isPrevDateEvent ? styles.prevDateEvent : {}, isLastRow ? styles.lastRowEvent : {}],
127
118
  onPress: () => {
128
- onPressEvent?.(eventRow);
119
+ props.onPressEvent?.(event);
120
+ },
121
+ onLongPress: () => {
122
+ props.onLongPressEvent?.(event);
129
123
  },
124
+ delayLongPress: props.delayLongPressEvent,
130
125
  children: /*#__PURE__*/_jsx(Text, {
131
126
  numberOfLines: 1,
132
127
  ellipsizeMode: "tail",
133
128
  style: [styles.eventTitle, {
134
- color: eventRow.color
129
+ color: event.color
135
130
  }],
136
- children: eventRow.title
131
+ children: event.title
137
132
  })
138
- }, eventRow.id);
133
+ }, event.id);
139
134
  })]
140
- }, isWeekdayHeader ? djs.get('d') : djs.get('date'));
135
+ }, djs.get('date'));
141
136
  })
142
137
  });
143
138
  };
@@ -1 +1 @@
1
- {"version":3,"names":["dayjs","en","StyleSheet","useWindowDimensions","Text","TouchableOpacity","View","CELL_BORDER_WIDTH","EVENT_GAP","jsx","_jsx","jsxs","_jsxs","MonthCalendarWeekRow","props","dates","isWeekdayHeader","events","eventPosition","onPressEvent","onPressCell","onLongPressCell","delayLongPress","dayCellContainerStyle","dayCellTextStyle","locale","weekdayCellContainerStyle","weekdayCellTextStyle","weekRowMinHeight","todayCellTextStyle","eventHeight","width","screenWidth","dateColumnWidth","weekId","format","resetResource","style","styles","container","children","map","djs","dateIndex","text","filteredEvents","filter","event","startDjs","start","isBefore","sort","a","b","aStartDjs","bStartDjs","aEndDjs","end","bEndDjs","aDiffDays","diff","bDiffDays","rows","rowNums","getRowNums","date","toDate","rowsLength","length","eventIndex","ii","includes","push","dayCellCountainer","minHeight","undefined","zIndex","onPress","onLongPress","dayCellInner","day","dayCellLabel","dayCellText","isSame","eventRow","rowIndex","height","marginBottom","rawStartDjs","endDjs","diffDays","startOf","isPrevDateEvent","isLastRow","startDate","days","rowNum","backgroundColor","borderColor","prevDateEvent","lastRowEvent","numberOfLines","ellipsizeMode","eventTitle","color","title","id","get","create","display","flexDirection","flex","borderRightWidth","borderBottomWidth","position","top","left","right","bottom","paddingVertical","paddingHorizontal","textAlign","fontSize","borderWidth","borderRadius","alignItems","boxShadow","marginTop","marginLeft","borderTopStartRadius","borderBottomStartRadius"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/view/MonthCalendarWeekRow.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dayjs","StyleSheet","useWindowDimensions","Text","TouchableOpacity","View","CELL_BORDER_WIDTH","EVENT_GAP","jsx","_jsx","jsxs","_jsxs","MonthCalendarWeekRow","props","eventHeight","width","screenWidth","dateColumnWidth","weekId","dates","format","eventPosition","resetResource","style","styles","container","children","map","djs","dateIndex","text","filteredEvents","events","filter","event","startDjs","start","isBefore","sort","a","b","aStartDjs","bStartDjs","aEndDjs","end","bEndDjs","aDiffDays","diff","bDiffDays","rowNums","getRowNums","date","toDate","rowsLength","length","eventIndex","ii","includes","push","dayCellCountainer","minHeight","weekRowMinHeight","zIndex","onPress","onPressCell","onLongPress","onLongPressCell","delayLongPress","delayLongPressCell","dayCellInner","dayCellContainerStyle","dayCellLabel","dayCellText","dayCellTextStyle","isSame","todayCellTextStyle","rowIndex","height","marginBottom","rawStartDjs","endDjs","diffDays","startOf","isPrevDateEvent","isLastRow","startDate","days","rowNum","backgroundColor","borderColor","borderStyle","undefined","borderWidth","borderRadius","prevDateEvent","lastRowEvent","onPressEvent","onLongPressEvent","delayLongPressEvent","numberOfLines","ellipsizeMode","eventTitle","color","title","id","get","create","display","flexDirection","flex","borderRightWidth","borderBottomWidth","position","top","left","right","bottom","paddingVertical","paddingHorizontal","textAlign","fontSize","alignItems","boxShadow","marginTop","marginLeft","borderTopStartRadius","borderBottomStartRadius"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/view/MonthCalendarWeekRow.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,9 +6,11 @@ export declare const MonthCalendar: (props: {
6
6
  onChangeDate?: (date: Date) => void;
7
7
  events: CalendarEvent[];
8
8
  onPressEvent?: (event: CalendarEvent) => void;
9
+ onLongPressEvent?: (event: CalendarEvent) => void;
10
+ delayLongPressEvent?: number;
9
11
  onPressCell?: (date: Date) => void;
10
12
  onLongPressCell?: (date: Date) => void;
11
- delayLongPress?: number;
13
+ delayLongPressCell?: number;
12
14
  onRefresh?: () => void;
13
15
  refreshing?: boolean;
14
16
  dayCellContainerStyle?: (date: Date) => ViewStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"MonthCalendar.d.ts","sourceRoot":"","sources":["../../../../../src/calendar/month-calendar/MonthCalendar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAKpC,eAAO,MAAM,aAAa,GAAI,OAAO;IACnC,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAC7D,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,4CAuGA,CAAC"}
1
+ {"version":3,"file":"MonthCalendar.d.ts","sourceRoot":"","sources":["../../../../../src/calendar/month-calendar/MonthCalendar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAKpC,eAAO,MAAM,aAAa,GAAI,OAAO;IACnC,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAC7D,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,4CAqFA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/logic/useEvents.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AAGvC,eAAO,MAAM,SAAS,GAAI,OAAO;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;;CAwBA,CAAC"}
1
+ {"version":3,"file":"useEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/logic/useEvents.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AAGvC,eAAO,MAAM,SAAS,GAAI,OAAO;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;;CAsBA,CAAC"}
@@ -5,9 +5,11 @@ export declare const MonthCalendarViewItem: (props: {
5
5
  weekStartsOn: WeekStartsOn;
6
6
  events: CalendarEvent[];
7
7
  onPressEvent?: (event: CalendarEvent) => void;
8
+ onLongPressEvent?: (event: CalendarEvent) => void;
9
+ delayLongPressEvent?: number;
8
10
  onPressCell?: (date: Date) => void;
9
11
  onLongPressCell?: (date: Date) => void;
10
- delayLongPress?: number;
12
+ delayLongPressCell?: number;
11
13
  flatListIndex: number;
12
14
  onRefresh?: () => void;
13
15
  refreshing?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MonthCalendarViewItem.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/view/MonthCalendarViewItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,+BAA+B,CAAC;AAQvC,eAAO,MAAM,qBAAqB,GAAI,OAAO;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAC7D,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,4CA+GA,CAAC"}
1
+ {"version":3,"file":"MonthCalendarViewItem.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/view/MonthCalendarViewItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,+BAA+B,CAAC;AASvC,eAAO,MAAM,qBAAqB,GAAI,OAAO;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAC7D,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,4CAuGA,CAAC"}
@@ -0,0 +1,11 @@
1
+ import dayjs from 'dayjs';
2
+ import { type ViewStyle } from 'react-native';
3
+ import type { WeekdayNum } from '../../../types/month-calendar';
4
+ import type { TextStyle } from 'react-native';
5
+ export declare const MonthCalendarWeekDayRow: (props: {
6
+ locale?: ILocale;
7
+ dates: dayjs.Dayjs[];
8
+ weekdayCellContainerStyle?: (weekDayNum: WeekdayNum) => ViewStyle;
9
+ weekdayCellTextStyle?: (weekDayNum: WeekdayNum) => TextStyle;
10
+ }) => import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=MonthCalendarWeekDayRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonthCalendarWeekDayRow.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/view/MonthCalendarWeekDayRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,uBAAuB,GAAI,OAAO;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;CAC9D,4CAgCA,CAAC"}
@@ -5,16 +5,16 @@ import type MonthCalendarEventPosition from '../../../utils/month-calendar-event
5
5
  import type { TextStyle } from 'react-native';
6
6
  export declare const MonthCalendarWeekRow: (props: {
7
7
  dates: dayjs.Dayjs[];
8
- isWeekdayHeader?: boolean;
9
- events?: CalendarEvent[];
8
+ events: CalendarEvent[];
10
9
  eventPosition?: MonthCalendarEventPosition;
11
10
  onPressEvent?: (event: CalendarEvent) => void;
11
+ onLongPressEvent?: (event: CalendarEvent) => void;
12
+ delayLongPressEvent?: number;
12
13
  onPressCell?: (date: Date) => void;
13
14
  onLongPressCell?: (date: Date) => void;
14
- delayLongPress?: number;
15
+ delayLongPressCell?: number;
15
16
  dayCellContainerStyle?: (date: Date) => ViewStyle;
16
17
  dayCellTextStyle?: (date: Date) => TextStyle;
17
- locale?: ILocale;
18
18
  weekdayCellContainerStyle?: (weekDayNum: WeekdayNum) => ViewStyle;
19
19
  weekdayCellTextStyle?: (weekDayNum: WeekdayNum) => TextStyle;
20
20
  weekRowMinHeight?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"MonthCalendarWeekRow.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/view/MonthCalendarWeekRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,0BAA0B,MAAM,8CAA8C,CAAC;AAE3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,oBAAoB,GAAI,OAAO;IAC1C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC,4CAuLA,CAAC"}
1
+ {"version":3,"file":"MonthCalendarWeekRow.d.ts","sourceRoot":"","sources":["../../../../../../src/calendar/month-calendar/view/MonthCalendarWeekRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,0BAA0B,MAAM,8CAA8C,CAAC;AAE3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,oBAAoB,GAAI,OAAO;IAC1C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAC7C,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAClE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC,4CA2KA,CAAC"}
@@ -7,6 +7,9 @@ export type CalendarEvent = {
7
7
  backgroundColor: string;
8
8
  borderColor: string;
9
9
  color: string;
10
+ borderStyle?: 'solid' | 'dashed' | 'dotted';
11
+ borderWidth?: number;
12
+ borderRadius?: number;
10
13
  };
11
14
  export type WeekdayNum = 0 | 1 | 2 | 3 | 4 | 5 | 6;
12
15
  //# sourceMappingURL=month-calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"month-calendar.d.ts","sourceRoot":"","sources":["../../../../src/types/month-calendar.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"month-calendar.d.ts","sourceRoot":"","sources":["../../../../src/types/month-calendar.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-ll-calendar",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "ReactNative Calendar Library",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -21,9 +21,11 @@ export const MonthCalendar = (props: {
21
21
  onChangeDate?: (date: Date) => void;
22
22
  events: CalendarEvent[];
23
23
  onPressEvent?: (event: CalendarEvent) => void;
24
+ onLongPressEvent?: (event: CalendarEvent) => void;
25
+ delayLongPressEvent?: number;
24
26
  onPressCell?: (date: Date) => void;
25
27
  onLongPressCell?: (date: Date) => void;
26
- delayLongPress?: number;
28
+ delayLongPressCell?: number;
27
29
  onRefresh?: () => void;
28
30
  refreshing?: boolean;
29
31
  dayCellContainerStyle?: (date: Date) => ViewStyle;
@@ -35,27 +37,7 @@ export const MonthCalendar = (props: {
35
37
  hiddenMonth?: boolean;
36
38
  monthFormat?: string;
37
39
  }) => {
38
- const {
39
- defaultDate,
40
- weekStartsOn = 0,
41
- onChangeDate,
42
- events,
43
- onPressEvent,
44
- onPressCell,
45
- onLongPressCell,
46
- delayLongPress,
47
- onRefresh,
48
- refreshing,
49
- dayCellContainerStyle,
50
- dayCellTextStyle,
51
- locale,
52
- weekdayCellContainerStyle,
53
- weekdayCellTextStyle,
54
- todayCellTextStyle,
55
- hiddenMonth,
56
- monthFormat,
57
- } = props;
58
- const [dateState] = useState(defaultDate);
40
+ const [dateState] = useState(props.defaultDate);
59
41
  const [_activeIndex, setActiveIndex] = useState(HALF_PANEL_LENGTH);
60
42
  const defaultDateDjs = dayjs(dateState);
61
43
  const startOfDefaultDateDjs = defaultDateDjs.startOf('month');
@@ -98,7 +80,7 @@ export const MonthCalendar = (props: {
98
80
  const month = panels[newIndex];
99
81
  if (month) {
100
82
  const newDate = new Date(month);
101
- onChangeDate?.(newDate);
83
+ props.onChangeDate?.(newDate);
102
84
  }
103
85
  setActiveIndex(newIndex);
104
86
  }}
@@ -109,23 +91,25 @@ export const MonthCalendar = (props: {
109
91
  return (
110
92
  <MonthCalendarViewItem
111
93
  month={item}
112
- weekStartsOn={weekStartsOn}
113
- events={events}
114
- onPressEvent={onPressEvent}
115
- onPressCell={onPressCell}
116
- onLongPressCell={onLongPressCell}
117
- delayLongPress={delayLongPress}
94
+ weekStartsOn={props.weekStartsOn ?? 0}
95
+ events={props.events}
96
+ onPressEvent={props.onPressEvent}
97
+ onLongPressEvent={props.onLongPressEvent}
98
+ delayLongPressEvent={props.delayLongPressEvent}
99
+ onPressCell={props.onPressCell}
100
+ onLongPressCell={props.onLongPressCell}
101
+ delayLongPressCell={props.delayLongPressCell}
118
102
  flatListIndex={index}
119
- onRefresh={onRefresh}
120
- refreshing={refreshing}
121
- dayCellContainerStyle={dayCellContainerStyle}
122
- dayCellTextStyle={dayCellTextStyle}
123
- locale={locale}
124
- weekdayCellContainerStyle={weekdayCellContainerStyle}
125
- weekdayCellTextStyle={weekdayCellTextStyle}
126
- todayCellTextStyle={todayCellTextStyle}
127
- hiddenMonth={hiddenMonth}
128
- monthFormat={monthFormat}
103
+ onRefresh={props.onRefresh}
104
+ refreshing={props.refreshing}
105
+ dayCellContainerStyle={props.dayCellContainerStyle}
106
+ dayCellTextStyle={props.dayCellTextStyle}
107
+ locale={props.locale}
108
+ weekdayCellContainerStyle={props.weekdayCellContainerStyle}
109
+ weekdayCellTextStyle={props.weekdayCellTextStyle}
110
+ todayCellTextStyle={props.todayCellTextStyle}
111
+ hiddenMonth={props.hiddenMonth}
112
+ monthFormat={props.monthFormat}
129
113
  />
130
114
  );
131
115
  }}
@@ -9,16 +9,14 @@ export const useEvents = (props: {
9
9
  events: CalendarEvent[];
10
10
  weekStartsOn: WeekStartsOn;
11
11
  }) => {
12
- const { events, weekStartsOn } = props;
13
-
14
12
  const eventsGroupByWeekId: Record<string, CalendarEvent[]> = useMemo(() => {
15
13
  const groupedEvents: Record<string, CalendarEvent[]> = {};
16
14
 
17
- events.forEach((event) => {
15
+ props.events.forEach((event) => {
18
16
  const weekIds: string[] = getWeekIds({
19
17
  start: event.start,
20
18
  end: event.end,
21
- weekStartsOn,
19
+ weekStartsOn: props.weekStartsOn,
22
20
  });
23
21
  weekIds.forEach((weekId) => {
24
22
  if (!groupedEvents[weekId]) {
@@ -29,7 +27,7 @@ export const useEvents = (props: {
29
27
  });
30
28
 
31
29
  return groupedEvents;
32
- }, [events, weekStartsOn]);
30
+ }, [props.events, props.weekStartsOn]);
33
31
 
34
32
  return { eventsGroupByWeekId };
35
33
  };
@@ -21,15 +21,18 @@ import { useEvents } from '../logic/useEvents';
21
21
  import { CELL_BORDER_WIDTH } from '../../../constants/size';
22
22
  import { RefreshControl } from 'react-native';
23
23
  import { useCallback, useMemo, useState } from 'react';
24
+ import { MonthCalendarWeekDayRow } from './MonthCalendarWeekDayRow';
24
25
 
25
26
  export const MonthCalendarViewItem = (props: {
26
27
  month: string;
27
28
  weekStartsOn: WeekStartsOn;
28
29
  events: CalendarEvent[];
29
30
  onPressEvent?: (event: CalendarEvent) => void;
31
+ onLongPressEvent?: (event: CalendarEvent) => void;
32
+ delayLongPressEvent?: number;
30
33
  onPressCell?: (date: Date) => void;
31
34
  onLongPressCell?: (date: Date) => void;
32
- delayLongPress?: number;
35
+ delayLongPressCell?: number;
33
36
  flatListIndex: number;
34
37
  onRefresh?: () => void;
35
38
  refreshing?: boolean;
@@ -42,32 +45,15 @@ export const MonthCalendarViewItem = (props: {
42
45
  hiddenMonth?: boolean;
43
46
  monthFormat?: string;
44
47
  }) => {
45
- const {
46
- month,
47
- weekStartsOn,
48
- events,
49
- onPressEvent,
50
- onPressCell,
51
- onLongPressCell,
52
- delayLongPress,
53
- flatListIndex,
54
- onRefresh,
55
- refreshing,
56
- dayCellContainerStyle,
57
- dayCellTextStyle,
58
- locale,
59
- weekdayCellContainerStyle,
60
- weekdayCellTextStyle,
61
- todayCellTextStyle,
62
- hiddenMonth,
63
- monthFormat = 'YYYY/MM',
64
- } = props;
65
48
  const { width } = useWindowDimensions();
66
49
  const eventPosition = new MonthCalendarEventPosition();
67
- const date = new Date(month);
50
+ const date = new Date(props.month);
68
51
  const dateDjs = dayjs(date);
69
- const startDate = monthlyStartDate({ date, weekStartsOn });
70
- const endDate = monthlyEndDate({ date, weekStartsOn });
52
+ const startDate = monthlyStartDate({
53
+ date,
54
+ weekStartsOn: props.weekStartsOn,
55
+ });
56
+ const endDate = monthlyEndDate({ date, weekStartsOn: props.weekStartsOn });
71
57
  const endDjs = dayjs(endDate);
72
58
  const weeks: dayjs.Dayjs[][] = [];
73
59
  let currentDate = dayjs(startDate);
@@ -79,7 +65,10 @@ export const MonthCalendarViewItem = (props: {
79
65
  currentDate = currentDate.add(7, 'day');
80
66
  }
81
67
 
82
- const { eventsGroupByWeekId } = useEvents({ events, weekStartsOn });
68
+ const { eventsGroupByWeekId } = useEvents({
69
+ events: props.events,
70
+ weekStartsOn: props.weekStartsOn,
71
+ });
83
72
 
84
73
  const [bodyHeight, setBodyHeight] = useState(0);
85
74
  const onLayoutBody = useCallback((e: LayoutChangeEvent) => {
@@ -102,26 +91,30 @@ export const MonthCalendarViewItem = (props: {
102
91
 
103
92
  return (
104
93
  <ScrollView
105
- style={[styles.container, { width, zIndex: flatListIndex }]}
94
+ style={[styles.container, { width, zIndex: props.flatListIndex }]}
106
95
  refreshControl={
107
- <RefreshControl refreshing={!!refreshing} onRefresh={onRefresh} />
96
+ <RefreshControl
97
+ refreshing={!!props.refreshing}
98
+ onRefresh={props.onRefresh}
99
+ />
108
100
  }
109
101
  onLayout={onLayoutBody}
110
102
  >
111
- {hiddenMonth ? (
103
+ {props.hiddenMonth ? (
112
104
  <View style={styles.blankMonthContainer} />
113
105
  ) : (
114
106
  <View style={styles.monthContainer} onLayout={onLayoutMonthRow}>
115
- <Text style={styles.monthText}>{dateDjs.format(monthFormat)}</Text>
107
+ <Text style={styles.monthText}>
108
+ {dateDjs.format(props.monthFormat ?? 'YYYY/MM')}
109
+ </Text>
116
110
  </View>
117
111
  )}
118
112
  <View onLayout={onLayoutWeekdayRow}>
119
- <MonthCalendarWeekRow
113
+ <MonthCalendarWeekDayRow
120
114
  dates={weeks[0] ?? []}
121
- isWeekdayHeader={true}
122
- locale={locale}
123
- weekdayCellContainerStyle={weekdayCellContainerStyle}
124
- weekdayCellTextStyle={weekdayCellTextStyle}
115
+ locale={props.locale}
116
+ weekdayCellContainerStyle={props.weekdayCellContainerStyle}
117
+ weekdayCellTextStyle={props.weekdayCellTextStyle}
125
118
  />
126
119
  </View>
127
120
  <View>
@@ -138,14 +131,16 @@ export const MonthCalendarViewItem = (props: {
138
131
  dates={week}
139
132
  events={weekEvents}
140
133
  eventPosition={eventPosition}
141
- onPressEvent={onPressEvent}
142
- onPressCell={onPressCell}
143
- onLongPressCell={onLongPressCell}
144
- delayLongPress={delayLongPress}
145
- dayCellContainerStyle={dayCellContainerStyle}
146
- dayCellTextStyle={dayCellTextStyle}
134
+ onPressEvent={props.onPressEvent}
135
+ onLongPressEvent={props.onLongPressEvent}
136
+ delayLongPressEvent={props.delayLongPressEvent}
137
+ onPressCell={props.onPressCell}
138
+ onLongPressCell={props.onLongPressCell}
139
+ delayLongPressCell={props.delayLongPressCell}
140
+ dayCellContainerStyle={props.dayCellContainerStyle}
141
+ dayCellTextStyle={props.dayCellTextStyle}
147
142
  weekRowMinHeight={weekRowMinHeight}
148
- todayCellTextStyle={todayCellTextStyle}
143
+ todayCellTextStyle={props.todayCellTextStyle}
149
144
  />
150
145
  );
151
146
  })}