flutter_helper_kit

A production-ready Flutter utility kit — extensions, widgets, animations, responsive sizing, and utils in one package with zero external dependencies (Flutter SDK only).

Consolidates helpers previously spread across custom_helper folders (Paydrop, WhereToNow, etc.) into a single maintainable package.

pub package

Platforms: Android · iOS · Web · macOS · Windows · Linux


Installation

dependencies:
  flutter_helper_kit: ^1.0.6
flutter pub add flutter_helper_kit
import 'package:flutter_helper_kit/flutter_helper_kit.dart';

Modular imports (smaller compile surface)

import 'package:flutter_helper_kit/flutter_helper_kit_extensions.dart';
import 'package:flutter_helper_kit/flutter_helper_kit_widgets.dart';
import 'package:flutter_helper_kit/flutter_helper_kit_animation.dart';
import 'package:flutter_helper_kit/flutter_helper_kit_responsive.dart';
import 'package:flutter_helper_kit/flutter_helper_kit_utils.dart';

Package structure

Every feature maps to a lib/ path. Use this table to find the right file.

Module Source path Key APIs
Extensions lib/extensions/ String, Color, DateTime, List, Map, Widget, Context, Alignment, Type conversion
Widgets lib/widgets/ AppButton, SliderButton, ReadMore, FlutterTag, Sharp corners, Pagination, etc.
Animation lib/animation/ 75+ animateWidget*, list animations, AnimatedGestureDetector
App Responsive lib/app_responsive/ ScreenUtilInit, .w, .h, .sp, .r, RPadding, RSizedBox
Reactive lib/reactive/ RxDateTime, RxnDateTime (ValueNotifier-based)
Utils lib/utils/ timeAgoCalculated, RandomImage, SystemUiUtils, MapCustomInfoWindow
Formatters lib/text_field/ NoLeadingSpaceFormatter, NoSpaceFormatter
Custom Painter lib/custom_painter/ GoogleLogoWidget

Full single import via flutter_helper_kit.dart.


Example app

Runnable demos for every module — each screen shows source file + API names.

cd example
flutter run

See example/README.md for catalog structure and how to add new demos.


Quick start

Responsive sizing (app_responsive/)

ScreenUtilInit(
  designSize: const Size(360, 690),
  builder: (_, child) => MaterialApp(home: child),
  child: Builder(
    builder: (context) => Container(
      width: 200.w,
      height: 80.h,
      child: Text('Hello', style: TextStyle(fontSize: 16.sp)),
    ),
  ),
);
API File
.w, .h, .sp, .r, .sw, .sh app_responsive/size_extension.dart
ScreenUtilInit app_responsive/screenutil_init.dart
RPadding, RSizedBox app_responsive/r_padding.dart, r_sized_box.dart

Widget animations (animation/)

Text('Hello')
  .animateWidgetElasticEntry()
  .animateWidgetGlassReveal();

// List item stagger
ListTile(title: Text('Item'))
  .animateListEntry(index: 0);

// Tap feedback
AnimatedGestureDetector(
  effectPreset: TapEffect.bounce,
  onTap: () {},
  child: Icon(Icons.favorite),
);
API File
animateWidget* (75+ methods) animation/widget_animation_extensions.dart
animateList* animation/list_item_animations.dart
AnimatedGestureDetector animation/animated_gesture_detector.dart
animateSheetReveal animation/animations_bottom_sheet.dart

Extensions

'edit_item'.toSnakeCase();           // string_case.dart
'user@mail.com'.isValidateEmail();  // validation.dart
1.50.toStringAsSmartRounded();       // smart_round_to_string.dart
Colors.blue.withColorOpacity(0.5);   // color_extension.dart
DateTime.now().timeAgo();            // date_extension.dart
'42'.toInt();                        // type_conversion.dart (on Object?)
context.showSnackBar(title: Text('Hi')); // build_context_extension.dart

Widgets

// Slider with shimmer label
SliderButton(
  width: 300,
  label: Text('Slide to confirm'),
  action: () async => true,
);

