UNPKG

@atlaskit/breadcrumbs

Version:

Breadcrumbs are a navigation system used to show a user's location in a site or app.

31 lines (30 loc) • 1.15 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useOnRevealed = useOnRevealed; var _react = require("react"); var _usePreviousValue = _interopRequireDefault(require("@atlaskit/ds-lib/use-previous-value")); /** * The hook is used to invoke callback after breadcrumbs is revealed. * * The hook checks if previous state of breadcrumbs was collapsed and current state is expanded * and if so invoke received callback. * * @param callback the function to invoke after revealing * @param param1 the object that contain two field: * 1) isExpanded - current state of breadcrumbs * 2) isDisabled - to disable the callback. */ function useOnRevealed(callback, _ref) { var isExpanded = _ref.isExpanded, isDisabled = _ref.isDisabled; var prevExtended = (0, _usePreviousValue.default)(isExpanded); (0, _react.useEffect)(function () { var hasBeenRevealed = !prevExtended && isExpanded; if (!isDisabled && hasBeenRevealed) { callback(); } }, [isExpanded, isDisabled, callback, prevExtended]); }