@dnd-kit/react 0.0.4-beta-20240621184125 → 0.0.4-beta-20240622232930
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/index.cjs +20 -14
- package/index.d.ts +10 -2
- package/index.js +20 -15
- package/package.json +4 -4
- package/sortable.cjs +8 -17
- package/sortable.d.ts +1 -0
- package/sortable.js +11 -20
package/index.cjs
CHANGED
|
@@ -4,8 +4,8 @@ var react = require('react');
|
|
|
4
4
|
var dom = require('@dnd-kit/dom');
|
|
5
5
|
var hooks = require('@dnd-kit/react/hooks');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var utilities = require('@dnd-kit/react/utilities');
|
|
8
7
|
var state = require('@dnd-kit/state');
|
|
8
|
+
var utilities = require('@dnd-kit/react/utilities');
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
11
11
|
var __defProps = Object.defineProperties;
|
|
@@ -38,8 +38,9 @@ var __objRest = (source, exclude) => {
|
|
|
38
38
|
}
|
|
39
39
|
return target;
|
|
40
40
|
};
|
|
41
|
+
var defaultManager = new dom.DragDropManager();
|
|
41
42
|
var DragDropContext = react.createContext(
|
|
42
|
-
|
|
43
|
+
defaultManager
|
|
43
44
|
);
|
|
44
45
|
function useRenderer() {
|
|
45
46
|
const [_, startTransition2] = react.useTransition();
|
|
@@ -169,33 +170,36 @@ function useDragDropManager() {
|
|
|
169
170
|
function useInstance(initializer) {
|
|
170
171
|
var _a;
|
|
171
172
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
172
|
-
const [instance] = react.useState(
|
|
173
|
+
const [instance] = react.useState(
|
|
174
|
+
() => initializer(manager === defaultManager ? void 0 : manager)
|
|
175
|
+
);
|
|
173
176
|
react.useEffect(() => {
|
|
174
177
|
instance.manager = manager;
|
|
175
|
-
return
|
|
178
|
+
return instance.register();
|
|
176
179
|
}, [instance, manager]);
|
|
177
180
|
return instance;
|
|
178
181
|
}
|
|
182
|
+
|
|
183
|
+
// src/core/draggable/useDraggable.ts
|
|
179
184
|
function useDraggable(input) {
|
|
180
|
-
const { disabled, id, modifiers, sensors } = input;
|
|
185
|
+
const { disabled, data, id, modifiers, sensors } = input;
|
|
181
186
|
const handle = utilities.currentValue(input.handle);
|
|
182
187
|
const element = utilities.currentValue(input.element);
|
|
183
188
|
const draggable = useInstance(
|
|
184
189
|
(manager) => new dom.Draggable(
|
|
185
190
|
__spreadProps(__spreadValues({}, input), {
|
|
186
191
|
handle,
|
|
187
|
-
element
|
|
188
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
189
|
-
register: false
|
|
190
|
-
})
|
|
192
|
+
element
|
|
191
193
|
}),
|
|
192
194
|
manager
|
|
193
195
|
)
|
|
194
196
|
);
|
|
195
197
|
const isDragSource = hooks.useComputed(() => draggable.isDragSource);
|
|
198
|
+
const status = hooks.useComputed(() => draggable.status);
|
|
196
199
|
hooks.useOnValueChange(id, () => draggable.id = id);
|
|
197
200
|
hooks.useOnValueChange(handle, () => draggable.handle = handle);
|
|
198
201
|
hooks.useOnValueChange(element, () => draggable.element = element);
|
|
202
|
+
hooks.useOnValueChange(data, () => data && (draggable.data = data));
|
|
199
203
|
hooks.useOnValueChange(disabled, () => draggable.disabled = disabled === true);
|
|
200
204
|
hooks.useOnValueChange(sensors, () => draggable.sensors = sensors);
|
|
201
205
|
hooks.useOnValueChange(
|
|
@@ -216,6 +220,9 @@ function useDraggable(input) {
|
|
|
216
220
|
get isDragSource() {
|
|
217
221
|
return isDragSource.value;
|
|
218
222
|
},
|
|
223
|
+
get status() {
|
|
224
|
+
return status.value;
|
|
225
|
+
},
|
|
219
226
|
handleRef: react.useCallback(
|
|
220
227
|
(element2) => {
|
|
221
228
|
draggable.handle = element2 != null ? element2 : void 0;
|
|
@@ -231,15 +238,12 @@ function useDraggable(input) {
|
|
|
231
238
|
};
|
|
232
239
|
}
|
|
233
240
|
function useDroppable(input) {
|
|
234
|
-
const { collisionDetector, disabled, id, accept, type } = input;
|
|
241
|
+
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
235
242
|
const element = utilities.currentValue(input.element);
|
|
236
243
|
const droppable = useInstance(
|
|
237
244
|
(manager) => new dom.Droppable(
|
|
238
245
|
__spreadProps(__spreadValues({}, input), {
|
|
239
|
-
element
|
|
240
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
241
|
-
register: false
|
|
242
|
-
})
|
|
246
|
+
element
|
|
243
247
|
}),
|
|
244
248
|
manager
|
|
245
249
|
)
|
|
@@ -248,6 +252,7 @@ function useDroppable(input) {
|
|
|
248
252
|
hooks.useOnValueChange(id, () => droppable.id = id);
|
|
249
253
|
hooks.useOnValueChange(accept, () => droppable.id = id, void 0, state.deepEqual);
|
|
250
254
|
hooks.useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
255
|
+
hooks.useOnValueChange(data, () => data && (droppable.data = data));
|
|
251
256
|
hooks.useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
252
257
|
hooks.useOnValueChange(element, () => droppable.element = element);
|
|
253
258
|
hooks.useOnValueChange(type, () => droppable.id = id);
|
|
@@ -283,5 +288,6 @@ exports.useDragDropManager = useDragDropManager;
|
|
|
283
288
|
exports.useDragOperation = useDragOperation;
|
|
284
289
|
exports.useDraggable = useDraggable;
|
|
285
290
|
exports.useDroppable = useDroppable;
|
|
291
|
+
exports.useInstance = useInstance;
|
|
286
292
|
//# sourceMappingURL=out.js.map
|
|
287
293
|
//# sourceMappingURL=index.cjs.map
|
package/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
3
|
import * as _dnd_kit_abstract from '@dnd-kit/abstract';
|
|
4
|
-
import { DragDropEvents, Data } from '@dnd-kit/abstract';
|
|
4
|
+
import { DragDropEvents, Data, DragDropManager as DragDropManager$1 } from '@dnd-kit/abstract';
|
|
5
5
|
import * as _dnd_kit_dom from '@dnd-kit/dom';
|
|
6
6
|
import { DragDropManagerInput, DragDropManager, Draggable, Droppable, DraggableInput, DroppableInput } from '@dnd-kit/dom';
|
|
7
7
|
import { RefOrValue } from '@dnd-kit/react/utilities';
|
|
8
|
+
import { CleanupFunction } from '@dnd-kit/state';
|
|
8
9
|
|
|
9
10
|
type Events = DragDropEvents<Draggable, Droppable, DragDropManager>;
|
|
10
11
|
interface Props extends DragDropManagerInput, PropsWithChildren {
|
|
@@ -25,6 +26,7 @@ interface UseDraggableInput<T extends Data = Data> extends Omit<DraggableInput<T
|
|
|
25
26
|
declare function useDraggable<T extends Data = Data>(input: UseDraggableInput<T>): {
|
|
26
27
|
draggable: Draggable<T>;
|
|
27
28
|
readonly isDragSource: boolean;
|
|
29
|
+
readonly status: "idle" | "dragging" | "dropping";
|
|
28
30
|
handleRef: (element: Element | null) => void;
|
|
29
31
|
ref: (element: Element | null) => void;
|
|
30
32
|
};
|
|
@@ -45,4 +47,10 @@ declare function useDragOperation(): {
|
|
|
45
47
|
readonly target: _dnd_kit_dom.Droppable<_dnd_kit_abstract.Data> | null | undefined;
|
|
46
48
|
};
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
interface Instance<T extends DragDropManager$1<any, any> = DragDropManager$1<any, any>> {
|
|
51
|
+
manager: T | undefined;
|
|
52
|
+
register(): CleanupFunction | void;
|
|
53
|
+
}
|
|
54
|
+
declare function useInstance<T extends Instance>(initializer: (manager: DragDropManager$1<any, any> | undefined) => T): T;
|
|
55
|
+
|
|
56
|
+
export { DragDropProvider, type UseDraggableInput, type UseDroppableInput, useDragDropManager, useDragOperation, useDraggable, useDroppable, useInstance };
|
package/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import { createContext, useState, useEffect, startTransition, useContext, useCal
|
|
|
2
2
|
import { DragDropManager, defaultPreset, Draggable, Droppable } from '@dnd-kit/dom';
|
|
3
3
|
import { useLatest, useOnValueChange, useComputed, useConstant } from '@dnd-kit/react/hooks';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
import { currentValue } from '@dnd-kit/react/utilities';
|
|
6
5
|
import { deepEqual } from '@dnd-kit/state';
|
|
6
|
+
import { currentValue } from '@dnd-kit/react/utilities';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __defProps = Object.defineProperties;
|
|
@@ -36,8 +36,9 @@ var __objRest = (source, exclude) => {
|
|
|
36
36
|
}
|
|
37
37
|
return target;
|
|
38
38
|
};
|
|
39
|
+
var defaultManager = new DragDropManager();
|
|
39
40
|
var DragDropContext = createContext(
|
|
40
|
-
|
|
41
|
+
defaultManager
|
|
41
42
|
);
|
|
42
43
|
function useRenderer() {
|
|
43
44
|
const [_, startTransition2] = useTransition();
|
|
@@ -167,33 +168,36 @@ function useDragDropManager() {
|
|
|
167
168
|
function useInstance(initializer) {
|
|
168
169
|
var _a;
|
|
169
170
|
const manager = (_a = useDragDropManager()) != null ? _a : void 0;
|
|
170
|
-
const [instance] = useState(
|
|
171
|
+
const [instance] = useState(
|
|
172
|
+
() => initializer(manager === defaultManager ? void 0 : manager)
|
|
173
|
+
);
|
|
171
174
|
useEffect(() => {
|
|
172
175
|
instance.manager = manager;
|
|
173
|
-
return
|
|
176
|
+
return instance.register();
|
|
174
177
|
}, [instance, manager]);
|
|
175
178
|
return instance;
|
|
176
179
|
}
|
|
180
|
+
|
|
181
|
+
// src/core/draggable/useDraggable.ts
|
|
177
182
|
function useDraggable(input) {
|
|
178
|
-
const { disabled, id, modifiers, sensors } = input;
|
|
183
|
+
const { disabled, data, id, modifiers, sensors } = input;
|
|
179
184
|
const handle = currentValue(input.handle);
|
|
180
185
|
const element = currentValue(input.element);
|
|
181
186
|
const draggable = useInstance(
|
|
182
187
|
(manager) => new Draggable(
|
|
183
188
|
__spreadProps(__spreadValues({}, input), {
|
|
184
189
|
handle,
|
|
185
|
-
element
|
|
186
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
187
|
-
register: false
|
|
188
|
-
})
|
|
190
|
+
element
|
|
189
191
|
}),
|
|
190
192
|
manager
|
|
191
193
|
)
|
|
192
194
|
);
|
|
193
195
|
const isDragSource = useComputed(() => draggable.isDragSource);
|
|
196
|
+
const status = useComputed(() => draggable.status);
|
|
194
197
|
useOnValueChange(id, () => draggable.id = id);
|
|
195
198
|
useOnValueChange(handle, () => draggable.handle = handle);
|
|
196
199
|
useOnValueChange(element, () => draggable.element = element);
|
|
200
|
+
useOnValueChange(data, () => data && (draggable.data = data));
|
|
197
201
|
useOnValueChange(disabled, () => draggable.disabled = disabled === true);
|
|
198
202
|
useOnValueChange(sensors, () => draggable.sensors = sensors);
|
|
199
203
|
useOnValueChange(
|
|
@@ -214,6 +218,9 @@ function useDraggable(input) {
|
|
|
214
218
|
get isDragSource() {
|
|
215
219
|
return isDragSource.value;
|
|
216
220
|
},
|
|
221
|
+
get status() {
|
|
222
|
+
return status.value;
|
|
223
|
+
},
|
|
217
224
|
handleRef: useCallback(
|
|
218
225
|
(element2) => {
|
|
219
226
|
draggable.handle = element2 != null ? element2 : void 0;
|
|
@@ -229,15 +236,12 @@ function useDraggable(input) {
|
|
|
229
236
|
};
|
|
230
237
|
}
|
|
231
238
|
function useDroppable(input) {
|
|
232
|
-
const { collisionDetector, disabled, id, accept, type } = input;
|
|
239
|
+
const { collisionDetector, data, disabled, id, accept, type } = input;
|
|
233
240
|
const element = currentValue(input.element);
|
|
234
241
|
const droppable = useInstance(
|
|
235
242
|
(manager) => new Droppable(
|
|
236
243
|
__spreadProps(__spreadValues({}, input), {
|
|
237
|
-
element
|
|
238
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
239
|
-
register: false
|
|
240
|
-
})
|
|
244
|
+
element
|
|
241
245
|
}),
|
|
242
246
|
manager
|
|
243
247
|
)
|
|
@@ -246,6 +250,7 @@ function useDroppable(input) {
|
|
|
246
250
|
useOnValueChange(id, () => droppable.id = id);
|
|
247
251
|
useOnValueChange(accept, () => droppable.id = id, void 0, deepEqual);
|
|
248
252
|
useOnValueChange(collisionDetector, () => droppable.id = id);
|
|
253
|
+
useOnValueChange(data, () => data && (droppable.data = data));
|
|
249
254
|
useOnValueChange(disabled, () => droppable.disabled = disabled === true);
|
|
250
255
|
useOnValueChange(element, () => droppable.element = element);
|
|
251
256
|
useOnValueChange(type, () => droppable.id = id);
|
|
@@ -276,6 +281,6 @@ function useDragOperation() {
|
|
|
276
281
|
};
|
|
277
282
|
}
|
|
278
283
|
|
|
279
|
-
export { DragDropProvider, useDragDropManager, useDragOperation, useDraggable, useDroppable };
|
|
284
|
+
export { DragDropProvider, useDragDropManager, useDragOperation, useDraggable, useDroppable, useInstance };
|
|
280
285
|
//# sourceMappingURL=out.js.map
|
|
281
286
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.0.4-beta-
|
|
3
|
+
"version": "0.0.4-beta-20240622232930",
|
|
4
4
|
"main": "./index.cjs",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@dnd-kit/abstract": "0.0.4-beta-
|
|
60
|
-
"@dnd-kit/dom": "0.0.4-beta-
|
|
61
|
-
"@dnd-kit/state": "0.0.4-beta-
|
|
59
|
+
"@dnd-kit/abstract": "0.0.4-beta-20240622232930",
|
|
60
|
+
"@dnd-kit/dom": "0.0.4-beta-20240622232930",
|
|
61
|
+
"@dnd-kit/state": "0.0.4-beta-20240622232930",
|
|
62
62
|
"tslib": "^2.6.2"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
package/sortable.cjs
CHANGED
|
@@ -45,32 +45,20 @@ function useSortable(input) {
|
|
|
45
45
|
const handle = utilities.currentValue(input.handle);
|
|
46
46
|
const element = utilities.currentValue(input.element);
|
|
47
47
|
const target = utilities.currentValue(input.target);
|
|
48
|
-
const sortable$1 =
|
|
48
|
+
const sortable$1 = react.useInstance((manager2) => {
|
|
49
49
|
return new sortable.Sortable(
|
|
50
50
|
__spreadProps(__spreadValues({}, input), {
|
|
51
51
|
handle,
|
|
52
52
|
element,
|
|
53
53
|
target,
|
|
54
|
-
feedback
|
|
55
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
56
|
-
register: false
|
|
57
|
-
})
|
|
54
|
+
feedback
|
|
58
55
|
}),
|
|
59
|
-
|
|
56
|
+
manager2
|
|
60
57
|
);
|
|
61
58
|
});
|
|
62
|
-
react$1.useEffect(() => {
|
|
63
|
-
sortable$1.manager = manager != null ? manager : void 0;
|
|
64
|
-
if (!manager) return;
|
|
65
|
-
manager.registry.register(sortable$1.draggable);
|
|
66
|
-
manager.registry.register(sortable$1.droppable);
|
|
67
|
-
return () => {
|
|
68
|
-
manager.registry.unregister(sortable$1.draggable);
|
|
69
|
-
manager.registry.unregister(sortable$1.droppable);
|
|
70
|
-
};
|
|
71
|
-
}, [sortable$1, manager]);
|
|
72
59
|
const isDropTarget = hooks.useComputed(() => sortable$1.isDropTarget);
|
|
73
60
|
const isDragSource = hooks.useComputed(() => sortable$1.isDragSource);
|
|
61
|
+
const status = hooks.useComputed(() => sortable$1.status);
|
|
74
62
|
hooks.useOnValueChange(id, () => sortable$1.id = id);
|
|
75
63
|
hooks.useOnValueChange(index, () => sortable$1.index = index, hooks.useIsomorphicLayoutEffect);
|
|
76
64
|
hooks.useOnValueChange(type, () => sortable$1.type = type);
|
|
@@ -81,7 +69,7 @@ function useSortable(input) {
|
|
|
81
69
|
void 0,
|
|
82
70
|
state.deepEqual
|
|
83
71
|
);
|
|
84
|
-
hooks.useOnValueChange(data, () => sortable$1.data = data
|
|
72
|
+
hooks.useOnValueChange(data, () => data && (sortable$1.data = data));
|
|
85
73
|
hooks.useOnValueChange(
|
|
86
74
|
index,
|
|
87
75
|
() => {
|
|
@@ -113,6 +101,9 @@ function useSortable(input) {
|
|
|
113
101
|
get isDropTarget() {
|
|
114
102
|
return isDropTarget.value;
|
|
115
103
|
},
|
|
104
|
+
get status() {
|
|
105
|
+
return status.value;
|
|
106
|
+
},
|
|
116
107
|
handleRef: react$1.useCallback(
|
|
117
108
|
(element2) => {
|
|
118
109
|
sortable$1.handle = element2 != null ? element2 : void 0;
|
package/sortable.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ interface UseSortableInput<T extends Data = Data> extends Omit<SortableInput<T>,
|
|
|
10
10
|
declare function useSortable<T extends Data = Data>(input: UseSortableInput<T>): {
|
|
11
11
|
readonly isDragSource: boolean;
|
|
12
12
|
readonly isDropTarget: boolean;
|
|
13
|
+
readonly status: "idle" | "dragging" | "dropping";
|
|
13
14
|
handleRef: (element: Element | null) => void;
|
|
14
15
|
ref: (element: Element | null) => void;
|
|
15
16
|
sourceRef: (element: Element | null) => void;
|
package/sortable.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
2
|
import { deepEqual } from '@dnd-kit/state';
|
|
3
3
|
import { Sortable, defaultSortableTransition } from '@dnd-kit/dom/sortable';
|
|
4
|
-
import { useDragDropManager } from '@dnd-kit/react';
|
|
5
|
-
import {
|
|
4
|
+
import { useDragDropManager, useInstance } from '@dnd-kit/react';
|
|
5
|
+
import { useComputed, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect } from '@dnd-kit/react/hooks';
|
|
6
6
|
import { currentValue } from '@dnd-kit/react/utilities';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
@@ -43,32 +43,20 @@ function useSortable(input) {
|
|
|
43
43
|
const handle = currentValue(input.handle);
|
|
44
44
|
const element = currentValue(input.element);
|
|
45
45
|
const target = currentValue(input.target);
|
|
46
|
-
const sortable =
|
|
46
|
+
const sortable = useInstance((manager2) => {
|
|
47
47
|
return new Sortable(
|
|
48
48
|
__spreadProps(__spreadValues({}, input), {
|
|
49
49
|
handle,
|
|
50
50
|
element,
|
|
51
51
|
target,
|
|
52
|
-
feedback
|
|
53
|
-
options: __spreadProps(__spreadValues({}, input.options), {
|
|
54
|
-
register: false
|
|
55
|
-
})
|
|
52
|
+
feedback
|
|
56
53
|
}),
|
|
57
|
-
|
|
54
|
+
manager2
|
|
58
55
|
);
|
|
59
56
|
});
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
sortable.manager = manager != null ? manager : void 0;
|
|
62
|
-
if (!manager) return;
|
|
63
|
-
manager.registry.register(sortable.draggable);
|
|
64
|
-
manager.registry.register(sortable.droppable);
|
|
65
|
-
return () => {
|
|
66
|
-
manager.registry.unregister(sortable.draggable);
|
|
67
|
-
manager.registry.unregister(sortable.droppable);
|
|
68
|
-
};
|
|
69
|
-
}, [sortable, manager]);
|
|
70
57
|
const isDropTarget = useComputed(() => sortable.isDropTarget);
|
|
71
58
|
const isDragSource = useComputed(() => sortable.isDragSource);
|
|
59
|
+
const status = useComputed(() => sortable.status);
|
|
72
60
|
useOnValueChange(id, () => sortable.id = id);
|
|
73
61
|
useOnValueChange(index, () => sortable.index = index, useIsomorphicLayoutEffect);
|
|
74
62
|
useOnValueChange(type, () => sortable.type = type);
|
|
@@ -79,7 +67,7 @@ function useSortable(input) {
|
|
|
79
67
|
void 0,
|
|
80
68
|
deepEqual
|
|
81
69
|
);
|
|
82
|
-
useOnValueChange(data, () => sortable.data = data
|
|
70
|
+
useOnValueChange(data, () => data && (sortable.data = data));
|
|
83
71
|
useOnValueChange(
|
|
84
72
|
index,
|
|
85
73
|
() => {
|
|
@@ -111,6 +99,9 @@ function useSortable(input) {
|
|
|
111
99
|
get isDropTarget() {
|
|
112
100
|
return isDropTarget.value;
|
|
113
101
|
},
|
|
102
|
+
get status() {
|
|
103
|
+
return status.value;
|
|
104
|
+
},
|
|
114
105
|
handleRef: useCallback(
|
|
115
106
|
(element2) => {
|
|
116
107
|
sortable.handle = element2 != null ? element2 : void 0;
|