@sunsama/event-calendar 0.5.3 → 0.5.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 (31) hide show
  1. package/lib/commonjs/components/drag-bar.js +42 -30
  2. package/lib/commonjs/components/drag-bar.js.map +1 -1
  3. package/lib/commonjs/components/edit-event-container.js +15 -6
  4. package/lib/commonjs/components/edit-event-container.js.map +1 -1
  5. package/lib/commonjs/components/timed-event-container.js +5 -2
  6. package/lib/commonjs/components/timed-event-container.js.map +1 -1
  7. package/lib/commonjs/utils/globals.js +2 -1
  8. package/lib/commonjs/utils/globals.js.map +1 -1
  9. package/lib/module/components/drag-bar.js +42 -30
  10. package/lib/module/components/drag-bar.js.map +1 -1
  11. package/lib/module/components/edit-event-container.js +16 -7
  12. package/lib/module/components/edit-event-container.js.map +1 -1
  13. package/lib/module/components/timed-event-container.js +6 -3
  14. package/lib/module/components/timed-event-container.js.map +1 -1
  15. package/lib/module/utils/globals.js +1 -0
  16. package/lib/module/utils/globals.js.map +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/components/timed-event-container.d.ts.map +1 -1
  20. package/lib/typescript/commonjs/utils/globals.d.ts +1 -0
  21. package/lib/typescript/commonjs/utils/globals.d.ts.map +1 -1
  22. package/lib/typescript/module/components/drag-bar.d.ts.map +1 -1
  23. package/lib/typescript/module/components/edit-event-container.d.ts.map +1 -1
  24. package/lib/typescript/module/components/timed-event-container.d.ts.map +1 -1
  25. package/lib/typescript/module/utils/globals.d.ts +1 -0
  26. package/lib/typescript/module/utils/globals.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/components/drag-bar.tsx +96 -53
  29. package/src/components/edit-event-container.tsx +22 -8
  30. package/src/components/timed-event-container.tsx +7 -3
  31. package/src/utils/globals.ts +1 -0
@@ -11,6 +11,46 @@ var _reactNative = require("react-native");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  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); }
13
13
  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; }
