# FocusWithin The `useFocusWithin` hooks responds to focus and blur events on its child. Focus events are dispatched for all input types, with the exception of `onFocusVisibleChange` which is only dispatched when focusing with a keyboard. Focus events do not propagate between `useFocusWithin` event responders. ```js // Example const Button = (props) => { const [ isFocusWithin, updateFocusWithin ] = useState(false); const [ isFocusWithinVisible, updateFocusWithinVisible ] = useState(false); const focusWithin = useFocusWithin({ onFocusWithinChange={updateFocusWithin} onFocusWithinVisibleChange={updateFocusWithinVisible} }); return (