loading_kit 0.3.1
loading_kit: ^0.3.1 copied to clipboard
A blocking-async overlay that never flickers. Wrap any Future in one call: delayed reveal, minimum display time, reference counting, cancellation, and themed presets.
0.3.1 #
Documentation only — no API changes.
- README code blocks now parse. Several listed variants one per line without terminating semicolons, so copying a block gave a syntax error even though each individual line was fine. Every snippet in this README is now checked through the analyser.
0.3.0 #
Breaking, though probably not for you. The barrel used to re-export whole
files, which made every public member in them public API by accident. Three
package internals were reachable as a result — LoadingOperation,
ResolvedLoadingStyle and LoadingIndicatorPainter. Two of them say
"internal" in their own doc comments. They are hidden now.
Nothing else changed, and nothing documented has moved. If you were importing one of those three, you were reaching into the plumbing; open an issue and say what for, and it can be exposed deliberately instead of by accident.
The exports are written with explicit show clauses now, so what is public is
a decision rather than a side effect of file layout.
Documentation. The Usage section opened with Loading.run(...), while the
README went on to recommend context.loading.run(...) three hundred lines
later. A newcomer copies the first example, so the first example now shows
both and says which to prefer and why.
0.2.1 #
Packaging only — no API or behaviour changes.
- The demo animations now ship inside the package, so they appear as screenshots on the pub.dev page rather than only in the README on GitHub.
.pubignoreexcludes the raw recorder frames, so shipping them costs about 1.7 MB rather than the 11 MB the frame directory would have added.
0.2.0 #
Everything is now a token. Nothing about the indicator, the card, or the toasts is hardcoded any more.
Added #
LoadingMotioncontrols animation speed:spinPeriod,morphDuration,progressDuration,barSweepPeriod,crossFadeDuration. Ships withstandard,briskandcalmprofiles.LoadingToastStylecontrols toast chrome: padding, radius, icon size and stroke, gaps, enter duration.- Card metrics as tokens:
cardMinWidth,textGap,cancelMinimumSize,cancelPadding. LoadingProgressBartakessweepPeriodandfillDurationdirectly.LoadingControllertakestoastExitDuration,defaultToastDurationandmaxVisibleToasts.
Fixed #
- A
cardMinWidthabovemaxCardWidthproduced non-normalized constraints and threw. The pair is now clamped, since both come from the caller.
Breaking #
LoadingController.toastExitDuration,defaultToastDurationandmaxVisibleToastsmoved from statics to instance fields set on the constructor. Thedurationargument totoastis now nullable and falls back to the controller's own default.
0.1.0 #
Initial release.
Indicators #
- Six indeterminate forms —
arc,dots,bars,orbit,pulse,ripple— all settling into the same check or cross. indicatorBuilderreplaces the built-in indicator with any widget, so Lottie, Rive, or another spinner package can be dropped straight in.LoadingProgressStyle.bardraws determinate progress as a linear bar.
Beyond the full-screen overlay #
-
Loading.toast/toastSuccess/toastErrorfor transient, non-blocking messages that never intercept input. -
LoadingBarrierscopes the overlay to a single subtree while still applying the timing policy. -
Loading.run/runTaskwrap a future behind the overlay in one call. -
Timing policy with a reveal delay and a minimum-visible window, so fast operations paint nothing and slow ones do not blink out.
-
Reference counting across concurrent operations, with a running operation outranking one that has already settled.
-
Determinate progress, cooperative cancellation, and timeouts.
-
Success and error states drawn as one continuous morph of the arc rather than a widget swap.
-
Five presets —
cupertino,material,glass,minimal,neon— plusadaptive, all resolving against the ambient theme in light and dark. -
Route awareness via
LoadingNavigatorObserver. -
Input blocking, focus trapping, live-region announcements,
BlockSemantics, and reduced-motion support. -
LoadingIndicatorusable standalone, with no overlay or controller.