@justeattakeaway/pie-modal 0.21.0 → 0.22.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/dist/dialog-polyfill.esm-29edb142.js +398 -0
- package/dist/index.d.ts +4 -7
- package/dist/index.js +346 -754
- package/dist/react.d.ts +4 -7
- package/dist/react.js +11 -12
- package/package.json +1 -1
- package/src/defs.ts +1 -2
- package/src/index.ts +11 -14
package/dist/react.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { CSSResult } from 'lit';
|
|
2
|
-
import type { DependentMap } from '@justeattakeaway/pie-webc-core';
|
|
3
2
|
import type { EventName } from '@lit-labs/react';
|
|
4
3
|
import type { LitElement } from 'lit';
|
|
4
|
+
import type { PropertyValues } from 'lit';
|
|
5
5
|
import type { ReactWebComponent } from '@lit-labs/react';
|
|
6
|
-
import { RTLComponentProps } from '@justeattakeaway/pie-webc-core';
|
|
7
6
|
import type { TemplateResult } from 'lit';
|
|
8
7
|
import { Variant } from '@justeattakeaway/pie-button/src/defs.ts';
|
|
9
8
|
|
|
@@ -32,7 +31,7 @@ export declare const headingLevels: readonly ["h1", "h2", "h3", "h4", "h5", "h6"
|
|
|
32
31
|
|
|
33
32
|
export declare type ModalActionType = 'leading' | 'supporting';
|
|
34
33
|
|
|
35
|
-
export declare type ModalProps =
|
|
34
|
+
export declare type ModalProps = {
|
|
36
35
|
/**
|
|
37
36
|
* The ARIA labels used for the modal close and back buttons, as well as loading state.
|
|
38
37
|
*/
|
|
@@ -169,11 +168,10 @@ declare class PieModal_2 extends PieModal_base implements ModalProps {
|
|
|
169
168
|
private _dialog?;
|
|
170
169
|
private _backButtonClicked;
|
|
171
170
|
static styles: CSSResult;
|
|
172
|
-
constructor();
|
|
173
171
|
connectedCallback(): void;
|
|
174
172
|
disconnectedCallback(): void;
|
|
175
|
-
firstUpdated(changedProperties:
|
|
176
|
-
updated(changedProperties:
|
|
173
|
+
firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
|
|
174
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
177
175
|
/**
|
|
178
176
|
* Opens the dialog element and disables page scrolling
|
|
179
177
|
*/
|
|
@@ -259,7 +257,6 @@ declare class PieModal_2 extends PieModal_base implements ModalProps {
|
|
|
259
257
|
}
|
|
260
258
|
|
|
261
259
|
declare const PieModal_base: (new (...args: any[]) => {
|
|
262
|
-
dir: "ltr" | "rtl" | "auto";
|
|
263
260
|
isRTL: boolean;
|
|
264
261
|
}) & typeof LitElement;
|
|
265
262
|
|
package/dist/react.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as E from "react";
|
|
2
2
|
import { PieModal as C } from "./index.js";
|
|
3
|
-
import { ON_MODAL_BACK_EVENT as
|
|
3
|
+
import { ON_MODAL_BACK_EVENT as S, ON_MODAL_CLOSE_EVENT as b, ON_MODAL_LEADING_ACTION_CLICK as G, ON_MODAL_OPEN_EVENT as R, ON_MODAL_SUPPORTING_ACTION_CLICK as x, headingLevels as K, positions as V, sizes as $ } from "./index.js";
|
|
4
4
|
import "lit";
|
|
5
5
|
import "lit/static-html.js";
|
|
6
6
|
import "lit/decorators.js";
|
|
7
|
-
import "lit/decorators/property.js";
|
|
8
7
|
/**
|
|
9
8
|
* @license
|
|
10
9
|
* Copyright 2018 Google LLC
|
|
@@ -59,7 +58,7 @@ function P(c = window.React, s, p, m, h) {
|
|
|
59
58
|
const M = i.forwardRef((d, e) => l(v, { ...d, _$Gl: e }, d == null ? void 0 : d.children));
|
|
60
59
|
return M.displayName = v.displayName, M;
|
|
61
60
|
}
|
|
62
|
-
const
|
|
61
|
+
const w = P({
|
|
63
62
|
displayName: "PieModal",
|
|
64
63
|
elementClass: C,
|
|
65
64
|
react: E,
|
|
@@ -78,13 +77,13 @@ const T = P({
|
|
|
78
77
|
}
|
|
79
78
|
});
|
|
80
79
|
export {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
80
|
+
S as ON_MODAL_BACK_EVENT,
|
|
81
|
+
b as ON_MODAL_CLOSE_EVENT,
|
|
82
|
+
G as ON_MODAL_LEADING_ACTION_CLICK,
|
|
83
|
+
R as ON_MODAL_OPEN_EVENT,
|
|
84
|
+
x as ON_MODAL_SUPPORTING_ACTION_CLICK,
|
|
85
|
+
w as PieModal,
|
|
86
|
+
K as headingLevels,
|
|
87
|
+
V as positions,
|
|
88
|
+
$ as sizes
|
|
90
89
|
};
|
package/package.json
CHANGED
package/src/defs.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { RTLComponentProps } from '@justeattakeaway/pie-webc-core';
|
|
2
1
|
import { Variant } from '@justeattakeaway/pie-button/src/defs.ts';
|
|
3
2
|
|
|
4
3
|
export const headingLevels = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] as const;
|
|
@@ -28,7 +27,7 @@ export type ActionProps = {
|
|
|
28
27
|
ariaLabel?: string;
|
|
29
28
|
};
|
|
30
29
|
|
|
31
|
-
export type ModalProps =
|
|
30
|
+
export type ModalProps = {
|
|
32
31
|
/**
|
|
33
32
|
* The ARIA labels used for the modal close and back buttons, as well as loading state.
|
|
34
33
|
*/
|
package/src/index.ts
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
LitElement, nothing, TemplateResult, unsafeCSS,
|
|
2
|
+
LitElement, nothing, TemplateResult, unsafeCSS, PropertyValues,
|
|
3
3
|
} from 'lit';
|
|
4
4
|
import { html, unsafeStatic } from 'lit/static-html.js';
|
|
5
5
|
import { property, query } from 'lit/decorators.js';
|
|
6
6
|
import {
|
|
7
7
|
requiredProperty, RtlMixin, validPropertyValues,
|
|
8
8
|
} from '@justeattakeaway/pie-webc-core';
|
|
9
|
-
import type { DependentMap } from '@justeattakeaway/pie-webc-core';
|
|
10
|
-
import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
|
|
11
9
|
import '@justeattakeaway/pie-icons-webc/IconClose';
|
|
12
10
|
import '@justeattakeaway/pie-icons-webc/IconChevronLeft';
|
|
13
11
|
import '@justeattakeaway/pie-icons-webc/IconChevronRight';
|
|
14
|
-
|
|
15
|
-
import dialogPolyfill from 'dialog-polyfill';
|
|
12
|
+
import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
|
|
16
13
|
|
|
17
14
|
import styles from './modal.scss?inline';
|
|
18
15
|
import {
|
|
@@ -100,13 +97,9 @@ export class PieModal extends RtlMixin(LitElement) implements ModalProps {
|
|
|
100
97
|
// Renders a `CSSResult` generated from SCSS by Vite
|
|
101
98
|
static styles = unsafeCSS(styles);
|
|
102
99
|
|
|
103
|
-
constructor () {
|
|
104
|
-
super();
|
|
105
|
-
this.addEventListener('click', (event) => this._handleDialogLightDismiss(event));
|
|
106
|
-
}
|
|
107
|
-
|
|
108
100
|
connectedCallback () : void {
|
|
109
101
|
super.connectedCallback();
|
|
102
|
+
this.addEventListener('click', (event) => this._handleDialogLightDismiss(event));
|
|
110
103
|
document.addEventListener(ON_MODAL_OPEN_EVENT, this._handleModalOpened.bind(this));
|
|
111
104
|
document.addEventListener(ON_MODAL_CLOSE_EVENT, this._handleModalClosed.bind(this));
|
|
112
105
|
document.addEventListener(ON_MODAL_BACK_EVENT, this._handleModalClosed.bind(this));
|
|
@@ -119,8 +112,11 @@ export class PieModal extends RtlMixin(LitElement) implements ModalProps {
|
|
|
119
112
|
super.disconnectedCallback();
|
|
120
113
|
}
|
|
121
114
|
|
|
122
|
-
firstUpdated (changedProperties:
|
|
115
|
+
async firstUpdated (changedProperties: PropertyValues<this>) : Promise<void> {
|
|
116
|
+
super.firstUpdated(changedProperties);
|
|
117
|
+
|
|
123
118
|
if (this._dialog) {
|
|
119
|
+
const dialogPolyfill = await import('dialog-polyfill').then((module) => module.default);
|
|
124
120
|
dialogPolyfill.registerDialog(this._dialog);
|
|
125
121
|
this._dialog.addEventListener('cancel', (event) => this._handleDialogCancelEvent(event));
|
|
126
122
|
this._dialog.addEventListener('close', () => {
|
|
@@ -131,7 +127,8 @@ export class PieModal extends RtlMixin(LitElement) implements ModalProps {
|
|
|
131
127
|
this._handleModalOpenStateOnFirstRender(changedProperties);
|
|
132
128
|
}
|
|
133
129
|
|
|
134
|
-
updated (changedProperties:
|
|
130
|
+
updated (changedProperties: PropertyValues<this>) : void {
|
|
131
|
+
super.updated(changedProperties);
|
|
135
132
|
this._handleModalOpenStateChanged(changedProperties);
|
|
136
133
|
}
|
|
137
134
|
|
|
@@ -179,7 +176,7 @@ export class PieModal extends RtlMixin(LitElement) implements ModalProps {
|
|
|
179
176
|
};
|
|
180
177
|
|
|
181
178
|
// Handles the value of the isOpen property on first render of the component
|
|
182
|
-
private _handleModalOpenStateOnFirstRender (changedProperties:
|
|
179
|
+
private _handleModalOpenStateOnFirstRender (changedProperties: PropertyValues<this>) : void {
|
|
183
180
|
// This ensures if the modal is open on first render, the scroll lock and backdrop are applied
|
|
184
181
|
const previousValue = changedProperties.get('isOpen');
|
|
185
182
|
|
|
@@ -189,7 +186,7 @@ export class PieModal extends RtlMixin(LitElement) implements ModalProps {
|
|
|
189
186
|
}
|
|
190
187
|
|
|
191
188
|
// Handles changes to the modal isOpen property by dispatching any appropriate events
|
|
192
|
-
private _handleModalOpenStateChanged (changedProperties:
|
|
189
|
+
private _handleModalOpenStateChanged (changedProperties: PropertyValues<this>) : void {
|
|
193
190
|
const wasPreviouslyOpen = changedProperties.get('isOpen');
|
|
194
191
|
|
|
195
192
|
if (wasPreviouslyOpen !== undefined) {
|