UNPKG

@pagamio/frontend-commons-lib

Version:

Pagamio library for Frontend reusable components like the form engine and table container

39 lines (38 loc) 1.63 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'; import { setupInputRegistry } from '../form-engine/registry'; /** * @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version. */ const FormEngineDrawerContext = createContext(undefined); /** * @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version. */ export const FormEngineDrawerProvider = ({ pathname, children }) => { console.warn('FormEngineDrawerProvider is deprecated and will be removed in a future version. Use MultiFormEngineDrawerProvider instead.'); const [isOpen, setIsOpen] = useState(false); useEffect(() => { setupInputRegistry(); }, []); const handleOpenDrawer = useCallback(() => setIsOpen(true), []); const handleCloseDrawer = useCallback(() => setIsOpen(false), []); useEffect(() => { setIsOpen(false); }, [pathname]); const contextValue = useMemo(() => ({ isOpen, handleOpenDrawer, handleCloseDrawer, }), [isOpen, handleOpenDrawer, handleCloseDrawer]); return _jsx(FormEngineDrawerContext.Provider, { value: contextValue, children: children }); }; /** * @deprecated Use `useMultiFormEngineDrawer` instead. This will be removed in a future version. */ export const useFormEngineDrawer = () => { const context = useContext(FormEngineDrawerContext); if (!context) { throw new Error('useFormEngineDrawer must be used within a FormEngineDrawerProvider'); } return context; };