8.1.2 • Published 2 years ago

bpk-component-nudger v8.1.2

Weekly downloads
409
License
Apache-2.0
Repository
github
Last release
2 years ago

bpk-component-nudger

Backpack nudger component.

Installation

npm install bpk-component-nudger --save-dev

Usage

BpkNudger

import React, { Component } from 'react';
import BpkLabel from 'bpk-component-label';
import BpkNudger from 'bpk-component-nudger';

class App extends Component {
  constructor() {
    super();

    this.state = {
      value: 1,
    };
  }

  handleChange = value => {
    this.setState({ value });
  };

  render() {
    return (
      <div>
        <BpkLabel htmlFor="my-nudger">Number of passengers</BpkLabel>
        <BpkNudger
          id="my-nudger"
          min={1}
          max={10}
          value={this.state.value}
          onChange={this.handleChange}
          decreaseButtonLabel="Decrease"
          increaseButtonLabel="Increase"
        />
      </div>
    );
  }
}

BpkConfigurableNudger

import React, { Component } from 'react';
import BpkLabel from 'bpk-component-label';
import { BpkConfigurableNudger } from 'bpk-component-nudger';

const options = ['economy', 'premium', 'business', 'first'];

const compareValues = (value1, value2) => {
    const [aIndex, bIndex] = [options.indexOf(value1), options.indexOf(value2)];
    return aIndex - bIndex;
  };

const incrementValue = currentValue => {
    const [aIndex] = [options.indexOf(currentValue) + 1];
    return options[aIndex];
  };

const decrementValue = currentValue => {
    const [aIndex] = [options.indexOf(currentValue) - 1];
    return options[aIndex];
  };

const formatValue = currentValue => currentValue.toString();

class App extends Component {
  constructor() {
    super();

    this.state = {
      value: 1,
    };
  }

  handleChange = value => {
    this.setState({ value });
  };

  render() {
    return (
      <div>
        <BpkLabel htmlFor="nudger">Number of passengers</BpkLabel>
        <BpkConfigurableNudger
          id="nudger"
          min="economy"
          max="first"
          value={this.state.value}
          onChange={this.handleChange}
          decreaseButtonLabel="Decrease"
          increaseButtonLabel="Increase"
          compareValues={compareValues}
          incrementValue={incrementValue}
          decrementValue={decrementValue}
          formatValue={formatValue}
        />
      </div>
    );
  }
}

Props

BpkNudger

PropertyPropTypeRequiredDefault Value
idstringtrue-
decreaseButtonLabelstringtrue-
increaseButtonLabelstringtrue-
maxnumbertrue-
minnumbertrue-
onChangefunctrue-
valuenumbertrue-
classNamestringfalsenull
buttonTypeoneOf('secondary', 'secondaryOnDark')falsesecondary

BpkConfigurableNudger

PropertyPropTypeRequiredDefault Value
idstringtrue-
decreaseButtonLabelstringtrue-
increaseButtonLabelstringtrue-
maxnumbertrue-
minnumbertrue-
onChangefunctrue-
valuenumbertrue-
compareValuesfunctrue-
incrementValuefunctrue-
decrementValuefunctrue-
formatValuefunctrue-
classNamestringfalsenull
inputClassNamestringfalsenull
buttonTypeoneOf('secondary', 'secondaryOnDark')falsesecondary

compareValues

Given a and b:

  • If a is less than b then compareValues(a, b) should return a value less than 0
  • If a and b are equal then compareValues(a, b) should return exactly 0
  • If a is greater than b then compareValues(a, b) should return a value greater than 0

We use this along with the min and max values to determine when we should disable the increment and decrement buttons. This is inspired by the compareFunction in Array.prototype.sort

For integer numbers the following is a correct implementation const compareValues = (a: number, b: number): number => a - b;

incrementValue & decrementValue

Functions that handle the incrementing or decrementing of the current selected value.

formatValue

A simple function that will allow you to set the format of the display value e.g. local dates or times.

Theme Props

Same as secondary button

8.1.0

2 years ago

8.1.2

2 years ago

8.1.1

2 years ago

8.0.5

2 years ago

8.0.6

2 years ago

7.0.8

2 years ago

7.0.7

2 years ago

7.0.6

2 years ago

