@lucasols/dnd-kit-core 0.1.4 → 0.2.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.
Files changed (139) hide show
  1. package/dist/index.d.ts +655 -12
  2. package/dist/index.js +2626 -7
  3. package/dist/index.js.map +1 -0
  4. package/package.json +21 -17
  5. package/dist/components/Accessibility/Accessibility.d.ts +0 -10
  6. package/dist/components/Accessibility/components/RestoreFocus.d.ts +0 -5
  7. package/dist/components/Accessibility/components/index.d.ts +0 -1
  8. package/dist/components/Accessibility/defaults.d.ts +0 -3
  9. package/dist/components/Accessibility/index.d.ts +0 -4
  10. package/dist/components/Accessibility/types.d.ts +0 -15
  11. package/dist/components/DndContext/DndContext.d.ts +0 -35
  12. package/dist/components/DndContext/defaults.d.ts +0 -13
  13. package/dist/components/DndContext/hooks/index.d.ts +0 -2
  14. package/dist/components/DndContext/hooks/useLayoutShiftScrollCompensation.d.ts +0 -14
  15. package/dist/components/DndContext/hooks/useMeasuringConfiguration.d.ts +0 -3
  16. package/dist/components/DndContext/index.d.ts +0 -3
  17. package/dist/components/DndContext/types.d.ts +0 -16
  18. package/dist/components/DndMonitor/context.d.ts +0 -3
  19. package/dist/components/DndMonitor/index.d.ts +0 -4
  20. package/dist/components/DndMonitor/types.d.ts +0 -14
  21. package/dist/components/DndMonitor/useDndMonitor.d.ts +0 -2
  22. package/dist/components/DndMonitor/useDndMonitorProvider.d.ts +0 -2
  23. package/dist/components/DragOverlay/DragOverlay.d.ts +0 -11
  24. package/dist/components/DragOverlay/components/AnimationManager/AnimationManager.d.ts +0 -8
  25. package/dist/components/DragOverlay/components/AnimationManager/index.d.ts +0 -2
  26. package/dist/components/DragOverlay/components/NullifiedContextProvider/NullifiedContextProvider.d.ts +0 -6
  27. package/dist/components/DragOverlay/components/NullifiedContextProvider/index.d.ts +0 -1
  28. package/dist/components/DragOverlay/components/PositionedOverlay/PositionedOverlay.d.ts +0 -18
  29. package/dist/components/DragOverlay/components/PositionedOverlay/index.d.ts +0 -2
  30. package/dist/components/DragOverlay/components/index.d.ts +0 -5
  31. package/dist/components/DragOverlay/hooks/index.d.ts +0 -3
  32. package/dist/components/DragOverlay/hooks/useDropAnimation.d.ts +0 -65
  33. package/dist/components/DragOverlay/hooks/useKey.d.ts +0 -2
  34. package/dist/components/DragOverlay/index.d.ts +0 -4
  35. package/dist/components/index.d.ts +0 -8
  36. package/dist/dnd-kit-core.cjs.development.js +0 -3924
  37. package/dist/dnd-kit-core.cjs.development.js.map +0 -1
  38. package/dist/dnd-kit-core.cjs.production.min.js +0 -2
  39. package/dist/dnd-kit-core.cjs.production.min.js.map +0 -1
  40. package/dist/dnd-kit-core.esm.js +0 -3903
  41. package/dist/dnd-kit-core.esm.js.map +0 -1
  42. package/dist/hooks/index.d.ts +0 -8
  43. package/dist/hooks/useDndContext.d.ts +0 -4
  44. package/dist/hooks/useDraggable.d.ts +0 -37
  45. package/dist/hooks/useDroppable.d.ts +0 -29
  46. package/dist/hooks/utilities/index.d.ts +0 -21
  47. package/dist/hooks/utilities/useAutoScroller.d.ts +0 -40
  48. package/dist/hooks/utilities/useCachedNode.d.ts +0 -3
  49. package/dist/hooks/utilities/useCombineActivators.d.ts +0 -3
  50. package/dist/hooks/utilities/useDragOverlayMeasuring.d.ts +0 -7
  51. package/dist/hooks/utilities/useDroppableMeasuring.d.ts +0 -27
  52. package/dist/hooks/utilities/useInitialRect.d.ts +0 -2
  53. package/dist/hooks/utilities/useInitialValue.d.ts +0 -3
  54. package/dist/hooks/utilities/useMutationObserver.d.ts +0 -10
  55. package/dist/hooks/utilities/useRect.d.ts +0 -2
  56. package/dist/hooks/utilities/useRectDelta.d.ts +0 -2
  57. package/dist/hooks/utilities/useRects.d.ts +0 -5
  58. package/dist/hooks/utilities/useResizeObserver.d.ts +0 -10
  59. package/dist/hooks/utilities/useScrollIntoViewIfNeeded.d.ts +0 -1
  60. package/dist/hooks/utilities/useScrollOffsets.d.ts +0 -2
  61. package/dist/hooks/utilities/useScrollOffsetsDelta.d.ts +0 -2
  62. package/dist/hooks/utilities/useScrollableAncestors.d.ts +0 -1
  63. package/dist/hooks/utilities/useSensorSetup.d.ts +0 -2
  64. package/dist/hooks/utilities/useSyntheticListeners.d.ts +0 -9
  65. package/dist/hooks/utilities/useWindowRect.d.ts +0 -1
  66. package/dist/modifiers/applyModifiers.d.ts +0 -3
  67. package/dist/modifiers/index.d.ts +0 -2
  68. package/dist/modifiers/types.d.ts +0 -17
  69. package/dist/sensors/events.d.ts +0 -11
  70. package/dist/sensors/index.d.ts +0 -11
  71. package/dist/sensors/keyboard/KeyboardSensor.d.ts +0 -27
  72. package/dist/sensors/keyboard/defaults.d.ts +0 -3
  73. package/dist/sensors/keyboard/index.d.ts +0 -4
  74. package/dist/sensors/keyboard/types.d.ts +0 -21
  75. package/dist/sensors/mouse/MouseSensor.d.ts +0 -13
  76. package/dist/sensors/mouse/index.d.ts +0 -2
  77. package/dist/sensors/pointer/AbstractPointerSensor.d.ts +0 -48
  78. package/dist/sensors/pointer/PointerSensor.d.ts +0 -13
  79. package/dist/sensors/pointer/index.d.ts +0 -4
  80. package/dist/sensors/touch/TouchSensor.d.ts +0 -14
  81. package/dist/sensors/touch/index.d.ts +0 -2
  82. package/dist/sensors/types.d.ts +0 -60
  83. package/dist/sensors/useSensor.d.ts +0 -2
  84. package/dist/sensors/useSensors.d.ts +0 -2
  85. package/dist/sensors/utilities/Listeners.d.ts +0 -7
  86. package/dist/sensors/utilities/getEventListenerTarget.d.ts +0 -1
  87. package/dist/sensors/utilities/hasExceededDistance.d.ts +0 -2
  88. package/dist/sensors/utilities/index.d.ts +0 -3
  89. package/dist/store/actions.d.ts +0 -36
  90. package/dist/store/constructors.d.ts +0 -10
  91. package/dist/store/context.d.ts +0 -6
  92. package/dist/store/index.d.ts +0 -4
  93. package/dist/store/reducer.d.ts +0 -4
  94. package/dist/store/types.d.ts +0 -98
  95. package/dist/types/coordinates.d.ts +0 -9
  96. package/dist/types/direction.d.ts +0 -4
  97. package/dist/types/events.d.ts +0 -21
  98. package/dist/types/index.d.ts +0 -6
  99. package/dist/types/other.d.ts +0 -1
  100. package/dist/types/react.d.ts +0 -3
  101. package/dist/types/rect.d.ts +0 -8
  102. package/dist/utilities/algorithms/closestCenter.d.ts +0 -6
  103. package/dist/utilities/algorithms/closestCorners.d.ts +0 -6
  104. package/dist/utilities/algorithms/helpers.d.ts +0 -24
  105. package/dist/utilities/algorithms/index.d.ts +0 -6
  106. package/dist/utilities/algorithms/pointerWithin.d.ts +0 -5
  107. package/dist/utilities/algorithms/rectIntersection.d.ts +0 -11
  108. package/dist/utilities/algorithms/types.d.ts +0 -20
  109. package/dist/utilities/coordinates/constants.d.ts +0 -2
  110. package/dist/utilities/coordinates/distanceBetweenPoints.d.ts +0 -5
  111. package/dist/utilities/coordinates/getRelativeTransformOrigin.d.ts +0 -2
  112. package/dist/utilities/coordinates/index.d.ts +0 -3
  113. package/dist/utilities/index.d.ts +0 -6
  114. package/dist/utilities/nodes/getMeasurableNode.d.ts +0 -1
  115. package/dist/utilities/nodes/index.d.ts +0 -1
  116. package/dist/utilities/other/index.d.ts +0 -1
  117. package/dist/utilities/other/noop.d.ts +0 -1
  118. package/dist/utilities/rect/Rect.d.ts +0 -11
  119. package/dist/utilities/rect/adjustScale.d.ts +0 -3
  120. package/dist/utilities/rect/getRect.d.ts +0 -25
  121. package/dist/utilities/rect/getRectDelta.d.ts +0 -2
  122. package/dist/utilities/rect/getWindowClientRect.d.ts +0 -2
  123. package/dist/utilities/rect/index.d.ts +0 -6
  124. package/dist/utilities/rect/rectAdjustment.d.ts +0 -3
  125. package/dist/utilities/scroll/documentScrollingElement.d.ts +0 -1
  126. package/dist/utilities/scroll/getScrollCoordinates.d.ts +0 -4
  127. package/dist/utilities/scroll/getScrollDirectionAndSpeed.d.ts +0 -17
  128. package/dist/utilities/scroll/getScrollElementRect.d.ts +0 -8
  129. package/dist/utilities/scroll/getScrollOffsets.d.ts +0 -4
  130. package/dist/utilities/scroll/getScrollPosition.d.ts +0 -14
  131. package/dist/utilities/scroll/getScrollableAncestors.d.ts +0 -2
  132. package/dist/utilities/scroll/getScrollableElement.d.ts +0 -1
  133. package/dist/utilities/scroll/index.d.ts +0 -10
  134. package/dist/utilities/scroll/isFixed.d.ts +0 -1
  135. package/dist/utilities/scroll/isScrollable.d.ts +0 -1
  136. package/dist/utilities/scroll/scrollIntoViewIfNeeded.d.ts +0 -2
  137. package/dist/utilities/transform/index.d.ts +0 -2
  138. package/dist/utilities/transform/inverseTransform.d.ts +0 -2
  139. package/dist/utilities/transform/parseTransform.d.ts +0 -2
