@@ -12,6 +12,7 @@ import FormFieldContainer from '../components/form-field-container';
1212import { Banner , TextInput } from '../components/leafygreen' ;
1313import { spacing } from '@leafygreen-ui/tokens' ;
1414import { useInitialValue } from './use-initial-value' ;
15+ import { useId } from '@react-aria/utils' ;
1516
1617export { ConfirmationModalVariant } ;
1718
@@ -174,6 +175,8 @@ const ConfirmationModalStateHandler: React.FunctionComponent = ({
174175 onUserAction ( false ) ;
175176 } , [ onUserAction ] ) ;
176177
178+ const initialFocusId = useId ( ) ;
179+
177180 return (
178181 < >
179182 { children }
@@ -188,6 +191,7 @@ const ConfirmationModalStateHandler: React.FunctionComponent = ({
188191 title = { confirmationProps . title ?? 'Are you sure?' }
189192 variant = { confirmationProps . variant ?? ConfirmationModalVariant . Default }
190193 confirmButtonProps = { {
194+ id : confirmationProps . hideCancelButton ? initialFocusId : undefined ,
191195 className : confirmationProps . hideConfirmButton
192196 ? hideButtonStyles
193197 : undefined ,
@@ -196,6 +200,7 @@ const ConfirmationModalStateHandler: React.FunctionComponent = ({
196200 ...confirmationProps . confirmButtonProps ,
197201 } }
198202 cancelButtonProps = { {
203+ id : ! confirmationProps . hideCancelButton ? initialFocusId : undefined ,
199204 className : confirmationProps . hideCancelButton
200205 ? hideButtonStyles
201206 : undefined ,
@@ -207,7 +212,7 @@ const ConfirmationModalStateHandler: React.FunctionComponent = ({
207212 ( confirmationProps . requiredInputText
208213 ? 'auto'
209214 : // TODO: Update this once https://jira.mongodb.org/browse/LG-5735 gets resolved
210- '[data-testid=lg-confirmation_modal-footer-cancel_button]' )
215+ `# ${ initialFocusId } ` )
211216 }
212217 >
213218 { confirmationProps . description }
0 commit comments