mirror of https://github.com/sussy-code/smov.git
parent
8c8b98afee
commit
7eb336f899
|
@ -27,6 +27,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dnd-kit/core": "^6.1.0",
|
"@dnd-kit/core": "^6.1.0",
|
||||||
|
"@dnd-kit/modifiers": "^7.0.0",
|
||||||
"@dnd-kit/sortable": "^8.0.0",
|
"@dnd-kit/sortable": "^8.0.0",
|
||||||
"@dnd-kit/utilities": "^3.2.2",
|
"@dnd-kit/utilities": "^3.2.2",
|
||||||
"@formkit/auto-animate": "^0.8.2",
|
"@formkit/auto-animate": "^0.8.2",
|
||||||
|
|
10149
pnpm-lock.yaml
10149
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -2,11 +2,16 @@ import {
|
||||||
DndContext,
|
DndContext,
|
||||||
DragEndEvent,
|
DragEndEvent,
|
||||||
KeyboardSensor,
|
KeyboardSensor,
|
||||||
PointerSensor,
|
MouseSensor,
|
||||||
|
TouchSensor,
|
||||||
closestCenter,
|
closestCenter,
|
||||||
useSensor,
|
useSensor,
|
||||||
useSensors,
|
useSensors,
|
||||||
} from "@dnd-kit/core";
|
} from "@dnd-kit/core";
|
||||||
|
import {
|
||||||
|
restrictToParentElement,
|
||||||
|
restrictToVerticalAxis,
|
||||||
|
} from "@dnd-kit/modifiers";
|
||||||
import {
|
import {
|
||||||
SortableContext,
|
SortableContext,
|
||||||
arrayMove,
|
arrayMove,
|
||||||
|
@ -41,7 +46,7 @@ function SortableItem(props: { item: Item }) {
|
||||||
{...attributes}
|
{...attributes}
|
||||||
{...listeners}
|
{...listeners}
|
||||||
className={classNames(
|
className={classNames(
|
||||||
"bg-dropdown-background hover:bg-dropdown-hoverBackground select-none space-x-3 flex items-center max-w-[25rem] py-3 px-4 rounded-lg touch-none",
|
"bg-dropdown-background hover:bg-dropdown-hoverBackground select-none space-x-3 flex items-center max-w-[25rem] py-3 px-4 rounded-lg touch-manipulation",
|
||||||
props.item.disabled && "opacity-50",
|
props.item.disabled && "opacity-50",
|
||||||
transform ? "cursor-grabbing" : "cursor-grab",
|
transform ? "cursor-grabbing" : "cursor-grab",
|
||||||
)}
|
)}
|
||||||
|
@ -58,7 +63,13 @@ export function SortableList(props: {
|
||||||
setItems: (items: Item[]) => void;
|
setItems: (items: Item[]) => void;
|
||||||
}) {
|
}) {
|
||||||
const sensors = useSensors(
|
const sensors = useSensors(
|
||||||
useSensor(PointerSensor),
|
useSensor(TouchSensor, {
|
||||||
|
activationConstraint: {
|
||||||
|
delay: 75,
|
||||||
|
tolerance: 1,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
useSensor(MouseSensor),
|
||||||
useSensor(KeyboardSensor, {
|
useSensor(KeyboardSensor, {
|
||||||
coordinateGetter: sortableKeyboardCoordinates,
|
coordinateGetter: sortableKeyboardCoordinates,
|
||||||
}),
|
}),
|
||||||
|
@ -81,6 +92,7 @@ export function SortableList(props: {
|
||||||
sensors={sensors}
|
sensors={sensors}
|
||||||
collisionDetection={closestCenter}
|
collisionDetection={closestCenter}
|
||||||
onDragEnd={handleDragEnd}
|
onDragEnd={handleDragEnd}
|
||||||
|
modifiers={[restrictToVerticalAxis, restrictToParentElement]}
|
||||||
>
|
>
|
||||||
<SortableContext
|
<SortableContext
|
||||||
items={props.items}
|
items={props.items}
|
||||||
|
|
Loading…
Reference in New Issue