🌟 universal_flutter_utils

A powerful, all-in-one Flutter utility package to boost productivity, maintain consistency, and speed up your app development.
Includes beautifully crafted widgets, utilities, themes, extensions, API helpers, file pickers, and much more.

✅ Version: 0.0.8


✨ Features at a Glance

✅ Ready-to-use widgets (buttons, loaders, lists, bottom sheets, inputs, etc.)
✅ Advanced UI: multi-select, responsive builder, shimmer, read more text, OTP input
✅ Theme & typography management
✅ File picker & file helper utilities
✅ API & socket config with interceptors and AES encryption
✅ String extensions, text helpers, validators, permissions, shared preferences
✅ Cross-platform: Android, iOS, Web, macOS, Windows, Linux
✅ Example app included!


📦 Installation

Add to your pubspec.yaml:

dependencies:
  universal_flutter_utils: ^0.0.8

Then run:

flutter pub get

⚡ Quick Start

Import the package:

import 'package:universal_flutter_utils/universal_flutter_utils.dart';

Use ready-made widgets:

UFUButton(
  text: "Get Started",
  colorType: UFUButtonColorType.primary,
  textSize: UFUTextSize.heading2,
  fontWeight: UFUFontWeight.medium,
  radius: 12,
  onPressed: () => print("Button Pressed!"),
)

Use utilities:

List<XFile> fileList = await UFUtils.picker.selectImageFromGallery();
List<XFile> fileList = await UFUtils.picker.captureImageFromCamera();
UFUtils.textValidator(textInputController.text.trim(), isRequired: true, minCount: 3);
UFUtils.emailValidator(emailInputController.text.trim(), isRequired: true);
UFUtils.phoneValidator(phoneNoInputController.text.trim(), isRequired: true);

Use theme:

final theme = AppTheme.lightTheme;

🧩 Example Usage

The included example project shows:

  • API calls with interceptors
  • Picking and uploading files
  • Using UFUButton, UFUText, UFUInputBox, etc.
  • Theme setup & responsive builder

Run the example:

cd example
flutter run

🛠 API Docs (High-Level)

Module What it offers
api_config/ AES encryption, request/response interceptors, API base config
common/ Constants, enums (device type, run mode), helpers, services (cookies, firebase)
extensions/ String extensions and method shortcuts
models/ Shared data models
socket_config/ Socket config and logging interceptors
theme/ Themes, theme colors, font weights, sizes, etc.
utils/ File helpers, validators, date/time utils, permissions, shared preferences
widgets/ Buttons, loaders, input boxes, OTP, shimmer, multi-select, list views, etc.

🎨 Widgets Highlights

UFUButton, UFUIconButton, UFUCheckbox
UFUMultiSelect, UFUSingleSelect
UFUReadMoreText, UFUOtpInputBox, UFUInputBox
UFUAvatar, UFUDashedBorder, UFUResponsiveBuilder
UFUNoDataFound, UFUToast, UFUPopUpMenuButton
UFUVideoPlayer, UFUNetworkImage, ShowUFULoader, UFUShimmer
ShowUFUBottomSheets, UFUScaffold, UFUListView, and more!


🧰 Utilities Highlights

✅ AES encryption / decryption
✅ File pickers (image, audio, any file)
✅ Date & time formatting
✅ Validators, text helpers, direction helpers
✅ Shared preferences, cookie service, firebase service
✅ Theme & color management
✅ Social login helper stubs


📷 Assets & Fonts

  • assets/images/default_image.png, alt-image.png
  • assets/folder.svg
  • Fonts: Can be set through UFUtils.fontFamily = "RethinkSans";

📂 Package Structure Overview

lib/
 ├── api_config/         → API helpers & encryption
 ├── common/             → Constants, enums, services
 ├── extensions/         → Dart & String extensions
 ├── models/             → Shared models
 ├── socket_config/      → Socket helpers
 ├── theme/              → Themes, colors, fonts
 ├── utils/              → Helpers (files, permissions, validators)
 ├── widgets/            → Buttons, lists, loaders, inputs, etc.
 └── universal_flutter_utils.dart → Entry point

📜 License

This project is licensed under the MIT License – see the LICENSE file.


💡 Contributing

We welcome issues, feature requests, and pull requests!
Feel free to help us make universal_flutter_utils even better.


🚀 Made with ❤️ to save your time & keep your Flutter code clean.

