dynamo_state_flow
Dynamo State Flow is a lightweight, highly customizable Flutter widget for visualizing multi-step processes, workflows, or progress trackers. It automatically handles step labeling, responsive visibility for mobile/desktop, and state transitions (e.g., order tracking, approval flows, onboarding, project pipelines) with a modern Material Design look.
Optimized for desktop, tablets, and small-screen apps; android, iOS, and web.
๐ Features
- Horizontal/Vertical stepper with dynamic step count
- Customizable visible step view.
- Optional step labels (show/hide toggle)
- Fully responsive (adapts to screen size)
- Custom label mapping via callback
- Clean, minimal UI with smooth animations
๐ฆ Installation
Add the dependency to your pubspec.yaml:
dependencies:
dynamo_state_flow: ^1.0.0
Or run:
flutter pub add dynamo_state_flow
๐ Usage
Import the library
import 'package:dynamo_state_flow/dynamo_state_flow.dart';
DynamoStateFlow(
allSteps: allWorkflowSteps,
isHorizontal: true,
index: selectedStep,
visibleCount: DynamoCommons.isMobile(context) ? 4 : 6,
showLabelMode: showStateLabel,
findActionStepBySystemStepNo: (int index) {
switch (index) {
case 1:
return "New";
case 2:
return "Documents";
case 3:
return "Approval";
}
},
),
Implementation Tips
ReadOnly TextFields: When using a TextField as a trigger, set readOnly: true.
This prevents the system keyboard from overlapping your beautiful calendar.
Event Handling: In scheduler mode, the onShowDetailsPressed returns a list of events.
You can use this to show a detail sheet or a custom popup with event description details.
๐งช Example
A complete working example is available in /example, showcasing:
- Datepicker
- Timepicker
- Date & Time Picker
- Scheduler
๐ฅ Demo

๐ License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
๐ค Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Libraries
- dynamo/project/commons/constants/pad_direction_type
- dynamo/project/commons/system/entities/log_level
- dynamo/project/commons/system/entities/message_type
- dynamo/project/commons/system/handlers/app_logger
- dynamo/project/commons/system/handlers/dynamo_commons
- dynamo/project/commons/types/dynamo_state_item
- dynamo/project/commons/views/dynamo_state_flow
- dynamo/project/commons/views/table_widget_commons
- dynamo_state_flow