import { expect, fixture, html, nextFrame, aTimeout } from '@open-wc/testing'; import sinon from 'sinon'; import { overlays } from '../src/overlays.js'; // eslint-disable-next-line no-unused-vars import { OverlayController } from '../src/OverlayController.js'; /** * @typedef {import('../types/OverlayConfig').OverlayConfig} OverlayConfig * @typedef {import('../types/OverlayMixinTypes').DefineOverlayConfig} DefineOverlayConfig * @typedef {import('../types/OverlayMixinTypes').OverlayHost} OverlayHost * @typedef {import('../types/OverlayMixinTypes').OverlayMixin} OverlayMixin * @typedef {import('@lion/core').LitElement} LitElement * @typedef {LitElement & OverlayHost & {_overlayCtrl:OverlayController}} OverlayEl */ function getGlobalOverlayNodes() { return Array.from(overlays.globalRootNode.children).filter( child => !child.classList.contains('global-overlays__backdrop'), ); } /** * @param {{tagString:string, tag: object, suffix?:string}} config */ export function runOverlayMixinSuite({ tagString, tag, suffix = '' }) { describe(`OverlayMixin${suffix}`, () => { it('should not be opened by default', async () => { const el = /** @type {OverlayEl} */ (await fixture(html` <${tag}>