package/dist/index.d.ts CHANGED
@@ -1,12 +1,655 @@
1
- export { DndContext, DragOverlay, defaultAnnouncements, defaultScreenReaderInstructions, defaultDropAnimation, defaultDropAnimationSideEffects, useDndMonitor, } from './components';
2
- export type { Announcements, CancelDrop, DndContextProps, DndMonitorListener, DndMonitorListener as DndMonitorArguments, DragOverlayProps, DropAnimation, DropAnimationFunction, DropAnimationFunctionArguments, DropAnimationKeyframeResolver, DropAnimationSideEffects, DraggableMeasuring, MeasuringConfiguration, ScreenReaderInstructions, } from './components';
3
- export { AutoScrollActivator, MeasuringFrequency, MeasuringStrategy, TraversalOrder, useDraggable, useDndContext, useDroppable, } from './hooks';
4
- export type { AutoScrollOptions, DraggableAttributes, DraggableSyntheticListeners, DroppableMeasuring, UseDndContextReturnValue, UseDraggableArguments, UseDroppableArguments, } from './hooks';
5
- export { applyModifiers } from './modifiers';
6
- export type { Modifier, Modifiers } from './modifiers';
7
- export { KeyboardSensor, KeyboardCode, MouseSensor, PointerSensor, TouchSensor, useSensors, useSensor, } from './sensors';
8
- export type { Activator, Activators, PointerActivationConstraint, KeyboardCodes, KeyboardCoordinateGetter, KeyboardSensorOptions, KeyboardSensorProps, MouseSensorOptions, PointerEventHandlers, PointerSensorOptions, PointerSensorProps, Sensor, Sensors, SensorContext, SensorDescriptor, SensorHandler, SensorInstance, SensorOptions, SensorProps, SensorResponse, TouchSensorOptions, } from './sensors';
9
- export type { Active, Data, DataRef, PublicContextDescriptor as DndContextDescriptor, DraggableNode, DroppableContainers, DroppableContainer, Over, } from './store';
10
- export type { ClientRect, DistanceMeasurement, DragEndEvent, DragMoveEvent, DragOverEvent, DragStartEvent, DragCancelEvent, Translate, UniqueIdentifier, } from './types';
11
- export { defaultCoordinates, getClientRect, getFirstCollision, getScrollableAncestors, closestCenter, closestCorners, rectIntersection, pointerWithin, } from './utilities';
12
- export type { Collision, CollisionDescriptor, CollisionDetection, } from './utilities';
1
+ import React$1, { ContextType, MouseEvent as MouseEvent$1, MutableRefObject, PointerEvent, TouchEvent as TouchEvent$1 } from "react";
2
+ import { Coordinates, DeepRequired, FirstArgument, Transform, Without } from "@lucasols/dnd-kit-utilities";
3
+ //#region src/types/coordinates.d.ts
4
+ type DistanceMeasurement = number | Coordinates | Pick<Coordinates, 'x'> | Pick<Coordinates, 'y'>;
5
+ type Translate = Coordinates;
6
+ //#endregion
7
+ //#region src/utilities/algorithms/types.d.ts
8
+ interface Collision {
9
+ id: UniqueIdentifier;
10
+ data?: Data;
11
+ }
12
+ interface CollisionDescriptor extends Collision {
13
+ data: {
14
+ droppableContainer: DroppableContainer;
15
+ value: number;
16
+ [key: string]: any;
17
+ };
18
+ }
19
+ type CollisionDetection = (args: {
20
+ active: Active;
21
+ collisionRect: ClientRect;
22
+ droppableRects: RectMap;
23
+ droppableContainers: DroppableContainer[];
24
+ pointerCoordinates: Coordinates | null;
25
+ }) => Collision[];
26
+ //#endregion
27
+ //#region src/utilities/algorithms/closestCenter.d.ts
28
+ /**
29
+ * Returns the closest rectangles from an array of rectangles to the center of a given
30
+ * rectangle.
31
+ */
32
+ export declare const closestCenter: CollisionDetection;
33
+ //#endregion
34
+ //#region src/utilities/algorithms/closestCorners.d.ts
35
+ /**
36
+ * Returns the closest rectangles from an array of rectangles to the corners of
37
+ * another rectangle.
38
+ */
39
+ export declare const closestCorners: CollisionDetection;
40
+ //#endregion
41
+ //#region src/utilities/algorithms/rectIntersection.d.ts
42
+ /**
43
+ * Returns the rectangles that has the greatest intersection area with a given
44
+ * rectangle in an array of rectangles.
45
+ */
46
+ export declare const rectIntersection: CollisionDetection;
47
+ //#endregion
48
+ //#region src/utilities/algorithms/pointerWithin.d.ts
49
+ /**
50
+ * Returns the rectangles that the pointer is hovering over
51
+ */
52
+ export declare const pointerWithin: CollisionDetection;
53
+ //#endregion
54
+ //#region src/utilities/algorithms/helpers.d.ts
55
+ /**
56
+ * Returns the first collision, or null if there isn't one.
57
+ * If a property is specified, returns the specified property of the first collision.
58
+ */
59
+ export declare function getFirstCollision(collisions: Collision[] | null | undefined): Collision | null;
60
+ export declare function getFirstCollision<T extends keyof Collision>(collisions: Collision[] | null | undefined, property: T): Collision[T] | null;
61
+ //#endregion
62
+ //#region src/types/events.d.ts
63
+ interface DragEvent {
64
+ activatorEvent: Event;
65
+ active: Active;
66
+ collisions: Collision[] | null;
67
+ delta: Translate;
68
+ over: Over | null;
69
+ }
70
+ interface DragStartEvent extends Pick<DragEvent, 'active'> {}
71
+ interface DragMoveEvent extends DragEvent {}
72
+ interface DragOverEvent extends DragMoveEvent {}
73
+ interface DragEndEvent extends DragEvent {}
74
+ interface DragCancelEvent extends DragEndEvent {}
75
+ //#endregion
76
+ //#region src/types/other.d.ts
77
+ type UniqueIdentifier = string | number;
78
+ //#endregion
79
+ //#region src/types/react.d.ts
80
+ type SyntheticEventName = keyof Without<React.DOMAttributes<any>, 'children' | 'dangerouslySetInnerHTML'>;
81
+ //#endregion
82
+ //#region src/types/rect.d.ts
83
+ interface ClientRect {
84
+ width: number;
85
+ height: number;
86
+ top: number;
87
+ left: number;
88
+ right: number;
89
+ bottom: number;
90
+ }
91
+ //#endregion
92
+ //#region src/hooks/utilities/useAutoScroller.d.ts
93
+ export declare enum AutoScrollActivator {
94
+ Pointer = 0,
95
+ DraggableRect = 1
96
+ }
97
+ interface Options {
98
+ acceleration?: number;
99
+ activator?: AutoScrollActivator;
100
+ canScroll?: CanScroll;
101
+ enabled?: boolean;
102
+ interval?: number;
103
+ layoutShiftCompensation?: boolean | {
104
+ x: boolean;
105
+ y: boolean;
106
+ };
107
+ order?: TraversalOrder;
108
+ threshold?: {
109
+ x: number;
110
+ y: number;
111
+ };
112
+ }
113
+ type CanScroll = (element: Element) => boolean;
114
+ export declare enum TraversalOrder {
115
+ TreeOrder = 0,
116
+ ReversedTreeOrder = 1
117
+ }
118
+ //#endregion
119
+ //#region src/sensors/types.d.ts
120
+ declare enum Response {
121
+ Start = "start",
122
+ Move = "move",
123
+ End = "end"
124
+ }
125
+ type SensorContext = {
126
+ activatorEvent: Event | null;
127
+ active: Active | null;
128
+ activeNode: HTMLElement | null;
129
+ collisionRect: ClientRect | null;
130
+ collisions: Collision[] | null;
131
+ draggableNodes: DraggableNodes;
132
+ draggingNode: HTMLElement | null;
133
+ draggingNodeRect: ClientRect | null;
134
+ droppableRects: RectMap;
135
+ droppableContainers: DroppableContainers;
136
+ over: Over | null;
137
+ scrollableAncestors: Element[];
138
+ scrollAdjustedTranslate: Translate | null;
139
+ };
140
+ type SensorOptions = {};
141
+ interface SensorProps<T> {
142
+ active: UniqueIdentifier;
143
+ activeNode: DraggableNode;
144
+ event: Event;
145
+ context: MutableRefObject<SensorContext>;
146
+ options: T;
147
+ onStart(coordinates: Coordinates): void;
148
+ onCancel(): void;
149
+ onMove(coordinates: Coordinates): void;
150
+ onEnd(): void;
151
+ }
152
+ type SensorInstance = {
153
+ autoScrollEnabled: boolean;
154
+ };
155
+ type SensorActivatorFunction<T> = (event: any, options: T, context: {
156
+ active: DraggableNode;
157
+ }) => boolean | undefined;
158
+ type Activator<T> = {
159
+ eventName: SyntheticEventName;
160
+ handler: SensorActivatorFunction<T>;
161
+ };
162
+ type Activators<T> = Activator<T>[];
163
+ type Teardown = () => void;
164
+ interface Sensor<T extends Object> {
165
+ new (props: SensorProps<T>): SensorInstance;
166
+ activators: Activators<T>;
167
+ setup?(): Teardown | undefined;
168
+ }
169
+ type Sensors = Sensor<any>[];
170
+ type SensorDescriptor<T extends Object> = {
171
+ sensor: Sensor<T>;
172
+ options: T;
173
+ };
174
+ type SensorHandler = (event: React.SyntheticEvent, active: UniqueIdentifier) => boolean | void;
175
+ //#endregion
176
+ //#region src/sensors/useSensor.d.ts
177
+ export declare function useSensor<T extends SensorOptions>(sensor: Sensor<T>, options?: T): SensorDescriptor<T>;
178
+ //#endregion
179
+ //#region src/sensors/useSensors.d.ts
180
+ export declare function useSensors(...sensors: (SensorDescriptor<any> | undefined | null)[]): SensorDescriptor<SensorOptions>[];
181
+ //#endregion
182
+ //#region src/sensors/pointer/AbstractPointerSensor.d.ts
183
+ interface DistanceConstraint {
184
+ distance: DistanceMeasurement;
185
+ tolerance?: DistanceMeasurement;
186
+ }
187
+ interface DelayConstraint {
188
+ delay: number;
189
+ tolerance: DistanceMeasurement;
190
+ }
191
+ interface EventDescriptor {
192
+ name: keyof DocumentEventMap;
193
+ passive?: boolean;
194
+ }
195
+ interface PointerEventHandlers {
196
+ move: EventDescriptor;
197
+ end: EventDescriptor;
198
+ }
199
+ type PointerActivationConstraint = DistanceConstraint | DelayConstraint;
200
+ interface AbstractPointerSensorOptions extends SensorOptions {
201
+ activationConstraint?: PointerActivationConstraint;
202
+ onActivation?({ event }: {
203
+ event: Event;
204
+ }): void;
205
+ }
206
+ type AbstractPointerSensorProps = SensorProps<AbstractPointerSensorOptions>;
207
+ declare class AbstractPointerSensor implements SensorInstance {
208
+ private props;
209
+ private events;
210
+ autoScrollEnabled: boolean;
211
+ private document;
212
+ private activated;
213
+ private initialCoordinates;
214
+ private timeoutId;
215
+ private listeners;
216
+ private documentListeners;
217
+ private windowListeners;
218
+ constructor(props: AbstractPointerSensorProps, events: PointerEventHandlers, listenerTarget?: Document | EventTarget);
219
+ private attach;
220
+ private detach;
221
+ private handleStart;
222
+ private handleMove;
223
+ private handleEnd;
224
+ private handleCancel;
225
+ private handleKeydown;
226
+ private removeTextSelection;
227
+ }
228
+ //#endregion
229
+ //#region src/sensors/pointer/PointerSensor.d.ts
230
+ interface PointerSensorOptions extends AbstractPointerSensorOptions {}
231
+ type PointerSensorProps = SensorProps<PointerSensorOptions>;
232
+ export declare class PointerSensor extends AbstractPointerSensor {
233
+ constructor(props: PointerSensorProps);
234
+ static activators: {
235
+ eventName: 'onPointerDown';
236
+ handler: ({ nativeEvent: event }: PointerEvent, { onActivation }: PointerSensorOptions) => boolean;
237
+ }[];
238
+ }
239
+ //#endregion
240
+ //#region src/sensors/mouse/MouseSensor.d.ts
241
+ interface MouseSensorOptions extends AbstractPointerSensorOptions {}
242
+ type MouseSensorProps = SensorProps<MouseSensorOptions>;
243
+ export declare class MouseSensor extends AbstractPointerSensor {
244
+ constructor(props: MouseSensorProps);
245
+ static activators: {
246
+ eventName: 'onMouseDown';
247
+ handler: ({ nativeEvent: event }: MouseEvent$1, { onActivation }: MouseSensorOptions) => boolean;
248
+ }[];
249
+ }
250
+ //#endregion
251
+ //#region src/sensors/touch/TouchSensor.d.ts
252
+ interface TouchSensorOptions extends PointerSensorOptions {}
253
+ export declare class TouchSensor extends AbstractPointerSensor {
254
+ constructor(props: PointerSensorProps);
255
+ static activators: {
256
+ eventName: 'onTouchStart';
257
+ handler: ({ nativeEvent: event }: TouchEvent$1, { onActivation }: TouchSensorOptions) => boolean;
258
+ }[];
259
+ static setup(): () => void;
260
+ }
261
+ //#endregion
262
+ //#region src/sensors/keyboard/types.d.ts
263
+ export declare enum KeyboardCode {
264
+ Space = "Space",
265
+ Down = "ArrowDown",
266
+ Right = "ArrowRight",
267
+ Left = "ArrowLeft",
268
+ Up = "ArrowUp",
269
+ Esc = "Escape",
270
+ Enter = "Enter"
271
+ }
272
+ type KeyboardCodes = {
273
+ start: KeyboardEvent['code'][];
274
+ cancel: KeyboardEvent['code'][];
275
+ end: KeyboardEvent['code'][];
276
+ };
277
+ type KeyboardCoordinateGetter = (event: KeyboardEvent, args: {
278
+ active: UniqueIdentifier;
279
+ currentCoordinates: Coordinates;
280
+ context: SensorContext;
281
+ }) => Coordinates | void;
282
+ //#endregion
283
+ //#region src/sensors/keyboard/KeyboardSensor.d.ts
284
+ interface KeyboardSensorOptions extends SensorOptions {
285
+ keyboardCodes?: KeyboardCodes;
286
+ coordinateGetter?: KeyboardCoordinateGetter;
287
+ scrollBehavior?: ScrollBehavior;
288
+ onActivation?({ event }: {
289
+ event: KeyboardEvent;
290
+ }): void;
291
+ }
292
+ type KeyboardSensorProps = SensorProps<KeyboardSensorOptions>;
293
+ export declare class KeyboardSensor implements SensorInstance {
294
+ private props;
295
+ autoScrollEnabled: boolean;
296
+ private referenceCoordinates;
297
+ private listeners;
298
+ private windowListeners;
299
+ constructor(props: KeyboardSensorProps);
300
+ private attach;
301
+ private handleStart;
302
+ private handleKeyDown;
303
+ private handleMove;
304
+ private handleEnd;
305
+ private handleCancel;
306
+ private detach;
307
+ static activators: Activators<KeyboardSensorOptions>;
308
+ }
309
+ //#endregion
310
+ //#region src/hooks/utilities/useSyntheticListeners.d.ts
311
+ type SyntheticListenerMap = Record<string, Function>;
312
+ //#endregion
313
+ //#region src/hooks/utilities/useDroppableMeasuring.d.ts
314
+ export declare enum MeasuringStrategy {
315
+ Always = 0,
316
+ BeforeDragging = 1,
317
+ WhileDragging = 2
318
+ }
319
+ export declare enum MeasuringFrequency {
320
+ Optimized = "optimized"
321
+ }
322
+ type MeasuringFunction$1 = (element: HTMLElement) => ClientRect;
323
+ interface DroppableMeasuring {
324
+ measure: MeasuringFunction$1;
325
+ strategy: MeasuringStrategy;
326
+ frequency: MeasuringFrequency | number;
327
+ }
328
+ //#endregion
329
+ //#region src/store/constructors.d.ts
330
+ type Identifier = UniqueIdentifier | null | undefined;
331
+ declare class DroppableContainersMap extends Map<UniqueIdentifier, DroppableContainer> {
332
+ get(id: Identifier): DroppableContainer | undefined;
333
+ toArray(): DroppableContainer[];
334
+ getEnabled(): DroppableContainer[];
335
+ getNodeFor(id: Identifier): HTMLElement | undefined;
336
+ }
337
+ //#endregion
338
+ //#region src/store/types.d.ts
339
+ type AnyData = Record<string, any>;
340
+ type Data<T = AnyData> = T & AnyData;
341
+ type DataRef<T = AnyData> = MutableRefObject<Data<T> | undefined>;
342
+ interface DroppableContainer {
343
+ id: UniqueIdentifier;
344
+ key: UniqueIdentifier;
345
+ data: DataRef;
346
+ disabled: boolean;
347
+ node: MutableRefObject<HTMLElement | null>;
348
+ rect: MutableRefObject<ClientRect | null>;
349
+ }
350
+ interface Active {
351
+ id: UniqueIdentifier;
352
+ data: DataRef;
353
+ rect: MutableRefObject<{
354
+ initial: ClientRect | null;
355
+ translated: ClientRect | null;
356
+ }>;
357
+ }
358
+ interface Over {
359
+ id: UniqueIdentifier;
360
+ rect: ClientRect;
361
+ disabled: boolean;
362
+ data: DataRef;
363
+ }
364
+ type DraggableNode = {
365
+ id: UniqueIdentifier;
366
+ key: UniqueIdentifier;
367
+ node: MutableRefObject<HTMLElement | null>;
368
+ activatorNode: MutableRefObject<HTMLElement | null>;
369
+ data: DataRef;
370
+ };
371
+ type DraggableNodes = Map<UniqueIdentifier, DraggableNode | undefined>;
372
+ type DroppableContainers = DroppableContainersMap;
373
+ type RectMap = Map<UniqueIdentifier, ClientRect>;
374
+ interface PublicContextDescriptor {
375
+ activatorEvent: Event | null;
376
+ active: Active | null;
377
+ activeNode: HTMLElement | null;
378
+ activeNodeRect: ClientRect | null;
379
+ collisions: Collision[] | null;
380
+ containerNodeRect: ClientRect | null;
381
+ draggableNodes: DraggableNodes;
382
+ droppableContainers: DroppableContainers;
383
+ droppableRects: RectMap;
384
+ over: Over | null;
385
+ dragOverlay: {
386
+ nodeRef: MutableRefObject<HTMLElement | null>;
387
+ rect: ClientRect | null;
388
+ setRef: (element: HTMLElement | null) => void;
389
+ };
390
+ scrollableAncestors: Element[];
391
+ scrollableAncestorRects: ClientRect[];
392
+ measuringConfiguration: DeepRequired<MeasuringConfiguration>;
393
+ measureDroppableContainers(ids: UniqueIdentifier[]): void;
394
+ measuringScheduled: boolean;
395
+ windowRect: ClientRect | null;
396
+ }
397
+ //#endregion
398
+ //#region src/store/context.d.ts
399
+ declare const PublicContext: import("react").Context<PublicContextDescriptor>;
400
+ //#endregion
401
+ //#region src/components/Accessibility/types.d.ts
402
+ interface Arguments {
403
+ active: Active;
404
+ over: Over | null;
405
+ }
406
+ interface Announcements {
407
+ onDragStart({ active }: Pick<Arguments, 'active'>): string | undefined;
408
+ onDragMove?({ active, over }: Arguments): string | undefined;
409
+ onDragOver({ active, over }: Arguments): string | undefined;
410
+ onDragEnd({ active, over }: Arguments): string | undefined;
411
+ onDragCancel({ active, over }: Arguments): string | undefined;
412
+ }
413
+ interface ScreenReaderInstructions {
414
+ draggable: string;
415
+ }
416
+ //#endregion
417
+ //#region src/components/Accessibility/defaults.d.ts
418
+ export declare const defaultScreenReaderInstructions: ScreenReaderInstructions;
419
+ export declare const defaultAnnouncements: Announcements;
420
+ //#endregion
421
+ //#region src/utilities/coordinates/constants.d.ts
422
+ export declare const defaultCoordinates: Coordinates;
423
+ //#endregion
424
+ //#region src/utilities/rect/getRect.d.ts
425
+ interface Options$1 {
426
+ ignoreTransform?: boolean;
427
+ }
428
+ /**
429
+ * Returns the bounding client rect of an element relative to the viewport.
430
+ */
431
+ export declare function getClientRect(element: Element, options?: Options$1): {
432
+ top: number;
433
+ left: number;
434
+ width: number;
435
+ height: number;
436
+ bottom: number;
437
+ right: number;
438
+ };
439
+ //#endregion
440
+ //#region src/utilities/scroll/getScrollableAncestors.d.ts
441
+ export declare function getScrollableAncestors(element: Node | null, limit?: number): Element[];
442
+ //#endregion
443
+ //#region src/modifiers/types.d.ts
444
+ type Modifier = (args: {
445
+ activatorEvent: Event | null;
446
+ active: Active | null;
447
+ activeNodeRect: ClientRect | null;
448
+ draggingNodeRect: ClientRect | null;
449
+ containerNodeRect: ClientRect | null;
450
+ over: Over | null;
451
+ overlayNodeRect: ClientRect | null;
452
+ scrollableAncestors: Element[];
453
+ scrollableAncestorRects: ClientRect[];
454
+ transform: Transform;
455
+ windowRect: ClientRect | null;
456
+ }) => Transform;
457
+ type Modifiers = Modifier[];
458
+ //#endregion
459
+ //#region src/modifiers/applyModifiers.d.ts
460
+ export declare function applyModifiers(modifiers: Modifiers | undefined, { transform, ...args }: FirstArgument<Modifier>): Transform;
461
+ //#endregion
462
+ //#region src/components/DndContext/types.d.ts
463
+ type MeasuringFunction = (node: HTMLElement) => ClientRect;
464
+ interface Measuring {
465
+ measure: MeasuringFunction;
466
+ }
467
+ interface DraggableMeasuring extends Measuring {}
468
+ interface DragOverlayMeasuring extends Measuring {}
469
+ interface MeasuringConfiguration {
470
+ draggable?: Partial<DraggableMeasuring>;
471
+ droppable?: Partial<DroppableMeasuring>;
472
+ dragOverlay?: Partial<DragOverlayMeasuring>;
473
+ }
474
+ //#endregion
475
+ //#region src/components/DndContext/DndContext.d.ts
476
+ interface Props {
477
+ id?: string;
478
+ accessibility?: {
479
+ announcements?: Announcements;
480
+ container?: Element;
481
+ restoreFocus?: boolean;
482
+ screenReaderInstructions?: ScreenReaderInstructions;
483
+ };
484
+ autoScroll?: boolean | Options;
485
+ cancelDrop?: CancelDrop;
486
+ children?: React$1.ReactNode;
487
+ collisionDetection?: CollisionDetection;
488
+ measuring?: MeasuringConfiguration;
489
+ modifiers?: Modifiers;
490
+ sensors?: SensorDescriptor<any>[];
491
+ onDragStart?(event: DragStartEvent): void;
492
+ onDragMove?(event: DragMoveEvent): void;
493
+ onDragOver?(event: DragOverEvent): void;
494
+ onDragEnd?(event: DragEndEvent): void;
495
+ onDragCancel?(event: DragCancelEvent): void;
496
+ }
497
+ interface CancelDropArguments extends DragEndEvent {}
498
+ type CancelDrop = (args: CancelDropArguments) => boolean | Promise<boolean>;
499
+ export declare const DndContext: React$1.MemoExoticComponent<({ id, accessibility, autoScroll, children, sensors, collisionDetection, measuring, modifiers, ...props }: Props) => React$1.JSX.Element>;
500
+ //#endregion
501
+ //#region src/components/DndMonitor/types.d.ts
502
+ interface DndMonitorListener {
503
+ onDragStart?(event: DragStartEvent): void;
504
+ onDragMove?(event: DragMoveEvent): void;
505
+ onDragOver?(event: DragOverEvent): void;
506
+ onDragEnd?(event: DragEndEvent): void;
507
+ onDragCancel?(event: DragCancelEvent): void;
508
+ }
509
+ //#endregion
510
+ //#region src/components/DndMonitor/useDndMonitor.d.ts
511
+ export declare function useDndMonitor(listener: DndMonitorListener): void;
512
+ //#endregion
513
+ //#region src/components/DragOverlay/components/PositionedOverlay/PositionedOverlay.d.ts
514
+ type TransitionGetter = (activatorEvent: Event | null) => React$1.CSSProperties['transition'] | undefined;
515
+ interface Props$2 {
516
+ as: keyof React$1.JSX.IntrinsicElements;
517
+ activatorEvent: Event | null;
518
+ adjustScale?: boolean;
519
+ children?: React$1.ReactNode;
520
+ className?: string;
521
+ id: UniqueIdentifier;
522
+ rect: ClientRect | null;
523
+ style?: React$1.CSSProperties;
524
+ transition?: string | TransitionGetter;
525
+ transform: Transform;
526
+ }
527
+ //#endregion
528
+ //#region src/components/DragOverlay/hooks/useDropAnimation.d.ts
529
+ interface SharedParameters {
530
+ active: {
531
+ id: UniqueIdentifier;
532
+ data: Active['data'];
533
+ node: HTMLElement;
534
+ rect: ClientRect;
535
+ };
536
+ dragOverlay: {
537
+ node: HTMLElement;
538
+ rect: ClientRect;
539
+ };
540
+ draggableNodes: DraggableNodes;
541
+ droppableContainers: DroppableContainers;
542
+ measuringConfiguration: DeepRequired<MeasuringConfiguration>;
543
+ }
544
+ interface KeyframeResolverParameters extends SharedParameters {
545
+ transform: {
546
+ initial: Transform;
547
+ final: Transform;
548
+ };
549
+ }
550
+ type KeyframeResolver = (parameters: KeyframeResolverParameters) => Keyframe[];
551
+ interface DropAnimationOptions {
552
+ keyframes?: KeyframeResolver;
553
+ duration?: number;
554
+ easing?: string;
555
+ sideEffects?: DropAnimationSideEffects | null;
556
+ }
557
+ type DropAnimation = DropAnimationFunction | DropAnimationOptions;
558
+ interface DropAnimationFunctionArguments extends SharedParameters {
559
+ transform: Transform;
560
+ }
561
+ type DropAnimationFunction = (args: DropAnimationFunctionArguments) => Promise<void> | void;
562
+ type CleanupFunction = () => void;
563
+ interface DropAnimationSideEffectsParameters extends SharedParameters {}
564
+ type DropAnimationSideEffects = (parameters: DropAnimationSideEffectsParameters) => CleanupFunction | void;
565
+ type ExtractStringProperties<T> = { [K in keyof T]?: T[K] extends string ? string : never; };
566
+ type Styles = ExtractStringProperties<CSSStyleDeclaration>;
567
+ interface DefaultDropAnimationSideEffectsOptions {
568
+ className?: {
569
+ active?: string;
570
+ dragOverlay?: string;
571
+ };
572
+ styles?: {
573
+ active?: Styles;
574
+ dragOverlay?: Styles;
575
+ };
576
+ }
577
+ export declare const defaultDropAnimationSideEffects: (options: DefaultDropAnimationSideEffectsOptions) => DropAnimationSideEffects;
578
+ declare const defaultDropAnimationConfiguration: Required<DropAnimationOptions>;
579
+ //#endregion
580
+ //#region src/components/DragOverlay/DragOverlay.d.ts
581
+ interface Props$1 extends Pick<Props$2, 'adjustScale' | 'children' | 'className' | 'style' | 'transition'> {
582
+ dropAnimation?: DropAnimation | null | undefined;
583
+ modifiers?: Modifiers;
584
+ wrapperElement?: keyof React$1.JSX.IntrinsicElements;
585
+ zIndex?: number;
586
+ }
587
+ export declare const DragOverlay: React$1.MemoExoticComponent<({ adjustScale, children, dropAnimation: dropAnimationConfig, style, transition, modifiers, wrapperElement, className, zIndex }: Props$1) => React$1.JSX.Element>;
588
+ //#endregion
589
+ //#region src/hooks/useDraggable.d.ts
590
+ interface UseDraggableArguments {
591
+ id: UniqueIdentifier;
592
+ data?: Data;
593
+ disabled?: boolean;
594
+ attributes?: {
595
+ role?: string;
596
+ roleDescription?: string;
597
+ tabIndex?: number;
598
+ };
599
+ }
600
+ interface DraggableAttributes {
601
+ role: string;
602
+ tabIndex: number;
603
+ 'aria-disabled': boolean;
604
+ 'aria-pressed': boolean | undefined;
605
+ 'aria-roledescription': string;
606
+ 'aria-describedby': string;
607
+ }
608
+ type DraggableSyntheticListeners = SyntheticListenerMap | undefined;
609
+ export declare function useDraggable({ id, data, disabled, attributes }: UseDraggableArguments): {
610
+ active: Active | null;
611
+ activatorEvent: Event | null;
612
+ activeNodeRect: ClientRect | null;
613
+ attributes: DraggableAttributes;
614
+ isDragging: boolean;
615
+ listeners: DraggableSyntheticListeners;
616
+ node: import("react").RefObject<HTMLElement | null>;
617
+ over: Over | null;
618
+ setNodeRef: (element: HTMLElement | null) => void;
619
+ setActivatorNodeRef: (element: HTMLElement | null) => void;
620
+ transform: Transform | null;
621
+ };
622
+ //#endregion
623
+ //#region src/hooks/useDndContext.d.ts
624
+ export declare function useDndContext(): PublicContextDescriptor;
625
+ type UseDndContextReturnValue = ContextType<typeof PublicContext>;
626
+ //#endregion
627
+ //#region src/hooks/useDroppable.d.ts
628
+ interface ResizeObserverConfig {
629
+ /** Whether the ResizeObserver should be disabled entirely */
630
+ disabled?: boolean;
631
+ /** Resize events may affect the layout and position of other droppable containers.
632
+ * Specify an array of `UniqueIdentifier` of droppable containers that should also be re-measured
633
+ * when this droppable container resizes. Specifying an empty array re-measures all droppable containers.
634
+ */
635
+ updateMeasurementsFor?: UniqueIdentifier[];
636
+ /** Represents the debounce timeout between when resize events are observed and when elements are re-measured */
637
+ timeout?: number;
638
+ }
639
+ interface UseDroppableArguments {
640
+ id: UniqueIdentifier;
641
+ disabled?: boolean;
642
+ data?: Data;
643
+ resizeObserverConfig?: ResizeObserverConfig;
644
+ }
645
+ export declare function useDroppable({ data, disabled, id, resizeObserverConfig }: UseDroppableArguments): {
646
+ active: Active | null;
647
+ rect: import("react").RefObject<ClientRect | null>;
648
+ isOver: boolean;
649
+ node: import("react").RefObject<HTMLElement | null>;
650
+ over: Over | null;
651
+ setNodeRef: (element: HTMLElement | null) => void;
652
+ };
653
+ //#endregion
654
+ export { type Activator, type Activators, type Active, type Announcements, type Options as AutoScrollOptions, type CancelDrop, type ClientRect, type Collision, type CollisionDescriptor, type CollisionDetection, type Data, type DataRef, type DistanceMeasurement, type PublicContextDescriptor as DndContextDescriptor, type Props as DndContextProps, type DndMonitorListener as DndMonitorArguments, type DndMonitorListener, type DragCancelEvent, type DragEndEvent, type DragMoveEvent, type DragOverEvent, type Props$1 as DragOverlayProps, type DragStartEvent, type DraggableAttributes, type DraggableMeasuring, type DraggableNode, type DraggableSyntheticListeners, type DropAnimation, type DropAnimationFunction, type DropAnimationFunctionArguments, type KeyframeResolver as DropAnimationKeyframeResolver, type DropAnimationSideEffects, type DroppableContainer, type DroppableContainers, type DroppableMeasuring, type KeyboardCodes, type KeyboardCoordinateGetter, type KeyboardSensorOptions, type KeyboardSensorProps, type MeasuringConfiguration, type Modifier, type Modifiers, type MouseSensorOptions, type Over, type PointerActivationConstraint, type PointerEventHandlers, type PointerSensorOptions, type PointerSensorProps, type ScreenReaderInstructions, type Sensor, type SensorContext, type SensorDescriptor, type SensorHandler, type SensorInstance, type SensorOptions, type SensorProps, type Response as SensorResponse, type Sensors, type TouchSensorOptions, type Translate, type UniqueIdentifier, type UseDndContextReturnValue, type UseDraggableArguments, type UseDroppableArguments, defaultDropAnimationConfiguration as defaultDropAnimation };
655
+ //# sourceMappingURL=index.d.ts.map