@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
25 lines (23 loc) • 710 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
//#region src/dom/waitForElement.ts
/**
* Uses a MutationObserver to wait for an element to be added to the DOM.
*/
function waitForElement(selector) {
return new Promise((resolve) => {
if (document.querySelector(selector)) return resolve(document.querySelector(selector));
const observer = new MutationObserver(() => {
if (document.querySelector(selector)) {
observer.disconnect();
resolve(document.querySelector(selector));
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
//#endregion
exports.waitForElement = waitForElement;
//# sourceMappingURL=waitForElement.js.map