@sunsama/event-calendar 0.5.5 → 0.7.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 CHANGED
@@ -64,39 +64,41 @@ Edit mode:
64
64
  - Tap event: Stops edit mode.
65
65
 
66
66
  ## Props
67
- | Prop | Type | Required | Default | Description |
68
- |-----------------------------|-------------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
69
- | `events` | `CalendarEvent[]` | Yes | | List of event objects. |
70
- | `dayDate` | `String` | Yes | | The current date of the calendar in ISO string. |
71
- | `renderEvent` | `Function` | Yes | | Custom renderer for event components. |
72
- | `onCreateEvent` | `Function` | No | | Callback triggered when a new event is created. |
73
- | `onPressEvent` | `Function` | No | | Callback triggered when an event is pressed. |
74
- | `userCalendarId` | `String` | No | | The primary calendar ID for event sorting. |
75
- | `timeFormat` | `String` | No | HH:mm | Defines the time format used in the calendar. See [moment.js](https://momentjs.com/docs/#/displaying/) documentation for examples. |
76
- | `showTimeIndicator` | `Boolean` | No | False | Displays a line showing the current time. |
77
- | `canCreateEvents` | `Boolean` | No | True | Allows users to create new events. |
78
- | `canEditEvent` | `Function` or `Boolean` | No | True | Determines if an event is editable. You can supply a function to do this deterministically. |
79
- | `maxAllDayEvents` | `Number` | No | 2 | Sets the maximum number of all-day events displayed before showing a 'show more' option. |
80
- | `timezone` | `String` | No | UTC | Defines the timezone for event times. |
81
- | `renderDragBars` | `Object` | No | | Custom drag handles for resizing events. |
82
- | `onEventEdit` | `Function` | No | | Callback triggered when an event is edited. |
83
- | `theme` | `Object` | No | | Allows overriding default calendar themes. |
84
- | `initialZoomLevel` | `Number` | No | 0.8 | Defines the initial zoom level of the calendar. |
85
- | `defaultZoomLevel` | `Number` | No | 0.8 | Defines the default zoom level of the calendar. This is used to determine the zoom level when you double-tap the calendar and the height of all-day events. |
86
- | `minZoomLevel` | `Number` | No | 0.54 | Defines the minimum zoom level of the calendar. |
87
- | `maxZoomLevel` | `Number` | No | 3 | Defines the maximum zoom level of the calendar. |
88
- | `renderNewEventContainer` | `Function` | No | | Custom UI for new event creation. If none supplied it will show a semi-transparent bar you can theme. |
89
- | `fiveMinuteInterval` | `Boolean` | No | False | Ensures event snapping to 5-minute increments. |
90
- | `updateLocalStateAfterEdit` | `Boolean` | No | True | Optimistically updates local state after event editing. |
91
- | `extraTimedComponents` | `Function` | No | | Allows rendering extra components in the calendar. These will be rendered before all the timed events. |
92
- | `onZoomChange` | `Function` | No | | Callback triggered when the zoom level changes. |
67
+ | Prop | Type | Required | Default | Description |
68
+ |-----------------------------|-------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
69
+ | `events` | `CalendarEvent[]` | Yes | | List of event objects. |
70
+ | `dayDate` | `String` | Yes | | The current date of the calendar in ISO string. |
71
+ | `renderEvent` | `Function` | Yes | | Custom renderer for event components. |
72
+ | `onCreateEvent` | `Function` | No | | Callback triggered when a new event is created. |
73
+ | `onPressEvent` | `Function` | No | | Callback triggered when an event is pressed. |
74
+ | `userCalendarId` | `String` | No | | The primary calendar ID for event sorting. |
75
+ | `timeFormat` | `String` | No | HH:mm | Defines the time format used in the calendar. See [moment.js](https://momentjs.com/docs/#/displaying/) documentation for examples. |
76
+ | `showTimeIndicator` | `Boolean` | No | False | Displays a line showing the current time. |
77
+ | `canCreateEvents` | `Boolean` | No | True | Allows users to create new events. |
78
+ | `canEditEvent` | `Function` or `Boolean` | No | True | Determines if an event is editable. You can supply a function to do this deterministically. |
79
+ | `maxAllDayEvents` | `Number` | No | 2 | Sets the maximum number of all-day events displayed before showing a 'show more' option. |
80
+ | `timezone` | `String` | No | UTC | Defines the timezone for event times. |
81
+ | `renderDragBars` | `Object` | No | | Custom drag handles for resizing events. |
82
+ | `onEventEdit` | `Function` | No | | Callback triggered when an event is edited. |
83
+ | `theme` | `Object` | No | | Allows overriding default calendar themes. |
84
+ | `initialZoomLevel` | `Number` | No | 0.8 | Defines the initial zoom level of the calendar. |
85
+ | `defaultZoomLevel` | `Number` | No | 0.8 | Defines the default zoom level of the calendar. This is used to determine the zoom level when you double-tap the calendar and the height of all-day events. |
86
+ | `minZoomLevel` | `Number` | No | 0.54 | Defines the minimum zoom level of the calendar. |
87
+ | `maxZoomLevel` | `Number` | No | 3 | Defines the maximum zoom level of the calendar. |
88
+ | `renderNewEventContainer` | `Function` | No | | Custom UI for new event creation. If none supplied it will show a semi-transparent bar you can theme. |
89
+ | `fiveMinuteInterval` | `Boolean` | No | False | Ensures event snapping to 5-minute increments. |
90
+ | `updateLocalStateAfterEdit` | `Boolean` | No | True | Optimistically updates local state after event editing. |
91
+ | `extraTimedComponents` | `Function` | No | | Allows rendering extra components in the calendar. These will be rendered before all the timed events. |
92
+ | `onZoomChange` | `Function` | No | | Callback triggered when the zoom level changes. |
93
+ | `onScroll` | `Function` | No | | Callback returning the current Y position the user has scrolled to. |
93
94
 
94
95
  ## Methods
95
96
  The Event Calendar component exposes the following methods through the reference:
96
97
 
97
- | Method | Description |
98
- |----------------|-------------------------------------------------------------------------|
99
- | `scrollToTime` | Scrolls the calendar to the specified time (in minutes since midnight). |
98
+ | Method | Description |
99
+ |------------------|-------------------------------------------------------------------------------------------|
100
+ | `scrollToTime` | Scrolls the calendar to the specified time (in minutes since midnight). |
101
+ | `scrollToOffset` | Scrolls the calendar to the specified Y position (useful in combination with `onScroll`). |
100
102
 
101
103
  ## Dependencies
102
104
  Ensure you have the following dependencies installed for proper functionality:
@@ -54,7 +54,8 @@ function EventCalendarContentInner({
54
54
  updateLocalStateAfterEdit,
55
55
  extraTimedComponents,
56
56
  onZoomChange,
57
- startCalendarDate
57
+ startCalendarDate,
58
+ onScroll
58
59
  }, refMethods) {
59
60
  const zoomLevel = (0, _reactNativeReanimated.useSharedValue)(initialZoomLevel || defaultZoomLevel);
60
61
  const createY = (0, _reactNativeReanimated.useSharedValue)(-1);
@@ -71,8 +72,17 @@ function EventCalendarContentInner({
71
72
  y: time * zoomLevel.value - refScrollViewHeight.current / offset,
72
73
  animated
73
74
  });
75
+ },
76
+ scrollToOffset: (y, animated = true) => {
77
+ refScrollView.current?.scrollTo({
78
+ y,
79
+ animated
80
+ });
74
81
  }
75
82
  }), [zoomLevel]);
