Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Changelog
## 0.8.4
**Oct 6, 2025**
- Updates dependencies to latest version.

## 0.8.3
**Jun 6, 2025**
- Updates dependencies to latest version.
Expand Down
3 changes: 3 additions & 0 deletions devtools_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:
6 changes: 3 additions & 3 deletions lib/src/core/configs/app_bar_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class AppBarConfig extends ComponentConfig {
required this.leadingWidth,
});

final AppBarTheme? theme;
final AppBarThemeData? theme;
final DividerAppBarConfig? divider;
final double toolbarOpacity;
final double bottomOpacity;
Expand All @@ -27,7 +27,7 @@ class AppBarConfig extends ComponentConfig {
final bottomOpacity = map['bottomOpacity'];

return AppBarConfig(
theme: ThemeDecoder.decodeAppBarTheme(map['theme']),
theme: ThemeDecoder.decodeAppBarThemeData(map['theme']),
divider: divider == null ? null : DividerAppBarConfig.fromMap(divider),
toolbarOpacity: toolbarOpacity ?? 1,
bottomOpacity: bottomOpacity ?? 1,
Expand All @@ -48,7 +48,7 @@ class AppBarConfig extends ComponentConfig {
}

AppBarConfig copyWith({
AppBarTheme? theme,
AppBarThemeData? theme,
DividerAppBarConfig? divider,
double? toolbarOpacity,
double? bottomOpacity,
Expand Down
36 changes: 23 additions & 13 deletions lib/src/core/configs/dropdown_menu_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class DropdownMenuConfig extends ComponentConfig {
final double? width;
final double? menuHeight;
final TextStyle? textStyle;
final InputDecorationTheme? inputDecorationTheme;
final InputDecorationThemeData? inputDecorationTheme;
final MenuStyle? menuStyle;
final bool? requestFocusOnTap;
final EdgeInsets? expandedInsets;
Expand All @@ -39,7 +39,7 @@ class DropdownMenuConfig extends ComponentConfig {
textStyle: ThemeDecoder.decodeTextStyle(
map['textStyle'],
),
inputDecorationTheme: ThemeDecoder.decodeInputDecorationTheme(
inputDecorationTheme: ThemeDecoder.decodeInputDecorationThemeData(
map['inputDecorationTheme'],
),
menuStyle: ThemeDecoder.decodeMenuStyle(
Expand All @@ -49,10 +49,14 @@ class DropdownMenuConfig extends ComponentConfig {
expandedInsets: ThemeDecoder.decodeEdgeInsets(
map['expandedInsets'],
),
defaultLeadingIcon: ThemeDecoder.decodeIconData(map['defaultLeadingIcon']),
defaultTrailingIcon: ThemeDecoder.decodeIconData(map['defaultTrailingIcon']),
defaultSelectedIcon: ThemeDecoder.decodeIconData(map['defaultSelectedIcon']),
menuEntryConfig: DropdownMenuEntryConfig.fromMap(map['menuEntryConfig'] ?? {}),
defaultLeadingIcon:
ThemeDecoder.decodeIconData(map['defaultLeadingIcon']),
defaultTrailingIcon:
ThemeDecoder.decodeIconData(map['defaultTrailingIcon']),
defaultSelectedIcon:
ThemeDecoder.decodeIconData(map['defaultSelectedIcon']),
menuEntryConfig:
DropdownMenuEntryConfig.fromMap(map['menuEntryConfig'] ?? {}),
);
}

Expand Down Expand Up @@ -86,7 +90,7 @@ class DropdownMenuConfig extends ComponentConfig {
double? width,
double? menuHeight,
TextStyle? textStyle,
InputDecorationTheme? inputDecorationTheme,
InputDecorationThemeData? inputDecorationTheme,
MenuStyle? menuStyle,
bool? requestFocusOnTap,
EdgeInsets? expandedInsets,
Expand All @@ -110,11 +114,14 @@ class DropdownMenuConfig extends ComponentConfig {
);
}

DropdownMenuConfig clearDefaultLeadingIcon() => _clearIcon(defaultLeadingIcon);
DropdownMenuConfig clearDefaultLeadingIcon() =>
_clearIcon(defaultLeadingIcon);

DropdownMenuConfig clearDefaultTrailingIcon() => _clearIcon(defaultTrailingIcon);
DropdownMenuConfig clearDefaultTrailingIcon() =>
_clearIcon(defaultTrailingIcon);

DropdownMenuConfig clearDefaultSelectedIcon() => _clearIcon(defaultSelectedIcon);
DropdownMenuConfig clearDefaultSelectedIcon() =>
_clearIcon(defaultSelectedIcon);

DropdownMenuConfig _clearIcon(IconData? iconToClear) {
return DropdownMenuConfig(
Expand All @@ -125,9 +132,12 @@ class DropdownMenuConfig extends ComponentConfig {
menuStyle: menuStyle,
requestFocusOnTap: requestFocusOnTap,
expandedInsets: expandedInsets,
defaultLeadingIcon: iconToClear == defaultLeadingIcon ? null : defaultLeadingIcon,
defaultTrailingIcon: iconToClear == defaultTrailingIcon ? null : defaultTrailingIcon,
defaultSelectedIcon: iconToClear == defaultSelectedIcon ? null : defaultSelectedIcon,
defaultLeadingIcon:
iconToClear == defaultLeadingIcon ? null : defaultLeadingIcon,
defaultTrailingIcon:
iconToClear == defaultTrailingIcon ? null : defaultTrailingIcon,
defaultSelectedIcon:
iconToClear == defaultSelectedIcon ? null : defaultSelectedIcon,
menuEntryConfig: menuEntryConfig,
);
}
Expand Down
6 changes: 3 additions & 3 deletions lib/src/core/configs/text_field_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class TextFieldConfig extends ComponentConfig {
required this.keyboardType,
});

final InputDecorationTheme? theme;
final InputDecorationThemeData? theme;
final TextAlign textAlign;
final TextStyle? textStyle;
final Clip clip;
Expand All @@ -50,7 +50,7 @@ class TextFieldConfig extends ComponentConfig {

factory TextFieldConfig.fromMap(Map<String, dynamic> map) {
return TextFieldConfig(
theme: ThemeDecoder.decodeInputDecorationTheme(map['theme']),
theme: ThemeDecoder.decodeInputDecorationThemeData(map['theme']),
textAlign:
ThemeDecoder.decodeTextAlign(map['textAlign']) ?? TextAlign.start,
clip: ThemeDecoder.decodeClip(map['clip']) ?? Clip.hardEdge,
Expand Down Expand Up @@ -108,7 +108,7 @@ class TextFieldConfig extends ComponentConfig {
}

TextFieldConfig copyWith({
InputDecorationTheme? theme,
InputDecorationThemeData? theme,
TextAlign? textAlign,
TextStyle? textStyle,
Clip? clip,
Expand Down
14 changes: 9 additions & 5 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: acme_theme
description: A package to use the themes and components extracted from Acme Theme Builder.
version: 0.8.3
version: 0.8.4
homepage: https://acmesoftware.com

environment:
Expand All @@ -10,10 +10,14 @@ environment:
dependencies:
flutter:
sdk: flutter
google_fonts: ^6.2.1
http: ^1.4.0
google_fonts: ^6.3.2
http: ^1.5.0
json_class: ^3.0.1
json_theme: ^9.0.0+1
json_theme:
git:
url: https://github.com/laurencetroyv/json_theme
path: packages/json_theme
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Using a git dependency for json_theme is a good way to get quick fixes, but it's currently pointing to the default branch. This can cause inconsistent or broken builds if the branch is updated with breaking changes. To ensure build reproducibility, it's highly recommended to pin the dependency to a specific commit hash or tag by adding a ref property, as suggested.

This will guarantee that anyone building this project will use the exact same version of json_theme. For long-term stability, it would be best to eventually switch back to a version published on pub.dev once the necessary changes are merged and released there.

      path: packages/json_theme
      ref: <specific-commit-hash-or-tag>


meta: ^1.16.0
nsd: ^4.0.3
path: ^1.9.1
Expand All @@ -24,4 +28,4 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^4.0.0
flutter_lints: ^6.0.0