schedulant 1.1.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/mounts/use-checkpoint-mount.d.ts +2 -2
- package/dist/hooks/mounts/use-event-mount.d.ts +2 -2
- package/dist/hooks/mounts/use-milestone-mount.d.ts +2 -2
- package/dist/hooks/mounts/use-resource-label-mount.d.ts +2 -2
- package/dist/hooks/mounts/use-resource-lane-mount.d.ts +2 -2
- package/dist/hooks/mounts/use-schedulant-mount.d.ts +2 -2
- package/dist/hooks/use-move-timeline-event.d.ts +5 -5
- package/dist/hooks/use-move-timeline-marker.d.ts +4 -4
- package/dist/hooks/use-resource-area-resizer.d.ts +3 -3
- package/dist/hooks/use-resource-area-width.d.ts +2 -2
- package/dist/hooks/use-sync-scroll.d.ts +1 -1
- package/dist/hooks/use-timeline-selection.d.ts +2 -1
- package/dist/schedulant.css +1 -1
- package/dist/schedulant.js +42646 -14035
- package/dist/types/base.d.ts +3 -3
- package/dist/types/schedulant-view.d.ts +3 -3
- package/dist/types/schedulant.d.ts +7 -2
- package/dist/types/timeline.d.ts +5 -0
- package/dist/utils/if.d.ts +3 -3
- package/package.json +25 -21
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { SchedulantApi } from '../../types/schedulant.ts';
|
|
3
3
|
import { CheckpointApi } from '../../types/checkpoint.ts';
|
|
4
|
-
export declare const useCheckpointMount: (timelineCheckpointRef:
|
|
4
|
+
export declare const useCheckpointMount: (timelineCheckpointRef: RefObject<HTMLDivElement | null>, schedulantApi: SchedulantApi, checkpointApi: CheckpointApi) => {
|
|
5
5
|
isPast: boolean;
|
|
6
6
|
isFuture: boolean;
|
|
7
7
|
isProcess: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { SchedulantApi } from '../../types/schedulant.ts';
|
|
3
3
|
import { EventApi } from '../../types/event.ts';
|
|
4
|
-
export declare const useEventMount: (timelineEventRef:
|
|
4
|
+
export declare const useEventMount: (timelineEventRef: RefObject<HTMLDivElement | null>, schedulantApi: SchedulantApi, eventApi: EventApi) => {
|
|
5
5
|
isPast: boolean;
|
|
6
6
|
isFuture: boolean;
|
|
7
7
|
isProcess: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { SchedulantApi } from '../../types/schedulant.ts';
|
|
3
3
|
import { MilestoneApi } from '../../types/milestone.ts';
|
|
4
|
-
export declare const useMilestoneMount: (timelineMilestoneRef:
|
|
4
|
+
export declare const useMilestoneMount: (timelineMilestoneRef: RefObject<HTMLDivElement | null>, schedulantApi: SchedulantApi, milestoneApi: MilestoneApi) => {
|
|
5
5
|
isPast: boolean;
|
|
6
6
|
isFuture: boolean;
|
|
7
7
|
isProcess: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { ResourceAreaColumn } from '../../types/resource.ts';
|
|
3
3
|
import { SchedulantApi } from '../../types/schedulant.ts';
|
|
4
|
-
export declare const useResourceLabelMount: (resourceLabelCellRef:
|
|
4
|
+
export declare const useResourceLabelMount: (resourceLabelCellRef: RefObject<HTMLDivElement | null>, resourceAreaColumn: ResourceAreaColumn, schedulantApi: SchedulantApi) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { SchedulantApi } from '../../types/schedulant.ts';
|
|
3
3
|
import { ResourceApi, ResourceAreaColumn } from '../../types/resource.ts';
|
|
4
|
-
export declare const useResourceLaneMount: (resourceLaneCellRef:
|
|
4
|
+
export declare const useResourceLaneMount: (resourceLaneCellRef: RefObject<HTMLDivElement | null>, resourceAreaColumn: ResourceAreaColumn, schedulantApi: SchedulantApi, resourceApi: ResourceApi) => void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { SchedulantView } from '../../types/schedulant-view.tsx';
|
|
3
|
-
export declare const useSchedulantMount: (schedulantElRef:
|
|
3
|
+
export declare const useSchedulantMount: (schedulantElRef: RefObject<HTMLDivElement | null>, scheduleView: SchedulantView) => void;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MouseEventHandler, RefObject } from 'react';
|
|
2
2
|
import { SchedulantApi } from '../types/schedulant.ts';
|
|
3
3
|
import { EventApi } from '../types/event.ts';
|
|
4
4
|
import { ResourceApi } from '../types/resource.ts';
|
|
5
5
|
export declare const useMoveTimelineEvent: (props: {
|
|
6
|
-
timelineEventHarnessRef:
|
|
6
|
+
timelineEventHarnessRef: RefObject<HTMLDivElement | null>;
|
|
7
7
|
timelineWidth: number;
|
|
8
8
|
eventApi: EventApi;
|
|
9
9
|
resourceApi: ResourceApi;
|
|
10
10
|
schedulantApi: SchedulantApi;
|
|
11
11
|
}) => {
|
|
12
|
-
handleMouseDown:
|
|
13
|
-
leftHandleMouseDown:
|
|
14
|
-
rightHandleMouseDown:
|
|
12
|
+
handleMouseDown: MouseEventHandler<HTMLDivElement>;
|
|
13
|
+
leftHandleMouseDown: MouseEventHandler<HTMLDivElement>;
|
|
14
|
+
rightHandleMouseDown: MouseEventHandler<HTMLDivElement>;
|
|
15
15
|
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MouseEventHandler, RefObject } from 'react';
|
|
2
2
|
import { SchedulantApi } from '../types/schedulant.ts';
|
|
3
3
|
import { MilestoneApi } from '../types/milestone.ts';
|
|
4
4
|
import { CheckpointApi } from '../types/checkpoint.ts';
|
|
5
5
|
export declare const useMoveTimelineMarker: (props: {
|
|
6
|
-
markerRef:
|
|
6
|
+
markerRef: RefObject<HTMLDivElement | null>;
|
|
7
7
|
timelineWidth: number;
|
|
8
8
|
schedulantApi: SchedulantApi;
|
|
9
9
|
milestoneApi?: MilestoneApi;
|
|
10
10
|
checkpointApi?: CheckpointApi;
|
|
11
11
|
}) => {
|
|
12
|
-
handleMouseUp:
|
|
13
|
-
handleMouseDown:
|
|
12
|
+
handleMouseUp: MouseEventHandler<HTMLDivElement>;
|
|
13
|
+
handleMouseDown: MouseEventHandler<HTMLDivElement>;
|
|
14
14
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Dispatch, MouseEventHandler,
|
|
1
|
+
import { Dispatch, MouseEventHandler, RefObject } from 'react';
|
|
2
2
|
import { Action } from '../context/schedulant-state';
|
|
3
3
|
export type ResizerMouseUp = MouseEventHandler<HTMLDivElement>;
|
|
4
4
|
export type ResizerMouseDown = MouseEventHandler<HTMLDivElement>;
|
|
5
|
-
export type ResizerMouseDownFunc = (cellRef:
|
|
6
|
-
export declare const useResourceAreaResizer: (dispatch: Dispatch<Action>, scheduleElRef: RefObject<HTMLDivElement>, resourceAreaColElRef: RefObject<HTMLTableColElement>) => {
|
|
5
|
+
export type ResizerMouseDownFunc = (cellRef: RefObject<HTMLDivElement | null>) => ResizerMouseDown;
|
|
6
|
+
export declare const useResourceAreaResizer: (dispatch: Dispatch<Action>, scheduleElRef: RefObject<HTMLDivElement | null>, resourceAreaColElRef: RefObject<HTMLTableColElement | null>) => {
|
|
7
7
|
datagridResizerMouseUp: ResizerMouseUp;
|
|
8
8
|
datagridResizerMouseDown: ResizerMouseDown;
|
|
9
9
|
datagridCellResizerMouseUp: ResizerMouseUp;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useResourceAreaWidth: (resourceAreaColRef:
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export declare const useResourceAreaWidth: (resourceAreaColRef: RefObject<HTMLTableColElement | null>, resourceAreaWidth?: string) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
|
-
export declare const useSyncScroll: (mainContainer: RefObject<HTMLDivElement>, otherContainers: Array<RefObject<HTMLDivElement>>, type: string) => void;
|
|
2
|
+
export declare const useSyncScroll: (mainContainer: RefObject<HTMLDivElement | null>, otherContainers: Array<RefObject<HTMLDivElement | null>>, type: string) => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
1
2
|
import { SchedulantView } from '../types/schedulant-view.tsx';
|
|
2
3
|
export type SelectionBox = {
|
|
3
4
|
startX: number;
|
|
@@ -5,7 +6,7 @@ export type SelectionBox = {
|
|
|
5
6
|
currentX: number;
|
|
6
7
|
currentY: number;
|
|
7
8
|
};
|
|
8
|
-
export declare const useTimelineSelection: (schedulantView: SchedulantView, containerRef:
|
|
9
|
+
export declare const useTimelineSelection: (schedulantView: SchedulantView, containerRef: RefObject<HTMLDivElement | null>) => {
|
|
9
10
|
isSelecting: boolean;
|
|
10
11
|
selectionBox: SelectionBox | null;
|
|
11
12
|
};
|
package/dist/schedulant.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar-thumb{background:#848484;border-radius:5px;border:2px solid #fff;box-shadow:inset 0 0 5px #0003}::-webkit-scrollbar-thumb:hover{background-color:#91003c}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-corner{background-color:#f5f5f5}.schedulant,.schedulant *{box-sizing:border-box}.schedulant{direction:ltr;text-align:left;display:flex;flex-direction:column;font-size:1em;position:relative}.schedulant table{border-collapse:collapse;border-spacing:0;font-size:1em;table-layout:fixed;width:100%}.schedulant table td,.schedulant table th{padding:0;border:1px solid #CED4DA}.schedulant table th{text-align:center}.schedulant .schedulant-view-harness{flex-grow:1;position:relative}.schedulant .schedulant-view-harness .schedulant-view{inset:0;position:absolute}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-scroller-harness{height:100%;direction:ltr;overflow:hidden;position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-timeline-divider{cursor:col-resize;width:3px;background-color:#e9ecef}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-datagrid-cell-frame{height:100%;display:flex;justify-content:flex-start;align-items:center;position:relative;cursor:pointer}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-datagrid-cell-frame .schedulant-datagrid-cell-cushion{overflow:hidden;padding-left:8px;white-space:nowrap}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-dragging{opacity:.5;background-color:#f0f0f0}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-before{position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-before:before{content:"";position:absolute;top:-2px;left:0;right:0;height:4px;background-color:#bce8f1b3;z-index:10}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-after{position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-after:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:4px;background-color:#bce8f1b3;z-index:10}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-child{background-color:#bce8f1b3;box-shadow:inset 0 0 0 2px #bce8f1b3}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head>td{border-bottom-style:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left{height:100%;overflow:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head td,.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head th{border-bottom-style:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head .schedulant-datagrid-cell-resizer{position:absolute;top:0;bottom:0;cursor:col-resize;width:10px;z-index:1;right:-5px}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-right{overflow:hidden scroll}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-right .schedulant-timeline-head table tr:last-child td,.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-right .schedulant-timeline-head table tr:last-child th{border-bottom-style:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-left::-webkit-scrollbar{width:0}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-left{inset:0;overflow:scroll;position:absolute}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-left .schedulant-datagrid-body .schedulant-datagrid-cell-resizer{position:absolute;top:0;bottom:0;cursor:col-resize;width:10px;z-index:1;right:-5px}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-right{inset:0;position:absolute;overflow:scroll}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body{min-height:100%;position:relative;z-index:1}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-slots{position:absolute;top:0;bottom:0;z-index:1}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-slots .schedulant-timeline-slot-frame{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-slots>table{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame{position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-lane{position:absolute;inset:0;z-index:1}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events{position:relative;width:0;z-index:3}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events .schedulant-timeline-event-harness{position:absolute;z-index:2}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events .schedulant-timeline-event-harness .schedulant-timeline-event{border-radius:5px;display:flex;justify-content:space-between}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events .schedulant-timeline-event-harness .schedulant-timeline-event .schedulant-event-main{padding-left:5px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones{position:relative;width:0;z-index:4}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness{position:absolute;z-index:2}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness .schedulant-timeline-milestone{width:100%;text-align:center}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness .schedulant-timeline-milestone .schedulant-milestone-main svg{transition:transform .3s ease}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness .schedulant-timeline-milestone .schedulant-milestone-main svg:hover{transform:scale(1.2);cursor:pointer}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints{position:relative;width:0;z-index:4}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness{position:absolute;z-index:2}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness .schedulant-timeline-checkpoint{width:100%;text-align:center}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness .schedulant-timeline-checkpoint .schedulant-checkpoint-main svg{transition:transform .3s ease}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness .schedulant-timeline-checkpoint .schedulant-checkpoint-main svg:hover{transform:scale(1.2);cursor:pointer}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.schedulant .schedulant-icon{display:inline-block;height:12px;width:12px;margin-right:1px}.schedulant .schedulant-holiday{background-color:#e9ecef}.schedulant .schedulant-timeline-selection-overlay{background-color:#4285f433;border:1px solid rgba(66,133,244,.6);border-radius:2px;pointer-events:none}.schedulant .schedulant-timeline-body.selecting{cursor:crosshair;-webkit-user-select:none;user-select:none}
|
|
1
|
+
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar-thumb{background:#848484;border-radius:5px;border:2px solid #fff;box-shadow:inset 0 0 5px #0003}::-webkit-scrollbar-thumb:hover{background-color:#91003c}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-corner{background-color:#f5f5f5}.schedulant,.schedulant *{box-sizing:border-box}.schedulant{direction:ltr;text-align:left;display:flex;flex-direction:column;font-size:1em;position:relative}.schedulant table{border-collapse:collapse;border-spacing:0;font-size:1em;table-layout:fixed;width:100%}.schedulant table td,.schedulant table th{padding:0;border:1px solid #CED4DA}.schedulant table th{text-align:center}.schedulant .schedulant-view-harness{flex-grow:1;position:relative}.schedulant .schedulant-view-harness .schedulant-view{inset:0;position:absolute}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-scroller-harness{height:100%;direction:ltr;overflow:hidden;position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-timeline-divider{cursor:col-resize;width:3px;background-color:#e9ecef}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-datagrid-cell-frame{height:100%;display:flex;justify-content:flex-start;align-items:center;position:relative;cursor:pointer}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-datagrid-cell-frame .schedulant-datagrid-cell-cushion{overflow:hidden;padding-left:8px;white-space:nowrap}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-dragging{opacity:.5;background-color:#f0f0f0}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-before{position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-before:before{content:"";position:absolute;top:-2px;left:0;right:0;height:4px;background-color:var(--schedulant-drag-hint-color, rgba(66, 133, 244, .7));z-index:10}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-after{position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-after:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:4px;background-color:var(--schedulant-drag-hint-color, rgba(66, 133, 244, .7));z-index:10}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-drop-child{background-color:var(--schedulant-drag-hint-color, rgba(66, 133, 244, .7));box-shadow:inset 0 0 0 2px var(--schedulant-drag-hint-color, rgba(66, 133, 244, .7))}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-row-selected,.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section .schedulant-resource-selected{background-color:var(--schedulant-selection-color, rgba(66, 133, 244, .15))}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head>td{border-bottom-style:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left{height:100%;overflow:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head td,.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head th{border-bottom-style:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-left .schedulant-datagrid-head .schedulant-datagrid-cell-resizer{position:absolute;top:0;bottom:0;cursor:col-resize;width:10px;z-index:1;right:-5px}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-right{overflow:hidden scroll}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-right .schedulant-timeline-head table tr:last-child td,.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-head .schedulant-scroller-harness .schedulant-scroller-head-right .schedulant-timeline-head table tr:last-child th{border-bottom-style:hidden}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-left::-webkit-scrollbar{width:0}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-left{inset:0;overflow:scroll;position:absolute}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-left .schedulant-datagrid-body .schedulant-datagrid-cell-resizer{position:absolute;top:0;bottom:0;cursor:col-resize;width:10px;z-index:1;right:-5px}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-scroller-harness .schedulant-scroller-body-right{inset:0;position:absolute;overflow:scroll}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body{min-height:100%;position:relative;z-index:1}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-slots{position:absolute;top:0;bottom:0;z-index:1}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-slots .schedulant-timeline-slot-frame{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-slots>table{height:100%}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame{position:relative}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-lane{position:absolute;inset:0;z-index:1}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events{position:relative;width:0;z-index:3}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events .schedulant-timeline-event-harness{position:absolute;z-index:2}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events .schedulant-timeline-event-harness .schedulant-timeline-event{border-radius:5px;display:flex;justify-content:space-between}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-events .schedulant-timeline-event-harness .schedulant-timeline-event .schedulant-event-main{padding-left:5px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones{position:relative;width:0;z-index:4}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness{position:absolute;z-index:2}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness .schedulant-timeline-milestone{width:100%;text-align:center}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness .schedulant-timeline-milestone .schedulant-milestone-main svg{transition:transform .3s ease}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-milestones .schedulant-timeline-milestone-harness .schedulant-timeline-milestone .schedulant-milestone-main svg:hover{transform:scale(1.2);cursor:pointer}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints{position:relative;width:0;z-index:4}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness{position:absolute;z-index:2}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness .schedulant-timeline-checkpoint{width:100%;text-align:center}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness .schedulant-timeline-checkpoint .schedulant-checkpoint-main svg{transition:transform .3s ease}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid .schedulant-scrollgrid-section-body .schedulant-timeline-body .schedulant-timeline-drawing-board .schedulant-timeline-lane-frame .schedulant-timeline-checkpoints .schedulant-timeline-checkpoint-harness .schedulant-timeline-checkpoint .schedulant-checkpoint-main svg:hover{transform:scale(1.2);cursor:pointer}.schedulant .schedulant-view-harness .schedulant-view .schedulant-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.schedulant .schedulant-icon{display:inline-block;height:12px;width:12px;margin-right:1px}.schedulant .schedulant-holiday{background-color:#e9ecef}.schedulant .schedulant-timeline-selection-overlay{background-color:var(--schedulant-selection-color, rgba(66, 133, 244, .2));border:1px solid var(--schedulant-selection-border-color, rgba(66, 133, 244, .6));border-radius:2px;pointer-events:none}.schedulant .schedulant-timeline-body.selecting{cursor:crosshair;-webkit-user-select:none;user-select:none}
|