PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.17.0
GiveWP – Donation Plugin and Fundraising Platform v4.17.0
4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 All 256 releases
give / src / Views / Components / AdminDetailsPage / Tabs / TabList.tsx

TabList.tsx in GiveWP – Donation Plugin and Fundraising Platform 4.17.0, at src/Views/Components/AdminDetailsPage/Tabs/TabList.tsx

34 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import { Tab, TabList as ReactAriaTabList, TabsContext } from 'react-aria-components';
2 import { Tab as TabType } from '../types';
3 import styles from '../AdminDetailsPage.module.scss';
4 import { useContext } from 'react';
5 import { useTriggerResize } from '../../hooks';
6
7 /**
8 * @since 4.4.0
9 */
10 export default function TabList({ tabDefinitions }: { tabDefinitions: TabType[] }) {
11 // @ts-ignore
12 const {selectedKey} = useContext(TabsContext);
13 const activeTab = tabDefinitions.find((tab) => tab.id === selectedKey);
14 const isFullWidth = activeTab?.fullwidth;
15
16 useTriggerResize(selectedKey);
17
18 return (
19 <ReactAriaTabList className={`${styles.tabs} ${isFullWidth ? styles.fullWidth : ''}`}>
20 {tabDefinitions.map((tab) => (
21 <Tab
22 key={tab.id}
23 id={tab.id}
24 data-text={tab.title}
25 {...(tab.link && { href: tab.link })}
26 {...(tab.content && { 'data-href': `#${tab.id}` })}
27 >
28 {tab.title}
29 </Tab>
30 ))}
31 </ReactAriaTabList>
32 );
33 }
34