@liturgical-calendar/components-js
Version:
Liturgical calendar components for javascript: an html select populated with liturgical calendars supported by the Liturgical Calendar API; form controls for parameters that are supported by the Liturgical Calendar API; a webcalendar; and liturgy of the d
296 lines • 11.3 kB
TypeScript
export default class LiturgyOfAnyDay {
/**
* @type {RegExp[]}
* @static
* @private
* @readonly
*/
private static readonly "__#20@#filterTagsDisplayGrade";
/**
* @type {['green', 'red', 'purple']}
* @static
* @private
* @readonly
*/
private static readonly "__#20@#highContrast";
/**
* Validates the given class name to ensure it is a valid CSS class name.
*
* @param {string} className - The class name to validate.
* @returns {boolean} True if the class name is valid, false otherwise.
* @static
* @private
*/
private static "__#20@#isValidClassName";
/**
* Validates the given ID to ensure it is a valid HTML ID.
*
* @param {string} id - The ID to validate.
* @returns {boolean} True if the ID is valid, false otherwise.
* @static
* @private
*/
private static "__#20@#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 "__#20@#validateElementSelector";
/**
* Constructs a LiturgyOfAnyDay object.
*
* @param {string|Object|null} [options=null] - The locale or options object.
* @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 or not a valid CSS selector
* @returns {LiturgyOfAnyDay} The current instance for method chaining
*/
id(id: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the LiturgyOfAnyDay instance's DOM element.
*
* @param {string} className - A space-separated string of class names.
* @throws {Error} If the className is not a string or invalid.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
class(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the title element.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
titleClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the date element.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
dateClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the date controls wrapper element.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
dateControlsClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the events wrapper element.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
eventsWrapperClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the event elements.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
eventClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class for event grade elements.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
eventGradeClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class for event common elements.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
eventCommonClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class for event year cycle elements.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
eventYearCycleClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the readings wrapper element.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
readingsWrapperClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the readings label elements.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
readingsLabelClass(className: string): LiturgyOfAnyDay;
/**
* Sets the class attribute for the individual reading elements.
*
* @param {string} className - A space-separated string of class names.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
readingClass(className: string): LiturgyOfAnyDay;
/**
* Sets whether to show lectionary readings.
*
* @param {boolean} show - Whether to display lectionary readings.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
showReadings(show?: boolean): LiturgyOfAnyDay;
/**
* Configures the day input element.
*
* @param {Object} options - Configuration options for the day input.
* @param {string} [options.class] - CSS class for the input element.
* @param {string} [options.labelClass] - CSS class for the label element.
* @param {string} [options.labelText] - Custom label text.
* @param {string} [options.wrapper] - Wrapper element type ('div' or 'td').
* @param {string} [options.wrapperClass] - CSS class for the wrapper element.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
dayInputConfig(options: {
class?: string | undefined;
labelClass?: string | undefined;
labelText?: string | undefined;
wrapper?: string | undefined;
wrapperClass?: string | undefined;
}): LiturgyOfAnyDay;
/**
* Configures the month input element.
*
* @param {Object} options - Configuration options for the month input.
* @param {string} [options.class] - CSS class for the input element.
* @param {string} [options.labelClass] - CSS class for the label element.
* @param {string} [options.labelText] - Custom label text.
* @param {string} [options.wrapper] - Wrapper element type ('div' or 'td').
* @param {string} [options.wrapperClass] - CSS class for the wrapper element.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
monthInputConfig(options: {
class?: string | undefined;
labelClass?: string | undefined;
labelText?: string | undefined;
wrapper?: string | undefined;
wrapperClass?: string | undefined;
}): LiturgyOfAnyDay;
/**
* Configures the year input element.
*
* @param {Object} options - Configuration options for the year input.
* @param {string} [options.class] - CSS class for the input element.
* @param {string} [options.labelClass] - CSS class for the label element.
* @param {string} [options.labelText] - Custom label text.
* @param {string} [options.wrapper] - Wrapper element type ('div' or 'td').
* @param {string} [options.wrapperClass] - CSS class for the wrapper element.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
yearInputConfig(options: {
class?: string | undefined;
labelClass?: string | undefined;
labelText?: string | undefined;
wrapper?: string | undefined;
wrapperClass?: string | undefined;
}): LiturgyOfAnyDay;
/**
* Sets the LiturgyOfAnyDay instance to listen to the ApiClient for calendar data.
* Also configures the ApiClient with the correct year_type based on the selected date
* (LITURGICAL for December 31st to include vigil masses, CIVIL otherwise).
*
* @param {ApiClient} apiClient - The API client to listen to.
* @throws {Error} If the provided apiClient is not an instance of ApiClient.
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
listenTo(apiClient: ApiClient): LiturgyOfAnyDay;
/**
* Appends the date control inputs to the date controls wrapper.
* Call this after configuring the inputs but before appending to DOM.
*
* @returns {LiturgyOfAnyDay} The current instance for chaining.
*/
buildDateControls(): LiturgyOfAnyDay;
/**
* Appends the LiturgyOfAnyDay instance to the element matched by the selector.
*
* @param {string|HTMLElement} elementSelector - The CSS selector or HTMLElement.
*/
appendTo(elementSelector: string | HTMLElement): void;
/**
* Replaces the element matched by the selector with this component.
*
* @param {string|HTMLElement} elementSelector - The CSS selector or HTMLElement.
*/
replace(elementSelector: string | HTMLElement): void;
/**
* Retrieves the underlying DOM element.
*
* @returns {HTMLElement} The DOM element.
* @readonly
*/
readonly get _domElement(): HTMLElement;
/**
* Retrieves the title element.
*
* @returns {HTMLElement} The title element.
* @readonly
*/
readonly get _titleElement(): HTMLElement;
/**
* Retrieves the date element.
*
* @returns {HTMLElement} The date element.
* @readonly
*/
readonly get _dateElement(): HTMLElement;
/**
* Retrieves the date controls wrapper element.
*
* @returns {HTMLElement} The date controls wrapper element.
* @readonly
*/
readonly get _dateControlsWrapper(): HTMLElement;
/**
* Retrieves the events wrapper element.
*
* @returns {HTMLElement} The events wrapper element.
* @readonly
*/
readonly get _eventsElementsWrapper(): HTMLElement;
/**
* Retrieves the day input component.
*
* @returns {DayInput} The day input component.
* @readonly
*/
readonly get _dayInput(): DayInput;
/**
* Retrieves the month input component.
*
* @returns {MonthInput} The month input component.
* @readonly
*/
readonly get _monthInput(): MonthInput;
/**
* Retrieves the year input component.
*
* @returns {YearInput} The year input component.
* @readonly
*/
readonly get _yearInput(): YearInput;
#private;
}
import ApiClient from '../ApiClient/ApiClient.js';
import { DayInput } from '../ApiOptions/Input/index.js';
import { MonthInput } from '../ApiOptions/Input/index.js';
import { YearInput } from '../ApiOptions/Input/index.js';
//# sourceMappingURL=LiturgyOfAnyDay.d.ts.map