empathetech_flutter_ui library

Classes

CreoleCupertinoLocalizations
CreoleMaterialLocalizations
CreoleWidgetsLocalizations
CreoleWidgetsLocalizationsDelegate
EFUILang
Callers can lookup localized strings with an instance of EFUILang returned by EFUILang.of(context).
EzAdaptiveParent
EzAdaptiveWidget
EzAlertDialog
EzAppCache
EzBackAction
Mimics the AppBar.leading back button But can also be used in AppBar.actions for left handed layouts
EzBackFAB
EzBigButtonsConfig
EzBodyStyleProvider
EzBoldSetting
EzBox
EzChalkboardConfig
EzCheckbox
EzCheckboxPair
EzCLI
EzColorSetting
EzColorSettings
EzConfig
EzConfigFAB
EzConfigProvider
EzConfigRandomizer
EzConfigurableApp
EzCountdownTimer
EzDesignCache
EzDesignSettings
EzDisplayStyleProvider
EzDivider
EzDominantHandSwitch
EzDropdownMenu<T>
EzElevatedButton
EzElevatedIconButton
EzFontDoubleBatchSetting
EzFontDoubleSetting
EzFontFamilyBatchSetting
EzFontSetting
EzHeader
EzHeadlineStyleProvider
EzHighVisibilityConfig
EzIcon
EzIconButton
EzIconSizeSetting
EzImage
EzImageSetting
EzInsets
EzItalicSetting
EzLabelStyleProvider
EzLayoutCache
EzLayoutSettings
EzLinkWidget
EzLocaleSetting
EzMargin
EzMarginSetting
EzMaterialAction
EzMenuButton
EzMonoChromeColorsSetting
EzNebulaConfig
EzNewLine
EzNoTransitions
EzPaddingSetting
EzPlainText
EzQuickConfig
EzRadio<T>
EzRebuildFAB
EzResetButton
EzRichText
EzRow
EzRowCol
EzScreen
EzScreenSize
EzScrollView
EzSeparator
EzSettingsDupeFAB
EzSettingsHome
EzSpacer
EzSpacingSetting
EzSwapMargin
EzSwapSeparator
EzSwapSpacer
EzSwapWidget
EzSwitchPair
EzText
EzTextBackground
EzTextButton
EzTextCache
EzTextIconButton
EzTextSettings
EzTextStyleProvider
EzThemeModeSwitch
EzTitleStyleProvider
EzToolTipper
EzTransitions
Disables transitions when kIsWeb Source => https://medium.com/flutter/improving-perceived-performance-with-image-placeholders-precaching-and-disabled-navigation-6b3601087a2b
EzTranslationsPendingNotice
EzTutorial
EzUnderlineSetting
EzUpdaterFAB
EzVideoPlayer
EzWarning
TryTip

Enums

EzButtonVis
EzCSType
Color setting types quick || advanced
EzPageTransition
EzTextSettingType
Enumerator for selecting which TextStyle is being updated
EzTSType
Text setting types quick || advanced
RBType
ScreenSize
small: 700.0 medium: 1000.0 large: 1300.0

Constants

