Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
c408d2a
feat: implemented pagination widget
asare-21 Dec 25, 2025
6f2b88a
feat: implemented shadpaginationtheme
asare-21 Dec 25, 2025
42d177f
spread over multiple lines
asare-21 Dec 25, 2025
cc9c43b
feat: added pagination widget to playground
asare-21 Dec 25, 2025
3347e2c
updated changelog.md
asare-21 Dec 25, 2025
ebeee1f
fix: added assertions ot catch configuration errors
asare-21 Dec 26, 2025
394d142
fix: Verify controller initialization doesn't overwrite user state
asare-21 Dec 26, 2025
9fac0e5
removed unnesscary padding and widgets
asare-21 Dec 27, 2025
08c36ce
fix: made provision for next and previous labels
asare-21 Dec 27, 2025
a5412a5
removed type def
asare-21 Dec 27, 2025
8995dae
added test for pagination widget
asare-21 Dec 27, 2025
9dce55b
made minor corrections
asare-21 Dec 27, 2025
0d42e63
Update test/src/components/pagination.dart
asare-21 Dec 27, 2025
572e8a1
Update lib/src/components/pagination.dart
asare-21 Dec 27, 2025
1f9df66
Update CHANGELOG.md
asare-21 Jan 10, 2026
3ef5f5b
Merge branch 'main' into feature
asare-21 Jan 10, 2026
7c5f9fa
Update playground/lib/pages/pagination.dart
asare-21 Jan 10, 2026
ff788f9
Update playground/lib/pages/pagination.dart
asare-21 Jan 10, 2026
b7b7da1
Update lib/src/theme/data.dart
asare-21 Jan 10, 2026
204dbe2
fix: removed material import. Used Lucideicons
asare-21 Jan 10, 2026
35ffc71
fix: resolved this issue: Do not import the barrel file, it is meant …
asare-21 Jan 10, 2026
a91d1e6
fix: reusing theme variable
asare-21 Jan 10, 2026
d089f63
Update lib/src/theme/themes/default_theme_no_secondary_border_variant…
asare-21 Jan 10, 2026
0657787
fix: Use DecoratedBox + SizedBox + Align
asare-21 Jan 10, 2026
f22c609
working on corrections
asare-21 Jan 10, 2026
151c067
merge
asare-21 Jan 10, 2026
de368fe
fix: removed duplicate ellipsis
asare-21 Jan 11, 2026
0d99b29
fix: Ambiguous behavior when both controller and initialPage are prov…
asare-21 Jan 11, 2026
09d7214
added pagination to example folder
asare-21 Jan 11, 2026
f117375
fix: fixed ellipsis color
asare-21 Jan 11, 2026
9f1597c
fix: moved default values to pagination theme
asare-21 Jan 11, 2026
42796e3
fix: tearDown to reset view dimensions.
asare-21 Jan 11, 2026
eb8e53f
fix: added pages 9 and 10 at end
asare-21 Jan 11, 2026
884f78e
fix: added missing insertion
asare-21 Jan 11, 2026
73075ff
added boudary test
asare-21 Jan 11, 2026
be1cd7b
modified test
asare-21 Jan 11, 2026
ef9762b
added assertions
asare-21 Jan 11, 2026
de65b3c
Merge branch 'main' into feature
asare-21 Jan 15, 2026
17e4aaf
Merge branch 'main' into feature
asare-21 Jan 20, 2026
33c632c
Merge branch 'main' into feature
asare-21 Jan 22, 2026
da86825
Merge branch 'main' into feature
asare-21 Jan 25, 2026
2b2ca33
Merge branch 'main' into feature
asare-21 Jan 27, 2026
5742e7f
Merge branch 'main' into feature
asare-21 Feb 4, 2026
ed32b35
Merge branch 'main' into feature
asare-21 Mar 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@

## 0.45.0

- **FEAT**: Add new component `ShadPagination` and all of its related components (thanks to @asare-21).
- **FEAT**: Add dot notation support for nested form values in `ShadForm`. Field IDs like `user.email` are automatically converted to nested maps like `{'user': {'email': value}}`. The `initialValue` should be provided as a nested map structure, and the form will automatically extract values based on field IDs.
- **FEAT**: Add `fieldIdSeparator` parameter to `ShadForm` to customize the separator used for nested form values (defaults to `.`). You can use any string as a separator (e.g. `/`, `:`), or set it to `null` to disable dot notation support entirely.
- **FEAT**: Add `toNestedMap`, `getByPath` and `deepMerge` extension methods on `Map<String, dynamic>`.
Expand Down Expand Up @@ -349,7 +350,7 @@
## 0.31.0

- **FEAT**: Modify the `ShadTooltip` component and its hover strategies to work on mobile on tap without a long press.
- **FEAT**: Add `ShadHoverStrategy.onTapOutside` to trigger unhover when tapping outside the widget.
- **FEAT**: Add `ShadHoverStrategy.onTapOutside` to trigger unhover when tapping outside the widget.
- **FEAT**: Add `ShadHoverStrategy.onTap` to trigger hover/unhover when tapping inside the widget.
- **FEAT**: Now if an hover strategy is present in both `hoverStrategies.hover` and `hoverStrategies.unhover`, the hover will be toggled.

Expand All @@ -376,7 +377,7 @@
## 0.30.1

- **FIX**: Fix `ShadResizable` on RTL (for real this time).
- **CHORE**: Bump min Flutter SDK version to `3.35.0` to support `FormField.onReset` and `Brightness` from `'package:flutter/widgets.dart'`
- **CHORE**: Bump min Flutter SDK version to `3.35.0` to support `FormField.onReset` and `Brightness` from `'package:flutter/widgets.dart'`

## 0.30.0

Expand Down Expand Up @@ -820,7 +821,7 @@

## 0.10.0

- __BREAKING CHANGE__: Rename `children` parameter of `ShadContextMenu` and `ShadContextMenuRegion` into `items`.
- **BREAKING CHANGE**: Rename `children` parameter of `ShadContextMenu` and `ShadContextMenuRegion` into `items`.

## 0.9.8

Expand Down
15 changes: 15 additions & 0 deletions example/lib/pages/pagination.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:example/common/base_scaffold.dart';
import 'package:flutter/material.dart';
import 'package:shadcn_ui/shadcn_ui.dart';

class PaginationPage extends StatelessWidget {
const PaginationPage({super.key});

@override
Widget build(BuildContext context) {
return BaseScaffold(
appBarTitle: 'Pagination',
children: const [ShadPagination(totalPages: 10)],
);
}
}
1 change: 1 addition & 0 deletions lib/shadcn_ui.dart
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ export 'src/components/icon_button.dart';
export 'src/components/input.dart';
export 'src/components/input_otp.dart';
export 'src/components/menubar.dart';
export 'src/components/pagination.dart';
export 'src/components/popover.dart';
export 'src/components/progress.dart';
export 'src/components/radio.dart';
Expand Down
Loading