@spectrum-web-components/overlay 0.36.0 → 0.38.0

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 (156) hide show
  1. package/README.md +277 -149
  2. package/custom-elements.json +1678 -553
  3. package/package.json +49 -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/AbstractOverlay.d.ts +58 -0
  10. package/src/AbstractOverlay.dev.js +211 -0
  11. package/src/AbstractOverlay.dev.js.map +7 -0
  12. package/src/AbstractOverlay.js +2 -0
  13. package/src/AbstractOverlay.js.map +7 -0
  14. package/src/Overlay.d.ts +163 -0
  15. package/src/Overlay.dev.js +792 -0
  16. package/src/Overlay.dev.js.map +7 -0
  17. package/src/Overlay.js +33 -0
  18. package/src/Overlay.js.map +7 -0
  19. package/src/OverlayDialog.d.ts +4 -0
  20. package/src/OverlayDialog.dev.js +135 -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 +4 -0
  25. package/src/OverlayNoPopover.dev.js +109 -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 +4 -0
  30. package/src/OverlayPopover.dev.js +169 -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 +43 -0
  35. package/src/OverlayStack.dev.js +150 -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 +26 -42
  40. package/src/OverlayTrigger.dev.js +172 -296
  41. package/src/OverlayTrigger.dev.js.map +3 -3
  42. package/src/OverlayTrigger.js +49 -25
  43. package/src/OverlayTrigger.js.map +3 -3
  44. package/src/PlacementController.d.ts +38 -0
  45. package/src/PlacementController.dev.js +199 -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 +2 -1
  50. package/src/VirtualTrigger.dev.js.map +2 -2
  51. package/src/VirtualTrigger.js +1 -1
  52. package/src/VirtualTrigger.js.map +2 -2
  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 +1 -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-timer.dev.js.map +2 -2
  69. package/src/overlay-timer.js.map +2 -2
  70. package/src/overlay-trigger.css.dev.js +1 -1
  71. package/src/overlay-trigger.css.dev.js.map +1 -1
  72. package/src/overlay-trigger.css.js +3 -3
  73. package/src/overlay-trigger.css.js.map +1 -1
  74. package/src/overlay-types.d.ts +25 -31
  75. package/src/overlay-types.dev.js +1 -0
  76. package/src/overlay-types.dev.js.map +3 -3
  77. package/src/overlay-types.js +1 -1
  78. package/src/overlay-types.js.map +3 -3
  79. package/src/overlay.css.dev.js +9 -0
  80. package/src/overlay.css.dev.js.map +7 -0
  81. package/src/overlay.css.js +6 -0
  82. package/src/overlay.css.js.map +7 -0
  83. package/src/topLayerOverTransforms.d.ts +2 -0
  84. package/src/topLayerOverTransforms.dev.js +96 -0
  85. package/src/topLayerOverTransforms.dev.js.map +7 -0
  86. package/src/topLayerOverTransforms.js +2 -0
  87. package/src/topLayerOverTransforms.js.map +7 -0
  88. package/stories/overlay-element.stories.js +516 -0
  89. package/stories/overlay-element.stories.js.map +7 -0
  90. package/stories/overlay-story-components.js +9 -8
  91. package/stories/overlay-story-components.js.map +2 -2
  92. package/stories/overlay.stories.js +824 -680
  93. package/stories/overlay.stories.js.map +2 -2
  94. package/sync/overlay-trigger.d.ts +5 -0
  95. package/sync/overlay-trigger.dev.js +2 -4
  96. package/sync/overlay-trigger.dev.js.map +2 -2
  97. package/sync/overlay-trigger.js +1 -1
  98. package/sync/overlay-trigger.js.map +3 -3
  99. package/test/benchmark/basic-test.js +2 -2
  100. package/test/benchmark/basic-test.js.map +1 -1
  101. package/test/index.js +414 -377
  102. package/test/index.js.map +3 -3
  103. package/test/overlay-element.test-vrt.js +5 -0
  104. package/test/overlay-element.test-vrt.js.map +7 -0
  105. package/test/overlay-element.test.js +682 -0
  106. package/test/overlay-element.test.js.map +7 -0
  107. package/test/overlay-lifecycle.test.js +43 -102
  108. package/test/overlay-lifecycle.test.js.map +2 -2
  109. package/test/overlay-trigger-click.test.js +11 -5
  110. package/test/overlay-trigger-click.test.js.map +2 -2
  111. package/test/overlay-trigger-extended.test.js +46 -36
  112. package/test/overlay-trigger-extended.test.js.map +2 -2
  113. package/test/overlay-trigger-hover-click.test.js +38 -25
  114. package/test/overlay-trigger-hover-click.test.js.map +2 -2
  115. package/test/overlay-trigger-hover.test.js +41 -35
  116. package/test/overlay-trigger-hover.test.js.map +2 -2
  117. package/test/overlay-trigger-longpress.test.js +211 -82
  118. package/test/overlay-trigger-longpress.test.js.map +2 -2
  119. package/test/overlay-trigger-sync.test.js +1 -1
  120. package/test/overlay-trigger-sync.test.js.map +2 -2
  121. package/test/overlay-trigger.test.js +1 -1
  122. package/test/overlay-trigger.test.js.map +2 -2
  123. package/test/overlay-update.test.js +5 -5
  124. package/test/overlay-update.test.js.map +2 -2
  125. package/test/overlay-v1.test.js +547 -0
  126. package/test/overlay-v1.test.js.map +7 -0
  127. package/test/overlay.test.js +385 -269
  128. package/test/overlay.test.js.map +3 -3
  129. package/active-overlay.d.ts +0 -6
  130. package/active-overlay.dev.js +0 -5
  131. package/active-overlay.js +0 -2
  132. package/src/ActiveOverlay.d.ts +0 -84
  133. package/src/ActiveOverlay.dev.js +0 -517
  134. package/src/ActiveOverlay.dev.js.map +0 -7
  135. package/src/ActiveOverlay.js +0 -16
  136. package/src/ActiveOverlay.js.map +0 -7
  137. package/src/active-overlay.css.dev.js +0 -13
  138. package/src/active-overlay.css.dev.js.map +0 -7
  139. package/src/active-overlay.css.js +0 -10
  140. package/src/active-overlay.css.js.map +0 -7
  141. package/src/overlay-stack.d.ts +0 -50
  142. package/src/overlay-stack.dev.js +0 -515
  143. package/src/overlay-stack.dev.js.map +0 -7
  144. package/src/overlay-stack.js +0 -34
  145. package/src/overlay-stack.js.map +0 -7
  146. package/src/overlay-utils.d.ts +0 -3
  147. package/src/overlay-utils.dev.js +0 -31
  148. package/src/overlay-utils.dev.js.map +0 -7
  149. package/src/overlay-utils.js +0 -2
  150. package/src/overlay-utils.js.map +0 -7
  151. package/src/overlay.d.ts +0 -59
  152. package/src/overlay.dev.js +0 -127
  153. package/src/overlay.dev.js.map +0 -7
  154. package/src/overlay.js +0 -2
  155. package/src/overlay.js.map +0 -7
  156. /package/src/{active-overlay.css.d.ts → overlay.css.d.ts} +0 -0
