loading_icon_button library

Loading buttons for Flutter, plus a family of animated "thinking orb" indicators for AI and agent interfaces.

The package ships four button families:

  • LoadingButton — a single widget with a built-in idle/loading/success/ error state machine, drivable by hand or through a LoadingButtonController.
  • XxxAutoLoadingButton (ElevatedAutoLoadingButton and friends) — thin wrappers over the Material buttons that enter the loading state for as long as an async callback runs.
  • XxxLoadingButton (ElevatedLoadingButton and friends) — the same widgets with the loading state driven by a plain isLoading flag.
  • ArgonButton and ArgonTimerButton — a button that collapses into its loader, and a countdown variant.

Any of them can show a ThinkingOrb instead of a spinner via LoadingIndicator.orb.

Classes

ArgonButton
Argon Button
ArgonTimerButton
AutoLoadingButtonState<T extends StatefulWidget>
ElevatedAutoLoadingButtonFilledAutoLoadingButton&Stateparent class
ElevatedAutoLoadingButton
ElevatedButton with automatic loading state management implementation
ElevatedLoadingButton
ElevatedButton with loading state representation implementation
FilledAutoLoadingButton
FilledButton with automatic loading state management implementation
FilledLoadingButton
FilledButton with loading state representation implementation
IconAutoLoadingButton
IconButton with automatic loading state management implementation
IconButtonLoading
A text-and-icon pair for buildChildWithIcon.
LoadingButton
A button that runs an async callback and shows its progress.
LoadingButtonBuilder
Fluent builder for LoadingButton.
LoadingButtonColors
The per-state colours a LoadingButton paints.
LoadingButtonConfig
Global configuration for LoadingButton.
LoadingButtonController
Drives a LoadingButton from outside the widget tree.
LoadingButtonSizing
How a LoadingButton decides its own width and height.
LoadingButtonState
The State for a LoadingButton.
LoadingButtonStyle
Style configuration for LoadingButton
LoadingButtonTheme
Applies LoadingButtonThemeData to a subtree.
LoadingButtonThemeData
Defaults for every loading button beneath it.
LoadingButtonValue
The complete observable state of a loading button: one value, one notification.
LoadingIndicator
What to show while a button is busy.
OutlinedAutoLoadingButton
OutlinedButton with automatic loading state management implementation
OutlinedLoadingButton
OutlinedButton with loading state representation implementation
TextAutoLoadingButton
TextButton with automatic loading state management implementation
TextLoadingButton
TextButton with loading state representation implementation
ThinkingOrb
An animated dotted orb for AI and agent interfaces.

Enums

ActionState
Enum representing the different states of a loading button
ArgonButtonState
Argon Button State Enum
ButtonType
Enum representing different types of buttons
LoadingButtonColorStrategy
How a LoadingButton derives its colours.
LoadingProgressStyle
How determinate progress is shown on a LoadingButton.
OrbState
The nine shipped thinking-orb animations.
OrbTheme
How a ThinkingOrb picks its ink.

Extensions

ActionStateExtension on ActionState
Convenience predicates on ActionState.

Constants

kOrbSemanticLabels → const Map<OrbState, String>
Default screen-reader descriptions, one per state.
kOrbTierBreakpoint → const double
The threshold at which OrbSizeTier.avatar tunings take over.

Functions

buildChildWithIC(String? text, Icon? icon, double gap, TextStyle textStyle) Widget
Lays out icon and text in a row separated by gap.
buildChildWithIcon(IconButtonLoading iconButtonLoading, double iconPadding, TextStyle textStyle) Widget
Lays out IconButtonLoading.icon and IconButtonLoading.text in a row.
buildText(String text, TextStyle style) Widget
Wraps text in a Text with style.