teksilo-core 0.9.0

Core of the Teksilo GUI framework — widget trait, arena, layout engine, event dispatch, focus, signals and theming.
Documentation
#![allow(clippy::type_complexity)]
// SPDX-License-Identifier: MPL-2.0
// SPDX-FileCopyrightText: 2026 FernTech

pub mod accessibility;
pub mod action;
pub mod animated_quad;
pub mod animation;
pub mod animation_builder;
pub mod app_event;
pub mod arena;
pub mod async_completion;
pub mod binding;
pub mod build_context;
pub mod color_prop;
pub mod deferred_subtree;
pub mod dim_when_inactive;
pub mod drag_payload;
pub(crate) mod drag_state;
pub mod environment;
pub mod event;
pub(crate) mod event_handlers;
pub mod event_source;
pub mod focus;
pub mod frame_tick_scheduler;
pub mod gesture;
pub mod idle;
pub mod ime;
pub mod intent;
pub mod menu_item_id;
pub mod modal;
pub mod motion_visibility;
pub mod overlay;
pub mod overscroll;
pub mod paint_prop;
pub mod presets;
pub mod raw_handle;
pub mod shortcut;
pub mod signal;
pub mod styles;
pub mod telemetry;
pub mod text_surface;
pub mod widget;
pub mod widget_builder;
pub mod widget_builder_branching;
pub mod widget_id;
pub mod widget_tree;
pub mod window;
pub mod window_chrome;

#[cfg(test)]
pub(crate) mod test_widgets;

pub use accessibility::{AccessNodeBuilder, AccessibilityInfo, Announcement};
pub use action::{Action, ActionBuilder, ActionHandler};
pub use animated_quad::{AnimatedQuadHandle, AnimatedQuadKind, AnimatedQuadRegistry};
pub use animation::AnimationRequest;
pub use animation::AnimationScheduler;
pub use animation_builder::AnimationSpec;
pub use app_event::{AppEvent, RepaintWindowRequest};
pub use arena::WidgetArena;
pub use async_completion::{AsyncCompletionHandle, AsyncCompletionPayload};
pub use binding::{BindingLevel, BindingRegistry};
pub use build_context::BuildContext;
pub use color_prop::{ColorProp, TextStyleProp};
pub use drag_payload::{
    DragData, DragImageData, DragOrigin, DragPayload, DropOutcome, ExternalDropData,
    OutboundDragData,
};
pub use drag_state::DropFeedback;
pub use environment::{Environment, LayoutDirection};
pub use event::{
    ButtonMask, EventResponse, Key, Modifiers, PointerButton, ScrollDelta, WidgetEvent,
};
pub use event_source::{
    AppEventPoster, EventSource, EventSourceAdapter, SubscriptionHandle, SubscriptionId,
};
pub use focus::{FocusOrigin, TraversalScopePolicy};
pub use frame_tick_scheduler::{FrameTickScheduler, FrameTickSubscription};
pub use gesture::{
    DoubleTapRecognizer, DragRecognizer, GestureArena, GestureEvent, GestureRecognizer,
    GestureResult, LongPressRecognizer, RawPointerEvent, SwipeDirection, SwipeRecognizer, TapEvent,
    TapRecognizer, TripleTapRecognizer,
};
pub use idle::IdleDeadline;
pub use ime::{ImeContext, ImePurpose};
pub use intent::{Intent, IntentKind, IntentResponse};
pub use menu_item_id::MenuItemId;
pub use modal::{
    ModalBuilder, ModalCloseBehavior, ModalContent, ModalPresentation, ModalRequest,
    QueuedModalRequest,
};
pub use overlay::{
    DismissBehavior, OverlayId, OverlayLayer, OverlayManager, OverlayPlacement, OverlayRequest,
};
pub use overscroll::{OverscrollBehavior, SCROLL_MOVE_EPSILON};
pub use paint_prop::{GradientStopProp, PaintProp, angle_to_endpoints};
pub use raw_handle::ParentHandle;
pub use shortcut::{
    CaptureHandle, EffectiveShortcut, KeyCaptureCallback, KeyStroke, KeyStrokeOverride, Shortcut,
    ShortcutBuilder, ShortcutOnActivate, ShortcutRegistry, ShortcutScope, SlotOverride,
};
pub use signal::{ObserverHandle, Prop, Signal, SignalAccessError};
pub use styles::{Theme, ThemeAppearance, ThemeExtensions, ThemeId};
pub use widget::{
    CursorIcon, EventContext, LayoutContext, LayoutResponse, PaintContext, PendingChild, Widget,
    WidgetPlacement,
};
pub use widget_builder::{
    AccessSubtreeMode, AccessibilityOverrides, HandlerSet, WidgetBuilder, WidgetWithHandlers,
};
pub use widget_builder_branching::{
    IntoTeksiChild, IntoTeksiCondition, TeksiBranch, TeksiBranch3, TeksiBranch4,
};
pub use widget_id::WidgetId;
pub use widget_tree::WidgetTree;
pub use window::state::WindowStateInit;
pub use window::{
    CloseBlockedCallback, CloseGuard, CloseResponse, DecorationsMode, ModalConfig, NoopWindowOps,
    PostRootBuilder, RootBuilder, SizeToContent, TeksiloWindowId, UserAttentionKind, WindowCommand,
    WindowConfig, WindowIcon, WindowOps, WindowPlacement, WindowRemovedCallback,
    WindowRemovedEvent, WindowState,
};
pub use window_chrome::{
    ControlTarget, HitRegions, PlatformError, PlatformTitleBarHost, ResizeBorders, ResizeEdge,
    TitleBarHostCallbacks, TitleBarHoverEvent, TitleBarSyntheticEvent,
};

pub use accesskit;