flutter_ui_bloc library

Classes

Bloc<Event, State>
Takes a Stream of Events as input and transforms them into a Stream of States as output.
BlocBase<State>
An interface for the core functionality implemented by both Bloc and Cubit.
BlocBuilder<B extends StateStreamable<S>, S>
BlocBuilder handles building a widget in response to new states. BlocBuilder is analogous to StreamBuilder but has simplified API to reduce the amount of boilerplate code needed as well as bloc-specific performance improvements. Please refer to BlocListener if you want to "do" anything in response to state changes such as navigation, showing a dialog, etc...
BlocBuilderBase<B extends StateStreamable<S>, S>
Base class for widgets that build themselves based on interaction with a specified bloc.
BlocConsumer<B extends StateStreamable<S>, S>
BlocConsumer exposes a builder and listener in order react to new states. BlocConsumer is analogous to a nested BlocListener and BlocBuilder but reduces the amount of boilerplate needed. BlocConsumer should only be used when it is necessary to both rebuild UI and execute other reactions to state changes in the bloc.
BlocEventSink<Event extends Object?>
An ErrorSink that supports adding events.
BlocListener<B extends StateStreamable<S>, S>
Takes a BlocWidgetListener and an optional bloc and invokes the listener in response to state changes in the bloc. It should be used for functionality that needs to occur only in response to a state change such as navigation, showing a SnackBar, showing a Dialog, etc... The listener is guaranteed to only be called once for each state change unlike the builder in BlocBuilder.
BlocListenerBase<B extends StateStreamable<S>, S>
Base class for widgets that listen to state changes in a specified bloc.
BlocObserver
An interface for observing the behavior of Bloc instances.
BlocOverrides
This class facilitates overriding BlocObserver and EventTransformer. It should be extended by another class in client code with overrides that construct a custom implementation. The implementation in this class defaults to the base blocObserver and eventTransformer implementation. For example:
BlocProvider<T extends StateStreamableSource<Object?>>
Takes a Create function that is responsible for creating the Bloc or Cubit and a child which will have access to the instance via BlocProvider.of(context). It is used as a dependency injection (DI) widget so that a single instance of a Bloc or Cubit can be provided to multiple widgets within a subtree.
BlocSelector<B extends StateStreamable<S>, S, T>
BlocSelector is analogous to BlocBuilder but allows developers to filter updates by selecting a new value based on the bloc state. Unnecessary builds are prevented if the selected value does not change.
BooleanFieldBloc<ExtraData>
A FieldBloc used for bool type.
BooleanFieldBlocState<ExtraData>
CanShowFieldBlocBuilder
Change<State>
A Change represents the change from one State to another. A Change consists of the currentState and nextState.
CheckboxFieldBlocBuilder
A material design checkbox.
CheckboxFieldTheme
The theme of CheckboxFieldBlocBuilder and CheckboxGroupFieldBlocBuilder
CheckboxGroupFieldBlocBuilder<Value>
A material design checkboxes.
ChipFieldItem
ChoiceChipFieldBlocBuilder<T>
FilterChip
ChoiceChipFieldTheme
The theme of ChoiceChipFieldBlocBuilder
CircularCheckbox
CircularCheckboxFieldBlocBuilder
ClearSuffixButton
ClearSuffixButtonTheme
The theme of ClearSuffixButton
Closable
An object that must be closed when no longer in use.
CrossFileTestOverrides
Overrides some functions of CrossFile for testing purposes
Cubit<State>
A Cubit is similar to Bloc but has no notion of events and relies on methods to emit new states.
DateFormat
DateFormat is for formatting and parsing dates in a locale-sensitive manner.
DateTimeFieldBlocBuilder
DateTimeFieldTheme
The theme of DateTimeFieldBlocBuilder
DateTimeValidation
DateTimeValidationError
A material design dropdown.
The theme of DropdownFieldBlocBuilder
DurationFieldBlocBuilder
DurationPickerRequest
EditableText
A basic text input field.
Emittable<State extends Object?>
An object that can emit new states.
Emitter<State>
An Emitter is a class which is capable of emitting new states.
EqualityValidation<T extends Object>
It allows you to compare two values
EqualityValidationError<T extends Object>
ErrorSink
A generic destination for errors.
FieldBlocBuilder
FieldBlocState<Value, Suggestion, ExtraData>
FieldBlocValidators
FieldBlocValidatorsErrors
FieldItem
Class that defines the properties of an item contained in a field
FileFieldBlocBuilderTheme
FileValidation
It allows you to validate a file by checking its extension
FileValidationError
FilterChipFieldBlocBuilder<T>
FilterChip
FilterChipFieldTheme
The theme of FilterChipFieldBlocBuilder
FlexGroupStyle
Flex
FormBloc<SuccessResponse, FailureResponse>
The base class for all FormBlocs.
FormBlocDeleteFailed<SuccessResponse, FailureResponse>
It is the state when the form are deleting and fail. The previous state must be FormBlocDeleting.
FormBlocDeleteSuccessful<SuccessResponse, FailureResponse>
It is the state when the form is deleted successfully. The previous state must be FormBlocDeleting.
FormBlocDeleting<SuccessResponse, FailureResponse>
It is the state when FormBloc.delete is called.
FormBlocFailure<SuccessResponse, FailureResponse>
It is the state when the form are submitting and fail. The previous state must be FormBlocSubmitting.
FormBlocListener<FormBloc extends FormBloc<SuccessResponse, ErrorResponse>, SuccessResponse, ErrorResponse>
BlocListener that reacts to the state changes of the FormBloc.
FormBlocLoaded<SuccessResponse, FailureResponse>
It is the state when you can submit the FormBloc.
FormBlocLoadFailed<SuccessResponse, FailureResponse>
It is the state when you failed to pre/fill the fieldBlocs. The previous state must be FormBlocLoading.
FormBlocLoading<SuccessResponse, FailureResponse>
It is the state when you need to pre/fill the fieldBlocs usually with asynchronous data. The previous state must be FormBlocLoading.
FormBlocObserver
FormBlocObserver hide events and transitionsof any FieldBloc or FormBloc from the child.
FormBlocState<SuccessResponse, FailureResponse>
The base class for all Form Bloc States:
FormBlocStep
A material step used in Stepper. The step can have a title and subtitle, an icon within its circle, some content and a state that governs its styling.
FormBlocSubmissionCancelled<SuccessResponse, FailureResponse>
It is the state that you must yield last in the method FormBloc.onCancelingSubmission. The previous state must be FormBlocSubmitting.
FormBlocSubmissionFailed<SuccessResponse, FailureResponse>
It is the state when the FormBlocState._isValidByStep is false and FormBloc.submit is called.
FormBlocSubmitting<SuccessResponse, FailureResponse>
It is the state when the FormBloc is submitting. It is called automatically when FormBloc.submit is called successfully, and usually is used to update the submission progress.
FormBlocSuccess<SuccessResponse, FailureResponse>
It is the state when the form is submitted successfully. The previous state must be FormBlocSubmitting.
FormBlocUpdatingFields<SuccessResponse, FailureResponse>
It is the state when the form is updating the fields.
FormTheme
FormThemeProvider
GridGroupStyle
GridView
GroupFieldBloc<T extends FieldBloc<FieldBlocStateBase>, ExtraData>
GroupFieldBlocState<T extends FieldBloc<FieldBlocStateBase>, ExtraData>
GroupStyle
Base class for the style of GroupView
GroupView
You can build the layout of your items (group) based on the style you want to apply.
InputFieldBloc<Value, ExtraData>
A FieldBloc used for any type, for example DateTime or File.
InputFieldBlocState<Value, ExtraData>
InputFileFieldBlocBuilder
InvalidValidationError
ListFieldBloc<T extends FieldBloc<FieldBlocStateBase>, ExtraData>
ListFieldBlocState<T extends FieldBloc<FieldBlocStateBase>, ExtraData>
ListGroupStyle
ListView
MultiBlocListener
Merges multiple BlocListener widgets into one widget tree.
MultiBlocProvider
Merges multiple BlocProvider widgets into one widget tree.
MultiFieldBloc<ExtraData, TState extends MultiFieldBlocState<ExtraData>>
MultiFieldBlocState<ExtraData>
MultiRepositoryProvider
Merges multiple RepositoryProvider widgets into one widget tree.
MultiSelectFieldBloc<Value, ExtraData>
A FieldBloc used to select multiple items from multiple items.
MultiSelectFieldBlocState<Value, ExtraData>
NumberValidation<T extends Comparable<Object>>
It allows you to validate a field of type Comparable but you can usually use it to validate fields of type:
NumberValidationError<T extends Comparable<Object>>
ObscureSuffixButton
ObscureSuffixButtonTheme
The theme of ObscureSuffixButton
OptionsValidation<T>
It allows you to validate a list of options by checking the minimum length and if any particular options have been selected
OptionsValidationError
RadioButtonGroupFieldBlocBuilder<Value>
A material design radio buttons.
RadioFieldTheme
Theme of RadioButtonGroupFieldBlocBuilder
RepositoryProvider<T>
Takes a Create function that is responsible for creating the repository and a child which will have access to the repository via RepositoryProvider.of(context). It is used as a dependency injection (DI) widget so that a single instance of a repository can be provided to multiple widgets within a subtree.
RequiredValidation<T>
It allows you to convert a field from null to non-null
RequiredValidationError
ScrollableFieldBlocTarget
Mark the widget as a possible scroll target
ScrollableFieldBlocTargetState
ScrollableFormBlocManager
Allows you to make the first wrong child visible
SelectFieldBloc<Value, ExtraData>
A FieldBloc used to select one item from multiple items.
SelectFieldBlocState<Value, ExtraData>
SimpleFieldBlocBuilder
Use these widgets:
SimpleMaterialStateProperty<T>
SingleFieldBloc<Value, Suggestion, State extends FieldBlocState<Value, Suggestion, ExtraData>, ExtraData>
The base class with the common behavior of all single field blocs:
SliderFieldBlocBuilder
Slider
SliderFieldTheme
StateStreamable<State>
A Streamable that provides synchronous access to the current state.
StateStreamableSource<State>
A StateStreamable that must be closed when no longer in use.
StepperFormBlocBuilder<T extends FormBloc>
Streamable<State extends Object?>
An object that provides access to a stream of states over time.
Style
SubmitButtonFormBlocBuilder<TFormBloc extends FormBloc<TSuccess, TFailure>, TSuccess, TFailure>
SubmitFloatingButtonFormBlocBuilder<TFormBloc extends FormBloc<TSuccess, TFailure>, TSuccess, TFailure>
SubmitIconButtonFormBlocBuilder<TFormBloc extends FormBloc<TSuccess, TFailure>, TSuccess, TFailure>
SuggestionsBoxDecoration
Supply an instance of this class to the TypeAhead.suggestionsBoxDecoration property to configure the suggestions box decoration
SwitchFieldBlocBuilder
A material design switch
SwitchFieldTheme
Theme of SwitchFieldBlocBuilder
TabBarControllerFieldBlocProvider
DefaultTabController
TabBarFieldBlocBuilder<TValue>
TabBar
TabBarViewFieldBlocBuilder<TValue>
TabBarView
TableGroupStyle
Similar to Table without borders or GridView without scroll
TextFieldBloc<ExtraData>
A FieldBloc used for String type, but generally it is also used to obtain int and double values ​​of texts thanks to the methods valueToInt and valueToDouble.
TextFieldBlocBuilder
A material design text field that can show suggestions.
TextFieldBlocState<ExtraData>
TextFieldTheme
TextInputType
The type of information for which to optimize the text input control.
TextValidation
It allows to validate a text field such as the length or if it is match with a regexp
TextValidationError
TimeFieldBlocBuilder
Transition<Event, State>
A Transition is the change from one state to another. Consists of the currentState, an event, and the nextState.
UploadFileFieldBlocBuilder
UploadFileFieldBlocBuilderState
Validation<T>
ValidationDelegate<T>
ValidationError
ValidationLocalizations
ValidationParser<I, O>
It allows you to convert a field from an x type to a y type.
ValidationStatus
WrapChipFieldTheme
The theme of ChoiceChipFieldBlocBuilder and FilterChipFieldBlocBuilder for the chip wrap
WrapGroupStyle
Wrap
XFile
A CrossFile is a cross-platform, simplified File abstraction.

Enums

FieldBlocBuilderControlAffinity
SuffixButton
TextCapitalization
Configures how the platform keyboard will select an uppercase or lowercase keyboard.
TextInputAction
An action the user has requested the text input control to perform.

Mixins

FieldBloc<State extends FieldBlocStateBase>
The common interface of all field blocs:
FieldBlocStateBase
The common state interface of all field blocs

Extensions

ReadContext on BuildContext
Exposes the read method.
SelectContext on BuildContext
Adds a select method on BuildContext.
WatchContext on BuildContext
Exposes the watch method.

Typedefs

AsyncValidator<Value> = Future<Object?> Function(Value value)
Signature for the AsyncValidator function which takes value and should returns a Object error, and if doesn't have error should return null.
BlocBuilderCondition<S> = bool Function(S previous, S current)
Signature for the buildWhen function which takes the previous state and the current state and is responsible for returning a bool which determines whether to rebuild BlocBuilder with the current state.
BlocListenerCondition<S> = bool Function(S previous, S current)
Signature for the listenWhen function which takes the previous state and the current state and is responsible for returning a bool which determines whether or not to call BlocWidgetListener of BlocListener with the current state.
BlocNullWidgetBuilder<S> = Widget? Function(BuildContext context, S state)
BlocWidgetBuilder<S> = Widget Function(BuildContext context, S state)
Signature for the builder function which takes the BuildContext and state and is responsible for returning a widget which is to be rendered. This is analogous to the builder function in StreamBuilder.
BlocWidgetListener<S> = void Function(BuildContext context, S state)
Signature for the listener function which takes the BuildContext along with the state and is responsible for executing in response to state changes.
BlocWidgetSelector<S, T> = T Function(S state)
Signature for the selector function which is responsible for returning a selected value, T, based on state.
ChipFieldItemBuilder<T> = ChipFieldItem Function(BuildContext context, T value)
DefaultFieldBlocErrorBuilder = String? Function(BuildContext context, Object error, FieldBloc<FieldBlocStateBase> fieldBloc)
EventHandler<Event, State> = FutureOr<void> Function(Event event, Emitter<State> emit)
An event handler is responsible for reacting to an incoming Event and can emit zero or more states via the Emitter.
EventMapper<Event> = Stream<Event> Function(Event event)
Signature for a function which converts an incoming event into an outbound stream of events. Used when defining custom EventTransformers.
EventTransformer<Event> = Stream<Event> Function(Stream<Event> events, EventMapper<Event> mapper)
Used to change how events are processed. By default events are processed concurrently.
FieldBlocErrorBuilder = String? Function(BuildContext context, Object error)
This function take the context and the FieldBlocState.error and must return a String error to display in the widget when has an error or null if you don't want to display the error. By default is FieldBlocBuilder.defaultErrorBuilder.
FieldBlocRule<TValue, TSuggestions, TExtraData> = SingleFieldBloc<TValue, TSuggestions, FieldBlocState<TValue, TSuggestions, TExtraData>, TExtraData>
FieldItemBuilder<T> = FieldItem Function(BuildContext context, T value)
This function takes the context and the value and must return a FieldItem that represent that value.
FormBlocBuilder<TBloc extends FormBloc<TSuccess, TFailure>, TSuccess, TFailure> = BlocBuilder<TBloc, FormBlocState<TSuccess, TFailure>>
FormBlocListenerCallback<FormBlocState extends FormBlocState<SuccessResponse, ErrorResponse>, SuccessResponse, ErrorResponse> = void Function(BuildContext context, FormBlocState state)
ListFieldBlocBuilder<TFieldBloc extends FieldBloc<FieldBlocStateBase>, ExtraData> = BlocBuilder<ListFieldBloc<TFieldBloc, ExtraData>, ListFieldBlocState<TFieldBloc, ExtraData>>
SelectFieldBlocBuilder<TValue, TExtraData> = BlocBuilder<SelectFieldBloc<TValue, TExtraData>, SelectFieldBlocState<TValue, TExtraData>>
SelectFieldBlocListener<TValue, TExtraData> = BlocListener<SelectFieldBloc<TValue, TExtraData>, SelectFieldBlocState<TValue, TExtraData>>
Suggestions<Value> = Future<List<Value>> Function(String pattern)
Signature for the Suggestions function which takes pattern and should returns a Future with a List<Value>.
Validator<Value> = Object? Function(Value value)
Signature for the Validator function which takes value and should returns a Object error, and if doesn't have error should return null.
WillSubmitCallback = Future<bool> Function()

Exceptions / Errors

ProviderNotFoundException
The error that will be thrown if Provider.of fails to find a Provider as an ancestor of the BuildContext used.