MenstrualCyclePhaseView constructor

const MenstrualCyclePhaseView({
  1. Key? key,
  2. int totalCycleDays = defaultCycleLength,
  3. required double size,
  4. int selectedDay = 0,
  5. Function? onDayClick,
  6. String? menstruationName,
  7. int menstruationDayCount = defaultPeriodDuration,
  8. Color menstruationColor = defaultMenstruationColor,
  9. Color menstruationBackgroundColor = defaultMenstruationColorBg,
  10. Color menstruationDayTextColor = Colors.white,
  11. Color menstruationTextColor = defaultMenstruationColor,
  12. String? follicularPhaseName,
  13. int follicularDayCount = defaultFollicularDay,
  14. Color follicularPhaseDayTextColor = Colors.white,
  15. Color follicularPhaseColor = defaultFollicularColor,
  16. Color follicularBackgroundColor = defaultFollicularColorBg,
  17. Color follicularTextColor = defaultFollicularColor,
  18. String? ovulationName,
  19. int ovulationDayCount = defaultOvulationDay,
  20. Color ovulationDayTextColor = Colors.white,
  21. Color ovulationColor = defaultOvulationColor,
  22. Color ovulationBackgroundColor = defaultOvulationColorBg,
  23. Color ovulationTextColor = defaultOvulationColor,
  24. String? lutealPhaseName,
  25. Color lutealPhaseColor = defaultLutealPhaseColor,
  26. Color lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
  27. Color lutealPhaseTextColor = defaultBlackColor,
  28. Color lutealPhaseDayTextColor = defaultBlackColor,
  29. String imageAssets = "",
  30. double imgSize = 30,
  31. Color centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
  32. double centralCircleSize = 25,
  33. String? dayTitle,
  34. double dayTitleFontSize = 5,
  35. double dayFontSize = 12,
  36. double selectedDayCircleSize = 1,
  37. Color dayTextColor = defaultBlackColor,
  38. Color selectedDayBackgroundColor = Colors.white,
  39. double selectedDayFontSize = 12,
  40. Color selectedDayTextColor = defaultBlackColor,
  41. Color selectedDayCircleBorderColor = Colors.transparent,
  42. double phasesTextSize = 8,
  43. bool isShowDayTitle = true,
  44. FontWeight dayFontWeight = FontWeight.normal,
  45. MenstrualCycleTheme theme = MenstrualCycleTheme.arcs,
  46. double circleDaySize = 13,
  47. PhaseTextBoundaries phaseTextBoundaries = PhaseTextBoundaries.outside,
  48. double arcStrokeWidth = 30,
  49. double outsidePhasesTextSize = 12,
  50. int outsideTextCharSpace = 3,
  51. int outsideTextSpaceFromArc = 30,
  52. Color centralCircleBorderColor = Colors.transparent,
  53. int centralCircleBorderSize = 1,
  54. bool isRemoveBackgroundPhaseColor = true,
  55. MenstrualCycleViewType viewType = MenstrualCycleViewType.text,
  56. String title = "",
  57. Color titleTextColor = Colors.black,
  58. double titleTextSize = 20,
  59. FontWeight titleFontWeight = FontWeight.bold,
  60. String message = "",
  61. String message2 = "",
  62. Color messageTextColor = Colors.black45,
  63. double messageTextSize = 10,
  64. FontWeight messageFontWeight = FontWeight.normal,
  65. int spaceBtnTitleMessage = 5,
  66. bool isAutoSetData = false,
})

Implementation

const MenstrualCyclePhaseView(
    {super.key,
    this.totalCycleDays = defaultCycleLength,
    required this.size,
    this.selectedDay = 0,
    this.onDayClick,

    // Menstruation Params
    this.menstruationName,
    this.menstruationDayCount = defaultPeriodDuration,
    this.menstruationColor = defaultMenstruationColor,
    this.menstruationBackgroundColor = defaultMenstruationColorBg,
    this.menstruationDayTextColor = Colors.white,
    this.menstruationTextColor = defaultMenstruationColor,

    // Follicular Phase Params
    this.follicularPhaseName,
    this.follicularDayCount = defaultFollicularDay,
    this.follicularPhaseDayTextColor = Colors.white,
    this.follicularPhaseColor = defaultFollicularColor,
    this.follicularBackgroundColor = defaultFollicularColorBg,
    this.follicularTextColor = defaultFollicularColor,

    // ovulation Phase Params
    this.ovulationName,
    this.ovulationDayCount = defaultOvulationDay,
    this.ovulationDayTextColor = Colors.white,
    this.ovulationColor = defaultOvulationColor,
    this.ovulationBackgroundColor = defaultOvulationColorBg,
    this.ovulationTextColor = defaultOvulationColor,

    // luteal Phase Params
    this.lutealPhaseName,
    this.lutealPhaseColor = defaultLutealPhaseColor,
    this.lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
    this.lutealPhaseTextColor = defaultBlackColor,
    this.lutealPhaseDayTextColor = defaultBlackColor,

    // Central Circle
    this.imageAssets = "",
    this.imgSize = 30,
    this.centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
    this.centralCircleSize = 25,

    // Day Params
    this.dayTitle,
    this.dayTitleFontSize = 5,
    this.dayFontSize = 12,
    this.selectedDayCircleSize = 1, //  18 for Arc Theme, 15 for basic theme
    this.dayTextColor = defaultBlackColor,
    this.selectedDayBackgroundColor = Colors.white,
    this.selectedDayFontSize = 12,
    this.selectedDayTextColor = defaultBlackColor,
    this.selectedDayCircleBorderColor = Colors.transparent,
    this.phasesTextSize = 8,
    this.isShowDayTitle = true,
    this.dayFontWeight = FontWeight.normal,
    this.theme = MenstrualCycleTheme.arcs,
    this.circleDaySize = 13, //Only when Theme is MenstrualCycleTheme.circle
    this.phaseTextBoundaries = PhaseTextBoundaries.outside,
    this.arcStrokeWidth = 30,
    this.outsidePhasesTextSize = 12,
    this.outsideTextCharSpace = 3,
    this.outsideTextSpaceFromArc = 30,
    this.centralCircleBorderColor = Colors.transparent,
    this.centralCircleBorderSize = 1,
    this.isRemoveBackgroundPhaseColor = true,
    this.viewType = MenstrualCycleViewType.text,
    this.title = "",
    this.titleTextColor = Colors.black,
    this.titleTextSize = 20,
    this.titleFontWeight = FontWeight.bold,
    this.message = "",
    this.message2 = "",
    this.messageTextColor = Colors.black45,
    this.messageTextSize = 10,
    this.messageFontWeight = FontWeight.normal,
    this.spaceBtnTitleMessage = 5,
    this.isAutoSetData = false});