diff --git a/.changeset/fair-olives-chew.md b/.changeset/fair-olives-chew.md new file mode 100644 index 00000000000..b0a3cc88bb8 --- /dev/null +++ b/.changeset/fair-olives-chew.md @@ -0,0 +1,5 @@ +--- +'@shopify/polaris': minor +--- + +[Modal] Activator no longer wrapped in Box diff --git a/polaris-react/src/components/Modal/Modal.tsx b/polaris-react/src/components/Modal/Modal.tsx index 890915adb35..a9003656753 100644 --- a/polaris-react/src/components/Modal/Modal.tsx +++ b/polaris-react/src/components/Modal/Modal.tsx @@ -1,4 +1,4 @@ -import React, {useState, useCallback, useRef, useId} from 'react'; +import React, {useState, useCallback, useRef, useId, cloneElement} from 'react'; import {TransitionGroup} from 'react-transition-group'; import {focusFirstFocusableNode} from '../../utilities/focus'; @@ -95,7 +95,7 @@ export const Modal: React.FunctionComponent & { const [closing, setClosing] = useState(false); const headerId = useId(); - const activatorRef = useRef(null); + const activatorRef = useRef(null); const i18n = useI18n(); const iframeTitle = i18n.translate('Polaris.Modal.iFrameTitle'); @@ -223,9 +223,9 @@ export const Modal: React.FunctionComponent & { const animated = !instant; const activatorMarkup = - activator && !isRef(activator) ? ( - {activator} - ) : null; + activator && !isRef(activator) + ? cloneElement(activator, {ref: activatorRef}) + : null; return (