@sunsama/event-calendar 0.4.0 → 0.4.1

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.
@@ -27,7 +27,8 @@ const ZoomProvider = /*#__PURE__*/(0, _react.forwardRef)(({
27
27
  createY,
28
28
  onCreateEvent,
29
29
  maximumHour,
30
- onZoomChange
30
+ onZoomChange,
31
+ fiveMinuteInterval
31
32
  } = (0, _react.useContext)(_globals.ConfigProvider);
32
33
  const previewScale = (0, _reactNativeReanimated.useSharedValue)(-1);
33
34
  (0, _react.useEffect)(() => {
@@ -63,7 +64,16 @@ const ZoomProvider = /*#__PURE__*/(0, _react.forwardRef)(({
63
64
  if (!isDragging.value) {
64
65
  return;
65
66
  }
66
- createY.value = Math.max(0, event.allTouches[0].y - _globals.TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2);
67
+ if (!fiveMinuteInterval) {
68
+ createY.value = Math.max(0, event.allTouches[0].y - _globals.TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2);
69
+ } else {
70
+ const normalizedY = event.allTouches[0].y - _globals.TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2;
71
+ const time = Math.floor(normalizedY / zoomLevel.value);
72
+ const hour = Math.floor(time / 60);
73
+ const minute = time - hour * 60;
74
+ const minuteInterval = Math.floor(minute / 5) * 5;
75
+ createY.value = (hour * 60 + minuteInterval) * zoomLevel.value;
76
+ }
67
77
  }).onEnd((event, success) => {
68
78
  "worklet";
69
79
 
@@ -84,12 +94,21 @@ const ZoomProvider = /*#__PURE__*/(0, _react.forwardRef)(({
84
94
  const time = Math.floor(normalizedY / zoomLevel.value);
85
95
  const hour = Math.floor(time / 60);
86
96
  const minute = time - hour * 60;
87
- if (onCreateEvent) {
97
+ if (!onCreateEvent) {
98
+ return;
99
+ }
100
+ if (fiveMinuteInterval) {
101
+ const minuteInterval = Math.floor(minute / 5) * 5;
88
102
  (0, _reactNativeReanimated.runOnJS)(onCreateEvent)({
89
103
  hour,
90
- minute
104
+ minute: minuteInterval
91
105
  });
106
+ return;
92
107
  }
108
+ (0, _reactNativeReanimated.runOnJS)(onCreateEvent)({
109
+ hour,
110
+ minute
111
+ });
93
112
  });
94
113
  const combinedGesture = _reactNativeGestureHandler.Gesture.Simultaneous(pinchGesture, longPressGesture, (0, _doubleTapResetZoomGesture.default)(zoomLevel, initialZoomLevel, onZoomChange));
95
114
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_reactNativeGestureHandler","_react","_globals","_reactNative","_useIsEditing","_doubleTapResetZoomGesture","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fraction","ZoomProvider","forwardRef","children","refNewEvent","canCreateEvents","zoomLevel","initialZoomLevel","createY","onCreateEvent","maximumHour","onZoomChange","useContext","ConfigProvider","previewScale","useSharedValue","useEffect","value","pinchGesture","Gesture","Pinch","onUpdate","event","newScale","scale","Math","min","max","onEnd","runOnJS","yPosition","isEditing","useIsEditing","isDragging","useAnimatedReaction","zoom","longPressGesture","LongPress","enabled","withRef","numberOfPointers","minDuration","maxDistance","onStart","y","TOP_MARGIN_PIXEL_OFFSET","onTouchesMove","allTouches","success","normalizedY","time","floor","hour","minute","combinedGesture","Simultaneous","doubleTapGesture","jsx","GestureDetector","gesture","View","style","styles","container","StyleSheet","create","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_reactNativeGestureHandler","_react","_globals","_reactNative","_useIsEditing","_doubleTapResetZoomGesture","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fraction","ZoomProvider","forwardRef","children","refNewEvent","canCreateEvents","zoomLevel","initialZoomLevel","createY","onCreateEvent","maximumHour","onZoomChange","fiveMinuteInterval","useContext","ConfigProvider","previewScale","useSharedValue","useEffect","value","pinchGesture","Gesture","Pinch","onUpdate","event","newScale","scale","Math","min","max","onEnd","runOnJS","yPosition","isEditing","useIsEditing","isDragging","useAnimatedReaction","zoom","longPressGesture","LongPress","enabled","withRef","numberOfPointers","minDuration","maxDistance","onStart","y","TOP_MARGIN_PIXEL_OFFSET","onTouchesMove","allTouches","normalizedY","time","floor","hour","minute","minuteInterval","success","combinedGesture","Simultaneous","doubleTapGesture","jsx","GestureDetector","gesture","View","style","styles","container","StyleSheet","create","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,8 @@ const ZoomProvider = /*#__PURE__*/forwardRef(({
20
20
  createY,
21
21
  onCreateEvent,
22
22
  maximumHour,
23
- onZoomChange
23
+ onZoomChange,
24
+ fiveMinuteInterval
24
25
  } = useContext(ConfigProvider);
25
26
  const previewScale = useSharedValue(-1);
26
27
  useEffect(() => {
@@ -56,7 +57,16 @@ const ZoomProvider = /*#__PURE__*/forwardRef(({
56
57
  if (!isDragging.value) {
57
58
  return;
58
59
  }
59
- createY.value = Math.max(0, event.allTouches[0].y - TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2);
60
+ if (!fiveMinuteInterval) {
61
+ createY.value = Math.max(0, event.allTouches[0].y - TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2);
62
+ } else {
63
+ const normalizedY = event.allTouches[0].y - TOP_MARGIN_PIXEL_OFFSET - zoomLevel.value * 60 / 2;
64
+ const time = Math.floor(normalizedY / zoomLevel.value);
65
+ const hour = Math.floor(time / 60);
66
+ const minute = time - hour * 60;
67
+ const minuteInterval = Math.floor(minute / 5) * 5;
68
+ createY.value = (hour * 60 + minuteInterval) * zoomLevel.value;
69
+ }
60
70
  }).onEnd((event, success) => {
61
71
  "worklet";
62
72
 
@@ -77,12 +87,21 @@ const ZoomProvider = /*#__PURE__*/forwardRef(({
77
87
  const time = Math.floor(normalizedY / zoomLevel.value);
78
88
  const hour = Math.floor(time / 60);
79
89
  const minute = time - hour * 60;
80
- if (onCreateEvent) {
90
+ if (!onCreateEvent) {
91
+ return;
92
+ }
93
+ if (fiveMinuteInterval) {
94
+ const minuteInterval = Math.floor(minute / 5) * 5;
81
95
  runOnJS(onCreateEvent)({
82
96
  hour,
83
- minute
97
+ minute: minuteInterval
84
98
  });
99
+ return;
85
100
  }
101
+ runOnJS(onCreateEvent)({
102
+ hour,
103
+ minute
104
+ });
86
105
  });
87
106
  const combinedGesture = Gesture.Simultaneous(pinchGesture, longPressGesture, doubleTapGesture(zoomLevel, initialZoomLevel, onZoomChange));
88
107
  return /*#__PURE__*/_jsx(GestureDetector, {
@@ -1 +1 @@
1
- {"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useSharedValue","Gesture","GestureDetector","forwardRef","useContext","useEffect","ConfigProvider","TOP_MARGIN_PIXEL_OFFSET","StyleSheet","useIsEditing","doubleTapGesture","jsx","_jsx","fraction","ZoomProvider","children","refNewEvent","canCreateEvents","zoomLevel","initialZoomLevel","createY","onCreateEvent","maximumHour","onZoomChange","previewScale","value","get","pinchGesture","Pinch","onUpdate","event","newScale","scale","Math","min","max","onEnd","yPosition","isEditing","isDragging","zoom","longPressGesture","LongPress","enabled","withRef","numberOfPointers","minDuration","maxDistance","onStart","y","onTouchesMove","allTouches","success","normalizedY","time","floor","hour","minute","combinedGesture","Simultaneous","gesture","View","style","styles","container","create","flex"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useSharedValue","Gesture","GestureDetector","forwardRef","useContext","useEffect","ConfigProvider","TOP_MARGIN_PIXEL_OFFSET","StyleSheet","useIsEditing","doubleTapGesture","jsx","_jsx","fraction","ZoomProvider","children","refNewEvent","canCreateEvents","zoomLevel","initialZoomLevel","createY","onCreateEvent","maximumHour","onZoomChange","fiveMinuteInterval","previewScale","value","get","pinchGesture","Pinch","onUpdate","event","newScale","scale","Math","min","max","onEnd","yPosition","isEditing","isDragging","zoom","longPressGesture","LongPress","enabled","withRef","numberOfPointers","minDuration","maxDistance","onStart","y","onTouchesMove","allTouches","normalizedY","time","floor","hour","minute","minuteInterval","success","combinedGesture","Simultaneous","gesture","View","style","styles","container","create","flex"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAYA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAKF,QAAA,MAAM,YAAY,mGAqHjB,CAAC;AAQF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAYA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAKF,QAAA,MAAM,YAAY,mGA+IjB,CAAC;AAQF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAYA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAKF,QAAA,MAAM,YAAY,mGAqHjB,CAAC;AAQF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAYA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAKF,QAAA,MAAM,YAAY,mGA+IjB,CAAC;AAQF,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsama/event-calendar",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Event calendar.",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -27,6 +27,7 @@ const ZoomProvider = forwardRef<any, ZoomProviderProps>(
27
27
  onCreateEvent,
28
28
  maximumHour,
29
29
  onZoomChange,
30
+ fiveMinuteInterval,
30
31
  } = useContext(ConfigProvider);
31
32
  const previewScale = useSharedValue(-1);
32
33
 
@@ -84,12 +85,25 @@ const ZoomProvider = forwardRef<any, ZoomProviderProps>(
84
85
  return;
85
86
  }
86
87
 
87
- createY.value = Math.max(
88
- 0,
89
- event.allTouches[0].y -
88
+ if (!fiveMinuteInterval) {
89
+ createY.value = Math.max(
90
+ 0,
91
+ event.allTouches[0].y -
92
+ TOP_MARGIN_PIXEL_OFFSET -
93
+ (zoomLevel.value * 60) / 2
94
+ );
95
+ } else {
96
+ const normalizedY =
97
+ event.allTouches[0].y -
90
98
  TOP_MARGIN_PIXEL_OFFSET -
91
- (zoomLevel.value * 60) / 2
92
- );
99
+ (zoomLevel.value * 60) / 2;
100
+ const time = Math.floor(normalizedY / zoomLevel.value);
101
+ const hour = Math.floor(time / 60);
102
+ const minute = time - hour * 60;
103
+ const minuteInterval = Math.floor(minute / 5) * 5;
104
+
105
+ createY.value = (hour * 60 + minuteInterval) * zoomLevel.value;
106
+ }
93
107
  })
94
108
  .onEnd((event, success) => {
95
109
  "worklet";
@@ -114,12 +128,24 @@ const ZoomProvider = forwardRef<any, ZoomProviderProps>(
114
128
  const hour = Math.floor(time / 60);
115
129
  const minute = time - hour * 60;
116
130
 
117
- if (onCreateEvent) {
131
+ if (!onCreateEvent) {
132
+ return;
133
+ }
134
+
135
+ if (fiveMinuteInterval) {
136
+ const minuteInterval = Math.floor(minute / 5) * 5;
137
+
118
138
  runOnJS(onCreateEvent)({
119
139
  hour,
120
- minute,
140
+ minute: minuteInterval,
121
141
  });
142
+ return;
122
143
  }
144
+
145
+ runOnJS(onCreateEvent)({
146
+ hour,
147
+ minute,
148
+ });
123
149
  });
124
150
 
125
151
  const combinedGesture = Gesture.Simultaneous(