UNPKG

@pantheon-systems/design-toolkit-react

Version:
35 lines (32 loc) 929 B
import { useContext, useRef, useCallback } from 'react'; import BreadcrumbsContext from '../BreadcrumbsContext.js'; var uniqueId = 0; var useDeferCrumb = function useDeferCrumb() { var _useContext = useContext(BreadcrumbsContext), deferCrumb = _useContext.deferCrumb, resolveCrumb = _useContext.resolveCrumb; var ref = useRef(null); var getUniqueId = useCallback(function () { if (ref.current) { return ref.current; } uniqueId += 1; ref.current = uniqueId; return ref.current; }, []); var defer = useCallback(function () { var id = getUniqueId(); deferCrumb(id); return id; }, [deferCrumb, getUniqueId]); var resolve = useCallback(function (id) { resolveCrumb(id); }, [resolveCrumb]); return { defer: defer, resolve: resolve }; }; var useDeferCrumb$1 = useDeferCrumb; export { useDeferCrumb$1 as default }; //# sourceMappingURL=useDeferCrumb.js.map