react-ratchet
Version:
Ratchet, rebuilt for React
177 lines (162 loc) • 4.13 kB
Markdown
# react-ratchet
React components for the [Ratchet](http://goratchet.com/components) UI Library
Used to build [Hacker News Mobile](http://hackernewsmobile.com/):

## Documentation
### Title
```
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var Title = require('react-ratchet').Title;
class MyTitle extends React.Component {
render() {
return <Title>Hello World!</Title>
}
}
```
### NavBar
```
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var NavBar = require('react-ratchet').NavBar;
class MyNavBar extends React.Component {
render() {
return (
<NavBar>
<Title>Hello World!</Title>
</NavBar>
);
}
}
```
### NavButton
```
[right] {Boolean} The side of the nav the button will be displayed
[href] {String} If defined creates an anchor, else defaults to a button
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var NavButton = require('react-ratchet').NavButton;
class MyNavButton extends React.Component {
render() {
return (
<NavButton right href='./next'>
Next
</NavButton>
);
}
}
```
### TableView
```
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var TableView = require('react-ratchet').TableView;
var TableViewCell = require('react-ratchet').TableViewCell;
class MyTableView extends React.Component {
render() {
return (
<TableView>
<TableViewCell>My</TableViewCell>
<TableViewCell>React</TableViewCell>
<TableViewCell>Ratchet</TableViewCell>
<TableViewCell>Table</TableViewCell>
</TableView>
);
}
}
```
### TableViewCell
```
[divider] {Boolean} Renders a divider cell
[navigateRight] {Boolean} Right-wards chevron
[navigateLeft] {Boolean} Left-wards chevron
[href] {String} Assigns the given href to the child anchor
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var TableViewCell = require('react-ratchet').TableViewCell;
class MyTableViewCell extends React.Component {
render() {
return <TableViewCell>Hello World!</TableViewCell>
}
}
```
### Button
```
[block] {Boolean} A block button
[outlined] {Boolean} An outlined button
[rStyle] {String} One of the btn-* CSS classes
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var Button = require('react-ratchet').Button;
class MyButton extends React.Component {
render() {
return <Button block rStyle='positive'>Hello World!</Button>
}
}
```
### Badge
```
[inverted] {Boolean} An inverted badge
[rStyle] {String} One of the badge-* CSS classes
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var Badge = require('react-ratchet').Badge;
class MyBadge extends React.Component {
render() {
return <Badge rStyle='primary' inverted>42</Badge>
}
}
```
### Icon
```
[...] {Boolean} Any defined boolean prop will be taken for the icon name
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var Icon = require('react-ratchet').Icon;
class MyIcon extends React.Component {
render() {
return <Icon star-filled />
}
}
```
### Toggle
```
[active] {Boolean} Set the toggle to active
[onToggle] {Function} Called when the toggle is toggled, with the new
active state as the only argument
[className] {String} Merges with the Ratchet predefined CSS classes
```
Example:
```javascript
var Toggle = require('react-ratchet').Toggle;
class MyToggle extends React.Component {
constructor(props) {
super(props)
this.state = {active: false}
}
render() {
return (
<Toggle
active={this.state.active}
onToggle={(active) => this.setState({active})}
/>
)
}
}
```