risto_widgets library

Classes

BubbleBottomNavBar
BubbleGroup
BubbleNavItem
===========================================================================
CircularPercentIndicator
CustomActionButton
A highly customizable, unified button widget that leverages RistoDecorator to provide perfectly consistent backgrounds, gradients, borders, and shadows.
CustomBottomNavBar
CustomIconText
A widget that displays an icon alongside text in a horizontal row.
DoubleListTileButtons
A widget that displays two buttons side by side.
ExpandableAccordionGroup
A wrapper that manages multiple ExpandableListTileButtons, ensuring that only one tile can be expanded at any given time.
ExpandableAnimatedCard
ExpandableAnimatedCardController
Optional controller for programmatic opening/closing.
ExpandableController
Controls the state (expanded or collapsed) of one or more Expandable. The controller should be provided to Expandable via ExpandableNotifier.
ExpandableListTileButton
A versatile, animated, expandable list tile button.
IconListTileButton
A convenience widget that combines an icon with a ListTileButton. Supports a disabled state, shadow color, gradient backgrounds, and multiple sizing constraints.
IncrementDecrementWidget
A widget that provides increment and decrement functionality with customizable buttons and display. It allows users to increase or decrease a numerical value within optional bounds, making it suitable for quantity selectors in shopping carts, forms, and other interactive UI components.
InfiniteSnapList<T>
A smart wrapper that attaches an InfiniteSnapListBloc to a SnapList to provide seamless, bidirectional infinite scrolling.
InfiniteSnapListBloc<T>
BLoC that manages bidirectional infinite scrolling with a selection event, leveraging snap behavior to load new items only when the first or last position is reached, keeping track of the selected item. Requires an initValue to pre-select the starting element (initial offset).
InfiniteSnapListEvent
Base event for InfiniteSnapList
InfiniteSnapListState<T>
Base class for the state emitted by the BLoC
InteractiveMap<T>
A highly customizable, generic map widget built on top of flutter_map.
InteractiveMapController<T>
ISLErrorState<T>
Error state
ISLInitialState<T>
Initial state before loading data
ISLLoadingState<T>
Loading state
ISLNoMoreItemsState<T>
State indicating there are no more items to load
ISLoadedState<T>
State with loaded data (items updated)
ISLState<T>
Internal state of the list (items + selectedItem)
LinearPercentIndicator
ListTileButton
A customizable, tappable list tile styled as a rounded card.
Loader
A versatile loading indicator with factory constructors for different styles.
LoadingPanel
A highly customizable Loading Overlay that can be used globally (via static methods) or locally (by wrapping a specific widget).
MapClusteringConfig
Configuration for map clustering.
MapControlConfig
Configuration for map control buttons.
MapInteractionConfig<T>
Configuration for map interactivity.
MapThemeConfig
Configuration for the map's visual theme and tile provider.
MapUserLocationConfig
Configuration for tracking and displaying the user's live location.
OpenCustomDialog
A class responsible for displaying a customized modal dialog that acts as a container for a notice card or custom content.
OpenCustomSheet
A class responsible for displaying customized modal bottom popup.
PaddedChildrenList
A customizable list with padded children, providing default or custom padding.
PaddingWrapper
A customizable wrapper that applies padding to its child widget.
RemainsRoundedBorder
RistoDecorator
A universal decorator widget that applies standard Risto styling (backgrounds, gradients, borders, soft shadows) to any child widget.
RistoNoticeCard
A standardized, highly customizable card used to display semantic notices.
RistoShimmer
A unified widget that applies a smooth shimmering gradient effect. It acts as a wrapper for custom children, or can generate pre-built skeleton shapes (blocks, circles, text lines) via its static methods.
RistoStatusSwitcher
A widget that seamlessly animates between loading, error, empty, and content states.
RistoTextField
A standardized text input field matching the Risto design language.
RistoToast
Centralized toast/overlay notifier (never uses SnackBar). Works anywhere (pages, dialogs, popup) because it uses Overlay.
RoundedContainer
A container with rounded corners, optional border, and elevation with custom shadow color. Supports both solid background colors and gradient backgrounds.
SectionSwitcher
A composite widget that combines a SegmentedControl with an AnimatedSwitcher.
SectionSwitcherController
A controller for a SectionSwitcher widget.
SegmentedControl
A highly customizable animated segmented control widget.
SegmentedControlStyle
Defines the visual configuration for a SegmentedControl widget.
SelectItemEvent<T>
Selects the snapped item
SinglePressButton
A smart wrapper around CustomActionButton that automatically handles asynchronous operations, preventing double-taps and displaying a loading state.
SnapList<T>
A highly customizable, finite snap-scrolling list.
SnapListController<T>
Controller for programmatic selection, jump, and scroll control.
SnapListDotIndicator
A gracefully animated, interactive dot indicator designed for the SnapList footer.
SnapScrollPhysics
Custom physics to force the ListView to snap perfectly to individual items, with clamped velocity to prevent excessive scrolling on strong swipes.

Enums

ButtonType
Types of buttons available in CustomActionButton.
CardType
HeaderMode
LoadingDirection
RistoLoaderStyle
The visual style of the loading indicator within the overlay.
RistoNoticeKind
Semantic variations for the RistoNoticeCard.
RistoUiState
Semantic UI states for the Status Switcher.
SinglePressButtonType
SnapBehavior
Defines how the list behaves when the user swipes.
ToastKind
Semantic toast types.

Typedefs

InfiniteSnapListController<T> = SnapListController<T>
A callback function for a navigation item action. Return true to proceed with page navigation, false or null to prevent it.
RistoFooterBuilder = Widget Function(BuildContext context, Color accentColor)
Builder for the footer area of the card, passing down the semantic accent color.
ValueUpdate = dynamic Function(int updateValue)
A type definition for a callback function that updates the quantity value.