@lovebowls/leagueelements
Version:
League Elements package for LoveBowls
48 lines • 2.09 kB
TypeScript
export default LeagueCalendar;
declare class LeagueCalendar extends HTMLElement {
static get observedAttributes(): string[];
shadow: ShadowRoot;
_matches: any[];
_selectedDate: Date | null;
_selectedTemporal: Object | null;
_selectedDateString: any;
_calendarDate: Date;
_calendarTemporal: Object;
_fixtureDates: Set<any>;
_resultDates: Set<any>;
connectedCallback(): void;
attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
_parseSelectedDateAttribute(dateString: any): void;
_loadMatchesData(matchesData: any): void;
_processMatchDates(): void;
_showError(message: any): void;
_clearError(): void;
renderFilterIndicator(): void;
_handleClearFilter(): void;
render(): void;
_renderCalendarHTML(): string;
_renderCalendarFilterHTML(): string;
_attachCalendarEventListeners(): void;
escapeHtml(unsafe?: string): string;
/**
* Public API method that can be called directly by parent components.
* This addresses timezone issues by allowing direct communication with a string.
* @param {string} dateString - Date string in YYYY-MM-DD format
*/
setSelectedDate(dateString: string): boolean;
/**
* Public method that can be called by parent components directly instead of using the attribute
* This allows us to bypass timezone issues in attribute setting
* @param {Object} detail - The detail object from the calendar event
*/
handleSelectedDateDirectly(detail: Object): boolean;
/**
* Comprehensive date matching that works with all available date representations
* @param {string} dateStr - ISO date string in YYYY-MM-DD format
* @param {Temporal.PlainDate|null} temporalDate - Temporal PlainDate object
* @param {Date|null} legacyDate - JavaScript Date object
* @returns {boolean} Whether this date matches the selected date
*/
_isDateMatch(dateStr: string, temporalDate: Temporal.PlainDate | null, legacyDate: Date | null): boolean;
}
//# sourceMappingURL=LeagueCalendar.d.ts.map