Skip to content

Commit 9f1348d

Browse files
committed
feat(Modal): added wrapperClassName prop
1 parent 50bbfd0 commit 9f1348d

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

src/components/Modal/Modal.tsx

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
4747
* Modal does not have a max width.
4848
*/
4949
fullWidth?: boolean;
50+
/**
51+
* Class for the outermost wrapper
52+
*/
53+
wrapperClassName?: string;
5054
/**
5155
* Provide alongside `onClose` for localized accessibility.
5256
* @default "Close"
@@ -67,6 +71,7 @@ export const Modal: FC<ModalProps> = ({
6771
open,
6872
onClose,
6973
fullWidth,
74+
wrapperClassName,
7075
closeLabel = 'Close',
7176
children,
7277
buttonGroup,
@@ -93,10 +98,14 @@ export const Modal: FC<ModalProps> = ({
9398

9499
const backgroundIsButton = !!(closeOnBackgroundClick && onClose);
95100

96-
const modalWrapperClass = classnames('ui__base ui__modal__wrapper', {
97-
'ui__modal__wrapper--closed': !open,
98-
'ui__modal__wrapper--fullWidth': fullWidth,
99-
});
101+
const modalWrapperClass = classnames(
102+
'ui__base ui__modal__wrapper',
103+
{
104+
'ui__modal__wrapper--closed': !open,
105+
'ui__modal__wrapper--fullWidth': fullWidth,
106+
},
107+
wrapperClassName,
108+
);
100109

101110
const modalClass = classnames('ui__modal', className);
102111

@@ -112,8 +121,8 @@ export const Modal: FC<ModalProps> = ({
112121
onClick={backgroundIsButton ? onClose : undefined}
113122
>
114123
{mounted ? (
115-
<FocusTrap focusLastOnUnlock locked>
116-
<div className="ui__modal__paddingFix">
124+
<div className="ui__modal__paddingFix">
125+
<FocusTrap focusLastOnUnlock locked>
117126
<div
118127
aria-labelledby={heading ? headingId : undefined}
119128
aria-describedby={bodyId}
@@ -139,8 +148,8 @@ export const Modal: FC<ModalProps> = ({
139148
</div>
140149
{buttonGroup ? <ButtonGroup className="ui__modal__buttonGroup">{buttonGroup}</ButtonGroup> : undefined}
141150
</div>
142-
</div>
143-
</FocusTrap>
151+
</FocusTrap>
152+
</div>
144153
) : (
145154
undefined
146155
)}

0 commit comments

Comments
 (0)