diff --git a/src/index.tsx b/src/index.tsx index a511891..53f5c8e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -44,6 +44,7 @@ export const Popup = forwardRef( open = undefined, disabled = false, nested = false, + disabledAutofocus = false, closeOnDocumentClick = true, repositionOnResize = true, closeOnEscape = true, @@ -79,7 +80,9 @@ export const Popup = forwardRef( if (isOpen) { focusedElBeforeOpen.current = document.activeElement; setPosition(); - focusContentOnOpen(); // for accessibility + if (!disabledAutofocus) { + focusContentOnOpen(); // for accessibility + } lockScrolll(); } else { resetScroll(); diff --git a/src/types.tsx b/src/types.tsx index 41090b7..70e5953 100644 --- a/src/types.tsx +++ b/src/types.tsx @@ -39,6 +39,7 @@ export interface PopupProps { lockScroll?: boolean; closeOnDocumentClick?: boolean; closeOnEscape?: boolean; + disabledAutofocus?: boolean; repositionOnResize?: boolean; mouseEnterDelay?: number; mouseLeaveDelay?: number; diff --git a/stories/Modal.stories.tsx b/stories/Modal.stories.tsx index ee4b873..49085a4 100644 --- a/stories/Modal.stories.tsx +++ b/stories/Modal.stories.tsx @@ -178,3 +178,21 @@ GlobalModalWithRef.args = { onOpen: () => alert('popup opened '), modal: true, }; + +const DisabledAutofocusOnFirstElementTemplate: Story = args => ( +
+ Open modal} + > + + +
+); + +export const DisabledAutofocusOnFirstElement = DisabledAutofocusOnFirstElementTemplate.bind({}); + +DisabledAutofocusOnFirstElement.args = { + modal: true, + disabledAutofocus: true +}; \ No newline at end of file