export default class LiturgyOfTheDay { /** * @type {RegExp[]} * @static * @private * @readonly */ private static readonly "__#19@#filterTagsDisplayGrade"; /** * @type {['geeen', 'red', 'purple']} * @static * @private * @readonly */ private static readonly "__#19@#highContrast"; /** * Validates the given class name to ensure it is a valid CSS class name. * * A valid CSS class name is a string that starts with a letter, underscore or dash, * followed by any number of alphanumeric characters, dashes or underscores. * * @param {string} className - The class name to validate. * @returns {boolean} True if the class name is valid, false otherwise. * @static * @private */ private static "__#19@#isValidClassName"; /** * Validates the given ID to ensure it is a valid HTML ID. * * A valid HTML ID is a string that starts with a letter, underscore or dash, * followed by any number of alphanumeric characters, dashes or underscores. * * @param {string} id - The ID to validate. * @returns {boolean} True if the ID is valid, false otherwise. * @static * @private */ private static "__#19@#isValidId"; /** * Validates the given element selector to ensure it is a valid HTML element selector. * * @param {string} element - The element selector to validate. * @returns {Element} The DOM element that the selector matches. * @throws {Error} If the element selector is invalid or does not match any elements. * @static * @private */ private static "__#19@#validateElementSelector"; /** * Constructs a LiturgyOfTheDay object. * * @param {string|Object|null} [options=null] - The locale to use for formatting the date and the titles. * The locale should be a valid string that can be parsed by the Intl.getCanonicalLocales function. * If the locale string contains an underscore, the underscore will be replaced with a hyphen. * The default is 'en' (English). Locales with region extensions are also supported, such as 'en-US', 'en-GB', 'en-CA', etc. * * @throws {Error} If the locale is invalid. */ constructor(options?: string | Object | null); /** * Sets the id of the element. * * @param {string} id The id of the element * @throws {Error} if id is not a string * @throws {Error} if id is not a valid CSS selector * @returns {LiturgyOfTheDay} The current instance of LiturgyOfTheDay, allowing method chaining */ id(id: string): LiturgyOfTheDay; /** * Sets the class attribute for the LiturgyOfTheDay instance's DOM element. * * Validates the input class name(s) to ensure they are strings and conform to * CSS class naming conventions. If the class name is valid, it is sanitized * and assigned to the element. * * @param {string} className - A space-separated string of class names to be * assigned to the DOM element. * @throws {Error} If the className is not a string, or if any class name is * invalid. * @returns {LiturgyOfTheDay} The current LiturgyOfTheDay instance for chaining. */ class(className: string): LiturgyOfTheDay; /** * Sets the class attribute for the title element of the LiturgyOfTheDay instance. * * Validates the input class name(s) to ensure they are strings and conform to * CSS class naming conventions. If the class name is valid, it is sanitized * and added to the title element. * * @param {string} className - A space-separated string of class names to be * assigned to the title element. * @throws {Error} If the className is not a string, or if any class name is * invalid. * @returns {LiturgyOfTheDay} The current LiturgyOfTheDay instance for chaining. */ titleClass(className: string): LiturgyOfTheDay; /** * Sets the class attribute for the date element of the LiturgyOfTheDay instance. * * Validates the input class name(s) to ensure they are strings and conform to * CSS class naming conventions. If the class name is valid, it is sanitized * and added to the date element. * * @param {string} className - A space-separated string of class names to be * assigned to the date element. * @throws {Error} If the className is not a string, or if any class name is * invalid. * @returns {LiturgyOfTheDay} The current LiturgyOfTheDay instance for chaining. */ dateClass(className: string): LiturgyOfTheDay; /** * Sets the class attribute for the wrapper element of the LiturgyOfTheDay instance's events. * * Validates the input class name(s) to ensure they are strings and conform to * CSS class naming conventions. If the class name is valid, it is sanitized * and assigned to the element. * * @param {string} className - A space-separated string of class names to be * assigned to the events wrapper element. * @throws {Error} If the className is not a string, or if any class name is * invalid. * @returns {LiturgyOfTheDay} The current LiturgyOfTheDay instance for chaining. */ eventsWrapperClass(className: string): LiturgyOfTheDay; /** * Sets the class attribute for the event elements of the LiturgyOfTheDay instance. * * Validates the input class name(s) to ensure they are strings and conform to * CSS class naming conventions. If the class name is valid, it is sanitized * and assigned to the event elements wrapper. * * @param {string} className - A space-separated string of class names to be * assigned to the event elements. * @throws {Error} If the className is not a string, or if any class name is * invalid. * @returns {LiturgyOfTheDay} The current LiturgyOfTheDay instance for chaining. */ eventClass(className: string): LiturgyOfTheDay; eventGradeClass(className: any): this; eventCommonClass(className: any): this; eventYearCycleClass(className: any): this; /** * Sets the class attribute for the readings wrapper element. * * @param {string} className - A space-separated string of class names. * @returns {LiturgyOfTheDay} The current instance for chaining. */ readingsWrapperClass(className: string): LiturgyOfTheDay; /** * Sets the class attribute for the readings label elements. * * @param {string} className - A space-separated string of class names. * @returns {LiturgyOfTheDay} The current instance for chaining. */ readingsLabelClass(className: string): LiturgyOfTheDay; /** * Sets the class attribute for the individual reading elements. * * @param {string} className - A space-separated string of class names. * @returns {LiturgyOfTheDay} The current instance for chaining. */ readingClass(className: string): LiturgyOfTheDay; /** * Sets whether to show lectionary readings. * * @param {boolean} show - Whether to display lectionary readings. * @returns {LiturgyOfTheDay} The current instance for chaining. */ showReadings(show?: boolean): LiturgyOfTheDay; /** * Sets the LiturgyOfTheDay instance to listen to the `calendarFetched` event emitted by the ApiClient. * * Upon receiving the event, it processes the liturgical calendar data and updates the liturgical events * section of the component. The method will validate that the `apiClient` is an instance of ApiClient and * listen to the `calendarFetched` event on the client's event bus. When the event is triggered, it checks * the integrity of the received data, ensuring it contains the necessary properties and is of the correct type. * It then filters the liturgical calendar data to only include events that match the current date and updates * the internal state of the component. * * Also configures the ApiClient with the correct year_type based on the current date * (LITURGICAL for December 31st to include vigil masses, CIVIL otherwise). * * @param {ApiClient} apiClient - The API client to listen to for calendar data events. * @throws {Error} If the provided `apiClient` is not an instance of ApiClient or if the received * data is invalid or malformed. * @return {LiturgyOfTheDay} - Returns the instance of LiturgyOfTheDay for method chaining. */ listenTo(apiClient: ApiClient): LiturgyOfTheDay; /** * Appends the LiturgyOfTheDay instance to the element matched by the provided element selector. * This method does NOT return `this` - call it separately after configuring the component. * * @param {string|HTMLElement} elementSelector - The CSS selector for the element to which the LiturgyOfTheDay instance will be appended. * @throws {Error} If the type of elementSelector is not a string. * @throws {Error} If the element selector is invalid. * @throws {Error} If the element selector does not match any element. */ appendTo(elementSelector: string | HTMLElement): void; /** * Replaces the element matched by the provided element selector with the LiturgyOfTheDay instance. * This method does NOT return `this` - call it separately after configuring the component. * * @param {string|HTMLElement} elementSelector - The CSS selector for the element to be replaced. * @throws {Error} If the type of elementSelector is not a string. * @throws {Error} If the element selector is invalid. * @throws {Error} If the element selector does not match any element. */ replace(elementSelector: string | HTMLElement): void; /** * Retrieves the underlying DOM element of the LiturgyOfTheDay instance. * * @returns {HTMLElement} The DOM element associated with the LiturgyOfTheDay instance. * @readonly */ readonly get _domElement(): HTMLElement; /** * Retrieves the underlying title element associated with the LiturgyOfTheDay instance. * * @returns {HTMLElement} The title element. * @readonly */ readonly get _titleElement(): HTMLElement; /** * Retrieves the underlying date element associated with the LiturgyOfTheDay instance. * * @returns {HTMLElement} The date element. * @readonly */ readonly get _dateElement(): HTMLElement; /** * Retrieves the underlying wrapper element for the liturgical events list. * * @returns {HTMLElement} The wrapper element for the liturgical events list. * @readonly */ readonly get _eventsElementsWrapper(): HTMLElement; #private; } import ApiClient from '../ApiClient/ApiClient.js'; //# sourceMappingURL=LiturgyOfTheDay.d.ts.map