@spectrum-web-components/overlay 0.36.0 → 0.37.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 +266 -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 +91 -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 +476 -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 +36 -106
- 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
package/src/Overlay.d.ts
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { PropertyValues, TemplateResult } from '@spectrum-web-components/base';
|
|
2
|
+
import type { OpenableElement, OverlayState, OverlayTypes, Placement } from './overlay-types.js';
|
|
3
|
+
import { AbstractOverlay } from './AbstractOverlay.js';
|
|
4
|
+
import { VirtualTrigger } from './VirtualTrigger.js';
|
|
5
|
+
import { PlacementController } from './PlacementController.js';
|
|
6
|
+
export declare const LONGPRESS_INSTRUCTIONS: {
|
|
7
|
+
touch: string;
|
|
8
|
+
keyboard: string;
|
|
9
|
+
mouse: string;
|
|
10
|
+
};
|
|
11
|
+
declare let OverlayFeatures: typeof AbstractOverlay & import("./overlay-types.js").Constructor<import("@lit/reactive-element").ReactiveElement>;
|
|
12
|
+
/**
|
|
13
|
+
* @element sp-overlay
|
|
14
|
+
*
|
|
15
|
+
* @fires sp-opened - announces that an overlay has completed any entry animations
|
|
16
|
+
* @fires sp-closed - announce that an overlay has compelted any exit animations
|
|
17
|
+
*/
|
|
18
|
+
export declare class Overlay extends OverlayFeatures {
|
|
19
|
+
static styles: import("@spectrum-web-components/base").CSSResult[];
|
|
20
|
+
abortController: AbortController;
|
|
21
|
+
/**
|
|
22
|
+
* An Overlay that is `delayed` will wait until a warm-up period of 1000ms
|
|
23
|
+
* has completed before opening. Once the warmup period has completed, all
|
|
24
|
+
* subsequent Overlays will open immediately. When no Overlays are opened,
|
|
25
|
+
* a cooldown period of 1000ms will begin. Once the cooldown has completed,
|
|
26
|
+
* the next Overlay to be opened will be subject to the warm-up period if
|
|
27
|
+
* provided that option.
|
|
28
|
+
*/
|
|
29
|
+
delayed: boolean;
|
|
30
|
+
dialogEl: HTMLDialogElement & {
|
|
31
|
+
showPopover(): void;
|
|
32
|
+
hidePopover(): void;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Whether the overlay is currently functional or not
|
|
36
|
+
*/
|
|
37
|
+
get disabled(): boolean;
|
|
38
|
+
set disabled(disabled: boolean);
|
|
39
|
+
private _disabled;
|
|
40
|
+
elements: OpenableElement[];
|
|
41
|
+
parentOverlayToForceClose?: Overlay;
|
|
42
|
+
private get hasNonVirtualTrigger();
|
|
43
|
+
protected longpressState: 'null' | 'potential' | 'opening' | 'pressed';
|
|
44
|
+
private longressTimeout;
|
|
45
|
+
/**
|
|
46
|
+
* The `offset` property accepts either a single number, to
|
|
47
|
+
* define the offset of the Overlay along the main axis from
|
|
48
|
+
* the trigger, or 2-tuple, to define the offset along the
|
|
49
|
+
* main axis and the cross axis. This option has no effect
|
|
50
|
+
* when there is no trigger element.
|
|
51
|
+
*/
|
|
52
|
+
offset: number | [number, number];
|
|
53
|
+
protected placementController: PlacementController;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the Overlay is projected onto the "top layer" or not.
|
|
56
|
+
*/
|
|
57
|
+
get open(): boolean;
|
|
58
|
+
set open(open: boolean);
|
|
59
|
+
private _open;
|
|
60
|
+
static openCount: number;
|
|
61
|
+
/**
|
|
62
|
+
* Instruct the Overlay where to place itself in
|
|
63
|
+
* relationship to the trigger element.
|
|
64
|
+
* @type {"top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end"}
|
|
65
|
+
*/
|
|
66
|
+
placement?: Placement;
|
|
67
|
+
/**
|
|
68
|
+
* Whether to pass focus to the overlay once opened, or
|
|
69
|
+
* to the appropriate value based on the "type" of the overlay
|
|
70
|
+
* when set to `"auto"`.
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
73
|
+
receivesFocus: 'true' | 'false' | 'auto';
|
|
74
|
+
private releaseAriaDescribedby;
|
|
75
|
+
private releaseLongpressDescribedby;
|
|
76
|
+
slotEl: HTMLSlotElement;
|
|
77
|
+
get state(): OverlayState;
|
|
78
|
+
set state(state: OverlayState);
|
|
79
|
+
_state: OverlayState;
|
|
80
|
+
tipPadding?: number;
|
|
81
|
+
/**
|
|
82
|
+
* An optional ID reference for the trigger element combined with the optional
|
|
83
|
+
* interaction (click | hover | longpress) by which the overlay shold open
|
|
84
|
+
* the overlay with an `@`: e.g. `trigger@click` opens the overlay when an
|
|
85
|
+
* element with the ID "trigger" is clicked.
|
|
86
|
+
*/
|
|
87
|
+
trigger?: string;
|
|
88
|
+
/**
|
|
89
|
+
* An element reference for the trigger element that the overlay should relate to.
|
|
90
|
+
*/
|
|
91
|
+
triggerElement: HTMLElement | VirtualTrigger | null;
|
|
92
|
+
/**
|
|
93
|
+
* The specific interaction to listen for on the `triggerElement` to open the overlay.
|
|
94
|
+
*/
|
|
95
|
+
triggerInteraction?: 'click' | 'longpress' | 'hover';
|
|
96
|
+
/**
|
|
97
|
+
* Configures the open/close heuristics of the Overlay.
|
|
98
|
+
* @type {"auto" | "hint" | "manual" | "modal" | "page"}
|
|
99
|
+
*/
|
|
100
|
+
type: OverlayTypes;
|
|
101
|
+
protected wasOpen: boolean;
|
|
102
|
+
private elementResolver;
|
|
103
|
+
private get usesDialog();
|
|
104
|
+
private get popoverValue();
|
|
105
|
+
protected get requiresPosition(): boolean;
|
|
106
|
+
protected managePosition(): void;
|
|
107
|
+
protected managePopoverOpen(): Promise<void>;
|
|
108
|
+
protected applyFocus(targetOpenState: boolean, focusEl: HTMLElement | null): Promise<void>;
|
|
109
|
+
private closeOnFocusOut;
|
|
110
|
+
protected manageOpen(oldOpen: boolean): Promise<void>;
|
|
111
|
+
protected unbindEvents(): void;
|
|
112
|
+
protected bindEvents(): void;
|
|
113
|
+
protected bindClickEvents(triggerElement: HTMLElement): void;
|
|
114
|
+
protected bindLongpressEvents(triggerElement: HTMLElement): void;
|
|
115
|
+
protected bindHoverEvents(triggerElement: HTMLElement): void;
|
|
116
|
+
protected manageTriggerElement(triggerElement: HTMLElement | null): void;
|
|
117
|
+
private elementIds;
|
|
118
|
+
private prepareLongpressDescription;
|
|
119
|
+
private prepareAriaDescribedby;
|
|
120
|
+
private handlePointerdown;
|
|
121
|
+
private handlePointerup;
|
|
122
|
+
/**
|
|
123
|
+
* @private
|
|
124
|
+
*/
|
|
125
|
+
protected handleKeydown: (event: KeyboardEvent) => void;
|
|
126
|
+
protected handleKeyup: (event: KeyboardEvent) => void;
|
|
127
|
+
/**
|
|
128
|
+
* An overlay with a `click` interaction should not close on click `triggerElement`.
|
|
129
|
+
* When a click is initiated (`pointerdown`), apply `preventNextToggle` when the
|
|
130
|
+
* overlay is `open` to prevent from toggling the overlay when the click event
|
|
131
|
+
* propagates later in the interaction.
|
|
132
|
+
*/
|
|
133
|
+
private preventNextToggle;
|
|
134
|
+
protected handlePointerdownForClick: () => void;
|
|
135
|
+
protected handleClick: () => void;
|
|
136
|
+
private focusedin;
|
|
137
|
+
protected handleFocusin: () => void;
|
|
138
|
+
protected handleFocusout: () => void;
|
|
139
|
+
private pointerentered;
|
|
140
|
+
protected handlePointerenter: () => void;
|
|
141
|
+
protected handlePointerleave: (event: PointerEvent) => void;
|
|
142
|
+
protected handleOverlayPointerleave: (event: PointerEvent) => void;
|
|
143
|
+
protected doPointerleave(): void;
|
|
144
|
+
protected handleLongpress: () => void;
|
|
145
|
+
protected handleBeforetoggle(event: Event & {
|
|
146
|
+
newState: string;
|
|
147
|
+
}): void;
|
|
148
|
+
protected handleBrowserClose(): void;
|
|
149
|
+
manuallyKeepOpen(): void;
|
|
150
|
+
protected handleSlotchange(): void;
|
|
151
|
+
willPreventClose: boolean;
|
|
152
|
+
shouldPreventClose(): boolean;
|
|
153
|
+
willUpdate(changes: PropertyValues): void;
|
|
154
|
+
protected updated(changes: PropertyValues): void;
|
|
155
|
+
protected renderContent(): TemplateResult;
|
|
156
|
+
private get dialogStyleMap();
|
|
157
|
+
protected renderDialog(): TemplateResult;
|
|
158
|
+
protected renderPopover(): TemplateResult;
|
|
159
|
+
render(): TemplateResult;
|
|
160
|
+
connectedCallback(): void;
|
|
161
|
+
disconnectedCallback(): void;
|
|
162
|
+
}
|
|
163
|
+
export {};
|