Files
react-test/docs/data/joy/components/tabs/TabsSticky.js
how2ice 005cf56baf
Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
init project
2025-12-12 14:26:25 +09:00

42 lines
1.1 KiB
JavaScript

import * as React from 'react';
import Tabs from '@mui/joy/Tabs';
import TabList from '@mui/joy/TabList';
import Tab from '@mui/joy/Tab';
export default function TabsSticky() {
const [sticky, setSticky] = React.useState('top');
const items = [
<TabList
key="tablist"
sticky={sticky}
variant="soft"
underlinePlacement={{ top: 'bottom', bottom: 'top' }[sticky]}
>
<Tab indicatorPlacement={{ top: 'bottom', bottom: 'top' }[sticky]} value="top">
Sticky top
</Tab>
<Tab
indicatorPlacement={{ top: 'bottom', bottom: 'top' }[sticky]}
value="bottom"
>
Sticky bottom
</Tab>
</TabList>,
<div key="tabpanel">
{[...new Array(50)].map((_, index) => (
<div key={index}>Long content</div>
))}
</div>,
];
return (
<Tabs
aria-label="Sticky tabs"
value={sticky}
onChange={(event, newValue) => setSticky(newValue)}
sx={{ p: 1, maxHeight: 200, overflowY: 'auto' }}
>
{sticky === 'top' ? items : items.reverse()}
</Tabs>
);
}