import 'package:flutter/material.dart';

class EasyLine extends StatelessWidget {
  final double length;
  final double width;
  final Color color;
  final double thickness;
  final double spacing;
  final LineType? lineType;
  final Axis axis;

  const EasyLine({
    key,
    this.length = 50.0,
    this.color = Colors.grey,
    this.thickness = 3,
    this.spacing = 3.0,
    this.width = 2.0,
    this.lineType = LineType.normal,
    this.axis = Axis.horizontal,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      width: axis == Axis.horizontal
          ? length
          : thickness,
      height: axis == Axis.vertical
          ? length :  thickness,
      decoration: BoxDecoration(
              color: color,
              borderRadius: BorderRadius.circular(100),
            ),
    );
  }
}


enum LineType {
  normal,
  dotted,
  dashed,
}
class LineStyle {
  final Color ?defaultLineColor;
  final Color ?unreachedLineColor;
  final Color ?activeLineColor;
  final Color ?finishedLineColor;
  final double lineLength;
  final double lineThickness;
  final double lineWidth;
  final double lineSpace;
  final LineType lineType;
  final LineType ?unreachedLineType;
  final Color ?progressColor;
  final double ?progress;
  const LineStyle({
    Key ?key,
    this.lineType = LineType.dotted,
    this.defaultLineColor,
    this.unreachedLineColor,
    this.activeLineColor,
    this.finishedLineColor,
    this.lineLength = 40,
    this.lineWidth = 4,
    this.lineThickness = 1,
    this.lineSpace = 5,
    this.unreachedLineType,
    this.progressColor,
    this.progress,
  })  : assert(
  progressColor == null || progress != null,
  'progress should be defined to use progressColor',
  ),
        assert(
        progress == null || (progress >= 0 && progress <= 1),
        'progress value should be between 0 and 1',
        );
}