Skip to content

Commit b24a56c

Browse files
committed
adds support for close button ref for modal panel
1 parent 73bbe9a commit b24a56c

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

  • packages/ui-library/src/components/modal

packages/ui-library/src/components/modal/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,18 @@ CloseButton.defaultProps = {
9696
* @param {string} [className] Additional class names.
9797
* @param {boolean} [hasCloseButton] Whether the modal has a close button.
9898
* @param {string} [closeButtonScreenReaderText] The screen reader text of the close button. Used when hasCloseButton is true.
99+
* @param {Object} [closeButtonRef] Ref forwarded to the close button element.
99100
* @param {Object} [props] Additional props.
100101
* @returns {JSX.Element} The panel.
101102
*/
102-
const Panel = forwardRef( ( { children, className = "", hasCloseButton = true, closeButtonScreenReaderText = "Close", ...props }, ref ) => {
103+
const Panel = forwardRef( ( { children, className = "", hasCloseButton = true, closeButtonScreenReaderText = "Close", closeButtonRef = null, ...props }, ref ) => {
103104
return (
104105
<Dialog.Panel
105106
ref={ ref }
106107
className={ classNames( "yst-modal__panel", className ) }
107108
{ ...props }
108109
>
109-
{ hasCloseButton && <CloseButton screenReaderText={ closeButtonScreenReaderText } /> }
110+
{ hasCloseButton && <CloseButton ref={ closeButtonRef } screenReaderText={ closeButtonScreenReaderText } /> }
110111
{ children }
111112
</Dialog.Panel>
112113
);
@@ -118,11 +119,13 @@ Panel.propTypes = {
118119
className: PropTypes.string,
119120
hasCloseButton: PropTypes.bool,
120121
closeButtonScreenReaderText: PropTypes.string,
122+
closeButtonRef: PropTypes.object,
121123
};
122124
Panel.defaultProps = {
123125
className: "",
124126
hasCloseButton: true,
125127
closeButtonScreenReaderText: "Close",
128+
closeButtonRef: null,
126129
};
127130

128131
export const classNameMap = {

0 commit comments

Comments
 (0)