@spectrum-web-components/overlay 0.17.1-devmode2.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +3 -0
  2. package/active-overlay.dev.js +1 -0
  3. package/active-overlay.dev.js.map +1 -1
  4. package/active-overlay.js +1 -2
  5. package/active-overlay.js.map +2 -2
  6. package/overlay-trigger.dev.js +1 -0
  7. package/overlay-trigger.dev.js.map +1 -1
  8. package/overlay-trigger.js +1 -2
  9. package/overlay-trigger.js.map +2 -2
  10. package/package.json +6 -6
  11. package/src/ActiveOverlay.dev.js +57 -23
  12. package/src/ActiveOverlay.dev.js.map +2 -2
  13. package/src/ActiveOverlay.js +8 -437
  14. package/src/ActiveOverlay.js.map +2 -2
  15. package/src/OverlayTrigger.dev.js +51 -18
  16. package/src/OverlayTrigger.dev.js.map +1 -1
  17. package/src/OverlayTrigger.js +2 -265
  18. package/src/OverlayTrigger.js.map +2 -2
  19. package/src/VirtualTrigger.dev.js +1 -0
  20. package/src/VirtualTrigger.dev.js.map +1 -1
  21. package/src/VirtualTrigger.js +1 -29
  22. package/src/VirtualTrigger.js.map +2 -2
  23. package/src/active-overlay.css.dev.js +1 -0
  24. package/src/active-overlay.css.dev.js.map +1 -1
  25. package/src/active-overlay.css.js +2 -4
  26. package/src/active-overlay.css.js.map +2 -2
  27. package/src/index.dev.js +1 -0
  28. package/src/index.dev.js.map +1 -1
  29. package/src/index.js +1 -6
  30. package/src/index.js.map +1 -1
  31. package/src/loader.dev.js +1 -0
  32. package/src/loader.dev.js.map +1 -1
  33. package/src/loader.js +1 -4
  34. package/src/loader.js.map +2 -2
  35. package/src/overlay-events.dev.js +1 -0
  36. package/src/overlay-events.dev.js.map +1 -1
  37. package/src/overlay-events.js +1 -6
  38. package/src/overlay-events.js.map +2 -2
  39. package/src/overlay-stack.dev.js +95 -44
  40. package/src/overlay-stack.dev.js.map +3 -3
  41. package/src/overlay-stack.js +2 -405
  42. package/src/overlay-stack.js.map +3 -3
  43. package/src/overlay-timer.dev.js +1 -0
  44. package/src/overlay-timer.dev.js.map +1 -1
  45. package/src/overlay-timer.js +1 -70
  46. package/src/overlay-timer.js.map +2 -2
  47. package/src/overlay-trigger.css.dev.js +1 -0
  48. package/src/overlay-trigger.css.dev.js.map +1 -1
  49. package/src/overlay-trigger.css.js +2 -4
  50. package/src/overlay-trigger.css.js.map +2 -2
  51. package/src/overlay-types.dev.js +1 -0
  52. package/src/overlay-types.js +1 -0
  53. package/src/overlay-utils.dev.js +4 -1
  54. package/src/overlay-utils.dev.js.map +1 -1
  55. package/src/overlay-utils.js +1 -27
  56. package/src/overlay-utils.js.map +2 -2
  57. package/src/overlay.dev.js +1 -0
  58. package/src/overlay.dev.js.map +1 -1
  59. package/src/overlay.js +1 -84
  60. package/src/overlay.js.map +2 -2
  61. package/stories/overlay-story-components.js +17 -5
  62. package/stories/overlay-story-components.js.map +2 -2
  63. package/stories/overlay.stories.js +24 -8
  64. package/stories/overlay.stories.js.map +1 -1
  65. package/sync/overlay-trigger.dev.js +1 -0
  66. package/sync/overlay-trigger.dev.js.map +1 -1
  67. package/sync/overlay-trigger.js +1 -6
  68. package/sync/overlay-trigger.js.map +2 -2
  69. package/test/benchmark/basic-test.js +5 -2
  70. package/test/benchmark/basic-test.js.map +1 -1
  71. package/test/overlay-lifecycle.test.js +51 -14
  72. package/test/overlay-lifecycle.test.js.map +1 -1
  73. package/test/overlay-timer.test.js +1 -0
  74. package/test/overlay-timer.test.js.map +2 -2
  75. package/test/overlay-trigger-click.test.js +20 -5
  76. package/test/overlay-trigger-click.test.js.map +1 -1
  77. package/test/overlay-trigger-extended.test.js +19 -6
  78. package/test/overlay-trigger-extended.test.js.map +1 -1
  79. package/test/overlay-trigger-hover-click.test.js +7 -2
  80. package/test/overlay-trigger-hover-click.test.js.map +1 -1
  81. package/test/overlay-trigger-hover.test.js +110 -19
  82. package/test/overlay-trigger-hover.test.js.map +2 -2
  83. package/test/overlay-trigger-longpress.test.js +85 -29
  84. package/test/overlay-trigger-longpress.test.js.map +2 -2
  85. package/test/overlay-trigger-sync.test.js +183 -56
  86. package/test/overlay-trigger-sync.test.js.map +2 -2
  87. package/test/overlay-trigger.test.js +183 -56
  88. package/test/overlay-trigger.test.js.map +2 -2
  89. package/test/overlay.test-vrt.js +1 -0
  90. package/test/overlay.test-vrt.js.map +1 -1
  91. package/test/overlay.test.js +162 -74
  92. package/test/overlay.test.js.map +1 -1
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  import { isVisible } from "../../../test/testing-helpers.js";
2
3
  import {
3
4
  aTimeout,
@@ -39,7 +40,8 @@ describe("Overlay Trigger", () => {
39
40
  let outerClickContent;
40
41
  let hoverContent;
41
42
  beforeEach(async () => {
42
- testDiv = await fixture(html`
43
+ testDiv = await fixture(
44
+ html`
43
45
  <div>
44
46
  <style>
45
47
  body {
@@ -104,14 +106,23 @@ describe("Overlay Trigger", () => {
104
106
  </div>
105
107
  </overlay-trigger>
106
108
  </div>
107
- `);
108
- innerTrigger = testDiv.querySelector("#inner-trigger");
109
+ `
110
+ );
111
+ innerTrigger = testDiv.querySelector(
112
+ "#inner-trigger"
113
+ );
109
114
  outerTrigger = testDiv.querySelector("#trigger");
110
115
  innerButton = testDiv.querySelector("#inner-button");
111
116
  outerButton = testDiv.querySelector("#outer-button");
112
- innerClickContent = testDiv.querySelector("#inner-popover");
113
- outerClickContent = testDiv.querySelector("#outer-popover");
114
- hoverContent = testDiv.querySelector("#hover-content");
117
+ innerClickContent = testDiv.querySelector(
118
+ "#inner-popover"
119
+ );
120
+ outerClickContent = testDiv.querySelector(
121
+ "#outer-popover"
122
+ );
123
+ hoverContent = testDiv.querySelector(
124
+ "#hover-content"
125
+ );
115
126
  });
116
127
  afterEach(async () => {
117
128
  if (outerTrigger.open) {
@@ -132,7 +143,9 @@ describe("Overlay Trigger", () => {
132
143
  throw new Error("popover is not an instance of Popover");
133
144
  expect(outerClickContent).to.exist;
134
145
  expect(outerClickContent.shadowRoot).to.exist;
135
- expect(outerClickContent.parentElement).to.be.an.instanceOf(OverlayTrigger);
146
+ expect(outerClickContent.parentElement).to.be.an.instanceOf(
147
+ OverlayTrigger
148
+ );
136
149
  });
137
150
  it("opens a popover", async () => {
138
151
  expect(isVisible(outerClickContent)).to.be.false;
@@ -140,7 +153,9 @@ describe("Overlay Trigger", () => {
140
153
  const open = oneEvent(outerTrigger, "sp-opened");
141
154
  outerButton.click();
142
155
  await open;
143
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
156
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
157
+ OverlayTrigger
158
+ );
144
159
  expect(isVisible(outerClickContent)).to.be.true;
145
160
  });
146
161
  it("[disabled] closes a popover", async () => {
@@ -150,7 +165,9 @@ describe("Overlay Trigger", () => {
150
165
  const opened = oneEvent(outerButton, "sp-opened");
151
166
  outerButton.click();
152
167
  await opened;
153
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
168
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
169
+ OverlayTrigger
170
+ );
154
171
  expect(isVisible(outerClickContent)).to.be.true;
155
172
  const closed = oneEvent(outerButton, "sp-closed");
156
173
  outerTrigger.disabled = true;
@@ -164,11 +181,15 @@ describe("Overlay Trigger", () => {
164
181
  const open = oneEvent(outerTrigger, "sp-opened");
165
182
  outerButton.click();
166
183
  await open;
167
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
184
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
185
+ OverlayTrigger
186
+ );
168
187
  expect(isVisible(outerClickContent)).to.be.true;
169
188
  window.dispatchEvent(new Event("resize"));
170
189
  window.dispatchEvent(new Event("resize"));
171
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
190
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
191
+ OverlayTrigger
192
+ );
172
193
  expect(isVisible(outerClickContent)).to.be.true;
173
194
  });
174
195
  ["modal", "replace", "inline"].map((type) => {
@@ -180,7 +201,9 @@ describe("Overlay Trigger", () => {
180
201
  const opened = oneEvent(outerTrigger, "sp-opened");
181
202
  outerButton.click();
182
203
  await opened;
183
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
204
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
205
+ OverlayTrigger
206
+ );
184
207
  expect(isVisible(outerClickContent)).to.be.true;
185
208
  });
186
209
  });
@@ -191,13 +214,17 @@ describe("Overlay Trigger", () => {
191
214
  const open = oneEvent(outerTrigger, "sp-opened");
192
215
  outerButton.click();
193
216
  await open;
194
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
217
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
218
+ OverlayTrigger
219
+ );
195
220
  expect(isVisible(outerClickContent), "outer popover visible").to.be.true;
196
221
  expect(isVisible(hoverContent), "hover popover still not visible").to.be.false;
197
- outerButton.dispatchEvent(new Event("mouseenter", {
198
- bubbles: true,
199
- composed: true
200
- }));
222
+ outerButton.dispatchEvent(
223
+ new Event("mouseenter", {
224
+ bubbles: true,
225
+ composed: true
226
+ })
227
+ );
201
228
  await nextFrame();
202
229
  expect(hoverContent.parentElement).to.be.instanceOf(OverlayTrigger);
203
230
  expect(isVisible(outerClickContent), "outer popover visible again").to.be.true;
@@ -205,26 +232,36 @@ describe("Overlay Trigger", () => {
205
232
  });
206
233
  it("does not open a popover when [disabled]", async () => {
207
234
  const root = outerTrigger.shadowRoot ? outerTrigger.shadowRoot : outerTrigger;
208
- const triggerZone = root.querySelector("#trigger");
235
+ const triggerZone = root.querySelector(
236
+ "#trigger"
237
+ );
209
238
  expect(outerTrigger.disabled).to.be.false;
210
239
  let open = oneEvent(outerTrigger, "sp-opened");
211
240
  outerButton.click();
212
241
  await open;
213
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
242
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
243
+ OverlayTrigger
244
+ );
214
245
  let closed = oneEvent(outerTrigger, "sp-closed");
215
246
  document.body.click();
216
247
  await closed;
217
- expect(outerClickContent.parentElement).to.be.an.instanceOf(OverlayTrigger);
248
+ expect(outerClickContent.parentElement).to.be.an.instanceOf(
249
+ OverlayTrigger
250
+ );
218
251
  outerTrigger.disabled = true;
219
252
  await elementUpdated(outerTrigger);
220
253
  expect(outerTrigger.disabled).to.be.true;
221
254
  expect(outerTrigger.hasAttribute("disabled")).to.be.true;
222
255
  outerButton.click();
223
256
  await aTimeout(200);
224
- expect(outerClickContent.parentElement).to.be.an.instanceOf(OverlayTrigger);
257
+ expect(outerClickContent.parentElement).to.be.an.instanceOf(
258
+ OverlayTrigger
259
+ );
225
260
  triggerZone.dispatchEvent(new Event("mouseenter"));
226
261
  await aTimeout(200);
227
- expect(outerClickContent.parentElement).to.be.an.instanceOf(OverlayTrigger);
262
+ expect(outerClickContent.parentElement).to.be.an.instanceOf(
263
+ OverlayTrigger
264
+ );
228
265
  outerTrigger.disabled = false;
229
266
  await elementUpdated(outerTrigger);
230
267
  expect(outerTrigger.disabled).to.be.false;
@@ -232,11 +269,15 @@ describe("Overlay Trigger", () => {
232
269
  open = oneEvent(outerTrigger, "sp-opened");
233
270
  outerButton.click();
234
271
  await open;
235
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
272
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
273
+ OverlayTrigger
274
+ );
236
275
  closed = oneEvent(outerTrigger, "sp-closed");
237
276
  outerButton.click();
238
277
  await closed;
239
- expect(outerClickContent.parentElement).to.be.an.instanceOf(OverlayTrigger);
278
+ expect(outerClickContent.parentElement).to.be.an.instanceOf(
279
+ OverlayTrigger
280
+ );
240
281
  });
241
282
  it("opens a nested popover", async () => {
242
283
  expect(isVisible(outerClickContent)).to.be.false;
@@ -245,13 +286,17 @@ describe("Overlay Trigger", () => {
245
286
  let open = oneEvent(outerTrigger, "sp-opened");
246
287
  outerButton.click();
247
288
  await open;
248
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
289
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
290
+ OverlayTrigger
291
+ );
249
292
  expect(isVisible(outerClickContent)).to.be.true;
250
293
  expect(isVisible(innerClickContent)).to.be.false;
251
294
  open = oneEvent(innerTrigger, "sp-opened");
252
295
  innerButton.click();
253
296
  await open;
254
- expect(innerClickContent.parentElement).to.not.be.instanceOf(OverlayTrigger);
297
+ expect(innerClickContent.parentElement).to.not.be.instanceOf(
298
+ OverlayTrigger
299
+ );
255
300
  expect(isVisible(outerClickContent)).to.be.true;
256
301
  expect(isVisible(innerClickContent)).to.be.true;
257
302
  });
@@ -264,20 +309,29 @@ describe("Overlay Trigger", () => {
264
309
  const outerOpen = oneEvent(outerButton, "sp-opened");
265
310
  outerButton.click();
266
311
  await outerOpen;
267
- expect(outerClickContent.parentElement).to.not.be.an.instanceOf(OverlayTrigger);
312
+ expect(outerClickContent.parentElement).to.not.be.an.instanceOf(
313
+ OverlayTrigger
314
+ );
268
315
  expect(isVisible(outerClickContent), "outer popover opens").to.be.true;
269
316
  expect(isVisible(innerClickContent), "inner popover stays closed").to.be.false;
270
317
  const innerOpen = oneEvent(innerButton, "sp-opened");
271
318
  innerButton.click();
272
319
  await innerOpen;
273
- expect(innerClickContent.parentElement).to.not.be.instanceOf(OverlayTrigger);
320
+ expect(innerClickContent.parentElement).to.not.be.instanceOf(
321
+ OverlayTrigger
322
+ );
274
323
  expect(isVisible(outerClickContent), "outer popover stays open").to.be.true;
275
324
  expect(isVisible(innerClickContent), "inner popover opens").to.be.true;
276
325
  const innerClose = oneEvent(innerButton, "sp-closed");
277
326
  pressEscape();
278
327
  await innerClose;
279
- expect(innerClickContent.parentElement).to.be.instanceOf(OverlayTrigger);
280
- expect(document.activeElement === outerClickContent, "outer popover recieved focus").to.be.true;
328
+ expect(innerClickContent.parentElement).to.be.instanceOf(
329
+ OverlayTrigger
330
+ );
331
+ expect(
332
+ document.activeElement === innerButton,
333
+ "outer popover recieved focus"
334
+ ).to.be.true;
281
335
  });
282
336
  it("escape closes an open popover", async () => {
283
337
  outerTrigger.type = "modal";
@@ -285,11 +339,17 @@ describe("Overlay Trigger", () => {
285
339
  const outerOpen = oneEvent(outerButton, "sp-opened");
286
340
  outerButton.click();
287
341
  await outerOpen;
288
- expect(outerClickContent.parentElement instanceof OverlayTrigger, "outer content stolen and reparented").to.be.false;
342
+ expect(
343
+ outerClickContent.parentElement instanceof OverlayTrigger,
344
+ "outer content stolen and reparented"
345
+ ).to.be.false;
289
346
  const innerOpen = oneEvent(innerButton, "sp-opened");
290
347
  innerButton.click();
291
348
  await innerOpen;
292
- expect(innerClickContent.parentElement instanceof OverlayTrigger, "inner content stolen and reparented").to.be.false;
349
+ expect(
350
+ innerClickContent.parentElement instanceof OverlayTrigger,
351
+ "inner content stolen and reparented"
352
+ ).to.be.false;
293
353
  expect(isVisible(outerClickContent)).to.be.true;
294
354
  expect(isVisible(innerClickContent)).to.be.true;
295
355
  pressSpace();
@@ -298,13 +358,19 @@ describe("Overlay Trigger", () => {
298
358
  const innerClose = oneEvent(innerButton, "sp-closed");
299
359
  pressEscape();
300
360
  await innerClose;
301
- expect(innerClickContent.parentElement instanceof OverlayTrigger, "inner content returned").to.be.true;
361
+ expect(
362
+ innerClickContent.parentElement instanceof OverlayTrigger,
363
+ "inner content returned"
364
+ ).to.be.true;
302
365
  expect(isVisible(outerClickContent)).to.be.true;
303
366
  expect(isVisible(innerClickContent)).to.be.false;
304
367
  const outerClose = oneEvent(outerButton, "sp-closed");
305
368
  pressEscape();
306
369
  await outerClose;
307
- expect(outerClickContent.parentElement instanceof OverlayTrigger, "outer content returned").to.be.true;
370
+ expect(
371
+ outerClickContent.parentElement instanceof OverlayTrigger,
372
+ "outer content returned"
373
+ ).to.be.true;
308
374
  expect(isVisible(outerClickContent)).to.be.false;
309
375
  expect(isVisible(innerClickContent)).to.be.false;
310
376
  });
@@ -314,11 +380,17 @@ describe("Overlay Trigger", () => {
314
380
  const outerOpen = oneEvent(outerButton, "sp-opened");
315
381
  outerButton.click();
316
382
  await outerOpen;
317
- expect(outerClickContent.parentElement instanceof OverlayTrigger, "outer content stolen and reparented").to.be.false;
383
+ expect(
384
+ outerClickContent.parentElement instanceof OverlayTrigger,
385
+ "outer content stolen and reparented"
386
+ ).to.be.false;
318
387
  const innerOpen = oneEvent(innerButton, "sp-opened");
319
388
  innerButton.click();
320
389
  await innerOpen;
321
- expect(innerClickContent.parentElement instanceof OverlayTrigger, "inner content stolen and reparented").to.be.false;
390
+ expect(
391
+ innerClickContent.parentElement instanceof OverlayTrigger,
392
+ "inner content stolen and reparented"
393
+ ).to.be.false;
322
394
  expect(isVisible(outerClickContent)).to.be.true;
323
395
  expect(isVisible(innerClickContent)).to.be.true;
324
396
  innerClickContent.click();
@@ -328,19 +400,27 @@ describe("Overlay Trigger", () => {
328
400
  const innerClose = oneEvent(innerButton, "sp-closed");
329
401
  document.body.click();
330
402
  await innerClose;
331
- expect(innerClickContent.parentElement instanceof OverlayTrigger, "inner content returned").to.be.true;
403
+ expect(
404
+ innerClickContent.parentElement instanceof OverlayTrigger,
405
+ "inner content returned"
406
+ ).to.be.true;
332
407
  expect(isVisible(outerClickContent)).to.be.true;
333
408
  expect(isVisible(innerClickContent)).to.be.false;
334
409
  const outerClose = oneEvent(outerButton, "sp-closed");
335
410
  document.body.click();
336
411
  await outerClose;
337
- expect(outerClickContent.parentElement instanceof OverlayTrigger, "outer content returned").to.be.true;
412
+ expect(
413
+ outerClickContent.parentElement instanceof OverlayTrigger,
414
+ "outer content returned"
415
+ ).to.be.true;
338
416
  expect(isVisible(outerClickContent)).to.be.false;
339
417
  expect(isVisible(innerClickContent)).to.be.false;
340
418
  });
341
419
  it("opens a hover popover", async () => {
342
420
  const root = outerTrigger.shadowRoot ? outerTrigger.shadowRoot : outerTrigger;
343
- const triggerZone = root.querySelector("#trigger");
421
+ const triggerZone = root.querySelector(
422
+ "#trigger"
423
+ );
344
424
  expect(triggerZone).to.exist;
345
425
  if (!triggerZone)
346
426
  return;
@@ -351,7 +431,9 @@ describe("Overlay Trigger", () => {
351
431
  const mouseEnter = new MouseEvent("mouseenter");
352
432
  triggerZone.dispatchEvent(mouseEnter);
353
433
  await open;
354
- expect(hoverContent.parentElement).to.not.be.instanceOf(OverlayTrigger);
434
+ expect(hoverContent.parentElement).to.not.be.instanceOf(
435
+ OverlayTrigger
436
+ );
355
437
  expect(isVisible(hoverContent)).to.be.true;
356
438
  const close = oneEvent(outerTrigger, "sp-closed");
357
439
  const mouseLeave = new MouseEvent("mouseleave");
@@ -362,19 +444,27 @@ describe("Overlay Trigger", () => {
362
444
  });
363
445
  it("closes a hover popover", async () => {
364
446
  const root = outerTrigger.shadowRoot ? outerTrigger.shadowRoot : outerTrigger;
365
- const triggerZone = root.querySelector("#trigger");
447
+ const triggerZone = root.querySelector(
448
+ "#trigger"
449
+ );
366
450
  expect(triggerZone).to.exist;
367
451
  if (!triggerZone)
368
452
  return;
369
453
  expect(outerButton).to.exist;
370
454
  expect(hoverContent).to.exist;
371
- expect(isVisible(hoverContent), "hoverContent should not be visible").to.be.false;
455
+ expect(
456
+ isVisible(hoverContent),
457
+ "hoverContent should not be visible"
458
+ ).to.be.false;
372
459
  const mouseEnter = new MouseEvent("mouseenter");
373
460
  const mouseLeave = new MouseEvent("mouseleave");
374
461
  triggerZone.dispatchEvent(mouseEnter);
375
462
  await nextFrame();
376
463
  triggerZone.dispatchEvent(mouseLeave);
377
- await waitUntil(() => isVisible(hoverContent) === false, "hoverContent should still not be visible");
464
+ await waitUntil(
465
+ () => isVisible(hoverContent) === false,
466
+ "hoverContent should still not be visible"
467
+ );
378
468
  });
379
469
  it("dispatches events on open/close", async () => {
380
470
  const opened = oneEvent(outerButton, "sp-opened");
@@ -386,7 +476,9 @@ describe("Overlay Trigger", () => {
386
476
  const closed = oneEvent(outerButton, "sp-closed");
387
477
  document.body.click();
388
478
  const closedEvent = await closed;
389
- expect(outerClickContent.parentElement).to.be.instanceOf(OverlayTrigger);
479
+ expect(outerClickContent.parentElement).to.be.instanceOf(
480
+ OverlayTrigger
481
+ );
390
482
  expect(closedEvent.detail.interaction).to.equal("click");
391
483
  expect(isVisible(outerClickContent)).to.be.false;
392
484
  });
@@ -437,7 +529,9 @@ describe("Overlay Trigger", () => {
437
529
  button.click();
438
530
  await opened;
439
531
  await elementUpdated(el);
440
- const overlay = document.querySelector("active-overlay");
532
+ const overlay = document.querySelector(
533
+ "active-overlay"
534
+ );
441
535
  expect(overlay).to.exist;
442
536
  expect(overlay.theme.color).to.not.equal("dark");
443
537
  expect(overlay.theme.color).to.equal("light");
@@ -497,36 +591,69 @@ describe("Overlay Trigger", () => {
497
591
  await open;
498
592
  await elementUpdated(overlayTriggers[0]);
499
593
  activeOverlays = [...document.querySelectorAll("active-overlay")];
500
- expect(activeOverlays.length, "The first `active-overlay` element has been added.").to.equal(1);
501
- expect(activeOverlays[0].slot, "first overlay, first time").to.equal("open");
594
+ expect(
595
+ activeOverlays.length,
596
+ "The first `active-overlay` element has been added."
597
+ ).to.equal(1);
598
+ expect(
599
+ activeOverlays[0].slot,
600
+ "first overlay, first time"
601
+ ).to.equal("open");
502
602
  open = oneEvent(triggers[1], "sp-opened");
503
603
  (_b = triggers[1]) == null ? void 0 : _b.click();
504
604
  await open;
505
605
  await elementUpdated(overlayTriggers[1]);
506
606
  activeOverlays = [...document.querySelectorAll("active-overlay")];
507
- expect(activeOverlays.length, "The second `active-overlay` element has been added.").to.equal(2);
508
- expect(activeOverlays[0].slot, "first overlay, second time").to.equal("open");
509
- expect(activeOverlays[1].slot, "second overlay, second time").to.equal("open");
607
+ expect(
608
+ activeOverlays.length,
609
+ "The second `active-overlay` element has been added."
610
+ ).to.equal(2);
611
+ expect(
612
+ activeOverlays[0].slot,
613
+ "first overlay, second time"
614
+ ).to.equal("open");
615
+ expect(
616
+ activeOverlays[1].slot,
617
+ "second overlay, second time"
618
+ ).to.equal("open");
510
619
  open = oneEvent(triggers[2], "sp-opened");
511
620
  (_c = triggers[2]) == null ? void 0 : _c.click();
512
621
  await open;
513
622
  await elementUpdated(overlayTriggers[2]);
514
623
  activeOverlays = [...document.querySelectorAll("active-overlay")];
515
- expect(activeOverlays.length, "The third `active-overlay` element has been added.").to.equal(3);
516
- expect(activeOverlays[0].hasAttribute("slot"), "first overlay, third time").to.be.false;
517
- expect(activeOverlays[1].hasAttribute("slot"), "second overlay, third time").to.be.false;
518
- expect(activeOverlays[2].slot, "third overlay, third time").to.equal("open");
624
+ expect(
625
+ activeOverlays.length,
626
+ "The third `active-overlay` element has been added."
627
+ ).to.equal(3);
628
+ expect(
629
+ activeOverlays[0].hasAttribute("slot"),
630
+ "first overlay, third time"
631
+ ).to.be.false;
632
+ expect(
633
+ activeOverlays[1].hasAttribute("slot"),
634
+ "second overlay, third time"
635
+ ).to.be.false;
636
+ expect(
637
+ activeOverlays[2].slot,
638
+ "third overlay, third time"
639
+ ).to.equal("open");
519
640
  await nextFrame();
520
641
  const closed = oneEvent(triggers[2], "sp-closed");
521
642
  document.body.click();
522
643
  await closed;
523
644
  await elementUpdated(overlayTriggers[2]);
524
645
  activeOverlays = [...document.querySelectorAll("active-overlay")];
525
- expect(activeOverlays.length, "The third `active-overlay` element has been removed.").to.equal(2);
646
+ expect(
647
+ activeOverlays.length,
648
+ "The third `active-overlay` element has been removed."
649
+ ).to.equal(2);
526
650
  await waitUntil(() => {
527
651
  return activeOverlays[0].slot === "open";
528
652
  }, "first overlay, last time");
529
- expect(activeOverlays[1].slot, "second overlay, last time").to.equal("open");
653
+ expect(
654
+ activeOverlays[1].slot,
655
+ "second overlay, last time"
656
+ ).to.equal("open");
530
657
  });
531
658
  });
532
659
  });