{#if viewDate}
{ if (viewUpdate) viewDate.setMonth(viewDate.getMonth() - 1) dispatch('navigation', -1) }} >
{monthYear}
{ if (viewUpdate) viewDate.setMonth(viewDate.getMonth() + 1) dispatch('navigation', 1) }} >
{/if}
{#if viewDate}
{#each [...Array(7).keys()] as dayOfWeek} {capitalizeFirstLetter(getWeekDayName(day(firstDayOfCurrentMonth, dayOfWeek), 'short'))} {/each} {#each [...Array(displayedWeeksCount).keys()] as weekIndex} {#each [...Array(7).keys()] as dayOfWeek} {@const date = weekday(firstDayOfCurrentMonth, weekIndex, dayOfWeek)} {@const wrongM = date.getMonth() !== viewDate.getMonth()}
{ if (wrongM) { ev.preventDefault() return } viewDate = new Date(date) if (currentDate) { viewDate.setHours(currentDate.getHours()) viewDate.setMinutes(currentDate.getMinutes()) } dispatch('update', viewDate) }} > {date.getDate()}
{/each} {/each}
{/if}