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. Object? columns,
  8. Object? sm,
  9. Object? md,
  10. Object? lg,
  11. Object? 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,
  Object? columns,
  Object? sm,
  Object? md,
  Object? lg,
  Object? 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 ?? GridTemplateColumns.autoFit(minItemWidth),
            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),
      );