@coreui/react-pro
Version:
UI Components Library for React.js
37 lines (34 loc) • 1.01 kB
JavaScript
import { useRef } from 'react';
import { createPopper } from '@popperjs/core';
const usePopper = () => {
const _popper = useRef(undefined);
const el = useRef(null);
const initPopper = (reference, popper, options) => {
_popper.current = createPopper(reference, popper, options);
el.current = popper;
};
const destroyPopper = () => {
const popperInstance = _popper.current;
if (popperInstance && el.current) {
popperInstance.destroy();
}
_popper.current = undefined;
};
const updatePopper = (options) => {
const popperInstance = _popper.current;
if (popperInstance && options) {
popperInstance.setOptions(options);
}
if (popperInstance) {
popperInstance.update();
}
};
return {
popper: _popper.current,
initPopper,
destroyPopper,
updatePopper,
};
};
export { usePopper };
//# sourceMappingURL=usePopper.js.map