7.0.5

2 years ago

8.0.4

2 years ago

8.0.1

2 years ago

8.0.0

2 years ago

8.0.3

2 years ago

8.0.2

2 years ago

7.0.4

2 years ago

7.0.3

2 years ago

7.0.2

2 years ago

7.0.1

2 years ago

6.0.3

2 years ago

6.0.4

2 years ago

7.0.0

2 years ago

5.1.2

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

6.0.2

2 years ago

5.1.1

2 years ago

5.0.7

2 years ago

5.0.6

2 years ago

5.0.5

2 years ago

5.0.4

2 years ago

5.0.3

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

5.1.0

2 years ago

4.0.19

2 years ago

4.0.21

2 years ago

4.0.20

2 years ago

4.0.23

2 years ago

4.0.22

2 years ago

4.0.16

2 years ago

4.0.18

2 years ago

4.0.17

2 years ago

4.0.15

3 years ago

4.0.14

3 years ago

4.0.13

3 years ago

4.0.12

3 years ago

4.0.11

3 years ago

4.0.10

3 years ago

4.0.9

3 years ago

4.0.8

3 years ago

4.0.7

3 years ago

4.0.6

3 years ago

4.0.5

3 years ago

4.0.4

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

2.2.5

3 years ago

2.2.7

3 years ago

3.0.0

3 years ago

2.2.4

3 years ago

2.2.3

3 years ago

2.2.2

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.125

3 years ago

2.0.124

3 years ago

2.0.123

3 years ago

2.0.122

3 years ago

2.0.121

3 years ago

2.0.120

3 years ago

2.0.119

3 years ago

2.0.118

3 years ago

2.0.117

3 years ago

2.0.116

3 years ago

2.0.115

3 years ago

2.0.114

3 years ago

2.0.113

3 years ago

2.0.112

3 years ago

2.0.111

3 years ago

2.0.110

3 years ago

2.0.109

3 years ago

2.0.108

3 years ago

2.0.107

3 years ago

2.0.106

3 years ago

2.0.105

3 years ago

2.0.104

3 years ago

2.0.103

3 years ago

2.0.102

3 years ago

2.0.101

3 years ago

2.0.100

3 years ago

2.0.99

3 years ago

2.0.98

3 years ago

2.0.97

3 years ago

2.0.96

3 years ago

2.0.95

3 years ago

2.0.94

4 years ago

2.0.93

4 years ago

2.0.92

4 years ago

2.0.91

4 years ago

2.0.90

4 years ago

2.0.89

4 years ago

2.0.88

4 years ago

2.0.87

4 years ago

2.0.86

4 years ago

2.0.85

4 years ago

2.0.84

4 years ago

2.0.83

4 years ago

2.0.82

4 years ago

2.0.81

4 years ago

2.0.80

4 years ago

2.0.79

4 years ago

2.0.78

4 years ago

2.0.77

4 years ago

2.0.76

4 years ago

2.0.74

4 years ago

2.0.73

4 years ago

2.0.72

4 years ago

2.0.71

4 years ago

2.0.70

4 years ago

2.0.69

4 years ago

2.0.68

4 years ago

2.0.67-css.0

4 years ago

2.0.67

4 years ago

2.0.65-css.0

4 years ago

2.0.66-css.0

4 years ago

2.0.66

4 years ago

2.0.65

4 years ago

2.0.64-css.0

4 years ago

2.0.64

4 years ago

2.0.63

4 years ago

2.0.63-css.0

4 years ago

2.0.62-css.0

4 years ago

2.0.61-css.0

4 years ago

2.0.62

4 years ago

2.0.61

4 years ago

2.0.60-css.0

4 years ago

2.0.60

4 years ago

2.0.59-css.0

4 years ago

2.0.59

4 years ago

2.0.58-css.0

4 years ago

2.0.58

4 years ago

2.0.57

4 years ago

2.0.57-css.0

4 years ago

2.0.56

4 years ago

2.0.56-css.0

4 years ago

2.0.55-css.0

4 years ago

2.0.55

4 years ago

2.0.54-css.0

4 years ago

2.0.54

4 years ago

2.0.53-css.0

4 years ago

2.0.53

4 years ago

2.0.52-css.0

4 years ago

2.0.52

