@sunsama/event-calendar 0.10.2 → 0.10.4

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 (39) hide show
  1. package/lib/commonjs/components/drag-bar.js +6 -2
  2. package/lib/commonjs/components/drag-bar.js.map +1 -1
  3. package/lib/commonjs/components/edit-event-container.js +34 -6
  4. package/lib/commonjs/components/edit-event-container.js.map +1 -1
  5. package/lib/commonjs/hooks/use-is-editing.js +2 -26
  6. package/lib/commonjs/hooks/use-is-editing.js.map +1 -1
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/utils/pan-edit-event-gesture.js +1 -1
  9. package/lib/module/components/drag-bar.js +6 -2
  10. package/lib/module/components/drag-bar.js.map +1 -1
  11. package/lib/module/components/edit-event-container.js +35 -7
  12. package/lib/module/components/edit-event-container.js.map +1 -1
  13. package/lib/module/hooks/use-is-editing.js +3 -27
  14. package/lib/module/hooks/use-is-editing.js.map +1 -1
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/utils/pan-edit-event-gesture.js +1 -1
  17. package/lib/typescript/commonjs/components/drag-bar.d.ts.map +1 -1
  18. package/lib/typescript/commonjs/components/edit-event-container.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/hooks/use-is-editing.d.ts +3 -6
  20. package/lib/typescript/commonjs/hooks/use-is-editing.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/index.d.ts +16 -14
  22. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  23. package/lib/typescript/commonjs/types.d.ts +6 -2
  24. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  25. package/lib/typescript/module/components/drag-bar.d.ts.map +1 -1
  26. package/lib/typescript/module/components/edit-event-container.d.ts.map +1 -1
  27. package/lib/typescript/module/hooks/use-is-editing.d.ts +3 -6
  28. package/lib/typescript/module/hooks/use-is-editing.d.ts.map +1 -1
  29. package/lib/typescript/module/index.d.ts +16 -14
  30. package/lib/typescript/module/index.d.ts.map +1 -1
  31. package/lib/typescript/module/types.d.ts +6 -2
  32. package/lib/typescript/module/types.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/components/drag-bar.tsx +8 -12
  35. package/src/components/edit-event-container.tsx +57 -5
  36. package/src/hooks/use-is-editing.tsx +4 -40
  37. package/src/index.tsx +29 -35
  38. package/src/types.ts +9 -2
  39. package/src/utils/pan-edit-event-gesture.ts +1 -1
package/src/index.tsx CHANGED
@@ -23,12 +23,15 @@ import React, {
23
23
  useRef,
24
24
  } from "react";
25
25
  import { GestureRef } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gesture";
26
- import {
27
- IsEditingProvider,
28
- type IsEditingProviderInnerMethods,
29
- } from "./hooks/use-is-editing";
26
+ import { IsEditingProvider } from "./hooks/use-is-editing";
30
27
  import { EventsProvider, useEvents } from "./hooks/use-events";
