own library

Classes

EasyBaseWidget<T>
Base widget for Easy components providing shared APIs.
EasyBloc<T>
A simple Bloc implementation for maintaining state in Easy UI components.
EasyBottomSheet<T>
A highly customizable bottom sheet component that acts as a dropdown alternative.
EasyBottomSheetAdvanced<T>
An advanced bottom sheet implementation offering draggable behavior and customized sizing.
EasyBottomSheetBloc<T>
A variant of the bottom sheet connected to an EasyBloc.
EasyBottomSheetHook<T>
A variant of the bottom sheet designed to use Flutter Hooks.
EasyBottomSheetNotifier<T>
A variant of the bottom sheet connected to a ValueNotifier.
EasyBottomSheetProvider<T>
A variant of the bottom sheet using a Provider pattern.
EasyBuilders
Simple helpers for common item builders.
EasyButton<T>
EasyButtonAdvanced<T>
EasyButtonBloc<T>
EasyButtonHook<T>
EasyButtonNotifier<T>
EasyButtonProvider<T>
EasyCheckbox<T>
EasyCheckboxAdvanced<T>
EasyCheckboxBloc<T>
EasyCheckboxHook<T>
EasyCheckboxNotifier<T>
EasyCheckboxProvider<T>
EasyChips<T>
Simple chips-based selector.
EasyChipsAdvanced<T>
EasyChipsBloc<T>
EasyChipsHook<T>
EasyChipsNotifier<T>
EasyChipsProvider<T>
EasyDateField
EasyDropdown<T>
EasyDropdownAdvanced<T>
An advanced dropdown widget with animations, custom decorations, and multi-select support using chips.
EasyDropdownBloc<T>
EasyDropdownExample
EasyDropdownHook<T>
EasyDropdownNotifier<T>
EasyDropdownProvider<T>
EasyEquals
Predefined equality callbacks for common types.
EasyEvent<T>
Base event for Easy widgets
EasyFileCategoryConfig
EasyFilePicker<T>
EasyFilePickerAdvanced<T>
EasyFormController
A lightweight form controller that manages a map of values and errors.
EasyFormFieldConfig<T>
Generic form field registration model.
EasyFormFieldController<T>
Typed view of a single field within an EasyFormController.
EasyFormValueNotifier<T>
Bridge between EasyFormController and EasyValueNotifier.
EasyImagePicker<T>
EasyLabels
Common label builders for primitive types.
EasyList<T>
Generic selectable list with single/multi selection support.
EasyMenu<T>
Generic popup menu for single-select actions.
EasyPopup<T>
EasyPopupAdvanced<T>
EasyPopupBloc<T>
EasyPopupHook<T>
EasyPopupNotifier<T>
EasyPopupProvider<T>
EasyRadioGroup<T>
EasyRadioGroupAdvanced<T>
EasyRadioGroupBloc<T>
EasyRadioGroupHook<T>
EasyRadioGroupNotifier<T>
EasyRadioGroupProvider<T>
EasySearchMultiSelectSheet<T>
EasySegmented<T>
Generic segmented control built on Material SegmentedButton<T>.
EasySelectionController<T>
Base controller shared across widgets for synchronised value handling. Base controller shared across widgets for synchronised value handling.
EasyState<T>
Represents the generic state used by Easy UI widgets.
EasyStateBridge
A utility class that bridges different state management patterns (Notifier, Bloc, Provider, Hooks) to a consistent widget builder API.
EasySwitch<T>
EasySwitchAdvanced<T>
EasySwitchBloc<T>
EasySwitchHook<T>
EasySwitchNotifier<T>
EasySwitchProvider<T>
EasyTable<T>
Lightweight data-table that plugs into the Easy selection primitives.
EasyTextField<T>
EasyTextFieldAdvanced<T>
EasyTextFieldBloc<T>
EasyTextFieldHook<T>
EasyTextFieldNotifier<T>
EasyTextFieldProvider<T>
EasyTextFormField<T>
EasyValueChanged<T>
Event triggered when the selection value changes in an Easy widget.
EasyValueNotifier<T>
A notifier that manages a selected value and exposes changes via ValueListenable. A notifier that manages a selected value and exposes changes via ValueListenable.
SearchRecommendationController<T>
Controller to imperatively interact with SearchRecommendationWidget.
SearchRecommendationWidget<T>
Generic, material-style search + recommendation field with optional multi-select and optional remote (server) search.

Extensions

EasyFileCategoryX on EasyFileCategory
EasyFormControllerX on EasyFormController
Convenience helpers for string / bool / int based values.
EasyImageSourceX on EasyImageSource

Functions

