@spectrum-web-components/overlay 0.32.0 → 0.32.1-overlay.41

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 (152) hide show
  1. package/README.md +120 -156
  2. package/custom-elements.json +1394 -535
  3. package/package.json +48 -22
  4. package/sp-overlay.d.ts +6 -0
  5. package/sp-overlay.dev.js +5 -0
  6. package/{active-overlay.dev.js.map → sp-overlay.dev.js.map} +3 -3
  7. package/sp-overlay.js +2 -0
  8. package/{active-overlay.js.map → sp-overlay.js.map} +4 -4
  9. package/src/Overlay.d.ts +28 -0
  10. package/src/Overlay.dev.js +88 -0
  11. package/src/Overlay.dev.js.map +7 -0
  12. package/src/Overlay.js +2 -0
  13. package/src/Overlay.js.map +7 -0
  14. package/src/OverlayBase.d.ts +124 -0
  15. package/src/OverlayBase.dev.js +719 -0
  16. package/src/OverlayBase.dev.js.map +7 -0
  17. package/src/OverlayBase.js +31 -0
  18. package/src/OverlayBase.js.map +7 -0
  19. package/src/OverlayDialog.d.ts +8 -0
  20. package/src/OverlayDialog.dev.js +160 -0
  21. package/src/OverlayDialog.dev.js.map +7 -0
  22. package/src/OverlayDialog.js +2 -0
  23. package/src/OverlayDialog.js.map +7 -0
  24. package/src/OverlayNoPopover.d.ts +8 -0
  25. package/src/OverlayNoPopover.dev.js +149 -0
  26. package/src/OverlayNoPopover.dev.js.map +7 -0
  27. package/src/OverlayNoPopover.js +2 -0
  28. package/src/OverlayNoPopover.js.map +7 -0
  29. package/src/OverlayPopover.d.ts +8 -0
  30. package/src/OverlayPopover.dev.js +199 -0
  31. package/src/OverlayPopover.dev.js.map +7 -0
  32. package/src/OverlayPopover.js +2 -0
  33. package/src/OverlayPopover.js.map +7 -0
  34. package/src/OverlayStack.d.ts +29 -0
  35. package/src/OverlayStack.dev.js +122 -0
  36. package/src/OverlayStack.dev.js.map +7 -0
  37. package/src/OverlayStack.js +2 -0
  38. package/src/OverlayStack.js.map +7 -0
  39. package/src/OverlayTrigger.d.ts +23 -31
  40. package/src/OverlayTrigger.dev.js +135 -245
  41. package/src/OverlayTrigger.dev.js.map +3 -3
  42. package/src/OverlayTrigger.js +52 -22
  43. package/src/OverlayTrigger.js.map +3 -3
  44. package/src/PlacementController.d.ts +36 -0
  45. package/src/PlacementController.dev.js +191 -0
  46. package/src/PlacementController.dev.js.map +7 -0
  47. package/src/PlacementController.js +2 -0
  48. package/src/PlacementController.js.map +7 -0
  49. package/src/VirtualTrigger.dev.js +0 -2
  50. package/src/VirtualTrigger.dev.js.map +2 -2
  51. package/src/VirtualTrigger.js +1 -1
  52. package/src/VirtualTrigger.js.map +3 -3
  53. package/src/fullSizePlugin.d.ts +12 -0
  54. package/src/fullSizePlugin.dev.js +39 -0
  55. package/src/fullSizePlugin.dev.js.map +7 -0
  56. package/src/fullSizePlugin.js +2 -0
  57. package/src/fullSizePlugin.js.map +7 -0
  58. package/src/index.d.ts +2 -3
  59. package/src/index.dev.js +2 -3
  60. package/src/index.dev.js.map +2 -2
  61. package/src/index.js +1 -1
  62. package/src/index.js.map +2 -2
  63. package/src/loader.d.ts +2 -2
  64. package/src/loader.dev.js +2 -19
  65. package/src/loader.dev.js.map +2 -2
  66. package/src/loader.js +1 -1
  67. package/src/loader.js.map +3 -3
  68. package/src/overlay-base.css.dev.js +9 -0
  69. package/src/overlay-base.css.dev.js.map +7 -0
  70. package/src/overlay-base.css.js +6 -0
  71. package/src/overlay-base.css.js.map +7 -0
  72. package/src/overlay-trigger.css.dev.js +1 -1
  73. package/src/overlay-trigger.css.dev.js.map +1 -1
  74. package/src/overlay-trigger.css.js +1 -1
  75. package/src/overlay-trigger.css.js.map +1 -1
  76. package/src/overlay-types.d.ts +6 -4
  77. package/src/overlay-types.dev.js +1 -0
  78. package/src/overlay-types.dev.js.map +3 -3
  79. package/src/overlay-types.js +1 -1
  80. package/src/overlay-types.js.map +3 -3
  81. package/src/topLayerOverTransforms.d.ts +23 -0
  82. package/src/topLayerOverTransforms.dev.js +170 -0
  83. package/src/topLayerOverTransforms.dev.js.map +7 -0
  84. package/src/topLayerOverTransforms.js +2 -0
  85. package/src/topLayerOverTransforms.js.map +7 -0
  86. package/stories/overlay-element.stories.js +247 -0
  87. package/stories/overlay-element.stories.js.map +7 -0
  88. package/stories/overlay-story-components.js +9 -8
  89. package/stories/overlay-story-components.js.map +2 -2
  90. package/stories/overlay.stories.js +661 -652
  91. package/stories/overlay.stories.js.map +2 -2
  92. package/sync/overlay-trigger.d.ts +4 -0
  93. package/sync/overlay-trigger.dev.js +1 -4
  94. package/sync/overlay-trigger.dev.js.map +2 -2
  95. package/sync/overlay-trigger.js +1 -1
  96. package/sync/overlay-trigger.js.map +3 -3
  97. package/test/benchmark/basic-test.js +1 -1
  98. package/test/benchmark/basic-test.js.map +1 -1
  99. package/test/index.js +407 -376
  100. package/test/index.js.map +3 -3
  101. package/test/overlay-element.test-vrt.js +5 -0
  102. package/test/overlay-element.test-vrt.js.map +7 -0
  103. package/test/overlay-element.test.js +664 -0
  104. package/test/overlay-element.test.js.map +7 -0
  105. package/test/overlay-lifecycle.test.js +34 -106
  106. package/test/overlay-lifecycle.test.js.map +2 -2
  107. package/test/overlay-trigger-click.test.js +11 -5
  108. package/test/overlay-trigger-click.test.js.map +2 -2
  109. package/test/overlay-trigger-extended.test.js +1 -6
  110. package/test/overlay-trigger-extended.test.js.map +2 -2
  111. package/test/overlay-trigger-hover-click.test.js +23 -23
  112. package/test/overlay-trigger-hover-click.test.js.map +2 -2
  113. package/test/overlay-trigger-hover.test.js +40 -34
  114. package/test/overlay-trigger-hover.test.js.map +2 -2
  115. package/test/overlay-trigger-longpress.test.js +98 -80
  116. package/test/overlay-trigger-longpress.test.js.map +2 -2
  117. package/test/overlay-trigger-sync.test.js +1 -1
  118. package/test/overlay-trigger-sync.test.js.map +2 -2
  119. package/test/overlay-trigger.test.js +1 -1
  120. package/test/overlay-trigger.test.js.map +2 -2
  121. package/test/overlay-update.test.js +4 -4
  122. package/test/overlay-update.test.js.map +2 -2
  123. package/test/overlay.test.js +253 -242
  124. package/test/overlay.test.js.map +3 -3
  125. package/active-overlay.d.ts +0 -6
  126. package/active-overlay.dev.js +0 -5
  127. package/active-overlay.js +0 -2
  128. package/src/ActiveOverlay.d.ts +0 -84
  129. package/src/ActiveOverlay.dev.js +0 -517
  130. package/src/ActiveOverlay.dev.js.map +0 -7
  131. package/src/ActiveOverlay.js +0 -16
  132. package/src/ActiveOverlay.js.map +0 -7
  133. package/src/active-overlay.css.dev.js +0 -13
  134. package/src/active-overlay.css.dev.js.map +0 -7
  135. package/src/active-overlay.css.js +0 -10
  136. package/src/active-overlay.css.js.map +0 -7
  137. package/src/overlay-stack.d.ts +0 -50
  138. package/src/overlay-stack.dev.js +0 -515
  139. package/src/overlay-stack.dev.js.map +0 -7
  140. package/src/overlay-stack.js +0 -34
  141. package/src/overlay-stack.js.map +0 -7
  142. package/src/overlay-utils.d.ts +0 -3
  143. package/src/overlay-utils.dev.js +0 -31
  144. package/src/overlay-utils.dev.js.map +0 -7
  145. package/src/overlay-utils.js +0 -2
  146. package/src/overlay-utils.js.map +0 -7
  147. package/src/overlay.d.ts +0 -59
  148. package/src/overlay.dev.js +0 -127
  149. package/src/overlay.dev.js.map +0 -7
  150. package/src/overlay.js +0 -2
  151. package/src/overlay.js.map +0 -7
  152. /package/src/{active-overlay.css.d.ts → overlay-base.css.d.ts} +0 -0
@@ -4,7 +4,22 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "overlay-trigger.js",
7
+ "path": "sp-overlay.ts",
8
+ "declarations": [],
9
+ "exports": [
10
+ {
11
+ "kind": "custom-element-definition",
12
+ "name": "sp-overlay",
13
+ "declaration": {
14
+ "name": "Overlay",
15
+ "module": "/src/Overlay.js"
16
+ }
17
+ }
18
+ ]
19
+ },
20
+ {
21
+ "kind": "javascript-module",
22
+ "path": "overlay-trigger.ts",
8
23
  "declarations": [],
9
24
  "exports": [
10
25
  {
@@ -19,418 +34,1205 @@
19
34
  },
20
35
  {
21
36
  "kind": "javascript-module",
22
- "path": "sync/overlay-trigger.js",
37
+ "path": "sync/overlay-trigger.ts",
23
38
  "declarations": [],
24
- "exports": []
39
+ "exports": [
40
+ {
41
+ "kind": "js",
42
+ "name": "OverlayTrigger",
43
+ "declaration": {
44
+ "name": "OverlayTrigger",
45
+ "module": "sync/overlay-trigger.ts"
46
+ }
47
+ },
48
+ {
49
+ "kind": "js",
50
+ "name": "OverlayOptions",
51
+ "declaration": {
52
+ "name": "OverlayOptions",
53
+ "module": "sync/overlay-trigger.ts"
54
+ }
55
+ },
56
+ {
57
+ "kind": "js",
58
+ "name": "TriggerInteractions",
59
+ "declaration": {
60
+ "name": "TriggerInteractions",
61
+ "module": "sync/overlay-trigger.ts"
62
+ }
63
+ }
64
+ ]
25
65
  },
26
66
  {
27
67
  "kind": "javascript-module",
28
- "path": "src/ActiveOverlay.js",
68
+ "path": "src/Overlay.ts",
29
69
  "declarations": [
30
70
  {
31
71
  "kind": "class",
32
72
  "description": "",
33
- "name": "ActiveOverlay",
34
- "slots": [
73
+ "name": "Overlay",
74
+ "members": [
75
+ {
76
+ "kind": "method",
77
+ "name": "open",
78
+ "privacy": "public",
79
+ "static": true,
80
+ "return": {
81
+ "type": {
82
+ "text": "Promise<() => void>"
83
+ }
84
+ },
85
+ "parameters": [
86
+ {
87
+ "name": "target",
88
+ "type": {
89
+ "text": "HTMLElement"
90
+ }
91
+ },
92
+ {
93
+ "name": "interaction",
94
+ "type": {
95
+ "text": "TriggerInteractionsV1"
96
+ }
97
+ },
98
+ {
99
+ "name": "content",
100
+ "type": {
101
+ "text": "HTMLElement"
102
+ }
103
+ },
104
+ {
105
+ "name": "options",
106
+ "type": {
107
+ "text": "OverlayOptions"
108
+ }
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "kind": "method",
114
+ "name": "open",
115
+ "privacy": "public",
116
+ "static": true,
117
+ "return": {
118
+ "type": {
119
+ "text": "Promise<Overlay>"
120
+ }
121
+ },
122
+ "parameters": [
123
+ {
124
+ "name": "content",
125
+ "type": {
126
+ "text": "HTMLElement"
127
+ }
128
+ },
129
+ {
130
+ "name": "options",
131
+ "type": {
132
+ "text": "OverlayOptionsV2"
133
+ }
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "kind": "method",
139
+ "name": "open",
140
+ "privacy": "public",
141
+ "static": true,
142
+ "return": {
143
+ "type": {
144
+ "text": "Promise<Overlay | (() => void)>"
145
+ }
146
+ },
147
+ "parameters": [
148
+ {
149
+ "name": "targetOrContent",
150
+ "type": {
151
+ "text": "HTMLElement"
152
+ }
153
+ },
154
+ {
155
+ "name": "interactionOrOptions",
156
+ "type": {
157
+ "text": "TriggerInteractionsV1 | OverlayOptionsV2"
158
+ }
159
+ },
160
+ {
161
+ "name": "content",
162
+ "optional": true,
163
+ "type": {
164
+ "text": "HTMLElement"
165
+ }
166
+ },
167
+ {
168
+ "name": "options",
169
+ "optional": true,
170
+ "type": {
171
+ "text": "OverlayOptions"
172
+ }
173
+ }
174
+ ]
175
+ }
176
+ ],
177
+ "events": [
35
178
  {
36
- "description": "content to display in the overlay",
37
- "name": ""
179
+ "description": "announces that an overlay has completed any entry animations",
180
+ "name": "sp-opened"
181
+ },
182
+ {
183
+ "description": "announce that an overlay has compelted any exit animations",
184
+ "name": "sp-closed"
38
185
  }
39
186
  ],
187
+ "superclass": {
188
+ "name": "OverlayFeatures",
189
+ "module": "src/Overlay.ts"
190
+ },
191
+ "tagName": "sp-overlay",
192
+ "customElement": true
193
+ }
194
+ ],
195
+ "exports": [
196
+ {
197
+ "kind": "js",
198
+ "name": "Overlay",
199
+ "declaration": {
200
+ "name": "Overlay",
201
+ "module": "src/Overlay.ts"
202
+ }
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "kind": "javascript-module",
208
+ "path": "src/OverlayBase.ts",
209
+ "declarations": [
210
+ {
211
+ "kind": "variable",
212
+ "name": "overlayTimer",
213
+ "default": "new OverlayTimer()"
214
+ },
215
+ {
216
+ "kind": "variable",
217
+ "name": "LONGPRESS_INSTRUCTIONS",
218
+ "type": {
219
+ "text": "object"
220
+ },
221
+ "default": "{\n touch: 'Double tap and long press for additional options',\n keyboard: 'Press Space or Alt+Down Arrow for additional options',\n mouse: 'Click and hold for additional options',\n}"
222
+ },
223
+ {
224
+ "kind": "class",
225
+ "description": "",
226
+ "name": "BeforetoggleClosedEvent",
40
227
  "members": [
41
228
  {
42
229
  "kind": "field",
43
- "name": "overlayContent",
230
+ "name": "currentState",
44
231
  "type": {
45
- "text": "HTMLElement"
232
+ "text": "string"
46
233
  },
47
- "privacy": "public"
234
+ "default": "'open'"
48
235
  },
49
236
  {
50
237
  "kind": "field",
51
- "name": "overlayContentTip",
238
+ "name": "newState",
52
239
  "type": {
53
- "text": "HTMLElement | undefined"
240
+ "text": "string"
54
241
  },
55
- "privacy": "public"
56
- },
242
+ "default": "'closed'"
243
+ }
244
+ ],
245
+ "superclass": {
246
+ "name": "Event",
247
+ "module": "src/OverlayBase.ts"
248
+ }
249
+ },
250
+ {
251
+ "kind": "class",
252
+ "description": "",
253
+ "name": "BeforetoggleOpenEvent",
254
+ "members": [
57
255
  {
58
256
  "kind": "field",
59
- "name": "trigger",
257
+ "name": "currentState",
60
258
  "type": {
61
- "text": "HTMLElement"
259
+ "text": "string"
62
260
  },
63
- "privacy": "public"
261
+ "default": "'closed'"
64
262
  },
65
263
  {
66
264
  "kind": "field",
67
- "name": "root",
265
+ "name": "newState",
68
266
  "type": {
69
- "text": "HTMLElement | undefined"
267
+ "text": "string"
70
268
  },
71
- "privacy": "public"
72
- },
269
+ "default": "'open'"
270
+ }
271
+ ],
272
+ "superclass": {
273
+ "name": "Event",
274
+ "module": "src/OverlayBase.ts"
275
+ }
276
+ },
277
+ {
278
+ "kind": "function",
279
+ "name": "noop",
280
+ "return": {
281
+ "type": {
282
+ "text": "void"
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "kind": "function",
288
+ "name": "guaranteedTransitionend",
289
+ "return": {
290
+ "type": {
291
+ "text": "void"
292
+ }
293
+ },
294
+ "parameters": [
73
295
  {
74
- "kind": "field",
75
- "name": "virtualTrigger",
296
+ "name": "el",
76
297
  "type": {
77
- "text": "VirtualTrigger | undefined"
298
+ "text": "HTMLElement"
78
299
  },
79
- "privacy": "public"
300
+ "description": "Target of the \"transition\" listeners."
80
301
  },
81
302
  {
82
- "kind": "field",
83
- "name": "cleanup",
303
+ "name": "action",
84
304
  "type": {
85
- "text": "() => void | undefined"
305
+ "text": "Function"
86
306
  },
87
- "privacy": "private"
307
+ "description": "Method to trigger the \"transition\"."
88
308
  },
89
309
  {
90
- "kind": "field",
91
- "name": "contentAnimationPromise",
310
+ "name": "cb",
92
311
  "type": {
93
- "text": "Promise<boolean>"
312
+ "text": "Function"
94
313
  },
95
- "privacy": "protected"
96
- },
314
+ "description": "Callback to trigger when the \"transition\" has ended."
315
+ }
316
+ ],
317
+ "description": "Apply a \"transitionend\" listener to an element that may not transition but\nguarantee the callback will be fired either way."
318
+ },
319
+ {
320
+ "kind": "class",
321
+ "description": "",
322
+ "name": "OverlayBase",
323
+ "members": [
97
324
  {
98
325
  "kind": "field",
99
- "name": "resolveContentAnimationPromise",
100
- "privacy": "protected"
326
+ "name": "delayed",
327
+ "type": {
328
+ "text": "boolean"
329
+ },
330
+ "default": "false",
331
+ "attribute": "delayed"
101
332
  },
102
333
  {
103
334
  "kind": "field",
104
- "name": "_state",
105
- "privacy": "public",
106
- "attribute": "_state"
335
+ "name": "dialogEl",
336
+ "type": {
337
+ "text": "HTMLDialogElement & {\n showPopover(): void;\n hidePopover(): void;\n }"
338
+ }
107
339
  },
108
340
  {
109
341
  "kind": "field",
110
- "name": "state",
342
+ "name": "disabled",
111
343
  "type": {
112
- "text": "OverlayStateType"
344
+ "text": "boolean"
113
345
  },
114
- "privacy": "public"
346
+ "attribute": "disabled"
115
347
  },
116
348
  {
117
349
  "kind": "field",
118
- "name": "animating",
350
+ "name": "_disabled",
119
351
  "type": {
120
352
  "text": "boolean"
121
353
  },
122
- "privacy": "public",
123
- "default": "false",
124
- "attribute": "animating",
125
- "reflects": true
354
+ "privacy": "private",
355
+ "default": "false"
126
356
  },
127
357
  {
128
358
  "kind": "field",
129
- "name": "placement",
359
+ "name": "dispose",
360
+ "privacy": "protected",
361
+ "default": "noop"
362
+ },
363
+ {
364
+ "kind": "field",
365
+ "name": "elements",
130
366
  "type": {
131
- "text": "Placement | undefined"
132
- },
133
- "privacy": "public",
134
- "attribute": "placement",
135
- "reflects": true
367
+ "text": "OpenableElement[]"
368
+ }
136
369
  },
137
370
  {
138
371
  "kind": "field",
139
- "name": "theme",
372
+ "name": "parentOverlayToForceClose",
140
373
  "type": {
141
- "text": "{\n color?: Color;\n scale?: Scale;\n lang?: string;\n theme?: ThemeVariant;\n }"
374
+ "text": "OverlayBase | undefined"
142
375
  },
143
- "privacy": "public",
144
- "default": "{}"
376
+ "privacy": "public"
145
377
  },
146
378
  {
147
379
  "kind": "field",
148
- "name": "receivesFocus",
380
+ "name": "hasNonVirtualTrigger",
149
381
  "type": {
150
- "text": "'auto' | undefined"
382
+ "text": "boolean"
151
383
  },
152
- "privacy": "public"
384
+ "privacy": "private",
385
+ "readonly": true
153
386
  },
154
387
  {
155
388
  "kind": "field",
156
- "name": "tabbingAway",
389
+ "name": "longpressed",
157
390
  "type": {
158
391
  "text": "boolean"
159
392
  },
160
- "privacy": "public",
393
+ "privacy": "protected",
161
394
  "default": "false"
162
395
  },
163
396
  {
164
397
  "kind": "field",
165
- "name": "originalPlacement",
398
+ "name": "longressTimeout",
166
399
  "type": {
167
- "text": "Placement | undefined"
400
+ "text": "ReturnType<typeof setTimeout>"
168
401
  },
169
402
  "privacy": "private"
170
403
  },
171
404
  {
172
405
  "kind": "field",
173
- "name": "restoreContent",
406
+ "name": "offset",
174
407
  "type": {
175
- "text": "() => Element[] | undefined"
408
+ "text": "number | [number, number]"
176
409
  },
177
- "privacy": "private"
410
+ "default": "6",
411
+ "attribute": "offset"
178
412
  },
179
413
  {
180
- "kind": "method",
181
- "name": "focus",
414
+ "kind": "field",
415
+ "name": "placementController",
182
416
  "privacy": "public",
183
- "return": {
184
- "type": {
417
+ "default": "new PlacementController(this)"
418
+ },
419
+ {
420
+ "kind": "field",
421
+ "name": "open",
422
+ "type": {
423
+ "text": "boolean"
424
+ },
425
+ "attribute": "open",
426
+ "reflects": true
427
+ },
428
+ {
429
+ "kind": "field",
430
+ "name": "_open",
431
+ "type": {
432
+ "text": "boolean"
433
+ },
434
+ "privacy": "private",
435
+ "default": "false"
436
+ },
437
+ {
438
+ "kind": "field",
439
+ "name": "openCount",
440
+ "type": {
441
+ "text": "number"
442
+ },
443
+ "static": true,
444
+ "default": "1"
445
+ },
446
+ {
447
+ "kind": "field",
448
+ "name": "placement",
449
+ "type": {
450
+ "text": "Placement | undefined"
451
+ },
452
+ "attribute": "placement"
453
+ },
454
+ {
455
+ "kind": "field",
456
+ "name": "receivesFocus",
457
+ "type": {
458
+ "text": "'true' | 'false' | 'auto'"
459
+ },
460
+ "default": "'auto'",
461
+ "attribute": "receives-focus"
462
+ },
463
+ {
464
+ "kind": "field",
465
+ "name": "releaseAriaDescribedby",
466
+ "privacy": "private",
467
+ "default": "noop"
468
+ },
469
+ {
470
+ "kind": "field",
471
+ "name": "releaseLongpressDescribedby",
472
+ "privacy": "private",
473
+ "default": "noop"
474
+ },
475
+ {
476
+ "kind": "field",
477
+ "name": "slotEl",
478
+ "type": {
479
+ "text": "HTMLSlotElement"
480
+ }
481
+ },
482
+ {
483
+ "kind": "field",
484
+ "name": "trigger",
485
+ "type": {
486
+ "text": "string | undefined"
487
+ },
488
+ "attribute": "trigger"
489
+ },
490
+ {
491
+ "kind": "field",
492
+ "name": "triggerElement",
493
+ "type": {
494
+ "text": "HTMLElement | VirtualTrigger | null"
495
+ },
496
+ "default": "null"
497
+ },
498
+ {
499
+ "kind": "field",
500
+ "name": "triggerInteraction",
501
+ "type": {
502
+ "text": "'click' | 'longpress' | 'hover' | undefined"
503
+ }
504
+ },
505
+ {
506
+ "kind": "field",
507
+ "name": "type",
508
+ "type": {
509
+ "text": "OverlayTypes"
510
+ },
511
+ "default": "'hint'",
512
+ "attribute": "type"
513
+ },
514
+ {
515
+ "kind": "field",
516
+ "name": "wasOpen",
517
+ "type": {
518
+ "text": "boolean"
519
+ },
520
+ "privacy": "protected",
521
+ "default": "false"
522
+ },
523
+ {
524
+ "kind": "field",
525
+ "name": "elementResolver",
526
+ "privacy": "private",
527
+ "default": "new ElementResolutionController(this)"
528
+ },
529
+ {
530
+ "kind": "field",
531
+ "name": "usesDialog",
532
+ "type": {
533
+ "text": "boolean"
534
+ },
535
+ "privacy": "private",
536
+ "readonly": true
537
+ },
538
+ {
539
+ "kind": "field",
540
+ "name": "popoverValue",
541
+ "type": {
542
+ "text": "'auto' | 'manual' | undefined"
543
+ },
544
+ "privacy": "private",
545
+ "readonly": true
546
+ },
547
+ {
548
+ "kind": "method",
549
+ "name": "manageDialogOpen",
550
+ "privacy": "protected",
551
+ "return": {
552
+ "type": {
553
+ "text": "Promise<void>"
554
+ }
555
+ }
556
+ },
557
+ {
558
+ "kind": "method",
559
+ "name": "managePopoverOpen",
560
+ "privacy": "protected",
561
+ "return": {
562
+ "type": {
563
+ "text": "Promise<void>"
564
+ }
565
+ }
566
+ },
567
+ {
568
+ "kind": "field",
569
+ "name": "requiresPosition",
570
+ "type": {
571
+ "text": "boolean"
572
+ },
573
+ "privacy": "protected",
574
+ "readonly": true
575
+ },
576
+ {
577
+ "kind": "method",
578
+ "name": "managePosition",
579
+ "privacy": "protected",
580
+ "return": {
581
+ "type": {
582
+ "text": "void"
583
+ }
584
+ }
585
+ },
586
+ {
587
+ "kind": "method",
588
+ "name": "manageOpen",
589
+ "privacy": "protected",
590
+ "return": {
591
+ "type": {
185
592
  "text": "Promise<void>"
186
593
  }
594
+ },
595
+ "parameters": [
596
+ {
597
+ "name": "oldOpen",
598
+ "type": {
599
+ "text": "boolean"
600
+ }
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "kind": "method",
606
+ "name": "unbindEvents",
607
+ "privacy": "protected",
608
+ "return": {
609
+ "type": {
610
+ "text": "void"
611
+ }
612
+ },
613
+ "parameters": [
614
+ {
615
+ "name": "triggerElement",
616
+ "type": {
617
+ "text": "HTMLElement"
618
+ }
619
+ }
620
+ ]
621
+ },
622
+ {
623
+ "kind": "method",
624
+ "name": "bindEvents",
625
+ "privacy": "protected",
626
+ "return": {
627
+ "type": {
628
+ "text": "void"
629
+ }
630
+ }
631
+ },
632
+ {
633
+ "kind": "method",
634
+ "name": "bundClickEvents",
635
+ "privacy": "protected",
636
+ "return": {
637
+ "type": {
638
+ "text": "void"
639
+ }
640
+ },
641
+ "parameters": [
642
+ {
643
+ "name": "triggerElement",
644
+ "type": {
645
+ "text": "HTMLElement"
646
+ }
647
+ }
648
+ ]
649
+ },
650
+ {
651
+ "kind": "method",
652
+ "name": "bindLongpressEvents",
653
+ "privacy": "protected",
654
+ "return": {
655
+ "type": {
656
+ "text": "void"
657
+ }
658
+ },
659
+ "parameters": [
660
+ {
661
+ "name": "triggerElement",
662
+ "type": {
663
+ "text": "HTMLElement"
664
+ }
665
+ }
666
+ ]
667
+ },
668
+ {
669
+ "kind": "method",
670
+ "name": "bindHoverEvents",
671
+ "privacy": "protected",
672
+ "return": {
673
+ "type": {
674
+ "text": "void"
675
+ }
676
+ },
677
+ "parameters": [
678
+ {
679
+ "name": "triggerElement",
680
+ "type": {
681
+ "text": "HTMLElement"
682
+ }
683
+ }
684
+ ]
685
+ },
686
+ {
687
+ "kind": "method",
688
+ "name": "manageTriggerElement",
689
+ "privacy": "protected",
690
+ "return": {
691
+ "type": {
692
+ "text": "void"
693
+ }
694
+ },
695
+ "parameters": [
696
+ {
697
+ "name": "triggerElement",
698
+ "type": {
699
+ "text": "HTMLElement | null"
700
+ }
701
+ }
702
+ ]
703
+ },
704
+ {
705
+ "kind": "field",
706
+ "name": "elementIds",
707
+ "type": {
708
+ "text": "string[]"
709
+ },
710
+ "privacy": "private",
711
+ "default": "[]"
712
+ },
713
+ {
714
+ "kind": "method",
715
+ "name": "prepareLongpressDescription",
716
+ "privacy": "private",
717
+ "return": {
718
+ "type": {
719
+ "text": "void"
720
+ }
721
+ },
722
+ "parameters": [
723
+ {
724
+ "name": "trigger",
725
+ "type": {
726
+ "text": "HTMLElement"
727
+ }
728
+ }
729
+ ]
730
+ },
731
+ {
732
+ "kind": "method",
733
+ "name": "prepareAriaDescribedby",
734
+ "privacy": "private",
735
+ "return": {
736
+ "type": {
737
+ "text": "void"
738
+ }
739
+ },
740
+ "parameters": [
741
+ {
742
+ "name": "trigger",
743
+ "type": {
744
+ "text": "HTMLElement"
745
+ }
746
+ }
747
+ ]
748
+ },
749
+ {
750
+ "kind": "field",
751
+ "name": "handlePointerdown",
752
+ "privacy": "private"
753
+ },
754
+ {
755
+ "kind": "field",
756
+ "name": "handlePointerup",
757
+ "privacy": "private"
758
+ },
759
+ {
760
+ "kind": "field",
761
+ "name": "handleKeydown",
762
+ "privacy": "private"
763
+ },
764
+ {
765
+ "kind": "field",
766
+ "name": "handleKeyup",
767
+ "privacy": "protected"
768
+ },
769
+ {
770
+ "kind": "field",
771
+ "name": "preventNextToggle",
772
+ "type": {
773
+ "text": "boolean"
774
+ },
775
+ "privacy": "private",
776
+ "default": "false"
777
+ },
778
+ {
779
+ "kind": "field",
780
+ "name": "handlePointerdownForClick",
781
+ "privacy": "protected"
782
+ },
783
+ {
784
+ "kind": "field",
785
+ "name": "handleClick",
786
+ "privacy": "protected"
787
+ },
788
+ {
789
+ "kind": "field",
790
+ "name": "focusedin",
791
+ "type": {
792
+ "text": "boolean"
793
+ },
794
+ "privacy": "private",
795
+ "default": "false"
796
+ },
797
+ {
798
+ "kind": "field",
799
+ "name": "handleFocusin",
800
+ "privacy": "protected"
801
+ },
802
+ {
803
+ "kind": "field",
804
+ "name": "handleFocusout",
805
+ "privacy": "protected"
806
+ },
807
+ {
808
+ "kind": "field",
809
+ "name": "pointerentered",
810
+ "type": {
811
+ "text": "boolean"
812
+ },
813
+ "privacy": "private",
814
+ "default": "false"
815
+ },
816
+ {
817
+ "kind": "field",
818
+ "name": "handlePointerenter",
819
+ "privacy": "protected"
820
+ },
821
+ {
822
+ "kind": "field",
823
+ "name": "handlePointerleave",
824
+ "privacy": "protected"
825
+ },
826
+ {
827
+ "kind": "field",
828
+ "name": "handleOverlayPointerleave",
829
+ "privacy": "protected"
830
+ },
831
+ {
832
+ "kind": "method",
833
+ "name": "doPointerleave",
834
+ "privacy": "protected",
835
+ "return": {
836
+ "type": {
837
+ "text": "void"
838
+ }
839
+ }
840
+ },
841
+ {
842
+ "kind": "field",
843
+ "name": "handleLongpress",
844
+ "privacy": "protected"
845
+ },
846
+ {
847
+ "kind": "method",
848
+ "name": "handleBeforetoggle",
849
+ "privacy": "protected",
850
+ "return": {
851
+ "type": {
852
+ "text": "void"
853
+ }
854
+ },
855
+ "parameters": [
856
+ {
857
+ "name": "event",
858
+ "type": {
859
+ "text": "Event & { newState: string }"
860
+ }
861
+ }
862
+ ]
863
+ },
864
+ {
865
+ "kind": "method",
866
+ "name": "handleBrowserClose",
867
+ "privacy": "protected",
868
+ "return": {
869
+ "type": {
870
+ "text": "void"
871
+ }
872
+ }
873
+ },
874
+ {
875
+ "kind": "method",
876
+ "name": "handleSlotchange",
877
+ "privacy": "protected",
878
+ "return": {
879
+ "type": {
880
+ "text": "void"
881
+ }
882
+ }
883
+ },
884
+ {
885
+ "kind": "field",
886
+ "name": "willPreventClose",
887
+ "type": {
888
+ "text": "boolean"
889
+ },
890
+ "privacy": "public",
891
+ "default": "false"
892
+ },
893
+ {
894
+ "kind": "method",
895
+ "name": "shouldPreventClose",
896
+ "privacy": "public",
897
+ "return": {
898
+ "type": {
899
+ "text": "boolean"
900
+ }
901
+ }
902
+ },
903
+ {
904
+ "kind": "method",
905
+ "name": "renderContent",
906
+ "privacy": "protected",
907
+ "return": {
908
+ "type": {
909
+ "text": "TemplateResult"
910
+ }
187
911
  }
188
912
  },
189
913
  {
190
- "kind": "field",
191
- "name": "hasTheme",
914
+ "kind": "method",
915
+ "name": "renderDialog",
916
+ "privacy": "protected",
917
+ "return": {
918
+ "type": {
919
+ "text": "TemplateResult"
920
+ }
921
+ }
922
+ },
923
+ {
924
+ "kind": "method",
925
+ "name": "renderPopover",
926
+ "privacy": "protected",
927
+ "return": {
928
+ "type": {
929
+ "text": "TemplateResult"
930
+ }
931
+ }
932
+ }
933
+ ],
934
+ "attributes": [
935
+ {
936
+ "name": "delayed",
192
937
  "type": {
193
938
  "text": "boolean"
194
939
  },
195
- "privacy": "private",
196
- "readonly": true
940
+ "default": "false",
941
+ "fieldName": "delayed"
197
942
  },
198
943
  {
199
- "kind": "field",
200
- "name": "offset",
944
+ "name": "disabled",
201
945
  "type": {
202
- "text": "number"
946
+ "text": "boolean"
203
947
  },
204
- "privacy": "public",
205
- "default": "6"
948
+ "fieldName": "disabled"
206
949
  },
207
950
  {
208
- "kind": "field",
209
- "name": "skidding",
951
+ "name": "offset",
210
952
  "type": {
211
- "text": "number"
953
+ "text": "number | [number, number]"
212
954
  },
213
- "privacy": "public",
214
- "default": "0"
955
+ "default": "6",
956
+ "fieldName": "offset"
215
957
  },
216
958
  {
217
- "kind": "field",
218
- "name": "interaction",
959
+ "name": "open",
219
960
  "type": {
220
- "text": "TriggerInteractions"
961
+ "text": "boolean"
221
962
  },
222
- "privacy": "public",
223
- "default": "'hover'"
963
+ "fieldName": "open"
224
964
  },
225
965
  {
226
- "kind": "field",
227
- "name": "positionAnimationFrame",
966
+ "name": "placement",
228
967
  "type": {
229
- "text": "number"
968
+ "text": "Placement | undefined"
230
969
  },
231
- "privacy": "private",
232
- "default": "0"
970
+ "fieldName": "placement"
233
971
  },
234
972
  {
235
- "kind": "field",
236
- "name": "timeout",
973
+ "name": "receives-focus",
237
974
  "type": {
238
- "text": "number | undefined"
975
+ "text": "'true' | 'false' | 'auto'"
239
976
  },
240
- "privacy": "private"
977
+ "default": "'auto'",
978
+ "fieldName": "receivesFocus"
241
979
  },
242
980
  {
243
- "kind": "field",
244
- "name": "_modalRoot",
981
+ "name": "trigger",
245
982
  "type": {
246
- "text": "ActiveOverlay | undefined"
983
+ "text": "string | undefined"
247
984
  },
248
- "privacy": "private"
985
+ "fieldName": "trigger"
249
986
  },
250
987
  {
251
- "kind": "field",
252
- "name": "hasModalRoot",
988
+ "name": "type",
253
989
  "type": {
254
- "text": "boolean"
990
+ "text": "OverlayTypes"
255
991
  },
256
- "privacy": "public",
257
- "readonly": true
258
- },
992
+ "default": "'hint'",
993
+ "fieldName": "type"
994
+ }
995
+ ],
996
+ "superclass": {
997
+ "name": "SpectrumElement",
998
+ "package": "@spectrum-web-components/base"
999
+ }
1000
+ }
1001
+ ],
1002
+ "exports": [
1003
+ {
1004
+ "kind": "js",
1005
+ "name": "overlayTimer",
1006
+ "declaration": {
1007
+ "name": "overlayTimer",
1008
+ "module": "src/OverlayBase.ts"
1009
+ }
1010
+ },
1011
+ {
1012
+ "kind": "js",
1013
+ "name": "LONGPRESS_INSTRUCTIONS",
1014
+ "declaration": {
1015
+ "name": "LONGPRESS_INSTRUCTIONS",
1016
+ "module": "src/OverlayBase.ts"
1017
+ }
1018
+ },
1019
+ {
1020
+ "kind": "js",
1021
+ "name": "BeforetoggleClosedEvent",
1022
+ "declaration": {
1023
+ "name": "BeforetoggleClosedEvent",
1024
+ "module": "src/OverlayBase.ts"
1025
+ }
1026
+ },
1027
+ {
1028
+ "kind": "js",
1029
+ "name": "BeforetoggleOpenEvent",
1030
+ "declaration": {
1031
+ "name": "BeforetoggleOpenEvent",
1032
+ "module": "src/OverlayBase.ts"
1033
+ }
1034
+ },
1035
+ {
1036
+ "kind": "js",
1037
+ "name": "noop",
1038
+ "declaration": {
1039
+ "name": "noop",
1040
+ "module": "src/OverlayBase.ts"
1041
+ }
1042
+ },
1043
+ {
1044
+ "kind": "js",
1045
+ "name": "guaranteedTransitionend",
1046
+ "declaration": {
1047
+ "name": "guaranteedTransitionend",
1048
+ "module": "src/OverlayBase.ts"
1049
+ }
1050
+ },
1051
+ {
1052
+ "kind": "js",
1053
+ "name": "OverlayBase",
1054
+ "declaration": {
1055
+ "name": "OverlayBase",
1056
+ "module": "src/OverlayBase.ts"
1057
+ }
1058
+ }
1059
+ ]
1060
+ },
1061
+ {
1062
+ "kind": "javascript-module",
1063
+ "path": "src/OverlayDialog.ts",
1064
+ "declarations": [
1065
+ {
1066
+ "kind": "mixin",
1067
+ "description": "",
1068
+ "name": "OverlayDialog",
1069
+ "members": [
259
1070
  {
260
1071
  "kind": "method",
261
- "name": "feature",
262
- "privacy": "public",
1072
+ "name": "manageDialogOpen",
1073
+ "privacy": "protected",
263
1074
  "return": {
264
1075
  "type": {
265
- "text": "void"
1076
+ "text": "Promise<void>"
266
1077
  }
267
1078
  }
268
1079
  },
269
1080
  {
270
1081
  "kind": "method",
271
- "name": "obscure",
272
- "privacy": "public",
1082
+ "name": "dialogEnsureOnDOM",
1083
+ "privacy": "protected",
273
1084
  "return": {
274
1085
  "type": {
275
- "text": "ActiveOverlay | undefined"
276
- }
277
- },
278
- "parameters": [
279
- {
280
- "name": "nextOverlayInteraction",
281
- "type": {
282
- "text": "TriggerInteractions"
283
- }
1086
+ "text": "Promise<void>"
284
1087
  }
285
- ]
1088
+ }
286
1089
  },
287
1090
  {
288
1091
  "kind": "method",
289
- "name": "openCallback",
290
- "privacy": "public",
1092
+ "name": "dialogMakeTransition",
1093
+ "privacy": "protected",
291
1094
  "return": {
292
1095
  "type": {
293
- "text": "Promise<void>"
1096
+ "text": "Promise<HTMLElement | null>"
294
1097
  }
295
1098
  },
296
1099
  "parameters": [
297
1100
  {
298
- "name": "lifecycleCallback",
1101
+ "name": "targetOpenState",
299
1102
  "type": {
300
- "text": "() => Promise<void> | void"
1103
+ "text": "boolean"
301
1104
  }
302
1105
  }
303
1106
  ]
304
1107
  },
305
1108
  {
306
1109
  "kind": "method",
307
- "name": "open",
308
- "privacy": "private",
1110
+ "name": "dialogApplyFocus",
1111
+ "privacy": "protected",
309
1112
  "return": {
310
1113
  "type": {
311
- "text": "void"
1114
+ "text": "Promise<void>"
312
1115
  }
313
1116
  },
314
1117
  "parameters": [
315
1118
  {
316
- "name": "openDetail",
1119
+ "name": "targetOpenState",
317
1120
  "type": {
318
- "text": "OverlayOpenDetail"
1121
+ "text": "boolean"
319
1122
  }
320
- }
321
- ]
322
- },
323
- {
324
- "kind": "method",
325
- "name": "extractDetail",
326
- "privacy": "private",
327
- "return": {
328
- "type": {
329
- "text": "void"
330
- }
331
- },
332
- "parameters": [
1123
+ },
333
1124
  {
334
- "name": "detail",
1125
+ "name": "focusEl",
335
1126
  "type": {
336
- "text": "OverlayOpenDetail"
1127
+ "text": "HTMLElement | null"
337
1128
  }
338
1129
  }
339
1130
  ]
1131
+ }
1132
+ ],
1133
+ "events": [
1134
+ {
1135
+ "type": {
1136
+ "text": "event"
1137
+ }
340
1138
  },
1139
+ {
1140
+ "name": "eventName",
1141
+ "type": {
1142
+ "text": "Event"
1143
+ }
1144
+ }
1145
+ ],
1146
+ "parameters": [
1147
+ {
1148
+ "name": "constructor",
1149
+ "type": {
1150
+ "text": "T"
1151
+ }
1152
+ }
1153
+ ]
1154
+ }
1155
+ ],
1156
+ "exports": [
1157
+ {
1158
+ "kind": "js",
1159
+ "name": "OverlayDialog",
1160
+ "declaration": {
1161
+ "name": "OverlayDialog",
1162
+ "module": "src/OverlayDialog.ts"
1163
+ }
1164
+ }
1165
+ ]
1166
+ },
1167
+ {
1168
+ "kind": "javascript-module",
1169
+ "path": "src/OverlayNoPopover.ts",
1170
+ "declarations": [
1171
+ {
1172
+ "kind": "mixin",
1173
+ "description": "",
1174
+ "name": "OverlayNoPopover",
1175
+ "members": [
341
1176
  {
342
1177
  "kind": "method",
343
- "name": "dispose",
344
- "privacy": "public",
1178
+ "name": "managePopoverOpen",
1179
+ "privacy": "protected",
345
1180
  "return": {
346
1181
  "type": {
347
- "text": "void"
1182
+ "text": "Promise<void>"
348
1183
  }
349
1184
  }
350
1185
  },
351
1186
  {
352
1187
  "kind": "method",
353
- "name": "stealOverlayContent",
1188
+ "name": "manageDelay",
354
1189
  "privacy": "private",
355
1190
  "return": {
356
1191
  "type": {
357
- "text": "void"
1192
+ "text": "Promise<void>"
358
1193
  }
359
1194
  },
360
1195
  "parameters": [
361
1196
  {
362
- "name": "element",
1197
+ "name": "targetOpenState",
363
1198
  "type": {
364
- "text": "HTMLElement & { placement: Placement }"
1199
+ "text": "boolean"
365
1200
  }
366
1201
  }
367
1202
  ]
368
1203
  },
369
- {
370
- "kind": "field",
371
- "name": "willNotifyClosed",
372
- "type": {
373
- "text": "boolean"
374
- },
375
- "privacy": "private",
376
- "default": "false"
377
- },
378
1204
  {
379
1205
  "kind": "method",
380
- "name": "returnOverlayContent",
1206
+ "name": "ensureOnDOM",
381
1207
  "privacy": "private",
382
1208
  "return": {
383
1209
  "type": {
384
- "text": "void"
1210
+ "text": "Promise<void>"
385
1211
  }
386
1212
  }
387
1213
  },
388
- {
389
- "kind": "field",
390
- "name": "initialHeight",
391
- "type": {
392
- "text": "number | undefined"
393
- },
394
- "privacy": "private"
395
- },
396
- {
397
- "kind": "field",
398
- "name": "isConstrained",
399
- "type": {
400
- "text": "boolean"
401
- },
402
- "privacy": "private",
403
- "default": "false"
404
- },
405
1214
  {
406
1215
  "kind": "method",
407
- "name": "placeOverlay",
408
- "privacy": "public",
1216
+ "name": "makeTransition",
1217
+ "privacy": "private",
409
1218
  "return": {
410
1219
  "type": {
411
- "text": "Promise<void>"
1220
+ "text": "Promise<HTMLElement | null>"
412
1221
  }
413
- }
414
- },
415
- {
416
- "kind": "field",
417
- "name": "updateOverlayPosition",
418
- "privacy": "public"
419
- },
420
- {
421
- "kind": "field",
422
- "name": "resetOverlayPosition",
423
- "privacy": "public"
424
- },
425
- {
426
- "kind": "field",
427
- "name": "setOverlayPosition",
428
- "privacy": "public"
1222
+ },
1223
+ "parameters": [
1224
+ {
1225
+ "name": "targetOpenState",
1226
+ "type": {
1227
+ "text": "boolean"
1228
+ }
1229
+ }
1230
+ ]
429
1231
  },
430
1232
  {
431
1233
  "kind": "method",
432
- "name": "hide",
433
- "privacy": "public",
1234
+ "name": "applyFocus",
1235
+ "privacy": "private",
434
1236
  "return": {
435
1237
  "type": {
436
1238
  "text": "Promise<void>"
@@ -438,159 +1240,210 @@
438
1240
  },
439
1241
  "parameters": [
440
1242
  {
441
- "name": "animated",
442
- "default": "true"
1243
+ "name": "targetOpenState",
1244
+ "type": {
1245
+ "text": "boolean"
1246
+ }
1247
+ },
1248
+ {
1249
+ "name": "focusEl",
1250
+ "type": {
1251
+ "text": "HTMLElement | null"
1252
+ }
443
1253
  }
444
1254
  ]
1255
+ }
1256
+ ],
1257
+ "events": [
1258
+ {
1259
+ "type": {
1260
+ "text": "event"
1261
+ }
445
1262
  },
1263
+ {
1264
+ "name": "eventName",
1265
+ "type": {
1266
+ "text": "Event"
1267
+ }
1268
+ }
1269
+ ],
1270
+ "parameters": [
1271
+ {
1272
+ "name": "constructor",
1273
+ "type": {
1274
+ "text": "T"
1275
+ }
1276
+ }
1277
+ ]
1278
+ }
1279
+ ],
1280
+ "exports": [
1281
+ {
1282
+ "kind": "js",
1283
+ "name": "OverlayNoPopover",
1284
+ "declaration": {
1285
+ "name": "OverlayNoPopover",
1286
+ "module": "src/OverlayNoPopover.ts"
1287
+ }
1288
+ }
1289
+ ]
1290
+ },
1291
+ {
1292
+ "kind": "javascript-module",
1293
+ "path": "src/OverlayPopover.ts",
1294
+ "declarations": [
1295
+ {
1296
+ "kind": "mixin",
1297
+ "description": "",
1298
+ "name": "OverlayPopover",
1299
+ "members": [
446
1300
  {
447
1301
  "kind": "method",
448
- "name": "schedulePositionUpdate",
449
- "privacy": "private",
1302
+ "name": "managePopoverOpen",
1303
+ "privacy": "protected",
450
1304
  "return": {
451
1305
  "type": {
452
- "text": "void"
1306
+ "text": "Promise<void>"
453
1307
  }
454
1308
  }
455
1309
  },
456
1310
  {
457
1311
  "kind": "method",
458
- "name": "onSlotChange",
1312
+ "name": "manageDelay",
459
1313
  "privacy": "private",
460
1314
  "return": {
461
1315
  "type": {
462
- "text": "void"
1316
+ "text": "Promise<void>"
463
1317
  }
464
- }
465
- },
466
- {
467
- "kind": "field",
468
- "name": "handleInlineTriggerKeydown",
469
- "privacy": "public"
1318
+ },
1319
+ "parameters": [
1320
+ {
1321
+ "name": "targetOpenState",
1322
+ "type": {
1323
+ "text": "boolean"
1324
+ }
1325
+ }
1326
+ ]
470
1327
  },
471
1328
  {
472
1329
  "kind": "method",
473
- "name": "applyContentAnimation",
474
- "privacy": "public",
1330
+ "name": "ensureOnDOM",
1331
+ "privacy": "private",
475
1332
  "return": {
476
1333
  "type": {
477
- "text": "Promise<boolean>"
1334
+ "text": "Promise<void>"
478
1335
  }
479
1336
  },
480
1337
  "parameters": [
481
1338
  {
482
- "name": "animation",
1339
+ "name": "targetOpenState",
483
1340
  "type": {
484
- "text": "ContentAnimation"
1341
+ "text": "boolean"
485
1342
  }
486
1343
  }
487
1344
  ]
488
1345
  },
489
1346
  {
490
1347
  "kind": "method",
491
- "name": "renderTheme",
492
- "privacy": "public",
1348
+ "name": "makeTransition",
1349
+ "privacy": "private",
493
1350
  "return": {
494
1351
  "type": {
495
- "text": "TemplateResult"
1352
+ "text": "Promise<HTMLElement | null>"
496
1353
  }
497
1354
  },
498
1355
  "parameters": [
499
1356
  {
500
- "name": "content",
1357
+ "name": "targetOpenState",
501
1358
  "type": {
502
- "text": "TemplateResult"
1359
+ "text": "boolean"
503
1360
  }
504
1361
  }
505
1362
  ]
506
1363
  },
507
1364
  {
508
1365
  "kind": "method",
509
- "name": "create",
510
- "privacy": "public",
511
- "static": true,
1366
+ "name": "applyFocus",
1367
+ "privacy": "private",
512
1368
  "return": {
513
1369
  "type": {
514
- "text": "ActiveOverlay"
1370
+ "text": "Promise<void>"
515
1371
  }
516
1372
  },
517
1373
  "parameters": [
518
1374
  {
519
- "name": "details",
1375
+ "name": "targetOpenState",
1376
+ "type": {
1377
+ "text": "boolean"
1378
+ }
1379
+ },
1380
+ {
1381
+ "name": "focusEl",
520
1382
  "type": {
521
- "text": "OverlayOpenDetail"
1383
+ "text": "HTMLElement | null"
522
1384
  }
523
1385
  }
524
1386
  ]
525
- },
526
- {
527
- "kind": "field",
528
- "name": "stealOverlayContentPromise",
529
- "privacy": "private",
530
- "default": "new Promise(\n (res) => (this.stealOverlayContentResolver = res)\n )"
531
- },
1387
+ }
1388
+ ],
1389
+ "events": [
532
1390
  {
533
- "kind": "field",
534
- "name": "stealOverlayContentResolver",
535
1391
  "type": {
536
- "text": "() => void"
537
- },
538
- "privacy": "private"
1392
+ "text": "event"
1393
+ }
539
1394
  },
540
1395
  {
541
- "kind": "method",
542
- "name": "getUpdateComplete",
543
- "privacy": "protected",
544
- "return": {
545
- "type": {
546
- "text": "Promise<boolean>"
547
- }
1396
+ "name": "eventName",
1397
+ "type": {
1398
+ "text": "Event"
548
1399
  }
549
1400
  }
550
1401
  ],
551
- "attributes": [
1402
+ "parameters": [
552
1403
  {
553
- "name": "_state",
554
- "fieldName": "_state"
555
- },
556
- {
557
- "name": "animating",
558
- "type": {
559
- "text": "boolean"
560
- },
561
- "default": "false",
562
- "fieldName": "animating"
563
- },
564
- {
565
- "name": "placement",
1404
+ "name": "constructor",
566
1405
  "type": {
567
- "text": "Placement | undefined"
568
- },
569
- "fieldName": "placement"
1406
+ "text": "T"
1407
+ }
570
1408
  }
571
- ],
572
- "superclass": {
573
- "name": "SpectrumElement",
574
- "package": "@spectrum-web-components/base"
575
- },
576
- "tagName": "active-overlay",
577
- "customElement": true
1409
+ ]
1410
+ }
1411
+ ],
1412
+ "exports": [
1413
+ {
1414
+ "kind": "js",
1415
+ "name": "OverlayPopover",
1416
+ "declaration": {
1417
+ "name": "OverlayPopover",
1418
+ "module": "src/OverlayPopover.ts"
1419
+ }
1420
+ }
1421
+ ]
1422
+ },
1423
+ {
1424
+ "kind": "javascript-module",
1425
+ "path": "src/OverlayStack.ts",
1426
+ "declarations": [
1427
+ {
1428
+ "kind": "variable",
1429
+ "name": "overlayStack",
1430
+ "default": "new OverlayStack()"
578
1431
  }
579
1432
  ],
580
1433
  "exports": [
581
1434
  {
582
1435
  "kind": "js",
583
- "name": "ActiveOverlay",
1436
+ "name": "overlayStack",
584
1437
  "declaration": {
585
- "name": "ActiveOverlay",
586
- "module": "src/ActiveOverlay.js"
1438
+ "name": "overlayStack",
1439
+ "module": "src/OverlayStack.ts"
587
1440
  }
588
1441
  }
589
1442
  ]
590
1443
  },
591
1444
  {
592
1445
  "kind": "javascript-module",
593
- "path": "src/OverlayTrigger.js",
1446
+ "path": "src/OverlayTrigger.ts",
594
1447
  "declarations": [
595
1448
  {
596
1449
  "kind": "variable",
@@ -623,30 +1476,6 @@
623
1476
  }
624
1477
  ],
625
1478
  "members": [
626
- {
627
- "kind": "field",
628
- "name": "closeClickOverlay",
629
- "type": {
630
- "text": "Promise<() => void> | undefined"
631
- },
632
- "privacy": "private"
633
- },
634
- {
635
- "kind": "field",
636
- "name": "closeLongpressOverlay",
637
- "type": {
638
- "text": "Promise<() => void> | undefined"
639
- },
640
- "privacy": "private"
641
- },
642
- {
643
- "kind": "field",
644
- "name": "closeHoverOverlay",
645
- "type": {
646
- "text": "Promise<() => void> | undefined"
647
- },
648
- "privacy": "private"
649
- },
650
1479
  {
651
1480
  "kind": "field",
652
1481
  "name": "placement",
@@ -654,7 +1483,6 @@
654
1483
  "text": "\"auto\" | \"auto-start\" | \"auto-end\" | \"top\" | \"bottom\" | \"right\" | \"left\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\" | \"right-start\" | \"right-end\" | \"left-start\" | \"left-end\" | \"none\""
655
1484
  },
656
1485
  "privacy": "public",
657
- "default": "'bottom'",
658
1486
  "attribute": "placement",
659
1487
  "reflects": true
660
1488
  },
@@ -675,8 +1503,7 @@
675
1503
  },
676
1504
  "privacy": "public",
677
1505
  "default": "6",
678
- "attribute": "offset",
679
- "reflects": true
1506
+ "attribute": "offset"
680
1507
  },
681
1508
  {
682
1509
  "kind": "field",
@@ -702,251 +1529,128 @@
702
1529
  {
703
1530
  "kind": "field",
704
1531
  "name": "hasLongpressContent",
705
- "type": {
706
- "text": "boolean"
707
- },
708
- "privacy": "public",
709
- "default": "false"
710
- },
711
- {
712
- "kind": "field",
713
- "name": "longpressDescriptor",
714
- "type": {
715
- "text": "HTMLElement | undefined"
716
- },
717
- "privacy": "private"
718
- },
719
- {
720
- "kind": "field",
721
- "name": "clickContent",
722
- "type": {
723
- "text": "HTMLElement | undefined"
724
- },
725
- "privacy": "private"
726
- },
727
- {
728
- "kind": "field",
729
- "name": "longpressContent",
730
- "type": {
731
- "text": "HTMLElement | undefined"
732
- },
733
- "privacy": "private"
734
- },
735
- {
736
- "kind": "field",
737
- "name": "hoverContent",
738
- "type": {
739
- "text": "HTMLElement | undefined"
740
- },
741
- "privacy": "private"
742
- },
743
- {
744
- "kind": "field",
745
- "name": "targetContent",
746
- "type": {
747
- "text": "HTMLElement | undefined"
748
- },
749
- "privacy": "private"
750
- },
751
- {
752
- "kind": "field",
753
- "name": "overlaidContent",
754
- "type": {
755
- "text": "HTMLElement | undefined"
756
- },
757
- "privacy": "private"
758
- },
759
- {
760
- "kind": "field",
761
- "name": "_longpressId",
762
- "privacy": "private",
763
- "default": "`longpress-describedby-descriptor`"
764
- },
765
- {
766
- "kind": "method",
767
- "name": "handleClose",
768
- "privacy": "private",
769
- "return": {
770
- "type": {
771
- "text": "void"
772
- }
773
- },
774
- "parameters": [
775
- {
776
- "name": "event",
777
- "optional": true,
778
- "type": {
779
- "text": "CustomEvent<OverlayOpenCloseDetail>"
780
- }
781
- }
782
- ]
783
- },
784
- {
785
- "kind": "method",
786
- "name": "manageLongpressDescriptor",
787
- "privacy": "protected",
788
- "return": {
789
- "type": {
790
- "text": "void"
791
- }
792
- }
793
- },
794
- {
795
- "kind": "method",
796
- "name": "closeAllOverlays",
797
- "privacy": "private",
798
- "return": {
799
- "type": {
800
- "text": "void"
801
- }
802
- }
803
- },
804
- {
805
- "kind": "method",
806
- "name": "manageOpen",
807
- "privacy": "private",
808
- "return": {
809
- "type": {
810
- "text": "void"
811
- }
812
- }
813
- },
814
- {
815
- "kind": "method",
816
- "name": "openOverlay",
817
- "privacy": "private",
818
- "return": {
819
- "type": {
820
- "text": "Promise<() => void>"
821
- }
822
- },
823
- "parameters": [
824
- {
825
- "name": "target",
826
- "type": {
827
- "text": "HTMLElement"
828
- }
829
- },
830
- {
831
- "name": "interaction",
832
- "type": {
833
- "text": "TriggerInteractions"
834
- }
835
- },
836
- {
837
- "name": "content",
838
- "type": {
839
- "text": "HTMLElement"
840
- }
841
- },
842
- {
843
- "name": "options",
844
- "type": {
845
- "text": "OverlayOptions"
846
- }
847
- }
848
- ]
1532
+ "type": {
1533
+ "text": "boolean"
1534
+ },
1535
+ "privacy": "public",
1536
+ "default": "false"
849
1537
  },
850
1538
  {
851
1539
  "kind": "field",
852
- "name": "openOverlay",
853
- "privacy": "public",
854
- "static": true
1540
+ "name": "longpressDescriptor",
1541
+ "type": {
1542
+ "text": "HTMLElement | undefined"
1543
+ },
1544
+ "privacy": "private"
855
1545
  },
856
1546
  {
857
1547
  "kind": "field",
858
- "name": "overlayOptions",
1548
+ "name": "clickContent",
859
1549
  "type": {
860
- "text": "OverlayOptions"
1550
+ "text": "HTMLElement[]"
861
1551
  },
862
1552
  "privacy": "private",
863
- "readonly": true
1553
+ "default": "[]"
864
1554
  },
865
1555
  {
866
- "kind": "method",
867
- "name": "onTrigger",
868
- "privacy": "private",
869
- "return": {
870
- "type": {
871
- "text": "void"
872
- }
1556
+ "kind": "field",
1557
+ "name": "clickPlacement",
1558
+ "type": {
1559
+ "text": "Placement | undefined"
873
1560
  },
874
- "parameters": [
875
- {
876
- "name": "event",
877
- "type": {
878
- "text": "CustomEvent<LongpressEvent>"
879
- }
880
- }
881
- ]
1561
+ "privacy": "private"
882
1562
  },
883
1563
  {
884
- "kind": "method",
885
- "name": "prepareToFocusOverlayContent",
1564
+ "kind": "field",
1565
+ "name": "longpressContent",
1566
+ "type": {
1567
+ "text": "HTMLElement[]"
1568
+ },
886
1569
  "privacy": "private",
887
- "return": {
888
- "type": {
889
- "text": "void"
890
- }
1570
+ "default": "[]"
1571
+ },
1572
+ {
1573
+ "kind": "field",
1574
+ "name": "longpressPlacement",
1575
+ "type": {
1576
+ "text": "Placement | undefined"
891
1577
  },
892
- "parameters": [
893
- {
894
- "name": "overlayContent",
895
- "type": {
896
- "text": "HTMLElement"
897
- }
898
- }
899
- ]
1578
+ "privacy": "private"
900
1579
  },
901
1580
  {
902
- "kind": "method",
903
- "name": "onTriggerClick",
904
- "privacy": "public",
905
- "return": {
906
- "type": {
907
- "text": "Promise<void>"
908
- }
909
- }
1581
+ "kind": "field",
1582
+ "name": "hoverContent",
1583
+ "type": {
1584
+ "text": "HTMLElement[]"
1585
+ },
1586
+ "privacy": "private",
1587
+ "default": "[]"
910
1588
  },
911
1589
  {
912
1590
  "kind": "field",
913
- "name": "_longpressEvent",
1591
+ "name": "hoverPlacement",
914
1592
  "type": {
915
- "text": "CustomEvent<LongpressEvent> | undefined"
1593
+ "text": "Placement | undefined"
916
1594
  },
917
1595
  "privacy": "private"
918
1596
  },
919
1597
  {
920
- "kind": "method",
921
- "name": "onTriggerLongpress",
1598
+ "kind": "field",
1599
+ "name": "targetContent",
1600
+ "type": {
1601
+ "text": "HTMLElement[]"
1602
+ },
922
1603
  "privacy": "private",
923
- "return": {
924
- "type": {
925
- "text": "Promise<void>"
926
- }
1604
+ "default": "[]"
1605
+ },
1606
+ {
1607
+ "kind": "field",
1608
+ "name": "clickOverlayElement",
1609
+ "type": {
1610
+ "text": "OverlayBase"
927
1611
  }
928
1612
  },
929
1613
  {
930
1614
  "kind": "field",
931
- "name": "abortOverlay",
1615
+ "name": "longpressOverlayElement",
932
1616
  "type": {
933
- "text": "(cancelled: boolean) => void"
934
- },
935
- "privacy": "private"
1617
+ "text": "OverlayBase"
1618
+ }
1619
+ },
1620
+ {
1621
+ "kind": "field",
1622
+ "name": "hoverOverlayElement",
1623
+ "type": {
1624
+ "text": "OverlayBase"
1625
+ }
1626
+ },
1627
+ {
1628
+ "kind": "field",
1629
+ "name": "_longpressId",
1630
+ "privacy": "private",
1631
+ "default": "`longpress-describedby-descriptor`"
936
1632
  },
937
1633
  {
938
1634
  "kind": "method",
939
- "name": "onTriggerMouseEnter",
940
- "privacy": "public",
1635
+ "name": "getAssignedElementsFromSlot",
1636
+ "privacy": "private",
941
1637
  "return": {
942
1638
  "type": {
943
- "text": "Promise<void>"
1639
+ "text": "HTMLElement[]"
944
1640
  }
945
- }
1641
+ },
1642
+ "parameters": [
1643
+ {
1644
+ "name": "slot",
1645
+ "type": {
1646
+ "text": "HTMLSlotElement"
1647
+ }
1648
+ }
1649
+ ]
946
1650
  },
947
1651
  {
948
1652
  "kind": "method",
949
- "name": "onClickSlotChange",
1653
+ "name": "handleTriggerContent",
950
1654
  "privacy": "private",
951
1655
  "return": {
952
1656
  "type": {
@@ -964,7 +1668,7 @@
964
1668
  },
965
1669
  {
966
1670
  "kind": "method",
967
- "name": "onLongpressSlotChange",
1671
+ "name": "handleClickContent",
968
1672
  "privacy": "private",
969
1673
  "return": {
970
1674
  "type": {
@@ -982,7 +1686,7 @@
982
1686
  },
983
1687
  {
984
1688
  "kind": "method",
985
- "name": "onHoverSlotChange",
1689
+ "name": "handleLongpressContent",
986
1690
  "privacy": "private",
987
1691
  "return": {
988
1692
  "type": {
@@ -1000,7 +1704,7 @@
1000
1704
  },
1001
1705
  {
1002
1706
  "kind": "method",
1003
- "name": "onTargetSlotChange",
1707
+ "name": "handleHoverContent",
1004
1708
  "privacy": "private",
1005
1709
  "return": {
1006
1710
  "type": {
@@ -1018,34 +1722,31 @@
1018
1722
  },
1019
1723
  {
1020
1724
  "kind": "method",
1021
- "name": "extractSlotContentFromEvent",
1725
+ "name": "handleBeforetoggle",
1022
1726
  "privacy": "private",
1023
1727
  "return": {
1024
1728
  "type": {
1025
- "text": "HTMLElement | undefined"
1729
+ "text": "void"
1026
1730
  }
1027
1731
  },
1028
1732
  "parameters": [
1029
1733
  {
1030
1734
  "name": "event",
1031
1735
  "type": {
1032
- "text": "Event"
1736
+ "text": "BeforetoggleOpenEvent"
1033
1737
  }
1034
1738
  }
1035
1739
  ]
1036
1740
  },
1037
1741
  {
1038
- "kind": "field",
1039
- "name": "openStatePromise",
1040
- "privacy": "private"
1041
- },
1042
- {
1043
- "kind": "field",
1044
- "name": "openStateResolver",
1045
- "type": {
1046
- "text": "() => void"
1047
- },
1048
- "privacy": "private"
1742
+ "kind": "method",
1743
+ "name": "manageLongpressDescriptor",
1744
+ "privacy": "protected",
1745
+ "return": {
1746
+ "type": {
1747
+ "text": "void"
1748
+ }
1749
+ }
1049
1750
  },
1050
1751
  {
1051
1752
  "kind": "method",
@@ -1074,7 +1775,6 @@
1074
1775
  "type": {
1075
1776
  "text": "\"auto\" | \"auto-start\" | \"auto-end\" | \"top\" | \"bottom\" | \"right\" | \"left\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\" | \"right-start\" | \"right-end\" | \"left-start\" | \"left-end\" | \"none\""
1076
1777
  },
1077
- "default": "'bottom'",
1078
1778
  "fieldName": "placement",
1079
1779
  "attribute": "placement"
1080
1780
  },
@@ -1123,7 +1823,7 @@
1123
1823
  "name": "LONGPRESS_INSTRUCTIONS",
1124
1824
  "declaration": {
1125
1825
  "name": "LONGPRESS_INSTRUCTIONS",
1126
- "module": "src/OverlayTrigger.js"
1826
+ "module": "src/OverlayTrigger.ts"
1127
1827
  }
1128
1828
  },
1129
1829
  {
@@ -1131,14 +1831,173 @@
1131
1831
  "name": "OverlayTrigger",
1132
1832
  "declaration": {
1133
1833
  "name": "OverlayTrigger",
1134
- "module": "src/OverlayTrigger.js"
1834
+ "module": "src/OverlayTrigger.ts"
1835
+ }
1836
+ }
1837
+ ]
1838
+ },
1839
+ {
1840
+ "kind": "javascript-module",
1841
+ "path": "src/PlacementController.ts",
1842
+ "declarations": [
1843
+ {
1844
+ "kind": "variable",
1845
+ "name": "placementUpdatedSymbol"
1846
+ },
1847
+ {
1848
+ "kind": "class",
1849
+ "description": "",
1850
+ "name": "PlacementController",
1851
+ "members": [
1852
+ {
1853
+ "kind": "field",
1854
+ "name": "cleanup",
1855
+ "type": {
1856
+ "text": "() => void | undefined"
1857
+ },
1858
+ "privacy": "private"
1859
+ },
1860
+ {
1861
+ "kind": "field",
1862
+ "name": "initialHeight",
1863
+ "type": {
1864
+ "text": "number | undefined"
1865
+ }
1866
+ },
1867
+ {
1868
+ "kind": "field",
1869
+ "name": "isConstrained",
1870
+ "type": {
1871
+ "text": "boolean | undefined"
1872
+ }
1873
+ },
1874
+ {
1875
+ "kind": "field",
1876
+ "name": "host",
1877
+ "type": {
1878
+ "text": "ReactiveElement & { elements: OpenableElement[] }"
1879
+ },
1880
+ "privacy": "private",
1881
+ "default": "host"
1882
+ },
1883
+ {
1884
+ "kind": "field",
1885
+ "name": "options",
1886
+ "type": {
1887
+ "text": "OverlayOptions"
1888
+ },
1889
+ "privacy": "private"
1890
+ },
1891
+ {
1892
+ "kind": "field",
1893
+ "name": "originalPlacements",
1894
+ "privacy": "private",
1895
+ "default": "new WeakMap<HTMLElement, Placement>()"
1896
+ },
1897
+ {
1898
+ "kind": "field",
1899
+ "name": "target",
1900
+ "type": {
1901
+ "text": "HTMLElement"
1902
+ },
1903
+ "privacy": "private"
1904
+ },
1905
+ {
1906
+ "kind": "method",
1907
+ "name": "placeOverlay",
1908
+ "privacy": "public",
1909
+ "return": {
1910
+ "type": {
1911
+ "text": "Promise<void>"
1912
+ }
1913
+ },
1914
+ "parameters": [
1915
+ {
1916
+ "name": "target",
1917
+ "default": "this.target",
1918
+ "type": {
1919
+ "text": "HTMLElement"
1920
+ }
1921
+ },
1922
+ {
1923
+ "name": "options",
1924
+ "default": "this.options",
1925
+ "type": {
1926
+ "text": "OverlayOptions"
1927
+ }
1928
+ }
1929
+ ]
1930
+ },
1931
+ {
1932
+ "kind": "field",
1933
+ "name": "updatePlacement"
1934
+ },
1935
+ {
1936
+ "kind": "method",
1937
+ "name": "computePlacement",
1938
+ "return": {
1939
+ "type": {
1940
+ "text": "Promise<void>"
1941
+ }
1942
+ }
1943
+ },
1944
+ {
1945
+ "kind": "field",
1946
+ "name": "resetOverlayPosition",
1947
+ "privacy": "public"
1948
+ },
1949
+ {
1950
+ "kind": "method",
1951
+ "name": "hostConnected",
1952
+ "return": {
1953
+ "type": {
1954
+ "text": "void"
1955
+ }
1956
+ }
1957
+ },
1958
+ {
1959
+ "kind": "method",
1960
+ "name": "hostUpdated",
1961
+ "return": {
1962
+ "type": {
1963
+ "text": "void"
1964
+ }
1965
+ }
1966
+ },
1967
+ {
1968
+ "kind": "method",
1969
+ "name": "hostDisconnected",
1970
+ "return": {
1971
+ "type": {
1972
+ "text": "void"
1973
+ }
1974
+ }
1975
+ }
1976
+ ]
1977
+ }
1978
+ ],
1979
+ "exports": [
1980
+ {
1981
+ "kind": "js",
1982
+ "name": "placementUpdatedSymbol",
1983
+ "declaration": {
1984
+ "name": "placementUpdatedSymbol",
1985
+ "module": "src/PlacementController.ts"
1986
+ }
1987
+ },
1988
+ {
1989
+ "kind": "js",
1990
+ "name": "PlacementController",
1991
+ "declaration": {
1992
+ "name": "PlacementController",
1993
+ "module": "src/PlacementController.ts"
1135
1994
  }
1136
1995
  }
1137
1996
  ]
1138
1997
  },
1139
1998
  {
1140
1999
  "kind": "javascript-module",
1141
- "path": "src/VirtualTrigger.js",
2000
+ "path": "src/VirtualTrigger.ts",
1142
2001
  "declarations": [
1143
2002
  {
1144
2003
  "kind": "class",
@@ -1206,7 +2065,7 @@
1206
2065
  "name": "VirtualTrigger",
1207
2066
  "declaration": {
1208
2067
  "name": "VirtualTrigger",
1209
- "module": "src/VirtualTrigger.js"
2068
+ "module": "src/VirtualTrigger.ts"
1210
2069
  }
1211
2070
  }
1212
2071
  ]