v_flutter_core library

Classes

AdaptiveWidthWrap
AlwaysScrollbar
AnimatedApplyThemeExtension<T extends MergeableThemeExtension<T>>
AnimatedCollapse
AnimatedCollapseAndOpacity
AnimatedGhost
Essentially an AnimatedOpacity in pair with a IgnorePointer
AnimatedMergeThemeExtension<T extends MergeableThemeExtension<T>>
AnimatedOverrideThemeExtension<T extends MergeableThemeExtension<T>>
ApplyThemeExtension<T extends MergeableThemeExtension<T>>
AutocompleteDecoration<K, T>
ButtonVariant
CancelableDebouncedVoidCallback
CancelableThrottledVoidCallback
CascadingDropdown<K, T>
CascadingDropdownTheme
CompositeGroup<K, T>
CompositeNode<K, T>
CompositeNodeValueAccessor<K, T>
CompositeValue<K, T>
ConfigurableReactiveTextField<T>
ConstraintAdaptiveLayout
The ConstraintAdaptiveLayout displays different widgets depending on the width constraints. It requires specifying a widget aboveZero for the >= 0 width constraint and a map of double->widget for various width breakpoints.
DebugContainer
DecoratedSingleChildScrollView
A scroll view that allows adding start and end decorations, which can be pinned or scroll with the content.
DefaultChipThemeData
DelegatingReactiveTextField<T>
DelegatingScaffold
DelegatingValueAccessor<ModelDataType, ViewDataType>
A generic ControlValueAccessor which receives a delegate for both viewToModel and modelToView to be used. Also, it can receive a parent to fall back to in case some of the delegates are missing. In addition, when fallbackToParentOnNull is true (the default) then the parent is used when the delegate returns null.
DepthCompositeGroup<K, T>
DepthCompositeNode<K, T>
DepthCompositeValue<K, T>
DismissiblePortalTarget
ElevatedVariant
FilledTonalVariant
FilledVariant
GapColumn
GapFlex
GapRow
Ghost
HandshakeCompleter<T>
IgnoreHorizontalPaddingPivot
This widget is aware of its width. In its builder parameter it supplies a ChildWrapper function that can be used as any other widget (like Container(child: ...)). The widgets which are wrapped in this are ignoring the horizontal paddings that the are imposed on them after the pivot.
InheritingScaffold
IterableChange<T>
ListDependency<T>
LiveList<ID, T>
MaterializedIterableChanges<T>
MaybeAlign
MergeableThemeExtension<T extends ThemeExtension<T>>
MergeThemeExtension<T extends MergeableThemeExtension<T>>
NeverScrollbar
OutlinedVariant
OverrideThemeExtension<T extends MergeableThemeExtension<T>>
PortalDialog
ProgressButton
ProgressButtonIndicator
RawAutocompleteDecoration<K, T>
ReactiveTextFieldBehavior
ReactiveTextFieldStyle
ReactiveTextFieldTheme
RoundToNextTimeOfDayFormatter
ScaffoldBehavior
SeamlessCircularProgressIndicator
SearchDecoration<K, T>
SeparatedColumn
SeparatedFlex
SeparatedRow
SizeClassLayout
A widget that adapts its layout based on predefined window size classes. It considers the width of the viewport to determine the window size class. orElse is the default widget to be displayed if no other widget is specified, and when the viewport width is larger than all the defined size class layouts.
SizedBy
SizeOverlay
SizeReporter
SizeThenFadeTransition
Currently only supports forward animation.
StepFocus
This is a workaround widget, because wrapping MenuItemButton in a Focus (to add autfocus: true) results in an unwanted side effect of not having a focus effect at all.
TabVisibilityChangeRecognizer

"This event fires with a visibilityState of hidden when a user navigates to a new page, switches tabs, closes the tab, minimizes or closes the browser, or, on mobile, switches from the browser to a different app."

TargetPlatformWidget
TextVariant
ThemedReactiveTextField<T>
TypedDelegateValidator<T>
TypeScaleText
TypeScaleVariant
UnderlinedDefaultTextStyle
UnderlinedFixingDefaultTextStyle
Uninteractable
UpperCaseText
VStream
Wide

Extensions

