/** * The `auro-calendar-month` component renders a single localized month grid of selectable day cells within the calendar. * @event hovered-date-changed - Notifies that the date currently hovered within the month grid has changed. * @event calendar-month-mouseleave - Notifies that the mouse has left the month's date grid so the range hover preview can be cleared. */ export class AuroCalendarMonth extends RangeDatepickerCalendar { static get styles(): import("lit").CSSResult[]; static get properties(): { /** * When set, the month name is displayed before the year in the header. */ monthFirst: { type: BooleanConstructor; attribute: string; reflect: boolean; }; /** * BCP 47 locale tag (such as `en-US`) for calendar localization. * As wc-range-datepicker expects a `locale` prop, we use `localeCode` to avoid conflicts. */ localeCode: { type: StringConstructor; attribute: string; }; /** * Names of all 12 months. When omitted, names are derived from `localeCode`. * @type {string[]} */ monthNames: string[]; }; /** * Returns month name to be rendered in the calendar header. * @private * @param {Number} month - The month number (1-12). * @returns {String} The name of the month. */ private computeCurrentMonthName; _cachedMonthNames: string[] | undefined; _cachedMonthNamesLocale: any; /** * Returns the unique heading ID for this month, used by aria-labelledby. * @private * @returns {String} The heading ID. */ private getHeadingId; /** * Determines the current month name based on locale. * Also builds parallel arrays of full day names for abbr attributes. * This is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here. * @private * @param {Object} changedProperties - The properties that have changed since the last update. * @returns {void} */ private updated; dayFullNames: any[] | undefined; /** * Renders a day-of-week header with abbr attribute for the full day name. * @private * @param {String} dayOfWeek - The short day name. * @param {Number} index - The index in the dayNamesOfTheWeek array. * @returns {Object} The header HTML. */ private renderDayOfWeek; /** * Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month. * @returns {Array} Array of auro-formkit-calendar-cell elements. */ getFocusableCells(): any[]; /** * Overrides the base class handler to prevent setting `this.hoveredDate` * as a reactive property. Instead, just dispatches the event upward so * the calendar can handle range preview imperatively. * @private * @param {CustomEvent} event - The date-is-hovered event from a cell. * @returns {void} */ private handleDateHovered; /** * Dispatches a bubbling event when the mouse leaves the date grid body * so the parent calendar can clear the range hover preview. * @private * @returns {void} */ private handleTbodyMouseLeave; } import { RangeDatepickerCalendar } from './vendor/wc-range-datepicker/range-datepicker-calendar.js';