31
- import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "./types";
28
+ import type {
29
+ CalendarEvent,
30
+ Config,
31
+ IsEditingProviderInnerMethods,
32
+ onCreateEvent,
33
+ ThemeStyle,
34
+ } from "./types";
32
35
  import {
33
36
  LayoutChangeEvent,
34
37
  NativeSyntheticEvent,
@@ -37,19 +40,11 @@ import type { NativeScrollEvent } from "react-native/Libraries/Components/Scroll
37
40
 
38
41
  export * from "./types";
39
42
 
40
- export type EventCalenderProps<T extends CalendarEvent> = {
43
+ interface BaseProps<T extends CalendarEvent = CalendarEvent> {
41
44
  initialEventEdit?: string;
42
45
  onScroll?: (y: number) => void;
43
- canCreateEvents?: boolean;
44
- canEditEvent?: Config<T>["canEditEvent"];
45
- dayDate: string;
46
- events: T[];
47
46
  fiveMinuteInterval?: boolean;
48
47
  initialZoomLevel?: number;
49
- defaultZoomLevel?: number;
50
- maxZoomLevel?: number;
51
- minZoomLevel?: number;
52
- maxAllDayEvents?: number;
53
48
  onCreateEvent?: onCreateEvent;
54
49
  onEventEdit?: Config<T>["onEventEdit"];
55
50
  onPressEvent?: Config<T>["onPressEvent"];
@@ -58,47 +53,46 @@ export type EventCalenderProps<T extends CalendarEvent> = {
58
53
  renderNewEventContainer?: Config<T>["renderNewEventContainer"];
59
54
  showTimeIndicator?: boolean;
60
55
  theme?: ThemeStyle;
56
+ extraTimedComponents?: Config<T>["extraTimedComponents"];
57
+ onZoomChange?: Config<T>["onZoomChange"];
58
+ canCreateEvents?: boolean;
59
+ canEditEvent?: Config<T>["canEditEvent"];
60
+ defaultZoomLevel?: number;
61
+ maxZoomLevel?: number;
62
+ minZoomLevel?: number;
63
+ maxAllDayEvents?: number;
61
64
  timeFormat?: string;
62
65
  timezone?: string;
63
66
  updateLocalStateAfterEdit?: boolean;
67
+ }
68
+
69
+ export interface EventCalenderProps<T extends CalendarEvent = CalendarEvent>
70
+ extends BaseProps<T> {
71
+ dayDate: string;
72
+ events: T[];
64
73
  userCalendarId?: string;
65
- extraTimedComponents?: Config<T>["extraTimedComponents"];
66
- onZoomChange?: Config<T>["onZoomChange"];
67
- };
74
+ }
68
75
 
69
- type EventCalenderContentProps<T extends CalendarEvent> = {
70
- initialEventEdit?: string;
71
- onScroll?: (y: number) => void;
76
+ interface EventCalenderContentProps<T extends CalendarEvent = CalendarEvent>
77
+ extends BaseProps<T> {
72
78
  canCreateEvents: boolean;
73
79
  canEditEvent: Config<T>["canEditEvent"];
74
80
  startCalendarDate: Moment;
75
- fiveMinuteInterval?: boolean;
76
- initialZoomLevel?: number;
77
81
  defaultZoomLevel: number;
78
82
  maxZoomLevel: number;
79
83
  minZoomLevel: number;
80
84
  maxAllDayEvents: number;
81
- onCreateEvent?: onCreateEvent;
82
- onEventEdit?: Config<T>["onEventEdit"];
83
- onPressEvent?: Config<T>["onPressEvent"];
84
- renderDragBars?: Config<T>["renderDragBars"];
85
- renderEvent: Config<T>["renderEvent"];
86
- renderNewEventContainer?: Config<T>["renderNewEventContainer"];
87
- showTimeIndicator?: boolean;
88
- theme?: ThemeStyle;
89
85
  timeFormat: string;
90
86
  timezone: string;
91
87
  updateLocalStateAfterEdit: boolean;
92
- extraTimedComponents?: Config<T>["extraTimedComponents"];
93
- onZoomChange?: Config<T>["onZoomChange"];
94
- };
88
+ }
95
89
 
96
- export type EventCalendarMethods = {
90
+ export interface EventCalendarMethods {
97
91
  scrollToTime: (minutes: number, animated?: boolean, offset?: number) => void;
98
92
  scrollToOffset: (y: number, animated?: boolean) => void;
99
93
  startEditMode: (eventId: string) => void;
100
94
  endEditMode: () => void;
101
- };
95
+ }
102
96
 
103
97
  function EventCalendarContentInner<T extends CalendarEvent>(
104
98
  {
package/src/types.ts CHANGED
@@ -97,7 +97,7 @@ export interface OnEventEditParams<T extends CalendarEvent> {
97
97
  };
98
98
  }
99
99
 
100
- export type Config<T extends CalendarEvent> = {
100
+ export interface Config<T extends CalendarEvent> {
101
101
  initialEventEdit?: string;
102
102
  timezone: string;
103
103
  timeFormat: string;
@@ -136,7 +136,7 @@ export type Config<T extends CalendarEvent> = {
136
136
  updateLocalStateAfterEdit: boolean;
137
137
  extraTimedComponents?: (zoomLevel: SharedValue<number>) => ReactNode;
138
138
  onZoomChange?: (zoomLevel: number) => void;
139
- };
139
+ }
140
140
 
141
141
  export type PrefabHour = {
142
142
  increment: number;
@@ -169,3 +169,10 @@ export enum EditStatus {
169
169
  Finish,
170
170
  Delete,
171
171
  }
172
+
173
+ export interface IsEditingProviderInnerMethods<
174
+ T extends CalendarEvent = CalendarEvent,
175
+ > {
176
+ startEditing: (layout: PartDayEventLayoutType<T>) => void;
177
+ endEditing: () => void;
178
+ }
@@ -34,7 +34,7 @@ const gesturePan = <T extends CalendarEvent>(
34
34
  let freshUpdatedStartTime;
35
35
 
36
36
  if (fiveMinuteInterval) {
37
- // Set the updated time in 15 minute increments but make sure we never go lower
37
+ // Set the updated time in 5 minute increments but make sure we never go lower
38
38
  // than the first minute of the day
39
39
  freshUpdatedStartTime = Math.max(
40
40
  0,