@sunsama/event-calendar 0.2.8 → 0.3.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.
- package/README.md +7 -0
- package/lib/commonjs/index.js +29 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/date-utils.js.map +1 -1
- package/lib/module/index.js +27 -12
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/date-utils.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +8 -4
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/date-utils.d.ts +3 -3
- package/lib/typescript/commonjs/utils/date-utils.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +8 -4
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/utils/date-utils.d.ts +3 -3
- package/lib/typescript/module/utils/date-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +89 -42
- package/src/utils/date-utils.ts +6 -6
package/README.md
CHANGED
|
@@ -88,6 +88,13 @@ Edit mode:
|
|
|
88
88
|
| `extraTimedComponents` | `Function` | No | | Allows rendering extra components in the calendar. These will be rendered before all the timed events. |
|
|
89
89
|
| `onZoomChange` | `Function` | No | | Callback triggered when the zoom level changes. |
|
|
90
90
|
|
|
91
|
+
## Methods
|
|
92
|
+
The Event Calendar component exposes the following methods through the reference:
|
|
93
|
+
|
|
94
|
+
| Method | Arguments | Description |
|
|
95
|
+
|----------------|---------------------------------------------|-----------------------------------------------------------------------------------------------|
|
|
96
|
+
| `scrollToTime` | `timeInMinutes: number, animated?: boolean` | Scrolls the calendar to the specified time (in minutes since midnight). Animating by default. |
|
|
97
|
+
|
|
91
98
|
## Dependencies
|
|
92
99
|
Ensure you have the following dependencies installed for proper functionality:
|
|
93
100
|
- `react-native-reanimated`
|
package/lib/commonjs/index.js
CHANGED
|
@@ -13,7 +13,7 @@ var _zoomProvider = _interopRequireDefault(require("./components/zoom-provider.j
|
|
|
13
13
|
var _timedEvents = _interopRequireDefault(require("./components/timed-events.js"));
|
|
14
14
|
var _globals = require("./utils/globals.js");
|
|
15
15
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
16
|
-
var _react = require("react");
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
var _useIsEditing = require("./hooks/use-is-editing.js");
|
|
18
18
|
var _useEvents = require("./hooks/use-events.js");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -29,8 +29,10 @@ Object.keys(_types).forEach(function (key) {
|
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
33
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
32
34
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
33
|
-
|
|
35
|
+
function EventCalendarContentInner({
|
|
34
36
|
canCreateEvents,
|
|
35
37
|
canEditEvent,
|
|
36
38
|
fiveMinuteInterval,
|
|
@@ -50,11 +52,25 @@ const EventCalendarContent = ({
|
|
|
50
52
|
extraTimedComponents,
|
|
51
53
|
onZoomChange,
|
|
52
54
|
startCalendarDate
|
|
53
|
-
})
|
|
55
|
+
}, refMethods) {
|
|
54
56
|
const zoomLevel = (0, _reactNativeReanimated.useSharedValue)(initialZoomLevel);
|
|
55
57
|
const createY = (0, _reactNativeReanimated.useSharedValue)(-1);
|
|
56
58
|
const maximumHour = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
57
59
|
const refNewEvent = (0, _react.useRef)(null);
|
|
60
|
+
const refScrollView = (0, _react.useRef)(null);
|
|
61
|
+
(0, _react.useImperativeHandle)(refMethods, () => ({
|
|
62
|
+
scrollToTime: (time, animated = true) => {
|
|
63
|
+
console.info("scrollToTime called with:", {
|
|
64
|
+
time,
|
|
65
|
+
animated,
|
|
66
|
+
zoomLevel: zoomLevel.value
|
|
67
|
+
});
|
|
68
|
+
refScrollView.current?.scrollTo({
|
|
69
|
+
y: time * zoomLevel.value,
|
|
70
|
+
animated
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}), [zoomLevel]);
|
|
58
74
|
const {
|
|
59
75
|
eventsLayout
|
|
60
76
|
} = (0, _useEvents.useEvents)();
|
|
@@ -90,6 +106,7 @@ const EventCalendarContent = ({
|
|
|
90
106
|
bounces: false,
|
|
91
107
|
keyboardShouldPersistTaps: "always",
|
|
92
108
|
style: [styles.scrollView, theme?.scrollView],
|
|
109
|
+
ref: refScrollView,
|
|
93
110
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useIsEditing.IsEditingProvider, {
|
|
94
111
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_zoomProvider.default, {
|
|
95
112
|
ref: refNewEvent,
|
|
@@ -103,12 +120,9 @@ const EventCalendarContent = ({
|
|
|
103
120
|
})]
|
|
104
121
|
})
|
|
105
122
|
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
* Wraps `EventCalendarContent` inside `ClonedEventsProvider` to manage cloned events independently.
|
|
110
|
-
*/
|
|
111
|
-
const EventCalendar = ({
|
|
123
|
+
}
|
|
124
|
+
const EventCalendarContent = /*#__PURE__*/(0, _react.forwardRef)(EventCalendarContentInner);
|
|
125
|
+
function EventCalendarInner({
|
|
112
126
|
timeFormat = "HH:mm",
|
|
113
127
|
dayDate,
|
|
114
128
|
events,
|
|
@@ -120,7 +134,7 @@ const EventCalendar = ({
|
|
|
120
134
|
canCreateEvents = true,
|
|
121
135
|
canEditEvent = true,
|
|
122
136
|
...props
|
|
123
|
-
})
|
|
137
|
+
}, ref) {
|
|
124
138
|
const startCalendarDate = (0, _react.useMemo)(() => _momentTimezone.default.tz(dayDate, timezone).startOf("day"), [dayDate, timezone]);
|
|
125
139
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_useEvents.EventsProvider, {
|
|
126
140
|
initialProps: {
|
|
@@ -134,6 +148,8 @@ const EventCalendar = ({
|
|
|
134
148
|
},
|
|
135
149
|
updateLocalStateAfterEdit: !!updateLocalStateAfterEdit,
|
|
136
150
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(EventCalendarContent, {
|
|
151
|
+
ref: ref // <--- CHANGED: pass forwarded ref down
|
|
152
|
+
,
|
|
137
153
|
...props,
|
|
138
154
|
timeFormat: timeFormat,
|
|
139
155
|
initialZoomLevel: initialZoomLevel,
|
|
@@ -145,7 +161,9 @@ const EventCalendar = ({
|
|
|
145
161
|
canEditEvent: canEditEvent
|
|
146
162
|
})
|
|
147
163
|
});
|
|
148
|
-
}
|
|
164
|
+
}
|
|
165
|
+
const EventCalendar = /*#__PURE__*/(0, _react.forwardRef)(EventCalendarInner);
|
|
166
|
+
var _default = exports.default = EventCalendar;
|
|
149
167
|
const styles = _reactNative.StyleSheet.create({
|
|
150
168
|
container: {
|
|
151
169
|
flex: 1,
|
|
@@ -169,5 +187,4 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
169
187
|
borderColor: "black"
|
|
170
188
|
}
|
|
171
189
|
});
|
|
172
|
-
var _default = exports.default = EventCalendar;
|
|
173
190
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_allDayEvents","_interopRequireDefault","_reactNativeGestureHandler","_reactNativeReanimated","_zoomProvider","_timedEvents","_globals","_momentTimezone","_react","_useIsEditing","_useEvents","_jsxRuntime","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_allDayEvents","_interopRequireDefault","_reactNativeGestureHandler","_reactNativeReanimated","_zoomProvider","_timedEvents","_globals","_momentTimezone","_react","_interopRequireWildcard","_useIsEditing","_useEvents","_jsxRuntime","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","EventCalendarContentInner","canCreateEvents","canEditEvent","fiveMinuteInterval","initialZoomLevel","maxAllDayEvents","onCreateEvent","onEventEdit","onPressEvent","renderDragBars","renderEvent","renderNewEventContainer","showTimeIndicator","theme","timeFormat","timezone","updateLocalStateAfterEdit","extraTimedComponents","onZoomChange","startCalendarDate","refMethods","zoomLevel","useSharedValue","createY","maximumHour","refNewEvent","useRef","refScrollView","useImperativeHandle","scrollToTime","time","animated","console","info","value","current","scrollTo","y","eventsLayout","useEvents","jsx","View","style","styles","container","children","jsxs","ConfigProvider","Provider","dayDate","layout","ScrollView","bounces","keyboardShouldPersistTaps","scrollView","ref","IsEditingProvider","borderContainer","EventCalendarContent","forwardRef","EventCalendarInner","events","DEFAULT_MINUTE_HEIGHT","userCalendarId","props","useMemo","moment","tz","startOf","EventsProvider","initialProps","format","calendarViewInterval","endCalendarDate","startDayOfWeekOffset","EventCalendar","_default","StyleSheet","create","flex","marginTop","borderTopWidth","hairlineWidth","borderTopColor","overflow","paddingTop","backgroundColor","position","height","left","top","width","borderLeftWidth","borderColor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_momentTimezone","_interopRequireDefault","require","_lodash","e","__esModule","default","generatePrefabHours","timeFormat","startOfDayMoment","moment","startOf","Array","keys","reduce","accum","increment","hourMoment","clone","hour","push","hourFormatted","format","exports","startOfUserWeek","startDayOfWeekOffset","dateOrMoment","timezone","tz","isoWeekday","isAllDayOrSpansMidnight","calendarEvent","start","end","isAllDay","startMoment","endMoment","isSame","subtract","getDurationInDays","diff","size","daysInRange","startDate","endDate","countOfDaysInRange","startDay","days","countOfDaysAfterStart","Math","min","abs","add","getDuration","trueDuration","minDiff","Date","valueOf","computeCalendarDateRange","date","viewType","momentDate","toDate","basis","dayIndexes","startOfMonth","numberOfDaysInViewBeforeStartOfMonth","startOfRange","numberOfDaysInViewAfterEndOfMonth","daysInMonth","endOfRange","range","filter","dayIndex","indexOf","day","map","calendarDates","basisDate","length","startCalendarDate","endCalendarDate","dateRangeIntersect","start0","end0","start1","end1","isDate","s0","getTime","e0","s1","e1","isBetween","value","startInclusive","endExclusive"],"sourceRoot":"../../../src","sources":["utils/date-utils.ts"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAA6C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGtC,MAAMG,mBAAmB,GAAGA,CACjCC,UAAkB,GAAG,OAAO,KACX;EACjB,MAAMC,gBAAgB,GAAG,IAAAC,uBAAM,EAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC;EAEhD,OAAO,CAAC,GAAGC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM,CACjC,CACEC,KAIG,EACHC,SAAS,KACN;IACH,MAAMC,UAAU,GAAGR,gBAAgB,CAACS,KAAK,CAAC,CAAC,CAACC,IAAI,CAACH,SAAS,CAAC;IAE3DD,KAAK,CAACK,IAAI,CAAC;MACTJ,SAAS;MACTK,aAAa,EAAEJ,UAAU,CAACK,MAAM,CAACd,UAAU,CAAC;MAC5CS;IACF,CAAC,CAAC;IAEF,OAAOF,KAAK;EACd,CAAC,EACD,EACF,CAAC;AACH,CAAC;;AAED;AACA;AAAAQ,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA;AACO,MAAMiB,eAAe,GAAGA,CAC7BC,oBAA4B,EAC5BC,YAAoC,EACpCC,QAAgB,KACb;EACH;EACA;EACA,IACEF,oBAAoB,KAAK,CAAC,IAC1Bf,uBAAM,CAACkB,EAAE,CAACF,YAAY,EAAEC,QAAQ,CAAC,CAACE,UAAU,CAAC,CAAC,KAAK,CAAC,EACpD;IACA,OAAOnB,uBAAM,CAACkB,EAAE,CAACF,YAAY,EAAEC,QAAQ,CAAC,CAAChB,OAAO,CAAC,KAAK,CAAC;EACzD;EAEA,OAAOD,uBAAM,CACVkB,EAAE,CAACF,YAAY,EAAEC,QAAQ,CAAC,CAC1BhB,OAAO,CAAC,SAAS,CAAC,CAClBkB,UAAU,CAACJ,oBAAoB,CAAC;AACrC,CAAC;AAACF,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEK,MAAMM,uBAAuB,GAAGA,CACrCC,
|
|
1
|
+
{"version":3,"names":["_momentTimezone","_interopRequireDefault","require","_lodash","e","__esModule","default","generatePrefabHours","timeFormat","startOfDayMoment","moment","startOf","Array","keys","reduce","accum","increment","hourMoment","clone","hour","push","hourFormatted","format","exports","startOfUserWeek","startDayOfWeekOffset","dateOrMoment","timezone","tz","isoWeekday","isAllDayOrSpansMidnight","calendarEvent","start","end","isAllDay","startMoment","endMoment","isSame","subtract","getDurationInDays","diff","size","daysInRange","startDate","endDate","countOfDaysInRange","startDay","days","countOfDaysAfterStart","Math","min","abs","add","getDuration","trueDuration","minDiff","Date","valueOf","computeCalendarDateRange","date","viewType","momentDate","toDate","basis","dayIndexes","startOfMonth","numberOfDaysInViewBeforeStartOfMonth","startOfRange","numberOfDaysInViewAfterEndOfMonth","daysInMonth","endOfRange","range","filter","dayIndex","indexOf","day","map","calendarDates","basisDate","length","startCalendarDate","endCalendarDate","dateRangeIntersect","start0","end0","start1","end1","isDate","s0","getTime","e0","s1","e1","isBetween","value","startInclusive","endExclusive"],"sourceRoot":"../../../src","sources":["utils/date-utils.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -8,12 +8,12 @@ import ZoomProvider from "./components/zoom-provider.js";
|
|
|
8
8
|
import TimedEvents from "./components/timed-events.js";
|
|
9
9
|
import { ConfigProvider, DEFAULT_MINUTE_HEIGHT } from "./utils/globals.js";
|
|
10
10
|
import moment from "moment-timezone";
|
|
11
|
-
import { useMemo, useRef } from "react";
|
|
11
|
+
import React, { forwardRef, useImperativeHandle, useMemo, useRef } from "react";
|
|
12
12
|
import { IsEditingProvider } from "./hooks/use-is-editing.js";
|
|
13
13
|
import { EventsProvider, useEvents } from "./hooks/use-events.js";
|
|
14
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
export * from "./types.js";
|
|
16
|
-
|
|
16
|
+
function EventCalendarContentInner({
|
|
17
17
|
canCreateEvents,
|
|
18
18
|
canEditEvent,
|
|
19
19
|
fiveMinuteInterval,
|
|
@@ -33,11 +33,25 @@ const EventCalendarContent = ({
|
|
|
33
33
|
extraTimedComponents,
|
|
34
34
|
onZoomChange,
|
|
35
35
|
startCalendarDate
|
|
36
|
-
})
|
|
36
|
+
}, refMethods) {
|
|
37
37
|
const zoomLevel = useSharedValue(initialZoomLevel);
|
|
38
38
|
const createY = useSharedValue(-1);
|
|
39
39
|
const maximumHour = useSharedValue(0);
|
|
40
40
|
const refNewEvent = useRef(null);
|
|
41
|
+
const refScrollView = useRef(null);
|
|
42
|
+
useImperativeHandle(refMethods, () => ({
|
|
43
|
+
scrollToTime: (time, animated = true) => {
|
|
44
|
+
console.info("scrollToTime called with:", {
|
|
45
|
+
time,
|
|
46
|
+
animated,
|
|
47
|
+
zoomLevel: zoomLevel.value
|
|
48
|
+
});
|
|
49
|
+
refScrollView.current?.scrollTo({
|
|
50
|
+
y: time * zoomLevel.value,
|
|
51
|
+
animated
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}), [zoomLevel]);
|
|
41
55
|
const {
|
|
42
56
|
eventsLayout
|
|
43
57
|
} = useEvents();
|
|
@@ -73,6 +87,7 @@ const EventCalendarContent = ({
|
|
|
73
87
|
bounces: false,
|
|
74
88
|
keyboardShouldPersistTaps: "always",
|
|
75
89
|
style: [styles.scrollView, theme?.scrollView],
|
|
90
|
+
ref: refScrollView,
|
|
76
91
|
children: /*#__PURE__*/_jsx(IsEditingProvider, {
|
|
77
92
|
children: /*#__PURE__*/_jsxs(ZoomProvider, {
|
|
78
93
|
ref: refNewEvent,
|
|
@@ -86,12 +101,9 @@ const EventCalendarContent = ({
|
|
|
86
101
|
})]
|
|
87
102
|
})
|
|
88
103
|
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
* Wraps `EventCalendarContent` inside `ClonedEventsProvider` to manage cloned events independently.
|
|
93
|
-
*/
|
|
94
|
-
const EventCalendar = ({
|
|
104
|
+
}
|
|
105
|
+
const EventCalendarContent = /*#__PURE__*/forwardRef(EventCalendarContentInner);
|
|
106
|
+
function EventCalendarInner({
|
|
95
107
|
timeFormat = "HH:mm",
|
|
96
108
|
dayDate,
|
|
97
109
|
events,
|
|
@@ -103,7 +115,7 @@ const EventCalendar = ({
|
|
|
103
115
|
canCreateEvents = true,
|
|
104
116
|
canEditEvent = true,
|
|
105
117
|
...props
|
|
106
|
-
})
|
|
118
|
+
}, ref) {
|
|
107
119
|
const startCalendarDate = useMemo(() => moment.tz(dayDate, timezone).startOf("day"), [dayDate, timezone]);
|
|
108
120
|
return /*#__PURE__*/_jsx(EventsProvider, {
|
|
109
121
|
initialProps: {
|
|
@@ -117,6 +129,8 @@ const EventCalendar = ({
|
|
|
117
129
|
},
|
|
118
130
|
updateLocalStateAfterEdit: !!updateLocalStateAfterEdit,
|
|
119
131
|
children: /*#__PURE__*/_jsx(EventCalendarContent, {
|
|
132
|
+
ref: ref // <--- CHANGED: pass forwarded ref down
|
|
133
|
+
,
|
|
120
134
|
...props,
|
|
121
135
|
timeFormat: timeFormat,
|
|
122
136
|
initialZoomLevel: initialZoomLevel,
|
|
@@ -128,7 +142,9 @@ const EventCalendar = ({
|
|
|
128
142
|
canEditEvent: canEditEvent
|
|
129
143
|
})
|
|
130
144
|
});
|
|
131
|
-
}
|
|
145
|
+
}
|
|
146
|
+
const EventCalendar = /*#__PURE__*/forwardRef(EventCalendarInner);
|
|
147
|
+
export default EventCalendar;
|
|
132
148
|
const styles = StyleSheet.create({
|
|
133
149
|
container: {
|
|
134
150
|
flex: 1,
|
|
@@ -152,5 +168,4 @@ const styles = StyleSheet.create({
|
|
|
152
168
|
borderColor: "black"
|
|
153
169
|
}
|
|
154
170
|
});
|
|
155
|
-
export default EventCalendar;
|
|
156
171
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","AllDayEvents","ScrollView","useSharedValue","ZoomProvider","TimedEvents","ConfigProvider","DEFAULT_MINUTE_HEIGHT","moment","useMemo","useRef","IsEditingProvider","EventsProvider","useEvents","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","AllDayEvents","ScrollView","useSharedValue","ZoomProvider","TimedEvents","ConfigProvider","DEFAULT_MINUTE_HEIGHT","moment","React","forwardRef","useImperativeHandle","useMemo","useRef","IsEditingProvider","EventsProvider","useEvents","jsx","_jsx","jsxs","_jsxs","EventCalendarContentInner","canCreateEvents","canEditEvent","fiveMinuteInterval","initialZoomLevel","maxAllDayEvents","onCreateEvent","onEventEdit","onPressEvent","renderDragBars","renderEvent","renderNewEventContainer","showTimeIndicator","theme","timeFormat","timezone","updateLocalStateAfterEdit","extraTimedComponents","onZoomChange","startCalendarDate","refMethods","zoomLevel","createY","maximumHour","refNewEvent","refScrollView","scrollToTime","time","animated","console","info","value","current","scrollTo","y","eventsLayout","style","styles","container","children","Provider","dayDate","layout","bounces","keyboardShouldPersistTaps","scrollView","ref","borderContainer","EventCalendarContent","EventCalendarInner","events","userCalendarId","props","tz","startOf","initialProps","format","calendarViewInterval","endCalendarDate","startDayOfWeekOffset","EventCalendar","create","flex","marginTop","borderTopWidth","hairlineWidth","borderTopColor","overflow","paddingTop","backgroundColor","position","height","left","top","width","borderLeftWidth","borderColor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["moment","isDate","range","size","generatePrefabHours","timeFormat","startOfDayMoment","startOf","Array","keys","reduce","accum","increment","hourMoment","clone","hour","push","hourFormatted","format","startOfUserWeek","startDayOfWeekOffset","dateOrMoment","timezone","tz","isoWeekday","isAllDayOrSpansMidnight","calendarEvent","start","end","isAllDay","startMoment","endMoment","isSame","subtract","getDurationInDays","diff","daysInRange","startDate","endDate","countOfDaysInRange","startDay","days","countOfDaysAfterStart","Math","min","abs","add","getDuration","trueDuration","minDiff","Date","valueOf","computeCalendarDateRange","date","viewType","momentDate","toDate","basis","dayIndexes","startOfMonth","numberOfDaysInViewBeforeStartOfMonth","startOfRange","numberOfDaysInViewAfterEndOfMonth","daysInMonth","endOfRange","filter","dayIndex","indexOf","day","map","calendarDates","basisDate","length","startCalendarDate","endCalendarDate","dateRangeIntersect","start0","end0","start1","end1","s0","getTime","e0","s1","e1","isBetween","value","startInclusive","endExclusive"],"sourceRoot":"../../../src","sources":["utils/date-utils.ts"],"mappings":";;AAAA,OAAOA,MAAM,MAAuB,iBAAiB;AACrD,SAASC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ,QAAQ;AAG5C,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,UAAkB,GAAG,OAAO,KACX;EACjB,MAAMC,gBAAgB,GAAGN,MAAM,CAAC,CAAC,CAACO,OAAO,CAAC,KAAK,CAAC;EAEhD,OAAO,CAAC,GAAGC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM,CACjC,CACEC,KAIG,EACHC,SAAS,KACN;IACH,MAAMC,UAAU,GAAGP,gBAAgB,CAACQ,KAAK,CAAC,CAAC,CAACC,IAAI,CAACH,SAAS,CAAC;IAE3DD,KAAK,CAACK,IAAI,CAAC;MACTJ,SAAS;MACTK,aAAa,EAAEJ,UAAU,CAACK,MAAM,CAACb,UAAU,CAAC;MAC5CQ;IACF,CAAC,CAAC;IAEF,OAAOF,KAAK;EACd,CAAC,EACD,EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,OAAO,MAAMQ,eAAe,GAAGA,CAC7BC,oBAA4B,EAC5BC,YAAoC,EACpCC,QAAgB,KACb;EACH;EACA;EACA,IACEF,oBAAoB,KAAK,CAAC,IAC1BpB,MAAM,CAACuB,EAAE,CAACF,YAAY,EAAEC,QAAQ,CAAC,CAACE,UAAU,CAAC,CAAC,KAAK,CAAC,EACpD;IACA,OAAOxB,MAAM,CAACuB,EAAE,CAACF,YAAY,EAAEC,QAAQ,CAAC,CAACf,OAAO,CAAC,KAAK,CAAC;EACzD;EAEA,OAAOP,MAAM,CACVuB,EAAE,CAACF,YAAY,EAAEC,QAAQ,CAAC,CAC1Bf,OAAO,CAAC,SAAS,CAAC,CAClBiB,UAAU,CAACJ,oBAAoB,CAAC;AACrC,CAAC;AAED,OAAO,MAAMK,uBAAuB,GAAGA,CACrCC,
|
|
1
|
+
{"version":3,"names":["moment","isDate","range","size","generatePrefabHours","timeFormat","startOfDayMoment","startOf","Array","keys","reduce","accum","increment","hourMoment","clone","hour","push","hourFormatted","format","startOfUserWeek","startDayOfWeekOffset","dateOrMoment","timezone","tz","isoWeekday","isAllDayOrSpansMidnight","calendarEvent","start","end","isAllDay","startMoment","endMoment","isSame","subtract","getDurationInDays","diff","daysInRange","startDate","endDate","countOfDaysInRange","startDay","days","countOfDaysAfterStart","Math","min","abs","add","getDuration","trueDuration","minDiff","Date","valueOf","computeCalendarDateRange","date","viewType","momentDate","toDate","basis","dayIndexes","startOfMonth","numberOfDaysInViewBeforeStartOfMonth","startOfRange","numberOfDaysInViewAfterEndOfMonth","daysInMonth","endOfRange","filter","dayIndex","indexOf","day","map","calendarDates","basisDate","length","startCalendarDate","endCalendarDate","dateRangeIntersect","start0","end0","start1","end1","s0","getTime","e0","s1","e1","isBetween","value","startInclusive","endExclusive"],"sourceRoot":"../../../src","sources":["utils/date-utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React, { type Ref } from "react";
|
|
1
2
|
import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "./types";
|
|
2
3
|
export * from "./types";
|
|
3
4
|
type EventCalenderProps<T extends CalendarEvent> = {
|
|
@@ -23,9 +24,12 @@ type EventCalenderProps<T extends CalendarEvent> = {
|
|
|
23
24
|
extraTimedComponents?: Config<T>["extraTimedComponents"];
|
|
24
25
|
onZoomChange?: Config<T>["onZoomChange"];
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
declare
|
|
27
|
+
export type EventCalendarMethods = {
|
|
28
|
+
scrollToTime: (minutes: number, animated?: boolean) => void;
|
|
29
|
+
};
|
|
30
|
+
declare function EventCalendarInner<T extends CalendarEvent>({ timeFormat, dayDate, events, initialZoomLevel, timezone, userCalendarId, maxAllDayEvents, updateLocalStateAfterEdit, canCreateEvents, canEditEvent, ...props }: EventCalenderProps<T>, ref: Ref<EventCalendarMethods>): React.JSX.Element;
|
|
31
|
+
declare const EventCalendar: <T extends CalendarEvent>(props: EventCalenderProps<T> & {
|
|
32
|
+
ref?: Ref<EventCalendarMethods>;
|
|
33
|
+
}) => ReturnType<typeof EventCalendarInner>;
|
|
30
34
|
export default EventCalendar;
|
|
31
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAEZ,KAAK,GAAG,EAIT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEhF,cAAc,SAAS,CAAC;AAExB,KAAK,kBAAkB,CAAC,CAAC,SAAS,aAAa,IAAI;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAwBF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D,CAAC;AA2GF,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACjD,EACE,UAAoB,EACpB,OAAO,EACP,MAAM,EACN,gBAAwC,EACxC,QAAgB,EAChB,cAAmB,EACnB,eAAmB,EACnB,yBAAgC,EAChC,eAAsB,EACtB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,qBAkC/B;AAED,QAAA,MAAM,aAAa,EAAqC,CACtD,CAAC,SAAS,aAAa,EAEvB,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,KAC/D,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE3C,eAAe,aAAa,CAAC"}
|
|
@@ -2,14 +2,14 @@ import moment, { type Moment } from "moment-timezone";
|
|
|
2
2
|
import { CalendarEvent, PrefabHour } from "../types";
|
|
3
3
|
export declare const generatePrefabHours: (timeFormat?: string) => PrefabHour[];
|
|
4
4
|
export declare const startOfUserWeek: (startDayOfWeekOffset: number, dateOrMoment: Date | Moment | string, timezone: string) => moment.Moment;
|
|
5
|
-
export declare const isAllDayOrSpansMidnight: (calendarEvent:
|
|
6
|
-
export declare const getDurationInDays: (calendarEvent:
|
|
5
|
+
export declare const isAllDayOrSpansMidnight: <T extends CalendarEvent>(calendarEvent: T, timezone: string) => boolean;
|
|
6
|
+
export declare const getDurationInDays: <T extends CalendarEvent>(calendarEvent: T, timezone: string) => number;
|
|
7
7
|
export declare const daysInRange: ({ startDate, endDate, timezone, }: {
|
|
8
8
|
startDate: Date | string;
|
|
9
9
|
endDate: Date | string;
|
|
10
10
|
timezone: string;
|
|
11
11
|
}) => string[];
|
|
12
|
-
export declare const getDuration: (calendarEvent:
|
|
12
|
+
export declare const getDuration: <T extends CalendarEvent>(calendarEvent: T, trueDuration?: boolean) => number;
|
|
13
13
|
export declare const computeCalendarDateRange: (date: string | Date | Moment, tz: string, viewType: "month" | "workweek" | "3day" | "1day" | "week", startDayOfWeekOffset: number) => {
|
|
14
14
|
basisDate: Date;
|
|
15
15
|
dayIndexes: number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/date-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,mBAAmB,gBAClB,MAAM,KACjB,UAAU,EAwBZ,CAAC;AAIF,eAAO,MAAM,eAAe,yBACJ,MAAM,gBACd,IAAI,GAAG,MAAM,GAAG,MAAM,YAC1B,MAAM,kBAejB,CAAC;AAEF,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/date-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,mBAAmB,gBAClB,MAAM,KACjB,UAAU,EAwBZ,CAAC;AAIF,eAAO,MAAM,eAAe,yBACJ,MAAM,gBACd,IAAI,GAAG,MAAM,GAAG,MAAM,YAC1B,MAAM,kBAejB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,aAAa,iBAC9C,CAAC,YACN,MAAM,YAiBjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,aAAa,iBACxC,CAAC,YACN,MAAM,WAcjB,CAAC;AAGF,eAAO,MAAM,WAAW,sCAIrB;IACD,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,aAqBA,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,iBAClC,CAAC,iBACD,OAAO,WAWvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAC7B,MAAM,GAAG,IAAI,GAAG,MAAM,MACxB,MAAM,YACA,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,wBACnC,MAAM;;;;;;;;;CAiE7B,CAAC;AAGF,eAAO,MAAM,kBAAkB,yCACS;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,wCAClC;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,YAgBzE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React, { type Ref } from "react";
|
|
1
2
|
import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "./types";
|
|
2
3
|
export * from "./types";
|
|
3
4
|
type EventCalenderProps<T extends CalendarEvent> = {
|
|
@@ -23,9 +24,12 @@ type EventCalenderProps<T extends CalendarEvent> = {
|
|
|
23
24
|
extraTimedComponents?: Config<T>["extraTimedComponents"];
|
|
24
25
|
onZoomChange?: Config<T>["onZoomChange"];
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
declare
|
|
27
|
+
export type EventCalendarMethods = {
|
|
28
|
+
scrollToTime: (minutes: number, animated?: boolean) => void;
|
|
29
|
+
};
|
|
30
|
+
declare function EventCalendarInner<T extends CalendarEvent>({ timeFormat, dayDate, events, initialZoomLevel, timezone, userCalendarId, maxAllDayEvents, updateLocalStateAfterEdit, canCreateEvents, canEditEvent, ...props }: EventCalenderProps<T>, ref: Ref<EventCalendarMethods>): React.JSX.Element;
|
|
31
|
+
declare const EventCalendar: <T extends CalendarEvent>(props: EventCalenderProps<T> & {
|
|
32
|
+
ref?: Ref<EventCalendarMethods>;
|
|
33
|
+
}) => ReturnType<typeof EventCalendarInner>;
|
|
30
34
|
export default EventCalendar;
|
|
31
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAEZ,KAAK,GAAG,EAIT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEhF,cAAc,SAAS,CAAC;AAExB,KAAK,kBAAkB,CAAC,CAAC,SAAS,aAAa,IAAI;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAwBF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D,CAAC;AA2GF,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACjD,EACE,UAAoB,EACpB,OAAO,EACP,MAAM,EACN,gBAAwC,EACxC,QAAgB,EAChB,cAAmB,EACnB,eAAmB,EACnB,yBAAgC,EAChC,eAAsB,EACtB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,qBAkC/B;AAED,QAAA,MAAM,aAAa,EAAqC,CACtD,CAAC,SAAS,aAAa,EAEvB,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,KAC/D,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE3C,eAAe,aAAa,CAAC"}
|
|
@@ -2,14 +2,14 @@ import moment, { type Moment } from "moment-timezone";
|
|
|
2
2
|
import { CalendarEvent, PrefabHour } from "../types";
|
|
3
3
|
export declare const generatePrefabHours: (timeFormat?: string) => PrefabHour[];
|
|
4
4
|
export declare const startOfUserWeek: (startDayOfWeekOffset: number, dateOrMoment: Date | Moment | string, timezone: string) => moment.Moment;
|
|
5
|
-
export declare const isAllDayOrSpansMidnight: (calendarEvent:
|
|
6
|
-
export declare const getDurationInDays: (calendarEvent:
|
|
5
|
+
export declare const isAllDayOrSpansMidnight: <T extends CalendarEvent>(calendarEvent: T, timezone: string) => boolean;
|
|
6
|
+
export declare const getDurationInDays: <T extends CalendarEvent>(calendarEvent: T, timezone: string) => number;
|
|
7
7
|
export declare const daysInRange: ({ startDate, endDate, timezone, }: {
|
|
8
8
|
startDate: Date | string;
|
|
9
9
|
endDate: Date | string;
|
|
10
10
|
timezone: string;
|
|
11
11
|
}) => string[];
|
|
12
|
-
export declare const getDuration: (calendarEvent:
|
|
12
|
+
export declare const getDuration: <T extends CalendarEvent>(calendarEvent: T, trueDuration?: boolean) => number;
|
|
13
13
|
export declare const computeCalendarDateRange: (date: string | Date | Moment, tz: string, viewType: "month" | "workweek" | "3day" | "1day" | "week", startDayOfWeekOffset: number) => {
|
|
14
14
|
basisDate: Date;
|
|
15
15
|
dayIndexes: number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/date-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,mBAAmB,gBAClB,MAAM,KACjB,UAAU,EAwBZ,CAAC;AAIF,eAAO,MAAM,eAAe,yBACJ,MAAM,gBACd,IAAI,GAAG,MAAM,GAAG,MAAM,YAC1B,MAAM,kBAejB,CAAC;AAEF,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/date-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,mBAAmB,gBAClB,MAAM,KACjB,UAAU,EAwBZ,CAAC;AAIF,eAAO,MAAM,eAAe,yBACJ,MAAM,gBACd,IAAI,GAAG,MAAM,GAAG,MAAM,YAC1B,MAAM,kBAejB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,aAAa,iBAC9C,CAAC,YACN,MAAM,YAiBjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,aAAa,iBACxC,CAAC,YACN,MAAM,WAcjB,CAAC;AAGF,eAAO,MAAM,WAAW,sCAIrB;IACD,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,aAqBA,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,iBAClC,CAAC,iBACD,OAAO,WAWvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAC7B,MAAM,GAAG,IAAI,GAAG,MAAM,MACxB,MAAM,YACA,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,wBACnC,MAAM;;;;;;;;;CAiE7B,CAAC;AAGF,eAAO,MAAM,kBAAkB,yCACS;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,wCAClC;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,YAgBzE,CAAC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -6,7 +6,13 @@ import ZoomProvider from "./components/zoom-provider";
|
|
|
6
6
|
import TimedEvents from "./components/timed-events";
|
|
7
7
|
import { ConfigProvider, DEFAULT_MINUTE_HEIGHT } from "./utils/globals";
|
|
8
8
|
import moment, { type Moment } from "moment-timezone";
|
|
9
|
-
import
|
|
9
|
+
import React, {
|
|
10
|
+
forwardRef,
|
|
11
|
+
type Ref,
|
|
12
|
+
useImperativeHandle,
|
|
13
|
+
useMemo,
|
|
14
|
+
useRef,
|
|
15
|
+
} from "react";
|
|
10
16
|
import { GestureRef } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gesture";
|
|
11
17
|
import { IsEditingProvider } from "./hooks/use-is-editing";
|
|
12
18
|
import { EventsProvider, useEvents } from "./hooks/use-events";
|
|
@@ -59,32 +65,59 @@ type EventCalenderContentProps<T extends CalendarEvent> = {
|
|
|
59
65
|
extraTimedComponents?: Config<T>["extraTimedComponents"];
|
|
60
66
|
onZoomChange?: Config<T>["onZoomChange"];
|
|
61
67
|
};
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
68
|
+
|
|
69
|
+
export type EventCalendarMethods = {
|
|
70
|
+
scrollToTime: (minutes: number, animated?: boolean) => void;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
function EventCalendarContentInner<T extends CalendarEvent>(
|
|
74
|
+
{
|
|
75
|
+
canCreateEvents,
|
|
76
|
+
canEditEvent,
|
|
77
|
+
fiveMinuteInterval,
|
|
78
|
+
initialZoomLevel,
|
|
79
|
+
maxAllDayEvents,
|
|
80
|
+
onCreateEvent,
|
|
81
|
+
onEventEdit,
|
|
82
|
+
onPressEvent,
|
|
83
|
+
renderDragBars,
|
|
84
|
+
renderEvent,
|
|
85
|
+
renderNewEventContainer,
|
|
86
|
+
showTimeIndicator,
|
|
87
|
+
theme,
|
|
88
|
+
timeFormat,
|
|
89
|
+
timezone,
|
|
90
|
+
updateLocalStateAfterEdit,
|
|
91
|
+
extraTimedComponents,
|
|
92
|
+
onZoomChange,
|
|
93
|
+
startCalendarDate,
|
|
94
|
+
}: EventCalenderContentProps<T>,
|
|
95
|
+
refMethods: Ref<EventCalendarMethods>
|
|
96
|
+
) {
|
|
83
97
|
const zoomLevel = useSharedValue(initialZoomLevel);
|
|
84
98
|
const createY = useSharedValue(-1);
|
|
85
99
|
const maximumHour = useSharedValue(0);
|
|
86
100
|
|
|
87
101
|
const refNewEvent = useRef<GestureRef>(null);
|
|
102
|
+
const refScrollView = useRef<ScrollView>(null);
|
|
103
|
+
|
|
104
|
+
useImperativeHandle(
|
|
105
|
+
refMethods,
|
|
106
|
+
() => ({
|
|
107
|
+
scrollToTime: (time: number, animated = true) => {
|
|
108
|
+
console.info("scrollToTime called with:", {
|
|
109
|
+
time,
|
|
110
|
+
animated,
|
|
111
|
+
zoomLevel: zoomLevel.value,
|
|
112
|
+
});
|
|
113
|
+
refScrollView.current?.scrollTo({
|
|
114
|
+
y: time * zoomLevel.value,
|
|
115
|
+
animated,
|
|
116
|
+
});
|
|
117
|
+
},
|
|
118
|
+
}),
|
|
119
|
+
[zoomLevel]
|
|
120
|
+
);
|
|
88
121
|
|
|
89
122
|
const { eventsLayout } = useEvents();
|
|
90
123
|
|
|
@@ -122,6 +155,7 @@ const EventCalendarContent = <T extends CalendarEvent>({
|
|
|
122
155
|
bounces={false}
|
|
123
156
|
keyboardShouldPersistTaps="always"
|
|
124
157
|
style={[styles.scrollView, theme?.scrollView]}
|
|
158
|
+
ref={refScrollView}
|
|
125
159
|
>
|
|
126
160
|
<IsEditingProvider>
|
|
127
161
|
<ZoomProvider ref={refNewEvent}>
|
|
@@ -133,24 +167,30 @@ const EventCalendarContent = <T extends CalendarEvent>({
|
|
|
133
167
|
</ConfigProvider.Provider>
|
|
134
168
|
</View>
|
|
135
169
|
);
|
|
136
|
-
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const EventCalendarContent = forwardRef(EventCalendarContentInner) as <
|
|
173
|
+
T extends CalendarEvent,
|
|
174
|
+
>(
|
|
175
|
+
props: EventCalenderContentProps<T> & { ref?: Ref<EventCalendarMethods> }
|
|
176
|
+
) => ReturnType<typeof EventCalendarContentInner>;
|
|
137
177
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
178
|
+
function EventCalendarInner<T extends CalendarEvent>(
|
|
179
|
+
{
|
|
180
|
+
timeFormat = "HH:mm",
|
|
181
|
+
dayDate,
|
|
182
|
+
events,
|
|
183
|
+
initialZoomLevel = DEFAULT_MINUTE_HEIGHT,
|
|
184
|
+
timezone = "UTC",
|
|
185
|
+
userCalendarId = "",
|
|
186
|
+
maxAllDayEvents = 2,
|
|
187
|
+
updateLocalStateAfterEdit = true,
|
|
188
|
+
canCreateEvents = true,
|
|
189
|
+
canEditEvent = true,
|
|
190
|
+
...props
|
|
191
|
+
}: EventCalenderProps<T>,
|
|
192
|
+
ref: Ref<EventCalendarMethods>
|
|
193
|
+
) {
|
|
154
194
|
const startCalendarDate = useMemo(
|
|
155
195
|
() => moment.tz(dayDate, timezone).startOf("day"),
|
|
156
196
|
[dayDate, timezone]
|
|
@@ -170,6 +210,7 @@ const EventCalendar = <T extends CalendarEvent>({
|
|
|
170
210
|
updateLocalStateAfterEdit={!!updateLocalStateAfterEdit}
|
|
171
211
|
>
|
|
172
212
|
<EventCalendarContent
|
|
213
|
+
ref={ref} // <--- CHANGED: pass forwarded ref down
|
|
173
214
|
{...props}
|
|
174
215
|
timeFormat={timeFormat}
|
|
175
216
|
initialZoomLevel={initialZoomLevel}
|
|
@@ -182,7 +223,15 @@ const EventCalendar = <T extends CalendarEvent>({
|
|
|
182
223
|
/>
|
|
183
224
|
</EventsProvider>
|
|
184
225
|
);
|
|
185
|
-
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
const EventCalendar = forwardRef(EventCalendarInner) as <
|
|
229
|
+
T extends CalendarEvent,
|
|
230
|
+
>(
|
|
231
|
+
props: EventCalenderProps<T> & { ref?: Ref<EventCalendarMethods> }
|
|
232
|
+
) => ReturnType<typeof EventCalendarInner>;
|
|
233
|
+
|
|
234
|
+
export default EventCalendar;
|
|
186
235
|
|
|
187
236
|
const styles = StyleSheet.create({
|
|
188
237
|
container: {
|
|
@@ -207,5 +256,3 @@ const styles = StyleSheet.create({
|
|
|
207
256
|
borderColor: "black",
|
|
208
257
|
},
|
|
209
258
|
});
|
|
210
|
-
|
|
211
|
-
export default EventCalendar;
|
package/src/utils/date-utils.ts
CHANGED
|
@@ -52,8 +52,8 @@ export const startOfUserWeek = (
|
|
|
52
52
|
.isoWeekday(startDayOfWeekOffset);
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
export const isAllDayOrSpansMidnight = (
|
|
56
|
-
calendarEvent:
|
|
55
|
+
export const isAllDayOrSpansMidnight = <T extends CalendarEvent>(
|
|
56
|
+
calendarEvent: T,
|
|
57
57
|
timezone: string
|
|
58
58
|
) => {
|
|
59
59
|
const { start, end, isAllDay } = calendarEvent;
|
|
@@ -74,8 +74,8 @@ export const isAllDayOrSpansMidnight = (
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
// Returns the count of unique dates in the provided timezone
|
|
77
|
-
export const getDurationInDays = (
|
|
78
|
-
calendarEvent:
|
|
77
|
+
export const getDurationInDays = <T extends CalendarEvent>(
|
|
78
|
+
calendarEvent: T,
|
|
79
79
|
timezone: string
|
|
80
80
|
) => {
|
|
81
81
|
// the event duration in days calculation depends on if the event is all day
|
|
@@ -124,8 +124,8 @@ export const daysInRange = ({
|
|
|
124
124
|
return days;
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
-
export const getDuration = (
|
|
128
|
-
calendarEvent:
|
|
127
|
+
export const getDuration = <T extends CalendarEvent>(
|
|
128
|
+
calendarEvent: T,
|
|
129
129
|
trueDuration?: boolean
|
|
130
130
|
) => {
|
|
131
131
|
const minDiff =
|