advancedColorsKey → const String
For segmented button; 'advancedColors'
advancedTextKey → const String
alexBrush → const String
alexBrush
allColorKeys → const Map<String, Type>
advancedColorsKey, darkColorKeys, && lightColorKeys
allDesignKeys → const Map<String, Type>
darkDesignKeys, && lightDesignKeys
allEZConfigKeys → const Map<String, Type>
allGlobalKeys, allTextKeys, allLayoutKeys, allColorKeys, allImageKeys
allGlobalKeys → const Map<String, Type>
isLeftyKey, isDarkThemeKey, appLocaleKey
allLayoutKeys → const Map<String, Type>
dark, light X margin, padding, spacing, hideScroll
allTextKeys → const Map<String, Type>
light, dark X [display, headline, title, body, label X FontFamily, FontSize, FontWeight, FontStyle, LetterSpacing, WordSpacing, FontHeight, FontDecoration && backgroundOpacity, iconSize] ...&& the selector
americanEnglish → const Locale
en_US
appLocaleKey → const String
arabic → const Locale
ar
atkinsonHyperlegible → const String
atkinsonHyperlegible
baseEmpathConfig → const Map<String, Object>
Empathetech EzConfig defaults For open source consumers: this is Empathetech LLC's config You have permission to modify this code You do not have permission to use this config in your app
blackHex → const int
boxFitSuffix → const String
Fit
chalkboardGreen → const Color
0xFF264941
chinese → const Locale
zh
creole → const Locale
ht
csError → const String
csErrorContainer → const String
csInversePrimary → const String
csInverseSurface → const String
csOnError → const String
csOnErrorContainer → const String
csOnInverseSurface → const String
csOnPrimary → const String
csOnPrimaryContainer → const String
csOnPrimaryFixed → const String
csOnPrimaryFixedVariant → const String
csOnSecondary → const String
csOnSecondaryContainer → const String
csOnSecondaryFixed → const String
csOnSecondaryFixedVariant → const String
csOnSurface → const String
csOnSurfaceVariant → const String
csOnTertiary → const String
csOnTertiaryContainer → const String
csOnTertiaryFixed → const String
csOnTertiaryFixedVariant → const String
csOutline → const String
csOutlineVariant → const String
csPrimary → const String
csPrimaryContainer → const String
csPrimaryFixed → const String
csPrimaryFixedDim → const String
csScrim → const String
csSecondary → const String
csSecondaryContainer → const String
csSecondaryFixed → const String
csSecondaryFixedDim → const String
csShadow → const String
csSurface → const String
csSurfaceBright → const String
csSurfaceContainer → const String
csSurfaceContainerHigh → const String
csSurfaceContainerHighest → const String
csSurfaceContainerLow → const String
csSurfaceContainerLowest → const String
csSurfaceDim → const String
csSurfaceTint → const String
csTertiary → const String
csTertiaryContainer → const String
csTertiaryFixed → const String
csTertiaryFixedDim → const String
darkAnimationDurationKey → const String
darkBackgroundImageKey → const String
darkBodyBoldedKey → const String
darkBodyFontFamilyKey → const String
darkBodyFontHeightKey → const String
darkBodyFontSizeKey → const String
darkBodyItalicizedKey → const String
darkBodyLetterSpacingKey → const String
darkBodyUnderlinedKey → const String
darkBodyWordSpacingKey → const String
darkButtonOpacityKey → const String
darkButtonOutlineOpacityKey → const String
darkColorKeys → const Map<String, Type>
darkColorOrder, darkColorSchemeImageKey, && userDarkColorsKey
darkColorOrder → const List<String>
Ordered List for populating color setting screen(s)
darkColorSchemeImageKey → const String
darkDesignKeys → const Map<String, Type>
Animation, background, && button opacity keys
darkDisplayBoldedKey → const String
darkDisplayFontFamilyKey → const String
darkDisplayFontHeightKey → const String
darkDisplayFontSizeKey → const String
darkDisplayItalicizedKey → const String
darkDisplayLetterSpacingKey → const String
darkDisplayUnderlinedKey → const String
darkDisplayWordSpacingKey → const String
darkErrorContainerKey → const String
darkErrorKey → const String
darkHeadlineBoldedKey → const String
darkHeadlineFontFamilyKey → const String
darkHeadlineFontHeightKey → const String
darkHeadlineFontSizeKey → const String
darkHeadlineItalicizedKey → const String
darkHeadlineLetterSpacingKey → const String
darkHeadlineUnderlinedKey → const String
darkHeadlineWordSpacingKey → const String
darkHideScrollKey → const String
darkIconSizeKey → const String
darkInversePrimaryKey → const String
darkInverseSurfaceKey → const String
darkLabelBoldedKey → const String
darkLabelFontFamilyKey → const String
darkLabelFontHeightKey → const String
darkLabelFontSizeKey → const String
darkLabelItalicizedKey → const String
darkLabelLetterSpacingKey → const String
darkLabelUnderlinedKey → const String
darkLabelWordSpacingKey → const String
darkLayoutKeys → const Map<String, Type>
margin, padding, spacing, hideScroll
darkMarginKey → const String
darkOnErrorContainerKey → const String
darkOnErrorKey → const String
darkOnInverseSurfaceKey → const String
darkOnPrimaryContainerKey → const String
darkOnPrimaryFixedKey → const String
darkOnPrimaryFixedVariantKey → const String
darkOnPrimaryKey → const String
darkOnSecondaryContainerKey → const String
darkOnSecondaryFixedKey → const String
darkOnSecondaryFixedVariantKey → const String
darkOnSecondaryKey → const String
darkOnSurfaceKey → const String
darkOnSurfaceVariantKey → const String
darkOnTertiaryContainerKey → const String
darkOnTertiaryFixedKey → const String
darkOnTertiaryFixedVariantKey → const String
darkOnTertiaryKey → const String
darkOutline → const Color
0x8AFFFFFF == white w/ double defaultButtonOutlineOpacity
darkOutlineHex → const int
0x8AFFFFFF == white w/ double defaultButtonOutlineOpacity
darkOutlineKey → const String
darkOutlineVariant → const Color
0x45FFFFFF == white w/ defaultButtonOutlineOpacity
darkOutlineVariantHex → const int
0x45FFFFFF == white w/ defaultButtonOutlineOpacity
darkOutlineVariantKey → const String
darkPaddingKey → const String
darkPrimaryContainerKey → const String
darkPrimaryFixedDimKey → const String
darkPrimaryFixedKey → const String
darkPrimaryKey → const String
darkScrimKey → const String
darkSecondaryContainerKey → const String
darkSecondaryFixedDimKey → const String
darkSecondaryFixedKey → const String
darkSecondaryKey → const String
darkShadowKey → const String
darkSpacingKey → const String
darkSurface → const Color
0xFF222222 == 34 of each
darkSurfaceBrightKey → const String
darkSurfaceContainer → const Color
0xFF111111 == 17 of each
darkSurfaceContainerHex → const int
0xFF111111 == 17 of each
darkSurfaceContainerHighestKey → const String
darkSurfaceContainerHighKey → const String
darkSurfaceContainerKey → const String
darkSurfaceContainerLowestKey → const String
darkSurfaceContainerLowKey → const String
darkSurfaceDim → const Color
0xFF191919 == 25 of each
darkSurfaceDimHex → const int
0xFF191919 == 25 of each
darkSurfaceDimKey → const String
darkSurfaceHex → const int
0xFF222222 == 34 of each
darkSurfaceKey → const String
darkSurfaceTintKey → const String
darkTertiaryContainerKey → const String
darkTertiaryFixedDimKey → const String
darkTertiaryFixedKey → const String
darkTertiaryKey → const String
darkTextBackgroundOpacityKey → const String
darkTextKeys → const Map<String, Type>
display, headline, title, body, label X FontFamily, FontSize, FontWeight, FontStyle, LetterSpacing, WordSpacing, FontHeight, FontDecoration && backgroundOpacity, iconSize
darkTitleBoldedKey → const String
darkTitleFontFamilyKey → const String
darkTitleFontHeightKey → const String
darkTitleFontSizeKey → const String
darkTitleItalicizedKey → const String
darkTitleLetterSpacingKey → const String
darkTitleUnderlinedKey → const String
darkTitleWordSpacingKey → const String
darkTransitionFadeKey → const String
darkTransitionTypeKey → const String
defaultAnimationDuration → const int
500
defaultBodySize → const double
16.0
defaultButtonOutlineOpacity → const double
0x45 / 255
defaultDesktopPadding → const double
17.5
defaultDesktopSpacing → const double
25.0
defaultDisplaySize → const double
42.0
defaultFontHeight → const double
1.5
defaultHeadlineSize → const double
32.0
defaultIconSize → const double
20.0
defaultLabelSize → const double
14.0
defaultLetterSpacing → const double
0.25
defaultMargin → const double
10.0
defaultMobilePadding → const double
17.5
defaultMobileSpacing → const double
25.0
defaultTextOpacity → const double
0.0
defaultTitleSize → const double
22.0
defaultWordSpacing → const double
1.0
efuiAssetCredits → const Map<String, String>
nebulaPath
efuiAssetPaths → const Set<String>
nebulaPath
efuiImageLookup → const Map<String, AssetImage>
nebulaPath
egyptianArabic → const Locale
ar_EG
empathDesktopConfig → const Map<String, Object>
baseEmpathConfig with a more open layout and visible scrolls -- ATTENTION -- For open source consumers: this is Empathetech LLC's config You do NOT have permission to use this config in your production app
empathEucalyptus → const Color
0xFF20DAA5 Open source consumers: DO NOT USE
empathEucalyptusDim → const Color
0x4520DAA5 Open source consumers: DO NOT USE
empathEucalyptusDimHex → const int
0x4520DAA5 Open source consumers: DO NOT USE
empathEucalyptusHex → const int
0xFF20DAA5 Open source consumers: DO NOT USE
empathMobileConfig → const Map<String, Object>
baseEmpathConfig with a more compact layout and hidden scrolls -- ATTENTION -- For open source consumers: this is Empathetech LLC's config You do NOT have permission to use this config in your production app
empathPurple → const Color
0xFFA520DA Open source consumers: DO NOT USE
empathPurpleDim → const Color
0x45A520DA Open source consumers: DO NOT USE
empathPurpleDimHex → const int
0x45A520DA Open source consumers: DO NOT USE
empathPurpleHex → const int
0xFFA520DA Open source consumers: DO NOT USE
empathSand → const Color
0xFFDAA520 Open source consumers: DO NOT USE
empathSandDim → const Color
0x45DAA520 Open source consumers: DO NOT USE
empathSandDimHex → const int
0x45DAA520 Open source consumers: DO NOT USE
empathSandHex → const int
0xFFDAA520 Open source consumers: DO NOT USE
english → const Locale
en
ezHighContrastDark → const ColorScheme
Custom ColorScheme.highContrastDark
ezHighContrastLight → const ColorScheme
Custom ColorScheme.highContrastLight
ezPillEdge → const BorderRadius
BorderRadius.all(Radius.circular => ezPillRadius)
ezPillRadius → const double
64.0
ezRoundEdge → const BorderRadius
BorderRadius.all(Radius.circular => ezRoundRadius)
ezRoundRadius → const double
4.0
ezTextFieldRadius → const BorderRadius
BorderRadius.only(top left && top right: Radius.circular => ezRoundRadius)
filipino → const Locale
fil
fingerPaint → const String
fingerPaint
focusOpacity → const double
Opacity for highlight effects; on hover, on focus, etc Doubles as opacity minimum for crucial elements Some things are too important to be broken by user settings 0.12
fontSizeDefaults → const Map<String, double>
42.0, 32.0, 22.0, 16.0, 14.0
fontSizeMaxes → const Map<String, double>
84.0, 64.0, 42.0, 32.0, 28.0
fontSizeMins → const Map<String, double>
21.0, 16.0, 11.0, 8.0, 7.0
french → const Locale
fr
homePath → const String
/
iconDelta → const double
2.0
isDarkThemeKey → const String
isLeftyKey → const String
lexend → const String
lexend
lightAnimationDurationKey → const String
lightBackgroundImageKey → const String
lightBodyBoldedKey → const String
lightBodyFontFamilyKey → const String
lightBodyFontHeightKey → const String
lightBodyFontSizeKey → const String
lightBodyItalicizedKey → const String
lightBodyLetterSpacingKey → const String
lightBodyUnderlinedKey → const String
lightBodyWordSpacingKey → const String
lightButtonOpacityKey → const String
lightButtonOutlineOpacityKey → const String
lightColorKeys → const Map<String, Type>
lightColorOrder, lightColorSchemeImageKey, && userLightColorsKey
lightColorOrder → const List<String>
Ordered List for populating color setting screen(s)
lightColorSchemeImageKey → const String
lightDesignKeys → const Map<String, Type>
Animation, background, && button opacity keys
lightDisplayBoldedKey → const String
lightDisplayFontFamilyKey → const String
lightDisplayFontHeightKey → const String
lightDisplayFontSizeKey → const String
lightDisplayItalicizedKey → const String
lightDisplayLetterSpacingKey → const String
lightDisplayUnderlinedKey → const String
lightDisplayWordSpacingKey → const String
lightErrorContainerKey → const String
lightErrorKey → const String
lightHeadlineBoldedKey → const String
lightHeadlineFontFamilyKey → const String
lightHeadlineFontHeightKey → const String
lightHeadlineFontSizeKey → const String
lightHeadlineItalicizedKey → const String
lightHeadlineLetterSpacingKey → const String
lightHeadlineUnderlinedKey → const String
lightHeadlineWordSpacingKey → const String
lightHideScrollKey → const String
lightIconSizeKey → const String
lightInversePrimaryKey → const String
lightInverseSurfaceKey → const String
lightLabelBoldedKey → const String
lightLabelFontFamilyKey → const String
lightLabelFontHeightKey → const String
lightLabelFontSizeKey → const String
lightLabelItalicizedKey → const String
lightLabelLetterSpacingKey → const String
lightLabelUnderlinedKey → const String
lightLabelWordSpacingKey → const String
lightLayoutKeys → const Map<String, Type>
margin, padding, spacing, hideScroll
lightMarginKey → const String
lightOnErrorContainerKey → const String
lightOnErrorKey → const String
lightOnInverseSurfaceKey → const String
lightOnPrimaryContainerKey → const String
lightOnPrimaryFixedKey → const String
lightOnPrimaryFixedVariantKey → const String
lightOnPrimaryKey → const String
lightOnSecondaryContainerKey → const String
lightOnSecondaryFixedKey → const String
lightOnSecondaryFixedVariantKey → const String
lightOnSecondaryKey → const String
lightOnSurfaceKey → const String
lightOnSurfaceVariantKey → const String
lightOnTertiaryContainerKey → const String
lightOnTertiaryFixedKey → const String
lightOnTertiaryFixedVariantKey → const String
lightOnTertiaryKey → const String
lightOutline → const Color
0x8A000000 == black w/ double defaultButtonOutlineOpacity
lightOutlineHex → const int
0x8A000000 == black w/ double defaultButtonOutlineOpacity
lightOutlineKey → const String
lightOutlineVariant → const Color
0x45000000 == black w/ defaultButtonOutlineOpacity
lightOutlineVariantHex → const int
0x45000000 == black w/ defaultButtonOutlineOpacity
lightOutlineVariantKey → const String
lightPaddingKey → const String
lightPrimaryContainerKey → const String
lightPrimaryFixedDimKey → const String
lightPrimaryFixedKey → const String
lightPrimaryKey → const String
lightScrimKey → const String
lightSecondaryContainerKey → const String
lightSecondaryFixedDimKey → const String
lightSecondaryFixedKey → const String
lightSecondaryKey → const String
lightShadowKey → const String
lightSpacingKey → const String
lightSurface → const Color
0xFFFFFFFF == white
lightSurfaceBrightKey → const String
lightSurfaceContainer → const Color
0xFFF0F0F0 == -15 of each
lightSurfaceContainerHex → const int
0xFFF0F0F0 == -15 of each
lightSurfaceContainerHighestKey → const String
lightSurfaceContainerHighKey → const String
lightSurfaceContainerKey → const String
lightSurfaceContainerLowestKey → const String
lightSurfaceContainerLowKey → const String
lightSurfaceDim → const Color
0xFFF8F8F8 == -7 of each
lightSurfaceDimHex → const int
0xFFF8F8F8 == -7 of each
lightSurfaceDimKey → const String
lightSurfaceHex → const int
0xFFFFFFFF == white
lightSurfaceKey → const String
lightSurfaceTintKey → const String
lightTertiaryContainerKey → const String
lightTertiaryFixedDimKey → const String
lightTertiaryFixedKey → const String
lightTertiaryKey → const String
lightTextBackgroundOpacityKey → const String
lightTextKeys → const Map<String, Type>
display, headline, title, body, label X FontFamily, FontSize, FontWeight, FontStyle, LetterSpacing, WordSpacing, FontHeight, FontDecoration && backgroundOpacity, iconSize
lightTitleBoldedKey → const String
lightTitleFontFamilyKey → const String
lightTitleFontHeightKey → const String
lightTitleFontSizeKey → const String
lightTitleItalicizedKey → const String
lightTitleLetterSpacingKey → const String
lightTitleUnderlinedKey → const String
lightTitleWordSpacingKey → const String
lightTransitionFadeKey → const String
lightTransitionTypeKey → const String
maxAnimationDuration → const int
1000
maxBody → const double
32.0
maxDisplay → const double
84.0
maxFontHeight → const double
2.0
maxHeadline → const double
64.0
maxIconSize → const double
48.0
maxLabel → const double
28.0
maxLetterSpacing → const double
2.0
maxMargin → const double
20.0
maxOpacity → const double
1.0
maxPadding → const double
40.0
maxSpacing → const double
50.0
maxTitle → const double
42.0
maxWordSpacing → const double
3.0
minAnimationDuration → const int
0
minBody → const double
8.0
minDisplay → const double
21.0
minFontHeight → const double
1.0
minHeadline → const double
16.0
minIconSize → const double
16.0
minLabel → const double
7.0
minLetterSpacing → const double
0.0
minMargin → const double
5.0
minOpacity → const double
0.0
minPadding → const double
10.0
minSpacing → const double
10.0
minTitle → const double
11.0
minWordSpacing → const double
0.0
nebulaAsset → const AssetImage
AssetImage for nebulaPath
nebulaPath → const String
assets/nebula-jeremy-müller.jpg https://www.pexels.com/@jmueller/
noImageValue → const String
Allows for app images whose default is an asset to be "null"
noto → const String
noto
openSans → const String
openSans
pressStart2P → const String
pressStart2P
readexPro → const String
readexPro
rMax → const int
Ein bit und nicht mehr 255
roboto → const String
roboto
rtlLanguageCodes → const Set<String>
Non-conclusive set containing... ar, fa, he, ur
sampleString → const String
Sample string for sizing double input boxes -55.55
selectionOpacity → const double
Opacity for text selection highlighting 0.25
shadowMod → const double
0.333 Shadow opacity should be "faster" than surface 1:1 looks foggy
simplifiedChinese → const Locale
zh_CN
sourceCodePro → const String
sourceCodePro
spanish → const Locale
es
success → const String
SUCCESS
textColorPrefix → const String
On
transparentHex → const int
userDarkColorsKey → const String
userLightColorsKey → const String
webImgHint → const String
example.com/image.jpg
whiteHex → const int

