A carefully curated collection of widget made by and used within Appnormal projects
A set of usefull widgets used in Appnormal projects
Available widgets #
- PrimaryButton: A simple button with a
isLoadingflag to set a platform aware loading indicator
- PlatformButton: A simple platform aware button
- AppbarAction: A simple button for in a AppBar
- RefreshableDataList: List with out of the box pull to refresh & infinite loading. To be used together with
- DialogPresenter: A inherited widget to put in the top of your widget tree to easily handle presenting and queuing platform aware dialogs.
- PinInput: A container for handling pincode inputs with full control over the pin onput design via the builder pattern
- PlatformAlertDialog: Platform aware dialog Widget
- PlatformPullToRefresh: Platform aware p2r for Lists and Grids.
- SearchBar: A simple search bar widget with clear input icon.
- TappableOverlay: A platform aware multipurpose Widget to easily make a widget clickable, pressed color for iOS native look and feel and Inkwell for Android native look and feel.
Available extensions #
- Color.lighten(double fraction): Make a color lighter by the given fraction
- Color.darken(double fraction): Make a color darker by the given fraction
- Iterable.merge(): Merge e.g. a [[""], [""]] to be a ["", ""].
- Iterable.unique(): Purge duplicate entries from a list
- Iterable.separated(Widget widget): Add a given widget in between all the elements in the list (usefull for gaps and dividers)
- String.ucFirst: Make the first item of a String uppercase
- DateTime.format(String pattern): Shortcut to Intl DateFormat
- DateTime.formatIso(): Format a DateTime to the accepted ISO format with tz
- DateTime.formatTz(): Get the timezone offset (e.g. +0200 or -0800)