@@ -0,0 +1,516 @@
1
+ "use strict";
2
+ import { html } from "@spectrum-web-components/base";
3
+ import { ifDefined } from "@spectrum-web-components/base/src/directives.js";
4
+ import "@spectrum-web-components/overlay/sp-overlay.js";
5
+ import "@spectrum-web-components/action-button/sp-action-button.js";
6
+ import "@spectrum-web-components/action-menu/sp-action-menu.js";
7
+ import "@spectrum-web-components/action-group/sp-action-group.js";
8
+ import "@spectrum-web-components/popover/sp-popover.js";
9
+ import "@spectrum-web-components/menu/sp-menu-group.js";
10
+ import "@spectrum-web-components/menu/sp-menu-item.js";
11
+ import "@spectrum-web-components/menu/sp-menu-divider.js";
12
+ import "@spectrum-web-components/tooltip/sp-tooltip.js";
13
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-anchor-select.js";
14
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-polygon-select.js";
15
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-rect-select.js";
16
+ import { notAgain } from "../../dialog/stories/dialog-base.stories.js";
17
+ export default {
18
+ title: "Overlay Element",
19
+ component: "sp-overlay",
20
+ args: {
21
+ open: true,
22
+ delayed: false
23
+ },
24
+ argTypes: {
25
+ open: {
26
+ name: "open",
27
+ type: { name: "boolean", required: false },
28
+ description: "Whether the second accordion item is open.",
29
+ table: {
30
+ type: { summary: "boolean" },
31
+ defaultValue: { summary: false }
32
+ },
33
+ control: {
34
+ type: "boolean"
35
+ }
36
+ },
37
+ delayed: {
38
+ name: "delayed",
39
+ type: { name: "boolean", required: false },
40
+ description: "Whether the tooltips are delayed.",
41
+ table: {
42
+ type: { summary: "boolean" },
43
+ defaultValue: { summary: false }
44
+ },
45
+ control: {
46
+ type: "boolean"
47
+ }
48
+ }
49
+ }
50
+ };
51
+ const Template = ({
52
+ interaction,
53
+ open,
54
+ placement,
55
+ type
56
+ }) => html`
57
+ <sp-action-button id="trigger">Open the overlay</sp-action-button>
58
+ <sp-overlay
59
+ ?open=${open}
60
+ trigger="trigger@${interaction}"
61
+ type=${ifDefined(type)}
62
+ placement=${ifDefined(placement)}
63
+ offset="-10"
64
+ >
65
+ <sp-popover dialog>
66
+ <p>
67
+ Content goes here.
68
+ ${type === "modal" || type === "page" ? html`
69
+ Or, a link,
70
+ <sp-link
71
+ href="https://opensource.adobe.com/spectrum-web-components"
72
+ >
73
+ Spectrum Web Components
74
+ </sp-link>
75
+ .
76
+ ` : ""}
77
+ </p>
78
+ </sp-popover>
79
+ </sp-overlay>
80
+ `;
81
+ export const modal = (args) => Template(args);
82
+ modal.args = {
83
+ interaction: "click",
84
+ placement: "right",
85
+ type: "modal"
86
+ };
87
+ export const page = ({
88
+ interaction,
89
+ open,
90
+ placement,
91
+ type
92
+ }) => html`
93
+ <sp-action-button id="trigger">Open the overlay</sp-action-button>
94
+ <sp-overlay
95
+ ?open=${open}
96
+ trigger="trigger@${interaction}"
97
+ type=${ifDefined(type)}
98
+ placement=${ifDefined(placement)}
99
+ >
100
+ ${notAgain()}
101
+ </sp-overlay>
102
+ `;
103
+ page.args = {
104
+ interaction: "click",
105
+ placement: "right",
106
+ type: "page"
107
+ };
108
+ export const click = (args) => Template(args);
109
+ click.args = {
110
+ interaction: "click",
111
+ placement: "right",
112
+ type: "auto"
113
+ };
114
+ export const hover = (args) => Template(args);
115
+ hover.args = {
116
+ interaction: "hover",
117
+ placement: "right"
118
+ };
119
+ export const longpress = (args) => Template(args);
120
+ longpress.args = {
121
+ interaction: "longpress",
122
+ placement: "right",
123
+ type: "auto"
124
+ };
125
+ export const transformed = (args) => html`
126
+ <style>
127
+ .transformed {
128
+ transform: translateX(-50%);
129
+ position: absolute;
130
+ inset: auto;
131
+ inset-inline-start: 200px;
132
+ inset-block-start: 200px;
133
+ inline-size: 100px;
134
+ block-size: 50px;
135
+ }
136
+ </style>
137
+ <div class="transformed">${Template(args)}</div>
138
+ `;
139
+ transformed.args = {
140
+ interaction: "click",
141
+ placement: "right",
142
+ type: "auto"
143
+ };
144
+ export const contained = (args) => html`
145
+ <style>
146
+ .contained {
147
+ contain: strict;
148
+ position: absolute;
149
+ inset: auto;
150
+ inset-inline-start: 200px;
151
+ inset-block-start: 200px;
152
+ inline-size: 200px;
153
+ block-size: 50px;
154
+ padding-block: 75px;
155
+ padding-inline-start: 300px;
156
+ }
157
+ </style>
158
+ <div class="contained">${Template(args)}</div>
159
+ `;
160
+ contained.args = {
161
+ interaction: "click",
162
+ placement: "right",
163
+ type: "auto"
164
+ };
165
+ export const all = ({ delayed }) => html`
166
+ <sp-action-button id="trigger" hold-affordance>
167
+ Open the overlay
168
+ </sp-action-button>
169
+ <sp-overlay trigger="trigger@click" type="auto" placement="right">
170
+ <sp-popover dialog>Click content</sp-popover>
171
+ </sp-overlay>
172
+ <sp-overlay ?delayed=${delayed} trigger="trigger@hover" type="hint">
173
+ <sp-tooltip>Hover content</sp-tooltip>
174
+ </sp-overlay>
175
+ <sp-overlay trigger="trigger@longpress" type="auto" placement="right">
176
+ <sp-popover dialog>Longpress content</sp-popover>
177
+ </sp-overlay>
178
+ `;
179
+ export const actionGroup = ({ delayed }) => {
180
+ const popoverOffset = [6, -13];
181
+ return html`
182
+ <style>
183
+ sp-popover sp-action-group {
184
+ padding: calc(
185
+ var(--spectrum-actiongroup-vertical-spacing-regular) *
186
+ 0.75
187
+ )
188
+ calc(
189
+ var(--spectrum-actiongroup-vertical-spacing-regular) / 2
190
+ );
191
+ }
192
+ .root {
193
+ inset-inline-end: 0em;
194
+ inset-block-start: 3em;
195
+ padding-block-end: 3em;
196
+ }
197
+ .root > sp-action-group > sp-action-button,
198
+ .root > sp-action-group > sp-action-menu {
199
+ top: 3em;
200
+ position: relative;
201
+ }
202
+ </style>
203
+ <sp-popover open class="root">
204
+ <sp-action-group vertical quiet emphasized selects="single">
205
+ <sp-action-button id="trigger-1" hold-affordance>
206
+ <sp-icon-anchor-select slot="icon"></sp-icon-anchor-select>
207
+ </sp-action-button>
208
+ <sp-action-button id="trigger-2" hold-affordance>
209
+ <sp-icon-polygon-select
210
+ slot="icon"
211
+ ></sp-icon-polygon-select>
212
+ </sp-action-button>
213
+ <sp-action-button id="trigger-3" hold-affordance>
214
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
215
+ </sp-action-button>
216
+ <sp-action-menu placement="left">
217
+ <sp-menu-group id="cms">
218
+ <span slot="header">cms</span>
219
+ <sp-menu-item value="updateAllSiteContent">
220
+ Update All Content
221
+ </sp-menu-item>
222
+ <sp-menu-item value="refreshAllXDs">
223
+ Refresh All XDs
224
+ </sp-menu-item>
225
+ </sp-menu-group>
226
+ <sp-menu-group id="ssg">
227
+ <span slot="header">ssg</span>
228
+ <sp-menu-item value="clearCache">
229
+ Clear Cache
230
+ </sp-menu-item>
231
+ </sp-menu-group>
232
+ <sp-menu-group id="vrt">
233
+ <span slot="header">vrt</span>
234
+ <sp-menu-item value="vrt-contributions">
235
+ Contributions
236
+ </sp-menu-item>
237
+ <sp-menu-item value="vrt-internal">
238
+ Internal
239
+ </sp-menu-item>
240
+ <sp-menu-item value="vrt-public">Public</sp-menu-item>
241
+ <sp-menu-item value="vrt-patterns">
242
+ Patterns
243
+ </sp-menu-item>
244
+ <sp-menu-item value="vrt">All</sp-menu-item>
245
+ </sp-menu-group>
246
+ <sp-menu-divider></sp-menu-divider>
247
+ <sp-menu-group id="misc">
248
+ <sp-menu-item value="logout">Logout</sp-menu-item>
249
+ </sp-menu-group>
250
+ </sp-action-menu>
251
+ </sp-action-group>
252
+ </sp-popover>
253
+ <sp-overlay ?delayed=${delayed} trigger="trigger-1@hover" type="hint">
254
+ <sp-tooltip>Hover</sp-tooltip>
255
+ </sp-overlay>
256
+ <sp-overlay
257
+ trigger="trigger-1@longpress"
258
+ type="auto"
259
+ placement="right-start"
260
+ .offset=${popoverOffset}
261
+ >
262
+ <sp-popover tip>
263
+ <sp-action-group vertical quiet>
264
+ <sp-action-button>
265
+ <sp-icon-anchor-select
266
+ slot="icon"
267
+ ></sp-icon-anchor-select>
268
+ </sp-action-button>
269
+ <sp-action-button>
270
+ <sp-icon-polygon-select
271
+ slot="icon"
272
+ ></sp-icon-polygon-select>
273
+ </sp-action-button>
274
+ <sp-action-button>
275
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
276
+ </sp-action-button>
277
+ </sp-action-group>
278
+ </sp-popover>
279
+ </sp-overlay>
280
+ <sp-overlay ?delayed=${delayed} trigger="trigger-2@hover" type="hint">
281
+ <sp-tooltip>Hover</sp-tooltip>
282
+ </sp-overlay>
283
+ <sp-overlay
284
+ trigger="trigger-2@longpress"
285
+ type="auto"
286
+ placement="right-start"
287
+ .offset=${popoverOffset}
288
+ >
289
+ <sp-popover tip>
290
+ <sp-action-group vertical quiet>
291
+ <sp-action-button>
292
+ <sp-icon-anchor-select
293
+ slot="icon"
294
+ ></sp-icon-anchor-select>
295
+ </sp-action-button>
296
+ <sp-action-button>
297
+ <sp-icon-polygon-select
298
+ slot="icon"
299
+ ></sp-icon-polygon-select>
300
+ </sp-action-button>
301
+ <sp-action-button>
302
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
303
+ </sp-action-button>
304
+ </sp-action-group>
305
+ </sp-popover>
306
+ </sp-overlay>
307
+ <sp-overlay
308
+ ?delayed=${delayed}
309
+ trigger="trigger-3@hover"
310
+ type="hint"
311
+ open
312
+ >
313
+ <sp-tooltip>Hover</sp-tooltip>
314
+ </sp-overlay>
315
+ <sp-overlay
316
+ trigger="trigger-3@longpress"
317
+ type="auto"
318
+ placement="right-start"
319
+ .offset=${popoverOffset}
320
+ >
321
+ <sp-popover tip>
322
+ <sp-action-group vertical quiet>
323
+ <sp-action-button>
324
+ <sp-icon-anchor-select
325
+ slot="icon"
326
+ ></sp-icon-anchor-select>
327
+ </sp-action-button>
328
+ <sp-action-button>
329
+ <sp-icon-polygon-select
330
+ slot="icon"
331
+ ></sp-icon-polygon-select>
332
+ </sp-action-button>
333
+ <sp-action-button>
334
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
335
+ </sp-action-button>
336
+ </sp-action-group>
337
+ </sp-popover>
338
+ </sp-overlay>
339
+ `;
340
+ };
341
+ export const actionGroupWithFilters = ({
342
+ delayed
343
+ }) => {
344
+ const popoverOffset = [6, -13];
345
+ return html`
346
+ <style>
347
+ sp-popover sp-action-group {
348
+ padding: calc(
349
+ var(--spectrum-actiongroup-vertical-spacing-regular) *
350
+ 0.75
351
+ )
352
+ calc(
353
+ var(--spectrum-actiongroup-vertical-spacing-regular) / 2
354
+ );
355
+ }
356
+ .root {
357
+ inset-inline-end: 0em;
358
+ inset-block-start: 3em;
359
+ padding-block-end: 3em;
360
+ overflow: hidden;
361
+ }
362
+ .root > sp-action-group > sp-action-button,
363
+ .root > sp-action-group > sp-action-menu {
364
+ top: 3em;
365
+ position: relative;
366
+ }
367
+ sp-action-button,
368
+ sp-action-menu {
369
+ background-image: linear-gradient(
370
+ rgba(125, 125, 125, 0.2),
371
+ rgba(125, 125, 125, 0.2)
372
+ );
373
+ background-blend-mode: multiply;
374
+ filter: brightness(1) saturate(1);
375
+ }
376
+ </style>
377
+ <p>
378
+ This story outlines some CSS usage that is not yet covered by the
379
+ placement calculations within the Overlay API.
380
+ </p>
381
+ <sp-popover open class="root">
382
+ <sp-action-group vertical quiet emphasized selects="single">
383
+ <sp-action-button id="trigger-1" hold-affordance>
384
+ <sp-icon-anchor-select slot="icon"></sp-icon-anchor-select>
385
+ <sp-tooltip ?delayed=${delayed} self-managed>
386
+ Hover
387
+ </sp-tooltip>
388
+ <sp-overlay
389
+ trigger="trigger-1@longpress"
390
+ type="auto"
391
+ placement="right-start"
392
+ .offset=${popoverOffset}
393
+ >
394
+ <sp-popover tip>
395
+ <sp-action-group vertical quiet>
396
+ <sp-action-button>
397
+ <sp-icon-anchor-select
398
+ slot="icon"
399
+ ></sp-icon-anchor-select>
400
+ </sp-action-button>
401
+ <sp-action-button>
402
+ <sp-icon-polygon-select
403
+ slot="icon"
404
+ ></sp-icon-polygon-select>
405
+ </sp-action-button>
406
+ <sp-action-button>
407
+ <sp-icon-rect-select
408
+ slot="icon"
409
+ ></sp-icon-rect-select>
410
+ </sp-action-button>
411
+ </sp-action-group>
412
+ </sp-popover>
413
+ </sp-overlay>
414
+ </sp-action-button>
415
+ <sp-action-button id="trigger-2" hold-affordance>
416
+ <sp-icon-polygon-select
417
+ slot="icon"
418
+ ></sp-icon-polygon-select>
419
+ </sp-action-button>
420
+ <sp-action-button id="trigger-3" hold-affordance>
421
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
422
+ <sp-tooltip ?delayed=${delayed} self-managed>
423
+ Hover
424
+ </sp-tooltip>
425
+ </sp-action-button>
426
+ <sp-action-menu>
427
+ <sp-menu-group id="cms">
428
+ <span slot="header">cms</span>
429
+ <sp-menu-item value="updateAllSiteContent">
430
+ Update All Content
431
+ </sp-menu-item>
432
+ <sp-menu-item value="refreshAllXDs">
433
+ Refresh All XDs
434
+ </sp-menu-item>
435
+ </sp-menu-group>
436
+ <sp-menu-group id="ssg">
437
+ <span slot="header">ssg</span>
438
+ <sp-menu-item value="clearCache">
439
+ Clear Cache
440
+ </sp-menu-item>
441
+ </sp-menu-group>
442
+ <sp-menu-group id="vrt">
443
+ <span slot="header">vrt</span>
444
+ <sp-menu-item value="vrt-contributions">
445
+ Contributions
446
+ </sp-menu-item>
447
+ <sp-menu-item value="vrt-internal">
448
+ Internal
449
+ </sp-menu-item>
450
+ <sp-menu-item value="vrt-public">Public</sp-menu-item>
451
+ <sp-menu-item value="vrt-patterns">
452
+ Patterns
453
+ </sp-menu-item>
454
+ <sp-menu-item value="vrt">All</sp-menu-item>
455
+ </sp-menu-group>
456
+ <sp-menu-divider></sp-menu-divider>
457
+ <sp-menu-group id="misc">
458
+ <sp-menu-item value="logout">Logout</sp-menu-item>
459
+ </sp-menu-group>
460
+ </sp-action-menu>
461
+ </sp-action-group>
462
+ </sp-popover>
463
+ <sp-overlay ?delayed=${delayed} trigger="trigger-2@hover" type="hint">
464
+ <sp-tooltip>Hover</sp-tooltip>
465
+ </sp-overlay>
466
+ <sp-overlay
467
+ trigger="trigger-2@longpress"
468
+ type="auto"
469
+ placement="right-start"
470
+ .offset=${popoverOffset}
471
+ >
472
+ <sp-popover tip>
473
+ <sp-action-group vertical quiet>
474
+ <sp-action-button>
475
+ <sp-icon-anchor-select
476
+ slot="icon"
477
+ ></sp-icon-anchor-select>
478
+ </sp-action-button>
479
+ <sp-action-button>
480
+ <sp-icon-polygon-select
481
+ slot="icon"
482
+ ></sp-icon-polygon-select>
483
+ </sp-action-button>
484
+ <sp-action-button>
485
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
486
+ </sp-action-button>
487
+ </sp-action-group>
488
+ </sp-popover>
489
+ </sp-overlay>
490
+ <sp-overlay
491
+ trigger="trigger-3@longpress"
492
+ type="auto"
493
+ placement="right-start"
494
+ .offset=${popoverOffset}
495
+ >
496
+ <sp-popover tip>
497
+ <sp-action-group vertical quiet>
498
+ <sp-action-button>
499
+ <sp-icon-anchor-select
500
+ slot="icon"
501
+ ></sp-icon-anchor-select>
502
+ </sp-action-button>
503
+ <sp-action-button>
504
+ <sp-icon-polygon-select
505
+ slot="icon"
506
+ ></sp-icon-polygon-select>
507
+ </sp-action-button>
508
+ <sp-action-button>
509
+ <sp-icon-rect-select slot="icon"></sp-icon-rect-select>
510
+ </sp-action-button>
511
+ </sp-action-group>
512
+ </sp-popover>
513
+ </sp-overlay>
514
+ `;
515
+ };
516
+ //# sourceMappingURL=overlay-element.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["overlay-element.stories.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2022 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport '@spectrum-web-components/overlay/sp-overlay.js';\nimport '@spectrum-web-components/action-button/sp-action-button.js';\nimport '@spectrum-web-components/action-menu/sp-action-menu.js';\nimport '@spectrum-web-components/action-group/sp-action-group.js';\nimport '@spectrum-web-components/popover/sp-popover.js';\nimport '@spectrum-web-components/menu/sp-menu-group.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport '@spectrum-web-components/tooltip/sp-tooltip.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-anchor-select.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-polygon-select.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-rect-select.js';\nimport { Placement } from '@floating-ui/dom';\nimport { OverlayTypes } from '../src/overlay-types.js';\nimport { notAgain } from '../../dialog/stories/dialog-base.stories.js';\n\nexport default {\n title: 'Overlay Element',\n component: 'sp-overlay',\n args: {\n open: true,\n delayed: false,\n },\n argTypes: {\n open: {\n name: 'open',\n type: { name: 'boolean', required: false },\n description: 'Whether the second accordion item is open.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n delayed: {\n name: 'delayed',\n type: { name: 'boolean', required: false },\n description: 'Whether the tooltips are delayed.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n },\n};\n\ntype Properties = {\n delayed: boolean;\n interaction: 'click' | 'hover' | 'longpress';\n open?: boolean;\n placement?: Placement;\n type?: OverlayTypes;\n};\n\nconst Template = ({\n interaction,\n open,\n placement,\n type,\n}: Properties): TemplateResult => html`\n <sp-action-button id=\"trigger\">Open the overlay</sp-action-button>\n <sp-overlay\n ?open=${open}\n trigger=\"trigger@${interaction}\"\n type=${ifDefined(type)}\n placement=${ifDefined(placement)}\n offset=\"-10\"\n >\n <sp-popover dialog>\n <p>\n Content goes here.\n ${type === 'modal' || type === 'page'\n ? html`\n Or, a link,\n <sp-link\n href=\"https://opensource.adobe.com/spectrum-web-components\"\n >\n Spectrum Web Components\n </sp-link>\n .\n `\n : ''}\n </p>\n </sp-popover>\n </sp-overlay>\n`;\n\nexport const modal = (args: Properties): TemplateResult => Template(args);\nmodal.args = {\n interaction: 'click',\n placement: 'right',\n type: 'modal',\n};\n\nexport const page = ({\n interaction,\n open,\n placement,\n type,\n}: Properties): TemplateResult => html`\n <sp-action-button id=\"trigger\">Open the overlay</sp-action-button>\n <sp-overlay\n ?open=${open}\n trigger=\"trigger@${interaction}\"\n type=${ifDefined(type)}\n placement=${ifDefined(placement)}\n >\n ${notAgain()}\n </sp-overlay>\n`;\npage.args = {\n interaction: 'click',\n placement: 'right',\n type: 'page',\n};\n\nexport const click = (args: Properties): TemplateResult => Template(args);\nclick.args = {\n interaction: 'click',\n placement: 'right',\n type: 'auto',\n};\n\nexport const hover = (args: Properties): TemplateResult => Template(args);\nhover.args = {\n interaction: 'hover',\n placement: 'right',\n};\n\nexport const longpress = (args: Properties): TemplateResult => Template(args);\nlongpress.args = {\n interaction: 'longpress',\n placement: 'right',\n type: 'auto',\n};\n\nexport const transformed = (args: Properties): TemplateResult => html`\n <style>\n .transformed {\n transform: translateX(-50%);\n position: absolute;\n inset: auto;\n inset-inline-start: 200px;\n inset-block-start: 200px;\n inline-size: 100px;\n block-size: 50px;\n }\n </style>\n <div class=\"transformed\">${Template(args)}</div>\n`;\ntransformed.args = {\n interaction: 'click',\n placement: 'right',\n type: 'auto',\n};\n\nexport const contained = (args: Properties): TemplateResult => html`\n <style>\n .contained {\n contain: strict;\n position: absolute;\n inset: auto;\n inset-inline-start: 200px;\n inset-block-start: 200px;\n inline-size: 200px;\n block-size: 50px;\n padding-block: 75px;\n padding-inline-start: 300px;\n }\n </style>\n <div class=\"contained\">${Template(args)}</div>\n`;\ncontained.args = {\n interaction: 'click',\n placement: 'right',\n type: 'auto',\n};\n\nexport const all = ({ delayed }: Properties): TemplateResult => html`\n <sp-action-button id=\"trigger\" hold-affordance>\n Open the overlay\n </sp-action-button>\n <sp-overlay trigger=\"trigger@click\" type=\"auto\" placement=\"right\">\n <sp-popover dialog>Click content</sp-popover>\n </sp-overlay>\n <sp-overlay ?delayed=${delayed} trigger=\"trigger@hover\" type=\"hint\">\n <sp-tooltip>Hover content</sp-tooltip>\n </sp-overlay>\n <sp-overlay trigger=\"trigger@longpress\" type=\"auto\" placement=\"right\">\n <sp-popover dialog>Longpress content</sp-popover>\n </sp-overlay>\n`;\n\nexport const actionGroup = ({ delayed }: Properties): TemplateResult => {\n const popoverOffset = [6, -13] as [number, number];\n return html`\n <style>\n sp-popover sp-action-group {\n padding: calc(\n var(--spectrum-actiongroup-vertical-spacing-regular) *\n 0.75\n )\n calc(\n var(--spectrum-actiongroup-vertical-spacing-regular) / 2\n );\n }\n .root {\n inset-inline-end: 0em;\n inset-block-start: 3em;\n padding-block-end: 3em;\n }\n .root > sp-action-group > sp-action-button,\n .root > sp-action-group > sp-action-menu {\n top: 3em;\n position: relative;\n }\n </style>\n <sp-popover open class=\"root\">\n <sp-action-group vertical quiet emphasized selects=\"single\">\n <sp-action-button id=\"trigger-1\" hold-affordance>\n <sp-icon-anchor-select slot=\"icon\"></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button id=\"trigger-2\" hold-affordance>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button id=\"trigger-3\" hold-affordance>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n </sp-action-button>\n <sp-action-menu placement=\"left\">\n <sp-menu-group id=\"cms\">\n <span slot=\"header\">cms</span>\n <sp-menu-item value=\"updateAllSiteContent\">\n Update All Content\n </sp-menu-item>\n <sp-menu-item value=\"refreshAllXDs\">\n Refresh All XDs\n </sp-menu-item>\n </sp-menu-group>\n <sp-menu-group id=\"ssg\">\n <span slot=\"header\">ssg</span>\n <sp-menu-item value=\"clearCache\">\n Clear Cache\n </sp-menu-item>\n </sp-menu-group>\n <sp-menu-group id=\"vrt\">\n <span slot=\"header\">vrt</span>\n <sp-menu-item value=\"vrt-contributions\">\n Contributions\n </sp-menu-item>\n <sp-menu-item value=\"vrt-internal\">\n Internal\n </sp-menu-item>\n <sp-menu-item value=\"vrt-public\">Public</sp-menu-item>\n <sp-menu-item value=\"vrt-patterns\">\n Patterns\n </sp-menu-item>\n <sp-menu-item value=\"vrt\">All</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group id=\"misc\">\n <sp-menu-item value=\"logout\">Logout</sp-menu-item>\n </sp-menu-group>\n </sp-action-menu>\n </sp-action-group>\n </sp-popover>\n <sp-overlay ?delayed=${delayed} trigger=\"trigger-1@hover\" type=\"hint\">\n <sp-tooltip>Hover</sp-tooltip>\n </sp-overlay>\n <sp-overlay\n trigger=\"trigger-1@longpress\"\n type=\"auto\"\n placement=\"right-start\"\n .offset=${popoverOffset}\n >\n <sp-popover tip>\n <sp-action-group vertical quiet>\n <sp-action-button>\n <sp-icon-anchor-select\n slot=\"icon\"\n ></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n </sp-action-button>\n </sp-action-group>\n </sp-popover>\n </sp-overlay>\n <sp-overlay ?delayed=${delayed} trigger=\"trigger-2@hover\" type=\"hint\">\n <sp-tooltip>Hover</sp-tooltip>\n </sp-overlay>\n <sp-overlay\n trigger=\"trigger-2@longpress\"\n type=\"auto\"\n placement=\"right-start\"\n .offset=${popoverOffset}\n >\n <sp-popover tip>\n <sp-action-group vertical quiet>\n <sp-action-button>\n <sp-icon-anchor-select\n slot=\"icon\"\n ></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n </sp-action-button>\n </sp-action-group>\n </sp-popover>\n </sp-overlay>\n <sp-overlay\n ?delayed=${delayed}\n trigger=\"trigger-3@hover\"\n type=\"hint\"\n open\n >\n <sp-tooltip>Hover</sp-tooltip>\n </sp-overlay>\n <sp-overlay\n trigger=\"trigger-3@longpress\"\n type=\"auto\"\n placement=\"right-start\"\n .offset=${popoverOffset}\n >\n <sp-popover tip>\n <sp-action-group vertical quiet>\n <sp-action-button>\n <sp-icon-anchor-select\n slot=\"icon\"\n ></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n </sp-action-button>\n </sp-action-group>\n </sp-popover>\n </sp-overlay>\n `;\n};\n\nexport const actionGroupWithFilters = ({\n delayed,\n}: Properties): TemplateResult => {\n const popoverOffset = [6, -13] as [number, number];\n return html`\n <style>\n sp-popover sp-action-group {\n padding: calc(\n var(--spectrum-actiongroup-vertical-spacing-regular) *\n 0.75\n )\n calc(\n var(--spectrum-actiongroup-vertical-spacing-regular) / 2\n );\n }\n .root {\n inset-inline-end: 0em;\n inset-block-start: 3em;\n padding-block-end: 3em;\n overflow: hidden;\n }\n .root > sp-action-group > sp-action-button,\n .root > sp-action-group > sp-action-menu {\n top: 3em;\n position: relative;\n }\n sp-action-button,\n sp-action-menu {\n background-image: linear-gradient(\n rgba(125, 125, 125, 0.2),\n rgba(125, 125, 125, 0.2)\n );\n background-blend-mode: multiply;\n filter: brightness(1) saturate(1);\n }\n </style>\n <p>\n This story outlines some CSS usage that is not yet covered by the\n placement calculations within the Overlay API.\n </p>\n <sp-popover open class=\"root\">\n <sp-action-group vertical quiet emphasized selects=\"single\">\n <sp-action-button id=\"trigger-1\" hold-affordance>\n <sp-icon-anchor-select slot=\"icon\"></sp-icon-anchor-select>\n <sp-tooltip ?delayed=${delayed} self-managed>\n Hover\n </sp-tooltip>\n <sp-overlay\n trigger=\"trigger-1@longpress\"\n type=\"auto\"\n placement=\"right-start\"\n .offset=${popoverOffset}\n >\n <sp-popover tip>\n <sp-action-group vertical quiet>\n <sp-action-button>\n <sp-icon-anchor-select\n slot=\"icon\"\n ></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-rect-select\n slot=\"icon\"\n ></sp-icon-rect-select>\n </sp-action-button>\n </sp-action-group>\n </sp-popover>\n </sp-overlay>\n </sp-action-button>\n <sp-action-button id=\"trigger-2\" hold-affordance>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button id=\"trigger-3\" hold-affordance>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n <sp-tooltip ?delayed=${delayed} self-managed>\n Hover\n </sp-tooltip>\n </sp-action-button>\n <sp-action-menu>\n <sp-menu-group id=\"cms\">\n <span slot=\"header\">cms</span>\n <sp-menu-item value=\"updateAllSiteContent\">\n Update All Content\n </sp-menu-item>\n <sp-menu-item value=\"refreshAllXDs\">\n Refresh All XDs\n </sp-menu-item>\n </sp-menu-group>\n <sp-menu-group id=\"ssg\">\n <span slot=\"header\">ssg</span>\n <sp-menu-item value=\"clearCache\">\n Clear Cache\n </sp-menu-item>\n </sp-menu-group>\n <sp-menu-group id=\"vrt\">\n <span slot=\"header\">vrt</span>\n <sp-menu-item value=\"vrt-contributions\">\n Contributions\n </sp-menu-item>\n <sp-menu-item value=\"vrt-internal\">\n Internal\n </sp-menu-item>\n <sp-menu-item value=\"vrt-public\">Public</sp-menu-item>\n <sp-menu-item value=\"vrt-patterns\">\n Patterns\n </sp-menu-item>\n <sp-menu-item value=\"vrt\">All</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group id=\"misc\">\n <sp-menu-item value=\"logout\">Logout</sp-menu-item>\n </sp-menu-group>\n </sp-action-menu>\n </sp-action-group>\n </sp-popover>\n <sp-overlay ?delayed=${delayed} trigger=\"trigger-2@hover\" type=\"hint\">\n <sp-tooltip>Hover</sp-tooltip>\n </sp-overlay>\n <sp-overlay\n trigger=\"trigger-2@longpress\"\n type=\"auto\"\n placement=\"right-start\"\n .offset=${popoverOffset}\n >\n <sp-popover tip>\n <sp-action-group vertical quiet>\n <sp-action-button>\n <sp-icon-anchor-select\n slot=\"icon\"\n ></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n </sp-action-button>\n </sp-action-group>\n </sp-popover>\n </sp-overlay>\n <sp-overlay\n trigger=\"trigger-3@longpress\"\n type=\"auto\"\n placement=\"right-start\"\n .offset=${popoverOffset}\n >\n <sp-popover tip>\n <sp-action-group vertical quiet>\n <sp-action-button>\n <sp-icon-anchor-select\n slot=\"icon\"\n ></sp-icon-anchor-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-polygon-select\n slot=\"icon\"\n ></sp-icon-polygon-select>\n </sp-action-button>\n <sp-action-button>\n <sp-icon-rect-select slot=\"icon\"></sp-icon-rect-select>\n </sp-action-button>\n </sp-action-group>\n </sp-popover>\n </sp-overlay>\n `;\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -99,7 +99,7 @@ class OverlayDrag extends LitElement {
99
99
  if (!this.targetElement)
