Skip to content

Commit

Permalink
Merge pull request #49 from MaurizioSodano/develop
Browse files Browse the repository at this point in the history
close #48 - added hoverTextStyle property
  • Loading branch information
Frezyx committed Jun 13, 2023
2 parents 2a4699e + c52a289 commit edc44b7
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 39 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/sidebarx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: flutter pub get

- name: Format
run: flutter format --set-exit-if-changed lib/
run: dart format --set-exit-if-changed lib/

- name: Analyze
run: flutter analyze --fatal-warnings lib/
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
.vscode/

# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
Expand Down
97 changes: 62 additions & 35 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,48 @@ packages:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev"
source: hosted
version: "2.9.0"
version: "2.11.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev"
source: hosted
version: "1.2.1"
version: "1.3.0"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
source: hosted
version: "1.1.1"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
url: "https://pub.dev"
source: hosted
version: "1.16.0"
version: "1.17.1"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
flutter:
Expand All @@ -52,56 +58,70 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
url: "https://pub.dartlang.org"
sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
url: "https://pub.dev"
source: hosted
version: "2.0.1"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.7"
lints:
dependency: transitive
description:
name: lints
url: "https://pub.dartlang.org"
sha256: "5cfd6509652ff5e7fe149b6df4859e687fca9048437857cb2e65c8d780f396e3"
url: "https://pub.dev"
source: hosted
version: "2.0.0"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
url: "https://pub.dev"
source: hosted
version: "0.12.12"
version: "0.12.15"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
url: "https://pub.dev"
source: hosted
version: "0.1.5"
version: "0.2.0"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
url: "https://pub.dev"
source: hosted
version: "1.8.0"
version: "1.9.1"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev"
source: hosted
version: "1.8.2"
version: "1.8.3"
sidebarx:
dependency: "direct main"
description:
path: ".."
relative: true
source: path
version: "0.14.0"
version: "0.15.0"
sky_engine:
dependency: transitive
description: flutter
Expand All @@ -111,51 +131,58 @@ packages:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
url: "https://pub.dev"
source: hosted
version: "1.9.0"
version: "1.9.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.11.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
source: hosted
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
url: "https://pub.dev"
source: hosted
version: "0.4.12"
version: "0.5.1"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.4"
sdks:
dart: ">=2.17.0-206.0.dev <3.0.0"
dart: ">=3.0.0-0 <4.0.0"
flutter: ">=1.17.0"
10 changes: 10 additions & 0 deletions lib/src/theme/sidebarx_theme.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class SidebarXTheme {
this.itemTextPadding,
this.selectedItemTextPadding,
this.hoverColor,
this.hoverTextStyle,
});

/// [SidebarX] width
Expand Down Expand Up @@ -77,6 +78,10 @@ class SidebarXTheme {
/// cursor hover over an item
final Color? hoverColor;

/// [SidebarXItem] text style when the mouse
/// cursor hover over an item
final TextStyle? hoverTextStyle;

/// Method to get default flutter theme settings
SidebarXTheme mergeFlutterTheme(BuildContext context) {
final theme = Theme.of(context);
Expand All @@ -101,6 +106,8 @@ class SidebarXTheme {
itemTextPadding: itemTextPadding,
selectedItemTextPadding: selectedItemTextPadding,
hoverColor: hoverColor ?? theme.hoverColor,
hoverTextStyle: hoverTextStyle ??
theme.textTheme.bodyMedium?.copyWith(color: theme.primaryColor),
);
return mergedTheme;
}
Expand Down Expand Up @@ -130,6 +137,7 @@ class SidebarXTheme {
selectedItemDecoration:
selectedItemDecoration ?? theme.selectedItemDecoration,
hoverColor: hoverColor ?? theme.hoverColor,
hoverTextStyle: hoverTextStyle ?? theme.hoverTextStyle,
);
}

Expand All @@ -153,6 +161,7 @@ class SidebarXTheme {
EdgeInsets? itemTextPadding,
EdgeInsets? selectedItemTextPadding,
Color? hoverColor,
TextStyle? hoverTextStyle,
}) {
return SidebarXTheme(
width: width ?? this.width,
Expand All @@ -175,6 +184,7 @@ class SidebarXTheme {
selectedItemTextPadding:
selectedItemTextPadding ?? this.selectedItemTextPadding,
hoverColor: hoverColor ?? this.hoverColor,
hoverTextStyle: hoverTextStyle ?? this.hoverTextStyle,
);
}
}
7 changes: 5 additions & 2 deletions lib/src/widgets/sidebarx_cell.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ class _SidebarXCellState extends State<SidebarXCell> {
final theme = widget.theme;
final iconTheme =
widget.selected ? theme.selectedIconTheme : theme.iconTheme;
final textStyle =
widget.selected ? theme.selectedTextStyle : theme.textStyle;
final textStyle = widget.selected
? theme.selectedTextStyle
: (_hovered)
? theme.hoverTextStyle
: theme.textStyle;
final decoration =
(widget.selected ? theme.selectedItemDecoration : theme.itemDecoration);
final margin =
Expand Down

0 comments on commit edc44b7

Please sign in to comment.