@spectrum-web-components/overlay 0.33.2 → 0.33.3-overlay.65

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