Skip to content

Commit aee47f5

Browse files
authored
Modal custom classes (#839)
* Pass content_class_name through to Modal * Add tests for Modal custom class names
1 parent 8aa9ef3 commit aee47f5

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/components/modal/Modal.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ const Modal = props => {
4242
dialogAs={tag}
4343
dialogClassName={class_name || className}
4444
className={modal_class_name || modalClassName}
45+
contentClassName={content_class_name || contentClassName}
4546
backdropClassName={backdrop_class_name || backdropClassName}
4647
autoFocus={autofocus || autoFocus}
4748
aria-labelledby={labelledby || labelledBy}

src/components/modal/__tests__/Modal.test.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,30 @@ describe('Modal', () => {
6868
expect(document.body.querySelector('.modal-dialog')).toHaveClass(
6969
'modal-xl'
7070
);
71+
72+
// Content class name
73+
rerender(<Modal is_open content_class_name="custom-modal-content" />);
74+
expect(document.body.querySelector('.modal-content')).toHaveClass(
75+
'custom-modal-content'
76+
);
77+
78+
// Backdrop class name
79+
rerender(<Modal is_open backdrop_class_name="custom-modal-backdrop" />);
80+
expect(document.body.querySelector('.modal-backdrop')).toHaveClass(
81+
'custom-modal-backdrop'
82+
);
83+
84+
// Dialog class name
85+
rerender(<Modal is_open class_name="custom-modal-dialog" />);
86+
expect(document.body.querySelector('.modal-dialog')).toHaveClass(
87+
'custom-modal-dialog'
88+
);
89+
90+
// Modal class name
91+
rerender(<Modal is_open modal_class_name="custom-modal-class" />);
92+
expect(document.body.querySelector('.modal')).toHaveClass(
93+
'custom-modal-class'
94+
);
7195
});
7296

7397
describe('backdrop', () => {

0 commit comments

Comments
 (0)