component/screen/abstract_screen library

Classes

AbstractStatefulScreen
Abstract base class for stateful screens in Arcane, providing shared properties for UI consistency and extensibility. Serves as the foundation for interactive screens that require state management, integrating with ArcaneTheme for theming and Sidebar for navigation. Key features: Optional floating action button (FloatingActionButton), header/footer slots for AppBar or custom widgets, background/foreground overlays, and loading progress indicators. Ensures performance through optional gutter spacing and indeterminate loading states, suitable for dynamic content like forms or lists. Usage: Extend in concrete implementations like animated ChatScreen, providing state logic while inheriting layout scaffolding. Integrates with NavigationScreen for routing and BottomNavigationBar for tabbed navigation, supporting sliver extensions via subclasses.
AbstractStatelessScreen
Abstract base class for stateless screens in Arcane, offering a lightweight foundation for static or computed UIs. Provides essential properties for screen composition, such as header (Bar or AppBar), footer, and sidebar integration with Sidebar. Key features: Customizable loading progress with sparks animation, background/foreground layers, and override for background color via ArcaneTheme. Promotes efficient rebuilds with const constructors and minimal widget tree depth, ideal for performance-sensitive views. Usage: Extend for read-only screens like FillScreen, injecting body content and actions; supports CenterBody or Section for structured layouts. Integrates with SafeArea implicitly and SliverAppBar through sliver-aware subclasses, enabling seamless navigation in ArcaneApp.
InjectScreenFooter
Utility widget for injecting footers into Arcane screens, enabling dynamic footer content via PylonBuilder. Allows screens like NavigationScreen to provide contextual footers (e.g., BottomNavigationBar) that can be accessed and rendered. Key features: Local pylon scoping for efficient dependency injection without global state, supporting performance in nested UIs. Usage: Wrap screen content with this to provide footers; retrieve via static methods in concrete screens for integration with ArcaneTheme and actions. Integrates with FillScreen or SliverScreen for layout, ensuring footers appear below body content like Section or lists.
Screen
An abstract foundation for Arcane screens that provides a consistent structure integrating with ArcaneApp, NavigationScreen, and Sidebar. This class serves as the base for all screen widgets in the Arcane UI library, supporting both sliver and non-sliver content layouts. Key features include customizable headers via Bar or AppBar, sidebars for navigation, floating action buttons (FloatingActionButton), and loading indicators. It ensures efficient rebuilds through const constructors and optional slivers for performance in scrollable views. Usage: Extend for concrete screens like ChatScreen or FillScreen, providing body content via CenterBody or Section, and theme integration via ArcaneTheme. Integrates with SafeArea for edge handling and supports SliverAppBar in sliver mode for advanced scrolling behaviors.