@vuu-ui/vuu-utils 4.0.1 → 4.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/package.json +7 -7
- package/src/vendor/@dnd-kit/abstract/index.d.ts +114 -32
- package/src/vendor/@dnd-kit/abstract/index.js +430 -280
- package/src/vendor/@dnd-kit/abstract/index.js.map +1 -1
- package/src/vendor/@dnd-kit/abstract/modifiers.d.ts +7 -7
- package/src/vendor/@dnd-kit/abstract/modifiers.js.map +1 -1
- package/src/vendor/@dnd-kit/abstract/package.json +8 -3
- package/src/vendor/@dnd-kit/collision/dist/index.js +10 -3
- package/src/vendor/@dnd-kit/collision/package.json +8 -3
- package/src/vendor/@dnd-kit/dom/index.d.ts +225 -126
- package/src/vendor/@dnd-kit/dom/index.js +998 -484
- package/src/vendor/@dnd-kit/dom/index.js.map +1 -1
- package/src/vendor/@dnd-kit/dom/modifiers.d.ts +1 -1
- package/src/vendor/@dnd-kit/dom/package.json +11 -5
- package/src/vendor/@dnd-kit/dom/plugins/debug.js +10 -7
- package/src/vendor/@dnd-kit/dom/plugins/debug.js.map +1 -1
- package/src/vendor/@dnd-kit/dom/sortable.d.ts +45 -11
- package/src/vendor/@dnd-kit/dom/sortable.js +203 -54
- package/src/vendor/@dnd-kit/dom/sortable.js.map +1 -1
- package/src/vendor/@dnd-kit/dom/utilities.d.ts +82 -10
- package/src/vendor/@dnd-kit/dom/utilities.js +249 -95
- package/src/vendor/@dnd-kit/dom/utilities.js.map +1 -1
- package/src/vendor/@dnd-kit/geometry/package.json +7 -2
- package/src/vendor/@dnd-kit/react/hooks.js +61 -38
- package/src/vendor/@dnd-kit/react/hooks.js.map +1 -0
- package/src/vendor/@dnd-kit/react/index.d.ts +18 -9
- package/src/vendor/@dnd-kit/react/index.js +100 -59
- package/src/vendor/@dnd-kit/react/index.js.map +1 -0
- package/src/vendor/@dnd-kit/react/package.json +17 -5
- package/src/vendor/@dnd-kit/react/sortable.d.ts +1 -1
- package/src/vendor/@dnd-kit/react/sortable.js +24 -10
- package/src/vendor/@dnd-kit/react/sortable.js.map +1 -0
- package/src/vendor/@dnd-kit/react/utilities.js.map +1 -0
- package/src/vendor/@dnd-kit/state/dist/index.js +1 -1
- package/src/vendor/@dnd-kit/state/package.json +6 -1
- package/src/vendor/@preact/signals-core/dist/signals-core.js +1 -1
- package/src/vendor/@preact/signals-core/dist/signals-core.js.map +1 -1
- package/types/ThemeProvider.d.ts +1 -1
- package/types/context-definitions/DataProvider.d.ts +1 -1
- package/types/context-definitions/DataSourceProvider.d.ts +1 -1
|
@@ -20,7 +20,7 @@ declare class RestrictToElement extends Modifier<DragDropManager, Options> {
|
|
|
20
20
|
x: number;
|
|
21
21
|
y: number;
|
|
22
22
|
};
|
|
23
|
-
static configure: (options: Options) => _dnd_kit_abstract.PluginDescriptor<any, any, typeof RestrictToElement>;
|
|
23
|
+
static configure: (options: Options) => _dnd_kit_abstract.PluginDescriptor<any, _dnd_kit_abstract.Plugin<any, Options>, typeof RestrictToElement>;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export { RestrictToElement, RestrictToWindow };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/dom",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.cjs",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -70,23 +70,29 @@
|
|
|
70
70
|
"build:sortable": "tsup --entry.sortable src/sortable/index.ts",
|
|
71
71
|
"build:utilities": "tsup --entry.utilities src/utilities/index.ts",
|
|
72
72
|
"dev": "bun build:utilities --watch & bun build:core --watch & bun build:sortable --watch & bun build:modifiers --watch & bun build:plugins --watch",
|
|
73
|
+
"test": "bun test",
|
|
73
74
|
"lint": "TIMING=1 eslint src/**/*.ts* --fix",
|
|
74
75
|
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
|
|
75
76
|
},
|
|
76
77
|
"dependencies": {
|
|
77
|
-
"@dnd-kit/abstract": "^0.1
|
|
78
|
-
"@dnd-kit/collision": "^0.1
|
|
79
|
-
"@dnd-kit/geometry": "^0.1
|
|
80
|
-
"@dnd-kit/state": "^0.1
|
|
78
|
+
"@dnd-kit/abstract": "^0.5.1",
|
|
79
|
+
"@dnd-kit/collision": "^0.5.1",
|
|
80
|
+
"@dnd-kit/geometry": "^0.5.1",
|
|
81
|
+
"@dnd-kit/state": "^0.5.1",
|
|
81
82
|
"tslib": "^2.6.2"
|
|
82
83
|
},
|
|
83
84
|
"devDependencies": {
|
|
84
85
|
"@dnd-kit/eslint-config": "*",
|
|
86
|
+
"bun-types": "^1.2.15",
|
|
85
87
|
"eslint": "^8.38.0",
|
|
86
88
|
"tsup": "8.3.0",
|
|
87
89
|
"typescript": "^5.5.2"
|
|
88
90
|
},
|
|
89
91
|
"publishConfig": {
|
|
90
92
|
"access": "public"
|
|
93
|
+
},
|
|
94
|
+
"repository": {
|
|
95
|
+
"type": "git",
|
|
96
|
+
"url": "https://github.com/clauderic/dnd-kit"
|
|
91
97
|
}
|
|
92
98
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { effects } from '../../state/dist/index.js';
|
|
2
2
|
import { Plugin } from '../../abstract/index.js';
|
|
3
|
-
import { hidePopover, showPopover } from '../utilities.js';
|
|
3
|
+
import { getFixedPositionOffset, hidePopover, showPopover } from '../utilities.js';
|
|
4
4
|
|
|
5
5
|
// src/plugins/debug/debug.ts
|
|
6
6
|
var Debug = class extends Plugin {
|
|
@@ -31,8 +31,9 @@ var Debug = class extends Plugin {
|
|
|
31
31
|
element.style.color = "rgba(0,0,0,0.9)";
|
|
32
32
|
document.body.appendChild(element);
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
element.style.
|
|
34
|
+
const draggableOffset = getFixedPositionOffset();
|
|
35
|
+
element.style.top = `${boundingRectangle.top + draggableOffset.y}px`;
|
|
36
|
+
element.style.left = `${boundingRectangle.left + draggableOffset.x}px`;
|
|
36
37
|
element.style.width = `${boundingRectangle.width}px`;
|
|
37
38
|
element.style.height = `${boundingRectangle.height}px`;
|
|
38
39
|
hidePopover(element);
|
|
@@ -57,8 +58,9 @@ var Debug = class extends Plugin {
|
|
|
57
58
|
document.body.appendChild(debugElement);
|
|
58
59
|
}
|
|
59
60
|
debugElement.style.backgroundColor = droppable.isDropTarget ? "rgba(13, 210, 36, 0.6)" : collidingIds.includes(droppable.id) ? "rgba(255, 193, 7, 0.5)" : "rgba(0, 0, 0, 0.1)";
|
|
60
|
-
|
|
61
|
-
debugElement.style.
|
|
61
|
+
const droppableOffset = getFixedPositionOffset();
|
|
62
|
+
debugElement.style.top = `${boundingRectangle.top + droppableOffset.y}px`;
|
|
63
|
+
debugElement.style.left = `${boundingRectangle.left + droppableOffset.x}px`;
|
|
62
64
|
debugElement.style.width = `${boundingRectangle.width}px`;
|
|
63
65
|
debugElement.style.height = `${boundingRectangle.height}px`;
|
|
64
66
|
debugElement.textContent = `${droppable.id}`;
|
|
@@ -84,8 +86,9 @@ var Debug = class extends Plugin {
|
|
|
84
86
|
positionElement.appendChild(vertical);
|
|
85
87
|
document.body.appendChild(positionElement);
|
|
86
88
|
}
|
|
87
|
-
|
|
88
|
-
positionElement.style.
|
|
89
|
+
const posOffset = getFixedPositionOffset();
|
|
90
|
+
positionElement.style.top = `${y + posOffset.y}px`;
|
|
91
|
+
positionElement.style.left = `${x + posOffset.x}px`;
|
|
89
92
|
hidePopover(positionElement);
|
|
90
93
|
queueMicrotask(() => positionElement && showPopover(positionElement));
|
|
91
94
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugins/debug/debug.ts"],"names":[],"mappings":"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","file":"debug.js","sourcesContent":["import {effects} from '@dnd-kit/state';\nimport {Plugin} from '@dnd-kit/abstract';\nimport type {UniqueIdentifier} from '@dnd-kit/abstract';\nimport type {DragDropManager} from '@dnd-kit/dom';\nimport {showPopover, hidePopover} from '@dnd-kit/dom/utilities';\n\nexport class Debug extends Plugin<DragDropManager> {\n constructor(manager: DragDropManager) {\n super(manager);\n\n const elements = new Map<UniqueIdentifier, HTMLElement>();\n let draggableElement: HTMLElement | null = null;\n let positionElement: HTMLElement | null = null;\n\n const cleanup = effects(() => {\n const {dragOperation} = manager;\n const {x, y} = dragOperation.position.current;\n const {current: _, idle} = dragOperation.status;\n const {collisions} = manager.collisionObserver;\n const draggable = dragOperation.source;\n const topCollisions = collisions.slice(1, 3);\n const collidingIds = topCollisions.map(({id}) => id);\n\n if (draggable && dragOperation.shape) {\n const element = draggableElement ?? createDebugElement();\n const {boundingRectangle} = dragOperation.shape.current;\n\n if (!draggableElement) {\n draggableElement = element;\n\n const style = document.createElement('style');\n style.textContent = `dialog[data-dnd-kit-debug]::backdrop {display: none;}`;\n\n element.textContent = `${draggable.id}`;\n element.setAttribute('data-dnd-kit-debug', '');\n element.appendChild(style);\n element.style.backgroundColor = 'rgba(118, 190, 250, 0.5)';\n element.style.color = 'rgba(0,0,0,0.9)';\n\n document.body.appendChild(element);\n }\n\n element.style.top = `${boundingRectangle.top}px`;\n element.style.left = `${boundingRectangle.left}px`;\n element.style.width = `${boundingRectangle.width}px`;\n element.style.height = `${boundingRectangle.height}px`;\n\n hidePopover(element);\n showPopover(element);\n } else {\n draggableElement?.remove();\n draggableElement = null;\n }\n\n for (const [id, element] of elements) {\n if (!manager.registry.droppables.has(id)) {\n element.remove();\n elements.delete(id);\n }\n }\n\n for (const droppable of manager.registry.droppables) {\n const element = elements.get(droppable.id);\n\n if (droppable.shape) {\n const {boundingRectangle} = droppable.shape;\n const debugElement = element ?? createDebugElement();\n\n if (!element) {\n elements.set(droppable.id, debugElement);\n document.body.appendChild(debugElement);\n }\n\n debugElement.style.backgroundColor = droppable.isDropTarget\n ? 'rgba(13, 210, 36, 0.6)'\n : collidingIds.includes(droppable.id)\n ? 'rgba(255, 193, 7, 0.5)'\n : 'rgba(0, 0, 0, 0.1)';\n\n debugElement.style.top = `${boundingRectangle.top}px`;\n debugElement.style.left = `${boundingRectangle.left}px`;\n debugElement.style.width = `${boundingRectangle.width}px`;\n debugElement.style.height = `${boundingRectangle.height}px`;\n debugElement.textContent = `${droppable.id}`;\n } else if (element) {\n element.remove();\n elements.delete(droppable.id);\n }\n }\n\n if (!idle) {\n if (!positionElement) {\n positionElement = createDebugElement();\n\n const horizontal = document.createElement('div');\n const vertical = document.createElement('div');\n\n horizontal.style.position = 'absolute';\n horizontal.style.width = '25px';\n horizontal.style.height = '1px';\n horizontal.style.backgroundColor = '#000';\n\n vertical.style.position = 'absolute';\n vertical.style.width = '1px';\n vertical.style.height = '25px';\n vertical.style.backgroundColor = '#000';\n\n positionElement.appendChild(horizontal);\n positionElement.appendChild(vertical);\n document.body.appendChild(positionElement);\n }\n\n positionElement.style.top = `${y}px`;\n positionElement.style.left = `${x}px`;\n\n hidePopover(positionElement);\n // Only one element can be promoted to the top layer per call stack\n queueMicrotask(() => positionElement && showPopover(positionElement));\n } else {\n positionElement?.remove();\n positionElement = null;\n }\n });\n\n this.destroy = () => {\n positionElement?.remove();\n draggableElement?.remove();\n elements.forEach((element) => element.remove());\n cleanup();\n };\n }\n}\n\nfunction createDebugElement(tagName = 'div') {\n const element = document.createElement(tagName);\n\n element.setAttribute('popover', 'manual');\n element.style.all = 'initial';\n element.style.position = 'fixed';\n element.style.display = 'flex';\n element.style.alignItems = 'center';\n element.style.justifyContent = 'center';\n element.style.border = '1px solid rgba(0, 0, 0, 0.1)';\n element.style.boxSizing = 'border-box';\n element.style.pointerEvents = 'none';\n element.style.zIndex = 'calc(infinity)';\n element.style.color = 'rgba(0,0,0,0.5)';\n element.style.fontFamily = 'sans-serif';\n element.style.textShadow = '0 0 3px rgba(255,255,255,0.8)';\n element.style.pointerEvents = 'none';\n\n return element;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/plugins/debug/debug.ts"],"names":[],"mappings":"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","file":"debug.js","sourcesContent":["import {effects} from '@dnd-kit/state';\nimport {Plugin} from '@dnd-kit/abstract';\nimport type {UniqueIdentifier} from '@dnd-kit/abstract';\nimport type {DragDropManager} from '@dnd-kit/dom';\nimport {showPopover, hidePopover, getFixedPositionOffset} from '@dnd-kit/dom/utilities';\n\nexport class Debug extends Plugin<DragDropManager> {\n constructor(manager: DragDropManager) {\n super(manager);\n\n const elements = new Map<UniqueIdentifier, HTMLElement>();\n let draggableElement: HTMLElement | null = null;\n let positionElement: HTMLElement | null = null;\n\n const cleanup = effects(() => {\n const {dragOperation} = manager;\n const {x, y} = dragOperation.position.current;\n const {current: _, idle} = dragOperation.status;\n const {collisions} = manager.collisionObserver;\n const draggable = dragOperation.source;\n const topCollisions = collisions.slice(1, 3);\n const collidingIds = topCollisions.map(({id}) => id);\n\n if (draggable && dragOperation.shape) {\n const element = draggableElement ?? createDebugElement();\n const {boundingRectangle} = dragOperation.shape.current;\n\n if (!draggableElement) {\n draggableElement = element;\n\n const style = document.createElement('style');\n style.textContent = `dialog[data-dnd-kit-debug]::backdrop {display: none;}`;\n\n element.textContent = `${draggable.id}`;\n element.setAttribute('data-dnd-kit-debug', '');\n element.appendChild(style);\n element.style.backgroundColor = 'rgba(118, 190, 250, 0.5)';\n element.style.color = 'rgba(0,0,0,0.9)';\n\n document.body.appendChild(element);\n }\n\n const draggableOffset = getFixedPositionOffset();\n element.style.top = `${boundingRectangle.top + draggableOffset.y}px`;\n element.style.left = `${boundingRectangle.left + draggableOffset.x}px`;\n element.style.width = `${boundingRectangle.width}px`;\n element.style.height = `${boundingRectangle.height}px`;\n\n hidePopover(element);\n showPopover(element);\n } else {\n draggableElement?.remove();\n draggableElement = null;\n }\n\n for (const [id, element] of elements) {\n if (!manager.registry.droppables.has(id)) {\n element.remove();\n elements.delete(id);\n }\n }\n\n for (const droppable of manager.registry.droppables) {\n const element = elements.get(droppable.id);\n\n if (droppable.shape) {\n const {boundingRectangle} = droppable.shape;\n const debugElement = element ?? createDebugElement();\n\n if (!element) {\n elements.set(droppable.id, debugElement);\n document.body.appendChild(debugElement);\n }\n\n debugElement.style.backgroundColor = droppable.isDropTarget\n ? 'rgba(13, 210, 36, 0.6)'\n : collidingIds.includes(droppable.id)\n ? 'rgba(255, 193, 7, 0.5)'\n : 'rgba(0, 0, 0, 0.1)';\n\n const droppableOffset = getFixedPositionOffset();\n debugElement.style.top = `${boundingRectangle.top + droppableOffset.y}px`;\n debugElement.style.left = `${boundingRectangle.left + droppableOffset.x}px`;\n debugElement.style.width = `${boundingRectangle.width}px`;\n debugElement.style.height = `${boundingRectangle.height}px`;\n debugElement.textContent = `${droppable.id}`;\n } else if (element) {\n element.remove();\n elements.delete(droppable.id);\n }\n }\n\n if (!idle) {\n if (!positionElement) {\n positionElement = createDebugElement();\n\n const horizontal = document.createElement('div');\n const vertical = document.createElement('div');\n\n horizontal.style.position = 'absolute';\n horizontal.style.width = '25px';\n horizontal.style.height = '1px';\n horizontal.style.backgroundColor = '#000';\n\n vertical.style.position = 'absolute';\n vertical.style.width = '1px';\n vertical.style.height = '25px';\n vertical.style.backgroundColor = '#000';\n\n positionElement.appendChild(horizontal);\n positionElement.appendChild(vertical);\n document.body.appendChild(positionElement);\n }\n\n const posOffset = getFixedPositionOffset();\n positionElement.style.top = `${y + posOffset.y}px`;\n positionElement.style.left = `${x + posOffset.x}px`;\n\n hidePopover(positionElement);\n // Only one element can be promoted to the top layer per call stack\n queueMicrotask(() => positionElement && showPopover(positionElement));\n } else {\n positionElement?.remove();\n positionElement = null;\n }\n });\n\n this.destroy = () => {\n positionElement?.remove();\n draggableElement?.remove();\n elements.forEach((element) => element.remove());\n cleanup();\n };\n }\n}\n\nfunction createDebugElement(tagName = 'div') {\n const element = document.createElement(tagName);\n\n element.setAttribute('popover', 'manual');\n element.style.all = 'initial';\n element.style.position = 'fixed';\n element.style.display = 'flex';\n element.style.alignItems = 'center';\n element.style.justifyContent = 'center';\n element.style.border = '1px solid rgba(0, 0, 0, 0.1)';\n element.style.boxSizing = 'border-box';\n element.style.pointerEvents = 'none';\n element.style.zIndex = 'calc(infinity)';\n element.style.color = 'rgba(0,0,0,0.5)';\n element.style.fontFamily = 'sans-serif';\n element.style.textShadow = '0 0 3px rgba(255,255,255,0.8)';\n element.style.pointerEvents = 'none';\n\n return element;\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _dnd_kit_geometry from '@dnd-kit/geometry';
|
|
2
2
|
import { Alignment } from '@dnd-kit/geometry';
|
|
3
|
-
import { Data, UniqueIdentifier,
|
|
3
|
+
import { Data, UniqueIdentifier, Customizable, Plugins, Modifiers, CollisionPriority, Type, DragOperation, Plugin } from '@dnd-kit/abstract';
|
|
4
4
|
import { CollisionDetector } from '@dnd-kit/collision';
|
|
5
|
-
import { Draggable, Droppable, DraggableInput, DroppableInput, DragDropManager,
|
|
5
|
+
import { Draggable, Droppable, DraggableInput, DroppableInput, DragDropManager, Sensors } from '@dnd-kit/dom';
|
|
6
6
|
|
|
7
7
|
interface SortableTransition {
|
|
8
8
|
/**
|
|
@@ -22,7 +22,19 @@ interface SortableTransition {
|
|
|
22
22
|
**/
|
|
23
23
|
idle?: boolean;
|
|
24
24
|
}
|
|
25
|
-
interface
|
|
25
|
+
interface SortableDisabled {
|
|
26
|
+
draggable?: boolean;
|
|
27
|
+
droppable?: boolean;
|
|
28
|
+
}
|
|
29
|
+
type SortableDisabledValue = boolean | SortableDisabled;
|
|
30
|
+
interface SortableInput<T extends Data> extends Omit<DraggableInput<T>, 'disabled' | 'plugins'>, Omit<DroppableInput<T>, 'disabled'> {
|
|
31
|
+
/**
|
|
32
|
+
* Whether the sortable item should be disabled.
|
|
33
|
+
*
|
|
34
|
+
* Passing a boolean disables dragging and dropping.
|
|
35
|
+
* Use the object form to disable dragging and dropping independently.
|
|
36
|
+
*/
|
|
37
|
+
disabled?: boolean | SortableDisabled;
|
|
26
38
|
/**
|
|
27
39
|
* The index of the sortable item within its group.
|
|
28
40
|
*/
|
|
@@ -40,12 +52,27 @@ interface SortableInput<T extends Data> extends DraggableInput<T>, DroppableInpu
|
|
|
40
52
|
*/
|
|
41
53
|
transition?: SortableTransition | null;
|
|
42
54
|
/**
|
|
43
|
-
* Plugins to register
|
|
55
|
+
* Plugins to register or configure per-entity.
|
|
56
|
+
*
|
|
57
|
+
* Bare constructors are registered globally (e.g. sortable-specific plugins).
|
|
58
|
+
* Descriptors from `Plugin.configure()` are applied as per-entity plugin config.
|
|
59
|
+
*
|
|
60
|
+
* Can be provided as an array (replaces defaults) or a function that receives
|
|
61
|
+
* the default plugins and returns a new array (extends defaults).
|
|
62
|
+
*
|
|
44
63
|
* @default [SortableKeyboardPlugin, OptimisticSortingPlugin]
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* // Extend defaults
|
|
67
|
+
* plugins: (defaults) => [...defaults, Feedback.configure({feedback: 'clone'})]
|
|
68
|
+
*
|
|
69
|
+
* // Replace defaults
|
|
70
|
+
* plugins: [MyPlugin]
|
|
45
71
|
*/
|
|
46
|
-
plugins?:
|
|
72
|
+
plugins?: Customizable<Plugins>;
|
|
47
73
|
}
|
|
48
74
|
declare const defaultSortableTransition: SortableTransition;
|
|
75
|
+
declare function resolveSortableTransition(transition: SortableTransition | null | undefined): SortableTransition | null;
|
|
49
76
|
declare class Sortable<T extends Data = Data> {
|
|
50
77
|
#private;
|
|
51
78
|
draggable: Draggable<T>;
|
|
@@ -55,7 +82,7 @@ declare class Sortable<T extends Data = Data> {
|
|
|
55
82
|
get initialGroup(): UniqueIdentifier | undefined;
|
|
56
83
|
accessor group: UniqueIdentifier | undefined;
|
|
57
84
|
transition: SortableTransition | null;
|
|
58
|
-
constructor({ effects: inputEffects, group, index, sensors, type, transition, plugins, ...input }: SortableInput<T>, manager: DragDropManager<any, any> | undefined);
|
|
85
|
+
constructor({ effects: inputEffects, disabled, group, index, sensors, type, transition, plugins: pluginsInput, ...input }: SortableInput<T>, manager: DragDropManager<any, any> | undefined);
|
|
59
86
|
protected animate(): void;
|
|
60
87
|
get manager(): DragDropManager<any, any> | undefined;
|
|
61
88
|
set manager(manager: DragDropManager<any, any> | undefined);
|
|
@@ -65,9 +92,9 @@ declare class Sortable<T extends Data = Data> {
|
|
|
65
92
|
get target(): Element | undefined;
|
|
66
93
|
set source(source: Element | undefined);
|
|
67
94
|
get source(): Element | undefined;
|
|
68
|
-
get disabled(): boolean;
|
|
69
|
-
set
|
|
70
|
-
set disabled(value:
|
|
95
|
+
get disabled(): boolean | SortableDisabled;
|
|
96
|
+
set plugins(value: Customizable<Plugins> | undefined);
|
|
97
|
+
set disabled(value: SortableDisabledValue);
|
|
71
98
|
set data(data: T);
|
|
72
99
|
set handle(handle: Element | undefined);
|
|
73
100
|
set id(id: UniqueIdentifier);
|
|
@@ -106,13 +133,20 @@ declare class SortableDraggable<T extends Data> extends Draggable<T> {
|
|
|
106
133
|
sortable: Sortable<T>;
|
|
107
134
|
constructor(input: DraggableInput<T>, manager: DragDropManager | undefined, sortable: Sortable<T>);
|
|
108
135
|
get index(): number;
|
|
136
|
+
get initialIndex(): number;
|
|
137
|
+
get group(): UniqueIdentifier | undefined;
|
|
138
|
+
get initialGroup(): UniqueIdentifier | undefined;
|
|
109
139
|
}
|
|
110
140
|
declare class SortableDroppable<T extends Data> extends Droppable<T> {
|
|
111
141
|
sortable: Sortable<T>;
|
|
112
142
|
constructor(input: DraggableInput<T>, manager: DragDropManager | undefined, sortable: Sortable<T>);
|
|
143
|
+
get index(): number;
|
|
144
|
+
get group(): UniqueIdentifier | undefined;
|
|
113
145
|
}
|
|
114
146
|
|
|
115
|
-
declare function isSortable(element: Draggable |
|
|
147
|
+
declare function isSortable<T extends Data = Data>(element: Draggable<T> | null): element is SortableDraggable<T>;
|
|
148
|
+
declare function isSortable<T extends Data = Data>(element: Droppable<T> | null): element is SortableDroppable<T>;
|
|
149
|
+
declare function isSortableOperation<T extends Data = Data, U extends Data = T>(operation: DragOperation<Draggable<T>, Droppable<U>>): operation is DragOperation<SortableDraggable<T>, SortableDroppable<U>>;
|
|
116
150
|
|
|
117
151
|
declare class OptimisticSortingPlugin extends Plugin<DragDropManager> {
|
|
118
152
|
constructor(manager: DragDropManager);
|
|
@@ -122,4 +156,4 @@ declare class SortableKeyboardPlugin extends Plugin<DragDropManager> {
|
|
|
122
156
|
constructor(manager: DragDropManager);
|
|
123
157
|
}
|
|
124
158
|
|
|
125
|
-
export { OptimisticSortingPlugin, Sortable, type SortableInput, SortableKeyboardPlugin, type SortableTransition, defaultSortableTransition, isSortable };
|
|
159
|
+
export { OptimisticSortingPlugin, Sortable, type SortableDisabled, SortableDraggable, SortableDroppable, type SortableInput, SortableKeyboardPlugin, type SortableTransition, defaultSortableTransition, isSortable, isSortableOperation, resolveSortableTransition };
|