// Password strength meter
PasswordStrengthIndicator(textController: controller);

// Enhanced read-more with regex annotations
ReadMoreTextEnhanced(longText, trimLines: 3, annotations: [...]);

// iOS-style sheets (pass BuildContext)
AppCupertinoActionSheet.showActionSheet(
  context: context,
  actions: [ActionSheetItem(value: 'a', label: 'Option A')],
);

// Animated digit counter
UniversalDigitCounter(value: 12345, type: DigitAnimationType.simple);

// Ticket shape clipper
TicketClipper(
  clipper: PointedEdgeClipper(),
  child: Container(color: Colors.orange),
);

// Infinite scroll list
ListViewPagination(
  itemCount: items.length,
  hasNext: hasMore,
  nextData: fetchMore,
  itemBuilder: (_, i) => ListTile(title: Text(items[i])),
);
Widget File
AppButton widgets/app_button.dart
SliderButton widgets/slider_button.dart
PasswordStrengthIndicator widgets/password_strength_indicator/
ReadMoreText / ReadMoreTextEnhanced widgets/read_more_text.dart, read_more_enhanced.dart
FlutterTag widgets/flutter_tag/
SharpBorderRadius, SharpClipRect widgets/sharp_corners/
ListViewPagination widgets/list_view_pagination.dart
CenterTextDivider, CustomBanner widgets/center_text_divider.dart, custom_banner.dart
AvatarGlow, OutlineGlow widgets/avatar_glow/
TicketClipper widgets/ticket_clippers/
UniversalDigitCounter widgets/rolling_digit/

Reactive datetime (reactive/)

final rx = RxDateTime.now();
rx.addDuration(const Duration(hours: 1));
print(rx.format('yyyy-MM-dd'));
print(rx.timeAgo());

No GetX required — built on ValueNotifier<DateTime>.

Utils

timeAgoCalculated(DateTime.now().subtract(Duration(minutes: 5)));
RandomImage.picsumImage(300, 200);
RandomPicsumImage.image(width: 400, height: 300);
SystemUiUtils.setStatusBarColor(Colors.deepPurple);
Util File
timeAgoCalculated utils/ago_time.dart
RandomImage utils/random_image.dart
RandomPicsumImage utils/random_picsum_image.dart
SystemUiUtils utils/system_ui_utils.dart
MapCustomInfoWindow utils/map_custom_info_window.dart
showDialogWithCloseIcon utils/close_icon_show_dialog.dart
Validator utils/password_validator.dart
Numeral utils/numberal_utils.dart

Map info window (callback adapter)

No google_maps_flutter dependency in this package. Use CallbackMapInfoWindowAdapter:

final adapter = CallbackMapInfoWindowAdapter(
  onGetScreenCoordinate: (latLng) async {
    final coord = await googleMapController.getScreenCoordinate(
      LatLng(latLng.latitude, latLng.longitude),
    );
    return MapScreenCoordinate(coord.x, coord.y);
  },
);
controller.mapAdapter = adapter;

Text field formatters

TextField(
  inputFormatters: [
    NoLeadingSpaceFormatter(),
    NoSpaceFormatter(),
  ],
);

Extensions reference

Stringextensions/string/
  • string_extension.dartisEmptyOrNull, capitalize, reversed, parsing helpers
  • string_case.darttoSnakeCase, toCamelCase, toPascalCase, toKebabCase, toTitleCase
  • validation.dartisValidateEmail, validatePhone, extractPhoneNumber, URL/password checks
Colorextensions/color/color_extension.dart
  • toHex, createMaterialColor, lighten, darken, withColorOpacity, isDark, isLight
DateTimeextensions/date/
  • date_extension.darttimeAgo, isToday, isYesterday, timezone helpers
  • date_format.dartformat(pattern:), formatTime()
List / Map / Set / Iterableextensions/list/, map/, set/
  • firstOrNull, lastWhereOrNull, separatorEvery, getOrDefault, validate