14
+ const handleTopDrag = (top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height) => {
15
+ "worklet";
16
+
17
+ const originalY = top.value;
18
+ let freshUpdatedStartTime;
19
+ if (fiveMinuteInterval) {
20
+ // Set the updated time in 15 minute increments but make sure we never go lower
21
+ // than the first minute of the day
22
+ freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
23
+ } else {
24
+ // Set the updated time in 1 minute increments but make sure we never go lower
25
+ // than the first minute of the day
26
+ freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
27
+ }
28
+
29
+ // Make sure the event does not span after midnight, and if so make sure it
30
+ // is limited to exactly midnight
31
+ if (freshUpdatedStartTime > maximumHour.value - height.value) {
32
+ freshUpdatedStartTime = maximumHour.value - height.value;
33
+ }
34
+ top.value = freshUpdatedStartTime;
35
+
36
+ // Make sure to have a minimum of 5 minutes
37
+ height.value = Math.max(height.value + (originalY - top.value), 5 * zoomLevel.value);
38
+ };
39
+ const handleBottomDrag = (fiveMinuteInterval, startY, translationY, zoomLevel, height) => {
40
+ "worklet";
41
+
42
+ let freshUpdatedEndTime;
43
+ if (fiveMinuteInterval) {
44
+ // Set the updated time in 15 minute increments but make sure we never go lower
45
+ // than the first minute of the day
46
+ freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
47
+ } else {
48
+ // Set the updated time in 1 minute increments but make sure we never go lower
49
+ // than the first minute of the day
50
+ freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
51
+ }
52
+ height.value = Math.max(freshUpdatedEndTime, 5 * zoomLevel.value);
53
+ };
14
54
  const DragBar = ({
15
55
  event,
16
56
  top,
@@ -28,38 +68,10 @@ const DragBar = ({
28
68
  translationY
29
69
  }) => {
30
70
  if (top) {
31
- const originalY = top.value;
32
- let freshUpdatedStartTime;
33
- if (fiveMinuteInterval) {
34
- // Set the updated time in 15 minute increments but make sure we never go lower
35
- // than the first minute of the day
36
- freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
37
- } else {
38
- // Set the updated time in 1 minute increments but make sure we never go lower
39
- // than the first minute of the day
40
- freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
41
- }
42
-
43
- // Make sure the event does not span after midnight, and if so make sure it
44
- // is limited to exactly midnight
45
- if (freshUpdatedStartTime > maximumHour.value - height.value) {
46
- freshUpdatedStartTime = maximumHour.value - height.value;
47
- }
48
- top.value = freshUpdatedStartTime;
49
- height.value = height.value + (originalY - top.value);
71
+ handleTopDrag(top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height);
50
72
  return;
51
73
  }
52
- let freshUpdatedEndTime;
53
- if (fiveMinuteInterval) {
54
- // Set the updated time in 15 minute increments but make sure we never go lower
55
- // than the first minute of the day
56
- freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
57
- } else {
58
- // Set the updated time in 1 minute increments but make sure we never go lower
59
- // than the first minute of the day
60
- freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
61
- }
62
- height.value = freshUpdatedEndTime;
74
+ handleBottomDrag(fiveMinuteInterval, startY, translationY, zoomLevel, height);
63
75
  });
64
76
  const styleDragBar = (0, _react.useMemo)(() => ({
65
77
  bottom: !top ? 0 : undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_react","_reactNativeGestureHandler","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DragBar","event","top","height","render","refMainContainer","fiveMinuteInterval","zoomLevel","maximumHour","startY","useSharedValue","gesturePan","Gesture","Pan","blocksExternalGesture","onStart","value","onUpdate","translationY","originalY","freshUpdatedStartTime","Math","max","floor","freshUpdatedEndTime","styleDragBar","useMemo","bottom","undefined","renderedComponent","jsx","GestureDetector","gesture","children","View","style","styles","dragBar","_default","exports","StyleSheet","create","position","left","right"],"sourceRoot":"../../../src","sources":["components/drag-bar.tsx"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAA0C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAc1C,MAAMW,OAAO,GAAGA,CAA0B;EACxCC,KAAK;EACLC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC,gBAAgB;EAChBC,kBAAkB;EAClBC,SAAS;EACTC;AACe,CAAC,KAAK;EACrB,MAAMC,MAAM,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EAEhC,MAAMC,UAAU,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAC7BC,qBAAqB,CAACT,gBAAgB,CAAC,CACvCU,OAAO,CAAC,MAAM;IACbN,MAAM,CAACO,KAAK,GAAGd,GAAG,GAAGA,GAAG,CAACc,KAAK,GAAGb,MAAM,CAACa,KAAK;EAC/C,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;IAAEC;EAAa,CAAC,KAAK;IAC9B,IAAIhB,GAAG,EAAE;MACP,MAAMiB,SAAS,GAAGjB,GAAG,CAACc,KAAK;MAE3B,IAAII,qBAAqB;MAEzB,IAAId,kBAAkB,EAAE;QACtB;QACA;QACAc,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDb,MAAM,CAACO,KAAK,GACVK,IAAI,CAACE,KAAK,CAACL,YAAY,GAAGX,SAAS,CAACS,KAAK,GAAG,CAAC,CAAC,IAC3CT,SAAS,CAACS,KAAK,GAAG,CAAC,CAC1B,CAAC;MACH,CAAC,MAAM;QACL;QACA;QACAI,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDb,MAAM,CAACO,KAAK,GACVK,IAAI,CAACE,KAAK,CAACL,YAAY,GAAGX,SAAS,CAACS,KAAK,CAAC,GAAGT,SAAS,CAACS,KAC3D,CAAC;MACH;;MAEA;MACA;MACA,IAAII,qBAAqB,GAAGZ,WAAW,CAACQ,KAAK,GAAGb,MAAM,CAACa,KAAK,EAAE;QAC5DI,qBAAqB,GAAGZ,WAAW,CAACQ,KAAK,GAAGb,MAAM,CAACa,KAAK;MAC1D;MAEAd,GAAG,CAACc,KAAK,GAAGI,qBAAqB;MACjCjB,MAAM,CAACa,KAAK,GAAGb,MAAM,CAACa,KAAK,IAAIG,SAAS,GAAGjB,GAAG,CAACc,KAAK,CAAC;MAErD;IACF;IAEA,IAAIQ,mBAAmB;IAEvB,IAAIlB,kBAAkB,EAAE;MACtB;MACA;MACAkB,mBAAmB,GAAGH,IAAI,CAACC,GAAG,CAC5B,CAAC,EACDb,MAAM,CAACO,KAAK,GACVK,IAAI,CAACE,KAAK,CAACL,YAAY,GAAGX,SAAS,CAACS,KAAK,GAAG,CAAC,CAAC,IAC3CT,SAAS,CAACS,KAAK,GAAG,CAAC,CAC1B,CAAC;IACH,CAAC,MAAM;MACL;MACA;MACAQ,mBAAmB,GAAGH,IAAI,CAACC,GAAG,CAC5B,CAAC,EACDb,MAAM,CAACO,KAAK,GACVK,IAAI,CAACE,KAAK,CAACL,YAAY,GAAGX,SAAS,CAACS,KAAK,CAAC,GAAGT,SAAS,CAACS,KAC3D,CAAC;IACH;IAEAb,MAAM,CAACa,KAAK,GAAGQ,mBAAmB;EACpC,CAAC,CAAC;EAEJ,MAAMC,YAAY,GAAG,IAAAC,cAAO,EAC1B,OAAO;IACLC,MAAM,EAAE,CAACzB,GAAG,GAAG,CAAC,GAAG0B,SAAS;IAC5B1B,GAAG,EAAEA,GAAG,GAAG,CAAC,GAAG0B;EACjB,CAAC,CAAC,EACF,CAAC1B,GAAG,CACN,CAAC;EAED,MAAM2B,iBAAiB,GAAG,IAAAH,cAAO,EAAC,MAAMtB,MAAM,CAACH,KAAK,CAAC,EAAE,CAACG,MAAM,EAAEH,KAAK,CAAC,CAAC;EAEvE,oBACE,IAAAtB,WAAA,CAAAmD,GAAA,EAACrD,0BAAA,CAAAsD,eAAe;IAACC,OAAO,EAAErB,UAAW;IAAAsB,QAAA,eACnC,IAAAtD,WAAA,CAAAmD,GAAA,EAACzD,sBAAA,CAAAa,OAAQ,CAACgD,IAAI;MAACC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEZ,YAAY,CAAE;MAAAQ,QAAA,EAClDJ;IAAiB,CACL;EAAC,CACD,CAAC;AAEtB,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAArD,OAAA,GAEac,OAAO;AAEtB,MAAMoC,MAAM,GAAGI,uBAAU,CAACC,MAAM,CAAC;EAC/BJ,OAAO,EAAE;IACPK,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_react","_reactNativeGestureHandler","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","handleTopDrag","top","fiveMinuteInterval","startY","translationY","zoomLevel","maximumHour","height","originalY","value","freshUpdatedStartTime","Math","max","floor","handleBottomDrag","freshUpdatedEndTime","DragBar","event","render","refMainContainer","useSharedValue","gesturePan","Gesture","Pan","blocksExternalGesture","onStart","onUpdate","styleDragBar","useMemo","bottom","undefined","renderedComponent","jsx","GestureDetector","gesture","children","View","style","styles","dragBar","_default","exports","StyleSheet","create","position","left","right"],"sourceRoot":"../../../src","sources":["components/drag-bar.tsx"],"mappings":"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","ignoreList":[]}
@@ -36,15 +36,24 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
36
36
  dayDate
37
37
  } = (0, _react.useContext)(_globals.ConfigProvider);
38
38
  const height = (0, _reactNativeReanimated.useSharedValue)(0);
39
+ const calculateHeight = (0, _react.useCallback)((event, zoom) => {
40
+ const start = new Date(event.start);
41
+ const end = new Date(event.end);
42
+
43
+ // We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
44
+ // our actual duration, meaning we'll have to calculate the height based on the start and end times
45
+ height.value = (end.valueOf() - start.valueOf()) / 60_000 * zoom;
46
+ }, [height]);
39
47
  (0, _react.useEffect)(() => {
40
- if (editingEvent) {
41
- height.value = editingEvent.position.height * zoomLevel.value;
42
- currentY.value = editingEvent.position.top * zoomLevel.value;
48
+ if (!editingEvent) {
49
+ return;
43
50
  }
44
- }, [height, editingEvent, currentY, zoomLevel]);
51
+ calculateHeight(editingEvent.event, zoomLevel.value);
52
+ currentY.value = editingEvent.position.top * zoomLevel.value;
53
+ }, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
45
54
  (0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, zoom => {
46
55
  if (editingEvent) {
47
- height.value = editingEvent.position.height * zoom;
56
+ (0, _reactNativeReanimated.runOnJS)(calculateHeight)(editingEvent.event, zoom);
48
57
  currentY.value = editingEvent.position.top * zoom;
49
58
  }
50
59
  }, [height, currentY, zoomLevel, editingEvent]);
@@ -57,7 +66,7 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
57
66
  return {
58
67
  marginLeft: _reactNative.StyleSheet.hairlineWidth,
59
68
  position: "absolute",
60
- height: height.value,
69
+ height: Math.max(_globals.MIN_EVENT_HEIGHT_PX, height.value),
61
70
  top: currentY.value,
62
71
  opacity: 1,
63
72
  width: "100%"
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useIsEditing","_globals","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_types","_panEditEventGesture","_interopRequireDefault","_dragBar","_reactNative","_momentTimezone","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditEventContainer","memo","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","useIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","useContext","ConfigProvider","height","useSharedValue","useEffect","value","position","top","useAnimatedReaction","zoom","styleAnimatedPosition","useAnimatedStyle","opacity","marginLeft","StyleSheet","hairlineWidth","width","startY","updatedStart","useDerivedValue","updatedEnd","endEventEditing","useCallback","newStart","newEnd","moment","tz","minutes","format","gestureTap","Gesture","Tap","numberOfTaps","onStart","runOnJS","refMainContainer","useRef","jsx","GestureDetector","gesture","Simultaneous","gesturePan","withRef","children","jsxs","View","style","event","EventExtend","None","render","bottom","_default","exports"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_useIsEditing","_globals","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_types","_panEditEventGesture","_interopRequireDefault","_dragBar","_reactNative","_momentTimezone","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditEventContainer","memo","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","useIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","useContext","ConfigProvider","height","useSharedValue","calculateHeight","useCallback","event","zoom","start","Date","end","value","valueOf","useEffect","position","top","useAnimatedReaction","runOnJS","styleAnimatedPosition","useAnimatedStyle","opacity","marginLeft","StyleSheet","hairlineWidth","Math","max","MIN_EVENT_HEIGHT_PX","width","startY","updatedStart","useDerivedValue","updatedEnd","endEventEditing","newStart","newEnd","moment","tz","minutes","format","gestureTap","Gesture","Tap","numberOfTaps","onStart","refMainContainer","useRef","jsx","GestureDetector","gesture","Simultaneous","gesturePan","withRef","children","jsxs","View","style","EventExtend","None","render","bottom","_default","exports"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
@@ -48,8 +48,11 @@ const TimedEventContainer = ({
48
48
  const startY = (0, _reactNativeReanimated.useSharedValue)(0);
49
49
  const gestures = _reactNativeGestureHandler.Gesture.Exclusive((0, _doubleTapResetZoomGesture.default)(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, (0, _panEditEventGesture.default)(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing).activateAfterLongPress(500));
50
50
  (0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
51
- height.value = newZoomLevel * layout.position.height;
52
- }, [layout.position.height]);
51
+ const start = new Date(layout.event.start);
52
+ const end = new Date(layout.event.end);
53
+ const diff = (end.valueOf() - start.valueOf()) / 60_000;
54
+ height.value = Math.max(_globals.MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
55
+ }, [layout.event]);
53
56
  (0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
54
57
  top.value = newZoomLevel * layout.position.top;
55
58
  }, [layout.position.top]);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","event","startY","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","useAnimatedReaction","value","newZoomLevel","position","render","useMemo","EventExtend","None","stylePosition","useAnimatedStyle","basePosition","opacity","width","marginLeft","pointerEvents","id","jsx","GestureDetector","gesture","children","View","style","styles","hairline","StyleSheet","create","marginHorizontal","hairlineWidth","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","event","startY","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","useAnimatedReaction","value","newZoomLevel","start","Date","end","diff","valueOf","Math","max","MIN_EVENT_HEIGHT_PX","position","render","useMemo","EventExtend","None","stylePosition","useAnimatedStyle","basePosition","opacity","width","marginLeft","pointerEvents","id","jsx","GestureDetector","gesture","children","View","style","styles","hairline","StyleSheet","create","marginHorizontal","hairlineWidth","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TOP_MARGIN_PIXEL_OFFSET = exports.DEFAULT_TIME_FORMAT = exports.DEFAULT_TIMEZONE = exports.DEFAULT_MIN_ZOOM = exports.DEFAULT_MINUTE_HEIGHT = exports.DEFAULT_MAX_ZOOM = exports.DEFAULT_MAX_ALL_DAY_EVENTS = exports.ConfigProvider = void 0;
6
+ exports.TOP_MARGIN_PIXEL_OFFSET = exports.MIN_EVENT_HEIGHT_PX = exports.DEFAULT_TIME_FORMAT = exports.DEFAULT_TIMEZONE = exports.DEFAULT_MIN_ZOOM = exports.DEFAULT_MINUTE_HEIGHT = exports.DEFAULT_MAX_ZOOM = exports.DEFAULT_MAX_ALL_DAY_EVENTS = exports.ConfigProvider = void 0;
7
7
  var _react = require("react");
8
8
  const ConfigProvider = exports.ConfigProvider = /*#__PURE__*/(0, _react.createContext)(undefined);
9
9
  const DEFAULT_MINUTE_HEIGHT = exports.DEFAULT_MINUTE_HEIGHT = 0.8;
@@ -13,4 +13,5 @@ const DEFAULT_MAX_ALL_DAY_EVENTS = exports.DEFAULT_MAX_ALL_DAY_EVENTS = 2;
13
13
  const DEFAULT_TIME_FORMAT = exports.DEFAULT_TIME_FORMAT = "HH:mm";
14
14
  const DEFAULT_TIMEZONE = exports.DEFAULT_TIMEZONE = "UTC";
15
15
  const TOP_MARGIN_PIXEL_OFFSET = exports.TOP_MARGIN_PIXEL_OFFSET = 5;
16
+ const MIN_EVENT_HEIGHT_PX = exports.MIN_EVENT_HEIGHT_PX = 24;
16
17
  //# sourceMappingURL=globals.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","ConfigProvider","exports","createContext","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,oBAAa,EAAcC,SAAkB,CAAC;AAErE,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,GAAG;AACjC,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,IAAI;AAC7B,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,CAAC;AAC1B,MAAMC,0BAA0B,GAAAN,OAAA,CAAAM,0BAAA,GAAG,CAAC;AACpC,MAAMC,mBAAmB,GAAAP,OAAA,CAAAO,mBAAA,GAAG,OAAO;AACnC,MAAMC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,GAAG,KAAK;AAE9B,MAAMC,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","ConfigProvider","exports","createContext","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET","MIN_EVENT_HEIGHT_PX"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,oBAAa,EAAcC,SAAkB,CAAC;AAErE,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,GAAG;AACjC,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,IAAI;AAC7B,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,CAAC;AAC1B,MAAMC,0BAA0B,GAAAN,OAAA,CAAAM,0BAAA,GAAG,CAAC;AACpC,MAAMC,mBAAmB,GAAAP,OAAA,CAAAO,mBAAA,GAAG,OAAO;AACnC,MAAMC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,GAAG,KAAK;AAE9B,MAAMC,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,CAAC;AACjC,MAAMC,mBAAmB,GAAAV,OAAA,CAAAU,mBAAA,GAAG,EAAE","ignoreList":[]}
@@ -5,6 +5,46 @@ import { useMemo } from "react";
5
5
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
6
6
  import { StyleSheet } from "react-native";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ const handleTopDrag = (top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height) => {
9
+ "worklet";
10
+
11
+ const originalY = top.value;
12
+ let freshUpdatedStartTime;
13
+ if (fiveMinuteInterval) {
14
+ // Set the updated time in 15 minute increments but make sure we never go lower
15
+ // than the first minute of the day
16
+ freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
17
+ } else {
18
+ // Set the updated time in 1 minute increments but make sure we never go lower
19
+ // than the first minute of the day
20
+ freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
21
+ }
22
+
23
+ // Make sure the event does not span after midnight, and if so make sure it
24
+ // is limited to exactly midnight
25
+ if (freshUpdatedStartTime > maximumHour.value - height.value) {
26
+ freshUpdatedStartTime = maximumHour.value - height.value;
27
+ }
28
+ top.value = freshUpdatedStartTime;
29
+
30
+ // Make sure to have a minimum of 5 minutes
31
+ height.value = Math.max(height.value + (originalY - top.value), 5 * zoomLevel.value);
32
+ };
33
+ const handleBottomDrag = (fiveMinuteInterval, startY, translationY, zoomLevel, height) => {
34
+ "worklet";
35
+
36
+ let freshUpdatedEndTime;
37
+ if (fiveMinuteInterval) {
38
+ // Set the updated time in 15 minute increments but make sure we never go lower
39
+ // than the first minute of the day
40
+ freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
41
+ } else {
42
+ // Set the updated time in 1 minute increments but make sure we never go lower
43
+ // than the first minute of the day
44
+ freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
45
+ }
46
+ height.value = Math.max(freshUpdatedEndTime, 5 * zoomLevel.value);
47
+ };
8
48
  const DragBar = ({
9
49
  event,
10
50
  top,
@@ -22,38 +62,10 @@ const DragBar = ({
22
62
  translationY
23
63
  }) => {
24
64
  if (top) {
25
- const originalY = top.value;
26
- let freshUpdatedStartTime;
27
- if (fiveMinuteInterval) {
28
- // Set the updated time in 15 minute increments but make sure we never go lower
29
- // than the first minute of the day
30
- freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
31
- } else {
32
- // Set the updated time in 1 minute increments but make sure we never go lower
33
- // than the first minute of the day
34
- freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
35
- }
36
-
37
- // Make sure the event does not span after midnight, and if so make sure it
38
- // is limited to exactly midnight
39
- if (freshUpdatedStartTime > maximumHour.value - height.value) {
40
- freshUpdatedStartTime = maximumHour.value - height.value;
41
- }
42
- top.value = freshUpdatedStartTime;
43
- height.value = height.value + (originalY - top.value);
65
+ handleTopDrag(top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height);
44
66
  return;
45
67
  }
46
- let freshUpdatedEndTime;
47
- if (fiveMinuteInterval) {
48
- // Set the updated time in 15 minute increments but make sure we never go lower
49
- // than the first minute of the day
50
- freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
51
- } else {
52
- // Set the updated time in 1 minute increments but make sure we never go lower
53
- // than the first minute of the day
54
- freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
55
- }
56
- height.value = freshUpdatedEndTime;
68
+ handleBottomDrag(fiveMinuteInterval, startY, translationY, zoomLevel, height);
57
69
  });
58
70
  const styleDragBar = useMemo(() => ({
59
71
  bottom: !top ? 0 : undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["Animated","useSharedValue","useMemo","Gesture","GestureDetector","StyleSheet","jsx","_jsx","DragBar","event","top","height","render","refMainContainer","fiveMinuteInterval","zoomLevel","maximumHour","startY","gesturePan","Pan","blocksExternalGesture","onStart","value","onUpdate","translationY","originalY","freshUpdatedStartTime","Math","max","floor","freshUpdatedEndTime","styleDragBar","bottom","undefined","renderedComponent","gesture","children","View","style","styles","dragBar","create","position","left","right"],"sourceRoot":"../../../src","sources":["components/drag-bar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Animated","useSharedValue","useMemo","Gesture","GestureDetector","StyleSheet","jsx","_jsx","handleTopDrag","top","fiveMinuteInterval","startY","translationY","zoomLevel","maximumHour","height","originalY","value","freshUpdatedStartTime","Math","max","floor","handleBottomDrag","freshUpdatedEndTime","DragBar","event","render","refMainContainer","gesturePan","Pan","blocksExternalGesture","onStart","onUpdate","styleDragBar","bottom","undefined","renderedComponent","gesture","children","View","style","styles","dragBar","create","position","left","right"],"sourceRoot":"../../../src","sources":["components/drag-bar.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,IAAiBC,cAAc,QAAQ,yBAAyB;AAC/E,SAAoCC,OAAO,QAAQ,OAAO;AAC1D,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAc1C,MAAMC,aAAa,GAAGA,CACpBC,GAAwB,EACxBC,kBAAuC,EACvCC,MAA2B,EAC3BC,YAAoB,EACpBC,SAA8B,EAC9BC,WAAgC,EAChCC,MAA2B,KACxB;EACH,SAAS;;EAET,MAAMC,SAAS,GAAGP,GAAG,CAACQ,KAAK;EAE3B,IAAIC,qBAAqB;EAEzB,IAAIR,kBAAkB,EAAE;IACtB;IACA;IACAQ,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDT,MAAM,CAACM,KAAK,GACVE,IAAI,CAACE,KAAK,CAACT,YAAY,GAAGC,SAAS,CAACI,KAAK,GAAG,CAAC,CAAC,IAAIJ,SAAS,CAACI,KAAK,GAAG,CAAC,CACzE,CAAC;EACH,CAAC,MAAM;IACL;IACA;IACAC,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDT,MAAM,CAACM,KAAK,GACVE,IAAI,CAACE,KAAK,CAACT,YAAY,GAAGC,SAAS,CAACI,KAAK,CAAC,GAAGJ,SAAS,CAACI,KAC3D,CAAC;EACH;;EAEA;EACA;EACA,IAAIC,qBAAqB,GAAGJ,WAAW,CAACG,KAAK,GAAGF,MAAM,CAACE,KAAK,EAAE;IAC5DC,qBAAqB,GAAGJ,WAAW,CAACG,KAAK,GAAGF,MAAM,CAACE,KAAK;EAC1D;EAEAR,GAAG,CAACQ,KAAK,GAAGC,qBAAqB;;EAEjC;EACAH,MAAM,CAACE,KAAK,GAAGE,IAAI,CAACC,GAAG,CACrBL,MAAM,CAACE,KAAK,IAAID,SAAS,GAAGP,GAAG,CAACQ,KAAK,CAAC,EACtC,CAAC,GAAGJ,SAAS,CAACI,KAChB,CAAC;AACH,CAAC;AAED,MAAMK,gBAAgB,GAAGA,CACvBZ,kBAAuC,EACvCC,MAA2B,EAC3BC,YAAoB,EACpBC,SAA8B,EAC9BE,MAA2B,KACxB;EACH,SAAS;;EAET,IAAIQ,mBAAmB;EAEvB,IAAIb,kBAAkB,EAAE;IACtB;IACA;IACAa,mBAAmB,GAAGJ,IAAI,CAACC,GAAG,CAC5B,CAAC,EACDT,MAAM,CAACM,KAAK,GACVE,IAAI,CAACE,KAAK,CAACT,YAAY,GAAGC,SAAS,CAACI,KAAK,GAAG,CAAC,CAAC,IAAIJ,SAAS,CAACI,KAAK,GAAG,CAAC,CACzE,CAAC;EACH,CAAC,MAAM;IACL;IACA;IACAM,mBAAmB,GAAGJ,IAAI,CAACC,GAAG,CAC5B,CAAC,EACDT,MAAM,CAACM,KAAK,GACVE,IAAI,CAACE,KAAK,CAACT,YAAY,GAAGC,SAAS,CAACI,KAAK,CAAC,GAAGJ,SAAS,CAACI,KAC3D,CAAC;EACH;EAEAF,MAAM,CAACE,KAAK,GAAGE,IAAI,CAACC,GAAG,CAACG,mBAAmB,EAAE,CAAC,GAAGV,SAAS,CAACI,KAAK,CAAC;AACnE,CAAC;AAED,MAAMO,OAAO,GAAGA,CAA0B;EACxCC,KAAK;EACLhB,GAAG;EACHM,MAAM;EACNW,MAAM;EACNC,gBAAgB;EAChBjB,kBAAkB;EAClBG,SAAS;EACTC;AACe,CAAC,KAAK;EACrB,MAAMH,MAAM,GAAGV,cAAc,CAAC,CAAC,CAAC;EAEhC,MAAM2B,UAAU,GAAGzB,OAAO,CAAC0B,GAAG,CAAC,CAAC,CAC7BC,qBAAqB,CAACH,gBAAgB,CAAC,CACvCI,OAAO,CAAC,MAAM;IACbpB,MAAM,CAACM,KAAK,GAAGR,GAAG,GAAGA,GAAG,CAACQ,KAAK,GAAGF,MAAM,CAACE,KAAK;EAC/C,CAAC,CAAC,CACDe,QAAQ,CAAC,CAAC;IAAEpB;EAAa,CAAC,KAAK;IAC9B,IAAIH,GAAG,EAAE;MACPD,aAAa,CACXC,GAAG,EACHC,kBAAkB,EAClBC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTC,WAAW,EACXC,MACF,CAAC;MAED;IACF;IAEAO,gBAAgB,CACdZ,kBAAkB,EAClBC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTE,MACF,CAAC;EACH,CAAC,CAAC;EAEJ,MAAMkB,YAAY,GAAG/B,OAAO,CAC1B,OAAO;IACLgC,MAAM,EAAE,CAACzB,GAAG,GAAG,CAAC,GAAG0B,SAAS;IAC5B1B,GAAG,EAAEA,GAAG,GAAG,CAAC,GAAG0B;EACjB,CAAC,CAAC,EACF,CAAC1B,GAAG,CACN,CAAC;EAED,MAAM2B,iBAAiB,GAAGlC,OAAO,CAAC,MAAMwB,MAAM,CAACD,KAAK,CAAC,EAAE,CAACC,MAAM,EAAED,KAAK,CAAC,CAAC;EAEvE,oBACElB,IAAA,CAACH,eAAe;IAACiC,OAAO,EAAET,UAAW;IAAAU,QAAA,eACnC/B,IAAA,CAACP,QAAQ,CAACuC,IAAI;MAACC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAET,YAAY,CAAE;MAAAK,QAAA,EAClDF;IAAiB,CACL;EAAC,CACD,CAAC;AAEtB,CAAC;AAED,eAAeZ,OAAO;AAEtB,MAAMiB,MAAM,GAAGpC,UAAU,CAACsC,MAAM,CAAC;EAC/BD,OAAO,EAAE;IACPE,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { memo, useCallback, useContext, useEffect, useRef } from "react";
4
4
  import { useIsEditing } from "../hooks/use-is-editing.js";
5
- import { ConfigProvider } from "../utils/globals.js";
5
+ import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals.js";
6
6
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
7
7
  import Animated, { runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue } from "react-native-reanimated";
8
8
  import { EventExtend } from "../types.js";
@@ -29,15 +29,24 @@ const EditEventContainer = /*#__PURE__*/memo(({
29
29
  dayDate
30
30
  } = useContext(ConfigProvider);
31
31
  const height = useSharedValue(0);
32
+ const calculateHeight = useCallback((event, zoom) => {
33
+ const start = new Date(event.start);
34
+ const end = new Date(event.end);
35
+
36
+ // We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
37
+ // our actual duration, meaning we'll have to calculate the height based on the start and end times
38
+ height.value = (end.valueOf() - start.valueOf()) / 60_000 * zoom;
39
+ }, [height]);
32
40
  useEffect(() => {
33
- if (editingEvent) {
34
- height.value = editingEvent.position.height * zoomLevel.value;
35
- currentY.value = editingEvent.position.top * zoomLevel.value;
41
+ if (!editingEvent) {
42
+ return;
36
43
  }
37
- }, [height, editingEvent, currentY, zoomLevel]);
44
+ calculateHeight(editingEvent.event, zoomLevel.value);
45
+ currentY.value = editingEvent.position.top * zoomLevel.value;
46
+ }, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
38
47
  useAnimatedReaction(() => zoomLevel.value, zoom => {
39
48
  if (editingEvent) {
40
- height.value = editingEvent.position.height * zoom;
49
+ runOnJS(calculateHeight)(editingEvent.event, zoom);
41
50
  currentY.value = editingEvent.position.top * zoom;
42
51
  }
43
52
  }, [height, currentY, zoomLevel, editingEvent]);
@@ -50,7 +59,7 @@ const EditEventContainer = /*#__PURE__*/memo(({
50
59
  return {
51
60
  marginLeft: StyleSheet.hairlineWidth,
52
61
  position: "absolute",
53
- height: height.value,
62
+ height: Math.max(MIN_EVENT_HEIGHT_PX, height.value),
54
63
  top: currentY.value,
55
64
  opacity: 1,
56
65
  width: "100%"
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useContext","useEffect","useRef","useIsEditing","ConfigProvider","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","EventExtend","gesturePan","DragBar","StyleSheet","moment","jsx","_jsx","jsxs","_jsxs","EditEventContainer","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","height","value","position","top","zoom","styleAnimatedPosition","opacity","marginLeft","hairlineWidth","width","startY","updatedStart","updatedEnd","endEventEditing","newStart","newEnd","tz","minutes","format","gestureTap","Tap","numberOfTaps","onStart","refMainContainer","gesture","Simultaneous","withRef","children","View","style","event","None","render","bottom"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useContext","useEffect","useRef","useIsEditing","ConfigProvider","MIN_EVENT_HEIGHT_PX","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","EventExtend","gesturePan","DragBar","StyleSheet","moment","jsx","_jsx","jsxs","_jsxs","EditEventContainer","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","height","calculateHeight","event","zoom","start","Date","end","value","valueOf","position","top","styleAnimatedPosition","opacity","marginLeft","hairlineWidth","Math","max","width","startY","updatedStart","updatedEnd","endEventEditing","newStart","newEnd","tz","minutes","format","gestureTap","Tap","numberOfTaps","onStart","refMainContainer","gesture","Simultaneous","withRef","children","View","style","None","render","bottom"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import Animated, { runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue } from "react-native-reanimated";
4
- import { ConfigProvider } from "../utils/globals.js";
4
+ import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals.js";
5
5
  import { useCallback, useContext, useMemo } from "react";
6
6
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
7
7
  import { StyleSheet, View } from "react-native";
@@ -41,8 +41,11 @@ const TimedEventContainer = ({
41
41
  const startY = useSharedValue(0);
42
42
  const gestures = Gesture.Exclusive(doubleTapGesture(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, gesturePan(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing).activateAfterLongPress(500));
43
43
  useAnimatedReaction(() => zoomLevel.value, newZoomLevel => {
44
- height.value = newZoomLevel * layout.position.height;
45
- }, [layout.position.height]);
44
+ const start = new Date(layout.event.start);
45
+ const end = new Date(layout.event.end);
46
+ const diff = (end.valueOf() - start.valueOf()) / 60_000;
47
+ height.value = Math.max(MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
48
+ }, [layout.event]);
46
49
  useAnimatedReaction(() => zoomLevel.value, newZoomLevel => {
47
50
  top.value = newZoomLevel * layout.position.top;
48
51
  }, [layout.position.top]);
@@ -1 +1 @@
1
- {"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","useCallback","useContext","useMemo","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","height","top","startEditing","gestureTap","Tap","enabled","onStart","event","startY","gestures","Exclusive","activateAfterLongPress","value","newZoomLevel","position","render","None","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","id","gesture","children","style","styles","hairline","create","marginHorizontal","hairlineWidth","flex"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","MIN_EVENT_HEIGHT_PX","useCallback","useContext","useMemo","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","height","top","startEditing","gestureTap","Tap","enabled","onStart","event","startY","gestures","Exclusive","activateAfterLongPress","value","newZoomLevel","start","Date","end","diff","valueOf","Math","max","position","render","None","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","id","gesture","children","style","styles","hairline","create","marginHorizontal","hairlineWidth","flex"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,4 +9,5 @@ export const DEFAULT_MAX_ALL_DAY_EVENTS = 2;
9
9
  export const DEFAULT_TIME_FORMAT = "HH:mm";
10
10
  export const DEFAULT_TIMEZONE = "UTC";
11
11
  export const TOP_MARGIN_PIXEL_OFFSET = 5;
12
+ export const MIN_EVENT_HEIGHT_PX = 24;
12
13
  //# sourceMappingURL=globals.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","ConfigProvider","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,cAAc,gBAAGD,aAAa,CAAcE,SAAkB,CAAC;AAE5E,OAAO,MAAMC,qBAAqB,GAAG,GAAG;AACxC,OAAO,MAAMC,gBAAgB,GAAG,IAAI;AACpC,OAAO,MAAMC,gBAAgB,GAAG,CAAC;AACjC,OAAO,MAAMC,0BAA0B,GAAG,CAAC;AAC3C,OAAO,MAAMC,mBAAmB,GAAG,OAAO;AAC1C,OAAO,MAAMC,gBAAgB,GAAG,KAAK;AAErC,OAAO,MAAMC,uBAAuB,GAAG,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","ConfigProvider","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET","MIN_EVENT_HEIGHT_PX"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,cAAc,gBAAGD,aAAa,CAAcE,SAAkB,CAAC;AAE5E,OAAO,MAAMC,qBAAqB,GAAG,GAAG;AACxC,OAAO,MAAMC,gBAAgB,GAAG,IAAI;AACpC,OAAO,MAAMC,gBAAgB,GAAG,CAAC;AACjC,OAAO,MAAMC,0BAA0B,GAAG,CAAC;AAC3C,OAAO,MAAMC,mBAAmB,GAAG,OAAO;AAC1C,OAAO,MAAMC,gBAAgB,GAAG,KAAK;AAErC,OAAO,MAAMC,uBAAuB,GAAG,CAAC;AACxC,OAAO,MAAMC,mBAAmB,GAAG,EAAE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,aAAa,iGASrC,YAAY,CAAC,CAAC,CAAC,gCAsFjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAkFF,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,aAAa,iGASrC,YAAY,CAAC,CAAC,CAAC,gCAiDjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCAgI1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA8I1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,gCA8F7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,gCAkG7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
@@ -7,4 +7,5 @@ export declare const DEFAULT_MAX_ALL_DAY_EVENTS = 2;
7
7
  export declare const DEFAULT_TIME_FORMAT = "HH:mm";
8
8
  export declare const DEFAULT_TIMEZONE = "UTC";
9
9
  export declare const TOP_MARGIN_PIXEL_OFFSET = 5;
10
+ export declare const MIN_EVENT_HEIGHT_PX = 24;
10
11
  //# sourceMappingURL=globals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,aAAa,iGASrC,YAAY,CAAC,CAAC,CAAC,gCAsFjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAkFF,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,aAAa,iGASrC,YAAY,CAAC,CAAC,CAAC,gCAiDjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCAgI1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA8I1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,gCA8F7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,gCAkG7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
@@ -7,4 +7,5 @@ export declare const DEFAULT_MAX_ALL_DAY_EVENTS = 2;
7
7
  export declare const DEFAULT_TIME_FORMAT = "HH:mm";
8
8
  export declare const DEFAULT_TIMEZONE = "UTC";
9
9
  export declare const TOP_MARGIN_PIXEL_OFFSET = 5;
10
+ export declare const MIN_EVENT_HEIGHT_PX = 24;
10
11
  //# sourceMappingURL=globals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsama/event-calendar",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "Event calendar.",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -15,6 +15,86 @@ type DragBarProps<T extends CalendarEvent> = {
15
15
  event: T;
16
16
  };
17
17
 
18
+ const handleTopDrag = (
19
+ top: SharedValue<number>,
20
+ fiveMinuteInterval: boolean | undefined,
21
+ startY: SharedValue<number>,
22
+ translationY: number,
23
+ zoomLevel: SharedValue<number>,
24
+ maximumHour: SharedValue<number>,
25
+ height: SharedValue<number>
26
+ ) => {
27
+ "worklet";
28
+
29
+ const originalY = top.value;
30
+
31
+ let freshUpdatedStartTime;
32
+
33
+ if (fiveMinuteInterval) {
34
+ // Set the updated time in 15 minute increments but make sure we never go lower
35
+ // than the first minute of the day
36
+ freshUpdatedStartTime = Math.max(
37
+ 0,
38
+ startY.value +
39
+ Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5)
40
+ );
41
+ } else {
42
+ // Set the updated time in 1 minute increments but make sure we never go lower
43
+ // than the first minute of the day
44
+ freshUpdatedStartTime = Math.max(
45
+ 0,
46
+ startY.value +
47
+ Math.floor(translationY / zoomLevel.value) * zoomLevel.value
48
+ );
49
+ }
50
+
51
+ // Make sure the event does not span after midnight, and if so make sure it
52
+ // is limited to exactly midnight
53
+ if (freshUpdatedStartTime > maximumHour.value - height.value) {
54
+ freshUpdatedStartTime = maximumHour.value - height.value;
55
+ }
56
+
57
+ top.value = freshUpdatedStartTime;
58
+
59
+ // Make sure to have a minimum of 5 minutes
60
+ height.value = Math.max(
61
+ height.value + (originalY - top.value),
62
+ 5 * zoomLevel.value
63
+ );
64
+ };
65
+
66
+ const handleBottomDrag = (
67
+ fiveMinuteInterval: boolean | undefined,
68
+ startY: SharedValue<number>,
69
+ translationY: number,
70
+ zoomLevel: SharedValue<number>,
71
+ height: SharedValue<number>
72
+ ) => {
73
+ "worklet";
74
+
75
+ let freshUpdatedEndTime;
76
+
77
+ if (fiveMinuteInterval) {
78
+ // Set the updated time in 15 minute increments but make sure we never go lower
79
+ // than the first minute of the day
80
+ freshUpdatedEndTime = Math.max(
81
+ 0,
82
+ startY.value +
83
+ Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5)
84
+ );
85
+ } else {
86
+ // Set the updated time in 1 minute increments but make sure we never go lower
87
+ // than the first minute of the day
88
+ freshUpdatedEndTime = Math.max(
89
+ 0,
90
+ startY.value +
91
+ Math.floor(translationY / zoomLevel.value) * zoomLevel.value
92
+ );
93
+ }
94
+
95
+ height.value = Math.max(freshUpdatedEndTime, 5 * zoomLevel.value);
96
+ };
97
+
18
98
  const DragBar = <T extends CalendarEvent>({
19
99
  event,
20
100
  top,
@@ -34,63 +114,26 @@ const DragBar = <T extends CalendarEvent>({
34
114
  })
35
115
  .onUpdate(({ translationY }) => {
36
116
  if (top) {
37
- const originalY = top.value;
38
-
39
- let freshUpdatedStartTime;
40
-
41
- if (fiveMinuteInterval) {
42
- // Set the updated time in 15 minute increments but make sure we never go lower
43
- // than the first minute of the day
44
- freshUpdatedStartTime = Math.max(
45
- 0,
46
- startY.value +
47
- Math.floor(translationY / zoomLevel.value / 5) *
48
- (zoomLevel.value * 5)
49
- );
50
- } else {
51
- // Set the updated time in 1 minute increments but make sure we never go lower
52
- // than the first minute of the day
53
- freshUpdatedStartTime = Math.max(
54
- 0,
55
- startY.value +
56
- Math.floor(translationY / zoomLevel.value) * zoomLevel.value
57
- );
58
- }
59
-
60
- // Make sure the event does not span after midnight, and if so make sure it
61
- // is limited to exactly midnight
62
- if (freshUpdatedStartTime > maximumHour.value - height.value) {
63
- freshUpdatedStartTime = maximumHour.value - height.value;
64
- }
65
-
66
- top.value = freshUpdatedStartTime;
67
- height.value = height.value + (originalY - top.value);
117
+ handleTopDrag(
118
+ top,
119
+ fiveMinuteInterval,
120
+ startY,
121
+ translationY,
122
+ zoomLevel,
123
+ maximumHour,
124
+ height
125
+ );
68
126
 
69
127
  return;
70
128
  }
71
129
 
72
- let freshUpdatedEndTime;
73
-
74
- if (fiveMinuteInterval) {
75
- // Set the updated time in 15 minute increments but make sure we never go lower
76
- // than the first minute of the day
77
- freshUpdatedEndTime = Math.max(
78
- 0,
79
- startY.value +
80
- Math.floor(translationY / zoomLevel.value / 5) *
81
- (zoomLevel.value * 5)
82
- );
83
- } else {
84
- // Set the updated time in 1 minute increments but make sure we never go lower
85
- // than the first minute of the day
86
- freshUpdatedEndTime = Math.max(
87
- 0,
88
- startY.value +
89
- Math.floor(translationY / zoomLevel.value) * zoomLevel.value
90
- );
91
- }
92
-
93
- height.value = freshUpdatedEndTime;
130
+ handleBottomDrag(
131
+ fiveMinuteInterval,
132
+ startY,
133
+ translationY,
134
+ zoomLevel,
135
+ height
136
+ );
94
137
  });
95
138
 
96
139
  const styleDragBar = useMemo(
@@ -7,7 +7,7 @@ import {
7
7
  useRef,
8
8
  } from "react";
9
9
  import { useIsEditing } from "../hooks/use-is-editing";
10
- import { ConfigProvider } from "../utils/globals";
10
+ import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals";
11
11
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
12
12
  import Animated, {
13
13
  runOnJS,
@@ -16,7 +16,7 @@ import Animated, {
16
16
  useDerivedValue,
17
17
  useSharedValue,
18
18
  } from "react-native-reanimated";
19
- import { EventExtend } from "../types";
19
+ import { type CalendarEvent, EventExtend } from "../types";
20
20
  import gesturePan from "../utils/pan-edit-event-gesture";
21
21
  import DragBar from "../components/drag-bar";
22
22
  import { StyleSheet } from "react-native";
@@ -40,18 +40,32 @@ const EditEventContainer = memo(
40
40
  } = useContext(ConfigProvider);
41
41
  const height = useSharedValue(0);
42
42
 
43
+ const calculateHeight = useCallback(
44
+ (event: CalendarEvent, zoom: number) => {
45
+ const start = new Date(event.start);
46
+ const end = new Date(event.end);
47
+
48
+ // We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
49
+ // our actual duration, meaning we'll have to calculate the height based on the start and end times
50
+ height.value = ((end.valueOf() - start.valueOf()) / 60_000) * zoom;
51
+ },
52
+ [height]
53
+ );
54
+
43
55
  useEffect(() => {
44
- if (editingEvent) {
45
- height.value = editingEvent.position.height * zoomLevel.value;
46
- currentY.value = editingEvent.position.top * zoomLevel.value;
56
+ if (!editingEvent) {
57
+ return;
47
58
  }
48
- }, [height, editingEvent, currentY, zoomLevel]);
59
+
60
+ calculateHeight(editingEvent.event, zoomLevel.value);
61
+ currentY.value = editingEvent.position.top * zoomLevel.value;
62
+ }, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
49
63
 
50
64
  useAnimatedReaction(
51
65
  () => zoomLevel.value,
52
66
  (zoom) => {
53
67
  if (editingEvent) {
54
- height.value = editingEvent.position.height * zoom;
68
+ runOnJS(calculateHeight)(editingEvent.event, zoom);
55
69
  currentY.value = editingEvent.position.top * zoom;
56
70
  }
57
71
  },
@@ -66,7 +80,7 @@ const EditEventContainer = memo(
66
80
  return {
67
81
  marginLeft: StyleSheet.hairlineWidth,
68
82
  position: "absolute",
69
- height: height.value,
83
+ height: Math.max(MIN_EVENT_HEIGHT_PX, height.value),
70
84
  top: currentY.value,
71
85
  opacity: 1,
72
86
  width: "100%",
@@ -4,7 +4,7 @@ import Animated, {
4
4
  useAnimatedStyle,
5
5
  useSharedValue,
6
6
  } from "react-native-reanimated";
7
- import { ConfigProvider } from "../utils/globals";
7
+ import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals";
8
8
  import { RefObject, useCallback, useContext, useMemo } from "react";
9
9
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
10
10
  import { StyleSheet, View } from "react-native";
@@ -74,9 +74,13 @@ const TimedEventContainer = <T extends CalendarEvent>({
74
74
  useAnimatedReaction(
75
75
  () => zoomLevel.value,
76
76
  (newZoomLevel) => {
77
- height.value = newZoomLevel * layout.position.height;
77
+ const start = new Date(layout.event.start);
78
+ const end = new Date(layout.event.end);
79
+ const diff = (end.valueOf() - start.valueOf()) / 60_000;
80
+
81
+ height.value = Math.max(MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
78
82
  },
79
- [layout.position.height]
83
+ [layout.event]
80
84
  );
81
85
 
82
86
  useAnimatedReaction(
@@ -11,3 +11,4 @@ export const DEFAULT_TIME_FORMAT = "HH:mm";
11
11
  export const DEFAULT_TIMEZONE = "UTC";
12
12
 
13
13
  export const TOP_MARGIN_PIXEL_OFFSET = 5;
14
+ export const MIN_EVENT_HEIGHT_PX = 24;