react-timelane 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +141 -51
  2. package/dist/components/Timelane.d.ts +4 -2
  3. package/dist/components/TimelaneAside.d.ts +8 -8
  4. package/dist/components/TimelaneBodyInner.d.ts +8 -8
  5. package/dist/components/{core/CoreItem → TimelaneItem}/DragResizeComponent.d.ts +2 -2
  6. package/dist/components/TimelaneItem/TimelaneItem.d.ts +14 -0
  7. package/dist/components/{core/CoreSwimlane → TimelaneLane}/AvailableSpaceIndicator.d.ts +4 -4
  8. package/dist/components/{core/CoreSwimlane → TimelaneLane}/DropTarget.d.ts +1 -1
  9. package/dist/components/{core/CoreSwimlane → TimelaneLane}/OverlapIndicator.d.ts +1 -1
  10. package/dist/components/TimelaneLane/TimelaneLane.d.ts +16 -0
  11. package/dist/components/TimelaneSettingsContext.d.ts +1 -1
  12. package/dist/components/TimelaneWrapper.d.ts +2 -2
  13. package/dist/components/utils.d.ts +27 -0
  14. package/dist/hooks/useScroll.d.ts +3 -3
  15. package/dist/index.d.ts +3 -4
  16. package/dist/react-timelane.css +1 -1
  17. package/dist/react-timelane.js +347 -355
  18. package/dist/types/Item.d.ts +12 -0
  19. package/dist/types/Lane.d.ts +5 -0
  20. package/dist/types/LaneId.d.ts +1 -0
  21. package/dist/types/index.d.ts +3 -3
  22. package/package.json +1 -1
  23. package/dist/components/core/CoreItem/CoreItemComponent.d.ts +0 -14
  24. package/dist/components/core/CoreSwimlane/CoreSwimlane.d.ts +0 -16
  25. package/dist/components/core/CoreSwimlane/utils.d.ts +0 -13
  26. package/dist/components/core/utils.d.ts +0 -15
  27. package/dist/types/CoreItem.d.ts +0 -12
  28. package/dist/types/SwimlaneId.d.ts +0 -1
  29. package/dist/types/SwimlaneT.d.ts +0 -5
  30. /package/dist/components/{core/CoreSwimlane → TimelaneLane}/DropPreview.d.ts +0 -0
  31. /package/dist/components/{layout → TimelaneLayout}/TimelaneLayout.d.ts +0 -0
@@ -0,0 +1,12 @@
1
+ import { ItemId } from './ItemId';
2
+ import { LaneId } from './LaneId';
3
+ export type Item<T = void> = {
4
+ id: ItemId;
5
+ laneId: LaneId;
6
+ start: Date;
7
+ end: Date;
8
+ size: number;
9
+ offset: number;
10
+ payload: T;
11
+ };
12
+ export declare function isItem(a: object): a is Item;
@@ -0,0 +1,5 @@
1
+ import { LaneId } from './LaneId';
2
+ export interface Lane {
3
+ id: LaneId;
4
+ capacity: number;
5
+ }
@@ -0,0 +1 @@
1
+ export type LaneId = number;
@@ -5,11 +5,11 @@ export { type Position } from './Position';
5
5
  export { type Grid } from './Grid';
6
6
  export { type ItemId } from './ItemId';
7
7
  export { type AvailableSpace } from './AvailableSpace';
8
- export { type CoreItem, isCoreItem } from './CoreItem';
8
+ export { type Item, isItem } from './Item';
9
9
  export { type Dimensions } from './Dimensions';
10
10
  export { type GrabInfo } from './GrabInfo';
11
- export { type SwimlaneId } from './SwimlaneId';
12
- export { type SwimlaneT } from './SwimlaneT';
11
+ export { type LaneId } from './LaneId';
12
+ export { type Lane } from './Lane';
13
13
  export { type DateBounds } from './DateBounds';
14
14
  export { type OffsetBounds } from './OffsetBounds';
15
15
  export { type TimelaneSettings } from './TimelaneSettings';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-timelane",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -1,14 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { CoreItem, Position, SwimlaneT, TimelaneSettings } from '../../../types';