Numberextensions/number/
  • integer_extension.dart, double_extension.dart, number_extension.dart
  • smart_round_to_string.darttoStringAsSmartRounded()
  • height(), width(), circularBorderRadius spacing helpers
Widget / Contextextensions/widget/, context/
  • paddingAll, withSize, visible, expanded, centered
  • width, height, showSnackBar, theme, platform checks
Other
  • alignment/alignment_extensions.dartisTop, isBottom, isLeft, isRight
  • type_conversion.darttoInt, toDouble, toBool, toStr on Object?
  • bool/bool_extensions.dartvalidate, toggle, toInt
  • duration/duration_extensions.dart.delay
  • function/scope_functions_extension.dartlet, also, run, takeIf
  • random/random_extension.dart — random helpers on math.Random

Widgets reference

UI & feedback
Widget File Description
FlutterToast flutter_toast.dart Toast messages
CustomIndicator custom_indicator.dart Loading overlay
UnFocusable hide_keyboard.dart Dismiss keyboard on outside tap
DoublePressBackWidget double_press_back_widget.dart Press back twice to exit
TapSafeGesture tap_safe_gesture.dart Debounced async tap
TextShimmer, ProfileShimmer, … simmer.dart Shimmer placeholders
Layout & display
Widget File
Space, SliverSpace space/space.dart, sliver_space.dart
SeparatedColumn separated_column.dart
FlutterListView flutter_list_view.dart
DashDivider dash_divider.dart
DottedBorderWidget dotted_border_widget.dart
GradientText gradient_text.dart
Marquee marquee_widget.dart
TextAvatar, TextIcon text_avatar.dart, text_icon_widget.dart
WidgetHelper widget_helper.dart
Forms & input
Widget File
RoundedCheckBox rounded_checkbox_widget.dart
RatingBarWidget rating_bar_widget.dart
TimerBuilder timer_builder.dart

Typedefs

Callback types in utils/type_def.dart:

FutureVoidCallback, StringCallback, IntArgVoidCallback, DoubleCallback, and more.


Migration from custom_helper

Before After
import '.../custom_helper.dart' import 'package:flutter_helper_kit/flutter_helper_kit.dart'
Get.context in Cupertino dialogs Pass context: parameter
Rx<DateTime> (GetX) RxDateTime / RxnDateTime
Google Maps LatLng in info window MapLatLng + MapInfoWindowAdapter

Screenshots

Flutter Toast

Flutter Toast

Tap Safe Gesture

Tap Safe Gesture

Avatar Glow

Avatar Glow

Outline Avatar Glow

Outline Avatar Glow

Avatar Glow MultiColor

Avatar Glow MultiColor

Outline Avatar Glow MultiColor

Outline Avatar Glow MultiColor

App Button

App Button

Marquee

Marquee

RatingBar

RatingBar

Read More Text

Read More Text

Rounded Check Box

Rounded Check Box

Text Icon

Text Icon

showDialogWithCloseIcon

showDialogWithCloseIcon

Sharp Borders

Sharp Borders

Flutter Tag

Flutter Tag

Contributing

  • Issues & features: GitHub Issues
  • New widget/API: add under lib/, export in flutter_helper_kit.dart, register demo in example/lib/catalog/example_catalog.dart
  • Contact: sachin4kmt@gmail.com

If this package helps your project, consider giving it a star on GitHub.

Libraries

