@mk-drag-and-drop/dom 0.1.0
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/LICENSE +21 -0
- package/README.md +460 -0
- package/dist/controller/controller-internals.d.ts +5 -0
- package/dist/controller/controller-internals.js +11 -0
- package/dist/controller/create-drag-controller.d.ts +36 -0
- package/dist/controller/create-drag-controller.js +232 -0
- package/dist/draggable/create-draggable-binding.d.ts +8 -0
- package/dist/draggable/create-draggable-binding.js +52 -0
- package/dist/draggable/create-draggable.d.ts +46 -0
- package/dist/draggable/create-draggable.js +57 -0
- package/dist/droppable/create-drop-container-binding.d.ts +8 -0
- package/dist/droppable/create-drop-container-binding.js +28 -0
- package/dist/droppable/create-drop-container.d.ts +18 -0
- package/dist/droppable/create-drop-container.js +36 -0
- package/dist/droppable/create-droppable-binding.d.ts +9 -0
- package/dist/droppable/create-droppable-binding.js +29 -0
- package/dist/droppable/create-droppable.d.ts +17 -0
- package/dist/droppable/create-droppable.js +31 -0
- package/dist/geometry/measurement.d.ts +4 -0
- package/dist/geometry/measurement.js +33 -0
- package/dist/geometry/overlay.d.ts +19 -0
- package/dist/geometry/overlay.js +32 -0
- package/dist/geometry/rects.d.ts +17 -0
- package/dist/geometry/rects.js +34 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +9 -0
- package/dist/input/config.d.ts +35 -0
- package/dist/input/config.js +56 -0
- package/dist/input/create-drag-handle.d.ts +4 -0
- package/dist/input/create-drag-handle.js +4 -0
- package/dist/input/drag-handle.d.ts +10 -0
- package/dist/input/drag-handle.js +74 -0
- package/dist/input/keyboard-drag.d.ts +28 -0
- package/dist/input/keyboard-drag.js +77 -0
- package/dist/input/pointer-activation.d.ts +31 -0
- package/dist/input/pointer-activation.js +97 -0
- package/dist/integration/index.d.ts +10 -0
- package/dist/integration/index.js +6 -0
- package/dist/modifiers/built-ins.d.ts +6 -0
- package/dist/modifiers/built-ins.js +62 -0
- package/dist/modifiers/pipeline.d.ts +18 -0
- package/dist/modifiers/pipeline.js +34 -0
- package/dist/modifiers/types.d.ts +32 -0
- package/dist/modifiers/types.js +1 -0
- package/dist/runtime/drag-runtime-handle.d.ts +22 -0
- package/dist/runtime/drag-runtime-handle.js +33 -0
- package/dist/runtime/drag-runtime.d.ts +96 -0
- package/dist/runtime/drag-runtime.js +798 -0
- package/dist/runtime/drop-target-registry.d.ts +101 -0
- package/dist/runtime/drop-target-registry.js +855 -0
- package/dist/runtime/lifecycle.d.ts +44 -0
- package/dist/runtime/lifecycle.js +1 -0
- package/dist/runtime/types.d.ts +65 -0
- package/dist/runtime/types.js +1 -0
- package/dist/sortable/create-sortable-binding.d.ts +10 -0
- package/dist/sortable/create-sortable-binding.js +58 -0
- package/dist/sortable/create-sortable.d.ts +19 -0
- package/dist/sortable/create-sortable.js +55 -0
- package/dist/sortable/sortable-options.d.ts +17 -0
- package/dist/sortable/sortable-options.js +20 -0
- package/dist/sortable/sortable-preview.d.ts +79 -0
- package/dist/sortable/sortable-preview.js +357 -0
- package/dist/sortable/sortable-registry.d.ts +113 -0
- package/dist/sortable/sortable-registry.js +145 -0
- package/dist/targeting/algorithms.d.ts +6 -0
- package/dist/targeting/algorithms.js +56 -0
- package/dist/targeting/constraints.d.ts +15 -0
- package/dist/targeting/constraints.js +58 -0
- package/dist/targeting/types.d.ts +23 -0
- package/dist/targeting/types.js +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { DragPoint, DragRect } from "../geometry/rects.js";
|
|
2
|
+
import type { SortableAxis } from "../sortable/sortable-options.js";
|
|
3
|
+
import type { BuiltInTargetingAlgorithmKind } from "../targeting/algorithms.js";
|
|
4
|
+
import type { DropTarget, TargetingConstraint } from "../targeting/types.js";
|
|
5
|
+
export type DragGroup = string;
|
|
6
|
+
export type RemeasureDropTargetsInput = string | string[] | {
|
|
7
|
+
group: string;
|
|
8
|
+
};
|
|
9
|
+
export type DropTargetCapabilities = {
|
|
10
|
+
container: boolean;
|
|
11
|
+
sortable: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type DropTargetRegistration = {
|
|
14
|
+
id: string;
|
|
15
|
+
element: HTMLElement;
|
|
16
|
+
group: DragGroup;
|
|
17
|
+
containerId: string | null;
|
|
18
|
+
capabilities: DropTargetCapabilities;
|
|
19
|
+
};
|
|
20
|
+
export type RemovedDropTarget = {
|
|
21
|
+
id: string;
|
|
22
|
+
group: DragGroup;
|
|
23
|
+
};
|
|
24
|
+
export type RegisterDropTargetOptions = {
|
|
25
|
+
container?: boolean;
|
|
26
|
+
containerId?: string | null;
|
|
27
|
+
sortable?: boolean;
|
|
28
|
+
sortableAxis?: SortableAxis;
|
|
29
|
+
};
|
|
30
|
+
export type GetAvailableDropTargetsInput = {
|
|
31
|
+
activeDropTargetId?: string | null;
|
|
32
|
+
draggingDraggableId?: string | null;
|
|
33
|
+
group: DragGroup | null;
|
|
34
|
+
pointerPosition: DragPoint;
|
|
35
|
+
overlayRect: DragRect | null;
|
|
36
|
+
sourceContainerId?: string | null;
|
|
37
|
+
targetingAlgorithmKind?: BuiltInTargetingAlgorithmKind | null;
|
|
38
|
+
targetingConstraint?: TargetingConstraint;
|
|
39
|
+
};
|
|
40
|
+
export type SortableItemPlacement = {
|
|
41
|
+
containerId: string | null;
|
|
42
|
+
previousDraggableId: string | null;
|
|
43
|
+
nextDraggableId: string | null;
|
|
44
|
+
exactAnchors: readonly SortablePlacementAnchor[];
|
|
45
|
+
};
|
|
46
|
+
export type SortablePlacementSide = "before" | "after";
|
|
47
|
+
export type SortablePlacementAnchor = {
|
|
48
|
+
targetDraggableId: string;
|
|
49
|
+
side: SortablePlacementSide;
|
|
50
|
+
};
|
|
51
|
+
export type SortableDropPlacement = {
|
|
52
|
+
sourceContainerId: string | null;
|
|
53
|
+
containerId: string | null;
|
|
54
|
+
previousDraggableId: string | null;
|
|
55
|
+
nextDraggableId: string | null;
|
|
56
|
+
targetDraggableId: string | null;
|
|
57
|
+
side: SortablePlacementSide | null;
|
|
58
|
+
};
|
|
59
|
+
export declare class DropTargetRegistry {
|
|
60
|
+
private targetsByGroup;
|
|
61
|
+
private targetElements;
|
|
62
|
+
private sortableAxisIndexes;
|
|
63
|
+
register(id: string, element: HTMLElement, group: DragGroup, options?: RegisterDropTargetOptions): RemovedDropTarget[];
|
|
64
|
+
unregister(id: string, element?: HTMLElement): RemovedDropTarget[];
|
|
65
|
+
pruneDisconnected(group?: DragGroup): RemovedDropTarget[];
|
|
66
|
+
clear(): void;
|
|
67
|
+
remeasure(input?: RemeasureDropTargetsInput): void;
|
|
68
|
+
getViewportRect(id: string, group?: DragGroup): DragRect | null;
|
|
69
|
+
getDropTargetRegistration(id: string, group?: DragGroup): DropTargetRegistration | null;
|
|
70
|
+
getAvailableDropTargets(input: GetAvailableDropTargetsInput): DropTarget[];
|
|
71
|
+
private getAvailableDropTargetsFromEntries;
|
|
72
|
+
getSortableDropPlacement(input: {
|
|
73
|
+
draggableId: string;
|
|
74
|
+
dropTargetId: string | null;
|
|
75
|
+
group: DragGroup | null;
|
|
76
|
+
sourceContainerId: string | null;
|
|
77
|
+
}): SortableDropPlacement | null;
|
|
78
|
+
getSortableItemPlacement(draggableId: string, group?: DragGroup): SortableItemPlacement | null;
|
|
79
|
+
private getOrCreateGroupTargets;
|
|
80
|
+
private removeTarget;
|
|
81
|
+
private pruneDisconnectedGroup;
|
|
82
|
+
private remeasureTarget;
|
|
83
|
+
private remeasureEntry;
|
|
84
|
+
private findRegistration;
|
|
85
|
+
private findEntry;
|
|
86
|
+
private resolveRegistration;
|
|
87
|
+
private resolveEntry;
|
|
88
|
+
private getNarrowedSortableDropTargetEntries;
|
|
89
|
+
private getSortableAxisIndex;
|
|
90
|
+
private createSortableAxisIndex;
|
|
91
|
+
private syncSortableAxisIndexAfterRegister;
|
|
92
|
+
private addSortableDomNeighborCandidates;
|
|
93
|
+
private findContainerRegistrationForElement;
|
|
94
|
+
private getSiblingPlacement;
|
|
95
|
+
private getTargetPlacement;
|
|
96
|
+
private getExactSortableItemAnchors;
|
|
97
|
+
private getPreviewDomTargetPlacement;
|
|
98
|
+
private isSkippedSortableSibling;
|
|
99
|
+
private getNearestSortableSiblingDraggableId;
|
|
100
|
+
private getSortableDraggableId;
|
|
101
|
+
}
|