Search packages, repositories and app categories

GitHub repositorymuammertekin/timed_widget

timed_widget

A collection of powerful and reusable time-based Flutter widgets.

timed_widget project cover
Stars
0
Forks
0
Last push (UTC)
Jun 21, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

⏱️ timed_widget

A flexible and lightweight Flutter package that provides time-based UI building blocks — including delayed visibility, timed switchers, animated builders, scheduled sequences, and more.

Ideal for onboarding flows, staggered animations, tutorial steps, micro-interactions, and other UI effects that rely on timing.


✨ Features

  • Show or hide widgets after a delay
  • Switch between two widgets with timing & animation
  • Run a function after a specified delay
  • Rebuild widgets repeatedly on a timer
  • Animate widgets using AnimationController with duration + curve
  • Trigger a sequence of widget displays with custom delay per step
  • Manage widget visibility in groups or sequences
  • Use mixin utilities to manage Timer lifecycle cleanly

📦 Installation

Add to your pubspec.yaml:

dependencies:
  timed_widget: ^0.1.0

Then import:

import 'package:timed_widget/timed_widget.dart';

🧩 Available Widgets

Widget/Class Purpose
TimedVisibility Show/hide a widget after a delay, optionally reverse or loop
TimedSwitcher Switch between two widgets after a delay, animated
TimedBuilder Conditionally build a widget after a delay (bool isElapsed)
TimedFunction Execute a callback once after a delay
TimedRepeatBuilder Periodically rebuild a widget with tick counter
TimedAnimatedBuilder Animate a value (0.0 → 1.0) over time
TimedSequence Step-based widget display with delays and optional controller
TimedVisibilityController Imperative control for TimedVisibility
TimedGroupController Start/reset multiple TimedVisibility widgets at once
TimedSequenceController External control of sequence progression or reset
TimedMixin Mixin for stateful widgets to safely manage timers

🚀 Example

TimedVisibility(
  delay: Duration(seconds: 2),
  reverseAfter: Duration(seconds: 3),
  loop: true,
  child: Text('Hello after 2 seconds!'),
);
TimedFunction(
  delay: Duration(milliseconds: 500),
  onElapsed: () => print('Half a second passed!'),
);
TimedSequence(
  steps: [
    TimedStep(delay: Duration(seconds: 1), child: Text('Step 1')),
    TimedStep(delay: Duration(seconds: 2), child: Text('Step 2')),
  ],
);

📷 Demo

🕑 TimedVisibility

TimedVisibility demo

📋 TimedSequence

TimedSequence demo


📝 License

MIT License. See LICENSE.


🙌 Contributing

Contributions are welcome and appreciated.

Whether you're fixing a typo, adding a test, or suggesting a new widget, your input helps make this package better for everyone.

Open an issue, start a discussion, or send a pull request — let's collaborate. 🧩


🔗 Links

Muammer TEKİN GitHub avatar
GitHub author

Muammer TEKİN ↗

Software Developer | Flutter & Dart

Turkey
LanguagesDartC++CMakeSwiftCHTMLKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 4 items

  • flutter{"sdk":"flutter"}
  • flutter_testDevelopment{"sdk":"flutter"}
  • flutter_lintsDevelopment^5.0.0
  • fake_asyncDevelopment^1.3.3

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