@wordpress/components
Version:
UI components for WordPress.
40 lines (37 loc) • 879 B
JavaScript
/**
* WordPress dependencies
*/
import { useCallback } from '@wordpress/element';
/**
* Internal dependencies
*/
import { useContextSystem } from '../../ui/context';
import Button from '../../button';
import useNavigator from '../use-navigator';
export function useNavigatorBackButton(props) {
const {
onClick,
as = Button,
goToParent: goToParentProp = false,
...otherProps
} = useContextSystem(props, 'NavigatorBackButton');
const {
goBack,
goToParent
} = useNavigator();
const handleClick = useCallback(e => {
e.preventDefault();
if (goToParentProp) {
goToParent();
} else {
goBack();
}
onClick === null || onClick === void 0 ? void 0 : onClick(e);
}, [goToParentProp, goToParent, goBack, onClick]);
return {
as,
onClick: handleClick,
...otherProps
};
}
//# sourceMappingURL=hook.js.map