dynamo_state_flow 1.0.0
dynamo_state_flow: ^1.0.0 copied to clipboard
A lightweight, customizable, and interactive state flow / workflow stepper widget for Flutter applications.
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.