yew_datatable_core/lib.rs
1//! # yew-datatable-core
2//!
3//! A headless data table engine for Rust/WASM applications.
4//! Inspired by TanStack Table v8, providing feature parity with idiomatic Rust design.
5//!
6//! ## Features
7//!
8//! - **Headless**: Pure logic, no UI assumptions
9//! - **Type-safe**: Compile-time guarantees for column correctness
10//! - **Zero unsafe**: 100% safe Rust
11//! - **WASM-optimized**: Efficient performance for web applications
12//!
13//! ## Architecture
14//!
15//! The library is organized into:
16//! - `column`: Column definitions and configuration
17//! - `state`: Table state management
18//! - `row`: Row models and pipeline
19//! - `features`: Sorting, filtering, pagination, etc.
20//! - `table`: Main table coordinator
21
22/// Column definitions and configuration.
23///
24/// Provides column types, accessors, metadata, and builder pattern
25/// for defining table columns with type-safe data access.
26pub mod column;
27
28/// Table features including sorting, filtering, pagination, and more.
29///
30/// Each feature is implemented as a separate submodule with its own
31/// state and logic, following a plugin-based architecture.
32pub mod features;
33
34/// Row types and processing pipeline.
35///
36/// Provides the row data structures and the row model pipeline
37/// that processes rows through filtering, sorting, grouping, and pagination.
38pub mod row;
39
40/// Combined table state management.
41///
42/// Aggregates all feature states into a single structure
43/// for easier management and passing around.
44pub mod state;
45
46/// Main table type and configuration.
47///
48/// Provides the primary entry point for interacting with the data table,
49/// coordinating columns, data, and state.
50pub mod table;
51
52/// Re-exports for convenient access to all public types.
53///
54/// Import this module to get access to the most frequently used
55/// types, traits, and structs in the library.
56pub mod prelude;