@momentum-ui/react-collaboration
Version:
Cisco Momentum UI Framework for React Collaboration Applications
23 lines • 1.11 kB
JavaScript
import React, { useCallback, useMemo, useState } from 'react';
import { v4 as uuidv4 } from 'uuid';
import { TabsProviderContext } from './TabsProvider.utils';
/**
* The Tabs component.
* @deprecated Use the equivalent from momentum.design (NPM: `@momentum-design/components/dist/react`)
*/
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