Archived
51 lines
1.7 KiB
Rust
51 lines
1.7 KiB
Rust
//! el-layout — Responsive layout engine for el-ui.
|
|
//!
|
|
//! **Responsive by default.** VStack and HStack wrap automatically.
|
|
//! Grid uses auto columns. You don't write breakpoints for basic layouts.
|
|
//!
|
|
//! ## Layout primitives
|
|
//!
|
|
//! - [`VStack`] — vertical stack, wraps by default
|
|
//! - [`HStack`] — horizontal stack, wraps by default, RTL-aware
|
|
//! - [`ZStack`] — depth stack, children overlap
|
|
//! - [`GridLayout`] — responsive grid, auto or fixed columns
|
|
//! - [`ScrollView`] — scrollable container
|
|
//!
|
|
//! ## Responsive values
|
|
//!
|
|
//! For the rare case where you need a value to change at a specific breakpoint:
|
|
//! ```
|
|
//! use el_layout::prelude::*;
|
|
//!
|
|
//! // Most specific value that applies cascades down to less specific
|
|
//! let cols: Responsive<u32> = Responsive::fixed(1).md(2).lg(3);
|
|
//! assert_eq!(*cols.resolve(Breakpoint::Sm), 1);
|
|
//! assert_eq!(*cols.resolve(Breakpoint::Md), 2);
|
|
//! assert_eq!(*cols.resolve(Breakpoint::Lg), 3);
|
|
//! assert_eq!(*cols.resolve(Breakpoint::Xl), 3); // cascades from lg
|
|
//! ```
|
|
|
|
#![deny(warnings)]
|
|
|
|
pub mod breakpoint;
|
|
pub mod constraints;
|
|
pub mod flex;
|
|
pub mod grid;
|
|
pub mod platform;
|
|
pub mod responsive;
|
|
pub mod scroll;
|
|
pub mod stack;
|
|
|
|
pub mod prelude {
|
|
pub use crate::breakpoint::Breakpoint;
|
|
pub use crate::constraints::{LayoutConstraints, Size};
|
|
pub use crate::flex::{CrossAxisAlignment, FlexDirection, FlexLayout, HAlign, MainAxisAlignment, MainAxisSize, VAlign};
|
|
pub use crate::grid::{GridColumns, GridLayout, GridRows};
|
|
pub use crate::platform::{PlatformFamily, PlatformSizing, SafeAreaInsets};
|
|
pub use crate::responsive::Responsive;
|
|
pub use crate::scroll::{ScrollAxis, ScrollIndicator, ScrollView};
|
|
pub use crate::stack::{HStack, Spacer, VStack, ZStack};
|
|
}
|
|
|
|
pub use prelude::*;
|