@sunsama/event-calendar 0.11.4 → 0.11.6

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.
@@ -41,10 +41,13 @@ const TimedEventContainer = ({
41
41
  const startEditing = (0, _react.useCallback)(() => {
42
42
  setIsEditing(layout);
43
43
  }, [layout, setIsEditing]);
44
- const gestureTap = _reactNativeGestureHandler.Gesture.Tap().enabled(!isEditing).onStart(() => {
44
+ const onPressOverride = (0, _react.useCallback)(() => {
45
45
  if (onPressEvent) {
46
- (0, _reactNativeReanimated.runOnJS)(onPressEvent)(layout.event);
46
+ onPressEvent(layout.event);
47
47
  }
48
+ }, [layout, onPressEvent]);
49
+ const gestureTap = _reactNativeGestureHandler.Gesture.Tap().enabled(!isEditing).onStart(() => {
50
+ (0, _reactNativeReanimated.runOnJS)(onPressOverride)();
48
51
  });
49
52
  const startY = (0, _reactNativeReanimated.useSharedValue)(0);
50
53
  const initialRender = (0, _react.useRef)(true);
@@ -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","initialEventEdit","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","event","startY","initialRender","useRef","useEffect","current","id","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","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","initialEventEdit","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","onPressOverride","event","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","startY","initialRender","useRef","useEffect","current","id","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","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":[]}
@@ -127,12 +127,14 @@ const combineEventPosition = (dayDate, timezone, collisionObject) => {
127
127
  };
128
128
  };
129
129
  const handleCollisions = (allEvents, userCalendarId, dayDate, timezone) => {
130
- let stackableEvents = (0, _sortBy2.default)(allEvents, event => event.id);
131
- stackableEvents = (0, _sortBy2.default)(stackableEvents, event => {
132
- // current user's primary calendar should always be leftmost option
133
- return event.calendarId && !event.calendarId.includes(userCalendarId);
134
- });
135
- stackableEvents = (0, _sortBy2.default)(stackableEvents, event => new Date(event.start).valueOf());
130
+ // Sort by start asc (primary), then primary calendar flag, then duration asc,
131
+ // then id (stable tiebreaker)
132
+ const sortById = event => event.id;
133
+ const sortByDuration = event => (0, _dateUtils.getDuration)(event);
134
+ const sortByStartDate = event => new Date(event.start).valueOf();
135
+ const sortByPrimaryCalendar = event => event.calendarId && event.calendarId !== userCalendarId;
136
+ const stackableEvents = (0, _sortBy2.default)([...allEvents], [sortByStartDate, sortByPrimaryCalendar, sortByDuration, sortById]);
137
+
136
138
  // calculate overlap stack properties
137
139
  const stackedEvtsByPos = {};
138
140
  let curStack = [];
@@ -142,14 +144,12 @@ const handleCollisions = (allEvents, userCalendarId, dayDate, timezone) => {
142
144
  const stackEvt = curStack[idx];
143
145
  if (stackEvt) {
144
146
  const stackEvtEnd = new Date(stackEvt.event.end).valueOf();
145
- const stackEvtStart = new Date(stackEvt.event.start).valueOf();
146
147
  const eventStart = new Date(evt.start).valueOf();
147
148
 
148
- // events shorter than 15 minutes behave as if they had 15 minute duration.
149
- // matches behavior in calendar view, where the shortest 'height' an event is given matches the height of a 15 minute event.
150
- const duration = (stackEvtEnd - stackEvtStart) / (1000 * 60);
151
- const endDate = duration < 15 ? stackEvtStart + 15 * 60 * 1000 : stackEvtEnd;
152
- if (endDate <= eventStart) {
149
+ // Use half-open interval semantics [start, end):
150
+ // an active event is removed when its end is less than or equal to the next start.
151
+ // Do not pad short events when determining overlap/collision.
152
+ if (stackEvtEnd <= eventStart) {
153
153
  // null out this event's position in stack
154
154
  curStack[idx] = null;
155
155
  if (curStack.length > 1) {
@@ -1 +1 @@
1
- {"version":3,"names":["_partition2","_interopRequireDefault","require","_reduce2","_sortBy2","_reverse2","_momentTimezone","_calendarLayout","_dateUtils","_computePositioning","_types","e","__esModule","default","generateEventLayouts","events","startCalendarDate","endCalendarDate","userCalendarId","calendarViewInterval","startDayOfWeekOffset","timezone","allDayEvents","partDayEvents","_partition","event","isAllDayOrSpansMidnight","allDayEventsSorted","_sortBy","id","getDurationInDays","_reverse","Date","start","valueOf","partDayEventsSorted","getDuration","calendarViewDayEvents","visibleDayCount","moment","tz","diff","visibleDays","dayCount","push","add","format","calendarViewDateRanges","map","visibleDay","computeCalendarDateRange","result","forEach","date","calendarLayoutOptions","visibleX","dayIndexes","enableWeekBreaks","startOfWeekXOffset","basisDate","startOfUserWeek","calendarViewDayLayout","_reduce","calendarLayout","eventStartIndex","startOf","eventDurationDays","findFitAndInsert","CalendarLayout","calendarViewDayRowHeight","height","calendarDates","calendarDate","currentDayDate","startDate","toDate","endDate","endOf","showHours","includes","dayId","allDayEventsLayout","partDayEventsLayout","x","y","visibleWidthDays","extend","EventExtend","None","isPrimaryRendered","getViewAt","rowIndex","concat","handleCollisions","filter","dateRangeIntersect","end","exports","combineEventPosition","dayDate","collisionObject","position","computePositioning","startOfDayMoment","allEvents","stackableEvents","calendarId","stackedEvtsByPos","curStack","evt","idx","length","stackEvt","stackEvtEnd","stackEvtStart","eventStart","duration","collisions","total","order","some","el","spliceIdx","findIndex","splice","stackedEvents","Object","keys","pos","_default"],"sourceRoot":"../../../src","sources":["utils/generate-event-layouts.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_partition2","_interopRequireDefault","require","_reduce2","_sortBy2","_reverse2","_momentTimezone","_calendarLayout","_dateUtils","_computePositioning","_types","e","__esModule","default","generateEventLayouts","events","startCalendarDate","endCalendarDate","userCalendarId","calendarViewInterval","startDayOfWeekOffset","timezone","allDayEvents","partDayEvents","_partition","event","isAllDayOrSpansMidnight","allDayEventsSorted","_sortBy","id","getDurationInDays","_reverse","Date","start","valueOf","partDayEventsSorted","getDuration","calendarViewDayEvents","visibleDayCount","moment","tz","diff","visibleDays","dayCount","push","add","format","calendarViewDateRanges","map","visibleDay","computeCalendarDateRange","result","forEach","date","calendarLayoutOptions","visibleX","dayIndexes","enableWeekBreaks","startOfWeekXOffset","basisDate","startOfUserWeek","calendarViewDayLayout","_reduce","calendarLayout","eventStartIndex","startOf","eventDurationDays","findFitAndInsert","CalendarLayout","calendarViewDayRowHeight","height","calendarDates","calendarDate","currentDayDate","startDate","toDate","endDate","endOf","showHours","includes","dayId","allDayEventsLayout","partDayEventsLayout","x","y","visibleWidthDays","extend","EventExtend","None","isPrimaryRendered","getViewAt","rowIndex","concat","handleCollisions","filter","dateRangeIntersect","end","exports","combineEventPosition","dayDate","collisionObject","position","computePositioning","startOfDayMoment","allEvents","sortById","sortByDuration","sortByStartDate","sortByPrimaryCalendar","calendarId","stackableEvents","stackedEvtsByPos","curStack","evt","idx","length","stackEvt","stackEvtEnd","eventStart","collisions","total","order","some","el","spliceIdx","findIndex","splice","stackedEvents","Object","keys","pos","_default"],"sourceRoot":"../../../src","sources":["utils/generate-event-layouts.ts"],"mappings":"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","ignoreList":[]}
@@ -34,10 +34,13 @@ const TimedEventContainer = ({
34
34
  const startEditing = useCallback(() => {
35
35
  setIsEditing(layout);
36
36
  }, [layout, setIsEditing]);
37
- const gestureTap = Gesture.Tap().enabled(!isEditing).onStart(() => {
37
+ const onPressOverride = useCallback(() => {
38
38
  if (onPressEvent) {
39
- runOnJS(onPressEvent)(layout.event);
39
+ onPressEvent(layout.event);
40
40
  }
41
+ }, [layout, onPressEvent]);
42
+ const gestureTap = Gesture.Tap().enabled(!isEditing).onStart(() => {
43
+ runOnJS(onPressOverride)();
41
44
  });
42
45
  const startY = useSharedValue(0);
43
46
  const initialRender = useRef(true);
@@ -1 +1 @@
1
- {"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","MIN_EVENT_HEIGHT_PX","useCallback","useContext","useEffect","useMemo","useRef","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","initialEventEdit","height","top","startEditing","gestureTap","Tap","enabled","onStart","event","startY","initialRender","current","id","gestures","Exclusive","activateAfterLongPress","value","newZoomLevel","start","Date","end","diff","valueOf","Math","max","position","render","None","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","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","useEffect","useMemo","useRef","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","initialEventEdit","height","top","startEditing","onPressOverride","event","gestureTap","Tap","enabled","onStart","startY","initialRender","current","id","gestures","Exclusive","activateAfterLongPress","value","newZoomLevel","start","Date","end","diff","valueOf","Math","max","position","render","None","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","gesture","children","style","styles","hairline","create","marginHorizontal","hairlineWidth","flex"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,IACbC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACT,yBAAyB;AAChC,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,qBAAkB;AACtE,SAEEC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,QACD,OAAO;AACd,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,YAAY,QAAQ,4BAAyB;AACtD,OAAOC,UAAU,MAAM,oCAAiC;AACxD,OAAOC,gBAAgB,MAAM,2CAAwC;AACrE,SAEEC,WAAW,QAEN,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOlB,MAAMC,mBAAmB,GAAGA,CAA0B;EACpDC,MAAM;EACNC;AAC2B,CAAC,KAAK;EACjC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC;EAAU,CAAC,GAAGX,YAAY,CAAC,CAAC;EAC5D,MAAM;IACJY,YAAY;IACZC,WAAW;IACXC,kBAAkB;IAClBC,SAAS;IACTC,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZC;EACF,CAAC,GAAG3B,UAAU,CAACH,cAAc,CAAC;EAE9B,MAAM+B,MAAM,GAAGhC,cAAc,CAAC,CAAC,CAAC;EAChC,MAAMiC,GAAG,GAAGjC,cAAc,CAAC,CAAC,CAAC;EAE7B,MAAMkC,YAAY,GAAG/B,WAAW,CAAC,MAAM;IACrCmB,YAAY,CAACH,MAAM,CAAC;EACtB,CAAC,EAAE,CAACA,MAAM,EAAEG,YAAY,CAAC,CAAC;EAE1B,MAAMa,eAAe,GAAGhC,WAAW,CAAC,MAAM;IACxC,IAAIqB,YAAY,EAAE;MAChBA,YAAY,CAACL,MAAM,CAACiB,KAAK,CAAC;IAC5B;EACF,CAAC,EAAE,CAACjB,MAAM,EAAEK,YAAY,CAAC,CAAC;EAE1B,MAAMa,UAAU,GAAG7B,OAAO,CAAC8B,GAAG,CAAC,CAAC,CAC7BC,OAAO,CAAC,CAAChB,SAAS,CAAC,CACnBiB,OAAO,CAAC,MAAM;IACb3C,OAAO,CAACsC,eAAe,CAAC,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEJ,MAAMM,MAAM,GAAGzC,cAAc,CAAC,CAAC,CAAC;EAEhC,MAAM0C,aAAa,GAAGnC,MAAM,CAAC,IAAI,CAAC;EAElCF,SAAS,CAAC,MAAM;IACd,IAAI,CAACqC,aAAa,CAACC,OAAO,EAAE;MAC1B;IACF;IAEAD,aAAa,CAACC,OAAO,GAAG,KAAK;IAE7B,IAAI,CAACZ,gBAAgB,IAAIA,gBAAgB,KAAKZ,MAAM,CAACiB,KAAK,CAACQ,EAAE,EAAE;MAC7D;IACF;IAEAV,YAAY,CAAC,CAAC;EAChB,CAAC,EAAE,CAACH,gBAAgB,EAAEZ,MAAM,CAACiB,KAAK,CAACQ,EAAE,EAAEV,YAAY,CAAC,CAAC;EAErD,MAAMW,QAAQ,GAAGrC,OAAO,CAACsC,SAAS,CAChChC,gBAAgB,CAACa,SAAS,EAAEE,gBAAgB,EAAEC,YAAY,CAAC,EAC3DO,UAAU,EACVxB,UAAU,CACR4B,MAAM,EACNR,GAAG,EACHZ,QAAQ,EACRM,SAAS,EACTF,WAAW,EACXO,MAAM,EACNZ,WAAW,EACXM,kBAAkB,EAClBH,SAAS,EACTW,YACF,CAAC,CAACa,sBAAsB,CAAC,GAAG,CAC9B,CAAC;EAEDjD,mBAAmB,CACjB,MAAM6B,SAAS,CAACqB,KAAK,EACpBC,YAAY,IAAK;IAChB,MAAMC,KAAK,GAAG,IAAIC,IAAI,CAAChC,MAAM,CAACiB,KAAK,CAACc,KAAK,CAAC;IAC1C,MAAME,GAAG,GAAG,IAAID,IAAI,CAAChC,MAAM,CAACiB,KAAK,CAACgB,GAAG,CAAC;IACtC,MAAMC,IAAI,GAAG,CAACD,GAAG,CAACE,OAAO,CAAC,CAAC,GAAGJ,KAAK,CAACI,OAAO,CAAC,CAAC,IAAI,MAAM;IAEvDtB,MAAM,CAACgB,KAAK,GAAGO,IAAI,CAACC,GAAG,CAACtD,mBAAmB,EAAE+C,YAAY,GAAGI,IAAI,CAAC;EACnE,CAAC,EACD,CAAClC,MAAM,CAACiB,KAAK,CACf,CAAC;EAEDtC,mBAAmB,CACjB,MAAM6B,SAAS,CAACqB,KAAK,EACpBC,YAAY,IAAK;IAChBhB,GAAG,CAACe,KAAK,GAAGC,YAAY,GAAG9B,MAAM,CAACsC,QAAQ,CAACxB,GAAG;EAChD,CAAC,EACD,CAACd,MAAM,CAACsC,QAAQ,CAACxB,GAAG,CACtB,CAAC;EAED,MAAMyB,MAAM,GAAGpD,OAAO,CACpB,MAAMsB,WAAW,CAACT,MAAM,CAACiB,KAAK,EAAErB,WAAW,CAAC4C,IAAI,EAAE3B,MAAM,CAAC,EACzD,CAACA,MAAM,EAAEb,MAAM,CAACiB,KAAK,EAAER,WAAW,CACpC,CAAC;EAED,MAAMgC,aAAa,GAAG7D,gBAAgB,CAAC,MAAM;IAC3C,MAAM8D,YAAiB,GAAG;MACxBJ,QAAQ,EAAE,UAAU;MACpBzB,MAAM,EAAEA,MAAM,CAACgB,KAAK;MACpBf,GAAG,EAAEA,GAAG,CAACe,KAAK;MACdc,OAAO,EAAE,CAAC;MACVC,KAAK,EAAE5C,MAAM,CAACsC,QAAQ,CAACM,KAAK;MAC5BC,UAAU,EAAE7C,MAAM,CAACsC,QAAQ,CAACO,UAAU;MAEtC;MACAC,aAAa,EAAE1C,SAAS,GAAG,MAAM,GAAG;IACtC,CAAC;IAED,IAAIA,SAAS,EAAEa,KAAK,CAACQ,EAAE,KAAKzB,MAAM,CAACiB,KAAK,CAACQ,EAAE,EAAE;MAC3CiB,YAAY,CAACC,OAAO,GAAG,GAAG;IAC5B;IAEA,OAAOD,YAAY;EACrB,CAAC,EAAE,CAAC1C,MAAM,EAAEI,SAAS,CAAC,CAAC;EAEvB,oBACEN,IAAA,CAACR,eAAe;IAACyD,OAAO,EAAErB,QAAS;IAAAsB,QAAA,eACjClD,IAAA,CAACrB,QAAQ,CAACe,IAAI;MAACyD,KAAK,EAAER,aAAc;MAAAO,QAAA,eAClClD,IAAA,CAACN,IAAI;QAACyD,KAAK,EAAEC,MAAM,CAACC,QAAS;QAAAH,QAAA,EAAET;MAAM,CAAO;IAAC,CAChC;EAAC,CACD,CAAC;AAEtB,CAAC;AAED,MAAMW,MAAM,GAAG3D,UAAU,CAAC6D,MAAM,CAAC;EAC/BD,QAAQ,EAAE;IAAEE,gBAAgB,EAAE9D,UAAU,CAAC+D,aAAa;IAAEC,IAAI,EAAE;EAAE;AAClE,CAAC,CAAC;AAEF,eAAexD,mBAAmB","ignoreList":[]}
@@ -121,12 +121,14 @@ const combineEventPosition = (dayDate, timezone, collisionObject) => {
121
121
  };
122
122
  };
123
123
  const handleCollisions = (allEvents, userCalendarId, dayDate, timezone) => {
124
- let stackableEvents = _sortBy(allEvents, event => event.id);
125
- stackableEvents = _sortBy(stackableEvents, event => {
126
- // current user's primary calendar should always be leftmost option
127
- return event.calendarId && !event.calendarId.includes(userCalendarId);
128
- });
129
- stackableEvents = _sortBy(stackableEvents, event => new Date(event.start).valueOf());
124
+ // Sort by start asc (primary), then primary calendar flag, then duration asc,
125
+ // then id (stable tiebreaker)
126
+ const sortById = event => event.id;
127
+ const sortByDuration = event => getDuration(event);
128
+ const sortByStartDate = event => new Date(event.start).valueOf();
129
+ const sortByPrimaryCalendar = event => event.calendarId && event.calendarId !== userCalendarId;
130
+ const stackableEvents = _sortBy([...allEvents], [sortByStartDate, sortByPrimaryCalendar, sortByDuration, sortById]);
131
+
130
132
  // calculate overlap stack properties
131
133
  const stackedEvtsByPos = {};
132
134
  let curStack = [];
@@ -136,14 +138,12 @@ const handleCollisions = (allEvents, userCalendarId, dayDate, timezone) => {
136
138
  const stackEvt = curStack[idx];
137
139
  if (stackEvt) {
138
140
  const stackEvtEnd = new Date(stackEvt.event.end).valueOf();
139
- const stackEvtStart = new Date(stackEvt.event.start).valueOf();
140
141
  const eventStart = new Date(evt.start).valueOf();
141
142
 
142
- // events shorter than 15 minutes behave as if they had 15 minute duration.
143
- // matches behavior in calendar view, where the shortest 'height' an event is given matches the height of a 15 minute event.
144
- const duration = (stackEvtEnd - stackEvtStart) / (1000 * 60);
145
- const endDate = duration < 15 ? stackEvtStart + 15 * 60 * 1000 : stackEvtEnd;
146
- if (endDate <= eventStart) {
143
+ // Use half-open interval semantics [start, end):
144
+ // an active event is removed when its end is less than or equal to the next start.
145
+ // Do not pad short events when determining overlap/collision.
146
+ if (stackEvtEnd <= eventStart) {
147
147
  // null out this event's position in stack
148
148
  curStack[idx] = null;
149
149
  if (curStack.length > 1) {
@@ -1 +1 @@
1
- {"version":3,"names":["_partition","_reduce","_sortBy","_reverse","moment","CalendarLayout","computeCalendarDateRange","dateRangeIntersect","getDuration","getDurationInDays","isAllDayOrSpansMidnight","startOfUserWeek","computePositioning","EventExtend","generateEventLayouts","events","startCalendarDate","endCalendarDate","userCalendarId","calendarViewInterval","startDayOfWeekOffset","timezone","allDayEvents","partDayEvents","event","allDayEventsSorted","id","Date","start","valueOf","partDayEventsSorted","calendarViewDayEvents","visibleDayCount","tz","diff","visibleDays","dayCount","push","add","format","calendarViewDateRanges","map","visibleDay","result","forEach","date","calendarLayoutOptions","visibleX","dayIndexes","enableWeekBreaks","startOfWeekXOffset","basisDate","calendarViewDayLayout","calendarLayout","eventStartIndex","startOf","eventDurationDays","findFitAndInsert","calendarViewDayRowHeight","height","calendarDates","calendarDate","currentDayDate","startDate","toDate","endDate","endOf","showHours","includes","dayId","allDayEventsLayout","partDayEventsLayout","x","y","visibleWidthDays","extend","None","isPrimaryRendered","getViewAt","rowIndex","concat","handleCollisions","filter","end","combineEventPosition","dayDate","collisionObject","position","startOfDayMoment","allEvents","stackableEvents","calendarId","stackedEvtsByPos","curStack","evt","idx","length","stackEvt","stackEvtEnd","stackEvtStart","eventStart","duration","collisions","total","order","some","el","spliceIdx","findIndex","splice","stackedEvents","Object","keys","pos"],"sourceRoot":"../../../src","sources":["utils/generate-event-layouts.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_partition","_reduce","_sortBy","_reverse","moment","CalendarLayout","computeCalendarDateRange","dateRangeIntersect","getDuration","getDurationInDays","isAllDayOrSpansMidnight","startOfUserWeek","computePositioning","EventExtend","generateEventLayouts","events","startCalendarDate","endCalendarDate","userCalendarId","calendarViewInterval","startDayOfWeekOffset","timezone","allDayEvents","partDayEvents","event","allDayEventsSorted","id","Date","start","valueOf","partDayEventsSorted","calendarViewDayEvents","visibleDayCount","tz","diff","visibleDays","dayCount","push","add","format","calendarViewDateRanges","map","visibleDay","result","forEach","date","calendarLayoutOptions","visibleX","dayIndexes","enableWeekBreaks","startOfWeekXOffset","basisDate","calendarViewDayLayout","calendarLayout","eventStartIndex","startOf","eventDurationDays","findFitAndInsert","calendarViewDayRowHeight","height","calendarDates","calendarDate","currentDayDate","startDate","toDate","endDate","endOf","showHours","includes","dayId","allDayEventsLayout","partDayEventsLayout","x","y","visibleWidthDays","extend","None","isPrimaryRendered","getViewAt","rowIndex","concat","handleCollisions","filter","end","combineEventPosition","dayDate","collisionObject","position","startOfDayMoment","allEvents","sortById","sortByDuration","sortByStartDate","sortByPrimaryCalendar","calendarId","stackableEvents","stackedEvtsByPos","curStack","evt","idx","length","stackEvt","stackEvtEnd","eventStart","collisions","total","order","some","el","spliceIdx","findIndex","splice","stackedEvents","Object","keys","pos"],"sourceRoot":"../../../src","sources":["utils/generate-event-layouts.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,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,gCAmH7B,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,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,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,gCAuH7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-event-layouts.d.ts","sourceRoot":"","sources":["../../../../src/utils/generate-event-layouts.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,aAAa,EACb,wBAAwB,EAGxB,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAElB,UAAU,oBAAoB,CAAC,CAAC,SAAS,aAAa;IACpD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,yHAQzD,oBAAoB,CAAC,CAAC,CAAC;;CA8JzB,CAAC;AAgHF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"generate-event-layouts.d.ts","sourceRoot":"","sources":["../../../../src/utils/generate-event-layouts.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,aAAa,EACb,wBAAwB,EAGxB,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAElB,UAAU,oBAAoB,CAAC,CAAC,SAAS,aAAa;IACpD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,yHAQzD,oBAAoB,CAAC,CAAC,CAAC;;CA8JzB,CAAC;AAiHF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,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,gCAmH7B,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,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,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,gCAuH7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-event-layouts.d.ts","sourceRoot":"","sources":["../../../../src/utils/generate-event-layouts.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,aAAa,EACb,wBAAwB,EAGxB,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAElB,UAAU,oBAAoB,CAAC,CAAC,SAAS,aAAa;IACpD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,yHAQzD,oBAAoB,CAAC,CAAC,CAAC;;CA8JzB,CAAC;AAgHF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"generate-event-layouts.d.ts","sourceRoot":"","sources":["../../../../src/utils/generate-event-layouts.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,aAAa,EACb,wBAAwB,EAGxB,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAElB,UAAU,oBAAoB,CAAC,CAAC,SAAS,aAAa;IACpD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,yHAQzD,oBAAoB,CAAC,CAAC,CAAC;;CA8JzB,CAAC;AAiHF,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsama/event-calendar",
3
- "version": "0.11.4",
3
+ "version": "0.11.6",
4
4
  "description": "Event calendar.",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -52,12 +52,16 @@ const TimedEventContainer = <T extends CalendarEvent>({
52
52
  setIsEditing(layout);
53
53
  }, [layout, setIsEditing]);
54
54
 
55
+ const onPressOverride = useCallback(() => {
56
+ if (onPressEvent) {
57
+ onPressEvent(layout.event);
58
+ }
59
+ }, [layout, onPressEvent]);
60
+
55
61
  const gestureTap = Gesture.Tap()
56
62
  .enabled(!isEditing)
57
63
  .onStart(() => {
58
- if (onPressEvent) {
59
- runOnJS(onPressEvent)(layout.event);
60
- }
64
+ runOnJS(onPressOverride)();
61
65
  });
62
66
 
63
67
  const startY = useSharedValue(0);
@@ -107,6 +107,118 @@ describe("generateEventLayouts", () => {
107
107
  expect(partDayEventsLayout[1].collisions).toBe(undefined);
108
108
  });
109
109
 
110
+ it("should treat touching events as non-overlapping: [09:00,10:00) and [10:00,11:00)", () => {
111
+ const events: CalendarEvent[] = [
112
+ {
113
+ id: "1",
114
+ calendarId: "primary-calendar",
115
+ title: "Event A",
116
+ start: "2023-10-10T09:00:00Z",
117
+ end: "2023-10-10T10:00:00Z",
118
+ },
119
+ {
120
+ id: "2",
121
+ calendarId: "primary-calendar",
122
+ title: "Event B",
123
+ start: "2023-10-10T10:00:00Z",
124
+ end: "2023-10-10T11:00:00Z",
125
+ },
126
+ ];
127
+
128
+ const layouts = generateEventLayouts({
129
+ startCalendarDate: "2023-10-10",
130
+ endCalendarDate: "2023-10-10",
131
+ events,
132
+ timezone: "UTC",
133
+ userCalendarId: "primary-calendar",
134
+ });
135
+
136
+ const dayLayout = layouts["2023-10-10"];
137
+ expect(dayLayout).toBeDefined();
138
+ const { partDayEventsLayout } = dayLayout;
139
+ expect(partDayEventsLayout.length).toBe(2);
140
+ // Touching at boundary should not collide
141
+ expect(partDayEventsLayout[0].collisions).toBeUndefined();
142
+ expect(partDayEventsLayout[1].collisions).toBeUndefined();
143
+ // Both should have full width
144
+ expect(partDayEventsLayout[0].position.width).toBe("100%");
145
+ expect(partDayEventsLayout[1].position.width).toBe("100%");
146
+ });
147
+
148
+ it("should treat touching events as non-overlapping: reversed order [10:00,11:00) then [09:00,10:00)", () => {
149
+ const events: CalendarEvent[] = [
150
+ {
151
+ id: "1",
152
+ calendarId: "primary-calendar",
153
+ title: "Event A",
154
+ start: "2023-10-10T10:00:00Z",
155
+ end: "2023-10-10T11:00:00Z",
156
+ },
157
+ {
158
+ id: "0",
159
+ calendarId: "primary-calendar",
160
+ title: "Event B",
161
+ start: "2023-10-10T09:00:00Z",
162
+ end: "2023-10-10T10:00:00Z",
163
+ },
164
+ ];
165
+
166
+ const layouts = generateEventLayouts({
167
+ startCalendarDate: "2023-10-10",
168
+ endCalendarDate: "2023-10-10",
169
+ events,
170
+ timezone: "UTC",
171
+ userCalendarId: "primary-calendar",
172
+ });
173
+
174
+ const dayLayout = layouts["2023-10-10"];
175
+ expect(dayLayout).toBeDefined();
176
+ const { partDayEventsLayout } = dayLayout;
177
+ expect(partDayEventsLayout.length).toBe(2);
178
+ expect(partDayEventsLayout[0].collisions).toBeUndefined();
179
+ expect(partDayEventsLayout[1].collisions).toBeUndefined();
180
+ expect(partDayEventsLayout[0].position.width).toBe("100%");
181
+ expect(partDayEventsLayout[1].position.width).toBe("100%");
182
+ });
183
+
184
+ it("should not collide zero-duration event with an event starting at the same time", () => {
185
+ const events: CalendarEvent[] = [
186
+ {
187
+ id: "1",
188
+ calendarId: "primary-calendar",
189
+ title: "Instant",
190
+ start: "2023-10-10T10:00:00Z",
191
+ end: "2023-10-10T10:00:00Z",
192
+ },
193
+ {
194
+ id: "2",
195
+ calendarId: "primary-calendar",
196
+ title: "One hour",
197
+ start: "2023-10-10T10:00:00Z",
198
+ end: "2023-10-10T11:00:00Z",
199
+ },
200
+ ];
201
+
202
+ const layouts = generateEventLayouts({
203
+ startCalendarDate: "2023-10-10",
204
+ endCalendarDate: "2023-10-10",
205
+ events,
206
+ timezone: "UTC",
207
+ userCalendarId: "primary-calendar",
208
+ });
209
+
210
+ const dayLayout = layouts["2023-10-10"];
211
+ expect(dayLayout).toBeDefined();
212
+ const { partDayEventsLayout } = dayLayout;
213
+ expect(partDayEventsLayout.length).toBe(2);
214
+ // Neither should have collisions
215
+ expect(partDayEventsLayout[0].collisions).toBeUndefined();
216
+ expect(partDayEventsLayout[1].collisions).toBeUndefined();
217
+ // Both should be full width
218
+ expect(partDayEventsLayout[0].position.width).toBe("100%");
219
+ expect(partDayEventsLayout[1].position.width).toBe("100%");
220
+ });
221
+
110
222
  it("should handle an empty event list", () => {
111
223
  const events: CalendarEvent[] = [];
112
224
 
@@ -224,14 +224,19 @@ const handleCollisions = <T extends CalendarEvent>(
224
224
  dayDate: Moment,
225
225
  timezone: string
226
226
  ): PartDayEventLayoutType<T>[] => {
227
- let stackableEvents = _sortBy(allEvents, (event) => event.id);
228
- stackableEvents = _sortBy(stackableEvents, (event) => {
229
- // current user's primary calendar should always be leftmost option
230
- return event.calendarId && !event.calendarId.includes(userCalendarId);
231
- });
232
- stackableEvents = _sortBy(stackableEvents, (event) =>
233
- new Date(event.start).valueOf()
227
+ // Sort by start asc (primary), then primary calendar flag, then duration asc,
228
+ // then id (stable tiebreaker)
229
+ const sortById = (event: T) => event.id;
230
+ const sortByDuration = (event: T) => getDuration(event);
231
+ const sortByStartDate = (event: T) => new Date(event.start).valueOf();
232
+ const sortByPrimaryCalendar = (event: T) =>
233
+ event.calendarId && event.calendarId !== userCalendarId;
234
+
235
+ const stackableEvents = _sortBy(
236
+ [...allEvents],
237
+ [sortByStartDate, sortByPrimaryCalendar, sortByDuration, sortById]
234
238
  );
239
+
235
240
  // calculate overlap stack properties
236
241
  const stackedEvtsByPos: Record<string, PartDayEventLayoutType<T>[]> = {};
237
242
  let curStack: (CollisionObject<T> | null)[] = [];
@@ -243,16 +248,12 @@ const handleCollisions = <T extends CalendarEvent>(
243
248
 
244
249
  if (stackEvt) {
245
250
  const stackEvtEnd = new Date(stackEvt.event.end).valueOf();
246
- const stackEvtStart = new Date(stackEvt.event.start).valueOf();
247
251
  const eventStart = new Date(evt.start).valueOf();
248
252
 
249
- // events shorter than 15 minutes behave as if they had 15 minute duration.
250
- // matches behavior in calendar view, where the shortest 'height' an event is given matches the height of a 15 minute event.
251
- const duration = (stackEvtEnd - stackEvtStart) / (1000 * 60);
252
- const endDate =
253
- duration < 15 ? stackEvtStart + 15 * 60 * 1000 : stackEvtEnd;
254
-
255
- if (endDate <= eventStart) {
253
+ // Use half-open interval semantics [start, end):
254
+ // an active event is removed when its end is less than or equal to the next start.
255
+ // Do not pad short events when determining overlap/collision.
256
+ if (stackEvtEnd <= eventStart) {
256
257
  // null out this event's position in stack
257
258
  curStack[idx] = null;
258
259