@shopify/polaris
Version:
Shopify’s product component library
11 lines (10 loc) • 443 B
JavaScript
import React, { memo, useEffect } from 'react';
import { focusFirstFocusableNode } from '@shopify/javascript-utilities/focus';
export const Focus = memo(function Focus({ children, disabled, root, }) {
useEffect(() => {
if (disabled || !root || root.querySelector('[autofocus]'))
return;
focusFirstFocusableNode(root, false);
}, [disabled, root]);
return <React.Fragment>{children}</React.Fragment>;
});