@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.
- package/README.md +277 -149
- package/custom-elements.json +1678 -553
- package/package.json +49 -22
- package/sp-overlay.d.ts +6 -0
- package/sp-overlay.dev.js +5 -0
- package/{active-overlay.dev.js.map → sp-overlay.dev.js.map} +3 -3
- package/sp-overlay.js +2 -0
- package/{active-overlay.js.map → sp-overlay.js.map} +4 -4
- package/src/AbstractOverlay.d.ts +58 -0
- package/src/AbstractOverlay.dev.js +211 -0
- package/src/AbstractOverlay.dev.js.map +7 -0
- package/src/AbstractOverlay.js +2 -0
- package/src/AbstractOverlay.js.map +7 -0
- package/src/Overlay.d.ts +163 -0
- package/src/Overlay.dev.js +792 -0
- package/src/Overlay.dev.js.map +7 -0
- package/src/Overlay.js +33 -0
- package/src/Overlay.js.map +7 -0
- package/src/OverlayDialog.d.ts +4 -0
- package/src/OverlayDialog.dev.js +135 -0
- package/src/OverlayDialog.dev.js.map +7 -0
- package/src/OverlayDialog.js +2 -0
- package/src/OverlayDialog.js.map +7 -0
- package/src/OverlayNoPopover.d.ts +4 -0
- package/src/OverlayNoPopover.dev.js +109 -0
- package/src/OverlayNoPopover.dev.js.map +7 -0
- package/src/OverlayNoPopover.js +2 -0
- package/src/OverlayNoPopover.js.map +7 -0
- package/src/OverlayPopover.d.ts +4 -0
- package/src/OverlayPopover.dev.js +169 -0
- package/src/OverlayPopover.dev.js.map +7 -0
- package/src/OverlayPopover.js +2 -0
- package/src/OverlayPopover.js.map +7 -0
- package/src/OverlayStack.d.ts +43 -0
- package/src/OverlayStack.dev.js +150 -0
- package/src/OverlayStack.dev.js.map +7 -0
- package/src/OverlayStack.js +2 -0
- package/src/OverlayStack.js.map +7 -0
- package/src/OverlayTrigger.d.ts +26 -42
- package/src/OverlayTrigger.dev.js +172 -296
- package/src/OverlayTrigger.dev.js.map +3 -3
- package/src/OverlayTrigger.js +49 -25
- package/src/OverlayTrigger.js.map +3 -3
- package/src/PlacementController.d.ts +38 -0
- package/src/PlacementController.dev.js +199 -0
- package/src/PlacementController.dev.js.map +7 -0
- package/src/PlacementController.js +2 -0
- package/src/PlacementController.js.map +7 -0
- package/src/VirtualTrigger.dev.js +2 -1
- package/src/VirtualTrigger.dev.js.map +2 -2
- package/src/VirtualTrigger.js +1 -1
- package/src/VirtualTrigger.js.map +2 -2
- package/src/fullSizePlugin.d.ts +12 -0
- package/src/fullSizePlugin.dev.js +39 -0
- package/src/fullSizePlugin.dev.js.map +7 -0
- package/src/fullSizePlugin.js +2 -0
- package/src/fullSizePlugin.js.map +7 -0
- package/src/index.d.ts +2 -3
- package/src/index.dev.js +2 -3
- package/src/index.dev.js.map +2 -2
- package/src/index.js +1 -1
- package/src/index.js.map +2 -2
- package/src/loader.d.ts +1 -2
- package/src/loader.dev.js +2 -19
- package/src/loader.dev.js.map +2 -2
- package/src/loader.js +1 -1
- package/src/loader.js.map +3 -3
- package/src/overlay-timer.dev.js.map +2 -2
- package/src/overlay-timer.js.map +2 -2
- package/src/overlay-trigger.css.dev.js +1 -1
- package/src/overlay-trigger.css.dev.js.map +1 -1
- package/src/overlay-trigger.css.js +3 -3
- package/src/overlay-trigger.css.js.map +1 -1
- package/src/overlay-types.d.ts +25 -31
- package/src/overlay-types.dev.js +1 -0
- package/src/overlay-types.dev.js.map +3 -3
- package/src/overlay-types.js +1 -1
- package/src/overlay-types.js.map +3 -3
- package/src/overlay.css.dev.js +9 -0
- package/src/overlay.css.dev.js.map +7 -0
- package/src/overlay.css.js +6 -0
- package/src/overlay.css.js.map +7 -0
- package/src/topLayerOverTransforms.d.ts +2 -0
- package/src/topLayerOverTransforms.dev.js +96 -0
- package/src/topLayerOverTransforms.dev.js.map +7 -0
- package/src/topLayerOverTransforms.js +2 -0
- package/src/topLayerOverTransforms.js.map +7 -0
- package/stories/overlay-element.stories.js +516 -0
- package/stories/overlay-element.stories.js.map +7 -0
- package/stories/overlay-story-components.js +9 -8
- package/stories/overlay-story-components.js.map +2 -2
- package/stories/overlay.stories.js +824 -680
- package/stories/overlay.stories.js.map +2 -2
- package/sync/overlay-trigger.d.ts +5 -0
- package/sync/overlay-trigger.dev.js +2 -4
- package/sync/overlay-trigger.dev.js.map +2 -2
- package/sync/overlay-trigger.js +1 -1
- package/sync/overlay-trigger.js.map +3 -3
- package/test/benchmark/basic-test.js +2 -2
- package/test/benchmark/basic-test.js.map +1 -1
- package/test/index.js +414 -377
- package/test/index.js.map +3 -3
- package/test/overlay-element.test-vrt.js +5 -0
- package/test/overlay-element.test-vrt.js.map +7 -0
- package/test/overlay-element.test.js +682 -0
- package/test/overlay-element.test.js.map +7 -0
- package/test/overlay-lifecycle.test.js +43 -102
- package/test/overlay-lifecycle.test.js.map +2 -2
- package/test/overlay-trigger-click.test.js +11 -5
- package/test/overlay-trigger-click.test.js.map +2 -2
- package/test/overlay-trigger-extended.test.js +46 -36
- package/test/overlay-trigger-extended.test.js.map +2 -2
- package/test/overlay-trigger-hover-click.test.js +38 -25
- package/test/overlay-trigger-hover-click.test.js.map +2 -2
- package/test/overlay-trigger-hover.test.js +41 -35
- package/test/overlay-trigger-hover.test.js.map +2 -2
- package/test/overlay-trigger-longpress.test.js +211 -82
- package/test/overlay-trigger-longpress.test.js.map +2 -2
- package/test/overlay-trigger-sync.test.js +1 -1
- package/test/overlay-trigger-sync.test.js.map +2 -2
- package/test/overlay-trigger.test.js +1 -1
- package/test/overlay-trigger.test.js.map +2 -2
- package/test/overlay-update.test.js +5 -5
- package/test/overlay-update.test.js.map +2 -2
- package/test/overlay-v1.test.js +547 -0
- package/test/overlay-v1.test.js.map +7 -0
- package/test/overlay.test.js +385 -269
- package/test/overlay.test.js.map +3 -3
- package/active-overlay.d.ts +0 -6
- package/active-overlay.dev.js +0 -5
- package/active-overlay.js +0 -2
- package/src/ActiveOverlay.d.ts +0 -84
- package/src/ActiveOverlay.dev.js +0 -517
- package/src/ActiveOverlay.dev.js.map +0 -7
- package/src/ActiveOverlay.js +0 -16
- package/src/ActiveOverlay.js.map +0 -7
- package/src/active-overlay.css.dev.js +0 -13
- package/src/active-overlay.css.dev.js.map +0 -7
- package/src/active-overlay.css.js +0 -10
- package/src/active-overlay.css.js.map +0 -7
- package/src/overlay-stack.d.ts +0 -50
- package/src/overlay-stack.dev.js +0 -515
- package/src/overlay-stack.dev.js.map +0 -7
- package/src/overlay-stack.js +0 -34
- package/src/overlay-stack.js.map +0 -7
- package/src/overlay-utils.d.ts +0 -3
- package/src/overlay-utils.dev.js +0 -31
- package/src/overlay-utils.dev.js.map +0 -7
- package/src/overlay-utils.js +0 -2
- package/src/overlay-utils.js.map +0 -7
- package/src/overlay.d.ts +0 -59
- package/src/overlay.dev.js +0 -127
- package/src/overlay.dev.js.map +0 -7
- package/src/overlay.js +0 -2
- package/src/overlay.js.map +0 -7
- /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
|
-
"
|
|
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
|
-
|
|
139
|
-
document.removeEventListener("
|
|
138
|
+
const onMouseUp = (event2) => {
|
|
139
|
+
target.setPointerCapture(event2.pointerId);
|
|
140
|
+
document.removeEventListener("pointermove", onMouseMove);
|
|
141
|
+
document.removeEventListener("pointerup", onMouseUp);
|
|
140
142
|
};
|
|
141
|
-
document.addEventListener("
|
|
142
|
-
document.addEventListener("
|
|
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>
|