UNPKG

@atlaskit/onboarding

Version:

An onboarding spotlight introduces new features to users through focused messages or multi-step tours.

36 lines (35 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useSpotlight; var _react = require("react"); var _spotlightManager = require("./spotlight-manager"); /** * Use spotlight hook returns information about available spotlight targets. * * @deprecated Use `@atlaskit/spotlight` instead. */ function useSpotlight() { var _useContext = (0, _react.useContext)(_spotlightManager.SpotlightContext), targets = _useContext.targets; var targetRef = (0, _react.useRef)(targets); (0, _react.useEffect)(function () { targetRef.current = targets; }, [targets]); var isTargetRendered = (0, _react.useCallback)(function (target) { return !!targetRef.current[target]; }, []); var checkVisibility = (0, _react.useCallback)(function (target) { return function (options) { var _targetRef$current$ta, _targetRef$current$ta2, _targetRef$current$ta3; return (_targetRef$current$ta = (_targetRef$current$ta2 = targetRef.current[target]) === null || _targetRef$current$ta2 === void 0 || (_targetRef$current$ta3 = _targetRef$current$ta2.checkVisibility) === null || _targetRef$current$ta3 === void 0 ? void 0 : _targetRef$current$ta3.call(_targetRef$current$ta2, options)) !== null && _targetRef$current$ta !== void 0 ? _targetRef$current$ta : false; }; }, []); return (0, _react.useMemo)(function () { return { isTargetRendered: isTargetRendered, checkVisibility: checkVisibility }; }, [isTargetRendered, checkVisibility]); }