@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
116 lines • 4.04 kB
TypeScript
/**
* ReadingsRenderer - Shared module for rendering liturgical readings.
*
* This module provides functionality for rendering lectionary readings
* in both LiturgyOfTheDay and LiturgyOfAnyDay components.
*
* @module ReadingsRenderer
*/
/**
* @typedef {Object} ReadingsRendererOptions
* @property {string} [readingsWrapperClassName=''] - CSS class for the readings wrapper element.
* @property {string} [readingsLabelClassName=''] - CSS class for reading labels.
* @property {string} [readingClassName=''] - CSS class for individual reading elements.
*/
export default class ReadingsRenderer {
/**
* Mapping of reading property keys to human-readable labels.
* @type {Object<string, string>}
* @static
* @readonly
*/
static readonly readingLabels: {
[x: string]: string;
};
/**
* Mapping of mass schema keys to human-readable labels.
* @type {Object<string, string>}
* @static
* @readonly
*/
static readonly massLabels: {
[x: string]: string;
};
/**
* Standard order for displaying liturgical readings.
* @type {string[]}
* @static
* @readonly
*/
static readonly readingOrder: string[];
/**
* Keys that indicate nested mass schemas in readings objects.
* @type {string[]}
* @static
* @readonly
*/
static readonly "__#18@#nestedSchemaKeys": string[];
/**
* Creates a new ReadingsRenderer instance.
*
* @param {ReadingsRendererOptions} [options={}] - Configuration options.
*/
constructor(options?: ReadingsRendererOptions);
/**
* Updates the CSS class for the readings wrapper element.
*
* @param {string} className - The CSS class name.
* @returns {ReadingsRenderer} This instance for chaining.
* @throws {TypeError} If className is not a string.
*/
setReadingsWrapperClassName(className: string): ReadingsRenderer;
/**
* Updates the CSS class for reading labels.
*
* @param {string} className - The CSS class name.
* @returns {ReadingsRenderer} This instance for chaining.
* @throws {TypeError} If className is not a string.
*/
setReadingsLabelClassName(className: string): ReadingsRenderer;
/**
* Updates the CSS class for individual reading elements.
*
* @param {string} className - The CSS class name.
* @returns {ReadingsRenderer} This instance for chaining.
* @throws {TypeError} If className is not a string.
*/
setReadingClassName(className: string): ReadingsRenderer;
/**
* Checks if the readings object has nested mass schemas (vigil/day, night/dawn, etc.)
*
* @param {Object} readings - The readings object to check.
* @returns {boolean} True if the readings have nested schemas, false otherwise.
*/
hasNestedSchemas(readings: Object): boolean;
/**
* Renders a single set of readings (ferial or festive format).
*
* @param {Object} readings - The readings object.
* @param {HTMLElement} container - The container to append readings to.
* @param {string} [schemaLabel] - Optional label for the schema (e.g., "Vigil Mass").
*/
renderSingleReadings(readings: Object, container: HTMLElement, schemaLabel?: string): void;
/**
* Renders the lectionary readings for a celebration.
*
* @param {Object} readings - The readings object from the API.
* @param {HTMLElement} container - The container to append readings to.
*/
renderReadings(readings: Object, container: HTMLElement): void;
#private;
}
export type ReadingsRendererOptions = {
/**
* - CSS class for the readings wrapper element.
*/
readingsWrapperClassName?: string | undefined;
/**
* - CSS class for reading labels.
*/
readingsLabelClassName?: string | undefined;
/**
* - CSS class for individual reading elements.
*/
readingClassName?: string | undefined;
};
//# sourceMappingURL=ReadingsRenderer.d.ts.map