wonzy_core_utils 2.0.0
wonzy_core_utils: ^2.0.0 copied to clipboard
Flutter/Dart extensions and reusable widgets for rapid UI development. Context helpers, navigation shortcuts, text builders, layout extensions, and customizable widgets.
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.
2.0.0 - 2025-07-16 #
KIRICI DEĞİŞİKLİKLER (Breaking Changes) #
Wonzynamespace API: Widget sınıfları (CustomAppBar,CustomButton,CustomIconButton,CustomBottomSheet,CustomTextField) artık paket tarafından dışa aktarılmamaktadır. Bunların yerine merkeziWonzynamespace'i üzerinden erişilmelidir:CustomAppBar(...)→Wonzy.appBar(...)CustomButton(...)→Wonzy.button.standard(...)CustomIconButton(...)→Wonzy.button.icon(...)CustomBottomSheet(...)→Wonzy.bottomSheet(...)CustomBottomSheet.show(...)→Wonzy.bottomSheet.show(...)CustomTextField(...)→Wonzy.textField(...)Geçiş:wonzy_core_utils.dartimport'unu güncelleyin ve yukarıdaki eşleştirmeyi uygulayın.
Added #
lib/src/wonzy.dart:Wonzymerkezi namespace sınıfı eklendi.final class Wonzy— özelWonzy._()constructor, yanlışlıkla örnekleme engellendi.Wonzy.appBar(...)—PreferredSizeWidgetdöndürencall()operatörü (Scaffold.appBar:ile doğrudan uyumlu).Wonzy.button.standard(...)— standartElevatedButtontarzı buton.Wonzy.button.icon(...)— rozet destekli ikon buton.Wonzy.bottomSheet(...)—CustomBottomSheetwidget'ı döndürür.Wonzy.bottomSheet.show<T>(...)— modal bottom sheet gösterir,Future<T?>döndürür.Wonzy.textField(...)— form alanı ile entegre metin girişi.
CustomFieldTypeenum'uwonzy_core_utils.dartüzerinden dışa aktarılmaya başlandı.- Tüm public API ve dartdoc yorumları Türkçe olarak güncellendi.
Changed #
lib/core_utils.dart: Artık yalnızca extension barrel'ı (widget export'ları kaldırıldı).lib/wonzy_core_utils.dart: Extension'lar + Wonzy namespace'i birlikte dışa aktarır.
0.3.0 - 2026-03-01 #
Breaking (backward-compatible via deprecated aliases) #
Costum*→Custom*rename:CostumAppBar,CostumButton,CostumIconButton,CostumBottomSheetsınıfları sırasıylaCustomAppBar,CustomButton,CustomIconButton,CustomBottomSheetolarak yeniden adlandırıldı. Eski isimler@Deprecatedtypedef'leri olarak korunmaktadır; bir major versiyonda kaldırılacak. Geçiş:Costum→Customfind & replace yeterlidir.
Added #
ContextExtension.screenWidth(double size)—scrennWidthyazım hatasının doğru versiyonu.analysis_options.yaml'a ek strict lint kuralları eklendi:avoid_dynamic_calls,unawaited_futures,discarded_futures,unnecessary_lambdas.
Fixed #
- [KRİTİK]
context_extensions.dart:textTheme.displayLarge!ve diğer 14 TextTheme alanındaki!null-assertion operatörleri?? const TextStyle()fallback'iyle değiştirildi. Özelleştirilmiş ThemeData'larda crash riski ortadan kalktı. - [KRİTİK]
container_extensions.dart:decoration as BoxDecoration?unchecked cast kaldırıldı;decoration is BoxDecoration ? decoration : nullgüvenli form'a çevrildi.ShapeDecorationvb. geçildiğinde çıkanTypeErrorengellenmiş oldu. - [GÜVENLİK]
log_extensions.dart:infoLog,warningLog,errorLogmetodlarınakDebugModeguard eklendi. Release build'de bu metodlar artık hiçbir şey yazmaz; hassas veri (token, parola vb.) production loglarına sızmaz. - [PERFORMANS]
string_extensions.dart:isAlphabetic,isAlphanumeric,hasNumber,hasLetter,stripHtmlmetodlarındaki inlineRegExp(...)çağrıları modül seviyesifinalsabitlerle değiştirildi. Her çağrıda yeniden derleme maliyeti ortadan kalktı.
Deprecated #
ContextExtension.scrennWidth—screenWidthkullanın.StringExtensions.toLowerCaseSafe()— doğrudantoLowerCase()kullanın.StringExtensions.toUpperCaseSafe()— doğrudantoUpperCase()kullanın.StringExtensions.isNullOrEmpty—isEmptykullanın.StringExtensions.isNotNullOrEmpty—isNotEmptykullanın.StringExtensions.lengthSafe—lengthkullanın.StringExtensions.splitToList—split(' ')kullanın.CostumAppBar→CustomAppBarCostumButton→CustomButtonCostumIconButton→CustomIconButtonCostumBottomSheet→CustomBottomSheet
Fixed #
pubspec.yamldescription length reduced to comply with pub.dev 60-180 character limit.- Local variables changed to
finalinstring_extensions.dart(toUsername,toGmail). Containerreplaced withDecoratedBoxinimages_extensions.dart(bordered,shadow).Widget sheetchanged tofinal Widget sheetincostum_bottom_sheet.dart.- Added missing
constconstructors inlayout_extensions_test.dart.
0.2.0 - 2025-02-20 #
Added #
- CustomTextField — Production-ready, type-driven smart text field built on
FormBuilderTextField.CustomFieldTypeenum (text,email,phone,password,number,studentNumber) with automatic keyboard, autofill, obscure, and validation defaults.- Password show/hide toggle icon.
- Clear (×) button support (with controller).
nextFocusNodefor automatic focus transition on submit.valueTransformerfor pre-save value transformation (trim, lowercase, etc.).- Turkish error messages by default; all overridable.
- Full
InputDecorationcustomization support. - Custom validator composition via
FormBuilderValidators.compose.
Changed #
- Moved
flutter_form_builderandform_builder_validatorsfromdev_dependenciestodependencies(required byCustomTextField).
0.1.0 - 2025-02-18 #
Added #
- Context Extensions —
BuildContextshortcuts for screen size, theme, color scheme, and text theme. - Layout Extensions —
Column/Rowcross-axis & main-axis alignment helpers;List<Widget>.column()/.row()builders with spacing support. - Navigation Extensions —
pushPage,pop,pushReplacementPage,pushAndRemoveUntilPage, named route shortcuts onBuildContext. - Route Transitions —
RouteTransitionsclass with fade, slide, scale, rotation, size, and combined transition builders. - Primitive Extensions
num—.h,.w(SizedBox spacing),.all,.horizontal,.vertical(EdgeInsets),.radius(BorderRadius),.ms,.seconds(Duration).String—capitalize,toTitleCase,toSnakeCase,toCamelCase, validators (isNumeric,isAlphabetic, etc.),toTurkishPhoneFormat,toUsername,toGmail, and more.TextBuilder— Chainable text widget builder:"Hello".text.bold.headline4(context).color(Colors.red).
- Utility Extensions —
Stringlogging helpers:debugLog(),infoLog(),warningLog(),errorLog(). - Widget Extensions
- Padding & Margin —
.paddingAll(),.paddingHorizontal(),.marginAll(), etc. - Alignment —
.center,.alignLeft,.alignRight,.alignTop,.alignBottom. - Container —
.container()all-in-one wrapper. - Expanded / Flexible —
.expanded(),.flexible(). - Size —
.sized(),.square(),.expandedWidth,.constrained(). - Image —
.rounded(),.circular(),.bordered(),.circleAvatar(),.shadow(), and more. - Decoration —
.roundedBox(),.withBackground(),.onTap(),.withVisibility(),.withOpacity(),.withTooltip(),.withHero().
- Padding & Margin —
- Reusable Widgets
CostumAppBar— Fully customizable AppBar with gradient, shape, bottom separator support.CostumBottomSheet— Feature-rich bottom sheet with draggable, scrollable, action buttons support.CostumButton— General purpose button with loading state, gradient, icon support.CostumIconButton— Circular icon button with badge, gradient, loading state support.