flutter_essentials_plus 1.0.2 copy "flutter_essentials_plus: ^1.0.2" to clipboard
flutter_essentials_plus: ^1.0.2 copied to clipboard

A modern collection of extensions, validators, formatters, and helper utilities that reduce Flutter boilerplate while keeping code clean, readable, and maintainable.

Flutter Essentials (Dev Utils) v1.0.0 #

A modern collection of extensions, validators, formatters, and helper utilities that reduce Flutter boilerplate while keeping code clean, readable, and maintainable.

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  flutter_essentials: ^1.0.0

Quick Start #

import 'package:flutter_essentials_plus/flutter_essentials_plus.dart';

Features #

1. Context Extensions #

Remove repetitive BuildContext code:

context.width
context.height
context.screenSize
context.isDark
context.isLight
context.theme
context.colorScheme
context.textTheme
context.padding
context.viewInsets
context.safeArea
context.orientation
context.devicePixelRatio
context.statusBarHeight
context.navigationBarHeight
context.keyboardHeight

context.hideKeyboard()
context.push(page)
context.replace(page)
context.pop()
context.showSnackBar()
context.showLoader()
context.hideLoader()
context.showBottomSheet()
context.showDialog()

2. String Extensions #

Save time everywhere:

text.capitalize
text.titleCase
text.camelCase
text.snakeCase
text.kebabCase
text.pascalCase
text.constantCase
text.reverse
text.initials

text.removeWhitespace
text.removeEmoji
text.onlyDigits
text.onlyLetters
text.truncate(30)

text.maskEmail()
text.maskPhone()
text.maskCNIC()

text.isEmail
text.isPhone
text.isURL
text.isNumeric
text.isAlphabet
text.isAlphaNumeric
text.isEmoji
text.containsEmoji
text.containsArabic
text.containsUrdu
text.containsHtml

text.extractEmails()
text.extractUrls()
text.extractPhones()
text.extractHashtags()
text.extractMentions()

3. Number Extensions #

1000.format()
500000.formatCompact()
1500000.formatCurrency()
125648.bytesToReadable()

25.percentOf(500)
500.clampValue(0, 1000)

20.isEven
15.isOdd

30.seconds
10.minutes
2.hours
7.days

4. DateTime Extensions #

Among the most-used utilities:

date.timeAgo
date.isToday
date.isYesterday
date.isTomorrow

date.startOfDay
date.endOfDay
date.startOfWeek
date.endOfWeek
date.startOfMonth
date.endOfMonth

date.age
date.daysBetween(other)

date.monthName
date.weekdayName
date.isWeekend
date.isLeapYear

5. Widget Extensions #

Compose widgets with readable chains instead of nesting many wrappers:

Text("Hello")
    .paddingAll(16)
    .center()
    .card()
    .shadow()
    .animateFade()

// Other useful helpers:
widget.visible(bool)
widget.opacity(.5)
widget.rotate()
widget.scale()
widget.blur()
widget.hero()
widget.tooltip()
widget.gesture()
widget.onTap()
widget.expand()
widget.safeArea()
widget.clipRadius()
widget.gradient()
widget.loading()

6. BuildContext Navigation #

context.push(HomePage())
context.pushNamed("/home")
context.replace(HomePage())
context.pop()
context.popUntil("/home")
context.clearStack(HomePage())
context.pushAndRemoveUntil(HomePage())

7. Validators #

Support both global and Pakistan-specific formats:

Validators.email
Validators.password
Validators.url
Validators.phone
Validators.cnic
Validators.iban
Validators.swift
Validators.creditCard
Validators.postalCode
Validators.ntn
Validators.passport
Validators.username

8. Formatting #

Ready-to-use static formatters:

Formatters.currency(150000)
Formatters.phone('923001234567')
Formatters.iban('PK00BANK...')
Formatters.cnic('3520212345678')
Formatters.creditCard('12345678...')
Formatters.date(DateTime.now())
Formatters.time(DateTime.now())
Formatters.duration(Duration(hours: 1))
Formatters.fileSize(1048576)
Formatters.percentage(0.75)
Formatters.ordinal(1)
Formatters.distance(1500)

9. Helper Widgets #

Ready-to-use UI components that solve common problems:

LoadingOverlay(isLoading: true, child: ...)
DebounceButton(onPressed: () {}, child: Text('Submit'))
ExpandableText('Very long text...', maxLines: 2)
PasswordStrength(password: 'MyPass123!')
OtpTimer(seconds: 60, onResend: () {})
NetworkImagePlaceholder('https://url.com')
AvatarGenerator('John Doe')
GradientBorder(...)
ShimmerBox(width: 100, height: 20)
ShimmerEffect(child: ...)
EmptyState(title: 'No Data')
ErrorState(message: 'Failed', onRetry: () {})
RetryButton(onRetry: () {})
CopyText('Text to copy')
AsyncBuilder(...)
ResponsiveBuilder(...)
AnimatedSwitcherX(...)

10. Animations #

Simple extension-based animations keep code concise:

widget.fade()
widget.slide()
widget.zoom()
widget.animatedRotate()
widget.flip()
widget.shake()
widget.animatedScale()
widget.bounce()
widget.elastic()
widget.wiggle()

11. Utilities #

ClipboardHelper.copy('text')
LaunchHelper.url('https://google.com')
DeviceHelper.getDeviceModel()
PlatformHelper.isMobile
PermissionHelper.request(Permission.camera)
InternetHelper.hasConnection()
BatteryHelper.getLevel()
StorageHelper.setString('key', 'value')
Logger.info('Message')
Debouncer().run(() {})
Throttle().run(() {})
Retry.execute(() async {})
UuidGenerator.generate()
RandomGenerator.string(10)

12. Responsive Helpers #

context.isPhone
context.isTablet
context.isDesktop
context.isLandscape
context.isPortrait
context.breakpoint
context.widthPercent(20)
context.heightPercent(50)

13. Color Extensions #

color.lighten()
color.darken()
color.withOpacitySafe(0.5)
ColorExtensions.random()
color.invert()
color.hex
color.gradientTo(other)

14. Iterable & List Extensions #

list.firstOrNull
list.lastOrNull
list.random()
list.shuffleCopy()
list.chunk(5)
list.groupBy((e) => e.id)
list.unique()
list.sorted()
list.insertBetween(element)

15. Map Extensions #

map.getString('key')
map.getInt('age')
map.getDouble('price')
map.getBool('isActive')
map.getList('items')
map.getMap('user')
map.deepCopy()
map.removeNulls()

License #

MIT License

2
likes
160
points
45
downloads

Documentation

API reference

Publisher

verified publisheralwaridev.tech

Weekly Downloads

A modern collection of extensions, validators, formatters, and helper utilities that reduce Flutter boilerplate while keeping code clean, readable, and maintainable.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

battery_plus, connectivity_plus, device_info_plus, flutter, permission_handler, shared_preferences, url_launcher, uuid

More

Packages that depend on flutter_essentials_plus