Expand description
rosace-widgets — built-in widgets for the ROSACE UI framework.
Re-exports§
pub use template::PropValue;pub use template::StaticValue;pub use template::Template;pub use template::TemplateKey;pub use template::TemplateNode;pub use tree::Alignment;pub use tree::Children;pub use tree::Semantics;pub use tree::Widget;pub use tree::PaintCtx;pub use tree::HitTarget;pub use tree::ScrollTarget;pub use tree::AbsorbPointer;pub use tree::IgnorePointer;pub use tree::LongPressable;pub use tree::PressApi;pub use tree::Pressable;pub use tree::BoxedWidget;pub use tree::WidgetApp;pub use tree::AppBar;pub use tree::FloatingActionButton;pub use tree::SearchBar;pub use tree::Snackbar;pub use tree::Carousel;pub use tree::PageView;pub use tree::RatingBar;pub use tree::Stepper;pub use tree::Table;pub use tree::TableColumn;pub use tree::InteractiveViewer;pub use tree::DatePicker;pub use tree::SimpleDate;pub use tree::SelectionMode;pub use tree::PageAxis;pub use tree::TimePicker;pub use tree::SimpleTime;pub use tree::TimeUnit;pub use tree::DataTable;pub use tree::DataTableColumn;pub use tree::SortDirection;pub use tree::ShaderPaint;pub use tree::MaterialKey;pub use tree::resolve_material;pub use tree::ContainerMaterial;pub use tree::CardMaterial;pub use tree::DialogMaterial;pub use tree::SheetMaterial;pub use tree::DrawerMaterial;pub use tree::AppBarMaterial;pub use tree::GlassLens;pub use tree::SelectionKind;pub use tree::SelectionStyle;pub use tree::Avatar;pub use tree::Badge;pub use tree::Button;pub use tree::ButtonVariant;pub use tree::Card;pub use tree::Checkbox;pub use tree::Chip;pub use tree::Column;pub use tree::BoxShape;pub use tree::Container;pub use tree::AspectRatio;pub use tree::CircularProgress;pub use tree::Grid;pub use tree::Positioned;pub use tree::Skeleton;pub use tree::Wrap;pub use tree::Dropdown;pub use tree::Drawer;pub use tree::Accordion;pub use tree::Radio;pub use tree::SegmentedControl;pub use tree::CustomPaint;pub use tree::Dialog;pub use tree::DialogPresentation;pub use tree::Divider;pub use tree::EdgeInsets;pub use tree::Expanded;pub use tree::Hero;pub use tree::HeroApi;pub use tree::Icon;pub use tree::IconKind;pub use tree::register_icon;pub use tree::resolve_icon;pub use tree::ListTile;pub use tree::ListView;pub use tree::Menu;pub use tree::ProgressBar;pub use tree::PullToRefresh;pub use tree::Autocomplete;pub use tree::Dismissible;pub use tree::DismissDirection;pub use tree::RectReader;pub use tree::RepaintBoundary;pub use tree::TransformLayer;pub use tree::OverlayEntry;pub use tree::LayerId;pub use tree::LayerPosition;pub use tree::InputBehavior;pub use tree::FocusBehavior;pub use tree::ScrimConfig;pub use tree::push_overlay;pub use tree::drain_overlays;pub use tree::clear_overlays;pub use tree::OverlayApi;pub use tree::OverlayKind;pub use tree::FocusApi;pub use tree::Row;pub use tree::Scaffold;pub use tree::ScreenTransitionView;pub use tree::ScrollView;pub use tree::ScrollAxis;pub use tree::Sheet;pub use tree::Toast;pub use tree::ToastKind;pub use tree::Slider;pub use tree::Spacer;pub use tree::Stack;pub use tree::Switch;pub use tree::Tab;pub use tree::TabBar;pub use tree::Tabs;pub use tree::TabView;pub use tree::Text;pub use tree::TextAlign;pub use tree::TextInput;pub use tree::TextArea;pub use tree::CursorShape;pub use tree::CursorStyle;pub use tree::EditController;pub use tree::InputFilter;pub use tree::Span;pub use tree::SpanFn;pub use tree::TextLayoutSnapshot;pub use tree::Image;pub use tree::Tooltip;pub use tree::TooltipStyle;pub use tree::WidgetExt;pub use image::DecodedImage;pub use image::ImageCache;pub use image::ImageFit;pub use image::ImageSource;pub use image::ImageWidget;
Modules§
- image
- Image widget — renders a PNG image (or a placeholder) inside a fixed-size box.
- prelude
- Convenience re-exports for all built-in widgets.
- template
- Template descriptor (D103 / D102 Tier 1) — the data form of a
view!tree for universal hot reload; see the module docs. Template descriptor (D103 / D102 Tier 1) — the data form of aview!tree, and the runtime that inflates it back into widgets. - tree
- Composable widget tree system — the primary API for building ROSACE apps. Widget tree — composable, layout-aware, paint-capable widgets.
Macros§
- inflatable
- Register a widget with the interpreter WITHOUT hand-writing the build closure — the ergonomic front door to hot-reload extensibility.
Structs§
- Contains
- Simple pattern check (contains substring — no regex dep needed).
- Email-like validation: must contain @ and a dot after @.
- Field
Error - A validation error on a named field.
- Form
- A form that aggregates multiple
FormFields. SinceFormFieldclones share their underlying atoms (D116 Phase 28 Step 8),Formitself is just aVec<FormField>— no separate reactive plumbing needed at theFormlevel; every method here is&selfbecause the fields it holds are shared handles, not owned data. - Form
Field - A single form field: a name, a shared string value, and validation
rules. Cloning a
FormFieldis cheap and shares state (D116 Phase 28 Step 8) — every clone reads/writes the SAME underlying atoms, the same “clone shares identity” conventionEditController/ScrollControlleralready use in this codebase. This is what letsTextInput::field(f),Form::field(f), and the app’s own submit-button closure all see the same live value/touched/errors without any manual synchronization. - MaxLength
- Maximum character length.
- MinLength
- Minimum character length.
- Range
- Numeric range validator for string-encoded numbers.
- Required
- Field value must be non-empty (after trimming).
Enums§
- Font
Weight - Text weight. Maps onto real font faces:
SemiBold/Bolduse the bold face when one was found;Light/Regular/Mediumuse the regular face. Before this existed the field was silently ignored — headings were never actually bold.
Traits§
- Validator
- A validation rule that can be applied to a string value.