/** * BlockUI blocks elements with overlays and loading indicators. * @example * HTML: * ```html *
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Inceptos imperdiet magna! Sed fusce fames tempus litora venenatis. * Ac aliquet leo hendrerit taciti viverra? Nisl suscipit potenti accumsan quis ipsum purus cursus. * Suspendisse ultrices morbi in purus lectus dictum porta; Commodo penatibus nec. *
* * ``` * * JS: * ```js * import {components} from 'metronic-extension'; * * // Initialize the component and set up event listeners. * const target = document.querySelector('[data-ref="target"]'); * const blockButton = document.querySelector('[data-ref="blockButton"]'); * const blockUI = new components.BlockUI(target, 'Loading...', false); * * blockButton.addEventListener('click', () => { * if (blockUI.isBlocked()) { * blockUI.release(); * blockButton.textContent = 'Block'; * } else { * blockUI.block(); * blockButton.textContent = 'Release'; * } * }); * ``` */ export default class BlockUI { #private; /** * Create a new instance of the BlockUI class. * @param {string|HTMLElement} element CSS selector string or HTMLElement. * @param {string} message Message displayed during blocking. * @param {boolean} firstBlock If true, it is blocked immediately after instance creation. Default is true. */ constructor(element: string | HTMLElement, message: string, firstBlock?: boolean); /** * Block. * @return {BlockUI} * @example * ```js * blockUI.block(); * ``` */ block(): BlockUI; /** * Unblock. * @return {BlockUI} * @example * ```js * blockUI.release(); * ``` */ release(): BlockUI; /** * Check if it is blocking. * @return {boolean} True if currently blocking, false if not. */ isBlocked(): boolean; /** * Discard the loading indicator. */ destroy(): void; }