Skip to main content

dioxus_dnd/
lib.rs

1#![doc = include_str!("../README.md")]
2#![allow(non_snake_case)]
3
4pub mod core;
5
6pub mod a11y;
7pub mod animate;
8pub mod autoscroll;
9pub mod board;
10pub mod canvas;
11pub mod dragout;
12pub mod external;
13pub mod files;
14pub mod grid;
15pub mod multiselect;
16pub mod pointer;
17pub mod sortable;
18pub mod tree;
19
20/// One-stop import: `use dioxus_dnd::prelude::*;`
21pub mod prelude {
22    pub use crate::a11y::{LiveRegion, ReorderButtons};
23    pub use crate::animate::FlipItem;
24    pub use crate::autoscroll::{edge_delta, AutoScroll, ScrollAxis};
25    pub use crate::board::{
26        apply_move, BoardColumn, BoardItem, BoardPayload, BoardSlot, ContainerId, MoveEvent,
27    };
28    pub use crate::canvas::{Bounds, CanvasDrop, CanvasDropZone, SnapGrid};
29    pub use crate::core::{
30        apply_clone_or_move, apply_list_clone_or_move, apply_modifiers, client_point,
31        effective_effect, element_point, transition, use_dnd, use_dnd_provider, use_zone_id,
32        use_zone_registry, DndContext, DndProvider, DragId, DragMode, DragModifier, DragOverlay,
33        DragState, Draggable, DropEffect, DropOutcome, DropZone, GestureEffect, GestureEvent,
34        GesturePhase, ModifierCtx, Point, Rect, ZoneId, ZoneRecord, ZoneRegistry,
35    };
36    pub use crate::dragout::{ExternalDragSource, OutboundContent};
37    pub use crate::external::{classify, ExternalDrop, ExternalDropZone, ExternalPayload};
38    pub use crate::files::{FileDrop, FileDropZone, FileFilter, FileRejection};
39    pub use crate::grid::{cell_of, index_of, SortableGrid};
40    pub use crate::multiselect::{use_selection, SelectableDraggable, Selection, SelectionCount};
41    pub use crate::pointer::PointerDraggable;
42    pub use crate::sortable::{
43        apply_sort, apply_swap, displacement, Axis, ReorderMode, SortEvent, SortableList,
44    };
45    pub use crate::tree::{
46        intent_from_offset, would_create_cycle, DropIntent, NodeId, TreeDropEvent, TreeNodeTarget,
47    };
48}