pointrix 1.0.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 +971 -0
- package/dist/pointrix-drag.cjs +1 -0
- package/dist/pointrix-drag.d.cts +189 -0
- package/dist/pointrix-drag.d.mts +189 -0
- package/dist/pointrix-drag.mjs +2 -0
- package/dist/pointrix-dropzone.cjs +1 -0
- package/dist/pointrix-dropzone.d.cts +99 -0
- package/dist/pointrix-dropzone.d.mts +99 -0
- package/dist/pointrix-dropzone.mjs +2 -0
- package/dist/pointrix-gesture.cjs +1 -0
- package/dist/pointrix-gesture.d.cts +119 -0
- package/dist/pointrix-gesture.d.mts +119 -0
- package/dist/pointrix-gesture.mjs +2 -0
- package/dist/pointrix-modifiers.cjs +1 -0
- package/dist/pointrix-modifiers.d.cts +334 -0
- package/dist/pointrix-modifiers.d.mts +334 -0
- package/dist/pointrix-modifiers.mjs +2 -0
- package/dist/pointrix-nano.cjs +1 -0
- package/dist/pointrix-nano.d.cts +82 -0
- package/dist/pointrix-nano.d.mts +82 -0
- package/dist/pointrix-nano.mjs +2 -0
- package/dist/pointrix-react.cjs +1 -0
- package/dist/pointrix-react.d.cts +537 -0
- package/dist/pointrix-react.d.mts +537 -0
- package/dist/pointrix-react.mjs +2 -0
- package/dist/pointrix-resize.cjs +1 -0
- package/dist/pointrix-resize.d.cts +193 -0
- package/dist/pointrix-resize.d.mts +193 -0
- package/dist/pointrix-resize.mjs +2 -0
- package/dist/pointrix-sortable.cjs +1 -0
- package/dist/pointrix-sortable.d.cts +89 -0
- package/dist/pointrix-sortable.d.mts +89 -0
- package/dist/pointrix-sortable.mjs +2 -0
- package/dist/pointrix-vue.cjs +1 -0
- package/dist/pointrix-vue.d.cts +485 -0
- package/dist/pointrix-vue.d.mts +485 -0
- package/dist/pointrix-vue.mjs +2 -0
- package/dist/pointrix.cjs +1 -0
- package/dist/pointrix.d.cts +784 -0
- package/dist/pointrix.d.mts +784 -0
- package/dist/pointrix.mjs +2 -0
- package/package.json +144 -0
|
@@ -0,0 +1,537 @@
|
|
|
1
|
+
import React, { MutableRefObject } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/nano.d.ts
|
|
4
|
+
interface Point$2 {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
interface PointerState {
|
|
9
|
+
id: number;
|
|
10
|
+
start: Point$2;
|
|
11
|
+
current: Point$2;
|
|
12
|
+
previous: Point$2;
|
|
13
|
+
delta: Point$2;
|
|
14
|
+
total: Point$2;
|
|
15
|
+
velocity: Point$2;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
}
|
|
18
|
+
interface InteractionEvent {
|
|
19
|
+
target: HTMLElement;
|
|
20
|
+
pointers: PointerState[];
|
|
21
|
+
isPrimary: boolean;
|
|
22
|
+
originalEvent: PointerEvent;
|
|
23
|
+
}
|
|
24
|
+
interface GripOptions {
|
|
25
|
+
onStart?: (event: InteractionEvent) => void;
|
|
26
|
+
onMove?: (event: InteractionEvent) => void;
|
|
27
|
+
onEnd?: (event: InteractionEvent) => void;
|
|
28
|
+
onTap?: (event: InteractionEvent) => void;
|
|
29
|
+
onDoubleTap?: (event: InteractionEvent) => void;
|
|
30
|
+
onHold?: (event: InteractionEvent) => void;
|
|
31
|
+
threshold?: number;
|
|
32
|
+
preventScroll?: boolean;
|
|
33
|
+
holdDelay?: number;
|
|
34
|
+
holdDuration?: number;
|
|
35
|
+
mouseButtons?: number;
|
|
36
|
+
allowFrom?: string;
|
|
37
|
+
ignoreFrom?: string;
|
|
38
|
+
touchAction?: string;
|
|
39
|
+
styleCursor?: boolean;
|
|
40
|
+
}
|
|
41
|
+
declare class Grip {
|
|
42
|
+
protected element: HTMLElement;
|
|
43
|
+
protected options: GripOptions;
|
|
44
|
+
protected pointers: Map<number, PointerState>;
|
|
45
|
+
private pointersCache;
|
|
46
|
+
protected isActive: boolean;
|
|
47
|
+
protected lastUpdate: number;
|
|
48
|
+
protected priority: number;
|
|
49
|
+
private _enabled;
|
|
50
|
+
private holdTimer;
|
|
51
|
+
private holdEventTimer;
|
|
52
|
+
private lastTapTime;
|
|
53
|
+
private lastTapTarget;
|
|
54
|
+
private listeners;
|
|
55
|
+
on(event: string, handler: Function): this;
|
|
56
|
+
off(event: string, handler: Function): this;
|
|
57
|
+
protected emit(event: string, data: any): void;
|
|
58
|
+
get enabled(): boolean;
|
|
59
|
+
set enabled(value: boolean);
|
|
60
|
+
get interacting(): boolean;
|
|
61
|
+
private static elementInstances;
|
|
62
|
+
private static activeInstance;
|
|
63
|
+
private static elementListeners;
|
|
64
|
+
constructor(element: HTMLElement, options?: GripOptions);
|
|
65
|
+
private registerInstance;
|
|
66
|
+
private unregisterInstance;
|
|
67
|
+
protected shouldHandleEvent(_e: PointerEvent): boolean;
|
|
68
|
+
private checkEventFilters;
|
|
69
|
+
private static handleElementPointerDown;
|
|
70
|
+
private onPointerDown;
|
|
71
|
+
private handlePointerDown;
|
|
72
|
+
private onPointerMove;
|
|
73
|
+
private onPointerUp;
|
|
74
|
+
private start;
|
|
75
|
+
private end;
|
|
76
|
+
update(): void;
|
|
77
|
+
hasActivePointers(): boolean;
|
|
78
|
+
private createEvent;
|
|
79
|
+
destroy(): void;
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/types.d.ts
|
|
83
|
+
interface Point$1 {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
}
|
|
87
|
+
interface ActiveEdges {
|
|
88
|
+
top: boolean;
|
|
89
|
+
right: boolean;
|
|
90
|
+
bottom: boolean;
|
|
91
|
+
left: boolean;
|
|
92
|
+
}
|
|
93
|
+
interface ModifierContext {
|
|
94
|
+
position: Point$1;
|
|
95
|
+
velocity: Point$1;
|
|
96
|
+
element: HTMLElement;
|
|
97
|
+
startPosition: Point$1;
|
|
98
|
+
delta: Point$1;
|
|
99
|
+
edges?: ActiveEdges;
|
|
100
|
+
size?: {
|
|
101
|
+
width: number;
|
|
102
|
+
height: number;
|
|
103
|
+
};
|
|
104
|
+
startSize?: {
|
|
105
|
+
width: number;
|
|
106
|
+
height: number;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
interface ModifierResult {
|
|
110
|
+
position: Point$1;
|
|
111
|
+
velocity: Point$1;
|
|
112
|
+
size?: {
|
|
113
|
+
width: number;
|
|
114
|
+
height: number;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
interface Modifier {
|
|
118
|
+
name: string;
|
|
119
|
+
onStart?(context: ModifierContext): void;
|
|
120
|
+
modify(context: ModifierContext): ModifierResult;
|
|
121
|
+
onEnd?(context: ModifierContext): ModifierResult | void;
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/drag.d.ts
|
|
125
|
+
interface DragOptions extends GripOptions {
|
|
126
|
+
/** Enable ARIA attributes for accessibility (default: true) */
|
|
127
|
+
aria?: boolean;
|
|
128
|
+
axis?: 'x' | 'y' | 'xy' | 'start';
|
|
129
|
+
startAxis?: 'x' | 'y';
|
|
130
|
+
handle?: string | HTMLElement;
|
|
131
|
+
bounds?: 'parent' | HTMLElement | {
|
|
132
|
+
left?: number;
|
|
133
|
+
top?: number;
|
|
134
|
+
right?: number;
|
|
135
|
+
bottom?: number;
|
|
136
|
+
};
|
|
137
|
+
grid?: {
|
|
138
|
+
x: number;
|
|
139
|
+
y: number;
|
|
140
|
+
};
|
|
141
|
+
momentum?: boolean | {
|
|
142
|
+
friction?: number;
|
|
143
|
+
minSpeed?: number;
|
|
144
|
+
};
|
|
145
|
+
modifiers?: Modifier[];
|
|
146
|
+
droppable?: boolean;
|
|
147
|
+
cursorChecker?: (action: 'idle' | 'grab' | 'grabbing') => string;
|
|
148
|
+
onDragStart?: (event: DragEvent) => void;
|
|
149
|
+
onDragMove?: (event: DragEvent) => void;
|
|
150
|
+
onDragEnd?: (event: DragEvent) => void;
|
|
151
|
+
}
|
|
152
|
+
interface DragEvent extends InteractionEvent {
|
|
153
|
+
dx: number;
|
|
154
|
+
dy: number;
|
|
155
|
+
totalX: number;
|
|
156
|
+
totalY: number;
|
|
157
|
+
velocityX: number;
|
|
158
|
+
velocityY: number;
|
|
159
|
+
}
|
|
160
|
+
declare class Draggable extends Grip {
|
|
161
|
+
private dragOptions;
|
|
162
|
+
private transform;
|
|
163
|
+
private startTransform;
|
|
164
|
+
private bounds;
|
|
165
|
+
private momentum;
|
|
166
|
+
private transformNormalized;
|
|
167
|
+
private detectedAxis;
|
|
168
|
+
private startAxisConfirmed;
|
|
169
|
+
private cachedSize;
|
|
170
|
+
private modifierContext;
|
|
171
|
+
private cachedDragEvent;
|
|
172
|
+
constructor(element: HTMLElement, options?: DragOptions);
|
|
173
|
+
protected shouldHandleEvent(e: PointerEvent): boolean;
|
|
174
|
+
private readCurrentTransform;
|
|
175
|
+
private handleDragStart;
|
|
176
|
+
private handleDragMove;
|
|
177
|
+
private handleDragEnd;
|
|
178
|
+
private startMomentum;
|
|
179
|
+
private applyTransform;
|
|
180
|
+
private createDragEvent;
|
|
181
|
+
setPosition(x: number, y: number): void;
|
|
182
|
+
getPosition(): {
|
|
183
|
+
x: number;
|
|
184
|
+
y: number;
|
|
185
|
+
};
|
|
186
|
+
destroy(): void;
|
|
187
|
+
}
|
|
188
|
+
//#endregion
|
|
189
|
+
//#region src/resize.d.ts
|
|
190
|
+
interface ResizeOptions extends GripOptions {
|
|
191
|
+
edges?: {
|
|
192
|
+
top?: boolean;
|
|
193
|
+
right?: boolean;
|
|
194
|
+
bottom?: boolean;
|
|
195
|
+
left?: boolean;
|
|
196
|
+
};
|
|
197
|
+
handleSize?: number;
|
|
198
|
+
minWidth?: number;
|
|
199
|
+
minHeight?: number;
|
|
200
|
+
maxWidth?: number;
|
|
201
|
+
maxHeight?: number;
|
|
202
|
+
aspectRatio?: number | 'preserve';
|
|
203
|
+
square?: boolean;
|
|
204
|
+
invert?: 'none' | 'negate' | 'reposition';
|
|
205
|
+
grid?: {
|
|
206
|
+
width: number;
|
|
207
|
+
height: number;
|
|
208
|
+
};
|
|
209
|
+
modifiers?: Modifier[];
|
|
210
|
+
cursorChecker?: (edge: string | null) => string;
|
|
211
|
+
onResizeStart?: (event: ResizeEvent) => void;
|
|
212
|
+
onResizeMove?: (event: ResizeEvent) => void;
|
|
213
|
+
onResizeEnd?: (event: ResizeEvent) => void;
|
|
214
|
+
}
|
|
215
|
+
interface ResizeEvent extends InteractionEvent {
|
|
216
|
+
width: number;
|
|
217
|
+
height: number;
|
|
218
|
+
deltaWidth: number;
|
|
219
|
+
deltaHeight: number;
|
|
220
|
+
edges: {
|
|
221
|
+
top: boolean;
|
|
222
|
+
right: boolean;
|
|
223
|
+
bottom: boolean;
|
|
224
|
+
left: boolean;
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
declare class Resizable extends Grip {
|
|
228
|
+
private resizeOptions;
|
|
229
|
+
private startSize;
|
|
230
|
+
private startPos;
|
|
231
|
+
private currentSize;
|
|
232
|
+
private currentPos;
|
|
233
|
+
private activeEdge;
|
|
234
|
+
private edgeFlags;
|
|
235
|
+
private aspectRatio;
|
|
236
|
+
private boundUpdateCursor;
|
|
237
|
+
private transformNormalized;
|
|
238
|
+
private modifierContext;
|
|
239
|
+
private cachedResizeEvent;
|
|
240
|
+
constructor(element: HTMLElement, options?: ResizeOptions);
|
|
241
|
+
private normalizeInitialTransform;
|
|
242
|
+
protected shouldHandleEvent(e: PointerEvent): boolean;
|
|
243
|
+
private updateCursor;
|
|
244
|
+
private detectEdge;
|
|
245
|
+
private getCursor;
|
|
246
|
+
private handleResizeStart;
|
|
247
|
+
private handleResizeMove;
|
|
248
|
+
private handleResizeEnd;
|
|
249
|
+
private createResizeEvent;
|
|
250
|
+
setSize(width: number, height: number): void;
|
|
251
|
+
getSize(): {
|
|
252
|
+
width: number;
|
|
253
|
+
height: number;
|
|
254
|
+
};
|
|
255
|
+
destroy(): void;
|
|
256
|
+
}
|
|
257
|
+
//#endregion
|
|
258
|
+
//#region src/gesture.d.ts
|
|
259
|
+
interface GestureEvent extends InteractionEvent {
|
|
260
|
+
scale: number;
|
|
261
|
+
rotation: number;
|
|
262
|
+
distance: number;
|
|
263
|
+
angle: number;
|
|
264
|
+
center: Point$2;
|
|
265
|
+
deltaScale: number;
|
|
266
|
+
deltaAngle: number;
|
|
267
|
+
}
|
|
268
|
+
interface GestureOptions extends GripOptions {
|
|
269
|
+
minPointers?: number;
|
|
270
|
+
onGestureStart?: (event: GestureEvent) => void;
|
|
271
|
+
onGestureMove?: (event: GestureEvent) => void;
|
|
272
|
+
onGestureEnd?: (event: GestureEvent) => void;
|
|
273
|
+
}
|
|
274
|
+
declare class Gesturable extends Grip {
|
|
275
|
+
private gestureOptions;
|
|
276
|
+
private gestureActive;
|
|
277
|
+
private startDistance;
|
|
278
|
+
private startAngle;
|
|
279
|
+
private prevScale;
|
|
280
|
+
private prevAngle;
|
|
281
|
+
private minPointers;
|
|
282
|
+
constructor(element: HTMLElement, options?: GestureOptions);
|
|
283
|
+
protected shouldHandleEvent(_e: PointerEvent): boolean;
|
|
284
|
+
private getTwoPointers;
|
|
285
|
+
private computeDistance;
|
|
286
|
+
private computeAngle;
|
|
287
|
+
private computeCenter;
|
|
288
|
+
private normalizeAngleDelta;
|
|
289
|
+
private createGestureEvent;
|
|
290
|
+
update(): void;
|
|
291
|
+
private endGesture;
|
|
292
|
+
destroy(): void;
|
|
293
|
+
}
|
|
294
|
+
//#endregion
|
|
295
|
+
//#region src/dropzone.d.ts
|
|
296
|
+
interface DropEvent {
|
|
297
|
+
target: HTMLElement;
|
|
298
|
+
draggable: HTMLElement;
|
|
299
|
+
dragEvent?: DragEvent;
|
|
300
|
+
overlap: number;
|
|
301
|
+
}
|
|
302
|
+
interface DropzoneOptions {
|
|
303
|
+
accept?: string | ((draggable: HTMLElement) => boolean);
|
|
304
|
+
overlap?: 'pointer' | 'center' | number;
|
|
305
|
+
activeClass?: string;
|
|
306
|
+
hoverClass?: string;
|
|
307
|
+
/** Enable ARIA attributes (default: true) */
|
|
308
|
+
aria?: boolean;
|
|
309
|
+
onActivate?: (event: DropEvent) => void;
|
|
310
|
+
onDeactivate?: (event: DropEvent) => void;
|
|
311
|
+
onDragEnter?: (event: DropEvent) => void;
|
|
312
|
+
onDragLeave?: (event: DropEvent) => void;
|
|
313
|
+
onDragOver?: (event: DropEvent) => void;
|
|
314
|
+
onDrop?: (event: DropEvent) => void;
|
|
315
|
+
}
|
|
316
|
+
interface Point {
|
|
317
|
+
x: number;
|
|
318
|
+
y: number;
|
|
319
|
+
}
|
|
320
|
+
declare class Dropzone {
|
|
321
|
+
readonly element: HTMLElement;
|
|
322
|
+
private options;
|
|
323
|
+
private _isOver;
|
|
324
|
+
private _isActive;
|
|
325
|
+
private _enabled;
|
|
326
|
+
private listeners;
|
|
327
|
+
on(event: string, handler: Function): this;
|
|
328
|
+
off(event: string, handler: Function): this;
|
|
329
|
+
private emit;
|
|
330
|
+
get enabled(): boolean;
|
|
331
|
+
set enabled(value: boolean);
|
|
332
|
+
constructor(element: HTMLElement, options?: DropzoneOptions);
|
|
333
|
+
get isOver(): boolean;
|
|
334
|
+
get isActive(): boolean;
|
|
335
|
+
accepts(draggableEl: HTMLElement): boolean;
|
|
336
|
+
checkOverlap(draggableEl: HTMLElement, pointerPos: Point): number;
|
|
337
|
+
activate(draggableEl: HTMLElement): void;
|
|
338
|
+
deactivate(draggableEl: HTMLElement): void;
|
|
339
|
+
enter(draggableEl: HTMLElement, overlap: number, dragEvent?: DragEvent): void;
|
|
340
|
+
leave(draggableEl: HTMLElement, dragEvent?: DragEvent): void;
|
|
341
|
+
over(draggableEl: HTMLElement, overlap: number, dragEvent?: DragEvent): void;
|
|
342
|
+
drop(draggableEl: HTMLElement, overlap: number, dragEvent?: DragEvent): void;
|
|
343
|
+
private createEvent;
|
|
344
|
+
updateOptions(options: Partial<DropzoneOptions>): void;
|
|
345
|
+
destroy(): void;
|
|
346
|
+
}
|
|
347
|
+
//#endregion
|
|
348
|
+
//#region src/sortable.d.ts
|
|
349
|
+
interface SortableOptions {
|
|
350
|
+
/** Enable ARIA attributes for accessibility (default: true) */
|
|
351
|
+
aria?: boolean;
|
|
352
|
+
/** CSS selector for draggable items within the container (default: direct children) */
|
|
353
|
+
items?: string;
|
|
354
|
+
/** Axis of sorting: 'y' for vertical lists, 'x' for horizontal (default: 'y') */
|
|
355
|
+
axis?: 'x' | 'y';
|
|
356
|
+
/** CSS selector for drag handle within each item (optional) */
|
|
357
|
+
handle?: string;
|
|
358
|
+
/** Animation duration in ms for items shifting out of the way (default: 200) */
|
|
359
|
+
animationDuration?: number;
|
|
360
|
+
/** CSS class added to the item being dragged */
|
|
361
|
+
dragClass?: string;
|
|
362
|
+
/** CSS class added to a container when a grouped item hovers over it */
|
|
363
|
+
hoverClass?: string;
|
|
364
|
+
/**
|
|
365
|
+
* Group name — sortables with the same group can exchange items.
|
|
366
|
+
* Items can be dragged between any sortables sharing the same group name.
|
|
367
|
+
*/
|
|
368
|
+
group?: string;
|
|
369
|
+
/** Called when order changes during drag (within same container) */
|
|
370
|
+
onSort?: (event: SortEvent) => void;
|
|
371
|
+
/** Called when drag ends and order is finalized */
|
|
372
|
+
onSortEnd?: (event: SortEvent) => void;
|
|
373
|
+
/** Called when an item is added from another sortable */
|
|
374
|
+
onAdd?: (event: SortTransferEvent) => void;
|
|
375
|
+
/** Called when an item is removed to another sortable */
|
|
376
|
+
onRemove?: (event: SortTransferEvent) => void;
|
|
377
|
+
}
|
|
378
|
+
interface SortEvent {
|
|
379
|
+
item: HTMLElement;
|
|
380
|
+
oldIndex: number;
|
|
381
|
+
newIndex: number;
|
|
382
|
+
items: HTMLElement[];
|
|
383
|
+
}
|
|
384
|
+
interface SortTransferEvent {
|
|
385
|
+
item: HTMLElement;
|
|
386
|
+
from: Sortable;
|
|
387
|
+
to: Sortable;
|
|
388
|
+
oldIndex: number;
|
|
389
|
+
newIndex: number;
|
|
390
|
+
}
|
|
391
|
+
declare class Sortable {
|
|
392
|
+
readonly container: HTMLElement;
|
|
393
|
+
private options;
|
|
394
|
+
private draggables;
|
|
395
|
+
private itemStates;
|
|
396
|
+
private dragItem;
|
|
397
|
+
private dragIndex;
|
|
398
|
+
private currentIndex;
|
|
399
|
+
private targetSortable;
|
|
400
|
+
private targetIndex;
|
|
401
|
+
private placeholder;
|
|
402
|
+
private _enabled;
|
|
403
|
+
private listeners;
|
|
404
|
+
on(event: string, handler: Function): this;
|
|
405
|
+
off(event: string, handler: Function): this;
|
|
406
|
+
private emit;
|
|
407
|
+
get enabled(): boolean;
|
|
408
|
+
set enabled(value: boolean);
|
|
409
|
+
constructor(container: HTMLElement, options?: SortableOptions);
|
|
410
|
+
getItems(): HTMLElement[];
|
|
411
|
+
private setup;
|
|
412
|
+
private handleDragStart;
|
|
413
|
+
private handleDragMove;
|
|
414
|
+
private updateWithinIndex;
|
|
415
|
+
private findTargetContainer;
|
|
416
|
+
private setTargetSortable;
|
|
417
|
+
private clearTargetSortable;
|
|
418
|
+
private updatePlaceholder;
|
|
419
|
+
private removePlaceholder;
|
|
420
|
+
private handleDragEnd;
|
|
421
|
+
snapshotItems(): void;
|
|
422
|
+
private animateItems;
|
|
423
|
+
private reorderDOM;
|
|
424
|
+
/** Refresh the sortable (e.g., after dynamically adding/removing items) */
|
|
425
|
+
refresh(): void;
|
|
426
|
+
/** Get the current order of items */
|
|
427
|
+
getOrder(): HTMLElement[];
|
|
428
|
+
/** Programmatically move an item */
|
|
429
|
+
move(fromIndex: number, toIndex: number): void;
|
|
430
|
+
private teardown;
|
|
431
|
+
destroy(): void;
|
|
432
|
+
}
|
|
433
|
+
//#endregion
|
|
434
|
+
//#region src/index.d.ts
|
|
435
|
+
interface InteractableOptions {
|
|
436
|
+
drag?: boolean | DragOptions;
|
|
437
|
+
resize?: boolean | ResizeOptions;
|
|
438
|
+
gesture?: boolean | GestureOptions;
|
|
439
|
+
}
|
|
440
|
+
//#endregion
|
|
441
|
+
//#region src/react.d.ts
|
|
442
|
+
declare const useGrip: (options?: GripOptions | undefined, deps?: React.DependencyList) => {
|
|
443
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
444
|
+
instance: React.MutableRefObject<Grip | null>;
|
|
445
|
+
};
|
|
446
|
+
declare const useDraggable: (options?: DragOptions | undefined, deps?: React.DependencyList) => {
|
|
447
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
448
|
+
instance: React.MutableRefObject<Draggable | null>;
|
|
449
|
+
};
|
|
450
|
+
declare const useResizable: (options?: ResizeOptions | undefined, deps?: React.DependencyList) => {
|
|
451
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
452
|
+
instance: React.MutableRefObject<Resizable | null>;
|
|
453
|
+
};
|
|
454
|
+
declare const useGesturable: (options?: GestureOptions | undefined, deps?: React.DependencyList) => {
|
|
455
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
456
|
+
instance: React.MutableRefObject<Gesturable | null>;
|
|
457
|
+
};
|
|
458
|
+
declare function useDropzone(options?: DropzoneOptions, deps?: React.DependencyList): {
|
|
459
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
460
|
+
instance: MutableRefObject<Dropzone | null>;
|
|
461
|
+
};
|
|
462
|
+
declare function useSortable(options?: SortableOptions, deps?: React.DependencyList): {
|
|
463
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
464
|
+
instance: MutableRefObject<Sortable | null>;
|
|
465
|
+
};
|
|
466
|
+
declare function useInteractable(options?: InteractableOptions, deps?: React.DependencyList): {
|
|
467
|
+
ref: MutableRefObject<HTMLElement | null>;
|
|
468
|
+
instance: MutableRefObject<{
|
|
469
|
+
drag: Draggable | null;
|
|
470
|
+
resize: Resizable | null;
|
|
471
|
+
gesture: Gesturable | null;
|
|
472
|
+
destroy: () => void;
|
|
473
|
+
} | null>;
|
|
474
|
+
};
|
|
475
|
+
declare const GripComponent: ({
|
|
476
|
+
children,
|
|
477
|
+
as: Tag,
|
|
478
|
+
className,
|
|
479
|
+
style,
|
|
480
|
+
...options
|
|
481
|
+
}: GripOptions & {
|
|
482
|
+
children: React.ReactNode;
|
|
483
|
+
as?: keyof React.JSX.IntrinsicElements;
|
|
484
|
+
className?: string;
|
|
485
|
+
style?: React.CSSProperties;
|
|
486
|
+
}) => React.JSX.Element;
|
|
487
|
+
declare const DraggableComponent: ({
|
|
488
|
+
children,
|
|
489
|
+
as: Tag,
|
|
490
|
+
className,
|
|
491
|
+
style,
|
|
492
|
+
...options
|
|
493
|
+
}: DragOptions & {
|
|
494
|
+
children: React.ReactNode;
|
|
495
|
+
as?: keyof React.JSX.IntrinsicElements;
|
|
496
|
+
className?: string;
|
|
497
|
+
style?: React.CSSProperties;
|
|
498
|
+
}) => React.JSX.Element;
|
|
499
|
+
declare const ResizableComponent: ({
|
|
500
|
+
children,
|
|
501
|
+
as: Tag,
|
|
502
|
+
className,
|
|
503
|
+
style,
|
|
504
|
+
...options
|
|
505
|
+
}: ResizeOptions & {
|
|
506
|
+
children: React.ReactNode;
|
|
507
|
+
as?: keyof React.JSX.IntrinsicElements;
|
|
508
|
+
className?: string;
|
|
509
|
+
style?: React.CSSProperties;
|
|
510
|
+
}) => React.JSX.Element;
|
|
511
|
+
declare const GesturableComponent: ({
|
|
512
|
+
children,
|
|
513
|
+
as: Tag,
|
|
514
|
+
className,
|
|
515
|
+
style,
|
|
516
|
+
...options
|
|
517
|
+
}: GestureOptions & {
|
|
518
|
+
children: React.ReactNode;
|
|
519
|
+
as?: keyof React.JSX.IntrinsicElements;
|
|
520
|
+
className?: string;
|
|
521
|
+
style?: React.CSSProperties;
|
|
522
|
+
}) => React.JSX.Element;
|
|
523
|
+
declare const InteractableComponent: ({
|
|
524
|
+
children,
|
|
525
|
+
as: Tag,
|
|
526
|
+
className,
|
|
527
|
+
style,
|
|
528
|
+
...options
|
|
529
|
+
}: InteractableOptions & {
|
|
530
|
+
children: React.ReactNode;
|
|
531
|
+
as?: keyof React.JSX.IntrinsicElements;
|
|
532
|
+
className?: string;
|
|
533
|
+
style?: React.CSSProperties;
|
|
534
|
+
}) => React.JSX.Element;
|
|
535
|
+
//#endregion
|
|
536
|
+
export { type DragEvent, type DragOptions, DraggableComponent, type DropEvent, type DropzoneOptions, GesturableComponent, type GestureEvent, type GestureOptions, GripComponent, type GripOptions, InteractableComponent, type InteractableOptions, type InteractionEvent, ResizableComponent, type ResizeEvent, type ResizeOptions, type SortEvent, type SortableOptions, useDraggable, useDropzone, useGesturable, useGrip, useInteractable, useResizable, useSortable };
|
|
537
|
+
//# sourceMappingURL=pointrix-react.d.cts.map
|