83
+ const onScrollFeedback = (0, _react.useCallback)(event => {
84
+ onScroll && onScroll(event.nativeEvent.contentOffset.y);
85
+ }, [onScroll]);
76
86
  const {
77
87
  eventsLayout
78
88
  } = (0, _useEvents.useEvents)();
@@ -113,6 +123,7 @@ function EventCalendarContentInner({
113
123
  keyboardShouldPersistTaps: "always",
114
124
  style: [styles.scrollView, theme?.scrollView],
115
125
  ref: refScrollView,
126
+ onScroll: onScrollFeedback,
116
127
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useIsEditing.IsEditingProvider, {
117
128
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_zoomProvider.default, {
118
129
  ref: refNewEvent,
@@ -1 +1 @@
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","defaultZoomLevel","minZoomLevel","maxZoomLevel","maxAllDayEvents","onCreateEvent","onEventEdit","onPressEvent","renderDragBars","renderEvent","renderNewEventContainer","showTimeIndicator","theme","timeFormat","timezone","updateLocalStateAfterEdit","extraTimedComponents","onZoomChange","startCalendarDate","refMethods","zoomLevel","useSharedValue","createY","maximumHour","refNewEvent","useRef","refScrollView","refScrollViewHeight","onLayoutScrollView","useCallback","event","current","nativeEvent","layout","height","useImperativeHandle","scrollToTime","time","animated","offset","scrollTo","y","value","eventsLayout","useEvents","jsx","View","style","styles","container","children","jsxs","ConfigProvider","Provider","dayDate","ScrollView","onLayout","bounces","keyboardShouldPersistTaps","scrollView","ref","IsEditingProvider","borderContainer","EventCalendarContent","forwardRef","EventCalendarInner","DEFAULT_TIME_FORMAT","events","DEFAULT_MINUTE_HEIGHT","DEFAULT_TIMEZONE","userCalendarId","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","props","useMemo","moment","tz","startOf","EventsProvider","initialProps","format","calendarViewInterval","endCalendarDate","startDayOfWeekOffset","EventCalendar","_default","StyleSheet","create","flex","borderTopWidth","hairlineWidth","borderTopColor","overflow","paddingTop","backgroundColor","position","left","top","width","borderLeftWidth","borderColor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
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","defaultZoomLevel","minZoomLevel","maxZoomLevel","maxAllDayEvents","onCreateEvent","onEventEdit","onPressEvent","renderDragBars","renderEvent","renderNewEventContainer","showTimeIndicator","theme","timeFormat","timezone","updateLocalStateAfterEdit","extraTimedComponents","onZoomChange","startCalendarDate","onScroll","refMethods","zoomLevel","useSharedValue","createY","maximumHour","refNewEvent","useRef","refScrollView","refScrollViewHeight","onLayoutScrollView","useCallback","event","current","nativeEvent","layout","height","useImperativeHandle","scrollToTime","time","animated","offset","scrollTo","y","value","scrollToOffset","onScrollFeedback","contentOffset","eventsLayout","useEvents","jsx","View","style","styles","container","children","jsxs","ConfigProvider","Provider","dayDate","ScrollView","onLayout","bounces","keyboardShouldPersistTaps","scrollView","ref","IsEditingProvider","borderContainer","EventCalendarContent","forwardRef","EventCalendarInner","DEFAULT_TIME_FORMAT","events","DEFAULT_MINUTE_HEIGHT","DEFAULT_TIMEZONE","userCalendarId","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","props","useMemo","moment","tz","startOf","EventsProvider","initialProps","format","calendarViewInterval","endCalendarDate","startDayOfWeekOffset","EventCalendar","_default","StyleSheet","create","flex","borderTopWidth","hairlineWidth","borderTopColor","overflow","paddingTop","backgroundColor","position","left","top","width","borderLeftWidth","borderColor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -35,7 +35,8 @@ function EventCalendarContentInner({
35
35
  updateLocalStateAfterEdit,
36
36
  extraTimedComponents,
37
37
  onZoomChange,
38
- startCalendarDate
38
+ startCalendarDate,
39
+ onScroll
39
40
  }, refMethods) {
40
41
  const zoomLevel = useSharedValue(initialZoomLevel || defaultZoomLevel);
41
42
  const createY = useSharedValue(-1);
@@ -52,8 +53,17 @@ function EventCalendarContentInner({
52
53
  y: time * zoomLevel.value - refScrollViewHeight.current / offset,
53
54
  animated
54
55
  });
56
+ },
57
+ scrollToOffset: (y, animated = true) => {
58
+ refScrollView.current?.scrollTo({
59
+ y,
60
+ animated
61
+ });
55
62
  }
56
63
  }), [zoomLevel]);
64
+ const onScrollFeedback = useCallback(event => {
65
+ onScroll && onScroll(event.nativeEvent.contentOffset.y);
66
+ }, [onScroll]);
57
67
  const {
58
68
  eventsLayout
59
69
  } = useEvents();
@@ -94,6 +104,7 @@ function EventCalendarContentInner({
94
104
  keyboardShouldPersistTaps: "always",
95
105
  style: [styles.scrollView, theme?.scrollView],
96
106
  ref: refScrollView,
107
+ onScroll: onScrollFeedback,
97
108
  children: /*#__PURE__*/_jsx(IsEditingProvider, {
98
109
  children: /*#__PURE__*/_jsxs(ZoomProvider, {
99
110
  ref: refNewEvent,
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","View","AllDayEvents","ScrollView","useSharedValue","ZoomProvider","TimedEvents","ConfigProvider","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_MAX_ZOOM","DEFAULT_MIN_ZOOM","DEFAULT_MINUTE_HEIGHT","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","moment","React","forwardRef","useCallback","useImperativeHandle","useMemo","useRef","IsEditingProvider","EventsProvider","useEvents","jsx","_jsx","jsxs","_jsxs","EventCalendarContentInner","canCreateEvents","canEditEvent","fiveMinuteInterval","initialZoomLevel","defaultZoomLevel","minZoomLevel","maxZoomLevel","maxAllDayEvents","onCreateEvent","onEventEdit","onPressEvent","renderDragBars","renderEvent","renderNewEventContainer","showTimeIndicator","theme","timeFormat","timezone","updateLocalStateAfterEdit","extraTimedComponents","onZoomChange","startCalendarDate","refMethods","zoomLevel","createY","maximumHour","refNewEvent","refScrollView","refScrollViewHeight","onLayoutScrollView","event","current","nativeEvent","layout","height","scrollToTime","time","animated","offset","scrollTo","y","value","eventsLayout","style","styles","container","children","Provider","dayDate","onLayout","bounces","keyboardShouldPersistTaps","scrollView","ref","borderContainer","EventCalendarContent","EventCalendarInner","events","userCalendarId","props","tz","startOf","initialProps","format","calendarViewInterval","endCalendarDate","startDayOfWeekOffset","EventCalendar","create","flex","borderTopWidth","hairlineWidth","borderTopColor","overflow","paddingTop","backgroundColor","position","left","top","width","borderLeftWidth","borderColor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","View","AllDayEvents","ScrollView","useSharedValue","ZoomProvider","TimedEvents","ConfigProvider","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_MAX_ZOOM","DEFAULT_MIN_ZOOM","DEFAULT_MINUTE_HEIGHT","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","moment","React","forwardRef","useCallback","useImperativeHandle","useMemo","useRef","IsEditingProvider","EventsProvider","useEvents","jsx","_jsx","jsxs","_jsxs","EventCalendarContentInner","canCreateEvents","canEditEvent","fiveMinuteInterval","initialZoomLevel","defaultZoomLevel","minZoomLevel","maxZoomLevel","maxAllDayEvents","onCreateEvent","onEventEdit","onPressEvent","renderDragBars","renderEvent","renderNewEventContainer","showTimeIndicator","theme","timeFormat","timezone","updateLocalStateAfterEdit","extraTimedComponents","onZoomChange","startCalendarDate","onScroll","refMethods","zoomLevel","createY","maximumHour","refNewEvent","refScrollView","refScrollViewHeight","onLayoutScrollView","event","current","nativeEvent","layout","height","scrollToTime","time","animated","offset","scrollTo","y","value","scrollToOffset","onScrollFeedback","contentOffset","eventsLayout","style","styles","container","children","Provider","dayDate","onLayout","bounces","keyboardShouldPersistTaps","scrollView","ref","borderContainer","EventCalendarContent","EventCalendarInner","events","userCalendarId","props","tz","startOf","initialProps","format","calendarViewInterval","endCalendarDate","startDayOfWeekOffset","EventCalendar","create","flex","borderTopWidth","hairlineWidth","borderTopColor","overflow","paddingTop","backgroundColor","position","left","top","width","borderLeftWidth","borderColor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import React, { type Ref } from "react";
2
2
  import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "./types";
3
3
  export * from "./types";
4
4
  type EventCalenderProps<T extends CalendarEvent> = {
5
+ onScroll?: (y: number) => void;
5
6
  canCreateEvents?: boolean;
6
7
  canEditEvent?: Config<T>["canEditEvent"];
7
8
  dayDate: string;
@@ -29,6 +30,7 @@ type EventCalenderProps<T extends CalendarEvent> = {
29
30
  };
30
31
  export type EventCalendarMethods = {
31
32
  scrollToTime: (minutes: number, animated?: boolean, offset?: number) => void;
33
+ scrollToOffset: (y: number, animated?: boolean) => void;
32
34
  };
33
35
  declare function EventCalendarInner<T extends CalendarEvent>({ timeFormat, dayDate, events, defaultZoomLevel, timezone, userCalendarId, maxAllDayEvents, minZoomLevel, maxZoomLevel, updateLocalStateAfterEdit, canCreateEvents, canEditEvent, ...props }: EventCalenderProps<T>, ref: Ref<EventCalendarMethods>): React.JSX.Element;
34
36
  declare const EventCalendar: <T extends CalendarEvent>(props: EventCalenderProps<T> & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,EAEZ,KAAK,GAAG,EAKT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhF,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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;AA2BF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9E,CAAC;AAkHF,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACjD,EACE,UAAgC,EAChC,OAAO,EACP,MAAM,EACN,gBAAwC,EACxC,QAA2B,EAC3B,cAAmB,EACnB,eAA4C,EAC5C,YAA+B,EAC/B,YAA+B,EAC/B,yBAAgC,EAChC,eAAsB,EACtB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,qBAoC/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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,EAEZ,KAAK,GAAG,EAKT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOhF,cAAc,SAAS,CAAC;AAExB,KAAK,kBAAkB,CAAC,CAAC,SAAS,aAAa,IAAI;IACjD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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;AA4BF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD,CAAC;AAiIF,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACjD,EACE,UAAgC,EAChC,OAAO,EACP,MAAM,EACN,gBAAwC,EACxC,QAA2B,EAC3B,cAAmB,EACnB,eAA4C,EAC5C,YAA+B,EAC/B,YAA+B,EAC/B,yBAAgC,EAChC,eAAsB,EACtB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,qBAoC/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,6 +2,7 @@ import React, { type Ref } from "react";
2
2
  import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "./types";
3
3
  export * from "./types";
4
4
  type EventCalenderProps<T extends CalendarEvent> = {
5
+ onScroll?: (y: number) => void;
5
6
  canCreateEvents?: boolean;
6
7
  canEditEvent?: Config<T>["canEditEvent"];
7
8
  dayDate: string;
@@ -29,6 +30,7 @@ type EventCalenderProps<T extends CalendarEvent> = {
29
30
  };
30
31
  export type EventCalendarMethods = {
31
32
  scrollToTime: (minutes: number, animated?: boolean, offset?: number) => void;
33
+ scrollToOffset: (y: number, animated?: boolean) => void;
32
34
  };
33
35
  declare function EventCalendarInner<T extends CalendarEvent>({ timeFormat, dayDate, events, defaultZoomLevel, timezone, userCalendarId, maxAllDayEvents, minZoomLevel, maxZoomLevel, updateLocalStateAfterEdit, canCreateEvents, canEditEvent, ...props }: EventCalenderProps<T>, ref: Ref<EventCalendarMethods>): React.JSX.Element;
34
36
  declare const EventCalendar: <T extends CalendarEvent>(props: EventCalenderProps<T> & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,EAEZ,KAAK,GAAG,EAKT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGhF,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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;AA2BF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9E,CAAC;AAkHF,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACjD,EACE,UAAgC,EAChC,OAAO,EACP,MAAM,EACN,gBAAwC,EACxC,QAA2B,EAC3B,cAAmB,EACnB,eAA4C,EAC5C,YAA+B,EAC/B,YAA+B,EAC/B,yBAAgC,EAChC,eAAsB,EACtB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,qBAoC/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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,EAEZ,KAAK,GAAG,EAKT,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOhF,cAAc,SAAS,CAAC;AAExB,KAAK,kBAAkB,CAAC,CAAC,SAAS,aAAa,IAAI;IACjD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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;AA4BF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD,CAAC;AAiIF,iBAAS,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACjD,EACE,UAAgC,EAChC,OAAO,EACP,MAAM,EACN,gBAAwC,EACxC,QAA2B,EAC3B,cAAmB,EACnB,eAA4C,EAC5C,YAA+B,EAC/B,YAA+B,EAC/B,yBAAgC,EAChC,eAAsB,EACtB,YAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,GAAG,CAAC,oBAAoB,CAAC,qBAoC/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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsama/event-calendar",
3
- "version": "0.5.5",
3
+ "version": "0.7.0",
4
4
  "description": "Event calendar.",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
package/src/index.tsx CHANGED
@@ -26,11 +26,16 @@ import { GestureRef } from "react-native-gesture-handler/lib/typescript/handlers
26
26
  import { IsEditingProvider } from "./hooks/use-is-editing";
27
27
  import { EventsProvider, useEvents } from "./hooks/use-events";
28
28
  import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "./types";
29
- import { LayoutChangeEvent } from "react-native/Libraries/Types/CoreEventTypes";
29
+ import {
30
+ LayoutChangeEvent,
31
+ NativeSyntheticEvent,
32
+ } from "react-native/Libraries/Types/CoreEventTypes";
33
+ import type { NativeScrollEvent } from "react-native/Libraries/Components/ScrollView/ScrollView";
30
34
 
31
35
  export * from "./types";
32
36
 
33
37
  type EventCalenderProps<T extends CalendarEvent> = {
38
+ onScroll?: (y: number) => void;
34
39
  canCreateEvents?: boolean;
35
40
  canEditEvent?: Config<T>["canEditEvent"];
36
41
  dayDate: string;
@@ -58,6 +63,7 @@ type EventCalenderProps<T extends CalendarEvent> = {
58
63
  };
59
64
 
60
65
  type EventCalenderContentProps<T extends CalendarEvent> = {
66
+ onScroll?: (y: number) => void;
61
67
  canCreateEvents: boolean;
62
68
  canEditEvent: Config<T>["canEditEvent"];
63
69
  startCalendarDate: Moment;
@@ -84,6 +90,7 @@ type EventCalenderContentProps<T extends CalendarEvent> = {
84
90
 
85
91
  export type EventCalendarMethods = {
86
92
  scrollToTime: (minutes: number, animated?: boolean, offset?: number) => void;
93
+ scrollToOffset: (y: number, animated?: boolean) => void;
87
94
  };
88
95
 
89
96
  function EventCalendarContentInner<T extends CalendarEvent>(
@@ -110,6 +117,7 @@ function EventCalendarContentInner<T extends CalendarEvent>(
110
117
  extraTimedComponents,
111
118
  onZoomChange,
112
119
  startCalendarDate,
120
+ onScroll,
113
121
  }: EventCalenderContentProps<T>,
114
122
  refMethods: Ref<EventCalendarMethods>
115
123
  ) {
@@ -134,10 +142,23 @@ function EventCalendarContentInner<T extends CalendarEvent>(
134
142
  animated,
135
143
  });
136
144
  },
145
+ scrollToOffset: (y: number, animated = true) => {
146
+ refScrollView.current?.scrollTo({
147
+ y,
148
+ animated,
149
+ });
150
+ },
137
151
  }),
138
152
  [zoomLevel]
139
153
  );
140
154
 
155
+ const onScrollFeedback = useCallback(
156
+ (event: NativeSyntheticEvent<NativeScrollEvent>) => {
157
+ onScroll && onScroll(event.nativeEvent.contentOffset.y);
158
+ },
159
+ [onScroll]
160
+ );
161
+
141
162
  const { eventsLayout } = useEvents();
142
163
 
143
164
  return (
@@ -179,6 +200,7 @@ function EventCalendarContentInner<T extends CalendarEvent>(
179
200
  keyboardShouldPersistTaps="always"
180
201
  style={[styles.scrollView, theme?.scrollView]}
181
202
  ref={refScrollView}
203
+ onScroll={onScrollFeedback}
182
204
  >
183
205
  <IsEditingProvider>
184
206
  <ZoomProvider ref={refNewEvent}>