100
100
  return;
101
101
  this.targetElement.addEventListener(
102
- "mousedown",
102
+ "pointerdown",
103
103
  (event2) => this.onMouseDown(event2)
104
104
  );
105
105
  this.resetTargetPosition();
@@ -109,6 +109,7 @@ class OverlayDrag extends LitElement {
109
109
  const parent = target.parentElement;
110
110
  if (!parent)
111
111
  return;
112
+ target.setPointerCapture(event.pointerId);
112
113
  const max = {
113
114
  x: parent.offsetWidth - target.offsetWidth,
114
115
  y: parent.offsetHeight - target.offsetHeight
@@ -134,12 +135,13 @@ class OverlayDrag extends LitElement {
134
135
  this.top = Math.min(Math.max(newPosition.y, 0), max.y);
135
136
  Overlay.update();
136
137
  };
137
- const onMouseUp = () => {
138
- document.removeEventListener("mousemove", onMouseMove);
139
- document.removeEventListener("mouseup", onMouseUp);
138
+ const onMouseUp = (event2) => {
139
+ target.setPointerCapture(event2.pointerId);
140
+ document.removeEventListener("pointermove", onMouseMove);
141
+ document.removeEventListener("pointerup", onMouseUp);
140
142
  };
141
- document.addEventListener("mousemove", onMouseMove);
142
- document.addEventListener("mouseup", onMouseUp);
143
+ document.addEventListener("pointermove", onMouseMove);
144
+ document.addEventListener("pointerup", onMouseUp);
143
145
  }
144
146
  resetTargetPosition() {
145
147
  if (!this.targetElement)
@@ -256,7 +258,6 @@ class RecursivePopover extends LitElement {
256
258
  slot="click-content"
257
259
  direction="${this.placement}"
258
260
  tip
259
- open
260
261
  >
261
262
  <sp-dialog size="s" no-divider>
262
263
  ${this.depth < MAX_DEPTH ? html`
@@ -287,7 +288,7 @@ customElements.define("recursive-popover", RecursivePopover);
287
288
  export class PopoverContent extends LitElement {
288
289
  render() {
289
290
  return html`
290
- <overlay-trigger>
291
+ <overlay-trigger type="modal" placement="bottom">
291
292
  <sp-button slot="trigger">Open me</sp-button>
292
293
  <sp-popover slot="click-content" direction="bottom">
293
294
  <sp-dialog no-divider>