AbstractControlX on AbstractControl<T>
AsYouTypeBehaviorX on AsYouTypeBehavior
CascadingDropdownThemeThemeData on ThemeData
CompositeNodeListExtensions on List<V>
CompositeNodeX on CompositeNode<K, T>
CoreAlignmentExtensions on Alignment
CoreAsyncValueExtensions on AsyncValue<T>
CoreBoolExtensions on bool
CoreBuildContextExtensions on BuildContext
CoreFn0Extensions on R Function()?
CoreFn1Extensions on R Function(T1)?
CoreFn2Extensions on R Function(T1, T2)?
CoreFn3Extensions on R Function(T1, T2, T3)?
CoreFn4Extensions on R Function(T1, T2, T3, T4)?
CoreFn5Extensions on R Function(T1, T2, T3, T4, T5)?
CoreGlobalKeyExtensions on GlobalKey<State<StatefulWidget>>
CoreIterableExtensions on Iterable<T>
CoreListExtensions on List<T>
CoreMapExtensions on Map<K, V>
CoreNullableTimeOfDayExtension on TimeOfDay?
CoreNullableTimeOfDayListExtension on Iterable<TimeOfDay?>
CoreRefExtensions on Ref
CoreSizeExtensions on Size
CoreStreamExtensions on Stream<T>
CoreStringExtensions on String
CoreTimeOfDayExtension on TimeOfDay
CoreTimeOfDayListExtension on Iterable<TimeOfDay>
DefaultChipThemeDataExtension on ChipThemeData
DepthCompositeNodeListX on List<DepthCompositeNode<K, T>>
DisposableMapGroupExtensions on DisposableMapGroup<ID, String>
DoubleX on double
FlattenedCompositeNodeX on DepthCompositeNode<K, T>
FormGroupX on FormGroup
HtmlDocumentX on HtmlDocument
MapCompositeGroup on CompositeGroup<K, T>
MapX on Map<K, V>
Material3ButtonStyles on BuildContext
MediaQueryDataX on MediaQueryData
NullableCompositeNodeX on CompositeNode<K, T>?
NullSafeScopingFunctionExtensions on T?
ScopingFunctionExtensions on T
SetX on Set<K>
SizeX on Size
TabVisibilityChangeEventFromString on String
TextEditingControllerX on TextEditingController
ThemeDataExtensions on ThemeData

Functions

