skeleton_shimmer 1.0.0
skeleton_shimmer: ^1.0.0 copied to clipboard
Shimmer loading effect and skeleton loaders for Flutter. API-compatible with the shimmer package, with skeleton placeholder widgets and reduced-motion accessibility.
1.0.0 #
First stable release. From here the public API follows semantic versioning: a breaking change will not land without a major-version bump.
- Mark
Shimmer,SkeletonBox,SkeletonCircleandSkeletonLineasfinal. All four are leaves: they are meant to be used and composed, not extended or implemented, and nothing in the package, its tests or its example subtypes them. Sealing them is what keeps the rest of 1.x additive, because adding an optional parameter to a class someone has implemented is a breaking change for that implementer. This is the one breaking change in the release, and it is deliberately made at the boundary where breaking changes are allowed:finalcannot be added later without a 2.0.0, while removing it later would break nobody.ShimmerDirectionneeds nothing, since an enum cannot be extended or implemented from outside. - No behaviour change. The animation, the widgets, their parameters and their defaults are exactly what 0.2.2 shipped.
0.2.2 #
- Fix a frozen sweep when
loopis increased at runtime after a finite loop has already finished. Finishing a finite loop parks the controller at the upper bound of its range; raisingloopreset the completed-loop count and calledforward()to resume, butforward()from the upper bound does nothing, so the sweep stayed frozen instead of running the added loops. It now restarts from the start of the range when the controller is parked at completion, and still resumes in place whenenabledis toggled back on mid-sweep.
0.2.1 #
- Fix
Shimmer.fromColorssoShimmerDirection.ttb/.bttactually sweep vertically. The gradient's color axis was hardcoded to top-left -> center-right regardless ofdirection, so on a wide/short child (most skeleton shapes: list rows, cards, text lines) the highlight barely moved forttb/btteven though the paint window was sliding correctly. The axis now followsdirection: horizontal forltr/rtl, vertical forttb/btt.
0.2.0 #
- Skeleton placeholders no longer reach the semantics tree. A skeleton screen stands in for content that has not arrived; as plain containers the shapes were a run of empty nodes for a screen reader user to walk past, saying nothing about why they were there.
- Add
Shimmer.semanticsLabel, which announces the loading state as a live region, so the skeleton is read when it appears rather than passed over in silence. It mirrorsCircularProgressIndicator.semanticsLabel, default included: there is none, because the package cannot invent a localized string and should not announce English into every app.
0.1.2 #
- Docs: tightened the README wording and visuals.
0.1.1 #
- Expand the package description to name what the package does in the words people search for. No code changes.
0.1.0 #
Initial release.
ShimmerandShimmer.fromColors, API-compatible with theshimmerpackage:ShimmerDirection(ltr/rtl/ttb/btt),period,loop,enabled.- Reduced-motion support: the sweep freezes when
MediaQuery.disableAnimationsis set. - Skeleton placeholder primitives:
SkeletonBox,SkeletonCircle,SkeletonLine.