4 years ago

2.0.51

4 years ago

2.0.51-css.0

4 years ago

2.0.49-css.0

4 years ago

2.0.50-css.0

4 years ago

2.0.49

4 years ago

2.0.50

4 years ago

2.0.48-css.0

4 years ago

2.0.48

4 years ago

2.0.47-css.0

4 years ago

2.0.47

4 years ago

2.0.46-css.0

4 years ago

2.0.46

4 years ago

2.0.45

4 years ago

2.0.45-css.0

4 years ago

2.0.44

4 years ago

2.0.43

4 years ago

2.0.42-css.0

4 years ago

2.0.42

4 years ago

2.0.41-css.0

4 years ago

2.0.41

4 years ago

2.0.40

4 years ago

2.0.40-css.0

4 years ago

2.0.39-css.0

4 years ago

2.0.39

4 years ago

2.0.38

4 years ago

2.0.38-css.0

4 years ago

2.0.37-css.0

4 years ago

2.0.37

4 years ago

2.0.36-css.0

4 years ago

2.0.36

4 years ago

2.0.35-css.0

4 years ago

2.0.35

4 years ago

2.0.34-css.0

4 years ago

2.0.34

4 years ago

2.0.33

4 years ago

2.0.33-css.0

4 years ago

2.0.32-css.0

4 years ago

2.0.32

4 years ago

2.0.31

4 years ago

2.0.30

4 years ago

2.0.29

4 years ago

2.0.29-css.0

4 years ago

2.0.28-css.0

4 years ago

2.0.28

4 years ago

2.0.27-css.0

4 years ago

2.0.27

4 years ago

2.0.26-css.0

4 years ago

2.0.26

4 years ago

2.0.25-css.0

4 years ago

2.0.25

4 years ago

2.0.24-css.0

4 years ago

2.0.24

4 years ago

2.0.23-css.0

4 years ago

2.0.23

4 years ago

2.0.22-css.0

4 years ago

2.0.22

4 years ago

2.0.21-css.0

4 years ago

2.0.21

4 years ago

2.0.20

4 years ago

2.0.20-css.0

4 years ago

2.0.19-css.0

4 years ago

2.0.19

4 years ago

2.0.18-css.0

5 years ago

2.0.18

5 years ago

2.0.17-css.0

5 years ago

2.0.17

5 years ago

2.0.16-css.0

5 years ago

2.0.16

5 years ago

2.0.15-css.0

5 years ago

2.0.15

5 years ago

2.0.13-css.0

5 years ago

2.0.13

5 years ago

2.0.12-css.0

5 years ago

2.0.12

5 years ago

2.0.11-css.0

5 years ago

2.0.11

5 years ago

2.0.10-css.0

5 years ago

2.0.10

5 years ago

2.0.9-css.0

5 years ago

2.0.9

5 years ago

2.0.8-css.0

5 years ago

2.0.8

5 years ago

2.0.7-css.0

5 years ago

2.0.7

5 years ago

2.0.6-css.0

5 years ago

2.0.6

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.4-beta.25

5 years ago

2.0.4-alpha.29

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.1-alpha.27

5 years ago

2.0.0

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.2-alpha.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.20

5 years ago

1.2.19

5 years ago

1.2.18

5 years ago

1.2.17

5 years ago

1.2.16

5 years ago

1.2.15

5 years ago

1.2.14

5 years ago

1.2.13

5 years ago

1.2.12

5 years ago

1.2.11

5 years ago

1.2.11-alpha.1

5 years ago

1.2.10

5 years ago

1.2.9

5 years ago

1.2.8

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.5-beta.2

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.145

5 years ago

1.0.144-alpha.1

5 years ago

1.0.143

5 years ago

1.0.142

5 years ago

1.0.140-alpha.41

5 years ago

1.0.141

5 years ago

1.0.140

5 years ago

1.0.140-alpha.37

5 years ago

1.0.140-alpha.18

5 years ago

1.0.140-alpha.9

5 years ago

1.0.139

5 years ago

1.0.138

5 years ago

1.0.137

5 years ago

1.0.136

5 years ago

1.0.135

5 years ago

1.0.134

5 years ago

1.0.134-alpha.1

5 years ago

1.0.133

5 years ago

1.0.132