convertToMultiOnChanged<T>(void onChanged(T? value)?) → void Function(Set<T> values)?
convertToSingleOnChanged<T>(void onChanged(Set<T> value)?) → void Function(T? values)?
defaultGroupAutocompleteBuilder(DepthCompositeGroup node, bool isHighlighted) Widget
defaultShowErrors(AbstractControl control) bool
defaultStringForOption(Object? it) String
defaultValueAutocompleteBuilder<K, T>({required DepthCompositeValue<K, T> node, required bool isSelected, required bool isHighlighted, required void select(), required String displayStringForOption(T)}) Widget
defaultWidgetForOption(Object? it) Widget
formatTimeOfDay(TimeOfDay timeOfDay) String
isDynamic<T>() bool
isJsonList(dynamic value) bool
isJsonListType<T>() bool
isJsonMap(dynamic value) bool
isJsonMapType<T>() bool
isNullable<T>() bool
isNullableStringType<T>() bool
isString(dynamic value) bool
isStringType<T>() bool
isVoid<T>() bool
maybeCombine(List<TextDecoration?> decorations) TextDecoration?
mergeAppPrivateCommandHandler(void a(String, Map<String, dynamic>)?, void b(String, Map<String, dynamic>)?) → void Function(String, Map<String, dynamic>)?
mergeChildedBuilder(ChildedBuilder? a, ChildedBuilder? b) ChildedBuilder?
mergeHandler(void a(FormControl)?, void b(FormControl)?) → void Function(FormControl)?
mergeTapOutsideHandler(void a(PointerDownEvent)?, void b(PointerDownEvent)?) → void Function(PointerDownEvent)?
noOpOnChange(Size _, Offset __) → void
parseTimeOfDay(String timeOfDayString) TimeOfDay
rebuildWhenTextChanged(TextEditingController? controller) → void
Mark the caller HookWidget as needing a build when the controller's text changes.
requireMergeableTheme<T extends MergeableThemeExtension<T>>({required BuildContext context, required T propTheme}) → T
safeParseTimeOfDay(String timeOfDayString) TimeOfDay?
tryCast<T>(dynamic value, {T? fallback}) → T?
typesEqual<T1, T2>() bool
useAnimatedList({AnimatedRemovedItemBuilder? removedItemBuilder, Duration? removeDuration}) → _AnimatedListHookState
useAsyncEffect(Future<Dispose?> effect(), [List<Object?>? keys, List<Listenable>? listenableKeys]) → void
useAsyncEffectOnce(Future<Dispose?> effect()) → void
useCancelableDebounceCallback({required VoidCallback callback, Duration duration = const Duration(milliseconds: 300), List<Object?> keys = const <Object>[]}) CancelableDebouncedVoidCallback
Returns a CancelableDebouncedVoidCallback which is essentially a debounced VoidCallback with the additional benefit of having a cancel method.
useCancelableThrottleCallback({required VoidCallback callback, Duration duration = const Duration(milliseconds: 300), List<Object?> keys = const <Object>[]}) CancelableThrottledVoidCallback
Returns a CancelableThrottledVoidCallback which is essentially a throttled VoidCallback with the additional benefit of having a cancel method.
useChainedAnimationController(Animation parent, {Duration? duration, Duration? reverseDuration, String? debugLabel, double initialValue = 0, double lowerBound = 0, double upperBound = 1, TickerProvider? vsync, AnimationBehavior animationBehavior = AnimationBehavior.normal, List<Object?>? keys}) AnimationController
useChangeNotifierSelect<T extends ChangeNotifier, R>(T notifier, {required R select(T)}) → R
Listens to a ChangeNotifier and selects and returns a value from it. When that value differs from the previous build's value then it will mark the caller HookWidget as needing a build.
useCleanup(Dispose cleanup, [List<Object?> keys = const <Object>[]]) → void
useCleanupOnce(Dispose cleanup) → void
useDebounceCallback({required VoidCallback callback, Duration duration = const Duration(milliseconds: 300), List<Object?> keys = const <Object>[]}) VoidCallback
Returns a VoidCallback which debounces the callback by duration. Many subsequent calls to the returned VoidCallback will only result in an actual callback invocation once the duration has passed since the last call.
useDelayedExecution(VoidCallback callback, {required Duration delay}) → void
Executes a callback function after a specified delay.
useEffectiveKeys({required List<Object?>? keys, required List<Listenable>? listenableKeys}) List<Object?>?
useEffectOnce(DisposableEffect effect) → void
Syntax sugar for omitting the keys array.
useGlobalKey<T extends State<StatefulWidget>>() GlobalKey<T>
useInterval(VoidCallback callback, [Duration? delay = const Duration(milliseconds: 100)]) → void
Taken from https://github.com/wasabeef/flutter_use/blob/main/packages/basic/lib/src/use_interval.dart
useListenableKeys(List<Listenable>? listenableKeys) int
Ensure that this is not called with different number of keys across builds.
useMemoized2<R>(R valueBuilder(), [List<Object?>? keys, List<Listenable>? listenableKeys]) → R
Similar to useMemoized but it also receives an additional array of Listenable objects. When any of the supplied listenable notifies then it will mark the caller HookWidget as needing a build.
useMemoizedMinutely<R>(R valueBuilder(), [List<Object?> keys = const []]) → R
Essentially a useMemoized but it additionally is rebuilding at every minute change.
useOnChangeNotifierNotified<T extends Listenable>(T? notifier, VoidCallback onChanged, [List<Object?>? keys, List<Listenable>? listenableKeys]) → void
Listens to a ChangeNotifier and calls onChange when it notifies. It is not needed to define the notifier itself as part of the keys.
useOnChangeNotifierValueChanged<T extends Listenable, R>(T notifier, {required R select(T notifier), required dynamic onChanged(R value), List<Object?>? keys, List<Listenable>? listenableKeys}) → void
Listens to a ChangeNotifier and selects a value from it. When that value differs from the previous build's selected value then onChanged is called.
usePlainAsyncEffect(Future<void> effect(), [List<Object?>? keys, List<Listenable>? listenableKeys]) → void
usePlainAsyncEffectOnce(Future<void> effect()) → void
usePlainEffect(PlainEffect effect, [List<Object?>? keys, List<Listenable>? listenableKeys]) → void
Syntax sugar for having an effect which returns null
usePlainEffectOnce(PlainEffect effect) → void
Syntax sugar for omitting the keys array and allowing call site to pass the effect as expression body.
usePlainPostFrameEffect(PlainEffect effect, [List<Object?>? keys, List<Listenable>? listenableKeys]) → void
usePlainPostFrameEffectOnce(PlainEffect effect) → void
usePostFrameCleanup(Dispose cleanup) → void
usePostFrameEffect(DisposableEffect effect, [List<Object?>? keys, List<Listenable>? listenableKeys]) → void
usePostFrameEffectOnce(Dispose effect()) → void
useRebuild() VoidCallback
useScrollNotificationObserver(BuildContext context, {required void handler(ScrollNotification), Dispose? dispose, List<Object?>? keys}) → void
useSelectChangeNotifier<T extends Listenable, R>(T notifier, {required R select(T notifier)}) ChangeNotifier
Returns a ChangeNotifier which will only notify when the selected value differs from it's previous value.
useThrottleCallback({required VoidCallback callback, Duration duration = const Duration(milliseconds: 300), List<Object?> keys = const <Object>[]}) VoidCallback
Returns a VoidCallback which throttles the callback by duration. Many subsequent calls to the returned VoidCallback will only result in an actual callback invocation once the duration has passed since the last call.
useValueListener<T>(T value, void listener(), {bool fireImmediately = true}) → void
Calls listener when value changes. If fireImmediately is true (the default), listener is called immediately.

Typedefs

ChildedBuilder = Widget Function(BuildContext context, Widget? child)
ChildWrapper = Widget Function({required Widget child})
DisposableEffect = Dispose? Function()
ItemStream<T> = Stream<T>
PlainEffect = void Function()
TEXT = UpperCaseText
TriggerStream = Stream<void>
TypedValidatorFunction<T> = Map<String, dynamic>? Function(AbstractControl<T> control)