@spectrum-web-components/overlay 0.39.3 → 0.39.4
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.
- package/custom-elements.json +9 -2
- package/package.json +9 -9
- package/src/AbstractOverlay.d.ts +2 -1
- package/src/AbstractOverlay.dev.js +6 -0
- package/src/AbstractOverlay.dev.js.map +2 -2
- package/src/AbstractOverlay.js +1 -1
- package/src/AbstractOverlay.js.map +3 -3
- package/src/Overlay.d.ts +3 -1
- package/src/Overlay.dev.js +17 -3
- package/src/Overlay.dev.js.map +2 -2
- package/src/Overlay.js +3 -3
- package/src/Overlay.js.map +3 -3
- package/src/topLayerOverTransforms.dev.js +17 -5
- package/src/topLayerOverTransforms.dev.js.map +2 -2
- package/src/topLayerOverTransforms.js +1 -1
- package/src/topLayerOverTransforms.js.map +3 -3
- package/stories/overlay-element.stories.js +32 -24
- package/stories/overlay-element.stories.js.map +2 -2
- package/test/index.js +7 -0
- package/test/index.js.map +2 -2
- package/test/overlay-trigger-click.test.js +40 -8
- package/test/overlay-trigger-click.test.js.map +2 -2
- package/test/overlay-trigger-longpress.test.js +29 -11
- package/test/overlay-trigger-longpress.test.js.map +2 -2
- package/test/overlay-v1.test.js +235 -206
- package/test/overlay-v1.test.js.map +2 -2
- package/test/overlay.test.js +271 -242
- package/test/overlay.test.js.map +2 -2
package/test/overlay.test.js
CHANGED
|
@@ -43,87 +43,164 @@ async function styledFixture(story) {
|
|
|
43
43
|
describe("Overlays", () => {
|
|
44
44
|
let testDiv;
|
|
45
45
|
let openOverlays = [];
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
describe("shared fixture", () => {
|
|
47
|
+
beforeEach(async () => {
|
|
48
|
+
testDiv = await styledFixture(
|
|
49
|
+
html`
|
|
50
|
+
<div id="top">
|
|
51
|
+
<style>
|
|
52
|
+
body {
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
}
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
#top {
|
|
59
|
+
margin: 100px;
|
|
60
|
+
}
|
|
60
61
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
sp-button {
|
|
63
|
+
flex: none;
|
|
64
|
+
}
|
|
64
65
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
<sp-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
66
|
+
#overlay-content {
|
|
67
|
+
display: none;
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
70
|
+
<sp-button id="first-button" variant="primary">
|
|
71
|
+
Show Popover
|
|
72
|
+
</sp-button>
|
|
73
|
+
<div id="overlay-content">
|
|
74
|
+
<sp-popover
|
|
75
|
+
id="outer-popover"
|
|
76
|
+
direction="bottom"
|
|
77
|
+
tip
|
|
78
|
+
>
|
|
79
|
+
<sp-dialog no-divider>
|
|
80
|
+
<div class="options-popover-content">
|
|
81
|
+
A popover message
|
|
82
|
+
</div>
|
|
83
|
+
<sp-button id="outer-focus-target">
|
|
84
|
+
Test 1
|
|
85
|
+
</sp-button>
|
|
86
|
+
<sp-button>Test 2</sp-button>
|
|
87
|
+
<sp-button>Test 3</sp-button>
|
|
88
|
+
</sp-dialog>
|
|
89
|
+
</sp-popover>
|
|
90
|
+
<sp-tooltip id="hover-1" class="hover-content">
|
|
91
|
+
Hover message
|
|
92
|
+
</sp-tooltip>
|
|
93
|
+
<sp-tooltip id="hover-2" class="hover-content">
|
|
94
|
+
Other hover message
|
|
95
|
+
</sp-tooltip>
|
|
96
|
+
</div>
|
|
91
97
|
</div>
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
98
|
+
`
|
|
99
|
+
);
|
|
100
|
+
await elementUpdated(testDiv);
|
|
101
|
+
});
|
|
102
|
+
afterEach(() => {
|
|
103
|
+
openOverlays.map((overlay) => overlay.open = false);
|
|
104
|
+
openOverlays = [];
|
|
105
|
+
});
|
|
106
|
+
[
|
|
107
|
+
"bottom",
|
|
108
|
+
"bottom-start",
|
|
109
|
+
"bottom-end",
|
|
110
|
+
"top",
|
|
111
|
+
"top-start",
|
|
112
|
+
"top-end",
|
|
113
|
+
"left",
|
|
114
|
+
"left-start",
|
|
115
|
+
"left-end",
|
|
116
|
+
"right",
|
|
117
|
+
"right-start",
|
|
118
|
+
"right-end"
|
|
119
|
+
].map((direction) => {
|
|
120
|
+
const placement = direction;
|
|
121
|
+
it(`opens a popover - ${placement}`, async () => {
|
|
122
|
+
const clickSpy = spy();
|
|
123
|
+
const button = testDiv.querySelector(
|
|
124
|
+
"#first-button"
|
|
125
|
+
);
|
|
126
|
+
const outerPopover = testDiv.querySelector(
|
|
127
|
+
"#outer-popover"
|
|
128
|
+
);
|
|
129
|
+
outerPopover.addEventListener("click", () => {
|
|
130
|
+
clickSpy();
|
|
131
|
+
});
|
|
132
|
+
expect(await isInteractive(outerPopover)).to.be.false;
|
|
133
|
+
expect(button).to.exist;
|
|
134
|
+
const opened = oneEvent(outerPopover, "sp-opened");
|
|
135
|
+
openOverlays.push(
|
|
136
|
+
await Overlay.open(outerPopover, {
|
|
137
|
+
trigger: button,
|
|
138
|
+
type: "auto",
|
|
139
|
+
delayed: false,
|
|
140
|
+
placement,
|
|
141
|
+
offset: 10
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
button.insertAdjacentElement(
|
|
145
|
+
"afterend",
|
|
146
|
+
openOverlays.at(-1)
|
|
147
|
+
);
|
|
148
|
+
await opened;
|
|
149
|
+
expect(await isInteractive(outerPopover)).to.be.true;
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
it(`opens a modal dialog`, async () => {
|
|
118
153
|
const button = testDiv.querySelector(
|
|
119
154
|
"#first-button"
|
|
120
155
|
);
|
|
121
156
|
const outerPopover = testDiv.querySelector(
|
|
122
157
|
"#outer-popover"
|
|
123
158
|
);
|
|
124
|
-
|
|
125
|
-
|
|
159
|
+
expect(await isInteractive(outerPopover)).to.be.false;
|
|
160
|
+
expect(button).to.exist;
|
|
161
|
+
const opened = oneEvent(outerPopover, "sp-opened");
|
|
162
|
+
openOverlays.push(
|
|
163
|
+
await Overlay.open(outerPopover, {
|
|
164
|
+
trigger: button
|
|
165
|
+
})
|
|
166
|
+
);
|
|
167
|
+
button.insertAdjacentElement(
|
|
168
|
+
"afterend",
|
|
169
|
+
openOverlays.at(-1)
|
|
170
|
+
);
|
|
171
|
+
await opened;
|
|
172
|
+
const firstFocused = outerPopover.querySelector(
|
|
173
|
+
"#outer-focus-target"
|
|
174
|
+
);
|
|
175
|
+
expect(document.activeElement === firstFocused).to.be.true;
|
|
176
|
+
await sendKeys({
|
|
177
|
+
press: "Tab"
|
|
126
178
|
});
|
|
179
|
+
expect(document.activeElement === button).to.be.false;
|
|
180
|
+
await sendKeys({
|
|
181
|
+
press: "Tab"
|
|
182
|
+
});
|
|
183
|
+
expect(document.activeElement === button).to.be.false;
|
|
184
|
+
await sendKeys({
|
|
185
|
+
press: "Shift+Tab"
|
|
186
|
+
});
|
|
187
|
+
expect(document.activeElement === button).to.be.false;
|
|
188
|
+
await sendKeys({
|
|
189
|
+
press: "Shift+Tab"
|
|
190
|
+
});
|
|
191
|
+
expect(document.activeElement === button).to.be.false;
|
|
192
|
+
await sendKeys({
|
|
193
|
+
press: "Shift+Tab"
|
|
194
|
+
});
|
|
195
|
+
expect(document.activeElement === button).to.be.false;
|
|
196
|
+
});
|
|
197
|
+
it(`updates a popover`, async () => {
|
|
198
|
+
const button = testDiv.querySelector(
|
|
199
|
+
"#first-button"
|
|
200
|
+
);
|
|
201
|
+
const outerPopover = testDiv.querySelector(
|
|
202
|
+
"#outer-popover"
|
|
203
|
+
);
|
|
127
204
|
expect(await isInteractive(outerPopover)).to.be.false;
|
|
128
205
|
expect(button).to.exist;
|
|
129
206
|
const opened = oneEvent(outerPopover, "sp-opened");
|
|
@@ -131,8 +208,6 @@ describe("Overlays", () => {
|
|
|
131
208
|
await Overlay.open(outerPopover, {
|
|
132
209
|
trigger: button,
|
|
133
210
|
type: "auto",
|
|
134
|
-
delayed: false,
|
|
135
|
-
placement,
|
|
136
211
|
offset: 10
|
|
137
212
|
})
|
|
138
213
|
);
|
|
@@ -142,180 +217,134 @@ describe("Overlays", () => {
|
|
|
142
217
|
);
|
|
143
218
|
await opened;
|
|
144
219
|
expect(await isInteractive(outerPopover)).to.be.true;
|
|
220
|
+
Overlay.update();
|
|
221
|
+
expect(await isInteractive(outerPopover)).to.be.true;
|
|
145
222
|
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
});
|
|
174
|
-
expect(document.activeElement === button).to.be.false;
|
|
175
|
-
await sendKeys({
|
|
176
|
-
press: "Shift+Tab"
|
|
223
|
+
it(`opens a popover w/ delay`, async () => {
|
|
224
|
+
const button = testDiv.querySelector(
|
|
225
|
+
"#first-button"
|
|
226
|
+
);
|
|
227
|
+
const outerPopover = testDiv.querySelector(
|
|
228
|
+
"#outer-popover"
|
|
229
|
+
);
|
|
230
|
+
expect(await isInteractive(outerPopover)).to.be.false;
|
|
231
|
+
expect(button).to.exist;
|
|
232
|
+
const opened = oneEvent(outerPopover, "sp-opened");
|
|
233
|
+
const start = performance.now();
|
|
234
|
+
openOverlays.push(
|
|
235
|
+
await Overlay.open(outerPopover, {
|
|
236
|
+
trigger: button,
|
|
237
|
+
type: "auto",
|
|
238
|
+
delayed: true,
|
|
239
|
+
offset: 10
|
|
240
|
+
})
|
|
241
|
+
);
|
|
242
|
+
button.insertAdjacentElement(
|
|
243
|
+
"afterend",
|
|
244
|
+
openOverlays.at(-1)
|
|
245
|
+
);
|
|
246
|
+
await opened;
|
|
247
|
+
const end = performance.now();
|
|
248
|
+
expect(await isInteractive(outerPopover)).to.be.true;
|
|
249
|
+
expect(end - start).to.be.greaterThan(1e3);
|
|
177
250
|
});
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
251
|
+
it("opens hover overlay", async () => {
|
|
252
|
+
const button = testDiv.querySelector(
|
|
253
|
+
"#first-button"
|
|
254
|
+
);
|
|
255
|
+
const hoverOverlay = testDiv.querySelector(
|
|
256
|
+
"#hover-1"
|
|
257
|
+
);
|
|
258
|
+
const clickOverlay = testDiv.querySelector(
|
|
259
|
+
"#outer-popover"
|
|
260
|
+
);
|
|
261
|
+
expect(await isOnTopLayer(hoverOverlay)).to.be.false;
|
|
262
|
+
expect(await isOnTopLayer(clickOverlay)).to.be.false;
|
|
263
|
+
let opened = oneEvent(hoverOverlay, "sp-opened");
|
|
264
|
+
openOverlays.push(
|
|
265
|
+
await Overlay.open(hoverOverlay, {
|
|
266
|
+
trigger: button,
|
|
267
|
+
type: "hint",
|
|
268
|
+
placement: "top",
|
|
269
|
+
offset: 10
|
|
270
|
+
})
|
|
271
|
+
);
|
|
272
|
+
button.insertAdjacentElement(
|
|
273
|
+
"afterend",
|
|
274
|
+
openOverlays.at(-1)
|
|
275
|
+
);
|
|
276
|
+
await opened;
|
|
277
|
+
expect(await isOnTopLayer(hoverOverlay)).to.be.true;
|
|
278
|
+
opened = oneEvent(clickOverlay, "sp-opened");
|
|
279
|
+
const closed = oneEvent(hoverOverlay, "sp-closed");
|
|
280
|
+
openOverlays.push(
|
|
281
|
+
await Overlay.open(clickOverlay, {
|
|
282
|
+
trigger: button,
|
|
283
|
+
type: "auto",
|
|
284
|
+
placement: "bottom",
|
|
285
|
+
offset: 10
|
|
286
|
+
})
|
|
287
|
+
);
|
|
288
|
+
button.insertAdjacentElement(
|
|
289
|
+
"afterend",
|
|
290
|
+
openOverlays.at(-1)
|
|
291
|
+
);
|
|
292
|
+
await opened;
|
|
293
|
+
await closed;
|
|
294
|
+
expect(
|
|
295
|
+
await isInteractive(clickOverlay),
|
|
296
|
+
"click overlay not interactive"
|
|
297
|
+
).to.be.true;
|
|
298
|
+
expect(
|
|
299
|
+
await isOnTopLayer(hoverOverlay),
|
|
300
|
+
"hover overlay interactive"
|
|
301
|
+
).to.be.false;
|
|
181
302
|
});
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
303
|
+
it("opens custom overlay", async () => {
|
|
304
|
+
const button = testDiv.querySelector(
|
|
305
|
+
"#first-button"
|
|
306
|
+
);
|
|
307
|
+
const customOverlay = testDiv.querySelector(
|
|
308
|
+
"#hover-1"
|
|
309
|
+
);
|
|
310
|
+
const clickOverlay = testDiv.querySelector(
|
|
311
|
+
"#outer-popover"
|
|
312
|
+
);
|
|
313
|
+
expect(button).to.exist;
|
|
314
|
+
expect(customOverlay).to.exist;
|
|
315
|
+
expect(await isOnTopLayer(customOverlay)).to.be.false;
|
|
316
|
+
expect(await isOnTopLayer(clickOverlay)).to.be.false;
|
|
317
|
+
let opened = oneEvent(customOverlay, "sp-opened");
|
|
318
|
+
openOverlays.push(
|
|
319
|
+
await Overlay.open(customOverlay, {
|
|
320
|
+
trigger: button,
|
|
321
|
+
type: "auto",
|
|
322
|
+
placement: "top",
|
|
323
|
+
offset: 10
|
|
324
|
+
})
|
|
325
|
+
);
|
|
326
|
+
button.insertAdjacentElement(
|
|
327
|
+
"afterend",
|
|
328
|
+
openOverlays.at(-1)
|
|
329
|
+
);
|
|
330
|
+
await opened;
|
|
331
|
+
expect(await isOnTopLayer(customOverlay)).to.be.true;
|
|
332
|
+
opened = oneEvent(clickOverlay, "sp-opened");
|
|
333
|
+
openOverlays.push(
|
|
334
|
+
await Overlay.open(clickOverlay, {
|
|
335
|
+
trigger: button,
|
|
336
|
+
type: "auto",
|
|
337
|
+
placement: "bottom",
|
|
338
|
+
offset: 10
|
|
339
|
+
})
|
|
340
|
+
);
|
|
341
|
+
button.insertAdjacentElement(
|
|
342
|
+
"afterend",
|
|
343
|
+
openOverlays.at(-1)
|
|
344
|
+
);
|
|
345
|
+
await opened;
|
|
346
|
+
expect(await isOnTopLayer(clickOverlay), "click content open").to.be.true;
|
|
185
347
|
});
|
|
186
|
-
expect(document.activeElement === button).to.be.false;
|
|
187
|
-
});
|
|
188
|
-
it(`updates a popover`, async () => {
|
|
189
|
-
const button = testDiv.querySelector("#first-button");
|
|
190
|
-
const outerPopover = testDiv.querySelector("#outer-popover");
|
|
191
|
-
expect(await isInteractive(outerPopover)).to.be.false;
|
|
192
|
-
expect(button).to.exist;
|
|
193
|
-
const opened = oneEvent(outerPopover, "sp-opened");
|
|
194
|
-
openOverlays.push(
|
|
195
|
-
await Overlay.open(outerPopover, {
|
|
196
|
-
trigger: button,
|
|
197
|
-
type: "auto",
|
|
198
|
-
offset: 10
|
|
199
|
-
})
|
|
200
|
-
);
|
|
201
|
-
button.insertAdjacentElement(
|
|
202
|
-
"afterend",
|
|
203
|
-
openOverlays.at(-1)
|
|
204
|
-
);
|
|
205
|
-
await opened;
|
|
206
|
-
expect(await isInteractive(outerPopover)).to.be.true;
|
|
207
|
-
Overlay.update();
|
|
208
|
-
expect(await isInteractive(outerPopover)).to.be.true;
|
|
209
|
-
});
|
|
210
|
-
it(`opens a popover w/ delay`, async () => {
|
|
211
|
-
const button = testDiv.querySelector("#first-button");
|
|
212
|
-
const outerPopover = testDiv.querySelector("#outer-popover");
|
|
213
|
-
expect(await isInteractive(outerPopover)).to.be.false;
|
|
214
|
-
expect(button).to.exist;
|
|
215
|
-
const opened = oneEvent(outerPopover, "sp-opened");
|
|
216
|
-
const start = performance.now();
|
|
217
|
-
openOverlays.push(
|
|
218
|
-
await Overlay.open(outerPopover, {
|
|
219
|
-
trigger: button,
|
|
220
|
-
type: "auto",
|
|
221
|
-
delayed: true,
|
|
222
|
-
offset: 10
|
|
223
|
-
})
|
|
224
|
-
);
|
|
225
|
-
button.insertAdjacentElement(
|
|
226
|
-
"afterend",
|
|
227
|
-
openOverlays.at(-1)
|
|
228
|
-
);
|
|
229
|
-
await opened;
|
|
230
|
-
const end = performance.now();
|
|
231
|
-
expect(await isInteractive(outerPopover)).to.be.true;
|
|
232
|
-
expect(end - start).to.be.greaterThan(1e3);
|
|
233
|
-
});
|
|
234
|
-
it("opens hover overlay", async () => {
|
|
235
|
-
const button = testDiv.querySelector("#first-button");
|
|
236
|
-
const hoverOverlay = testDiv.querySelector("#hover-1");
|
|
237
|
-
const clickOverlay = testDiv.querySelector(
|
|
238
|
-
"#outer-popover"
|
|
239
|
-
);
|
|
240
|
-
expect(await isOnTopLayer(hoverOverlay)).to.be.false;
|
|
241
|
-
expect(await isOnTopLayer(clickOverlay)).to.be.false;
|
|
242
|
-
let opened = oneEvent(hoverOverlay, "sp-opened");
|
|
243
|
-
openOverlays.push(
|
|
244
|
-
await Overlay.open(hoverOverlay, {
|
|
245
|
-
trigger: button,
|
|
246
|
-
type: "hint",
|
|
247
|
-
placement: "top",
|
|
248
|
-
offset: 10
|
|
249
|
-
})
|
|
250
|
-
);
|
|
251
|
-
button.insertAdjacentElement(
|
|
252
|
-
"afterend",
|
|
253
|
-
openOverlays.at(-1)
|
|
254
|
-
);
|
|
255
|
-
await opened;
|
|
256
|
-
expect(await isOnTopLayer(hoverOverlay)).to.be.true;
|
|
257
|
-
opened = oneEvent(clickOverlay, "sp-opened");
|
|
258
|
-
const closed = oneEvent(hoverOverlay, "sp-closed");
|
|
259
|
-
openOverlays.push(
|
|
260
|
-
await Overlay.open(clickOverlay, {
|
|
261
|
-
trigger: button,
|
|
262
|
-
type: "auto",
|
|
263
|
-
placement: "bottom",
|
|
264
|
-
offset: 10
|
|
265
|
-
})
|
|
266
|
-
);
|
|
267
|
-
button.insertAdjacentElement(
|
|
268
|
-
"afterend",
|
|
269
|
-
openOverlays.at(-1)
|
|
270
|
-
);
|
|
271
|
-
await opened;
|
|
272
|
-
await closed;
|
|
273
|
-
expect(
|
|
274
|
-
await isInteractive(clickOverlay),
|
|
275
|
-
"click overlay not interactive"
|
|
276
|
-
).to.be.true;
|
|
277
|
-
expect(await isOnTopLayer(hoverOverlay), "hover overlay interactive").to.be.false;
|
|
278
|
-
});
|
|
279
|
-
it("opens custom overlay", async () => {
|
|
280
|
-
const button = testDiv.querySelector("#first-button");
|
|
281
|
-
const customOverlay = testDiv.querySelector("#hover-1");
|
|
282
|
-
const clickOverlay = testDiv.querySelector(
|
|
283
|
-
"#outer-popover"
|
|
284
|
-
);
|
|
285
|
-
expect(button).to.exist;
|
|
286
|
-
expect(customOverlay).to.exist;
|
|
287
|
-
expect(await isOnTopLayer(customOverlay)).to.be.false;
|
|
288
|
-
expect(await isOnTopLayer(clickOverlay)).to.be.false;
|
|
289
|
-
let opened = oneEvent(customOverlay, "sp-opened");
|
|
290
|
-
openOverlays.push(
|
|
291
|
-
await Overlay.open(customOverlay, {
|
|
292
|
-
trigger: button,
|
|
293
|
-
type: "auto",
|
|
294
|
-
placement: "top",
|
|
295
|
-
offset: 10
|
|
296
|
-
})
|
|
297
|
-
);
|
|
298
|
-
button.insertAdjacentElement(
|
|
299
|
-
"afterend",
|
|
300
|
-
openOverlays.at(-1)
|
|
301
|
-
);
|
|
302
|
-
await opened;
|
|
303
|
-
expect(await isOnTopLayer(customOverlay)).to.be.true;
|
|
304
|
-
opened = oneEvent(clickOverlay, "sp-opened");
|
|
305
|
-
openOverlays.push(
|
|
306
|
-
await Overlay.open(clickOverlay, {
|
|
307
|
-
trigger: button,
|
|
308
|
-
type: "auto",
|
|
309
|
-
placement: "bottom",
|
|
310
|
-
offset: 10
|
|
311
|
-
})
|
|
312
|
-
);
|
|
313
|
-
button.insertAdjacentElement(
|
|
314
|
-
"afterend",
|
|
315
|
-
openOverlays.at(-1)
|
|
316
|
-
);
|
|
317
|
-
await opened;
|
|
318
|
-
expect(await isOnTopLayer(clickOverlay), "click content open").to.be.true;
|
|
319
348
|
});
|
|
320
349
|
it("closes via events", async () => {
|
|
321
350
|
const test = await fixture(html`
|