UNPKG

@lifi/widget

Version:

LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.

32 lines 1.19 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useContext, useEffect, useId, useState } from 'react'; const SettingsAccordionContext = createContext({ setOpenCard: (_id) => { }, openCard: '', }); export const SettingsCardAccordion = ({ children, }) => { const [openCard, setOpenCard] = useState(''); return (_jsx(SettingsAccordionContext.Provider, { value: { openCard, setOpenCard }, children: children })); }; export const useSettingsCardExpandable = () => { const settingCardExpandableId = useId(); const [expanded, setExpanded] = useState(false); const { openCard, setOpenCard } = useContext(SettingsAccordionContext); const toggleExpanded = () => { const newExpanded = !expanded; setExpanded(newExpanded); if (newExpanded && openCard !== settingCardExpandableId) { setOpenCard(settingCardExpandableId); } }; useEffect(() => { if (openCard !== settingCardExpandableId) { setExpanded(false); } }, [settingCardExpandableId, openCard]); return { expanded, toggleExpanded, }; }; //# sourceMappingURL=SettingsAccordian.js.map