ResponsiveGrid constructor

ResponsiveGrid({
  1. Object? child,
  2. List<Object?> children = const [],
  3. int minItemWidth = 240,
  4. Object? gap,
  5. Object? rowGap,
  6. Object? columnGap,
  7. String? columns,
  8. String? sm,
  9. String? md,
  10. String? lg,
  11. String? xl,
  12. String? className,
  13. Map<String, Object?> props = const {},
  14. Map<String, Object?> style = const {},
  15. DartStyle? dartStyle,
})

Creates a responsive grid with optional breakpoint column overrides.

Implementation

ResponsiveGrid({
  Object? child,
  List<Object?> children = const [],
  int minItemWidth = 240,
  Object? gap,
  Object? rowGap,
  Object? columnGap,
  String? columns,
  String? sm,
  String? md,
  String? lg,
  String? xl,
  String? className,
  Map<String, Object?> props = const {},
  Map<String, Object?> style = const {},
  DartStyle? dartStyle,
}) : super(
       'div',
       props: mergeComponentProps(
         props,
         className: className,
         dartStyle: DartStyle(
           display: Display.grid,
           gap: gap,
           gridTemplateColumns:
               columns ?? 'repeat(auto-fit, minmax(${minItemWidth}px, 1fr))',
           sm: sm == null ? null : DartStyle(gridTemplateColumns: sm),
           md: md == null ? null : DartStyle(gridTemplateColumns: md),
           lg: lg == null ? null : DartStyle(gridTemplateColumns: lg),
           xl: xl == null ? null : DartStyle(gridTemplateColumns: xl),
         ).merge(dartStyle),
         style: {
           if (rowGap != null) 'row-gap': cssValue(rowGap),
           if (columnGap != null) 'column-gap': cssValue(columnGap),
           ...style,
         },
       ),
       children: normalizeChildren(child, children),
     );