UNPKG

@momentum-ui/react-collaboration

Version:

Cisco Momentum UI Framework for React Collaboration Applications

22 lines 1.01 kB
import React, { useCallback, useMemo, useState } from 'react'; import { v4 as uuidv4 } from 'uuid'; import { TabsProviderContext } from './TabsProvider.utils'; /** * The Tabs component. */ var TabsProvider = function (props) { var selectedTab = props.selectedTab, _id = props.id, children = props.children; var id = useState(_id || uuidv4())[0]; var getTabId = useCallback(function (key) { return "".concat(id).concat(key); }, [id]); var getPanelId = useCallback(function (key) { return "".concat(getTabId(key), "-TabPanel"); }, [getTabId]); var contextProps = useMemo(function () { return ({ selectedTab: selectedTab, id: id, getTabId: getTabId, activeTabId: getTabId(selectedTab), activePanelId: getPanelId(selectedTab), }); }, [getPanelId, getTabId, selectedTab, id]); return (React.createElement(TabsProviderContext.Provider, { value: contextProps }, children)); }; export default TabsProvider; //# sourceMappingURL=TabsProvider.js.map