6.0.0 • Published 8 years ago

cf-component-dropdown v6.0.0

Weekly downloads
243
License
BSD-3-Clause
Repository
-
Last release
8 years ago

cf-component-dropdown

Cloudflare Dropdown Component

Installation

Installation with yarn is recommended

$ yarn add cf-component-dropdown

Usage

import React from 'react';
import {
  Dropdown,
  DropdownLink,
  DropdownSeparator
} from 'cf-component-dropdown';
import { Button, ButtonGroup } from 'cf-component-button';
import { Code, CodeBlock } from 'cf-component-code';

class DropdownComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      dropdown1Open: false,
      dropdown2Open: false
    };
  }

  render() {
    return (
      <div>
        <ButtonGroup>
          <Button
            type="primary"
            onClick={() => this.setState({ dropdown1Open: true })}
          >
            Open Dropdown 1
          </Button>

          {this.state.dropdown1Open && (
            <Dropdown onClose={() => this.setState({ dropdown1Open: false })}>
              <DropdownLink to="/foo">Link to /foo</DropdownLink>
              <DropdownLink to="/bar">Link to /bar</DropdownLink>
              <DropdownSeparator />
              <DropdownLink to="/baz">Link to /baz</DropdownLink>
              <DropdownLink to="/bat">Link to /bat</DropdownLink>
              <DropdownLink disabled to="/bad">
                Disabled dropdown link
              </DropdownLink>
            </Dropdown>
          )}

          <Button
            type="success"
            onClick={() => this.setState({ dropdown2Open: true })}
          >
            Open Dropdown 2
          </Button>

          {this.state.dropdown2Open && (
            <Dropdown
              align="right"
              onClose={() => this.setState({ dropdown2Open: false })}
            >
              <DropdownLink to="/foo">Link to /foo</DropdownLink>
              <DropdownLink to="/bar">Link to /bar</DropdownLink>
              <DropdownSeparator />
              <DropdownLink to="/baz">Link to /baz</DropdownLink>
              <DropdownLink to="/bat">Link to /bat</DropdownLink>
            </Dropdown>
          )}
        </ButtonGroup>
        <p>
          {`You can also optionally pass an align prop with either "left" or
          "right"`}
        </p>
        <CodeBlock>{`<Dropdown align="right" ...>`}</CodeBlock>
        <p>
          <Code>{`<DropdownLink/>`}</Code> just wraps cf-component-link so you
          can use either to to specify a route or pass an onClick handler.
        </p>
        <CodeBlock>{`<DropdownLink to="/my-route"/>`}</CodeBlock>
        <CodeBlock>{`<DropdownLink onClick={this.handleClick}/>`}</CodeBlock>
        <p>
          Note: to requires that you setup cf-util-route-handler prior to
          routing.
        </p>
      </div>
    );
  }
}

export default DropdownComponent;
6.0.0

8 years ago

5.2.28

8 years ago

5.2.27

8 years ago

5.2.26

8 years ago

5.2.25

8 years ago

5.2.24

8 years ago

5.2.23

8 years ago

5.2.22

8 years ago

5.2.21

8 years ago

5.2.20

8 years ago

5.2.19

8 years ago

5.2.18

8 years ago

5.2.17

8 years ago

5.2.16

8 years ago

5.2.15

8 years ago

5.2.14

8 years ago

5.2.13

8 years ago

5.2.12

8 years ago

5.2.11

8 years ago

5.2.10

8 years ago

5.2.9

8 years ago

5.2.8

8 years ago

5.2.7

8 years ago

5.2.6

8 years ago

5.2.5

8 years ago

5.2.4

8 years ago

5.2.3

8 years ago

5.2.2

8 years ago

5.2.1

8 years ago

5.2.0

8 years ago

5.1.0

8 years ago

5.0.14

8 years ago

5.0.13

8 years ago

5.0.12

8 years ago

5.0.11

8 years ago

5.0.10

8 years ago

5.0.9

8 years ago

5.0.8

8 years ago

5.0.7

8 years ago

5.0.6

8 years ago

5.0.5

8 years ago

5.0.4

8 years ago

5.0.3

8 years ago

5.0.1

8 years ago

5.0.0

8 years ago

4.0.7

8 years ago

4.0.6

8 years ago

4.0.5

8 years ago

4.0.4

8 years ago

4.0.3

8 years ago

4.0.2

8 years ago

4.0.1

8 years ago

4.0.0

8 years ago

3.0.0

8 years ago

2.2.2

9 years ago

2.2.1

9 years ago

2.2.0

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago