(el: any | undefined)
| 245 | }; |
| 246 | |
| 247 | export const deepReady = async (el: any | undefined): Promise<void> => { |
| 248 | const element = el as any; |
| 249 | if (element) { |
| 250 | if (element.componentOnReady != null) { |
| 251 | // eslint-disable-next-line custom-rules/no-component-on-ready-method |
| 252 | const stencilEl = await element.componentOnReady(); |
| 253 | if (stencilEl != null) { |
| 254 | return; |
| 255 | } |
| 256 | |
| 257 | /** |
| 258 | * Custom elements in Stencil will have __registerHost. |
| 259 | */ |
| 260 | } else if (element.__registerHost != null) { |
| 261 | /** |
| 262 | * Non-lazy loaded custom elements need to wait |
| 263 | * one frame for component to be loaded. |
| 264 | */ |
| 265 | const waitForCustomElement = new Promise((resolve) => raf(resolve)); |
| 266 | await waitForCustomElement; |
| 267 | |
| 268 | return; |
| 269 | } |
| 270 | await Promise.all(Array.from(element.children).map(deepReady)); |
| 271 | } |
| 272 | }; |
| 273 | |
| 274 | export const setPageHidden = (el: HTMLElement, hidden: boolean) => { |
| 275 | if (hidden) { |
no test coverage detected