3
- interface CoreItemComponentProps<T> {
4
- item: CoreItem<T>;
5
- swimlane: SwimlaneT;
6
- settings: TimelaneSettings;
7
- onDragStart: (grabPosition: Position, relativeGrabPosition: Position) => void;
8
- onDrop: () => void;
9
- onDrag: () => void;
10
- onUpdate: (updatedItem: CoreItem<T>) => void;
11
- onResizeStart: () => void;
12
- }
13
- export default function CoreItemComponent<T>({ swimlane, item, settings, children, onDragStart, onDrag, onDrop, onUpdate, onResizeStart, }: PropsWithChildren<CoreItemComponentProps<T>>): import("react/jsx-runtime").JSX.Element;
14
- export {};
@@ -1,16 +0,0 @@
1
- import { MouseEvent, ReactElement } from 'react';
2
- import { AvailableSpace, CoreItem, SwimlaneT } from '../../../types';
3
- interface CoreSwimlaneProps<T> {
4
- swimlane: SwimlaneT;
5
- items: CoreItem<T>[];
6
- focused?: boolean;
7
- onItemUpdate?: (item: CoreItem<T>) => void;
8
- onMouseUp?: (e: MouseEvent) => void;
9
- onClick?: (when: Date, availableSpace: AvailableSpace | null, e: MouseEvent) => void;
10
- onDoubleClick?: (when: Date, availableSpace: AvailableSpace | null, e: MouseEvent) => void;
11
- onContextMenu?: (when: Date, e: MouseEvent) => void;
12
- renderItem?: (item: CoreItem<T>, isDragged: boolean) => ReactElement;
13
- onResizeStart?: (data: T) => void;
14
- }
15
- export declare function CoreSwimlane<T>({ swimlane, items, focused, onItemUpdate, onMouseUp, onClick, onDoubleClick, onContextMenu, renderItem, onResizeStart, }: CoreSwimlaneProps<T>): import("react/jsx-runtime").JSX.Element;
16
- export {};
@@ -1,13 +0,0 @@
1
- import { AvailableSpace, CoreItem, Dimensions, GrabInfo, Grid, Pixels, Position, Rectangle, SwimlaneT, TimeRange } from '../../../types';
2
- export declare function getDropPreviewRectangle<S, T>(swimlane: SwimlaneT, items: CoreItem<T>[], item: CoreItem<S>, mousePosition: Position | null, grabInfo: GrabInfo, pixels: Pixels, grid: Grid, range: TimeRange, allowOverlaps: boolean): Rectangle | null;
3
- /**
4
- * Returns true if two rectangles (l1, r1) and (l2, r2) overlap
5
- * @param el1
6
- * @param el2
7
- * @returns
8
- */
9
- export declare function doOverlap(el1: Rectangle, el2: Rectangle): boolean;
10
- export declare function getOverlap(rect1: Rectangle, rect2: Rectangle): Rectangle | null;
11
- export declare function itemsDoOverlap<T>(a: CoreItem<T>, b: CoreItem<T>): boolean;
12
- export declare function isWithinTargetDimensions(item: Rectangle, targetDimensions: Dimensions): boolean;
13
- export declare function getAvailableSpace<T>(clickedDate: Date, clickedOffset: number, swimlane: SwimlaneT, items: CoreItem<T>[], range: TimeRange): AvailableSpace | null;
@@ -1,15 +0,0 @@
1
- import { DragLocationHistory, ElementDragPayload } from '@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types';
2
- import { CoreItem, Dimensions, Pixels, Position, Rectangle, SwimlaneT, TimeRange } from '../../types';
3
- export declare function getDropTargetDimensions(swimlane: SwimlaneT, pixels: Pixels, range: TimeRange): Dimensions;
4
- export declare function getDropTargetHeight(swimlane: SwimlaneT, pixels: Pixels): number;
5
- export declare function getDropTargetWidth(swimlane: SwimlaneT, pixels: Pixels, range: TimeRange): number;
6
- export declare function getItemRectangle<T>(item: CoreItem<T>, swimlane: SwimlaneT, range: TimeRange, pixels: Pixels): Rectangle;
7
- export declare function getItemDimensions<T>(item: CoreItem<T>, swimlane: SwimlaneT, pixels: Pixels): Dimensions;
8
- export declare function dateToPixel(date: Date, start: Date, pixels: Pixels): number;
9
- export declare function offsetToPixel(offset: number, capacity: number, pixels: Pixels): number;
10
- export declare function getItemPosition<T>(item: CoreItem<T>, swimlane: SwimlaneT, start: Date, pixels: Pixels): Position;
11
- export declare function getGrabPosition(source: ElementDragPayload, location: DragLocationHistory): {
12
- absolute: Position;
13
- relative: Position;
14
- };
15
- export declare function getUpdatedItem<T>(oldItem: CoreItem<T>, swimlane: SwimlaneT, dropPreviewRect: Rectangle, pixels: Pixels, range: TimeRange): CoreItem<T>;
@@ -1,12 +0,0 @@
1
- import { ItemId } from './ItemId';
2
- import { SwimlaneId } from './SwimlaneId';
3
- export type CoreItem<T = void> = {
4
- id: ItemId;
5
- swimlaneId: SwimlaneId;
6
- start: Date;
7
- end: Date;
8
- size: number;
9
- offset: number;
10
- payload: T;
11
- };
12
- export declare function isCoreItem(a: object): a is CoreItem;
@@ -1 +0,0 @@
1
- export type SwimlaneId = number;
@@ -1,5 +0,0 @@
1
- import { SwimlaneId } from './SwimlaneId';
2
- export interface SwimlaneT {
3
- id: SwimlaneId;
4
- capacity: number;
5
- }