paginated_bloc_widget 1.1.0
paginated_bloc_widget: ^1.1.0 copied to clipboard
A production-ready Flutter pagination widget using BLoC, with built-in loading, error handling, pull-to-refresh, and support for all major scroll views.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2026-01-20 #
Added #
PaginationTheme(InheritedWidget) to provide global builders for loading, error, and empty states- Documentation updates showing global config/theme plus local widget overrides
Changed #
- GridView pagination now uses a single
CustomScrollViewwith slivers to preserve scroll position and center load-more indicators - Load-more auto-fill logic improved for short lists that don't reach scroll threshold
- README expanded with end-to-end setup:
PaginationConfig.init,PaginationTheme, and local overrides
1.0.2 - 2025-01-18 #
Changed #
- Widened flutter_bloc version constraint to support ^8.x and ^9.x
- Widened bloc version constraint to support ^8.x and ^9.x
1.0.0 - 2025-01-18 #
Added #
- Initial release of
paginated_bloc_widget PaginatedDataBloc- Generic BLoC for pagination state managementPaginatedDataWidget- Flexible widget supporting multiple layoutsPaginatedDataRepository- Abstract repository for data fetchingInMemoryPaginatedRepository- In-memory implementation for testingPaginatedResponse- Response model with pagination metadata
Features #
- Support for ListView, GridView, PageView, and Sliver layouts
- Built-in loading, error, and empty states
- Pull-to-refresh support
- Customizable load more threshold
- Item update, remove, and add operations
- Horizontal and vertical scrolling
- Sliver headers support for CustomScrollView
- Full documentation and examples
Layout Types #
PaginatedLayoutType.listViewPaginatedLayoutType.gridViewPaginatedLayoutType.pageViewPaginatedLayoutType.sliverListPaginatedLayoutType.sliverGridPaginatedLayoutType.customScrollView
Events #
LoadFirstPage- Load initial dataLoadMoreData- Load next pageRefreshData- Refresh and reloadResetPagination- Reset to initial stateUpdateItem<T>- Update existing itemRemoveItem<T>- Remove item from listAddItem<T>- Add new item to list