react-native-ll-calendar 0.2.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 +62 -19
  2. package/lib/module/calendar/month-calendar/MonthCalendar.js +20 -20
  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 +50 -26
  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 +51 -44
  11. package/lib/module/calendar/month-calendar/view/MonthCalendarWeekRow.js.map +1 -1
  12. package/lib/typescript/src/calendar/month-calendar/MonthCalendar.d.ts +14 -3
  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 +14 -3
  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 +13 -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 +4 -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 +43 -23
  25. package/src/calendar/month-calendar/logic/useEvents.tsx +3 -5
  26. package/src/calendar/month-calendar/view/MonthCalendarViewItem.tsx +82 -27
  27. package/src/calendar/month-calendar/view/MonthCalendarWeekDayRow.tsx +79 -0
  28. package/src/calendar/month-calendar/view/MonthCalendarWeekRow.tsx +77 -46
  29. package/src/types/month-calendar.ts +5 -0
package/README.md CHANGED
@@ -39,11 +39,21 @@ const events: CalendarEvent[] = [
39
39
  backgroundColor: '#4ecdc4',
40
40
  borderColor: '#45b7aa',
41
41
  color: '#0e0e0e',
42
+ borderStyle: 'dashed',
43
+ borderWidth: 2,
44
+ borderRadius: 8,
42
45
  },
43
46
  ];
44
47
 
