diff --git a/src/elements/internal/InternalCalendar/InternalCalendar.ts b/src/elements/internal/InternalCalendar/InternalCalendar.ts index 36bcb2d8..ba80a462 100644 --- a/src/elements/internal/InternalCalendar/InternalCalendar.ts +++ b/src/elements/internal/InternalCalendar/InternalCalendar.ts @@ -3,6 +3,7 @@ import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-elem import { ThemeableMixin } from '../../../mixins/themeable'; import { classMap } from '../../../utils/class-map'; import { parseDate } from '../../../utils/parse-date'; +import { safeDate } from '../../../utils/safe-date'; import { serializeDate } from '../../../utils/serialize-date'; export class InternalCalendar extends ThemeableMixin(LitElement) { @@ -97,7 +98,7 @@ export class InternalCalendar extends ThemeableMixin(LitElement) { private __renderMonth(month: number, year: number) { const lang = this.lang || navigator.language; - const date = new Date(year, month, 1, 0, 0, 0, 0); + const date = safeDate(year, month, 1); const items: TemplateResult[] = []; for (let i = 0; i < 7; ++i) { @@ -145,7 +146,7 @@ export class InternalCalendar extends ThemeableMixin(LitElement) { private __renderDate(date: number, month: number, year: number, checked = false) { const disabled = - this.disabled || this.readonly || !this.checkAvailability(new Date(year, month, date)); + this.disabled || this.readonly || !this.checkAvailability(safeDate(year, month, date)); return html`