@firecms/core
Version:
Awesome Firebase/Firestore-based headless open-source CMS
78 lines (77 loc) • 2.92 kB
TypeScript
import React from "react";
import { Active, CollisionDetection, DropAnimation, UniqueIdentifier } from "@dnd-kit/core";
import { NavigationEntry } from "../../types";
export declare function SortableNavigationCard({ entry, onClick }: {
entry: NavigationEntry;
onClick?: () => void;
}): import("react/jsx-runtime").JSX.Element;
export declare function NavigationGroupDroppable({ id, itemIds, children, isPotentialCardDropTarget }: {
id: UniqueIdentifier;
itemIds: UniqueIdentifier[];
children: React.ReactNode;
isPotentialCardDropTarget?: boolean;
}): import("react/jsx-runtime").JSX.Element;
export declare function SortableNavigationGroup({ groupName, children, disabled }: {
groupName: string;
children: React.ReactNode;
disabled?: boolean;
}): import("react/jsx-runtime").JSX.Element;
export declare function useHomePageDnd({ items, setItems, disabled, onCardMovedBetweenGroups, onGroupMoved, onNewGroupDrop, onPersist }: {
items: {
name: string;
entries: NavigationEntry[];
}[];
setItems: (newItemsOrUpdater: {
name: string;
entries: NavigationEntry[];
}[] | ((currentItems: {
name: string;
entries: NavigationEntry[];
}[]) => {
name: string;
entries: NavigationEntry[];
}[])) => void;
disabled: boolean;
onCardMovedBetweenGroups?: (card: NavigationEntry) => void;
onGroupMoved?: (groupName: string, oldIndex: number, newIndex: number) => void;
onNewGroupDrop?: () => void;
onPersist?: (latest: {
name: string;
entries: NavigationEntry[];
}[]) => void;
}): {
sensors: import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
collisionDetection: CollisionDetection;
onDragStart: ({ active }: {
active: Active;
}) => void;
onDragOver: ({ active, over }: {
active: Active;
over: any;
}) => void;
onDragEnd: ({ active, over }: {
active: Active;
over: any;
}) => void;
onDragCancel: () => void;
dropAnimation: DropAnimation;
activeItemForOverlay: NavigationEntry | null;
activeGroupData: {
name: string;
entries: NavigationEntry[];
} | null;
draggingGroupId: UniqueIdentifier | null;
containers: string[];
dndKitActiveNode: Active | null;
isDraggingCardOnly: boolean;
dialogOpenForGroup: string | null;
setDialogOpenForGroup: React.Dispatch<React.SetStateAction<string | null>>;
handleRenameGroup: (oldName: string, newName: string) => void;
handleDialogClose: () => void;
isHoveringNewGroupDropZone: boolean;
setIsHoveringNewGroupDropZone: React.Dispatch<React.SetStateAction<boolean>>;
};
export declare function NewGroupDropZone({ disabled, setIsHovering }: {
disabled: boolean;
setIsHovering: (v: boolean) => void;
}): import("react/jsx-runtime").JSX.Element | null;