Skip to main content

stratum_core/
lib.rs

1//! # stratum-core
2//!
3//! Foundation crate for the NexusStratum UI component library.
4//! Provides framework-agnostic abstractions used by every other crate.
5//!
6//! ## Key Types
7//!
8//! - [`Component`] — The core trait all UI components implement
9//! - [`Props`] — Trait for component property types
10//! - [`ComponentEvent`] — Events components can handle
11//! - [`AriaAttributes`] — ARIA accessibility attributes
12//! - [`FocusManager`] — Focus management strategies
13//! - [`IdGenerator`] — Unique ID generation for ARIA cross-references
14//! - [`RenderOutput`] — Framework-agnostic render description
15
16pub mod aria;
17pub mod callback;
18pub mod component;
19pub mod event;
20pub mod focus;
21pub mod id;
22pub mod props;
23pub mod render;
24pub mod security;
25pub mod state;
26
27pub use aria::{
28    AriaAttributes, AriaAutocomplete, AriaCurrent, AriaHasPopup, AriaLive, AriaRole, AriaSort,
29    Orientation, TriState,
30};
31pub use callback::{ActionCallback, BoolCallback, Callback, IndexCallback, StringCallback};
32pub use component::Component;
33pub use event::{ComponentEvent, EventResult, Key, ModifierKeys, MouseButton};
34pub use focus::{FocusInstruction, FocusManager, FocusStrategy};
35pub use id::IdGenerator;
36pub use props::Props;
37pub use render::{AttrValue, ChildrenSpec, RenderOutput};
38pub use state::State;