UNPKG

@lovebowls/leagueelements

Version:

League Elements package for LoveBowls

98 lines 3.22 kB
export default LeagueDashboard; /** * Custom element to display league dashboard with comprehensive overview. * * @element league-dashboard * @attr {string} data - JSON stringified League instance object * @attr {boolean} [is-mobile] - Whether to use mobile styles * @attr {number} [font-scale] - Font scaling factor * * Emits 'league-dashboard-event' with detail { type: 'viewTable' | 'dataLoaded' | 'error', ... } */ declare class LeagueDashboard extends HTMLElement { static get observedAttributes(): string[]; shadow: ShadowRoot; league: Object | import("@lovebowls/leaguejs").League | null; panelStates: { overview: boolean; matchStatistics: boolean; leagueSettings: boolean; }; get _isMobile(): boolean; get _fontScale(): number; connectedCallback(): void; setupEventListeners(): void; disconnectedCallback(): void; /** * Toggles the visibility of a dashboard panel * @param {HTMLElement} sectionElement - The section element to toggle */ togglePanel(sectionElement: HTMLElement): void; /** * Updates the visibility of a panel * @param {HTMLElement} sectionElement - The section element * @param {boolean} isVisible - Whether the panel should be visible */ updatePanelVisibility(sectionElement: HTMLElement, isVisible: boolean): void; attributeChangedCallback(name: any, oldValue: any, newValue: any): void; /** * Loads and parses the league data. * @param {string|Object} data - League instance or JSON string */ loadData(data: string | Object): Promise<void>; /** * Shows an error message in the component. * @param {string} message */ showError(message: string): void; /** * Renders the dashboard content. */ render(): void; /** * Renders the main dashboard content. * @returns {string} */ renderDashboardContent(): string; /** * Renders the league overview section. * @returns {string} */ renderLeagueOverview(): string; /** * Renders the match statistics section. * @returns {string} */ renderMatchStatistics(): string; /** * Renders the league settings section. * @returns {string} */ renderLeagueSettings(): string; /** * Gets the last result date from played matches. * @param {Array} playedMatches - Array of played matches * @returns {string} */ getLastResultDate(playedMatches: any[]): string; /** * Gets the next match date from unplayed matches. * @param {Array} matches - Array of all matches * @returns {string} */ getNextMatchDate(matches: any[]): string; /** * Utility method to fill template placeholders. * @param {string} template - Template string with {{placeholders}} * @param {Object} data - Data object to fill placeholders * @returns {string} */ _fillTemplate(template: string, data: Object): string; /** * Escapes HTML to prevent XSS. * @param {string} unsafe - Unsafe string * @returns {string} */ escapeHtml(unsafe?: string): string; } //# sourceMappingURL=LeagueDashboard.d.ts.map