mod animation;
mod color;
mod interaction;
mod layout;
#[cfg(feature = "gpui")]
mod layout_native;
mod motion;
mod presence;
mod svg;
mod transition;
mod value;
#[cfg(feature = "gpui")]
mod native;
pub use motion::{Frame, Motion, MotionState, Presence, Property, Target};
pub use transition::{
Bezier, CustomEasing, Easing, InvalidEasing, InvalidSpring, Spring, Transition,
};
pub use value::{Inertia, MotionValue, ValueFrame};
pub use animation::{
Animation, AnimationError, AnimationState, Keyframe, Playback, Repeat, RepeatMode, StaggerFrom,
Timeline, stagger,
};
pub use color::{Color, ColorState};
pub use interaction::{
Drag, GestureTargets, InView, Interaction, Variants, move_item, reorder_index, scroll_progress,
transform,
};
pub use presence::{PresenceChild, PresenceGroup, PresenceMode};
pub use svg::{SvgFrame, SvgMotion, SvgMotionState, SvgTarget};
pub use layout::{LayoutPositionFrame, LayoutPositionState};
#[cfg(feature = "gpui")]
pub use layout_native::{LayoutGroup, LayoutPositionElement};
mod style_motion;
pub use style_motion::{
ColorProperty, StyleFrame, StyleMotion, StyleMotionState, StyleProperty, StyleTarget,
};
#[cfg(feature = "gpui")]
mod measured_size;
#[cfg(feature = "gpui")]
pub use measured_size::{AutoSize, SizeAxis};
#[cfg(feature = "gpui")]
mod pop_layout;
#[cfg(feature = "gpui")]
pub use pop_layout::{PopElement, PopLayout, PopRequest};
#[cfg(feature = "gpui")]
mod gesture_native;
#[cfg(feature = "gpui")]
pub use gesture_native::{GestureElement, GestureState};
#[cfg(feature = "gpui")]
mod scroll_native;
#[cfg(feature = "gpui")]
pub use scroll_native::{Axis, ScrollMotion, native_scroll_progress};
#[cfg(feature = "gpui")]
mod shared_layout;
#[cfg(feature = "gpui")]
pub use shared_layout::{SharedElement, SharedLayout};
#[cfg(feature = "gpui")]
mod reorder_native;
#[cfg(feature = "gpui")]
pub use reorder_native::{ReorderElement, ReorderGroup};
mod vector;
pub use vector::{PathCommand, PathError, PathFrame, PathMorphState, PathShape, StrokeReveal};
#[cfg(feature = "gpui")]
mod vector_native;
#[cfg(feature = "gpui")]
pub use vector_native::{VectorElement, VectorState};
#[cfg(feature = "text")]
mod text;
#[cfg(feature = "text")]
pub use text::{
NumberEffect, Scramble, TextClip, TextError, TextLayoutUnit, TextMatch, TextOptions,
TextPlaybackState, TextPresentation, TextPreset, TextRevealAxis, TextTarget, TextUnit,
TextUnitInfo, text_ranges,
};
#[cfg(feature = "gpui")]
mod text_native {
use gpui::ColorExt as _;
fn text_color_to_native(color: crate::Color) -> gpui::Hsla {
gpui::rgb_to_hsla(color.to_rgba())
}
fn text_color_from_native(color: gpui::Hsla) -> crate::Color {
let color = gpui::hsla_to_rgba(color);
crate::Color::rgba(
color.red.into(),
color.green.into(),
color.blue.into(),
color.alpha.into(),
)
}
crate::__motion_text_adapter!(gpui, text_color_to_native, text_color_from_native);
}
#[cfg(feature = "gpui")]
pub use text_native::{NumberElement, NumberMotionState, TextElement, TextMotionState};
mod graph;
pub use graph::{
GraphError, GraphSubscription, MotionEvent, MotionEventKind, MotionGraph, ValueId,
};
mod geometry;
pub use geometry::{
AutoScroll, DragBounds, GeometryError, LayoutRect, ReorderAxis, ScrollEdge, ScrollOffsets,
};
mod completion;
pub use completion::{Completion, CompletionStatus};
mod typed_animation;
pub use typed_animation::{
MotionData, TrackId, TypedAnimation, TypedFrame, TypedKeyframe, TypedState, TypedTimeline,
};
mod orchestration;
pub use orchestration::{ChildrenOrder, MotionConfig, MotionNode, MotionTree, TreeError};
#[cfg(feature = "svg-path")]
pub use vector::SvgPathError;
pub use vector::{PathMeasure, PathPoint};
#[cfg(feature = "text")]
pub use text::{FixedNumber, FormattedNumber, NumberFormat, NumberFormatError, RichText, TextSpan};
mod spatial_native;
#[cfg(feature = "gpui")]
mod spatial {
crate::__motion_spatial_adapter!(gpui, crate);
}
pub use geometry::ScrollFrame;
#[cfg(feature = "gpui")]
pub use spatial::{
AnchorElement, GraphState, MotionAnchor, MotionTreeState, ScrollTracker, SharedOverlay,
SharedOverlayElement,
};
pub use geometry::{DragEvent, GesturePhase, PinchGesture};