//s2 Core Packages Imports import 'package:flutter/widgets.dart'; import 'src/Radio/radio.selector.dart'; import 'src/Chip/chip.selector.dart'; import 'src/Radio/configuration.dart'; import 'src/Chip/configuration.dart'; // export 'src/Radio/configuration.dart'; export 'src/Chip/configuration.dart'; class AstromicSelectors { //S1 -- Radio static Widget radio({ T? initialSelectedValue, Function(T selectedItem)? onChanged, // AstromicRadioSelectorConfiguration? configurations, // double? itemSpacing = 4, // required Widget Function(T item, bool isEnabled, bool isSelected, VoidCallback? onTap) itemBuilder, required List<(T item, bool isEnabled)> items, }) => AstromicRadioSelector( initialSelectedValue: initialSelectedValue, onChanged: onChanged, // configuration: configurations ?? const AstromicRadioSelectorConfiguration(), // itemSpacing: itemSpacing ?? 8.0, // itemBuilder: itemBuilder, items: items, ); //S1 -- Chip static Widget chip({ List? initialSelectedValues, void Function(List selectedItems)? onChanged, // AstromicChipSelectorConfiguration? configuration, bool isCustom = false, // double? itemSpacing = 4, double? runSpacing = 8, // required List<(T item, bool isEnabled)> items, required Widget Function(T item, bool isEnabled, bool isSelected, VoidCallback? onTap, VoidCallback? onClearTapped) itemBuilder, Widget Function(List items)? groupBuilder, }) { assert( (!isCustom || groupBuilder != null), "You have to provide the group builder in a custom constructor.", ); return isCustom ? AstromicChipSelector.custom( initialSelectedValues: initialSelectedValues, onChanged: onChanged, // configuration: configuration, // items: items, itemBuilder: itemBuilder, groupBuilder: groupBuilder!, ) : AstromicChipSelector( initialSelectedValues: initialSelectedValues, onChanged: onChanged, // configuration: configuration, // itemSpacing: itemSpacing, runSpacing: runSpacing, // items: items, itemBuilder: itemBuilder, ); } }