Skip to main content

rosace_widgets/
lib.rs

1//! `rosace-widgets` — built-in widgets for the ROSACE UI framework.
2
3/// Composable widget tree system — the primary API for building ROSACE apps.
4pub mod tree;
5
6pub mod image;
7pub mod prelude;
8
9/// Template descriptor (D103 / D102 Tier 1) — the data form of a `view!` tree
10/// for universal hot reload; see the module docs.
11pub mod template;
12pub use template::{PropValue, StaticValue, Template, TemplateKey, TemplateNode};
13
14// ── Tree widget re-exports (canonical top-level names) ─────────────────────
15pub use tree::{Alignment, Children, Semantics, Widget};
16pub use tree::PaintCtx;
17pub use tree::{HitTarget, ScrollTarget};
18pub use tree::{AbsorbPointer, IgnorePointer};
19pub use tree::{LongPressable, PressApi, Pressable};
20pub use tree::BoxedWidget;
21pub use tree::WidgetApp;
22pub use tree::AppBar;
23pub use tree::{BottomNavItem, BottomNavigationBar, FloatingActionButton, SearchBar, Snackbar};
24pub use tree::{Carousel, PageView, RatingBar, Stepper, Table, TableColumn};
25pub use tree::{InteractiveViewer, DatePicker, SimpleDate, SelectionMode, PageAxis, TimePicker, SimpleTime, TimeUnit, DataTable, DataTableColumn, SortDirection};
26pub use tree::{
27    ShaderPaint, MaterialKey, resolve_material, ContainerMaterial, CardMaterial,
28    DialogMaterial, SheetMaterial, DrawerMaterial, AppBarMaterial, BottomNavMaterial,
29};
30pub use tree::{GlassLens, SelectionKind, SelectionStyle};
31pub use tree::Avatar;
32pub use tree::Badge;
33pub use tree::Button;
34pub use tree::ButtonVariant;
35pub use tree::Card;
36pub use tree::Checkbox;
37pub use tree::Chip;
38pub use tree::Column;
39pub use tree::{BoxShape, Container};
40pub use tree::{AspectRatio, CircularProgress, Grid, Positioned, Skeleton, Wrap};
41pub use tree::{Dropdown, Drawer, Accordion, Radio, SegmentedControl};
42pub use tree::CustomPaint;
43pub use tree::{Dialog, DialogPresentation};
44pub use tree::Divider;
45pub use tree::EdgeInsets;
46pub use tree::Expanded;
47pub use tree::{Hero, HeroApi};
48pub use tree::Icon;
49pub use tree::IconKind;
50pub use tree::{register_icon, resolve_icon};
51pub use tree::ListTile;
52pub use tree::ListView;
53pub use tree::Menu;
54pub use tree::NavItem;
55pub use tree::NavRail;
56pub use tree::ProgressBar;
57pub use tree::PullToRefresh;
58pub use tree::Autocomplete;
59pub use tree::{Dismissible, DismissDirection};
60pub use tree::RectReader;
61pub use tree::RepaintBoundary;
62pub use tree::TransformLayer;
63pub use tree::{
64    OverlayEntry, LayerId, LayerPosition,
65    InputBehavior, FocusBehavior, ScrimConfig,
66    push_overlay, drain_overlays, clear_overlays,
67};
68pub use tree::{OverlayApi, OverlayKind};
69pub use tree::FocusApi;
70pub use tree::Row;
71pub use tree::Scaffold;
72pub use tree::ScreenTransitionView;
73pub use tree::{ScrollView, ScrollAxis};
74pub use tree::Sheet;
75pub use tree::{Toast, ToastKind};
76pub use tree::Slider;
77pub use tree::Spacer;
78pub use tree::Stack;
79pub use tree::Switch;
80pub use tree::Tab;
81pub use tree::TabBar;
82pub use tree::{Tabs, TabView};
83pub use tree::{Text, TextAlign, FontWeight};
84pub use tree::TextInput;
85pub use tree::TextArea;
86pub use tree::{CursorShape, CursorStyle, EditController, InputFilter, Span, SpanFn, TextLayoutSnapshot};
87pub use rosace_forms::{Form, FormField, FieldError, Validator, Required, Email, MinLength, MaxLength, Range, Contains};
88pub use tree::Image;
89pub use tree::{Tooltip, TooltipStyle, WidgetExt};
90
91pub use image::{DecodedImage, ImageCache, ImageFit, ImageSource, ImageWidget};