@patternfly/react-core 5.0.0-alpha.14 → 5.0.0-alpha.15
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/CHANGELOG.md +11 -0
- package/components/AboutModal/AboutModal.d.ts +5 -23
- package/components/AboutModal/AboutModal.d.ts.map +1 -1
- package/components/AboutModal/AboutModal.js +26 -91
- package/components/AboutModal/AboutModal.js.map +1 -1
- package/components/AboutModal/AboutModalBox.d.ts +2 -2
- package/components/AboutModal/AboutModalBox.d.ts.map +1 -1
- package/components/AboutModal/AboutModalBox.js +2 -2
- package/components/AboutModal/AboutModalBox.js.map +1 -1
- package/components/AboutModal/AboutModalBoxBrand.d.ts +3 -5
- package/components/AboutModal/AboutModalBoxBrand.d.ts.map +1 -1
- package/components/AboutModal/AboutModalBoxBrand.js +2 -2
- package/components/AboutModal/AboutModalBoxBrand.js.map +1 -1
- package/components/AboutModal/AboutModalBoxCloseButton.d.ts +0 -2
- package/components/AboutModal/AboutModalBoxCloseButton.d.ts.map +1 -1
- package/components/AboutModal/AboutModalBoxCloseButton.js +2 -2
- package/components/AboutModal/AboutModalBoxCloseButton.js.map +1 -1
- package/components/AboutModal/AboutModalBoxContent.d.ts +3 -7
- package/components/AboutModal/AboutModalBoxContent.d.ts.map +1 -1
- package/components/AboutModal/AboutModalBoxContent.js +3 -3
- package/components/AboutModal/AboutModalBoxContent.js.map +1 -1
- package/components/AboutModal/AboutModalBoxHeader.d.ts +2 -4
- package/components/AboutModal/AboutModalBoxHeader.d.ts.map +1 -1
- package/components/AboutModal/AboutModalBoxHeader.js +2 -2
- package/components/AboutModal/AboutModalBoxHeader.js.map +1 -1
- package/components/AboutModal/AboutModalBoxHero.d.ts +1 -3
- package/components/AboutModal/AboutModalBoxHero.d.ts.map +1 -1
- package/components/AboutModal/AboutModalBoxHero.js +2 -2
- package/components/AboutModal/AboutModalBoxHero.js.map +1 -1
- package/components/BackToTop/BackToTop.d.ts +1 -1
- package/components/DataList/DataList.d.ts +3 -3
- package/components/DataList/DataList.d.ts.map +1 -1
- package/components/DataList/DataList.js +3 -3
- package/components/DataList/DataList.js.map +1 -1
- package/components/DataList/DataListItem.d.ts.map +1 -1
- package/components/DataList/DataListItem.js +6 -5
- package/components/DataList/DataListItem.js.map +1 -1
- package/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
- package/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
- package/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
- package/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
- package/components/Menu/MenuContent.d.ts +1 -1
- package/components/Menu/MenuGroup.d.ts +1 -1
- package/components/Menu/MenuInput.d.ts +1 -1
- package/components/Menu/MenuItem.d.ts +1 -1
- package/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
- package/components/Panel/Panel.d.ts +1 -1
- package/components/Tabs/Tab.d.ts +1 -1
- package/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
- package/dist/esm/components/AboutModal/AboutModal.d.ts +5 -23
- package/dist/esm/components/AboutModal/AboutModal.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModal.js +26 -91
- package/dist/esm/components/AboutModal/AboutModal.js.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBox.d.ts +2 -2
- package/dist/esm/components/AboutModal/AboutModalBox.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBox.js +2 -2
- package/dist/esm/components/AboutModal/AboutModalBox.js.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxBrand.d.ts +3 -5
- package/dist/esm/components/AboutModal/AboutModalBoxBrand.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxBrand.js +2 -2
- package/dist/esm/components/AboutModal/AboutModalBoxBrand.js.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxCloseButton.d.ts +0 -2
- package/dist/esm/components/AboutModal/AboutModalBoxCloseButton.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxCloseButton.js +2 -2
- package/dist/esm/components/AboutModal/AboutModalBoxCloseButton.js.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxContent.d.ts +3 -7
- package/dist/esm/components/AboutModal/AboutModalBoxContent.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxContent.js +3 -3
- package/dist/esm/components/AboutModal/AboutModalBoxContent.js.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxHeader.d.ts +2 -4
- package/dist/esm/components/AboutModal/AboutModalBoxHeader.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxHeader.js +2 -2
- package/dist/esm/components/AboutModal/AboutModalBoxHeader.js.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxHero.d.ts +1 -3
- package/dist/esm/components/AboutModal/AboutModalBoxHero.d.ts.map +1 -1
- package/dist/esm/components/AboutModal/AboutModalBoxHero.js +2 -2
- package/dist/esm/components/AboutModal/AboutModalBoxHero.js.map +1 -1
- package/dist/esm/components/BackToTop/BackToTop.d.ts +1 -1
- package/dist/esm/components/DataList/DataList.d.ts +3 -3
- package/dist/esm/components/DataList/DataList.d.ts.map +1 -1
- package/dist/esm/components/DataList/DataList.js +3 -3
- package/dist/esm/components/DataList/DataList.js.map +1 -1
- package/dist/esm/components/DataList/DataListItem.d.ts.map +1 -1
- package/dist/esm/components/DataList/DataListItem.js +6 -5
- package/dist/esm/components/DataList/DataListItem.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
- package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
- package/dist/esm/components/Menu/MenuContent.d.ts +1 -1
- package/dist/esm/components/Menu/MenuGroup.d.ts +1 -1
- package/dist/esm/components/Menu/MenuInput.d.ts +1 -1
- package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
- package/dist/esm/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
- package/dist/esm/components/Panel/Panel.d.ts +1 -1
- package/dist/esm/components/Tabs/Tab.d.ts +1 -1
- package/dist/esm/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
- package/dist/js/components/AboutModal/AboutModal.d.ts +5 -23
- package/dist/js/components/AboutModal/AboutModal.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModal.js +27 -92
- package/dist/js/components/AboutModal/AboutModal.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBox.d.ts +2 -2
- package/dist/js/components/AboutModal/AboutModalBox.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBox.js +2 -2
- package/dist/js/components/AboutModal/AboutModalBox.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxBrand.d.ts +3 -5
- package/dist/js/components/AboutModal/AboutModalBoxBrand.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxBrand.js +2 -2
- package/dist/js/components/AboutModal/AboutModalBoxBrand.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxCloseButton.d.ts +0 -2
- package/dist/js/components/AboutModal/AboutModalBoxCloseButton.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxCloseButton.js +2 -2
- package/dist/js/components/AboutModal/AboutModalBoxCloseButton.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxContent.d.ts +3 -7
- package/dist/js/components/AboutModal/AboutModalBoxContent.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxContent.js +3 -3
- package/dist/js/components/AboutModal/AboutModalBoxContent.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxHeader.d.ts +2 -4
- package/dist/js/components/AboutModal/AboutModalBoxHeader.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxHeader.js +2 -2
- package/dist/js/components/AboutModal/AboutModalBoxHeader.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxHero.d.ts +1 -3
- package/dist/js/components/AboutModal/AboutModalBoxHero.d.ts.map +1 -1
- package/dist/js/components/AboutModal/AboutModalBoxHero.js +2 -2
- package/dist/js/components/AboutModal/AboutModalBoxHero.js.map +1 -1
- package/dist/js/components/BackToTop/BackToTop.d.ts +1 -1
- package/dist/js/components/DataList/DataList.d.ts +3 -3
- package/dist/js/components/DataList/DataList.d.ts.map +1 -1
- package/dist/js/components/DataList/DataList.js +3 -3
- package/dist/js/components/DataList/DataList.js.map +1 -1
- package/dist/js/components/DataList/DataListItem.d.ts.map +1 -1
- package/dist/js/components/DataList/DataListItem.js +6 -5
- package/dist/js/components/DataList/DataListItem.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
- package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
- package/dist/js/components/Menu/MenuContent.d.ts +1 -1
- package/dist/js/components/Menu/MenuGroup.d.ts +1 -1
- package/dist/js/components/Menu/MenuInput.d.ts +1 -1
- package/dist/js/components/Menu/MenuItem.d.ts +1 -1
- package/dist/js/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
- package/dist/js/components/Panel/Panel.d.ts +1 -1
- package/dist/js/components/Tabs/Tab.d.ts +1 -1
- package/dist/js/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
- package/dist/umd/react-core.min.js +4 -4
- package/package.json +2 -2
- package/src/components/AboutModal/AboutModal.tsx +71 -115
- package/src/components/AboutModal/AboutModalBox.tsx +4 -4
- package/src/components/AboutModal/AboutModalBoxBrand.tsx +5 -8
- package/src/components/AboutModal/AboutModalBoxCloseButton.tsx +1 -4
- package/src/components/AboutModal/AboutModalBoxContent.tsx +6 -12
- package/src/components/AboutModal/AboutModalBoxHeader.tsx +4 -7
- package/src/components/AboutModal/AboutModalBoxHero.tsx +2 -5
- package/src/components/AboutModal/__tests__/AboutModal.test.tsx +14 -8
- package/src/components/AboutModal/__tests__/AboutModalBox.test.tsx +1 -1
- package/src/components/AboutModal/__tests__/__snapshots__/AboutModalBox.test.tsx.snap +0 -3
- package/src/components/AboutModal/examples/AboutModalComplexUserPositionedContent.tsx +1 -1
- package/src/components/AboutModal/examples/AboutModalCustomBackgroundImage.tsx +1 -0
- package/src/components/AboutModal/examples/AboutModalWithoutProductName.tsx +1 -0
- package/src/components/DataList/DataList.tsx +6 -6
- package/src/components/DataList/DataListItem.tsx +6 -5
- package/src/components/DataList/examples/DataListSelectableRows.tsx +2 -2
- package/components/AboutModal/AboutModalContainer.d.ts +0 -31
- package/components/AboutModal/AboutModalContainer.d.ts.map +0 -1
- package/components/AboutModal/AboutModalContainer.js +0 -28
- package/components/AboutModal/AboutModalContainer.js.map +0 -1
- package/dist/esm/components/AboutModal/AboutModalContainer.d.ts +0 -31
- package/dist/esm/components/AboutModal/AboutModalContainer.d.ts.map +0 -1
- package/dist/esm/components/AboutModal/AboutModalContainer.js +0 -28
- package/dist/esm/components/AboutModal/AboutModalContainer.js.map +0 -1
- package/dist/js/components/AboutModal/AboutModalContainer.d.ts +0 -31
- package/dist/js/components/AboutModal/AboutModalContainer.d.ts.map +0 -1
- package/dist/js/components/AboutModal/AboutModalContainer.js +0 -32
- package/dist/js/components/AboutModal/AboutModalContainer.js.map +0 -1
- package/src/components/AboutModal/AboutModalContainer.tsx +0 -91
- package/src/components/AboutModal/__tests__/AboutModalContainer.test.tsx +0 -38
- package/src/components/AboutModal/__tests__/__snapshots__/AboutModalContainer.test.tsx.snap +0 -101
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.15",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"react": "^16.8 || ^17 || ^18",
|
|
71
71
|
"react-dom": "^16.8 || ^17 || ^18"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "01c2451bcb6af1dc7767d86e6884c509b6b41891"
|
|
74
74
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import * as ReactDOM from 'react-dom';
|
|
3
2
|
import { css } from '@patternfly/react-styles';
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
import { AboutModalBoxContent } from './AboutModalBoxContent';
|
|
4
|
+
import { AboutModalBoxHeader } from './AboutModalBoxHeader';
|
|
5
|
+
import { AboutModalBoxHero } from './AboutModalBoxHero';
|
|
6
|
+
import { AboutModalBoxBrand } from './AboutModalBoxBrand';
|
|
7
|
+
import { AboutModalBoxCloseButton } from './AboutModalBoxCloseButton';
|
|
8
|
+
import { AboutModalBox } from './AboutModalBox';
|
|
9
|
+
import { Modal, ModalVariant } from '../Modal';
|
|
10
|
+
import { GenerateId } from '../../helpers/GenerateId/GenerateId';
|
|
11
|
+
|
|
12
|
+
export interface AboutModalProps extends React.HTMLProps<HTMLDivElement> {
|
|
11
13
|
/** Content rendered inside the about modal */
|
|
12
14
|
children: React.ReactNode;
|
|
13
15
|
/** Additional classes added to the about modal */
|
|
@@ -27,123 +29,77 @@ export interface AboutModalProps {
|
|
|
27
29
|
/** The URL of the image for the background */
|
|
28
30
|
backgroundImageSrc?: string;
|
|
29
31
|
/** Prevents the about modal from rendering content inside a container; allows for more flexible layouts */
|
|
30
|
-
|
|
32
|
+
hasNoContentContainer?: boolean;
|
|
31
33
|
/** The parent container to append the modal to. Defaults to document.body */
|
|
32
34
|
appendTo?: HTMLElement | (() => HTMLElement);
|
|
35
|
+
/** Aria label for the about modal. This should be used when no productName prop is provided */
|
|
36
|
+
'aria-label'?: string;
|
|
33
37
|
/** Set aria label to the close button */
|
|
34
38
|
closeButtonAriaLabel?: string;
|
|
35
39
|
/** Flag to disable focus trap */
|
|
36
40
|
disableFocusTrap?: boolean;
|
|
37
41
|
}
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
constructor(props: AboutModalProps) {
|
|
62
|
-
super(props);
|
|
63
|
-
|
|
64
|
-
this.state = {
|
|
65
|
-
container: undefined
|
|
66
|
-
};
|
|
67
|
-
if (props.brandImageSrc && !props.brandImageAlt) {
|
|
68
|
-
// eslint-disable-next-line no-console
|
|
69
|
-
console.error('AboutModal:', 'brandImageAlt is required when a brandImageSrc is specified');
|
|
70
|
-
}
|
|
43
|
+
export const AboutModal: React.FunctionComponent<AboutModalProps> = ({
|
|
44
|
+
children,
|
|
45
|
+
className,
|
|
46
|
+
isOpen = false,
|
|
47
|
+
onClose = (_e): any => undefined,
|
|
48
|
+
productName,
|
|
49
|
+
trademark,
|
|
50
|
+
backgroundImageSrc,
|
|
51
|
+
brandImageSrc,
|
|
52
|
+
brandImageAlt,
|
|
53
|
+
hasNoContentContainer = false,
|
|
54
|
+
appendTo,
|
|
55
|
+
closeButtonAriaLabel,
|
|
56
|
+
'aria-label': ariaLabel,
|
|
57
|
+
disableFocusTrap,
|
|
58
|
+
...props
|
|
59
|
+
}: AboutModalProps) => {
|
|
60
|
+
if (brandImageSrc && !brandImageAlt) {
|
|
61
|
+
// eslint-disable-next-line no-console
|
|
62
|
+
console.error('AboutModal:', 'brandImageAlt is required when a brandImageSrc is specified, and should not be an empty string.');
|
|
71
63
|
}
|
|
72
64
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
toggleSiblingsFromScreenReaders = (hide: boolean) => {
|
|
80
|
-
const { appendTo } = this.props;
|
|
81
|
-
const target: HTMLElement = this.getElement(appendTo);
|
|
82
|
-
const bodyChildren = target.children;
|
|
83
|
-
for (const child of Array.from(bodyChildren)) {
|
|
84
|
-
if (child !== this.state.container) {
|
|
85
|
-
hide ? child.setAttribute('aria-hidden', '' + hide) : child.removeAttribute('aria-hidden');
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
getElement = (appendTo: HTMLElement | (() => HTMLElement)) => {
|
|
91
|
-
if (typeof appendTo === 'function') {
|
|
92
|
-
return appendTo();
|
|
93
|
-
}
|
|
94
|
-
return appendTo || document.body;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
componentDidMount() {
|
|
98
|
-
const container = document.createElement('div');
|
|
99
|
-
const target: HTMLElement = this.getElement(this.props.appendTo);
|
|
100
|
-
this.setState({ container });
|
|
101
|
-
target.appendChild(container);
|
|
102
|
-
target.addEventListener('keydown', this.handleEscKeyClick, false);
|
|
103
|
-
|
|
104
|
-
if (this.props.isOpen) {
|
|
105
|
-
target.classList.add(css(styles.backdropOpen));
|
|
106
|
-
} else {
|
|
107
|
-
target.classList.remove(css(styles.backdropOpen));
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
componentDidUpdate() {
|
|
112
|
-
const target: HTMLElement = this.getElement(this.props.appendTo);
|
|
113
|
-
if (this.props.isOpen) {
|
|
114
|
-
target.classList.add(css(styles.backdropOpen));
|
|
115
|
-
this.toggleSiblingsFromScreenReaders(true);
|
|
116
|
-
} else {
|
|
117
|
-
target.classList.remove(css(styles.backdropOpen));
|
|
118
|
-
this.toggleSiblingsFromScreenReaders(false);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
componentWillUnmount() {
|
|
123
|
-
const target: HTMLElement = this.getElement(this.props.appendTo);
|
|
124
|
-
if (this.state.container) {
|
|
125
|
-
target.removeChild(this.state.container);
|
|
126
|
-
}
|
|
127
|
-
target.removeEventListener('keydown', this.handleEscKeyClick, false);
|
|
128
|
-
target.classList.remove(css(styles.backdropOpen));
|
|
65
|
+
if (!productName && !ariaLabel) {
|
|
66
|
+
// eslint-disable-next-line no-console
|
|
67
|
+
console.error('AboutModal:', 'Either productName or ariaLabel is required for component to be accessible');
|
|
129
68
|
}
|
|
130
69
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const { appendTo, ...props } = this.props;
|
|
134
|
-
const { container } = this.state;
|
|
135
|
-
|
|
136
|
-
if (!canUseDOM || !container) {
|
|
137
|
-
return null;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return ReactDOM.createPortal(
|
|
141
|
-
<AboutModalContainer
|
|
142
|
-
aboutModalBoxHeaderId={this.ariaLabelledBy}
|
|
143
|
-
aboutModalBoxContentId={this.ariaDescribedBy}
|
|
144
|
-
{...props}
|
|
145
|
-
/>,
|
|
146
|
-
container
|
|
147
|
-
) as React.ReactElement;
|
|
70
|
+
if (!isOpen) {
|
|
71
|
+
return null;
|
|
148
72
|
}
|
|
149
|
-
|
|
73
|
+
return (
|
|
74
|
+
<GenerateId prefix="pf-about-modal-title-">
|
|
75
|
+
{ariaLabelledBy => (
|
|
76
|
+
<Modal
|
|
77
|
+
isOpen={isOpen}
|
|
78
|
+
variant={ModalVariant.large}
|
|
79
|
+
{...(productName && {'aria-labelledby': ariaLabelledBy})}
|
|
80
|
+
aria-label={ariaLabel}
|
|
81
|
+
onEscapePress={onClose}
|
|
82
|
+
showClose={false}
|
|
83
|
+
appendTo={appendTo}
|
|
84
|
+
disableFocusTrap={disableFocusTrap}
|
|
85
|
+
hasNoBodyWrapper
|
|
86
|
+
>
|
|
87
|
+
<AboutModalBox className={css(className)}>
|
|
88
|
+
<AboutModalBoxBrand src={brandImageSrc} alt={brandImageAlt} />
|
|
89
|
+
<AboutModalBoxCloseButton aria-label={closeButtonAriaLabel} onClose={onClose} />
|
|
90
|
+
{productName && <AboutModalBoxHeader id={ariaLabelledBy} productName={productName} />}
|
|
91
|
+
<AboutModalBoxContent
|
|
92
|
+
trademark={trademark}
|
|
93
|
+
hasNoContentContainer={hasNoContentContainer}
|
|
94
|
+
{...props}
|
|
95
|
+
>
|
|
96
|
+
{children}
|
|
97
|
+
</AboutModalBoxContent>
|
|
98
|
+
<AboutModalBoxHero backgroundImageSrc={backgroundImageSrc} />
|
|
99
|
+
</AboutModalBox>
|
|
100
|
+
</Modal>
|
|
101
|
+
)}
|
|
102
|
+
</GenerateId>
|
|
103
|
+
);
|
|
104
|
+
};
|
|
105
|
+
AboutModal.displayName = 'AboutModal';
|
|
@@ -3,18 +3,18 @@ import { css } from '@patternfly/react-styles';
|
|
|
3
3
|
import styles from '@patternfly/react-styles/css/components/AboutModalBox/about-modal-box';
|
|
4
4
|
|
|
5
5
|
export interface AboutModalBoxProps extends React.HTMLProps<HTMLDivElement> {
|
|
6
|
-
/**
|
|
6
|
+
/** Content rendered inside the about modal box */
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
-
/**
|
|
8
|
+
/** Additional classes added to the about modal box */
|
|
9
9
|
className?: string;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export const AboutModalBox: React.FunctionComponent<AboutModalBoxProps> = ({
|
|
13
13
|
children,
|
|
14
|
-
className
|
|
14
|
+
className,
|
|
15
15
|
...props
|
|
16
16
|
}: AboutModalBoxProps) => (
|
|
17
|
-
<div
|
|
17
|
+
<div className={css(styles.aboutModalBox, className)} {...props}>
|
|
18
18
|
{children}
|
|
19
19
|
</div>
|
|
20
20
|
);
|
|
@@ -3,21 +3,18 @@ import { css } from '@patternfly/react-styles';
|
|
|
3
3
|
import styles from '@patternfly/react-styles/css/components/AboutModalBox/about-modal-box';
|
|
4
4
|
|
|
5
5
|
export interface AboutModalBoxBrandProps extends React.HTMLProps<HTMLDivElement> {
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
src?: string;
|
|
10
|
-
/** the alternate text of the Brand image. */
|
|
6
|
+
/** The URL of the image for the brand. */
|
|
7
|
+
src: string;
|
|
8
|
+
/** The alternate text of the brand image. */
|
|
11
9
|
alt: string;
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
export const AboutModalBoxBrand: React.FunctionComponent<AboutModalBoxBrandProps> = ({
|
|
15
|
-
|
|
16
|
-
src = '',
|
|
13
|
+
src,
|
|
17
14
|
alt,
|
|
18
15
|
...props
|
|
19
16
|
}: AboutModalBoxBrandProps) => (
|
|
20
|
-
<div className={css(styles.aboutModalBoxBrand
|
|
17
|
+
<div className={css(styles.aboutModalBoxBrand)} {...props}>
|
|
21
18
|
<img className={css(styles.aboutModalBoxBrandImage)} src={src} alt={alt} />
|
|
22
19
|
</div>
|
|
23
20
|
);
|
|
@@ -5,8 +5,6 @@ import { Button } from '../Button';
|
|
|
5
5
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
6
6
|
|
|
7
7
|
export interface AboutModalBoxCloseButtonProps extends React.HTMLProps<HTMLDivElement> {
|
|
8
|
-
/** additional classes added to the About Modal Close button */
|
|
9
|
-
className?: string;
|
|
10
8
|
/** A callback for when the close button is clicked */
|
|
11
9
|
onClose?: (event: React.MouseEvent | MouseEvent | KeyboardEvent) => void;
|
|
12
10
|
/** Set close button aria label */
|
|
@@ -14,12 +12,11 @@ export interface AboutModalBoxCloseButtonProps extends React.HTMLProps<HTMLDivEl
|
|
|
14
12
|
}
|
|
15
13
|
|
|
16
14
|
export const AboutModalBoxCloseButton: React.FunctionComponent<AboutModalBoxCloseButtonProps> = ({
|
|
17
|
-
className = '',
|
|
18
15
|
onClose = _e => undefined as any,
|
|
19
16
|
'aria-label': ariaLabel = 'Close Dialog',
|
|
20
17
|
...props
|
|
21
18
|
}: AboutModalBoxCloseButtonProps) => (
|
|
22
|
-
<div className={css(styles.aboutModalBoxClose
|
|
19
|
+
<div className={css(styles.aboutModalBoxClose)} {...props}>
|
|
23
20
|
<Button variant="plain" onClick={onClose} aria-label={ariaLabel}>
|
|
24
21
|
<TimesIcon />
|
|
25
22
|
</Button>
|
|
@@ -4,29 +4,23 @@ import styles from '@patternfly/react-styles/css/components/AboutModalBox/about-
|
|
|
4
4
|
import contentStyles from '@patternfly/react-styles/css/components/Content/content';
|
|
5
5
|
|
|
6
6
|
export interface AboutModalBoxContentProps extends React.HTMLProps<HTMLDivElement> {
|
|
7
|
-
/**
|
|
7
|
+
/** Content rendered inside the about modal box content */
|
|
8
8
|
children: React.ReactNode;
|
|
9
|
-
/**
|
|
10
|
-
className?: string;
|
|
11
|
-
/** id to use for About Modal Box aria described by */
|
|
12
|
-
id: string;
|
|
13
|
-
/** The Trademark info for the product */
|
|
9
|
+
/** The trademark info for the product */
|
|
14
10
|
trademark: string;
|
|
15
11
|
/** Prevents the about modal from rendering content inside a container; allows for more flexible layouts */
|
|
16
|
-
|
|
12
|
+
hasNoContentContainer?: boolean;
|
|
17
13
|
}
|
|
18
14
|
|
|
19
15
|
export const AboutModalBoxContent: React.FunctionComponent<AboutModalBoxContentProps> = ({
|
|
20
16
|
children,
|
|
21
|
-
className = '',
|
|
22
17
|
trademark,
|
|
23
|
-
|
|
24
|
-
noAboutModalBoxContentContainer = false,
|
|
18
|
+
hasNoContentContainer = false,
|
|
25
19
|
...props
|
|
26
20
|
}: AboutModalBoxContentProps) => (
|
|
27
|
-
<div className={css(styles.aboutModalBoxContent
|
|
21
|
+
<div className={css(styles.aboutModalBoxContent)} {...props}>
|
|
28
22
|
<div className={css('pf-c-about-modal-box__body')}>
|
|
29
|
-
{
|
|
23
|
+
{hasNoContentContainer ? children : <div className={css(contentStyles.content)}>{children}</div>}
|
|
30
24
|
</div>
|
|
31
25
|
<p className={css(styles.aboutModalBoxStrapline)}>{trademark}</p>
|
|
32
26
|
</div>
|
|
@@ -4,21 +4,18 @@ import styles from '@patternfly/react-styles/css/components/AboutModalBox/about-
|
|
|
4
4
|
import { Title } from '../Title';
|
|
5
5
|
|
|
6
6
|
export interface AboutModalBoxHeaderProps extends React.HTMLProps<HTMLDivElement> {
|
|
7
|
-
/**
|
|
8
|
-
className?: string;
|
|
9
|
-
/** Name of the Product */
|
|
7
|
+
/** Name of the product */
|
|
10
8
|
productName?: string;
|
|
11
|
-
/**
|
|
9
|
+
/** Id to use for about modal box header */
|
|
12
10
|
id: string;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
export const AboutModalBoxHeader: React.FunctionComponent<AboutModalBoxHeaderProps> = ({
|
|
16
|
-
|
|
17
|
-
productName = '',
|
|
14
|
+
productName,
|
|
18
15
|
id,
|
|
19
16
|
...props
|
|
20
17
|
}: AboutModalBoxHeaderProps) => (
|
|
21
|
-
<div className={css(styles.aboutModalBoxHeader
|
|
18
|
+
<div className={css(styles.aboutModalBoxHeader)} {...props}>
|
|
22
19
|
<Title headingLevel="h1" size="4xl" id={id}>
|
|
23
20
|
{productName}
|
|
24
21
|
</Title>
|
|
@@ -5,14 +5,11 @@ import styles from '@patternfly/react-styles/css/components/AboutModalBox/about-
|
|
|
5
5
|
import c_about_modal_box__hero_sm_BackgroundImage from '@patternfly/react-tokens/dist/esm/c_about_modal_box__hero_sm_BackgroundImage';
|
|
6
6
|
|
|
7
7
|
export interface AboutModalBoxHeroProps extends React.HTMLProps<HTMLDivElement> {
|
|
8
|
-
/**
|
|
9
|
-
className?: string;
|
|
10
|
-
/** background image data or file path */
|
|
8
|
+
/** Background image data or file path */
|
|
11
9
|
backgroundImageSrc?: string;
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
export const AboutModalBoxHero: React.FunctionComponent<AboutModalBoxHeroProps> = ({
|
|
15
|
-
className,
|
|
16
13
|
backgroundImageSrc,
|
|
17
14
|
...props
|
|
18
15
|
}: AboutModalBoxHeroProps) => (
|
|
@@ -24,7 +21,7 @@ export const AboutModalBoxHero: React.FunctionComponent<AboutModalBoxHeroProps>
|
|
|
24
21
|
: {}
|
|
25
22
|
/* eslint-enable camelcase */
|
|
26
23
|
}
|
|
27
|
-
className={css(styles.aboutModalBoxHero
|
|
24
|
+
className={css(styles.aboutModalBoxHero)}
|
|
28
25
|
{...props}
|
|
29
26
|
/>
|
|
30
27
|
);
|
|
@@ -30,14 +30,6 @@ describe('AboutModal', () => {
|
|
|
30
30
|
expect(screen.queryByRole('dialog')).toBeNull();
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
test('Each modal is given new aria-describedby and aria-labelledby', () => {
|
|
34
|
-
const first = new AboutModal(props);
|
|
35
|
-
const second = new AboutModal(props);
|
|
36
|
-
|
|
37
|
-
expect(first.ariaLabelledBy).not.toBe(second.ariaLabelledBy);
|
|
38
|
-
expect(first.ariaDescribedBy).not.toBe(second.ariaDescribedBy);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
33
|
test('Console error is generated when the logoImageSrc is provided without logoImageAlt', () => {
|
|
42
34
|
const noImgAltrops = {
|
|
43
35
|
onClose: jest.fn(),
|
|
@@ -53,4 +45,18 @@ describe('AboutModal', () => {
|
|
|
53
45
|
render(<AboutModal {...noImgAltrops}>Test About Modal</AboutModal>);
|
|
54
46
|
expect(myMock).toHaveBeenCalled();
|
|
55
47
|
});
|
|
48
|
+
|
|
49
|
+
test('Console error is generated when the logoImageSrc is provided without logoImageAlt', () => {
|
|
50
|
+
const noProductNameProps = {
|
|
51
|
+
onClose: jest.fn(),
|
|
52
|
+
children: 'modal content',
|
|
53
|
+
trademark: 'Trademark and copyright information here'
|
|
54
|
+
|
|
55
|
+
} as any;
|
|
56
|
+
const myMock = jest.fn() as any;
|
|
57
|
+
global.console = { error: myMock } as any;
|
|
58
|
+
|
|
59
|
+
render(<AboutModal {...noProductNameProps}>Test About Modal</AboutModal>);
|
|
60
|
+
expect(myMock).toHaveBeenCalled();
|
|
61
|
+
});
|
|
56
62
|
});
|
|
@@ -4,7 +4,7 @@ import { AboutModalBox } from '../AboutModalBox';
|
|
|
4
4
|
|
|
5
5
|
test('AboutModalBox Test', () => {
|
|
6
6
|
const { asFragment } = render(
|
|
7
|
-
<AboutModalBox aria-labelledby="id"
|
|
7
|
+
<AboutModalBox aria-labelledby="id">
|
|
8
8
|
This is a AboutModalBox
|
|
9
9
|
</AboutModalBox>
|
|
10
10
|
);
|
|
@@ -20,7 +20,7 @@ export const AboutModalComplexUserPositionedContent: React.FunctionComponent = (
|
|
|
20
20
|
trademark="Trademark and copyright information here"
|
|
21
21
|
brandImageSrc={brandImg}
|
|
22
22
|
brandImageAlt="Patternfly Logo"
|
|
23
|
-
|
|
23
|
+
hasNoContentContainer={true}
|
|
24
24
|
productName="Product Name"
|
|
25
25
|
>
|
|
26
26
|
<TextContent id="test1" className="pf-u-py-xl">
|
|
@@ -22,6 +22,7 @@ export const AboutModalCustomBackgroundImage: React.FunctionComponent = () => {
|
|
|
22
22
|
brandImageSrc={brandImg}
|
|
23
23
|
brandImageAlt="Patternfly Logo"
|
|
24
24
|
backgroundImageSrc={bgImg}
|
|
25
|
+
aria-label="Background image about modal"
|
|
25
26
|
>
|
|
26
27
|
<TextContent>
|
|
27
28
|
<TextList component="dl">
|
|
@@ -20,6 +20,7 @@ export const AboutModalWithoutProductName: React.FunctionComponent = () => {
|
|
|
20
20
|
trademark="Trademark and copyright information here"
|
|
21
21
|
brandImageSrc={brandImg}
|
|
22
22
|
brandImageAlt="Patternfly Logo"
|
|
23
|
+
aria-label="No product name about modal"
|
|
23
24
|
>
|
|
24
25
|
<TextContent>
|
|
25
26
|
<TextList component="dl">
|
|
@@ -22,7 +22,7 @@ export enum DataListWrapModifier {
|
|
|
22
22
|
|
|
23
23
|
export interface SelectableRowObject {
|
|
24
24
|
/** Callback that executes when the screen reader accessible element receives a change event */
|
|
25
|
-
onChange: (
|
|
25
|
+
onChange: (event: React.FormEvent<HTMLInputElement>, id: string) => void;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export interface DataListProps extends Omit<React.HTMLProps<HTMLUListElement>, 'ref'> {
|
|
@@ -33,7 +33,7 @@ export interface DataListProps extends Omit<React.HTMLProps<HTMLUListElement>, '
|
|
|
33
33
|
/** Adds accessible text to the DataList list */
|
|
34
34
|
'aria-label': string;
|
|
35
35
|
/** Optional callback to make DataList selectable, fired when DataListItem selected */
|
|
36
|
-
onSelectDataListItem?: (id: string) => void;
|
|
36
|
+
onSelectDataListItem?: (event: React.MouseEvent | React.KeyboardEvent, id: string) => void;
|
|
37
37
|
/** Id of DataList item currently selected */
|
|
38
38
|
selectedDataListItemId?: string;
|
|
39
39
|
/** Flag indicating if DataList should have compact styling */
|
|
@@ -49,7 +49,7 @@ export interface DataListProps extends Omit<React.HTMLProps<HTMLUListElement>, '
|
|
|
49
49
|
interface DataListContextProps {
|
|
50
50
|
isSelectable: boolean;
|
|
51
51
|
selectedDataListItemId: string;
|
|
52
|
-
updateSelectedDataListItem: (id: string) => void;
|
|
52
|
+
updateSelectedDataListItem: (event: React.MouseEvent | React.KeyboardEvent, id: string) => void;
|
|
53
53
|
selectableRow?: SelectableRowObject;
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -73,7 +73,7 @@ export class DataList extends React.Component<DataListProps> {
|
|
|
73
73
|
super(props);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
getIndex = (id: string) => Array.from(this.ref.current.children).findIndex(item => item.id === id);
|
|
76
|
+
getIndex = (id: string) => Array.from(this.ref.current.children).findIndex((item) => item.id === id);
|
|
77
77
|
|
|
78
78
|
render() {
|
|
79
79
|
const {
|
|
@@ -89,8 +89,8 @@ export class DataList extends React.Component<DataListProps> {
|
|
|
89
89
|
} = this.props;
|
|
90
90
|
const isSelectable = onSelectDataListItem !== undefined;
|
|
91
91
|
|
|
92
|
-
const updateSelectedDataListItem = (id: string) => {
|
|
93
|
-
onSelectDataListItem(id);
|
|
92
|
+
const updateSelectedDataListItem = (event: React.MouseEvent | React.KeyboardEvent, id: string) => {
|
|
93
|
+
onSelectDataListItem(event, id);
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
return (
|
|
@@ -60,12 +60,13 @@ export class DataListItem extends React.Component<DataListItemProps> {
|
|
|
60
60
|
target = target.parentNode;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
updateSelectedDataListItem(id);
|
|
63
|
+
updateSelectedDataListItem(event, id);
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
const onKeyDown = (event: React.KeyboardEvent) => {
|
|
67
|
-
if (
|
|
68
|
-
|
|
67
|
+
if ([KeyTypes.Enter, KeyTypes.Space].includes(event.key)) {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
updateSelectedDataListItem(event, id);
|
|
69
70
|
}
|
|
70
71
|
};
|
|
71
72
|
|
|
@@ -95,14 +96,14 @@ export class DataListItem extends React.Component<DataListItemProps> {
|
|
|
95
96
|
className="pf-screen-reader"
|
|
96
97
|
type="radio"
|
|
97
98
|
checked={isSelected}
|
|
98
|
-
onChange={event => selectableRow.onChange(
|
|
99
|
+
onChange={(event) => selectableRow.onChange(event, id)}
|
|
99
100
|
tabIndex={-1}
|
|
100
101
|
{...selectableInputAriaProps}
|
|
101
102
|
/>
|
|
102
103
|
)}
|
|
103
104
|
{React.Children.map(
|
|
104
105
|
children,
|
|
105
|
-
child =>
|
|
106
|
+
(child) =>
|
|
106
107
|
React.isValidElement(child) &&
|
|
107
108
|
React.cloneElement(child as React.ReactElement<any>, {
|
|
108
109
|
rowid: ariaLabelledBy
|
|
@@ -33,11 +33,11 @@ export const DataListSelectableRows: React.FunctionComponent = () => {
|
|
|
33
33
|
setIsOpen2(!isOpen2);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
const onSelectDataListItem = id => {
|
|
36
|
+
const onSelectDataListItem = (_event: React.MouseEvent | React.KeyboardEvent, id: string) => {
|
|
37
37
|
setSelectedDataListItemId(id);
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
const handleInputChange = (
|
|
40
|
+
const handleInputChange = (_event: React.FormEvent<HTMLInputElement>, id: string) => {
|
|
41
41
|
setSelectedDataListItemId(id);
|
|
42
42
|
};
|
|
43
43
|
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export interface AboutModalContainerProps extends React.HTMLProps<HTMLDivElement> {
|
|
3
|
-
/** content rendered inside the About Modal Box Content. */
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
/** additional classes added to the About Modal Box */
|
|
6
|
-
className?: string;
|
|
7
|
-
/** Flag to show the About Modal */
|
|
8
|
-
isOpen?: boolean;
|
|
9
|
-
/** A callback for when the close button is clicked */
|
|
10
|
-
onClose?: (event: React.MouseEvent | MouseEvent | KeyboardEvent) => void;
|
|
11
|
-
/** Product Name */
|
|
12
|
-
productName?: string;
|
|
13
|
-
/** Trademark information */
|
|
14
|
-
trademark?: string;
|
|
15
|
-
/** the URL of the image for the Brand. */
|
|
16
|
-
brandImageSrc: string;
|
|
17
|
-
/** the alternate text of the Brand image. */
|
|
18
|
-
brandImageAlt: string;
|
|
19
|
-
/** the URL of the image for the background. */
|
|
20
|
-
backgroundImageSrc?: string;
|
|
21
|
-
/** id to use for About Modal Box aria labeled by */
|
|
22
|
-
aboutModalBoxHeaderId: string;
|
|
23
|
-
/** id to use for About Modal Box aria described by */
|
|
24
|
-
aboutModalBoxContentId: string;
|
|
25
|
-
/** Set close button aria label */
|
|
26
|
-
closeButtonAriaLabel?: string;
|
|
27
|
-
/** Flag to disable focus trap */
|
|
28
|
-
disableFocusTrap?: boolean;
|
|
29
|
-
}
|
|
30
|
-
export declare const AboutModalContainer: React.FunctionComponent<AboutModalContainerProps>;
|
|
31
|
-
//# sourceMappingURL=AboutModalContainer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AboutModalContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/AboutModal/AboutModalContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;IAC/E,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACzE,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qDAAqD;IACrD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kCAAkC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,CA+CjF,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { css } from '@patternfly/react-styles';
|
|
4
|
-
import styles from '@patternfly/react-styles/css/layouts/Bullseye/bullseye';
|
|
5
|
-
import { FocusTrap } from '../../helpers';
|
|
6
|
-
import { AboutModalBoxContent } from './AboutModalBoxContent';
|
|
7
|
-
import { AboutModalBoxHeader } from './AboutModalBoxHeader';
|
|
8
|
-
import { AboutModalBoxHero } from './AboutModalBoxHero';
|
|
9
|
-
import { AboutModalBoxBrand } from './AboutModalBoxBrand';
|
|
10
|
-
import { AboutModalBoxCloseButton } from './AboutModalBoxCloseButton';
|
|
11
|
-
import { AboutModalBox } from './AboutModalBox';
|
|
12
|
-
import { Backdrop } from '../Backdrop/Backdrop';
|
|
13
|
-
export const AboutModalContainer = (_a) => {
|
|
14
|
-
var { children, className = '', isOpen = false, onClose = _e => undefined, productName = '', trademark, brandImageSrc, brandImageAlt, backgroundImageSrc, closeButtonAriaLabel, aboutModalBoxHeaderId, aboutModalBoxContentId, disableFocusTrap = false } = _a, props = __rest(_a, ["children", "className", "isOpen", "onClose", "productName", "trademark", "brandImageSrc", "brandImageAlt", "backgroundImageSrc", "closeButtonAriaLabel", "aboutModalBoxHeaderId", "aboutModalBoxContentId", "disableFocusTrap"]);
|
|
15
|
-
if (!isOpen) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
return (React.createElement(Backdrop, null,
|
|
19
|
-
React.createElement(FocusTrap, { active: !disableFocusTrap, focusTrapOptions: { clickOutsideDeactivates: true, tabbableOptions: { displayCheck: 'none' } }, className: css(styles.bullseye) },
|
|
20
|
-
React.createElement(AboutModalBox, { className: className, "aria-labelledby": aboutModalBoxHeaderId, "aria-describedby": aboutModalBoxContentId },
|
|
21
|
-
React.createElement(AboutModalBoxBrand, { src: brandImageSrc, alt: brandImageAlt }),
|
|
22
|
-
React.createElement(AboutModalBoxCloseButton, { "aria-label": closeButtonAriaLabel, onClose: onClose }),
|
|
23
|
-
productName && React.createElement(AboutModalBoxHeader, { id: aboutModalBoxHeaderId, productName: productName }),
|
|
24
|
-
React.createElement(AboutModalBoxContent, Object.assign({ trademark: trademark, id: aboutModalBoxContentId, noAboutModalBoxContentContainer: false }, props), children),
|
|
25
|
-
React.createElement(AboutModalBoxHero, { backgroundImageSrc: backgroundImageSrc })))));
|
|
26
|
-
};
|
|
27
|
-
AboutModalContainer.displayName = 'AboutModalContainer';
|
|
28
|
-
//# sourceMappingURL=AboutModalContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AboutModalContainer.js","sourceRoot":"","sources":["../../../../src/components/AboutModal/AboutModalContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,MAAM,MAAM,wDAAwD,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA+BhD,MAAM,CAAC,MAAM,mBAAmB,GAAsD,CAAC,EAe5D,EAAE,EAAE;QAfwD,EACrF,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,EACzB,WAAW,GAAG,EAAE,EAChB,SAAS,EACT,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GAAG,KAAK,OAEC,EADtB,KAAK,cAd6E,iOAetF,CADS;IAER,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CACL,oBAAC,QAAQ;QACP,oBAAC,SAAS,IACR,MAAM,EAAE,CAAC,gBAAgB,EACzB,gBAAgB,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAC9F,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YAE/B,oBAAC,aAAa,IACZ,SAAS,EAAE,SAAS,qBACH,qBAAqB,sBACpB,sBAAsB;gBAExC,oBAAC,kBAAkB,IAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAI;gBAC9D,oBAAC,wBAAwB,kBAAa,oBAAoB,EAAE,OAAO,EAAE,OAAO,GAAI;gBAC/E,WAAW,IAAI,oBAAC,mBAAmB,IAAC,EAAE,EAAE,qBAAqB,EAAE,WAAW,EAAE,WAAW,GAAI;gBAC5F,oBAAC,oBAAoB,kBACnB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,sBAAsB,EAC1B,+BAA+B,EAAE,KAAK,IAClC,KAAK,GAER,QAAQ,CACY;gBACvB,oBAAC,iBAAiB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAC/C,CACN,CACH,CACZ,CAAC;AACJ,CAAC,CAAC;AACF,mBAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAC"}
|