5 years ago

1.0.131

5 years ago

1.0.130

5 years ago

1.0.129

5 years ago

1.0.129-alpha.1

5 years ago

1.0.128

5 years ago

1.0.128-alpha.9

5 years ago

1.0.127

5 years ago

1.0.126-alpha.19

5 years ago

1.0.126

5 years ago

1.0.125

5 years ago

1.0.124

5 years ago

1.0.123

5 years ago

1.0.122

5 years ago

1.0.121

5 years ago

1.0.120

5 years ago

1.0.119

5 years ago

1.0.118

5 years ago

1.0.118-alpha.1

5 years ago

1.0.117

5 years ago

1.0.116

5 years ago

1.0.116-alpha.1

5 years ago

1.0.115

5 years ago

1.0.114

5 years ago

1.0.113

5 years ago

1.0.112

5 years ago

1.0.111

5 years ago

1.0.110

5 years ago

1.0.109

5 years ago

1.0.108

5 years ago

1.0.108-alpha.5

5 years ago

1.0.107

5 years ago

1.0.106

5 years ago

1.0.105

5 years ago

1.0.104

5 years ago

1.0.103

5 years ago

1.0.102

5 years ago

1.0.101

5 years ago

1.0.101-alpha.3

5 years ago

1.0.100

5 years ago

1.0.100-beta.1

5 years ago

1.0.99

5 years ago

1.0.98

6 years ago

1.0.97

6 years ago

1.0.96

6 years ago

1.0.95

6 years ago

1.0.94

6 years ago

1.0.93

6 years ago

1.0.92-alpha.12

6 years ago

1.0.91

6 years ago

1.0.90

6 years ago

1.0.89

6 years ago

1.0.88

6 years ago

1.0.87

6 years ago

1.0.87-alpha.2

6 years ago

1.0.86

6 years ago

1.0.85

6 years ago

1.0.84

6 years ago

1.0.83

6 years ago

1.0.82

6 years ago

1.0.81

6 years ago

1.0.80

6 years ago

1.0.79

6 years ago

1.0.78

6 years ago

1.0.77

6 years ago

1.0.76

6 years ago

1.0.75

6 years ago

1.0.74

6 years ago

1.0.73

6 years ago

1.0.72

6 years ago

1.0.71

6 years ago

1.0.70

6 years ago

1.0.69

6 years ago

1.0.68

6 years ago

1.0.67

6 years ago

1.0.66

6 years ago

1.0.65

6 years ago

1.0.64

6 years ago

1.0.63

6 years ago

1.0.62

6 years ago

1.0.61

6 years ago

1.0.60

6 years ago

1.0.59

6 years ago

1.0.58

6 years ago

1.0.57

6 years ago

1.0.56

6 years ago

1.0.55

6 years ago

1.0.54

6 years ago

1.0.53

6 years ago

1.0.52

6 years ago

1.0.51

6 years ago

1.0.50

6 years ago

1.0.49

6 years ago

1.0.48

6 years ago

1.0.47

6 years ago

1.0.46

6 years ago

1.0.45

6 years ago

1.0.44

6 years ago

1.0.43

6 years ago

1.0.42

6 years ago

1.0.41

6 years ago

1.0.40

6 years ago

1.0.39

6 years ago

1.0.38

6 years ago

1.0.37

6 years ago

1.0.36

6 years ago

1.0.35

6 years ago

1.0.34

7 years ago

1.0.33

7 years ago

1.0.32

7 years ago

1.0.31

7 years ago

1.0.30

7 years ago

1.0.29

7 years ago

1.0.28

7 years ago

1.0.27

7 years ago

1.0.26

7 years ago

1.0.25

7 years ago

1.0.24

7 years ago

1.0.23

7 years ago

1.0.22

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.14

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.30

7 years ago

0.0.29

7 years ago

0.0.28

7 years ago

0.0.27

7 years ago

0.0.26

7 years ago

0.0.25

7 years ago

0.0.24

7 years ago

0.0.23

7 years ago

0.0.22

7 years ago

0.0.21

7 years ago

0.0.20

7 years ago

0.0.19

7 years ago

0.0.18

7 years ago

0.0.17

7 years ago

0.0.16

7 years ago

0.0.15

7 years ago

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago