@nodeject/ui-components
Version:
UI library for non-trivial components
20 lines (19 loc) • 710 B
JavaScript
import { useCallback, useState } from 'react';
export var useModalForm = function (initialIsVisibleValue) {
var _a = useState(initialIsVisibleValue), isVisible = _a[0], setIsVisible = _a[1]; // makes it false by default
var hideForm = useCallback(function () {
setIsVisible(false);
}, []);
var showForm = useCallback(function () {
setIsVisible(true);
}, []);
var toggleFormVisibility = useCallback(function () {
setIsVisible(function (isVisible) { return !isVisible; });
}, []);
return {
hideForm: hideForm,
isVisible: isVisible,
showForm: showForm,
toggleFormVisibility: toggleFormVisibility
};
};