skeletonizer_plus 1.2.0
skeletonizer_plus: ^1.2.0 copied to clipboard
Skeleton loading states for Flutter with shimmer animations, theme-aware colours, automatic tree analysis, and Sliver support.
Changelog #
1.2.0 - 2026-05-19 #
Fixed #
- Shimmer is now actually visible. Previously
ShimmerPainterpainted the gradient behind the bones and the opaque bones covered it. Rewrote the animation to use aShaderMaskso the moving gradient is the fill of the bones — the way every other shimmer package on pub.dev works. RenderFlex overflowon every render. The bone layout usedColumn(MainAxisSize.min)inside a fixed-heightPositioned.fill, which overflowed when the bones plus inter-bone padding didn't fit. Replaced with a non-scrollableListView.separatedso bones lay out without overflowing.SliverSkeletonizerPlus.customthrew "Stack requires bounded constraints" at runtime — theStackhad noOpacitychild to size it. Refactored the sliver to delegate to a regularSkeletonizerPlusinside aSliverToBoxAdapter, removing the unboundedStackentirely.SkeletonIgnoreno longer renders its child twice. The old layout kept the original widget inside a hiddenOpacity(0)overlay and in the visibleBoneWidget. Removed the hidden overlay entirely;BoneWidgetrenders the real child once.SkeletonUnitenow produces a usable bone. The previous implementation emitted a genericBoneRectwith no size, which fell back to a 20 px tall placeholder. Now emits a properly-sized rounded rectangle.BoneRectdead branch removed.shape: customShape != null ? BoxShape.rectangle : BoxShape.rectanglewas always rectangle.AnimationConfig.copyWithmissingtypeparameter added in 1.1.0 but you couldn't actually.copyWith(type: …)it. Added the field plus aclearLoopCount: trueflag for resetting back to an infinite loop.
Changed #
- Tree analyser is broader. Now recurses into
Padding,Center,Align,Expanded,Flexible,SizedBox,DecoratedBox, andWrap, and handlesCircleAvatarexplicitly. Recursion also descends intoContainer.childso wrapped widgets aren't lost. - All bones use a single
kBoneFillColorthat the parent recolours, so theShaderMaskhas a uniform target. - Bumped
flutter_lintsto^5.0.0. - Added
topics:(skeleton,loading,shimmer,placeholder,ui) andissue_tracker:topubspec.yamlfor pub.dev scoring. - Removed unused
library skeletonizer_plus;directive flagged by the current lint set.
Removed #
- Internal scratchpad documents (
PACKAGE_SUMMARY.md,PUB_DEV_CHECKLIST.md,VALIDATION.md) that were shipped to pub.dev but only duplicated README content or claimed completion of items that weren't done. - Obsolete
shimmer_painter.dart(replaced byShaderMask). Bone.customShapefield — was plumbed but never used by any bone.
1.1.1 #
- Documentation improvements: added visual showcase of features.
- Minor maintenance updates.
1.1.0 #
- Added
SkeletonIgnoreto keep widgets visible and interactive. - Added
SkeletonUniteto group multiple widgets into a single bone. - Added
AnimationType.pulsefor a smoother fading animation. - Added
fontSizeandstylesupport toBoneTextfor better auto-sizing. - Added
BoneWidgetto render real widgets inside the bone tree (used bySkeletonIgnore).
1.0.0 #
- Initial release of skeletonizer_plus.