Properties

boxFitLib Map<String?, BoxFit?>
Library for getting a BoxFit from its name '' && null both map to null
final
empathMaxConfig Map<String, Object>
EzConfig set to all recommended max values -- ATTENTION -- Open source do NOT have permission to use this config in production apps Also, this is intended for testing anyway
final
empathMinConfig Map<String, Object>
EzConfig set to all recommended min values -- ATTENTION -- Open source do NOT have permission to use this config in production apps Also, this is intended for testing anyway
final
ezRootNav GlobalKey<NavigatorState>
A required NavigatorState key for your router config UI redraws/rebuilds assume it is present If you're migrating your existing app to EFUI, please find and replace any current navigator state key with this one
final
googleStyles Map<String, TextStyle>
All the GoogleFonts currently supported
final

Functions

archivePath({required String? androidPackage, required String appName}) String
Where to find saved files on the current TargetPlatform
closeKeyboard(BuildContext context) → void
More readable than... FocusScope.of(context).unfocus();
doNothing() → void
Is there a required Function that you wish was optional? Then doNothing!
ez404() String
404 EzConfig.l10n.gError}
ezActionPair({required BuildContext context, String? confirmMsg, required void onConfirm(), bool confirmIsDefault = false, bool confirmIsDestructive = false, String? denyMsg, required void onDeny(), bool denyIsDefault = false, bool denyIsDestructive = false, TextStyle? style}) List<EzMaterialAction>
Pairs with EzAlertDialog
ezAnimDuration({double mod = 1.0}) Duration
Duration with milliseconds set to EzConfig.animDur Provide mod to adjust the duration, relative to the base value
ezBodyStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.bodyLarge w/ values from EzConfig.prefs Provide isDark if you are calling this before EzConfig.initProvider
ezCamelToClass(String name) String
camelCase -> ClassCase
ezCamelToSnake(String name) String
camelCase -> snake_case
ezCamelToTitle(String name) String
camelCase -> Title Case
ezChaCha(WidgetTester tester, Finder finder, {Offset leftOffset = const Offset(-100, 0), Offset rightOffset = const Offset(100, 0)}) Future<void>
For integration testing Take the finder and Slide to the left, then Slide to the right...
ezClassToCamel(String name) String
ClassCase -> camelCase
ezClassToSnake(String name) String
ClassCase -> snake_case
ezClassToTitle(String name) String
ClassCase -> Title Case
ezCloseAll() → void
Close any open modals or dialogs Automatically consumed by EzConfig.redrawUI
ezCmd(String cmd, {required String dir, required void onSuccess(), required void onFailure(String message), void onError(String message)?, bool debug = true, ValueNotifier<String>? readout}) Future<void>
Run a CLI cmd Track the stdout/err with debug and readout
ezColorPicker(BuildContext context, {String? title, required Color startColor, required void onColorChange(Color chosenColor), String? confirmMsg, required void onConfirm(), String? denyMsg, required void onDeny()}) Future
Wraps a ColorPicker in an EzAlertDialog
ezColorScheme(Brightness brightness) ColorScheme
Generate a ColorScheme based on values present in EzConfig.prefs
ezConfigLoader(BuildContext context) Future<void>
ezDefaultBodyStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.bodyLarge w/ values from EzConfig.defaults Provide isDark if you are calling this before EzConfig.initProvider
ezDefaultDisplayStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.displayLarge w/ values from EzConfig Provide isDark if you are calling this before EzConfig.initProvider
ezDefaultHeadlineStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.headlineLarge w/ values from EzConfig.defaults Provide isDark if you are calling this before EzConfig.initProvider
ezDefaultLabelStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.labelLarge w/ values from EzConfig.defaults Provide isDark if you are calling this before EzConfig.initProvider
ezDefaultTitleStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.titleLarge w/ values from EzConfig.defaults Provide isDark if you are calling this before EzConfig.initProvider
ezDismiss(WidgetTester tester, {Offset offset = const Offset(1, 1)}) Future<void>
For integration testing WidgetTester.tapAt the offset to dismiss a dialog/modal/etc
ezDisplayStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.displayLarge w/ values from EzConfig Provide isDark if you are calling this before EzConfig.initProvider
ezDropdownWidth({required BuildContext context, required List<String> entries}) double
Returns an appropriate width for a DropdownMenu
ezFind(WidgetTester tester, Finder finder, {Matcher matcher = findsOneWidget}) Future<void>
For integration testing expect(finder, matcher) and ensure visibility
ezFindText(WidgetTester tester, String text, {bool findRichText = false, bool skipOffstage = false, Matcher matcher = findsOneWidget}) Future<void>
For integration testing Find text and ensure visibility
ezFindWidget(WidgetTester tester, Type widgetType, {Matcher matcher = findsOneWidget, bool skipOffstage = false}) Future<void>
For integration testing Find widget and ensure visibility
ezFirstWord(String text) String
Splits the string on '_' and/or ' ' and returns the first word
ezFitCheck(TextStyle? a, TextStyle? b) bool
Custom '==' for two TextStyles
ezFullscreenToggle(bool isFull) Future<void>
TargetPlatform aware helper that will request/exit a fullscreen window Alias exists for kIsWeb support
ezHeadlineStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.headlineLarge w/ values from EzConfig.prefs Provide isDark if you are calling this before EzConfig.initProvider
ezHold(WidgetTester tester, Finder finder, {bool warnIfMissed = false}) Future<void>
For integration testing Ensure visibility of, long press at, and settle a finder target
ezHoldText(WidgetTester tester, String text, {bool warnIfMissed = false}) Future<void>
For integration testing Ensure visibility of, long press at, and settle a text target
ezIconRatio() double
Scale Widgets based on IconSize For Widgets that don't do it automatically, like Radio and Checkbox
ezImagePicker({required BuildContext context, required ImageSource source, String? prefsPath}) Future<String?>
Wraps an ImagePicker in a try/catch Provide prefsPath to auto save successful results to EzConfig
ezImageProvider(String path) ImageProvider<Object>
Returns and AssetImage, NetworkImage, or FileImage based on the path
ezImageSize(BuildContext context) double
Recommended size for an image Starts with 160.0, chosen by visual inspection Then, applies MediaQuery text scaling and EzConfig icon scaling
ezLabelStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.labelLarge w/ values from EzConfig.prefs Provide isDark if you are calling this before EzConfig.initProvider
ezLog(String message, {String prefix = '', int? wrapWidth, ValueNotifier<String>? buffer}) → void
debugPrint alias; for permanent logging Reserving debugPrint for temporary logging makes them easier to remove when the time comes Optionally provide a prefix to make log filtering easier (include spaces!) Also supports logging to a String 'buffer' (aka ValueNotifier)
ezLogAlert(BuildContext context, {String? title, required String message, List<Widget>? customActions}) Future
ezLog the passed message and display an EzAlertDialog to notify the user
ezModal<T>({required BuildContext context, required WidgetBuilder builder, Color? backgroundColor, String? barrierLabel, double? elevation, ShapeBorder? shape, Clip? clipBehavior, BoxConstraints constraints = const BoxConstraints(minWidth: double.infinity), Color? barrierColor, bool isScrollControlled = true, bool useRootNavigator = false, bool isDismissible = true, bool enableDrag = true, bool? showDragHandle, bool useSafeArea = true, RouteSettings? routeSettings, AnimationController? transitionAnimationController, double animMod = 0.667, Offset? anchorPoint, AnimationStyle? sheetAnimationStyle, bool? requestFocus}) Future<T?>
showModalBottomSheet wrapper with custom defaults and uses EzConfig based animations
ezPageBuilder(BuildContext context, GoRouterState state, Widget child, {Widget transitionsBuilder(BuildContext, Animation<double>, Animation<double>, Widget)?}) Page
A Page animator based on EzConfig
ezPause(int seconds) Future<void>
Wait for a desired number of seconds
ezReadingTime(String passage) Duration
Relaxed reading time for a US tween: 100 words per minute
ezRichUndoWarning(BuildContext context, {bool standalone = true, required String appName, String? androidPackage, Set<String>? skip}) Widget
Remind the user that reset/randomize/etc cannot be undone automatically Includes and EzInlineLink to save current config to JSON
ezSnackBar({Color? backgroundColor, double? elevation, ShapeBorder? shape, SnackBarBehavior? behavior, SnackBarAction? action, double? actionOverflowThreshold, bool? showCloseIcon, Color? closeIconColor, Animation<double>? animation, VoidCallback? onVisible, DismissDirection? dismissDirection, Clip clipBehavior = Clip.hardEdge, required BuildContext context, required String message, Future<void> undo()?, String? undoMessage, double? margin, Duration? duration}) ScaffoldFeatureController<SnackBar, SnackBarClosedReason>
Standardized SnackBar with an EzCountdownTimer Most parameters are available, but SnackBar.padding, SnackBar.width, SnackBar.content, and SnackBar.duration are controlled SnackBar.padding can be influenced by margin, SnackBar.padding is always EdgeInsets.all SnackBar.width, SnackBar.content, and SnackBar.duration all respond to message
ezSnakeToCamel(String name) String
snake_case -> camelCase
ezSnakeToClass(String name) String
ezSnakeToTitle(String name) String
snake_case -> Title Case
ezStoredL10n() Future<(Locale, EFUILang)>
Returns the app's current Locale and it's corresponding EFUILang
ezSubHeadingStyle() TextStyle?
TextTheme.headlineLarge w/ the TextStyle.fontSize of TextTheme.titleLarge
ezSubTitleStyle() TextStyle?
TextTheme.bodyLarge w/ the TextStyle.fontSize of TextTheme.titleLarge
ezTapBack(WidgetTester tester, String back, {bool warnIfMissed = false}) Future<void>
For integration testing Find and touch the button whose Tooltip is back
ezTextFieldConstraints(BuildContext context) BoxConstraints
threeQs = widthOf context * 0.75 min: threeQs, max: min(threeQs, ScreenSize.small)
ezTextRebuildCheck(BuildContext context) bool
Only call in EzTextSettings context Or another context where the EzTextStyleProviders are in present
ezTextSize(String text, {required BuildContext context, required TextStyle? style}) Size
Returns the soon-to-be rendered Size of text via a TextPainter
ezTextTheme(Color? color, {bool? isDark}) TextTheme
Creates a TextTheme with sizes inspired by... https://m3.material.io/styles/typography/type-scale-tokens Each variant triplet (large, medium, small) are identical 15 different options would be overload for users... 5 makes much more sense
ezThemeData(Brightness brightness, bool ltr) ThemeData
Creates a ThemeData from EzConfig values
ezTitleStyle(Color? color, {bool? isDark}) TextStyle
Builds TextTheme.titleLarge w/ values from EzConfig.prefs Provide isDark if you are calling this before EzConfig.initProvider
ezTitleToCamel(String name) String
Title Case -> camelCase
ezTitleToClass(String name) String
Title Case -> ClassCase
ezTitleToSnake(String name) String
Title Case -> snake_case
ezToolbarHeight({required BuildContext context, required String title, bool includeIconButton = true, TextStyle? style}) double
Calculate a recommended AppBar.toolbarHeight max(ezTextSize + 2 * EzConfig.getmarginKey, kMinInteractiveDimension)
ezTouch(WidgetTester tester, Finder finder, {bool warnIfMissed = false}) Future<void>
For integration testing Ensure visibility of, tap at, and settle a finder target
ezTouchText(WidgetTester tester, String text, {bool findRichText = false, bool skipOffstage = false, bool warnIfMissed = false}) Future<void>
For integration testing Ensure visibility of, tap at, and settle a text target
ezTouchWidget(WidgetTester tester, Type widgetType, {bool skipOffstage = false, bool warnIfMissed = false}) Future<void>
For integration testing Ensure visibility of, tap at, and settle a widgetType target
ezTransitionsBuilder(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) Widget
A Page animator based on EzConfig
ezUrlCheck(String text) bool
Returns whether the passed text follows a URL pattern
ezVideoTime(Duration duration, {bool showMili = false}) String
Format duration into a video time format Defaults to 'mm:ss', and will adapt to 'hh:mm:ss' if necessary Optionally showMili
ezWindowNamer(String title) → void
SystemChrome.setApplicationSwitcherDescription wrapper Sets the title of the tab on web and the title of the window on desktop
fuseWithGFont({required TextStyle starter, required String gFont}) TextStyle
Passes starter to the gFont's textStyle param Returns starter if gFont is not found/supported
getBasePlatform() TargetPlatform
Get the current TargetPlatform; "slow" but reliable Alias exists for kIsWeb support
getColorName(String key) String
Get the human readable name of a keys color
getLiveColor(String key) Color
Get the live ColorScheme value of key
getLongest(List<String> list) String
Returns the longest String in list
getRandomURL(List<String> imageURLs) String
Provide a List of imageURLs and one will be returned at random
getTextColor(Color background) Color
Returns the guesstimated most readable text color (black/white) for background
heightOf(BuildContext context) double
More readable than... MediaQuery.of(context).size.height
isDarkTheme(BuildContext context) bool
Alias for MediaQuery brightness check
isGPlayInstall() Future<bool>
Returns whether an app was installed from the Google Play Store Theoretically works on all platforms, but only relevant for Android
isMobile() bool
Alias exists for kIsWeb support
loadColorScheme(ColorScheme colorScheme, Brightness? brightness) Future<void>
Store the passed ColorScheme in EzConfig When brightness is null, both dark and light color schemes are updated
loadImageColorScheme(String path, Brightness? brightness) Future<String>
Generates a ColorScheme based on the image found at path Then stores the values in EzConfig When brightness is null, both dark and light color schemes are updated
lookupEFUILang(Locale locale) Future<EFUILang>
screenshotHint() String
Button combo for taking a screenshot on the current (desktop) TargetPlatform Defaults to an empty string on mobile (and unknown) platforms
snackWidth({required BuildContext context, required String message, TextStyle? style, double? margin, bool showCloseIcon = true}) double
Calculates ezSnackBar width based on message and context style defaults to SnackBarThemeData.contentTextStyle
testDHSetting(WidgetTester tester) Future<void>
For integration testing Test EzDominantHandSwitch
testImageSetting(WidgetTester tester, {required Finder finder, required String type, required bool updateCS, required List<String> networkImageURLs}) Future<void>
For integration testing Tests EzImageSetting
testLocaleSetting(WidgetTester tester, {required LocaleNames l10nNames}) Future<void>
For integration testing Test EzLocaleSetting
testResetButton(WidgetTester tester, {required RBType type}) Future<void>
For integration testing Tests EzResetButton
testTMSwitch(WidgetTester tester) Future<void>
For integration testing Test EzThemeModeSwitch
widthOf(BuildContext context) double
More readable than... MediaQuery.of(context).size.width