📦 Need help setting it up, or want detailed docs?
👉 Feel free to open an issue or start a discussion!

Libraries

api_config/api_config
api_config/encryption_util
api_config/interceptors/error_interceptor
api_config/interceptors/request_interceptor
api_config/interceptors/response_interceptor
common/color
common/confirmation_dialog_type
common/constants/file_uploder
common/constants/pagination_constants
common/constants/responsive_design
common/constants/screen
common/constants/widget_keys
common/duration
common/enums/device_type
common/enums/network_multiselect
common/enums/run_mode
common/font_family
common/font_weight
common/index
common/methods/index
common/orientation
common/position
common/services/cookies
common/services/firebase
common/services/index
common/services/notification/service
common/services/run_mode/index
common/services/social_login/index
common/services/social_login/method_channel
common/services/social_login/platform_interface
common/text_helper
common/text_size
extensions/card_number_input_formatter
extensions/index
extensions/input_box_extension
extensions/no_leading_zero
extensions/string_extensions
models/address
models/contact
models/index
models/local_info
models/network_multiselect/network_multiselect_request_params
models/popover_action
socket_config/interceptors/interceptor
socket_config/interceptors/interceptor_manager
socket_config/interceptors/logging_interceptor
socket_config/socket_config
theme/app_theme
theme/form_ui_helper
theme/index
theme/theme_colors
theme/theme_model
universal_flutter_utils
utils/app_config/index
utils/biometric_recognition/index
utils/date_time/index
utils/direction_helper
utils/file_picker/audio_file_handeling/controller
utils/file_picker/audio_file_handeling/index
utils/file_picker/file_helper
utils/file_picker/index
utils/form_validator/index
utils/index
utils/local_information/repo
utils/map_launcher/index
utils/permissions/index
utils/shared_preferences/index
widgets/animated_spin_kit/delay_tween
widgets/animated_spin_kit/fading_circle
widgets/animated_spin_kit/three_bounce
widgets/animations/index
widgets/animations/scale_and_rotate
widgets/animations/scale_in_out
widgets/avatar/index
widgets/avatar/size
widgets/bottom_sheet/controller
widgets/bottom_sheet/custom_list_bottom_sheet/index
widgets/bottom_sheet/index
widgets/button/color_type
widgets/button/index
widgets/button/radius
widgets/button/size
widgets/button/type
widgets/check_box/index
widgets/confirmation_dialog/index
widgets/dashed_border/index
widgets/file_picker/index
widgets/html/index
widgets/icon/index
widgets/icon_button/index
widgets/image_cropper/index
widgets/image_picker/index
widgets/index
widgets/input_box/clear_icon
widgets/input_box/controller
widgets/input_box/debounce
widgets/input_box/index
widgets/input_box/type
widgets/listview/index
widgets/load_more_button/index
widgets/loader/custom_dialog
widgets/loader/index
widgets/maps/auto_complete/controller
widgets/maps/auto_complete/index
widgets/maps/auto_complete/widget/auto_complete
widgets/maps/auto_complete/widget/empty_result
widgets/maps/auto_complete/widget/searched_result
widgets/maps/place_picker/controller
widgets/maps/place_picker/index
widgets/maps/place_picker/widget/custom_place_picker
widgets/multi_select/index
widgets/multi_select/list
widgets/multi_select/multi_list
widgets/multi_select/multi_list_model
widgets/multi_select/sub_header
widgets/multi_select/sub_list
widgets/multi_select/tag_modal
widgets/multi_select/type
widgets/multi_select/view
widgets/network_image/index
widgets/no_data_found/index
widgets/otp_input_box/index
widgets/popup_menu_button/index
widgets/read_more_text/index
widgets/read_more_text/read_more_dialog
widgets/responsive_builder/index
widgets/scaffold/index
widgets/shimmer/index
widgets/single_select/index
widgets/single_select/list
widgets/single_select/model
widgets/single_select/type
widgets/single_select/view
widgets/svg_image/index
widgets/text/index
widgets/text_button/index
widgets/text_span/index
widgets/thumb/folder_thumb
widgets/thumb/icon_thumb
widgets/thumb/icon_type
widgets/thumb/image_thumb
widgets/thumb/index
widgets/thumb/thumb_size
widgets/thumb/type
widgets/toast/index
widgets/video_player/controller
widgets/video_player/index