@mantine/schedule 9.6.1 → 9.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/DayView/DayView.cjs +37 -16
- package/cjs/components/DayView/DayView.cjs.map +1 -1
- package/cjs/components/DayView/DayView.module.cjs +1 -0
- package/cjs/components/DayView/DayView.module.cjs.map +1 -1
- package/cjs/components/MobileMonthView/MobileMonthView.cjs +1 -1
- package/cjs/components/MobileMonthView/MobileMonthView.cjs.map +1 -1
- package/cjs/components/ResourcesDayView/ResourcesDayView.cjs +39 -14
- package/cjs/components/ResourcesDayView/ResourcesDayView.cjs.map +1 -1
- package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs.map +1 -1
- package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs.map +1 -1
- package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs +45 -15
- package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs.map +1 -1
- package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs.map +1 -1
- package/cjs/components/Schedule/Schedule.cjs.map +1 -1
- package/cjs/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs +18 -3
- package/cjs/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs.map +1 -1
- package/cjs/components/WeekView/WeekView.cjs +36 -13
- package/cjs/components/WeekView/WeekView.cjs.map +1 -1
- package/cjs/components/WeekView/WeekView.module.cjs +1 -0
- package/cjs/components/WeekView/WeekView.module.cjs.map +1 -1
- package/cjs/hooks/use-event-resize.cjs +7 -4
- package/cjs/hooks/use-event-resize.cjs.map +1 -1
- package/cjs/hooks/use-horizontal-event-resize.cjs +7 -4
- package/cjs/hooks/use-horizontal-event-resize.cjs.map +1 -1
- package/esm/components/DayView/DayView.mjs +37 -16
- package/esm/components/DayView/DayView.mjs.map +1 -1
- package/esm/components/DayView/DayView.module.mjs +1 -0
- package/esm/components/DayView/DayView.module.mjs.map +1 -1
- package/esm/components/MobileMonthView/MobileMonthView.mjs +1 -1
- package/esm/components/MobileMonthView/MobileMonthView.mjs.map +1 -1
- package/esm/components/ResourcesDayView/ResourcesDayView.mjs +39 -14
- package/esm/components/ResourcesDayView/ResourcesDayView.mjs.map +1 -1
- package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs.map +1 -1
- package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs.map +1 -1
- package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs +45 -15
- package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs.map +1 -1
- package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs.map +1 -1
- package/esm/components/Schedule/Schedule.mjs.map +1 -1
- package/esm/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.mjs +19 -4
- package/esm/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.mjs.map +1 -1
- package/esm/components/WeekView/WeekView.mjs +36 -13
- package/esm/components/WeekView/WeekView.mjs.map +1 -1
- package/esm/components/WeekView/WeekView.module.mjs +1 -0
- package/esm/components/WeekView/WeekView.module.mjs.map +1 -1
- package/esm/hooks/use-event-resize.mjs +7 -4
- package/esm/hooks/use-event-resize.mjs.map +1 -1
- package/esm/hooks/use-horizontal-event-resize.mjs +7 -4
- package/esm/hooks/use-horizontal-event-resize.mjs.map +1 -1
- package/lib/components/DayView/DayView.d.ts +2 -2
- package/lib/components/ResourcesDayView/ResourcesDayView.d.ts +1 -1
- package/lib/components/ResourcesSchedule/ResourcesSchedule.d.ts +1 -1
- package/lib/components/ResourcesWeekView/ResourcesWeekView.d.ts +1 -1
- package/lib/components/Schedule/Schedule.d.ts +1 -1
- package/lib/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.d.ts +15 -2
- package/lib/components/WeekView/WeekView.d.ts +2 -2
- package/lib/hooks/use-event-resize.d.ts +3 -2
- package/lib/hooks/use-horizontal-event-resize.d.ts +3 -2
- package/package.json +4 -4
- package/styles.css +254 -6
- package/styles.layer.css +254 -6
|
@@ -95,7 +95,7 @@ export interface ResourcesScheduleProps extends BoxProps, StylesApiProps<Resourc
|
|
|
95
95
|
}) => void;
|
|
96
96
|
/** Function to determine if event can be resized */
|
|
97
97
|
canResizeEvent?: (event: ScheduleEventData) => boolean;
|
|
98
|
-
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick`. Applies to `day` and `week` views only – `ResourcesMonthView` does not render background events separately. @default false */
|
|
98
|
+
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick`. Applies to `day` and `week` views only – `ResourcesMonthView` does not render background events separately. Combined with `withEventResize`, timed background events can also be resized by dragging their edges. @default false */
|
|
99
99
|
withInteractiveBackgroundEvents?: boolean;
|
|
100
100
|
/** Max number of generated recurring instances @default 2000 */
|
|
101
101
|
recurrenceExpansionLimit?: number;
|
|
@@ -76,7 +76,7 @@ export interface ResourcesWeekViewProps extends BoxProps, StylesApiProps<Resourc
|
|
|
76
76
|
resourceId?: string | number;
|
|
77
77
|
}) => void;
|
|
78
78
|
onEventClick?: (event: ScheduleEventData, e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
79
|
-
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick` @default false */
|
|
79
|
+
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick`. Combined with `withEventResize`, timed background events can also be resized by dragging their edges. @default false */
|
|
80
80
|
withInteractiveBackgroundEvents?: boolean;
|
|
81
81
|
withDragSlotSelect?: boolean;
|
|
82
82
|
onSlotDragEnd?: (data: {
|
|
@@ -84,7 +84,7 @@ export interface ScheduleProps extends BoxProps, StylesApiProps<ScheduleFactory>
|
|
|
84
84
|
}) => void;
|
|
85
85
|
/** Function to determine if event can be resized */
|
|
86
86
|
canResizeEvent?: (event: ScheduleEventData) => boolean;
|
|
87
|
-
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick`. Applies to `day`, `week` and `month` views only – `YearView` and the `MobileMonthView` used by `layout="responsive"` on small screens do not render background events at all. @default false */
|
|
87
|
+
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick`. Applies to `day`, `week` and `month` views only – `YearView` and the `MobileMonthView` used by `layout="responsive"` on small screens do not render background events at all. Combined with `withEventResize`, timed background events in `day` and `week` views can also be resized by dragging their edges. @default false */
|
|
88
88
|
withInteractiveBackgroundEvents?: boolean;
|
|
89
89
|
/** Max number of generated recurring instances per recurring series @default 2000 */
|
|
90
90
|
recurrenceExpansionLimit?: number;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BoxProps, ElementProps } from '@mantine/core';
|
|
2
2
|
import { ScheduleEventData } from '../../types';
|
|
3
3
|
import { RenderEvent, RenderEventBody } from '../ScheduleEvent/ScheduleEvent';
|
|
4
|
-
export
|
|
4
|
+
export type ScheduleBackgroundEventResizeEdge = 'top' | 'bottom' | 'start' | 'end';
|
|
5
|
+
export interface ScheduleBackgroundEventProps<Edge extends ScheduleBackgroundEventResizeEdge = ScheduleBackgroundEventResizeEdge> extends BoxProps, ElementProps<'div', 'onClick'> {
|
|
5
6
|
/** Background event to display */
|
|
6
7
|
event: ScheduleEventData;
|
|
7
8
|
/** If set, the root element is a `button` instead of a `div` and the event can be clicked @default false */
|
|
@@ -12,8 +13,20 @@ export interface ScheduleBackgroundEventProps extends BoxProps, ElementProps<'di
|
|
|
12
13
|
renderEvent?: RenderEvent;
|
|
13
14
|
/** Function to customize event body */
|
|
14
15
|
renderEventBody?: RenderEventBody;
|
|
16
|
+
/** If set, the event renders resize handles on both of its edges @default false */
|
|
17
|
+
withResize?: boolean;
|
|
18
|
+
/** Axis along which the event is resized, defines which edges render handles @default 'vertical' */
|
|
19
|
+
resizeAxis?: 'vertical' | 'horizontal';
|
|
20
|
+
/** Props passed down to both resize handles, usually a styles api props object */
|
|
21
|
+
resizeHandleProps?: Record<string, any>;
|
|
22
|
+
/** Called when resize starts on an edge */
|
|
23
|
+
onResizeStart?: (edge: Edge, e: React.PointerEvent) => void;
|
|
24
|
+
/** If set, the event is currently being resized @default false */
|
|
25
|
+
isResizing?: boolean;
|
|
26
|
+
/** Edge that is currently being dragged, only relevant when `isResizing` is set */
|
|
27
|
+
activeResizeEdge?: Edge | null;
|
|
15
28
|
}
|
|
16
|
-
export declare function ScheduleBackgroundEvent(props: ScheduleBackgroundEventProps): import("react").JSX.Element;
|
|
29
|
+
export declare function ScheduleBackgroundEvent<Edge extends ScheduleBackgroundEventResizeEdge = ScheduleBackgroundEventResizeEdge>(props: ScheduleBackgroundEventProps<Edge>): import("react").JSX.Element;
|
|
17
30
|
export declare namespace ScheduleBackgroundEvent {
|
|
18
31
|
var displayName: string;
|
|
19
32
|
}
|
|
@@ -7,7 +7,7 @@ import { CurrentTimeIndicatorStylesNames } from '../CurrentTimeIndicator/Current
|
|
|
7
7
|
import { RenderEvent, RenderEventBody } from '../ScheduleEvent/ScheduleEvent';
|
|
8
8
|
import { CombinedScheduleHeaderStylesNames } from '../ScheduleHeader/ScheduleHeader';
|
|
9
9
|
import { ViewSelectProps } from '../ScheduleHeader/ViewSelect/ViewSelect';
|
|
10
|
-
export type WeekViewStylesNames = 'weekView' | 'weekViewRoot' | 'weekViewHeader' | 'weekViewInner' | 'weekViewAllDaySlotsEvents' | 'weekViewAllDaySlots' | 'weekViewAllDaySlotsList' | 'weekViewAllDaySlot' | 'weekViewAllDaySlotsLabel' | 'weekViewScrollArea' | 'weekViewCorner' | 'weekViewSlotLabels' | 'weekViewSlotLabel' | 'weekViewDayLabel' | 'weekViewDayWeekday' | 'weekViewDay' | 'weekViewDayNumber' | 'weekViewDaySlot' | 'weekViewDaySlots' | 'weekViewWeekLabel' | 'weekViewWeekNumber' | 'weekViewBackgroundEvent' | 'weekViewDragPreview' | CurrentTimeIndicatorStylesNames | CombinedScheduleHeaderStylesNames | AgendaViewStylesNames;
|
|
10
|
+
export type WeekViewStylesNames = 'weekView' | 'weekViewRoot' | 'weekViewHeader' | 'weekViewInner' | 'weekViewAllDaySlotsEvents' | 'weekViewAllDaySlots' | 'weekViewAllDaySlotsList' | 'weekViewAllDaySlot' | 'weekViewAllDaySlotsLabel' | 'weekViewScrollArea' | 'weekViewCorner' | 'weekViewSlotLabels' | 'weekViewSlotLabel' | 'weekViewDayLabel' | 'weekViewDayWeekday' | 'weekViewDay' | 'weekViewDayNumber' | 'weekViewDaySlot' | 'weekViewDaySlots' | 'weekViewWeekLabel' | 'weekViewWeekNumber' | 'weekViewBackgroundEvent' | 'weekViewBackgroundEventResizeHandle' | 'weekViewDragPreview' | CurrentTimeIndicatorStylesNames | CombinedScheduleHeaderStylesNames | AgendaViewStylesNames;
|
|
11
11
|
export type WeekViewCssVariables = {
|
|
12
12
|
weekView: '--week-view-radius' | '--week-view-slot-height' | '--week-view-all-day-slots-height';
|
|
13
13
|
};
|
|
@@ -116,7 +116,7 @@ export interface WeekViewProps extends BoxProps, StylesApiProps<WeekViewFactory>
|
|
|
116
116
|
onAllDaySlotClick?: (day: DateStringValue, event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
117
117
|
/** Called when event is clicked */
|
|
118
118
|
onEventClick?: (event: ScheduleEventData, e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
119
|
-
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick` @default false */
|
|
119
|
+
/** If set, background events (`display: 'background'`) can be clicked and trigger `onEventClick`. Combined with `withEventResize`, timed background events can also be resized by dragging their edges. @default false */
|
|
120
120
|
withInteractiveBackgroundEvents?: boolean;
|
|
121
121
|
/** If set, enables drag-to-select time slot ranges @default false */
|
|
122
122
|
withDragSlotSelect?: boolean;
|
|
@@ -14,8 +14,9 @@ export interface UseEventResizeInput {
|
|
|
14
14
|
event: ScheduleEventData;
|
|
15
15
|
}) => void;
|
|
16
16
|
canResizeEvent?: (event: ScheduleEventData) => boolean;
|
|
17
|
+
withBackgroundEvents?: boolean;
|
|
17
18
|
}
|
|
18
|
-
export declare function useEventResize({ enabled, mode, startTime, endTime, intervalMinutes, resizeIntervalMinutes, onEventResize, canResizeEvent, }: UseEventResizeInput): {
|
|
19
|
+
export declare function useEventResize({ enabled, mode, startTime, endTime, intervalMinutes, resizeIntervalMinutes, onEventResize, canResizeEvent, withBackgroundEvents, }: UseEventResizeInput): {
|
|
19
20
|
handleResizeStart: ({ event, edge, container, originalTop, originalHeight, eventDate, pointerEvent, }: {
|
|
20
21
|
event: ScheduleEventData;
|
|
21
22
|
edge: ResizeEdge;
|
|
@@ -27,7 +28,7 @@ export declare function useEventResize({ enabled, mode, startTime, endTime, inte
|
|
|
27
28
|
}) => void;
|
|
28
29
|
isResizing: boolean;
|
|
29
30
|
resizingEventId: string | number | null;
|
|
30
|
-
getResizePosition: (eventId: string | number) => {
|
|
31
|
+
getResizePosition: (eventId: string | number, eventDate?: string) => {
|
|
31
32
|
top: number;
|
|
32
33
|
height: number;
|
|
33
34
|
} | null;
|
|
@@ -14,8 +14,9 @@ export interface UseHorizontalEventResizeInput {
|
|
|
14
14
|
event: ScheduleEventData;
|
|
15
15
|
}) => void;
|
|
16
16
|
canResizeEvent?: (event: ScheduleEventData) => boolean;
|
|
17
|
+
withBackgroundEvents?: boolean;
|
|
17
18
|
}
|
|
18
|
-
export declare function useHorizontalEventResize({ enabled, mode, startTime, endTime, intervalMinutes, resizeIntervalMinutes, onEventResize, canResizeEvent, }: UseHorizontalEventResizeInput): {
|
|
19
|
+
export declare function useHorizontalEventResize({ enabled, mode, startTime, endTime, intervalMinutes, resizeIntervalMinutes, onEventResize, canResizeEvent, withBackgroundEvents, }: UseHorizontalEventResizeInput): {
|
|
19
20
|
handleResizeStart: ({ event, edge, container, originalLeft, originalWidth, eventDate, dayIndex, dayCount, pointerEvent, }: {
|
|
20
21
|
event: ScheduleEventData;
|
|
21
22
|
edge: ResizeEdge;
|
|
@@ -30,7 +31,7 @@ export declare function useHorizontalEventResize({ enabled, mode, startTime, end
|
|
|
30
31
|
isResizing: boolean;
|
|
31
32
|
resizingEventId: string | number | null;
|
|
32
33
|
resizingEdge: ResizeEdge | null;
|
|
33
|
-
getResizePosition: (eventId: string | number) => {
|
|
34
|
+
getResizePosition: (eventId: string | number, eventDate?: string) => {
|
|
34
35
|
left: number;
|
|
35
36
|
width: number;
|
|
36
37
|
} | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/schedule",
|
|
3
|
-
"version": "9.6.
|
|
3
|
+
"version": "9.6.2",
|
|
4
4
|
"description": "Schedule Mantine component",
|
|
5
5
|
"homepage": "https://mantine.dev/",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"directory": "packages/@mantine/schedule"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@mantine/core": "9.6.
|
|
39
|
-
"@mantine/dates": "9.6.
|
|
40
|
-
"@mantine/hooks": "9.6.
|
|
38
|
+
"@mantine/core": "9.6.2",
|
|
39
|
+
"@mantine/dates": "9.6.2",
|
|
40
|
+
"@mantine/hooks": "9.6.2",
|
|
41
41
|
"react": "^19.2.0",
|
|
42
42
|
"react-dom": "^19.2.0"
|
|
43
43
|
},
|
package/styles.css
CHANGED
|
@@ -984,9 +984,82 @@
|
|
|
984
984
|
}
|
|
985
985
|
}
|
|
986
986
|
|
|
987
|
-
|
|
987
|
+
/* The resized edge repeatedly crosses the pointer, so hover feedback would flicker */
|
|
988
|
+
|
|
989
|
+
@media (hover: hover) {
|
|
990
|
+
|
|
991
|
+
.m_c5cd9a77:where([data-resizing]):hover {
|
|
992
|
+
background-color: var(--bg-event-bg);
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
@media (hover: none) {
|
|
997
|
+
|
|
998
|
+
.m_c5cd9a77:where([data-resizing]):active {
|
|
999
|
+
background-color: var(--bg-event-bg);
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
.m_cddb9413 {
|
|
1004
|
+
position: absolute;
|
|
1005
|
+
left: 50%;
|
|
1006
|
+
transform: translateX(-50%);
|
|
1007
|
+
width: 40%;
|
|
1008
|
+
max-width: calc(2.5rem * var(--mantine-scale));
|
|
1009
|
+
height: calc(0.25rem * var(--mantine-scale));
|
|
1010
|
+
border-radius: calc(0.125rem * var(--mantine-scale));
|
|
1011
|
+
cursor: ns-resize;
|
|
1012
|
+
pointer-events: all;
|
|
1013
|
+
z-index: 4;
|
|
1014
|
+
touch-action: none;
|
|
1015
|
+
background-color: var(--bg-event-color);
|
|
1016
|
+
opacity: 0;
|
|
1017
|
+
transition: opacity 100ms ease;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
.m_cddb9413::before {
|
|
1021
|
+
content: '';
|
|
1022
|
+
position: absolute;
|
|
1023
|
+
inset: calc(-0.25rem * var(--mantine-scale)) calc(-0.375rem * var(--mantine-scale));
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
.m_cddb9413:where([data-edge='top']) {
|
|
1027
|
+
top: 0;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
.m_cddb9413:where([data-edge='bottom']) {
|
|
1031
|
+
bottom: 0;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
.m_c5cd9a77:where(:hover, [data-resizing]) .m_cddb9413 {
|
|
1035
|
+
opacity: 0.5;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
@media (hover: hover) {
|
|
1039
|
+
|
|
1040
|
+
.m_cddb9413:hover {
|
|
1041
|
+
opacity: 0.8;
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
@media (hover: none) {
|
|
1046
|
+
|
|
1047
|
+
.m_cddb9413:active {
|
|
1048
|
+
opacity: 0.8;
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
/* The resizing background event is the one that set `data-event-interaction`, so it must
|
|
1053
|
+
keep capturing pointer events. */
|
|
1054
|
+
.m_3c5fb2d5:where([data-event-interaction], [data-slot-dragging])
|
|
1055
|
+
.m_c5cd9a77:not([data-resizing]) {
|
|
988
1056
|
pointer-events: none;
|
|
989
1057
|
}
|
|
1058
|
+
.m_3c5fb2d5:where([data-event-interaction], [data-slot-dragging])
|
|
1059
|
+
.m_c5cd9a77:not([data-resizing]) .m_cddb9413 {
|
|
1060
|
+
pointer-events: none;
|
|
1061
|
+
opacity: 0;
|
|
1062
|
+
}
|
|
990
1063
|
|
|
991
1064
|
.m_c6f08d70 {
|
|
992
1065
|
position: relative;
|
|
@@ -1864,11 +1937,82 @@
|
|
|
1864
1937
|
}
|
|
1865
1938
|
}
|
|
1866
1939
|
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1940
|
+
/* The resized edge repeatedly crosses the pointer, so hover feedback would flicker */
|
|
1941
|
+
|
|
1942
|
+
@media (hover: hover) {
|
|
1943
|
+
|
|
1944
|
+
.m_41ce8f1f:where([data-resizing]):hover {
|
|
1945
|
+
background-color: var(--bg-event-bg);
|
|
1946
|
+
}
|
|
1947
|
+
}
|
|
1948
|
+
|
|
1949
|
+
@media (hover: none) {
|
|
1950
|
+
|
|
1951
|
+
.m_41ce8f1f:where([data-resizing]):active {
|
|
1952
|
+
background-color: var(--bg-event-bg);
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1956
|
+
.m_b20accbb {
|
|
1957
|
+
position: absolute;
|
|
1958
|
+
left: 50%;
|
|
1959
|
+
transform: translateX(-50%);
|
|
1960
|
+
width: 40%;
|
|
1961
|
+
max-width: calc(2.5rem * var(--mantine-scale));
|
|
1962
|
+
height: calc(0.25rem * var(--mantine-scale));
|
|
1963
|
+
border-radius: calc(0.125rem * var(--mantine-scale));
|
|
1964
|
+
cursor: ns-resize;
|
|
1965
|
+
pointer-events: all;
|
|
1966
|
+
z-index: 4;
|
|
1967
|
+
touch-action: none;
|
|
1968
|
+
background-color: var(--bg-event-color);
|
|
1969
|
+
opacity: 0;
|
|
1970
|
+
transition: opacity 100ms ease;
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1973
|
+
.m_b20accbb::before {
|
|
1974
|
+
content: '';
|
|
1975
|
+
position: absolute;
|
|
1976
|
+
inset: calc(-0.25rem * var(--mantine-scale)) calc(-0.375rem * var(--mantine-scale));
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
.m_b20accbb:where([data-edge='top']) {
|
|
1980
|
+
top: 0;
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
.m_b20accbb:where([data-edge='bottom']) {
|
|
1984
|
+
bottom: 0;
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1987
|
+
.m_41ce8f1f:where(:hover, [data-resizing]) .m_b20accbb {
|
|
1988
|
+
opacity: 0.5;
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
@media (hover: hover) {
|
|
1992
|
+
|
|
1993
|
+
.m_b20accbb:hover {
|
|
1994
|
+
opacity: 0.8;
|
|
1995
|
+
}
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
@media (hover: none) {
|
|
1999
|
+
|
|
2000
|
+
.m_b20accbb:active {
|
|
2001
|
+
opacity: 0.8;
|
|
2002
|
+
}
|
|
2003
|
+
}
|
|
2004
|
+
|
|
2005
|
+
/* The resizing background event is the one that set `data-event-interaction`, so it must
|
|
2006
|
+
keep capturing pointer events. */
|
|
2007
|
+
.m_42b9032d:where([data-slot-dragging]) .m_41ce8f1f:not([data-resizing]),
|
|
2008
|
+
.m_6b2099af:where([data-event-interaction]) .m_41ce8f1f:not([data-resizing]),
|
|
2009
|
+
.m_6b2099af:where([data-all-day-dragging]) .m_41ce8f1f:not([data-resizing]) {
|
|
1870
2010
|
pointer-events: none;
|
|
1871
2011
|
}
|
|
2012
|
+
.m_42b9032d:where([data-slot-dragging]) .m_41ce8f1f:not([data-resizing]) .m_b20accbb, .m_6b2099af:where([data-event-interaction]) .m_41ce8f1f:not([data-resizing]) .m_b20accbb, .m_6b2099af:where([data-all-day-dragging]) .m_41ce8f1f:not([data-resizing]) .m_b20accbb {
|
|
2013
|
+
pointer-events: none;
|
|
2014
|
+
opacity: 0;
|
|
2015
|
+
}
|
|
1872
2016
|
|
|
1873
2017
|
.m_cd58ae46 {
|
|
1874
2018
|
position: relative;
|
|
@@ -2810,6 +2954,22 @@
|
|
|
2810
2954
|
}
|
|
2811
2955
|
}
|
|
2812
2956
|
|
|
2957
|
+
/* The resized edge repeatedly crosses the pointer, so hover feedback would flicker */
|
|
2958
|
+
|
|
2959
|
+
@media (hover: hover) {
|
|
2960
|
+
|
|
2961
|
+
.m_9cc838bf:where([data-resizing]):hover {
|
|
2962
|
+
background-color: var(--bg-event-bg);
|
|
2963
|
+
}
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2966
|
+
@media (hover: none) {
|
|
2967
|
+
|
|
2968
|
+
.m_9cc838bf:where([data-resizing]):active {
|
|
2969
|
+
background-color: var(--bg-event-bg);
|
|
2970
|
+
}
|
|
2971
|
+
}
|
|
2972
|
+
|
|
2813
2973
|
.m_d6d6dd52 {
|
|
2814
2974
|
position: absolute;
|
|
2815
2975
|
inset-inline: calc(0.0625rem * var(--mantine-scale));
|
|
@@ -2871,10 +3031,46 @@
|
|
|
2871
3031
|
pointer-events: none;
|
|
2872
3032
|
}
|
|
2873
3033
|
|
|
3034
|
+
/* The resizing background event is the one that set `data-event-interaction`, so it must
|
|
3035
|
+
keep capturing pointer events. */
|
|
2874
3036
|
.m_25154d8d:where([data-event-interaction], [data-slot-dragging])
|
|
2875
|
-
.m_9cc838bf {
|
|
3037
|
+
.m_9cc838bf:not([data-resizing]) {
|
|
2876
3038
|
pointer-events: none;
|
|
2877
3039
|
}
|
|
3040
|
+
.m_25154d8d:where([data-event-interaction], [data-slot-dragging])
|
|
3041
|
+
.m_9cc838bf:not([data-resizing]) .m_97715629 {
|
|
3042
|
+
pointer-events: none;
|
|
3043
|
+
opacity: 0;
|
|
3044
|
+
}
|
|
3045
|
+
|
|
3046
|
+
.m_9cc838bf .m_97715629 {
|
|
3047
|
+
background-color: var(--bg-event-color);
|
|
3048
|
+
}
|
|
3049
|
+
|
|
3050
|
+
.m_9cc838bf .m_97715629:where([data-edge='start']) {
|
|
3051
|
+
left: 0;
|
|
3052
|
+
}
|
|
3053
|
+
|
|
3054
|
+
.m_9cc838bf .m_97715629:where([data-edge='end']) {
|
|
3055
|
+
right: 0;
|
|
3056
|
+
}
|
|
3057
|
+
|
|
3058
|
+
.m_9cc838bf:hover .m_97715629 {
|
|
3059
|
+
opacity: 0.5;
|
|
3060
|
+
}
|
|
3061
|
+
|
|
3062
|
+
.m_9cc838bf .m_97715629:hover {
|
|
3063
|
+
opacity: 0.8;
|
|
3064
|
+
}
|
|
3065
|
+
|
|
3066
|
+
.m_9cc838bf:where([data-resizing]) .m_97715629:where([data-active]) {
|
|
3067
|
+
opacity: 0.8;
|
|
3068
|
+
}
|
|
3069
|
+
|
|
3070
|
+
.m_9cc838bf:where([data-resizing]) .m_97715629:not([data-active]) {
|
|
3071
|
+
opacity: 0;
|
|
3072
|
+
pointer-events: none;
|
|
3073
|
+
}
|
|
2878
3074
|
|
|
2879
3075
|
.m_25154d8d:where([data-resizing]) * {
|
|
2880
3076
|
cursor: ew-resize !important;
|
|
@@ -3251,6 +3447,22 @@
|
|
|
3251
3447
|
}
|
|
3252
3448
|
}
|
|
3253
3449
|
|
|
3450
|
+
/* The resized edge repeatedly crosses the pointer, so hover feedback would flicker */
|
|
3451
|
+
|
|
3452
|
+
@media (hover: hover) {
|
|
3453
|
+
|
|
3454
|
+
.m_3c19323d:where([data-resizing]):hover {
|
|
3455
|
+
background-color: var(--bg-event-bg);
|
|
3456
|
+
}
|
|
3457
|
+
}
|
|
3458
|
+
|
|
3459
|
+
@media (hover: none) {
|
|
3460
|
+
|
|
3461
|
+
.m_3c19323d:where([data-resizing]):active {
|
|
3462
|
+
background-color: var(--bg-event-bg);
|
|
3463
|
+
}
|
|
3464
|
+
}
|
|
3465
|
+
|
|
3254
3466
|
.m_682c45d0 {
|
|
3255
3467
|
position: absolute;
|
|
3256
3468
|
height: var(--resources-week-view-all-day-height);
|
|
@@ -3311,10 +3523,46 @@
|
|
|
3311
3523
|
pointer-events: none;
|
|
3312
3524
|
}
|
|
3313
3525
|
|
|
3526
|
+
/* The resizing background event is the one that set `data-event-interaction`, so it must
|
|
3527
|
+
keep capturing pointer events. */
|
|
3314
3528
|
.m_ed4c47cf:where([data-event-interaction], [data-slot-dragging])
|
|
3315
|
-
.m_3c19323d {
|
|
3529
|
+
.m_3c19323d:not([data-resizing]) {
|
|
3316
3530
|
pointer-events: none;
|
|
3317
3531
|
}
|
|
3532
|
+
.m_ed4c47cf:where([data-event-interaction], [data-slot-dragging])
|
|
3533
|
+
.m_3c19323d:not([data-resizing]) .m_30c8fd6b {
|
|
3534
|
+
pointer-events: none;
|
|
3535
|
+
opacity: 0;
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3538
|
+
.m_3c19323d .m_30c8fd6b {
|
|
3539
|
+
background-color: var(--bg-event-color);
|
|
3540
|
+
}
|
|
3541
|
+
|
|
3542
|
+
.m_3c19323d .m_30c8fd6b:where([data-edge='start']) {
|
|
3543
|
+
left: 0;
|
|
3544
|
+
}
|
|
3545
|
+
|
|
3546
|
+
.m_3c19323d .m_30c8fd6b:where([data-edge='end']) {
|
|
3547
|
+
right: 0;
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3550
|
+
.m_3c19323d:hover .m_30c8fd6b {
|
|
3551
|
+
opacity: 0.5;
|
|
3552
|
+
}
|
|
3553
|
+
|
|
3554
|
+
.m_3c19323d .m_30c8fd6b:hover {
|
|
3555
|
+
opacity: 0.8;
|
|
3556
|
+
}
|
|
3557
|
+
|
|
3558
|
+
.m_3c19323d:where([data-resizing]) .m_30c8fd6b:where([data-active]) {
|
|
3559
|
+
opacity: 0.8;
|
|
3560
|
+
}
|
|
3561
|
+
|
|
3562
|
+
.m_3c19323d:where([data-resizing]) .m_30c8fd6b:not([data-active]) {
|
|
3563
|
+
opacity: 0;
|
|
3564
|
+
pointer-events: none;
|
|
3565
|
+
}
|
|
3318
3566
|
|
|
3319
3567
|
.m_ed4c47cf:where([data-resizing]) * {
|
|
3320
3568
|
cursor: ew-resize !important;
|