silky_scroll 2.0.1
silky_scroll: ^2.0.1 copied to clipboard
Silky Scroll is a package developed in Flutter to provide a smooth scrolling experience.
Changelog #
All notable changes to this project will be documented in this file.
2.0.1 #
Fixed #
onScrollandonEdgeOverScrollcallbacks were not passed fromSilkyScrollwidget toSilkyScrollState, causing them to always benull.onEdgeOverScrollwas never invoked; it is now called when mouse-wheel or touch/trackpad scroll reaches an edge.
2.0.0 #
Breaking #
- Removed
providerdependency; replaced withInheritedWidget+ListenableBuilder. - Applied Dart 3
final class/abstract interface classmodifiers to all public classes. Externalextends/implementsis no longer permitted for concrete types. - Exported
ScrollPhysicsPhaseenum from barrel file.
Added #
SilkyScrollConfig.copyWith,==,hashCode, andtoString.SilkyScrollMousePointerManager.resetForTesting(@visibleForTesting).SilkyScrollWebManagerInterface.isWebPlatformfor conditional-import–based platform detection.SilkyEdgeDetector: sub-pixel edge detection using threshold instead oftoInt().- State machine
_transitionTonow guards against Timer creation after dispose. SilkyScrollController.attach/detachguard against duplicate position registration.- Test infrastructure:
test/helpers/test_helpers.dartshared utilities. - New tests for
SilkyScrollAnimator,SilkyInputHandler,SilkyScrollConfig, and integration tests (67 total, up from 24).
Changed #
kIsWebruntime branching inSilkyInputHandlerreplaced with conditional-import pattern viaisWebPlatform.ListenableBuilderrebuild scope reduced:onAnimationStateChangedno longer triggers unnecessary widget rebuilds for recoil state.- Dispose order in
SilkyScrollStatemade deterministic and safe. - Edge-detection refactored to switch expression / pattern matching (Dart 3).
SilkyScrollAnimator._handleRecoilrefactored to switch expression.- Web helper magic number
Duration(milliseconds: 700)extracted to_kOverscrollBehaviorXResetDelayconstant. - Lint configuration upgraded from
flutter_lintstopackage:lints/recommended.yamlwith custom rules. - Example restructured to
example/lib/main.dart+example/pubspec.yaml(pub.dev guideline). - README image paths updated from
Bluebar1/dyn_mouse_scrolltoDynaruid/silky_scroll.
Removed #
- Legacy duplicate source files under
lib/root (moved tolib/src/in Phase 1).
Fixed #
_unlockScrollnow correctly transitions_physicsPhaseback toScrollPhysicsPhase.normal._transitionTochecks_disposedbefore creating a new Timer.
1.0.14 #
Fixed #
- Removed usage of
Platformfromdart:iodue to compatibility issues causing errors on Safari in iOS 18.2.
1.0.12 #
Added #
- Added an option to configure whether scroll bubbling is propagated when an inner scroll view reaches its edge within nested scroll views.
1.0.6 #
Changed #
- The duration of scroll momentum transferred to the parent widget has been adjusted to behave more naturally.