Skip to main content
Beyond lib/design_system/, the app keeps reusable feature-agnostic widgets in lib/widgets/common/. They follow Sundial conventions (tokens via context, no hardcoded styles) but are not exported from design_system.dart — they’re app-level building blocks. Check here before writing a new widget.

Widgets

Dialogs — common/dialogs/

Layout — common/layout/

Rive and animation helpers live in lib/widgets/animations/ (RiveLoader, rive_color_injection, AnimatedFade, AnimatedTextSequence, FadeInText, RevealAnimation, SlideAndFadeTransition). Rive artwork, Lottie assets, and the bloom shader system are app-level concerns outside the design system.
Promotion path: when a common widget proves broadly useful and stable, consider moving it into lib/design_system/components/ with the full treatment — Styled*/Ash* naming, token discipline, docs page. See Contributing.