defaultEasyEquals<T>() EasyIsEqual<T>
Returns a default equality checker that uses the == operator.
easyBottomSheetSelectOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?, Widget? sheetTitle}) Widget
Easy bottom sheet selector.
easyButtonGroupOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?}) Widget
Easy button group (ChoiceChip-like) from values.
easyCheckboxOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?}) Widget
Easy multi/single checkbox list with minimal config.
easyChipsOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?}) Widget
Easy chips selection from values.
easyDateFieldOf({required DateTime? value, required ValueChanged<DateTime?> onChanged, String label(DateTime)?, DateTime? firstDate, DateTime? lastDate, DateTime? initialDate}) Widget
Easy date field that opens a date picker on tap.
easyDoubleFieldOf({required double? value, required ValueChanged<double?>? onChanged, String? hintText}) Widget
Convenient double text field with numeric keyboard and parsing.
easyDropdownOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, String label(T)?}) Widget
Easy dropdown: just pass items, current value and onChanged.
easyIntFieldOf({required int? value, required ValueChanged<int?>? onChanged, String? hintText}) Widget
Convenient integer text field with numeric keyboard and parsing.
easyListOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, bool multiSelect = false, List<T>? values, ValueChanged<List<T>>? onChangedMany, String label(T)?, bool divided = true, bool dense = false}) Widget
Easy selectable list with generic items.
easyMenuOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, String label(T)?, Widget? child, String? tooltip, Icon? icon}) Widget
Easy popup menu for single-select actions.
easyPopupSelectOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?, Widget? title}) Widget
Easy popup selector using the advanced popup dialog.
easyRadioOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, String label(T)?}) Widget
Easy radio group with just items, selected value and onChanged.
easySearchOf<T>({required List<T> items, required String label(T), void onSelected(T selectedItem)?, void onSelectedMany(List<T> selectedItems)?, bool multiSelect = false, SearchRemoteResolver<T>? remoteSearch, String hintText = 'Search...'}) Widget
Easy search + recommendation widget: just pass items, label mapper and callbacks.
easySegmentedOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, bool multiSelect = false, List<T>? values, String label(T)?}) Widget
Easy segmented control with generic items and selection.
easySwitchOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?}) Widget
Easy switch group for toggling one or many options.
easyTableOf<T>({required List<T> items, required List<DataColumn> columns, required EasyTableCellBuilder<T> cellBuilder, T? value, ValueChanged<T?>? onChanged, EasyIsEqual<T>? isEqual, bool multiSelect = false, List<T>? selectedValues, ValueChanged<List<T>>? onChangedMany, bool showCheckboxColumn = true, double? dataRowHeight, double? headingRowHeight}) Widget
Easy table convenience for quick rendering.
easyTextFieldOf<T>({required T? value, required ValueChanged<T?>? onChanged, String label(T)?, T? parser(String text)?, String? hintText, TextInputType? keyboardType, bool obscureText = false}) Widget
Easy text field bound directly to a value of type T.
easyTextFormFieldOf<T>({required EasyFormController form, required String name, String label(T)?, T? parser(String text)?, String? hintText, TextInputType? keyboardType, bool obscureText = false}) Widget
Easy TextFormField bound to an EasyFormController and field name.

Typedefs

DateFormatter = String Function(DateTime value)
Formats a DateTime value into a human-readable String.
EasyDecorationBuilder = BoxDecoration Function(bool isExpanded, bool hasValue)
EasyFilePickHandler<T> = FutureOr<List<T>> Function(EasyFileCategory category, bool allowMultiple)
EasyIconBuilder = Widget Function(bool isExpanded)
A builder that defines the icon to show in the dropdown.
EasyImagePickHandler<T> = FutureOr<List<T>> Function(EasyImageSource source, bool allowMultiple)
EasyIsEqual<T> = bool Function(T? a, T? b)
A function signature for checking equality between two elements of type T.
EasyItemBuilder<T> = Widget Function(BuildContext context, T item, bool isSelected)
A builder that creates a widget for a given item, indicating its selection state.
EasyLabelBuilder<T> = String Function(T item)
A builder that extracts a displayable string label from an item.
EasyMultiBuilder<T> = Widget Function(BuildContext context, List<T> values, ValueChanged<List<T>> onChanged)
A builder for multi-selection widgets using state bridges.
EasySingleBuilder<T> = Widget Function(BuildContext context, T? value, ValueChanged<T?> onChanged)
A builder for single-selection widgets using state bridges.
EasyStyleBuilder<T> = TextStyle? Function(T? value, bool isExpanded)
A builder that defines the TextStyle for the dropdown's text.
EasyTableCellBuilder<T> = Widget Function(BuildContext context, T row, int columnIndex, bool selected)
EasyValidator<T> = String? Function(T? value)
Signature for validating a value of type T. Return null when valid.
EasyValueParser<T> = T? Function(String text)
SearchRemoteResolver<T> = Future<List<T>> Function(String query)
Optional remote search callback used for server-side searching.