Skip to main content

dioxus_dnd/core/
mod.rs

1//! Shared primitives: the drag context, id/geometry types, hooks, and the
2//! `Draggable`/`DropZone`/`DragOverlay` components every other module builds on.
3
4pub mod components;
5pub mod hooks;
6pub mod machine;
7pub mod model;
8pub mod modifiers;
9pub(crate) mod platform;
10pub mod registry;
11pub mod state;
12pub mod strings;
13pub mod types;
14pub mod viewport;
15
16pub use components::{BridgeDropZone, DndProvider, DragOverlay, Draggable, DropZone, ParentZone};
17pub use hooks::{
18    client_point, element_point, use_dnd, use_dnd_provider, use_rect_refresh, use_zone_id,
19    use_zone_registry,
20};
21pub use machine::{transition, GestureEffect, GestureEvent, GesturePhase};
22pub use model::{apply_clone_or_move, apply_list_clone_or_move};
23pub use modifiers::{apply_modifiers, DragModifier, ModifierCtx};
24pub use registry::{RectRefresh, ZoneRecord, ZoneRegistry};
25pub use state::{DndContext, DragState};
26pub use strings::{use_dnd_strings, DndStrings};
27pub use types::{
28    edge_of, effective_effect, Direction, DragId, DragMode, DropEffect, DropOutcome, Edge, EdgeSet,
29    Point, Rect, ZoneId,
30};
31pub use viewport::{
32    screen_delta_to_world, screen_to_world, world_delta_to_screen, world_to_screen, CanvasViewport,
33};