1#![doc = include_str!("../../docs/api/core.md")]
2
3pub mod components;
4pub mod hooks;
5pub mod machine;
6pub mod model;
7pub mod modifiers;
8pub(crate) mod platform;
9pub mod registry;
10mod session;
11pub mod state;
12pub mod strings;
13pub mod types;
14pub mod viewport;
15pub mod world;
16
17pub use components::{
18 BridgeDropZone, DndProvider, DragOverlay, Draggable, DropZone, ParentZone, SettleSlot,
19};
20pub use hooks::{
21 client_point, element_point, use_bridge_world, use_dnd, use_dnd_provider, use_rect_refresh,
22 use_zone_id, use_zone_registry, BridgeGeometry, BridgeWorld,
23};
24pub use machine::{
25 transition, transition_with, GestureEffect, GestureEvent, GesturePhase, Promotion,
26};
27pub use model::{apply_clone_or_move, apply_list_clone_or_move};
28pub use modifiers::{apply_modifiers, DragModifier, ModifierCtx};
29pub use registry::{RectRefresh, ZoneRecord, ZoneRegistration, ZoneRegistry};
30pub use state::{DndContext, DragState};
31pub use strings::{use_dnd_strings, DndStrings};
32pub use types::{
33 edge_of, effective_effect, Direction, DragId, DragMode, DragSessionId, DropEffect, DropOutcome,
34 Edge, EdgeSet, Point, PointerKind, Rect, TouchSense, ZoneId,
35};
36pub use viewport::{
37 screen_delta_to_world, screen_to_world, world_delta_to_screen, world_to_screen, CanvasViewport,
38};
39pub use world::{
40 use_dnd_world, use_joined_window, DndWorld, JoinedWindow, WindowGeometry, WindowKey,
41 WindowRecord, ZoneLocation,
42};