@visitwonders/assembly 0.14.0 → 0.15.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.
|
@@ -8,6 +8,7 @@ interface DrawerContext {
|
|
|
8
8
|
isOpen: boolean;
|
|
9
9
|
titleId: string;
|
|
10
10
|
closeDrawer: () => Promise<void>;
|
|
11
|
+
requestDismiss: () => void;
|
|
11
12
|
}
|
|
12
13
|
export interface DrawerSignature {
|
|
13
14
|
Element: HTMLDivElement;
|
|
@@ -24,6 +25,15 @@ export interface DrawerSignature {
|
|
|
24
25
|
* animation finishes.
|
|
25
26
|
*/
|
|
26
27
|
onCloseAnimationEnd?: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Fires when the user attempts to close via Escape, backdrop click, or
|
|
30
|
+
* the header close button. When set, the drawer does not auto-close —
|
|
31
|
+
* the consumer is handed `close` (the yielded promise-returning
|
|
32
|
+
* function) and is responsible for invoking it. `preventClose` takes
|
|
33
|
+
* precedence and suppresses this callback; `closeOnEscape` /
|
|
34
|
+
* `closeOnBackdropClick` still gate per-trigger.
|
|
35
|
+
*/
|
|
36
|
+
onDismiss?: (close: () => Promise<void>) => unknown;
|
|
27
37
|
/** Which side the drawer appears from */
|
|
28
38
|
side?: DrawerSide;
|
|
29
39
|
/** Drawer size */
|
|
@@ -138,6 +148,7 @@ export default class Drawer extends Component<DrawerSignature> {
|
|
|
138
148
|
closeDrawer: () => Promise<void>;
|
|
139
149
|
private drainCloseResolvers;
|
|
140
150
|
handleBackdropClose: () => void;
|
|
151
|
+
requestDismiss: () => void;
|
|
141
152
|
trackVisibility: import("ember-modifier").FunctionBasedModifier<{
|
|
142
153
|
Args: {
|
|
143
154
|
Positional: unknown[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../src/overlay/drawer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAK1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYrD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtE,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../src/overlay/drawer.ts"],"names":[],"mappings":"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"}
|
package/dist/overlay/drawer.js
CHANGED
|
@@ -34,7 +34,7 @@ class DrawerHeader extends Component {
|
|
|
34
34
|
}
|
|
35
35
|
handleClose = event => {
|
|
36
36
|
event.preventDefault();
|
|
37
|
-
|
|
37
|
+
this.ctx.requestDismiss();
|
|
38
38
|
};
|
|
39
39
|
static {
|
|
40
40
|
setComponentTemplate(precompileTemplate("<div class=\"drawer-header_e20b0b74f\" data-test-drawer-header ...attributes>\n <div id={{this.ctx.titleId}} class=\"drawer-title_e20b0b74f\">\n {{yield}}\n </div>\n {{#if this.isCloseButtonVisible}}\n <button type=\"button\" class=\"drawer-header-close_e20b0b74f\" aria-label=\"Close\" {{on \"click\" this.handleClose}} data-test-drawer-header-close>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 4L4 12M4 4L12 12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n {{/if}}\n</div>", {
|
|
@@ -165,8 +165,16 @@ class Drawer extends Component {
|
|
|
165
165
|
}
|
|
166
166
|
handleBackdropClose = () => {
|
|
167
167
|
if (this.closeOnBackdropClick) {
|
|
168
|
-
|
|
168
|
+
this.requestDismiss();
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
requestDismiss = () => {
|
|
172
|
+
if (this.args.preventClose) return;
|
|
173
|
+
if (this.args.onDismiss) {
|
|
174
|
+
this.args.onDismiss(this.closeDrawer);
|
|
175
|
+
return;
|
|
169
176
|
}
|
|
177
|
+
void this.closeDrawer();
|
|
170
178
|
};
|
|
171
179
|
// ============================================================================
|
|
172
180
|
// Modifiers
|
|
@@ -214,7 +222,7 @@ class Drawer extends Component {
|
|
|
214
222
|
if (event.key === 'Escape' && this.closeOnEscape) {
|
|
215
223
|
event.preventDefault();
|
|
216
224
|
event.stopPropagation();
|
|
217
|
-
|
|
225
|
+
this.requestDismiss();
|
|
218
226
|
return;
|
|
219
227
|
}
|
|
220
228
|
// Focus trap (only when blanket is shown)
|
|
@@ -281,7 +289,8 @@ class Drawer extends Component {
|
|
|
281
289
|
return {
|
|
282
290
|
isOpen: this.isOpen,
|
|
283
291
|
titleId: this.titleId,
|
|
284
|
-
closeDrawer: this.closeDrawer
|
|
292
|
+
closeDrawer: this.closeDrawer,
|
|
293
|
+
requestDismiss: this.requestDismiss
|
|
285
294
|
};
|
|
286
295
|
}
|
|
287
296
|
// ============================================================================
|