[DEV] Done with the Chip selector

This commit is contained in:
2024-05-15 16:44:34 +03:00
parent 3f72e040a0
commit 2f8b4e6fb2
5 changed files with 292 additions and 10 deletions

View File

@@ -1,7 +1,8 @@
//s2 Core Packages Imports
import 'package:flutter/widgets.dart';
import 'src/configuration.dart';
import 'src/radio.selector.dart';
import 'src/chip.selector.dart';
import 'src/configuration.dart';
class AstromicSelectors {
//S1 -- Radio
@@ -21,7 +22,7 @@ class AstromicSelectors {
initialSelectedValue: initialSelectedValue,
onChanged: onChanged,
//
configurations: configurations ?? const AstromicSelectorConfiguration(),
configuration: configurations ?? const AstromicSelectorConfiguration(),
//
itemSpacing: itemSpacing ?? 8.0,
//
@@ -29,4 +30,37 @@ class AstromicSelectors {
disabledItemBuilder: disabledItemBuilder,
items: items,
);
//S1 -- Chip
static Widget chip<T>({
List<T>? initialSelectedValues,
void Function(List<T> selectedItems)? onChanged,
//
AstromicSelectorConfiguration? configuration,
//
double? itemSpacing = 4,
double? runSpacing = 8,
double? clearSpacing = 4,
//
TextStyle? labelStyle,
TextStyle? selectedLabelStyle,
TextStyle? disabledLabelStyle,
//
required List<(T item, bool isEnabled)> items,
required Widget Function(T item, {bool isSelected, VoidCallback? onTap, VoidCallback? onClearTapped}) itemBuilder,
required Widget Function(T item) disabledItemBuilder,
}) =>
AstromicChipSelector(
initialSelectedValues: initialSelectedValues,
onChanged: onChanged,
//
configuration: configuration,
//
itemSpacing: itemSpacing,
runSpacing: runSpacing,
//
items: items,
itemBuilder: itemBuilder,
disabledItemBuilder: disabledItemBuilder,
);
}