UNPKG

@clerk/shared

Version:

Internal package utils used by the Clerk SDKs

1 lines 1.07 kB
{"version":3,"file":"waitForElement.mjs","names":[],"sources":["../../src/dom/waitForElement.ts"],"sourcesContent":["/**\n * Uses a MutationObserver to wait for an element to be added to the DOM.\n */\nexport function waitForElement(selector: string): Promise<HTMLElement | null> {\n return new Promise(resolve => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector) as HTMLElement);\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n observer.disconnect();\n resolve(document.querySelector(selector) as HTMLElement);\n }\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n });\n}\n"],"mappings":";;;;AAGA,SAAgB,eAAe,UAA+C;CAC5E,OAAO,IAAI,SAAQ,YAAW;EAC5B,IAAI,SAAS,cAAc,QAAQ,GACjC,OAAO,QAAQ,SAAS,cAAc,QAAQ,CAAgB;EAGhE,MAAM,WAAW,IAAI,uBAAuB;GAC1C,IAAI,SAAS,cAAc,QAAQ,GAAG;IACpC,SAAS,WAAW;IACpB,QAAQ,SAAS,cAAc,QAAQ,CAAgB;GACzD;EACF,CAAC;EAED,SAAS,QAAQ,SAAS,MAAM;GAAE,WAAW;GAAM,SAAS;EAAK,CAAC;CACpE,CAAC;AACH"}