Skip to content

Commit e5cfdb0

Browse files
committed
Fix type error
1 parent d6b5736 commit e5cfdb0

File tree

3 files changed

+14
-16
lines changed

3 files changed

+14
-16
lines changed

packages/react/src/core/draggable/DragOverlay.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {createElement, useEffect, useMemo, useRef, type ReactNode} from 'react';
22
import {useComputed, useDeepSignal} from '@dnd-kit/react/hooks';
3-
import {Draggable, Feedback} from '@dnd-kit/dom';
3+
import {DragDropManager, Draggable, Feedback} from '@dnd-kit/dom';
44
import {Data} from '@dnd-kit/abstract';
55

66
import {useDragDropManager} from '../hooks/useDragDropManager.ts';
@@ -11,7 +11,7 @@ export interface Props<T extends Data, U extends Draggable<T>> {
1111
children: ReactNode | ((source: U) => ReactNode);
1212
style?: React.CSSProperties;
1313
tag?: string;
14-
disabled?: boolean | ((source: U) => boolean);
14+
disabled?: boolean | ((source: U | null) => boolean);
1515
}
1616

1717
export function DragOverlay<T extends Data, U extends Draggable<T>>({
@@ -22,11 +22,9 @@ export function DragOverlay<T extends Data, U extends Draggable<T>>({
2222
disabled,
2323
}: Props<T, U>) {
2424
const ref = useRef<HTMLDivElement | null>(null);
25-
const manager = useDragDropManager();
26-
const source = useComputed(
27-
() => manager?.dragOperation.source,
28-
[manager]
29-
).value;
25+
const manager = useDragDropManager<T, U>();
26+
const source =
27+
useComputed(() => manager?.dragOperation.source, [manager]).value ?? null;
3028
const isDisabled =
3129
typeof disabled === 'function' ? disabled(source) : disabled;
3230

@@ -72,7 +70,7 @@ export function DragOverlay<T extends Data, U extends Draggable<T>>({
7270
}, [manager]);
7371

7472
return (
75-
<DragDropContext.Provider value={patchedManager}>
73+
<DragDropContext.Provider value={patchedManager as DragDropManager | null}>
7674
{createElement(
7775
tag || 'div',
7876
{ref, className, style, 'data-dnd-overlay': true},

packages/react/src/core/hooks/useDragDropManager.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import type {DragDropManager, Draggable, Droppable} from '@dnd-kit/dom';
55
import {DragDropContext} from '../context/context.ts';
66

77
export function useDragDropManager<
8-
T extends Data,
9-
U extends Draggable<T>,
10-
V extends Droppable<T>,
11-
W extends DragDropManager<T, U, V>,
8+
T extends Data = Data,
9+
U extends Draggable<T> = Draggable<T>,
10+
V extends Droppable<T> = Droppable<T>,
11+
W extends DragDropManager<T, U, V> = DragDropManager<T, U, V>,
1212
>(): W | null {
1313
return useContext(DragDropContext) as W | null;
1414
}

packages/react/src/core/hooks/useDragOperation.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import {useComputed} from '@dnd-kit/react/hooks';
55
import {useDragDropManager} from './useDragDropManager.ts';
66

77
export function useDragOperation<
8-
T extends Data,
9-
U extends Draggable<T>,
10-
V extends Droppable<T>,
11-
W extends DragDropManager<T, U, V>,
8+
T extends Data = Data,
9+
U extends Draggable<T> = Draggable<T>,
10+
V extends Droppable<T> = Droppable<T>,
11+
W extends DragDropManager<T, U, V> = DragDropManager<T, U, V>,
1212
>() {
1313
const manager = useDragDropManager<T, U, V, W>();
1414
const source = useComputed(() => manager?.dragOperation.source, [manager]);

0 commit comments

Comments
 (0)