material library

Material Design integration for the Composable Architecture.

Exports everything from the base library plus ComposableMaterialApp, MaterialAppState, MaterialAppAction, and WidgetBindingReducer.

import 'package:composable_architecture_widgets/material.dart';

Classes

CancelEffect<Value>
An effect that cancels a previously registered in-flight effect by ID. See Effect.cancel.
CancellableEffect<Value>
An effect that associates the wrapped effect with an EffectID for cancellation management. See Effect.cancellable.
ComposableMaterialApp<AppState, AppAction>
A MaterialApp.router wrapper that integrates with a Store.
ConcatenatedEffect<Value>
An effect that runs multiple effects sequentially. See Effect.concatenate.
CurrentValueSubject<T>
An Observable that holds a current value and notifies listeners when the value changes.
DelayEffect<Value, Time, Interval>
An effect that delays execution by an interval before running the wrapped effect. See Effect.delay.
Dependency
An InheritedWidget that provides a DependencyProvider to the widget tree.
DependencyProvider<AppState, AppAction, AppEnvironment>
A type-based service locator for dependency injection.
Effect<Value>
Describes a unit of work that can emit values, be cancelled, or compose with other units to form more elaborate workflows.
FireAndForgetEffect<Value>
An effect that runs the wrapped effect but suppresses all emissions. See Effect.fireAndForget.
FlatMappedEffect<Value, PrevValue>
An effect that flat-maps emitted values into new effects. See Effect.flatMap.
ForEachStore<ID, GlobalState, GlobalAction, ItemState, ItemAction>
A widget that renders each element of a collection with its own scoped Store.
FutureEffect<Value>
An effect that wraps an asynchronous computation. See Effect.task.
IfLetStore<S, A>
A widget that conditionally renders content based on nullable state.
IsEqualUtils
Utility functions for comparing state values to determine whether a widget rebuild is necessary.
IterableBuilder
Factory functions that create layout widgets for ForEachStore.
Listener<T>
Internal listener entry pairing a callback with a subscription ID.
MappedEffect<Value, PrevValue>
An effect that transforms emitted values through a mapping function. See Effect.map.
MaterialAppAction
Actions for updating MaterialAppState.
MaterialAppActionSetBrightness
Sets the brightness. See MaterialAppAction.setBrightness.
MaterialAppActionSetLocale
Sets the locale. See MaterialAppAction.setLocale.
MaterialAppState
State for ComposableMaterialApp, tracking locale and brightness.
MergedEffect<Value>
An effect that runs multiple effects concurrently. See Effect.merge.
NoneEffect<Value>
An effect that performs no work. See Effect.none.
Observable<T>
A lightweight reactive primitive for observing value changes.
Reducer<State, Action, Environment>
A pure function that processes an action against the current state and returns the new state along with any Effects to execute.
RunEffect<Value>
An effect that runs a synchronous computation and emits the result. See Effect.run.
Store<S, A>
The runtime that holds application state, processes actions through a Reducer, and executes Effects.
StreamEffect<Value>
An effect that bridges a Dart Stream into the effect system. See Effect.stream.
SubjectOptions
Configuration options for creating a CurrentValueSubject.
SwitchStore<S, A>
A widget that renders different content based on the runtime type of the store's state.
TCAAction
TCARoute
TCAState
TestStore<State, Action, Environment>
A testing wrapper around Store that records all dispatched actions and state changes for easy assertions.
TextEditingAction
Actions emitted by a TextEditingControllerBuilder in response to text input events.
TextEditingActionEdit
Text content changed. See TextEditingAction.edit.
TextEditingActionOnFocusChange
Focus changed. See TextEditingAction.onFocusChange.
TextEditingActionOnKeyEvent
Key event occurred. See TextEditingAction.onKeyEvent.
TextEditingControllerBuilder<S, A>
A stateful widget that manages a TextEditingController and FocusNode with two-way binding to a Store.
ValueEffect<Value>
An effect that synchronously emits a single value. See Effect.value.
WithStore<S, A>
The primary widget for connecting a Store to the Flutter widget tree.

Enums

ThrottleDirection
Controls whether Effect.throttle emits on the leading or trailing edge of the throttle interval.

Mixins

WidgetBindingReducer<Action>
A mixin that maps platform WidgetsBindingObserver events to store actions.

Extensions

ForEachIterableReducer on Reducer<State, Action, Environment>
Extension providing forEach variants for applying a reducer to each element in a collection.

Constants

tcaAction → const TCAAction
tcaRoute → const TCARoute
tcaState → const TCAState

Functions

deletedIds<ID, E>(Iterable<E> previous, Iterable<E> current, ID toID(int index, E element)) Iterable<ID>
Returns the IDs present in previous but not in current.
fromSubscription(StreamSubscription<void> subscription, {bool? cancelOnError}) → CancelableOperation<void>

Typedefs

ActionLens<GlobalAction, LocalAction> = ({GlobalAction Function(LocalAction localAction) embed, LocalAction? Function(GlobalAction action) extract})
A bidirectional accessor for filtering and embedding a LocalAction within a GlobalAction.
DisposeCallback = void Function({EffectID? id, bool shouldCancel})
Callback invoked to dispose of or cancel a registered effect.
EffectHandler<Value> = ({DisposeCallback dispose, EmitCallback<Value> emit, GuardCallback guard, RegisterCallback register})
The handler record provided to Effect.run that connects the effect to the store's action dispatch, cancellation, and lifecycle systems.
EffectID = String
Unique string identifier for cancellable effects.
EmitCallback<Value> = void Function(Value value)
Callback invoked to emit a value from an effect back to the store.
EmptyEnvironment = void
Type alias for reducers that do not require an environment.
GuardCallback = bool Function({EffectID? id})
Callback that checks whether an effect should still emit.
Lens<GlobalState, LocalState> = ({LocalState Function(GlobalState state) get, GlobalState Function(GlobalState state, LocalState localState) set})
A bidirectional accessor for reading and writing a LocalState within a GlobalState.
OnChangeCallback<T> = void Function(T value)
Callback invoked when an Observable emits a new value.
Prism<GlobalAction, LocalAction, ID> = ({GlobalAction Function(ID id, LocalAction localAction) embed, (ID, LocalAction)? Function(GlobalAction action) extract})
A keyed variant of ActionLens for routing actions to elements in a collection by ID.
RegisterCallback = void Function(CancelableOperation cancellable, {bool cancelInFlight, EffectID? id})
Callback invoked to register a CancelableOperation with the store's effect lifecycle manager.
RouteLens<GlobalState, RouteState, LocalState> = ({LocalState Function(GlobalState global, RouteState route) get, (GlobalState, RouteState) Function(GlobalState global, RouteState route, LocalState local) set})
A lens that operates on state composed from both a GlobalState and a RouteState.
TextEditingControllerWithStoreBuilder<S, A> = Widget Function(S state, void send(A action), BuildContext context, TextEditingController controller, FocusNode focusNode)
Builder function for WithStore.textEditingController variants.