0.15.0 • Published 5 years ago

@material/react-tab v0.15.0

Weekly downloads
1,528
License
MIT
Repository
github
Last release
5 years ago

React Tab

A React version of an MDC Tab.

Installation

npm install @material/react-tab
npm install @material/react-tab-indicator

Usage

Styles

with Sass:

import '@material/react-tab/index.scss';
import '@material/react-tab-indicator/index.scss';

with CSS:

import '@material/react-tab/dist/tab.css';
import '@material/react-tab-indicator/dist/tab-indicator.css';

Javascript Instantiation

With an Underline (default)

import React from 'react';
import Tab from '@material/react-tab';
import MaterialIcon from '@material/react-material-icon';

class MyApp extends React.Component {
  state = {active: false};

  render() {
    return (
      <Tab active={this.state.active}>
        <MaterialIcon className='mdc-tab__icon' icon='favorite' />
        <span className='mdc-tab__text-label'>Love</span>
      </Tab>
    );
  }
}

With Custom Indicator

Possibly you don't want to use the default underline indicator, but instead would like to use an icon. You'll need to add an indicatorContent prop, which should be set to an icon element.

import React from 'react';
import Tab from '@material/react-tab';
import MaterialIcon from '@material/react-material-icon';

class MyApp extends React.Component {
  state = {active: false};

  render() {
    return (
      <Tab
        active={this.state.active}
        indicatorContent={<MaterialIcon icon='favorite' />}
      >
        <span className='mdc-tab__text-label'>Love</span>
      </Tab>
    );
  }
}

Props

Prop NameTypeDescription
activebooleanIf true will activate the tab and indicator.
focusOnActivatebooleanIf true will focus itself when activated. Defaults to true.
classNamestringClasses to appear on className attribute of root element.
isFadingIndicatorbooleanEnables a fading indicator, instead of sliding (default).
indicatorContentelementElement that will appear within the <TabIndicator /> element.
minWidthbooleanIf true will display the <Tab /> as narrow as possible.
isMinWidthIndicatorbooleanIf true will display the <TabIndicator /> to the size of the longest content element.
previousIndicatorClientRectClientRectThe indicator's clientRect that was previously activated.
onInteractionFunctionThe function is called if the tab receives any interaction
stackedbooleanIf true will display the tab icon and label to flow vertically instead of horizontally.
tagStringCustomizes the tab tag (defaults to 'button'). The only available options are 'button' or 'a'.

Sass Mixins

Sass mixins may be available to customize various aspects of the components. Please refer to the MDC Web repository for more information on what mixins are available, and how to use them.

Advanced Sass Mixins

Usage with Icons

Please see our Best Practices doc when importing or using icon fonts.