animation/animation
app_responsive/app_responsive
app_responsive/core/responsive_scope
app_responsive/core/scale_calculator
constants/constants
core/flutter_animate/flutter_animate
core/flutter_animate/src/adapters/adapter
core/flutter_animate/src/adapters/adapters
core/flutter_animate/src/adapters/change_notifier_adapter
core/flutter_animate/src/adapters/scroll_adapter
core/flutter_animate/src/adapters/value_adapter
core/flutter_animate/src/adapters/value_notifier_adapter
core/flutter_animate/src/animate
core/flutter_animate/src/animate_list
core/flutter_animate/src/effect_list
core/flutter_animate/src/effects/align_effect
core/flutter_animate/src/effects/blur_effect
core/flutter_animate/src/effects/box_shadow_effect
core/flutter_animate/src/effects/callback_effect
core/flutter_animate/src/effects/color_effect
core/flutter_animate/src/effects/crossfade_effect
core/flutter_animate/src/effects/custom_effect
core/flutter_animate/src/effects/effect
core/flutter_animate/src/effects/effects
core/flutter_animate/src/effects/elevation_effect
core/flutter_animate/src/effects/fade_effect
core/flutter_animate/src/effects/flip_effect
core/flutter_animate/src/effects/follow_path_effect
core/flutter_animate/src/effects/listen_effect
core/flutter_animate/src/effects/move_effect
core/flutter_animate/src/effects/rotate_effect
core/flutter_animate/src/effects/saturate_effect
core/flutter_animate/src/effects/scale_effect
core/flutter_animate/src/effects/shader_effect
core/flutter_animate/src/effects/shake_effect
core/flutter_animate/src/effects/shimmer_effect
core/flutter_animate/src/effects/slide_effect
core/flutter_animate/src/effects/swap_effect
core/flutter_animate/src/effects/then_effect
core/flutter_animate/src/effects/tint_effect
core/flutter_animate/src/effects/toggle_effect
core/flutter_animate/src/effects/visibility_effect
core/flutter_animate/src/extensions/animation_controller_loop_extensions
core/flutter_animate/src/extensions/extensions
core/flutter_animate/src/extensions/num_duration_extensions
core/flutter_animate/src/extensions/offset_copy_with_extensions
core/flutter_animate/src/flutter_animate
core/flutter_animate/src/warn
core/flutter_shaders/flutter_shaders
core/flutter_shaders/src/animated_sampler
core/shimmer_widget
custom_painter/google_logo_painter
extensions/alignment/alignment
Alignment extensions — axis checks, transforms, and directional helpers.
extensions/alignment/alignment_directional_extensions
extensions/alignment/alignment_extensions
extensions/alignment/alignment_geometry_extensions
extensions/alignment/core/alignment_axis
extensions/bool/bool_extensions
Utility extensions for working with nullable and non-nullable boolean values.
extensions/color/color_extension
extensions/context/build_context_extension
extensions/date/date_extension
extensions/date/date_format
extensions/duration/duration_extensions
extensions/function/listenable_extension
extensions/function/scope_functions_extension
extensions/list/iterable_extension
extensions/list/list_extension
extensions/list/list_null_extension
extensions/list/list_num
extensions/map/map
Map extensions — nullable helpers, key transforms, and typed getters.
extensions/map/map_extension
extensions/number/double_extension
extensions/number/integer_extension
extensions/number/number_extension
extensions/number/smart_round_to_string
extensions/random/random_extension
extensions/set/set_extension
extensions/string/string_case
extensions/string/string_extension
extensions/string/string_mask
extensions/string/validation
extensions/type_conversion
extensions/widget/border
extensions/widget/column_extension
extensions/widget/padding
extensions/widget/row_extension
extensions/widget/widget_extension
extensions/widget/widget_list_extension
flutter_helper_kit
A comprehensive utility kit containing high-performance extensions, production-ready pagination widgets, geometric squircle paths, and advanced formatters.
flutter_helper_kit_animation
Animation-only entry point for flutter_helper_kit.
flutter_helper_kit_extensions
Extensions-only entry point for flutter_helper_kit.
flutter_helper_kit_responsive
Responsive layout entry point for flutter_helper_kit.
flutter_helper_kit_utils
Utils, formatters, reactive helpers, and typedefs for flutter_helper_kit.
flutter_helper_kit_widgets
Widgets-only entry point for flutter_helper_kit.
reactive/rx_datetime
text_field/no_leading_space_formatter
text_field/no_space_formatter
utils/ago_time
utils/close_icon_show_dialog
utils/common_functions
utils/console/printf_console
Advanced debug console helpers with ANSI styling, log levels, and HTTP logs.
utils/decorations
utils/flutter_helper_utils
utils/map_custom_info_window
utils/map_info_window_callback_adapter
utils/numberal_utils
utils/password_validator
utils/pattern
utils/random_image
utils/random_picsum_image
utils/system_chrome_utils
utils/system_ui_utils
utils/type_def
widgets/app_button
widgets/app_cupertino_action_sheet/app_cupertino_action_sheet
widgets/app_cupertino_action_sheet/app_cupertino_dialog
widgets/avatar_glow/avatar_glow
widgets/avatar_glow/avatar_glow_multi_color
widgets/avatar_glow/outline_glow
widgets/avatar_glow/outline_glow_multi_color
widgets/center_text_divider
widgets/custom_banner
widgets/custom_indicator
widgets/dash_divider
widgets/dotted_border_widget
widgets/double_press_back_widget
widgets/dropdown_sheet/generic_dropdown_sheet
widgets/flutter_list_view
widgets/flutter_tag/flutter_tag
widgets/flutter_tag/src/animation/flip_transition
widgets/flutter_tag/src/flutter_tag_animation
widgets/flutter_tag/src/flutter_tag_animation_type
widgets/flutter_tag/src/flutter_tag_border_gradient
widgets/flutter_tag/src/flutter_tag_gradient
widgets/flutter_tag/src/flutter_tag_gradient_type
widgets/flutter_tag/src/flutter_tag_position
widgets/flutter_tag/src/flutter_tag_positioned
widgets/flutter_tag/src/flutter_tag_shape
widgets/flutter_tag/src/flutter_tag_style
widgets/flutter_tag/src/flutter_tag_widget
widgets/flutter_tag/src/painters/flutter_cloud_tag_shape_painter
widgets/flutter_tag/src/painters/flutter_diamond_tag_shape_painter
widgets/flutter_tag/src/painters/flutter_hexagon_tag_shape_painter
widgets/flutter_tag/src/painters/flutter_pentagon_tag_shape_painter
widgets/flutter_tag/src/painters/flutter_star_tag_shape_painter
widgets/flutter_tag/src/utils/flutter_calculation_utils
widgets/flutter_tag/src/utils/flutter_drawing_utils
widgets/flutter_tag/src/utils/flutter_gradient_utils
widgets/flutter_toast
widgets/gradient_text
widgets/hide_keyboard
widgets/list_view_pagination
widgets/marquee_widget
widgets/password_strength_indicator/password_rules_enum
widgets/password_strength_indicator/password_strength_enum
widgets/password_strength_indicator/password_strength_indicator
widgets/rating_bar_widget
widgets/read_more_enhanced
widgets/read_more_text
widgets/rolling_digit/digit_count_animation
widgets/rolling_digit/rolling_digit
widgets/rounded_checkbox_widget
widgets/separated_column
widgets/sharp_corners/path_sharp_corners
widgets/sharp_corners/sharp
widgets/sharp_corners/sharp_border_radius
widgets/sharp_corners/sharp_circle_border
widgets/sharp_corners/sharp_clip_circle
widgets/sharp_corners/sharp_clip_rect
widgets/sharp_corners/sharp_processed_radius
widgets/sharp_corners/sharp_radius
widgets/sharp_corners/sharp_rectangle_border
widgets/simmer
widgets/slider_button
widgets/space/sliver_space
widgets/space/space
widgets/tap_safe_gesture
widgets/text_avatar
widgets/text_icon_widget
widgets/ticket_clippers/edge_enum
widgets/ticket_clippers/pointed_edge
widgets/ticket_clippers/rounded_edge
widgets/ticket_clippers/shadow_radius
widgets/ticket_clippers/ticket_clipper
widgets/ticket_clippers/ticket_clippers
widgets/ticket_clippers/ticket_edge
widgets/ticket_clippers/ticket_painter
widgets/timer_builder
widgets/widget_helper