UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

41 lines (37 loc) 1.2 kB
'use strict'; var React = require('react'); var core = require('@popperjs/core'); const usePopper = () => { const _popper = React.useRef(undefined); const el = React.useRef(null); const initPopper = React.useCallback((reference, popper, options) => { var _a; (_a = _popper.current) === null || _a === void 0 ? void 0 : _a.destroy(); _popper.current = core.createPopper(reference, popper, options); el.current = popper; }, []); const destroyPopper = React.useCallback(() => { const popperInstance = _popper.current; if (popperInstance && el.current) { popperInstance.destroy(); } _popper.current = undefined; }, []); const updatePopper = React.useCallback((options) => { const popperInstance = _popper.current; if (popperInstance && options) { popperInstance.setOptions(options); } if (popperInstance) { popperInstance.update(); } }, []); return { popper: _popper.current, initPopper, destroyPopper, updatePopper, }; }; exports.usePopper = usePopper; //# sourceMappingURL=usePopper.js.map