FTileGroup.merge constructor

FTileGroup.merge({
  1. required List<FTileGroupMixin> children,
  2. FTileGroupStyle style(
    1. FTileGroupStyle
    )?,
  3. ScrollController? scrollController,
  4. double? cacheExtent,
  5. double maxHeight = double.infinity,
  6. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  7. ScrollPhysics physics = const ClampingScrollPhysics(),
  8. bool? enabled,
  9. FItemDivider divider = FItemDivider.full,
  10. String? semanticsLabel,
  11. Widget? label,
  12. Widget? description,
  13. Widget? error,
  14. Key? key,
})

Creates a FTileGroup that merges multiple FTileGroupMixins together.

All group labels will be ignored.

Implementation

FTileGroup.merge({
  required List<FTileGroupMixin> children,
  this.style,
  this.scrollController,
  this.cacheExtent,
  this.maxHeight = double.infinity,
  this.dragStartBehavior = DragStartBehavior.start,
  this.physics = const ClampingScrollPhysics(),
  this.enabled,
  this.divider = FItemDivider.full,
  this.semanticsLabel,
  this.label,
  this.description,
  this.error,
  super.key,
}) : assert(0 < maxHeight, 'maxHeight ($maxHeight) must be > 0'),
     _builder = ((style, enabled) => SliverMainAxisGroup(
       slivers: [
         for (final (index, child) in children.indexed)
           FInheritedItemData.merge(
             style: style.tileStyle,
             enabled: enabled,
             dividerColor: style.dividerColor,
             dividerWidth: style.dividerWidth,
             divider: divider,
             index: index,
             last: index == children.length - 1,
             child: child,
           ),
       ],
     ));