+
+ @{
+ int dayId = 0;
+ var culture = GetCulture();
+ var calendar = culture.Calendar;
+
+ if (_picker_month.HasValue && calendar.GetYear(_picker_month.Value) == 1 && calendar.GetMonth(_picker_month.Value) == 1)
+ {
+ dayId = -1;
+ }
+ }
+
+ @for (int displayMonth = 0; displayMonth < DisplayMonths; ++displayMonth)
+ {
+ int tempMonth = displayMonth;
+
+
+
+ @* 🔥 YEAR VIEW *@
+ @if (tempMonth == 0 && CurrentView == OpenTo.Year)
+ {
+
+ @for (int i = GetMinYear(); i <= GetMaxYear(); i++)
+ {
+ var year = i;
+
+
await OnYearClickedAsync(year))"
+ @onclick:stopPropagation="true">
+
+ @year
+
+ }
+
+ }
+
+ @* 🔥 MONTH VIEW *@
+ else if (tempMonth == 0 && CurrentView == OpenTo.Month)
+ {
+ var calendarYear = GetCalendarYear(PickerMonth ?? DateTime.Today);
+
+
+
+
+ @foreach (var month in GetAllMonths())
+ {
+
+ }
+
+ }
+
+ @* 🔥 DATE VIEW *@
+ else if (CurrentView == OpenTo.Date || tempMonth > 0)
+ {
+
+
+
+
+
+ @for (int week = 0; week < 6; week++)
+ {
+ int tempWeek = week;
+
+ var firstMonthFirstYear =
+ _picker_month.HasValue &&
+ calendar.GetYear(_picker_month.Value) == 1 &&
+ calendar.GetMonth(_picker_month.Value) == 1;
+
+ @if (ShowWeekNumbers)
+ {
+
+
+ @GetWeekNumber(tempMonth, tempWeek)
+
+
+ }
+
+ var wasMaxValue = false;
+
+ @foreach (var day in GetWeek(tempMonth, tempWeek))
+ {
+ var tempId = ++dayId;
+
+ @if ((tempId != 0 || !firstMonthFirstYear) && !wasMaxValue)
+ {
+ var selectedDay = !firstMonthFirstYear ? day : day.AddDays(-1);
+
+ // onpointerover = "@(async () => await HandleMouseoverOnPickerCalendarDayButton(tempId))"
+
+ }
+ else
+ {
+
+ }
+
+ wasMaxValue = day == calendar.MaxSupportedDateTime;
+ }
+ }
+
+
+ }
+
+ }
+
+ }
+ else
+ {
+