@dnd-kit/react 0.5.1-beta-20260713030121 → 0.5.1-beta-20260905201412
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 +4 -4
- package/sortable.cjs +1 -1
- package/sortable.cjs.map +1 -1
- package/sortable.js +2 -2
- package/sortable.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dnd-kit/react",
|
|
3
|
-
"version": "0.5.1-beta-
|
|
3
|
+
"version": "0.5.1-beta-20260905201412",
|
|
4
4
|
"main": "./index.cjs",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@dnd-kit/abstract": "0.5.1-beta-
|
|
68
|
-
"@dnd-kit/dom": "0.5.1-beta-
|
|
69
|
-
"@dnd-kit/state": "0.5.1-beta-
|
|
67
|
+
"@dnd-kit/abstract": "0.5.1-beta-20260905201412",
|
|
68
|
+
"@dnd-kit/dom": "0.5.1-beta-20260905201412",
|
|
69
|
+
"@dnd-kit/state": "0.5.1-beta-20260905201412",
|
|
70
70
|
"tslib": "^2.6.2"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
package/sortable.cjs
CHANGED
|
@@ -44,7 +44,7 @@ function useSortable(input) {
|
|
|
44
44
|
type,
|
|
45
45
|
plugins
|
|
46
46
|
} = input;
|
|
47
|
-
const transition =
|
|
47
|
+
const transition = sortable.resolveSortableTransition(input.transition);
|
|
48
48
|
const sortable$1 = react.useInstance((manager) => {
|
|
49
49
|
return new sortable.Sortable(
|
|
50
50
|
__spreadProps(__spreadValues({}, input), {
|
package/sortable.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/sortable/useSortable.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["src/sortable/useSortable.ts"],"names":["resolveSortableTransition","sortable","useInstance","Sortable","currentValue","useDeepSignal","useOnValueChange","useIsomorphicLayoutEffect","batch","deepEqual","immediateEffect","useOnElementChange","handle","element","target","useCallback"],"mappings":"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","file":"sortable.cjs","sourcesContent":["import {useCallback} from 'react';\nimport {batch, deepEqual} from '@dnd-kit/state';\nimport {type Data} from '@dnd-kit/abstract';\nimport {Sortable, resolveSortableTransition} from '@dnd-kit/dom/sortable';\nimport type {SortableInput} from '@dnd-kit/dom/sortable';\nimport {useInstance} from '@dnd-kit/react';\nimport {\n useImmediateEffect as immediateEffect,\n useIsomorphicLayoutEffect,\n useOnValueChange,\n useOnElementChange,\n useDeepSignal,\n} from '@dnd-kit/react/hooks';\nimport {currentValue, type RefOrValue} from '@dnd-kit/react/utilities';\n\nexport interface UseSortableInput<T extends Data = Data>\n extends Omit<SortableInput<T>, 'handle' | 'element' | 'target'> {\n handle?: RefOrValue<Element>;\n element?: RefOrValue<Element>;\n target?: RefOrValue<Element>;\n}\n\nexport function useSortable<T extends Data = Data>(input: UseSortableInput<T>) {\n const {\n accept,\n collisionDetector,\n collisionPriority,\n id,\n data,\n element,\n handle,\n index,\n group,\n disabled,\n modifiers,\n sensors,\n target,\n type,\n plugins,\n } = input;\n const transition = resolveSortableTransition(input.transition);\n const sortable = useInstance((manager) => {\n return new Sortable(\n {\n ...input,\n transition,\n register: false,\n handle: currentValue(handle),\n element: currentValue(element),\n target: currentValue(target),\n },\n manager\n );\n });\n\n const trackedSortable = useDeepSignal(sortable, shouldUpdateSynchronously);\n\n useOnValueChange(id, () => (sortable.id = id));\n\n useIsomorphicLayoutEffect(() => {\n batch(() => {\n sortable.group = group;\n sortable.index = index;\n });\n }, [sortable, group, index]);\n\n useOnValueChange(type, () => (sortable.type = type));\n useOnValueChange(\n accept,\n () => (sortable.accept = accept),\n undefined,\n deepEqual\n );\n useOnValueChange(data, () => data && (sortable.data = data));\n useOnValueChange(\n index,\n () => {\n if (sortable.manager?.dragOperation.status.idle && transition?.idle) {\n sortable.refreshShape();\n }\n },\n immediateEffect\n );\n useOnElementChange(handle, (handle) => (sortable.handle = handle));\n useOnElementChange(element, (element) => (sortable.element = element));\n useOnElementChange(target, (target) => (sortable.target = target));\n useOnValueChange(\n disabled,\n () => (sortable.disabled = disabled ?? false),\n undefined,\n deepEqual\n );\n useOnValueChange(\n sensors,\n () => (sortable.sensors = sensors),\n undefined,\n deepEqual\n );\n useOnValueChange(\n collisionDetector,\n () => (sortable.collisionDetector = collisionDetector)\n );\n useOnValueChange(\n collisionPriority,\n () => (sortable.collisionPriority = collisionPriority)\n );\n useOnValueChange(\n plugins,\n () => (sortable.plugins = plugins),\n undefined,\n deepEqual\n );\n useOnValueChange(\n transition,\n () => (sortable.transition = transition),\n undefined,\n deepEqual\n );\n useOnValueChange(\n modifiers,\n () => (sortable.modifiers = modifiers),\n undefined,\n deepEqual\n );\n useOnValueChange(\n input.alignment,\n () => (sortable.alignment = input.alignment)\n );\n\n return {\n sortable: trackedSortable,\n get isDragging() {\n return trackedSortable.isDragging;\n },\n get isDropping() {\n return trackedSortable.isDropping;\n },\n get isDragSource() {\n return trackedSortable.isDragSource;\n },\n get isDropTarget() {\n return trackedSortable.isDropTarget;\n },\n handleRef: useCallback(\n (element: Element | null) => {\n sortable.handle = element ?? undefined;\n },\n [sortable]\n ),\n ref: useCallback(\n (element: Element | null) => {\n if (\n !element &&\n sortable.element?.isConnected &&\n !sortable.manager?.dragOperation.status.idle\n ) {\n return;\n }\n\n sortable.element = element ?? undefined;\n },\n [sortable]\n ),\n sourceRef: useCallback(\n (element: Element | null) => {\n if (\n !element &&\n sortable.source?.isConnected &&\n !sortable.manager?.dragOperation.status.idle\n ) {\n return;\n }\n\n sortable.source = element ?? undefined;\n },\n [sortable]\n ),\n targetRef: useCallback(\n (element: Element | null) => {\n if (\n !element &&\n sortable.target?.isConnected &&\n !sortable.manager?.dragOperation.status.idle\n ) {\n return;\n }\n\n sortable.target = element ?? undefined;\n },\n [sortable]\n ),\n };\n}\n\nfunction shouldUpdateSynchronously(key: string, oldValue: any, newValue: any) {\n // Update synchronously after drop animation\n if (key === 'isDragSource' && !newValue && oldValue) return true;\n\n return false;\n}\n"]}
|
package/sortable.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { batch, deepEqual } from '@dnd-kit/state';
|
|
3
|
-
import {
|
|
3
|
+
import { resolveSortableTransition, Sortable } from '@dnd-kit/dom/sortable';
|
|
4
4
|
export { isSortable, isSortableOperation } from '@dnd-kit/dom/sortable';
|
|
5
5
|
import { useInstance } from '@dnd-kit/react';
|
|
6
6
|
import { useDeepSignal, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect, useOnElementChange } from '@dnd-kit/react/hooks';
|
|
@@ -43,7 +43,7 @@ function useSortable(input) {
|
|
|
43
43
|
type,
|
|
44
44
|
plugins
|
|
45
45
|
} = input;
|
|
46
|
-
const transition =
|
|
46
|
+
const transition = resolveSortableTransition(input.transition);
|
|
47
47
|
const sortable = useInstance((manager) => {
|
|
48
48
|
return new Sortable(
|
|
49
49
|
__spreadProps(__spreadValues({}, input), {
|
package/sortable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/sortable/useSortable.ts"],"names":["immediateEffect","handle","element","target"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,SAAS,YAAmC,KAA4B,EAAA;AAC7E,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACE,GAAA,KAAA;AACJ,EAAM,MAAA,UAAA,GAAa,
|
|
1
|
+
{"version":3,"sources":["src/sortable/useSortable.ts"],"names":["immediateEffect","handle","element","target"],"mappings":"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","file":"sortable.js","sourcesContent":["import {useCallback} from 'react';\nimport {batch, deepEqual} from '@dnd-kit/state';\nimport {type Data} from '@dnd-kit/abstract';\nimport {Sortable, resolveSortableTransition} from '@dnd-kit/dom/sortable';\nimport type {SortableInput} from '@dnd-kit/dom/sortable';\nimport {useInstance} from '@dnd-kit/react';\nimport {\n useImmediateEffect as immediateEffect,\n useIsomorphicLayoutEffect,\n useOnValueChange,\n useOnElementChange,\n useDeepSignal,\n} from '@dnd-kit/react/hooks';\nimport {currentValue, type RefOrValue} from '@dnd-kit/react/utilities';\n\nexport interface UseSortableInput<T extends Data = Data>\n extends Omit<SortableInput<T>, 'handle' | 'element' | 'target'> {\n handle?: RefOrValue<Element>;\n element?: RefOrValue<Element>;\n target?: RefOrValue<Element>;\n}\n\nexport function useSortable<T extends Data = Data>(input: UseSortableInput<T>) {\n const {\n accept,\n collisionDetector,\n collisionPriority,\n id,\n data,\n element,\n handle,\n index,\n group,\n disabled,\n modifiers,\n sensors,\n target,\n type,\n plugins,\n } = input;\n const transition = resolveSortableTransition(input.transition);\n const sortable = useInstance((manager) => {\n return new Sortable(\n {\n ...input,\n transition,\n register: false,\n handle: currentValue(handle),\n element: currentValue(element),\n target: currentValue(target),\n },\n manager\n );\n });\n\n const trackedSortable = useDeepSignal(sortable, shouldUpdateSynchronously);\n\n useOnValueChange(id, () => (sortable.id = id));\n\n useIsomorphicLayoutEffect(() => {\n batch(() => {\n sortable.group = group;\n sortable.index = index;\n });\n }, [sortable, group, index]);\n\n useOnValueChange(type, () => (sortable.type = type));\n useOnValueChange(\n accept,\n () => (sortable.accept = accept),\n undefined,\n deepEqual\n );\n useOnValueChange(data, () => data && (sortable.data = data));\n useOnValueChange(\n index,\n () => {\n if (sortable.manager?.dragOperation.status.idle && transition?.idle) {\n sortable.refreshShape();\n }\n },\n immediateEffect\n );\n useOnElementChange(handle, (handle) => (sortable.handle = handle));\n useOnElementChange(element, (element) => (sortable.element = element));\n useOnElementChange(target, (target) => (sortable.target = target));\n useOnValueChange(\n disabled,\n () => (sortable.disabled = disabled ?? false),\n undefined,\n deepEqual\n );\n useOnValueChange(\n sensors,\n () => (sortable.sensors = sensors),\n undefined,\n deepEqual\n );\n useOnValueChange(\n collisionDetector,\n () => (sortable.collisionDetector = collisionDetector)\n );\n useOnValueChange(\n collisionPriority,\n () => (sortable.collisionPriority = collisionPriority)\n );\n useOnValueChange(\n plugins,\n () => (sortable.plugins = plugins),\n undefined,\n deepEqual\n );\n useOnValueChange(\n transition,\n () => (sortable.transition = transition),\n undefined,\n deepEqual\n );\n useOnValueChange(\n modifiers,\n () => (sortable.modifiers = modifiers),\n undefined,\n deepEqual\n );\n useOnValueChange(\n input.alignment,\n () => (sortable.alignment = input.alignment)\n );\n\n return {\n sortable: trackedSortable,\n get isDragging() {\n return trackedSortable.isDragging;\n },\n get isDropping() {\n return trackedSortable.isDropping;\n },\n get isDragSource() {\n return trackedSortable.isDragSource;\n },\n get isDropTarget() {\n return trackedSortable.isDropTarget;\n },\n handleRef: useCallback(\n (element: Element | null) => {\n sortable.handle = element ?? undefined;\n },\n [sortable]\n ),\n ref: useCallback(\n (element: Element | null) => {\n if (\n !element &&\n sortable.element?.isConnected &&\n !sortable.manager?.dragOperation.status.idle\n ) {\n return;\n }\n\n sortable.element = element ?? undefined;\n },\n [sortable]\n ),\n sourceRef: useCallback(\n (element: Element | null) => {\n if (\n !element &&\n sortable.source?.isConnected &&\n !sortable.manager?.dragOperation.status.idle\n ) {\n return;\n }\n\n sortable.source = element ?? undefined;\n },\n [sortable]\n ),\n targetRef: useCallback(\n (element: Element | null) => {\n if (\n !element &&\n sortable.target?.isConnected &&\n !sortable.manager?.dragOperation.status.idle\n ) {\n return;\n }\n\n sortable.target = element ?? undefined;\n },\n [sortable]\n ),\n };\n}\n\nfunction shouldUpdateSynchronously(key: string, oldValue: any, newValue: any) {\n // Update synchronously after drop animation\n if (key === 'isDragSource' && !newValue && oldValue) return true;\n\n return false;\n}\n"]}
|