6.0.0 • Published 6 years ago

cf-component-dropdown v6.0.0

Weekly downloads
243
License
BSD-3-Clause
Repository
-
Last release
6 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

6 years ago

5.2.28

6 years ago

5.2.27

6 years ago

5.2.26

6 years ago

5.2.25

6 years ago

5.2.24

6 years ago

5.2.23

6 years ago

5.2.22

6 years ago

5.2.21

6 years ago

5.2.20

6 years ago

5.2.19

6 years ago

5.2.18

6 years ago

5.2.17

6 years ago

5.2.16

6 years ago

5.2.15

6 years ago

5.2.14

6 years ago

5.2.13

6 years ago

5.2.12

6 years ago

5.2.11

6 years ago

5.2.10

6 years ago

5.2.9

6 years ago

5.2.8

6 years ago

5.2.7

6 years ago

5.2.6

6 years ago

5.2.5

6 years ago

5.2.4

6 years ago

5.2.3

6 years ago

5.2.2

6 years ago

5.2.1

6 years ago

5.2.0

6 years ago

5.1.0

6 years ago

5.0.14

6 years ago

5.0.13

6 years ago

5.0.12

6 years ago

5.0.11

6 years ago

5.0.10

6 years ago

5.0.9

6 years ago

5.0.8

6 years ago

5.0.7

7 years ago

5.0.6

7 years ago

5.0.5

7 years ago

5.0.4

7 years ago

5.0.3

7 years ago

5.0.1

7 years ago

5.0.0

7 years ago

4.0.7

7 years ago

4.0.6

7 years ago

4.0.5

7 years ago

4.0.4

7 years ago

4.0.3

7 years ago

4.0.2

7 years ago

4.0.1

7 years ago

4.0.0

7 years ago

3.0.0

7 years ago

2.2.2

7 years ago

2.2.1

7 years ago

2.2.0

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago