react-toolbox/spec/ts/tabs.tsx

74 lines
2.9 KiB
TypeScript

import * as React from 'react';
import { Tabs, Tab } from '../../components/tabs';
class TabsTest extends React.Component<any, any> {
state = {
index: 1,
fixedIndex: 1,
inverseIndex: 1,
};
handleTabChange = (index: any) => {
this.setState({ index });
};
handleFixedTabChange = (index: any) => {
this.setState({ fixedIndex: index });
};
handleInverseTabChange = (index: any) => {
this.setState({ inverseIndex: index });
};
handleActive = () => {
console.log('Special one activated');
};
render() {
return (
<section>
<h5>Tabs</h5>
<p>This tabs can be disabled or hidden</p>
<Tabs disableAnimatedBottomBorder index={this.state.index} onChange={this.handleTabChange}>
<Tab ripple={false} label="Primary"><small>Primary content (no ripple)</small></Tab>
<Tab label="Secondary" onActive={this.handleActive}><small>Secondary content</small></Tab>
<Tab label="Third" disabled><small>Disabled content</small></Tab>
<Tab label="Fourth" hidden><small>Fourth content hidden</small></Tab>
<Tab label="Fifth"><small>Fifth content</small></Tab>
</Tabs>
<h5>Fixed Tabs</h5>
<p>These tabs fill the given space.</p>
<Tabs index={this.state.fixedIndex} onChange={this.handleFixedTabChange} fixed>
<Tab label="First"><small>First Content</small></Tab>
<Tab label="Second"><small>Second Content</small></Tab>
<Tab label="Third"><small>Third Content</small></Tab>
<Tab label="Fourth"><small>Fourth Content</small></Tab>
<Tab label="Fifth"><small>Fifth Content</small></Tab>
</Tabs>
<h5>Inverse Tabs</h5>
<p>These tabs have an inverted theme.</p>
<Tabs index={this.state.inverseIndex} onChange={this.handleInverseTabChange} inverse>
<Tab label="First"><small>First Content</small></Tab>
<Tab label="Second"><small>Second Content</small></Tab>
<Tab label="Third"><small>Third Content</small></Tab>
<Tab label="Disabled" disabled><small>Disabled Content</small></Tab>
</Tabs>
<h5>Inverse Tabs with labels and icons</h5>
<Tabs index={this.state.inverseIndex} onChange={this.handleInverseTabChange} inverse>
<Tab label="Home" icon="home"><small>First Content</small></Tab>
<Tab label="Favorite" icon="favorite"><small>Second Content</small></Tab>
<Tab label="Call" icon="call"><small>Third Content</small></Tab>
</Tabs>
<h5>Inverse Tabs with icons</h5>
<Tabs index={this.state.inverseIndex} onChange={this.handleInverseTabChange} inverse>
<Tab icon="home"><small>First Content</small></Tab>
<Tab icon="favorite"><small>Second Content</small></Tab>
<Tab icon="call"><small>Third Content</small></Tab>
</Tabs>
</section>
);
}
}
export default TabsTest;