45
48
  function App() {
46
49
  const [date, setDate] = useState(new Date());
50
+ const [refreshing, setRefreshing] = useState(false);
51
+
52
+ const handleRefresh = () => {
53
+ setRefreshing(true);
54
+ // Fetch new events or data
55
+ setTimeout(() => setRefreshing(false), 1000);
56
+ };
47
57
 
48
58
  return (
49
59
  <MonthCalendar
@@ -52,7 +62,17 @@ function App() {
52
62
  onChangeDate={(newDate) => setDate(newDate)}
53
63
  events={events}
54
64
  onPressEvent={(event) => console.log('Event pressed:', event.title)}
65
+ onLongPressEvent={(event) => console.log('Event long pressed:', event.title)}
66
+ delayLongPressEvent={500}
55
67
  onPressCell={(date) => console.log('Cell pressed:', date)}
68
+ onLongPressCell={(date) => console.log('Cell long pressed:', date)}
69
+ delayLongPressCell={500}
70
+ onRefresh={handleRefresh}
71
+ refreshing={refreshing}
72
+ todayCellTextStyle={{ fontWeight: 'bold', color: '#007AFF' }}
73
+ dayCellTextStyle={(date) => ({
74
+ color: date.getDay() === 0 ? '#FF3B30' : '#000000',
75
+ })}
56
76
  />
57
77
  );
58
78
  }
@@ -62,34 +82,57 @@ function App() {
62
82
 
63
83
  ### MonthCalendar Props
64
84
 
65
- | Prop | Type | Required | Default | Description |
66
- |------|------|----------|---------|-------------|
67
- | `defaultDate` | `Date` | Yes | - | Initial date to display |
68
- | `weekStartsOn` | `0 \| 1` | No | `0` | Week start day (0 = Sunday, 1 = Monday) |
69
- | `onChangeDate` | `(date: Date) => void` | No | - | Callback when month changes |
70
- | `events` | `CalendarEvent[]` | Yes | - | Array of calendar events |
71
- | `onPressEvent` | `(event: CalendarEvent) => void` | No | - | Callback when event is pressed |
72
- | `onPressCell` | `(date: Date) => void` | No | - | Callback when date cell is pressed |
85
+ | Prop | Type | Required | Default | Description |
86
+ | --------------------------- | --------------------------------------- | -------- | ------- | ------------------------------------------ |
87
+ | `defaultDate` | `Date` | Yes | - | Initial date to display |
88
+ | `weekStartsOn` | `0 \| 1` | No | `0` | Week start day (0 = Sunday, 1 = Monday) |
89
+ | `onChangeDate` | `(date: Date) => void` | No | - | Callback when month changes |
90
+ | `events` | `CalendarEvent[]` | Yes | - | Array of calendar events |
91
+ | `onPressEvent` | `(event: CalendarEvent) => void` | No | - | Callback when event is pressed |
92
+ | `onLongPressEvent` | `(event: CalendarEvent) => void` | No | - | Callback when event is long pressed |
93
+ | `delayLongPressEvent` | `number` | No | - | Delay in ms before long press is triggered |
94
+ | `onPressCell` | `(date: Date) => void` | No | - | Callback when date cell is pressed |
95
+ | `onLongPressCell` | `(date: Date) => void` | No | - | Callback when date cell is long pressed |
96
+ | `delayLongPressCell` | `number` | No | - | Delay in ms before long press is triggered |
97
+ | `onRefresh` | `() => void` | No | - | Callback for pull-to-refresh |
98
+ | `refreshing` | `boolean` | No | - | Whether the calendar is refreshing |
99
+ | `dayCellContainerStyle` | `(date: Date) => ViewStyle` | No | - | Style function for day cell container |
100
+ | `dayCellTextStyle` | `(date: Date) => TextStyle` | No | - | Style function for day cell text |
101
+ | `todayCellTextStyle` | `TextStyle` | No | - | Style for today's cell text |
102
+ | `locale` | `ILocale` | No | - | Locale configuration for date formatting |
103
+ | `weekdayCellContainerStyle` | `(weekDayNum: WeekdayNum) => ViewStyle` | No | - | Style function for weekday cell container |
104
+ | `weekdayCellTextStyle` | `(weekDayNum: WeekdayNum) => TextStyle` | No | - | Style function for weekday cell text |
105
+ | `hiddenMonth` | `boolean` | No | `false` | Hide month header display |
106
+ | `monthFormat` | `string` | No | - | Custom format string for month display |
73
107
 
74
108
  ### CalendarEvent
75
109
 
76
- | Property | Type | Required | Description |
77
- |----------|------|----------|-------------|
78
- | `id` | `string` | Yes | Unique identifier |
79
- | `title` | `string` | Yes | Event title |
80
- | `start` | `Date` | Yes | Start date |
81
- | `end` | `Date` | Yes | End date |
82
- | `backgroundColor` | `string` | Yes | Background color |
83
- | `borderColor` | `string` | Yes | Border color |
84
- | `color` | `string` | Yes | Text color |
110
+ | Property | Type | Required | Description |
111
+ | ----------------- | --------------------------------------- | -------- | ------------------------------ |
112
+ | `id` | `string` | Yes | Unique identifier |
113
+ | `title` | `string` | Yes | Event title |
114
+ | `start` | `Date` | Yes | Start date |
115
+ | `end` | `Date` | Yes | End date |
116
+ | `backgroundColor` | `string` | Yes | Background color |
117
+ | `borderColor` | `string` | Yes | Border color |
118
+ | `color` | `string` | Yes | Text color |
119
+ | `borderStyle` | `'solid' \| 'dashed' \| 'dotted'` | No | Border style |
120
+ | `borderWidth` | `number` | No | Border width |
121
+ | `borderRadius` | `number` | No | Border radius |
85
122
 
86
123
  ## Features
87
124
 
88
125
  - Horizontally scrollable month view
89
126
  - Multi-day event support
90
- - Customizable event colors
91
- - Event and date cell press handlers
127
+ - Customizable event colors and border styles
128
+ - Event press handlers (tap and long press)
129
+ - Date cell press handlers (tap and long press)
92
130
  - Configurable week start day (Sunday or Monday)
131
+ - Customizable styling for day cells, weekday cells, and today's cell
132
+ - Pull-to-refresh support
133
+ - Locale support for internationalization
134
+ - Optional month header visibility control
135
+ - Custom month format display
93
136
  - Spans 10 years before and after the default date
94
137
 
95
138
  ## License
@@ -8,18 +8,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  const HALF_PANEL_LENGTH = 120; // 10 years
9
9
 
10
10
  export const MonthCalendar = props => {
11
- const {
12
- defaultDate,
13
- weekStartsOn = 0,
14
- onChangeDate,
15
- events,
16
- onPressEvent,
17
- onPressCell,
18
- onRefresh,
19
- refreshing,
20
- dayCellStyle
21
- } = props;
22
- const [dateState] = useState(defaultDate);
11
+ const [dateState] = useState(props.defaultDate);
23
12
  const [_activeIndex, setActiveIndex] = useState(HALF_PANEL_LENGTH);
24
13
  const defaultDateDjs = dayjs(dateState);
25
14
  const startOfDefaultDateDjs = defaultDateDjs.startOf('month');
@@ -53,7 +42,7 @@ export const MonthCalendar = props => {
53
42
  const month = panels[newIndex];
54
43
  if (month) {
55
44
  const newDate = new Date(month);
56
- onChangeDate?.(newDate);
45
+ props.onChangeDate?.(newDate);
57
46
  }
58
47
  setActiveIndex(newIndex);
59
48
  },
@@ -66,14 +55,25 @@ export const MonthCalendar = props => {
66
55
  }) => {
67
56
  return /*#__PURE__*/_jsx(MonthCalendarViewItem, {
68
57
  month: item,
69
- weekStartsOn: weekStartsOn,
70
- events: events,
71
- onPressEvent: onPressEvent,
72
- onPressCell: onPressCell,
58
+ weekStartsOn: props.weekStartsOn ?? 0,
59
+ events: props.events,
60
+ onPressEvent: props.onPressEvent,
61
+ onLongPressEvent: props.onLongPressEvent,
62
+ delayLongPressEvent: props.delayLongPressEvent,
63
+ onPressCell: props.onPressCell,
64
+ onLongPressCell: props.onLongPressCell,
65
+ delayLongPressCell: props.delayLongPressCell,
73
66
  flatListIndex: index,
74
- onRefresh: onRefresh,
75
- refreshing: refreshing,
76
- dayCellStyle: dayCellStyle
67
+ onRefresh: props.onRefresh,
68
+ refreshing: props.refreshing,
69
+ dayCellContainerStyle: props.dayCellContainerStyle,
70
+ dayCellTextStyle: props.dayCellTextStyle,
71
+ locale: props.locale,
72
+ weekdayCellContainerStyle: props.weekdayCellContainerStyle,
73
+ weekdayCellTextStyle: props.weekdayCellTextStyle,
74
+ todayCellTextStyle: props.todayCellTextStyle,
75
+ hiddenMonth: props.hiddenMonth,
76
+ monthFormat: props.monthFormat
77
77
  });
78
78
  },
79
79
  showsHorizontalScrollIndicator: false,
@@ -1 +1 @@
1
- {"version":3,"names":["useWindowDimensions","FlatList","dayjs","useState","MonthCalendarViewItem","jsx","_jsx","HALF_PANEL_LENGTH","MonthCalendar","props","defaultDate","weekStartsOn","onChangeDate","events","onPressEvent","onPressCell","onRefresh","refreshing","dayCellStyle","dateState","_activeIndex","setActiveIndex","defaultDateDjs","startOfDefaultDateDjs","startOf","prevPanels","Array","from","length","_","i","subtract","format","nextPanels","add","panels","width","horizontal","pagingEnabled","getItemLayout","_data","index","offset","onMomentumScrollEnd","e","scrollX","nativeEvent","contentOffset","x","newIndex","Math","round","month","newDate","Date","initialScrollIndex","decelerationRate","data","renderItem","item","flatListIndex","showsHorizontalScrollIndicator","scrollEnabled","windowSize","initialNumToRender","maxToRenderPerBatch","removeClippedSubviews"],"sourceRoot":"../../../../src","sources":["calendar/month-calendar/MonthCalendar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useWindowDimensions","FlatList","dayjs","useState","MonthCalendarViewItem","jsx","_jsx","HALF_PANEL_LENGTH","MonthCalendar","props","dateState","defaultDate","_activeIndex","setActiveIndex","defaultDateDjs","startOfDefaultDateDjs","startOf","prevPanels","Array","from","length","_","i","subtract","format","nextPanels","add","panels","width","horizontal","pagingEnabled","getItemLayout","_data","index","offset","onMomentumScrollEnd","e","scrollX","nativeEvent","contentOffset","x","newIndex","Math","round","month","newDate","Date","onChangeDate","initialScrollIndex","decelerationRate","data","renderItem","item","weekStartsOn","events","onPressEvent","onLongPressEvent","delayLongPressEvent","onPressCell","onLongPressCell","delayLongPressCell","flatListIndex","onRefresh","refreshing","dayCellContainerStyle","dayCellTextStyle","locale","weekdayCellContainerStyle","weekdayCellTextStyle","todayCellTextStyle","hiddenMonth","monthFormat","showsHorizontalScrollIndicator","scrollEnabled","windowSize","initialNumToRender","maxToRenderPerBatch","removeClippedSubviews"],"sourceRoot":"../../../../src","sources":["calendar/month-calendar/MonthCalendar.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,17 +3,13 @@
3
3
  import { useMemo } from 'react';
4
4
  import { getWeekIds } from "../../../utils/functions.js";
5
5
  export const useEvents = props => {
6
- const {
7
- events,
8
- weekStartsOn
9
- } = props;
10
6
  const eventsGroupByWeekId = useMemo(() => {
11
7
  const groupedEvents = {};
12
- events.forEach(event => {
8
+ props.events.forEach(event => {
13
9
  const weekIds = getWeekIds({
14
10
  start: event.start,
15
11
  end: event.end,
16
- weekStartsOn
12
+ weekStartsOn: props.weekStartsOn
17
13
  });
18
14
  weekIds.forEach(weekId => {
19
15
  if (!groupedEvents[weekId]) {
@@ -23,7 +19,7 @@ export const useEvents = props => {
23
19
  });
24
20
  });
25
21
  return groupedEvents;
26
- }, [events, weekStartsOn]);
22
+ }, [props.events, props.weekStartsOn]);
27
23
  return {
28
24
  eventsGroupByWeekId
29
25
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","getWeekIds","useEvents","props","events","weekStartsOn","eventsGroupByWeekId","groupedEvents","forEach","event","weekIds","start","end","weekId","push"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/logic/useEvents.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAK/B,SAASC,UAAU,QAAQ,6BAA0B;AAErD,OAAO,MAAMC,SAAS,GAAIC,KAGzB,IAAK;EACJ,MAAM;IAAEC,MAAM;IAAEC;EAAa,CAAC,GAAGF,KAAK;EAEtC,MAAMG,mBAAoD,GAAGN,OAAO,CAAC,MAAM;IACzE,MAAMO,aAA8C,GAAG,CAAC,CAAC;IAEzDH,MAAM,CAACI,OAAO,CAAEC,KAAK,IAAK;MACxB,MAAMC,OAAiB,GAAGT,UAAU,CAAC;QACnCU,KAAK,EAAEF,KAAK,CAACE,KAAK;QAClBC,GAAG,EAAEH,KAAK,CAACG,GAAG;QACdP;MACF,CAAC,CAAC;MACFK,OAAO,CAACF,OAAO,CAAEK,MAAM,IAAK;QAC1B,IAAI,CAACN,aAAa,CAACM,MAAM,CAAC,EAAE;UAC1BN,aAAa,CAACM,MAAM,CAAC,GAAG,EAAE;QAC5B;QACAN,aAAa,CAACM,MAAM,CAAC,CAACC,IAAI,CAACL,KAAK,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAOF,aAAa;EACtB,CAAC,EAAE,CAACH,MAAM,EAAEC,YAAY,CAAC,CAAC;EAE1B,OAAO;IAAEC;EAAoB,CAAC;AAChC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","getWeekIds","useEvents","props","eventsGroupByWeekId","groupedEvents","events","forEach","event","weekIds","start","end","weekStartsOn","weekId","push"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/logic/useEvents.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAK/B,SAASC,UAAU,QAAQ,6BAA0B;AAErD,OAAO,MAAMC,SAAS,GAAIC,KAGzB,IAAK;EACJ,MAAMC,mBAAoD,GAAGJ,OAAO,CAAC,MAAM;IACzE,MAAMK,aAA8C,GAAG,CAAC,CAAC;IAEzDF,KAAK,CAACG,MAAM,CAACC,OAAO,CAAEC,KAAK,IAAK;MAC9B,MAAMC,OAAiB,GAAGR,UAAU,CAAC;QACnCS,KAAK,EAAEF,KAAK,CAACE,KAAK;QAClBC,GAAG,EAAEH,KAAK,CAACG,GAAG;QACdC,YAAY,EAAET,KAAK,CAACS;MACtB,CAAC,CAAC;MACFH,OAAO,CAACF,OAAO,CAAEM,MAAM,IAAK;QAC1B,IAAI,CAACR,aAAa,CAACQ,MAAM,CAAC,EAAE;UAC1BR,aAAa,CAACQ,MAAM,CAAC,GAAG,EAAE;QAC5B;QACAR,aAAa,CAACQ,MAAM,CAAC,CAACC,IAAI,CAACN,KAAK,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAOH,aAAa;EACtB,CAAC,EAAE,CAACF,KAAK,CAACG,MAAM,EAAEH,KAAK,CAACS,YAAY,CAAC,CAAC;EAEtC,OAAO;IAAER;EAAoB,CAAC;AAChC,CAAC","ignoreList":[]}
@@ -8,32 +8,23 @@ import { monthlyEndDate, monthlyStartDate } from "../../../utils/functions.js";
8
8
  import { useEvents } from "../logic/useEvents.js";
9
9
  import { CELL_BORDER_WIDTH } from "../../../constants/size.js";
10
10
  import { RefreshControl } from 'react-native';
11
+ import { useCallback, useMemo, useState } from 'react';
12
+ import { MonthCalendarWeekDayRow } from "./MonthCalendarWeekDayRow.js";
11
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
14
  export const MonthCalendarViewItem = props => {
13
- const {
14
- month,
15
- weekStartsOn,
16
- events,
17
- onPressEvent,
18
- onPressCell,
19
- flatListIndex,
20
- onRefresh,
21
- refreshing,
22
- dayCellStyle
23
- } = props;
24
15
  const {
25
16
  width
26
17
  } = useWindowDimensions();
27
18
  const eventPosition = new MonthCalendarEventPosition();
28
- const date = new Date(month);
19
+ const date = new Date(props.month);
29
20
  const dateDjs = dayjs(date);
30
21
  const startDate = monthlyStartDate({
31
22
  date,
32
- weekStartsOn
23
+ weekStartsOn: props.weekStartsOn
33
24
  });
34
25
  const endDate = monthlyEndDate({
35
26
  date,
36
- weekStartsOn
27
+ weekStartsOn: props.weekStartsOn
37
28
  });
38
29
  const endDjs = dayjs(endDate);
39
30
  const weeks = [];
@@ -50,28 +41,50 @@ export const MonthCalendarViewItem = props => {
50
41
  const {
51
42
  eventsGroupByWeekId
52
43
  } = useEvents({
53
- events,
54
- weekStartsOn
44
+ events: props.events,
45
+ weekStartsOn: props.weekStartsOn
55
46
  });
47
+ const [bodyHeight, setBodyHeight] = useState(0);
48
+ const onLayoutBody = useCallback(e => {
49
+ setBodyHeight(e.nativeEvent.layout.height);
50
+ }, []);
51
+ const [monthRowHeight, setMonthRowHeight] = useState(0);
52
+ const onLayoutMonthRow = useCallback(e => {
53
+ setMonthRowHeight(e.nativeEvent.layout.height);
54
+ }, []);
55
+ const [weekdayRowHeight, setWeekdayRowHeight] = useState(0);
56
+ const onLayoutWeekdayRow = useCallback(e => {
57
+ setWeekdayRowHeight(e.nativeEvent.layout.height);
58
+ }, []);
59
+ const weekRowMinHeight = useMemo(() => {
60
+ return (bodyHeight - monthRowHeight - weekdayRowHeight) / weeks.length;
61
+ }, [bodyHeight, monthRowHeight, weekdayRowHeight, weeks.length]);
56
62
  return /*#__PURE__*/_jsxs(ScrollView, {
57
63
  style: [styles.container, {
58
64
  width,
59
- zIndex: flatListIndex
65
+ zIndex: props.flatListIndex
60
66
  }],
61
67
  refreshControl: /*#__PURE__*/_jsx(RefreshControl, {
62
- refreshing: !!refreshing,
63
- onRefresh: onRefresh
68
+ refreshing: !!props.refreshing,
69
+ onRefresh: props.onRefresh
64
70
  }),
65
- children: [/*#__PURE__*/_jsx(View, {
71
+ onLayout: onLayoutBody,
72
+ children: [props.hiddenMonth ? /*#__PURE__*/_jsx(View, {
73
+ style: styles.blankMonthContainer
74
+ }) : /*#__PURE__*/_jsx(View, {
66
75
  style: styles.monthContainer,
76
+ onLayout: onLayoutMonthRow,
67
77
  children: /*#__PURE__*/_jsx(Text, {
68
78
  style: styles.monthText,
69
- children: dateDjs.format('YYYY/MM')
79
+ children: dateDjs.format(props.monthFormat ?? 'YYYY/MM')
70
80
  })
71
81
  }), /*#__PURE__*/_jsx(View, {
72
- children: /*#__PURE__*/_jsx(MonthCalendarWeekRow, {
82
+ onLayout: onLayoutWeekdayRow,
83
+ children: /*#__PURE__*/_jsx(MonthCalendarWeekDayRow, {
73
84
  dates: weeks[0] ?? [],
74
- isWeekdayHeader: true
85
+ locale: props.locale,
86
+ weekdayCellContainerStyle: props.weekdayCellContainerStyle,
87
+ weekdayCellTextStyle: props.weekdayCellTextStyle
75
88
  })
76
89
  }), /*#__PURE__*/_jsx(View, {
77
90
  children: weeks.map((week, index) => {
@@ -85,9 +98,16 @@ export const MonthCalendarViewItem = props => {
85
98
  dates: week,
86
99
  events: weekEvents,
87
100
  eventPosition: eventPosition,
88
- onPressEvent: onPressEvent,
89
- onPressCell: onPressCell,
90
- dayCellStyle: dayCellStyle
101
+ onPressEvent: props.onPressEvent,
102
+ onLongPressEvent: props.onLongPressEvent,
103
+ delayLongPressEvent: props.delayLongPressEvent,
104
+ onPressCell: props.onPressCell,
105
+ onLongPressCell: props.onLongPressCell,
106
+ delayLongPressCell: props.delayLongPressCell,
107
+ dayCellContainerStyle: props.dayCellContainerStyle,
108
+ dayCellTextStyle: props.dayCellTextStyle,
109
+ weekRowMinHeight: weekRowMinHeight,
110
+ todayCellTextStyle: props.todayCellTextStyle
91
111
  }, `row-${index}`);
92
112
  })
93
113
  })]
@@ -99,6 +119,10 @@ const styles = StyleSheet.create({
99
119
  borderColor: 'lightslategrey',
100
120
  alignSelf: 'flex-start'
101
121
  },
122
+ blankMonthContainer: {
123
+ borderWidth: CELL_BORDER_WIDTH,
124
+ borderColor: 'lightslategrey'
125
+ },
102
126
  monthContainer: {
103
127
  padding: 2,
104
128
  borderWidth: CELL_BORDER_WIDTH,
@@ -1 +1 @@
1
- {"version":3,"names":["dayjs","ScrollView","StyleSheet","Text","View","useWindowDimensions","MonthCalendarWeekRow","MonthCalendarEventPosition","monthlyEndDate","monthlyStartDate","useEvents","CELL_BORDER_WIDTH","RefreshControl","jsx","_jsx","jsxs","_jsxs","MonthCalendarViewItem","props","month","weekStartsOn","events","onPressEvent","onPressCell","flatListIndex","onRefresh","refreshing","dayCellStyle","width","eventPosition","date","Date","dateDjs","startDate","endDate","endDjs","weeks","currentDate","isBefore","week","Array","from","length","_","i","add","push","eventsGroupByWeekId","style","styles","container","zIndex","refreshControl","children","monthContainer","monthText","format","dates","isWeekdayHeader","map","index","firstDayOfWeek","undefined","weekId","weekEvents","create","height","borderColor","alignSelf","padding","borderWidth","backgroundColor","textAlign"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/view/MonthCalendarViewItem.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dayjs","ScrollView","StyleSheet","Text","View","useWindowDimensions","MonthCalendarWeekRow","MonthCalendarEventPosition","monthlyEndDate","monthlyStartDate","useEvents","CELL_BORDER_WIDTH","RefreshControl","useCallback","useMemo","useState","MonthCalendarWeekDayRow","jsx","_jsx","jsxs","_jsxs","MonthCalendarViewItem","props","width","eventPosition","date","Date","month","dateDjs","startDate","weekStartsOn","endDate","endDjs","weeks","currentDate","isBefore","week","Array","from","length","_","i","add","push","eventsGroupByWeekId","events","bodyHeight","setBodyHeight","onLayoutBody","e","nativeEvent","layout","height","monthRowHeight","setMonthRowHeight","onLayoutMonthRow","weekdayRowHeight","setWeekdayRowHeight","onLayoutWeekdayRow","weekRowMinHeight","style","styles","container","zIndex","flatListIndex","refreshControl","refreshing","onRefresh","onLayout","children","hiddenMonth","blankMonthContainer","monthContainer","monthText","format","monthFormat","dates","locale","weekdayCellContainerStyle","weekdayCellTextStyle","map","index","firstDayOfWeek","undefined","weekId","weekEvents","onPressEvent","onLongPressEvent","delayLongPressEvent","onPressCell","onLongPressCell","delayLongPressCell","dayCellContainerStyle","dayCellTextStyle","todayCellTextStyle","create","borderColor","alignSelf","borderWidth","padding","backgroundColor","textAlign"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/view/MonthCalendarViewItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ import en from 'dayjs/locale/en';
4
+ import { StyleSheet } from 'react-native';
5
+ import { Text, View } from 'react-native';
6
+ import { CELL_BORDER_WIDTH } from "../../../constants/size.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export const MonthCalendarWeekDayRow = props => {
9
+ return /*#__PURE__*/_jsx(View, {
10
+ style: styles.container,
11
+ children: props.dates.map((djs, dateIndex) => {
12
+ const text = djs.locale(props.locale ?? en).format('ddd');
13
+ return /*#__PURE__*/_jsxs(View, {
14
+ style: [styles.dayCellCountainer, {
15
+ zIndex: 7 - dateIndex
16
+ }],
17
+ children: [/*#__PURE__*/_jsx(View, {
18
+ style: [styles.dayCellInner, props.weekdayCellContainerStyle?.(djs.day())]
19
+ }), /*#__PURE__*/_jsx(View, {
20
+ style: styles.dayCellLabel,
21
+ children: /*#__PURE__*/_jsx(Text, {
22
+ style: [styles.dayCellText, props.weekdayCellTextStyle?.(djs.day())],
23
+ children: text
24
+ })
25
+ })]
26
+ }, djs.get('d'));
27
+ })
28
+ });
29
+ };
30
+ const styles = StyleSheet.create({
31
+ container: {
32
+ width: '100%',
33
+ display: 'flex',
34
+ flexDirection: 'row',
35
+ flex: 1,
36
+ backgroundColor: 'white'
37
+ },
38
+ dayCellCountainer: {
39
+ flex: 1,
40
+ borderRightWidth: CELL_BORDER_WIDTH,
41
+ borderBottomWidth: CELL_BORDER_WIDTH,
42
+ borderColor: 'lightslategrey',
43
+ backgroundColor: 'white',
44
+ position: 'relative'
45
+ },
46
+ dayCellInner: {
47
+ position: 'absolute',
48
+ top: 0,
49
+ left: 0,
50
+ right: 0,
51
+ bottom: 0
52
+ },
53
+ dayCellLabel: {
54
+ paddingVertical: 1,
55
+ paddingHorizontal: 2
56
+ },
57
+ dayCellText: {
58
+ textAlign: 'center',
59
+ fontSize: 12
60
+ }
61
+ });
62
+ //# sourceMappingURL=MonthCalendarWeekDayRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["en","StyleSheet","Text","View","CELL_BORDER_WIDTH","jsx","_jsx","jsxs","_jsxs","MonthCalendarWeekDayRow","props","style","styles","container","children","dates","map","djs","dateIndex","text","locale","format","dayCellCountainer","zIndex","dayCellInner","weekdayCellContainerStyle","day","dayCellLabel","dayCellText","weekdayCellTextStyle","get","create","width","display","flexDirection","flex","backgroundColor","borderRightWidth","borderBottomWidth","borderColor","position","top","left","right","bottom","paddingVertical","paddingHorizontal","textAlign","fontSize"],"sourceRoot":"../../../../../src","sources":["calendar/month-calendar/view/MonthCalendarWeekDayRow.tsx"],"mappings":";;AACA,OAAOA,EAAE,MAAM,iBAAiB;AAChC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,IAAI,EAAEC,IAAI,QAAwB,cAAc;AAEzD,SAASC,iBAAiB,QAAQ,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG5D,OAAO,MAAMC,uBAAuB,GAAIC,KAKvC,IAAK;EACJ,oBACEJ,IAAA,CAACH,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BJ,KAAK,CAACK,KAAK,CAACC,GAAG,CAAC,CAACC,GAAG,EAAEC,SAAS,KAAK;MACnC,MAAMC,IAAI,GAAGF,GAAG,CAACG,MAAM,CAACV,KAAK,CAACU,MAAM,IAAIpB,EAAE,CAAC,CAACqB,MAAM,CAAC,KAAK,CAAC;MAEzD,oBACEb,KAAA,CAACL,IAAI;QAEHQ,KAAK,EAAE,CAACC,MAAM,CAACU,iBAAiB,EAAE;UAAEC,MAAM,EAAE,CAAC,GAAGL;QAAU,CAAC,CAAE;QAAAJ,QAAA,gBAE7DR,IAAA,CAACH,IAAI;UACHQ,KAAK,EAAE,CACLC,MAAM,CAACY,YAAY,EACnBd,KAAK,CAACe,yBAAyB,GAAGR,GAAG,CAACS,GAAG,CAAC,CAAC,CAAC;QAC5C,CACH,CAAC,eACFpB,IAAA,CAACH,IAAI;UAACQ,KAAK,EAAEC,MAAM,CAACe,YAAa;UAAAb,QAAA,eAC/BR,IAAA,CAACJ,IAAI;YACHS,KAAK,EAAE,CACLC,MAAM,CAACgB,WAAW,EAClBlB,KAAK,CAACmB,oBAAoB,GAAGZ,GAAG,CAACS,GAAG,CAAC,CAAC,CAAC,CACvC;YAAAZ,QAAA,EAEDK;UAAI,CACD;QAAC,CACH,CAAC;MAAA,GAlBFF,GAAG,CAACa,GAAG,CAAC,GAAG,CAmBZ,CAAC;IAEX,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMlB,MAAM,GAAGX,UAAU,CAAC8B,MAAM,CAAC;EAC/BlB,SAAS,EAAE;IACTmB,KAAK,EAAE,MAAM;IACbC,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,KAAK;IACpBC,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE;EACnB,CAAC;EACDd,iBAAiB,EAAE;IACjBa,IAAI,EAAE,CAAC;IACPE,gBAAgB,EAAEjC,iBAAiB;IACnCkC,iBAAiB,EAAElC,iBAAiB;IACpCmC,WAAW,EAAE,gBAAgB;IAC7BH,eAAe,EAAE,OAAO;IACxBI,QAAQ,EAAE;EACZ,CAAC;EACDhB,YAAY,EAAE;IACZgB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC;EACDjB,YAAY,EAAE;IACZkB,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDlB,WAAW,EAAE;IACXmB,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}