Skip to main content

cranpose_liquid/
lib.rs

1//! Liquid UI — cranpose's first-party component library.
2//!
3//! An iOS-26-style "Liquid Glass" design system: translucent lens materials
4//! over live backdrop (wcKSRD refraction, blur, vibrancy, and edge light),
5//! semantic theming with automatic light/dark, and
6//! spring-physics motion. Pure UI code — no platform dependencies; runs on
7//! every cranpose target.
8//!
9//! ```ignore
10//! use cranpose::liquid::prelude::*;
11//!
12//! LiquidTheme(LiquidThemeSpec::default(), || {
13//!     GlassButton(Modifier::empty(), GlassButtonSpec::prominent(), on_click, || {
14//!         GlassButtonLabel("Add");
15//!     });
16//! });
17//! ```
18
19#![allow(non_snake_case)]
20
21pub mod dynamics;
22pub mod icons;
23pub mod material;
24pub mod motion;
25pub mod theme;
26pub mod widgets;
27
28pub use dynamics::{LiquidDynamics, LiquidPose, rememberLiquidDynamics};
29pub use material::{
30    Glass, GlassDeformation, GlassDynamics, GlassShadow, GlassVariant, LiquidModifierExt,
31    LiquidShape, glass_light_direction, set_glass_light_direction,
32};
33pub use motion::{LiquidMotion, liquid_press_scale};
34pub use theme::{
35    LiquidColors, LiquidTheme, LiquidThemeSpec, LiquidTypography, SchemeMode, liquid_colors,
36    liquid_typography,
37};
38pub use widgets::*;
39
40/// Everything an app needs to build Liquid UI.
41pub mod prelude {
42    pub use crate::{
43        dynamics::{LiquidDynamics, LiquidPose, rememberLiquidDynamics},
44        icons,
45        material::{
46            Glass, GlassDeformation, GlassDynamics, GlassShadow, GlassVariant, LiquidModifierExt,
47            LiquidShape,
48        },
49        motion::{LiquidMotion, liquid_press_scale},
50        theme::{
51            LiquidColors, LiquidTheme, LiquidThemeSpec, LiquidTypography, SchemeMode,
52            liquid_colors, liquid_typography,
53        },
54        widgets::*,
55    };
56}