8.1.2 • Published 2 years ago

bpk-component-popover v8.1.2

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

bpk-component-popover

Backpack popover component.

Installation

npm install bpk-component-popover --save-dev

Usage

import React, { Component } from 'react';
import BpkButton from 'bpk-component-button';
import BpkPopover from 'bpk-component-popover';
import BpkText from 'bpk-component-text';

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

    this.ref = React.createRef();
    this.state = {
      isOpen: false,
    };

  }

  openPopover = () => {
    this.setState({
      isOpen: true,
    });
  }

  closePopover = () => {
    this.setState({
      isOpen: false,
    });
  }

  const target = (
    <div ref={this.ref} className={'my-popover-target'}>
      <BpkButton
        onClick={this.openPopover}>
          Open
      </BpkButton>
    </div>
  )

  render() {
    return (
      <div id="popover-container">
        <BpkPopover
          id="my-popover"
          target={target}
          onClose={this.closePopover}
          isOpen={this.state.isOpen}
          label="My popover"
          closeButtonText="Close"
          renderTarget={() =>
            document.getElementById('popover-container')
          }
          closeButtonProps={{
            tabIndex: 0,
          }}
        >
          <BpkText>My popover content</BpkText>
        </BpkPopover>
      </div>
    );
  }
}

Theming: In order to theme the modal, a renderTarget needs to be supplied as a function which returns a DOM node in the scope of a BpkThemeProvider.

Props

PropertyPropTypeRequiredDefault Value
childrennodetrue-
closeButtonTextstringtrue-
idstringtrue-
isOpenbooltrue-
labelstringtrue-
onClosefunctrue-
targetelement or functrue-
closeButtonIconboolfalsetrue
closeButtonPropsobjectfalsenull
labelAsTitleboolfalsefalse
paddedboolfalsetrue
placementoneOf('top', 'right', 'bottom', 'left')false'bottom'
popperModifiersarrayOf(object)falsenull
portalClassNamestringfalsenull
portalStyleobjectfalsenull
renderTargetfuncfalsenull

In order to attach the popover to a regular DOM element, provide a function which returns it to target:

<BpkPopover
  id="my-popover"
  target={() => document.getElementById('mydiv')}
  onClose={this.closePopover}
  isOpen={this.state.isOpen}
  label="My popover"
  closeButtonText="Close"
>
  <BpkText>My popover content</BpkText>
</BpkPopover>

Prop Details

onClose

const onClose = (event, {
  source: <string>, // One of `DOCUMENT_CLICK`, `CLOSE_BUTTON`, `CLOSE_LINK`, `ESCAPE`
}) => {
  ...
}

popperModifiers

Please refer to the documentation for the underlying positioning library "Popper.js". You can achieve various behaviours such as allowing the popover to overflow the viewport etc.

target

target can be a DOM element with a ref attached to it or a function that returns a DOM element.

Theme Props

  • linkColor
  • linkHoverColor
  • linkActiveColor
  • linkVisitedColor
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

5.0.3

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

7.0.0

2 years ago

7.0.1

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

4.1.9

2 years ago

5.0.0

2 years ago

4.1.10

2 years ago

4.1.11

2 years ago

4.1.12

2 years ago

4.1.8

2 years ago

4.1.7

2 years ago

4.1.6

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.5

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.1.0

2 years ago

4.0.27

2 years ago

4.0.26

2 years ago

4.0.29

2 years ago

4.0.28

2 years ago

4.0.25

2 years ago

4.0.40

2 years ago

4.0.30

2 years ago

4.0.32

2 years ago

4.0.31

2 years ago

4.0.38

2 years ago

4.0.37

2 years ago

4.0.39

2 years ago

4.0.34

2 years ago

4.0.33

2 years ago

4.0.36

2 years ago

4.0.35

2 years ago

4.0.23

2 years ago

4.0.22

2 years ago

4.0.24

2 years ago

4.0.21

3 years ago

4.0.20

3 years ago

4.0.19

3 years ago

4.0.18

3 years ago

4.0.17

3 years ago

4.0.16

3 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.9

3 years ago

4.0.10

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.1.6

3 years ago

3.1.8

3 years ago

3.1.5

3 years ago

3.1.4

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.132

3 years ago

3.0.130

3 years ago

3.0.131

3 years ago

3.0.129

3 years ago

3.0.128

3 years ago

3.0.127

3 years ago

3.0.126

3 years ago

3.0.125

3 years ago

3.0.124

3 years ago

3.0.123

3 years ago

3.0.122

3 years ago

3.0.121

3 years ago

3.0.119

3 years ago

3.0.120

3 years ago

3.0.120-alpha.0

3 years ago

3.0.118

3 years ago

3.0.117

3 years ago

3.0.116

3 years ago

3.0.115

3 years ago

3.0.114

3 years ago

3.0.112

3 years ago

3.0.113

3 years ago

3.0.111

3 years ago

3.0.110

3 years ago

3.0.109

3 years ago

3.0.108

3 years ago

3.0.107

3 years ago

3.0.106

3 years ago

3.0.105

3 years ago

3.0.104

3 years ago

3.0.103

3 years ago

3.0.102

3 years ago

3.0.101

3 years ago

3.0.99

3 years ago

3.0.100

3 years ago

3.0.98

3 years ago

3.0.97

3 years ago

3.0.96

3 years ago

3.0.95

3 years ago

3.0.94

3 years ago

3.0.93

3 years ago

3.0.92

4 years ago

3.0.91

4 years ago

3.0.90

4 years ago

3.0.89

4 years ago

3.0.88

4 years ago

3.0.87

4 years ago

3.0.85

4 years ago

3.0.86

4 years ago

3.0.84

4 years ago

3.0.83

4 years ago

3.0.81

4 years ago

3.0.82

4 years ago

3.0.80

4 years ago

3.0.79

4 years ago

3.0.78

4 years ago

3.0.77

4 years ago

3.0.76

4 years ago

3.0.74

4 years ago

3.0.73

4 years ago

3.0.72

4 years ago

3.0.71

4 years ago

3.0.70

4 years ago

3.0.69

4 years ago

3.0.68

4 years ago

3.0.67

4 years ago

3.0.66

4 years ago

3.0.66-css.0

4 years ago

3.0.65

4 years ago

3.0.64-css.0

4 years ago

3.0.65-css.0

4 years ago

3.0.64

4 years ago

3.0.63-css.0

4 years ago

3.0.63

4 years ago

3.0.62

4 years ago

3.0.62-css.0

4 years ago

3.0.60

4 years ago

3.0.61

4 years ago

3.0.61-css.0

4 years ago

3.0.60-css.0

4 years ago

3.0.59-css.0

4 years ago

3.0.59

4 years ago

3.0.58

4 years ago

3.0.58-css.0

4 years ago

3.0.57-css.0

4 years ago

3.0.57

4 years ago

3.0.56-css.0

4 years ago

3.0.56

4 years ago

3.0.55-css.0

4 years ago

3.0.55

4 years ago

3.0.54-css.0

4 years ago

3.0.54

4 years ago

3.0.53-css.0

4 years ago

3.0.53

4 years ago

3.0.52-css.0

4 years ago

3.0.52

4 years ago

3.0.51-css.0

4 years ago

3.0.51

4 years ago

3.0.50-css.0

4 years ago

3.0.50

4 years ago

3.0.49-css.0

4 years ago

3.0.49

4 years ago

3.0.48-css.0

4 years ago

3.0.48

4 years ago

3.0.47-css.0

4 years ago

3.0.47

4 years ago

3.0.46-css.0

4 years ago

3.0.46

4 years ago

3.0.45

4 years ago

3.0.45-css.0

4 years ago

3.0.43

4 years ago

3.0.44

4 years ago

3.0.42-css.0

4 years ago

3.0.42

4 years ago

3.0.41-css.0

4 years ago

3.0.41

4 years ago

3.0.40-css.0

4 years ago

3.0.40

4 years ago

3.0.39-css.0

4 years ago

3.0.39

4 years ago

3.0.38-css.0

4 years ago

3.0.38

4 years ago

3.0.37-css.0

4 years ago

3.0.37

4 years ago

3.0.36-css.0

4 years ago

3.0.36

4 years ago

3.0.35-css.0

4 years ago

3.0.35

4 years ago

3.0.34-css.0

4 years ago

3.0.34

4 years ago

3.0.33-css.0

4 years ago

3.0.33

4 years ago

3.0.32-css.0

4 years ago

3.0.32

4 years ago

3.0.31

4 years ago

3.0.30

4 years ago

3.0.29-css.0

4 years ago

3.0.29

4 years ago

3.0.28-css.0

4 years ago

3.0.28

4 years ago

3.0.27-css.0

4 years ago

3.0.27

4 years ago

3.0.26-css.0

4 years ago

3.0.26

4 years ago

3.0.25-css.0

4 years ago

3.0.25

4 years ago

3.0.24-css.0

4 years ago

3.0.24

4 years ago

3.0.23-css.0

4 years ago

3.0.23

4 years ago

3.0.22-css.0

4 years ago

3.0.22

4 years ago

3.0.21-css.0

4 years ago

3.0.21

4 years ago

3.0.20-css.0

4 years ago

3.0.20

4 years ago

3.0.19-css.0

4 years ago

3.0.19

4 years ago

3.0.18

4 years ago

3.0.18-css.0

4 years ago

3.0.17-css.0

5 years ago

3.0.17

5 years ago

3.0.16-css.0

5 years ago

3.0.16

5 years ago

3.0.15-css.0

5 years ago

3.0.15

5 years ago

3.0.13-css.0

5 years ago

3.0.13

5 years ago

3.0.12-css.0

5 years ago

3.0.12

5 years ago

3.0.11-css.0

5 years ago

3.0.11

5 years ago

3.0.10-css.0

5 years ago

3.0.10

5 years ago

3.0.9-css.0

5 years ago

3.0.9

5 years ago

3.0.8-css.0

5 years ago

3.0.8

5 years ago

3.0.7-css.0

5 years ago

3.0.7

5 years ago

3.0.6-css.0

5 years ago

3.0.6

5 years ago

3.0.4-css.0

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.4-beta.25

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.1-alpha.27

5 years ago

3.0.0

5 years ago

2.3.2

5 years ago

2.3.2-alpha.2

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.73

5 years ago

2.2.72

5 years ago

2.2.71

5 years ago

2.2.70

5 years ago

2.2.69

5 years ago

2.2.68

5 years ago

2.2.67

5 years ago

2.2.66

5 years ago

2.2.65

5 years ago

2.2.64

5 years ago

2.2.64-alpha.1

5 years ago

2.2.63

5 years ago

2.2.62

5 years ago

2.2.61

5 years ago

2.2.59

5 years ago

2.2.58

5 years ago

2.2.58-beta.2

5 years ago

2.2.57

5 years ago

2.2.56

5 years ago

2.2.55

5 years ago

2.2.54

5 years ago

2.2.53

5 years ago

2.2.52

5 years ago

2.2.51

5 years ago

2.2.50

5 years ago

2.2.49

5 years ago

2.2.48-alpha.1

5 years ago

2.2.47

5 years ago

2.2.46

5 years ago

2.2.44-alpha.13

5 years ago

2.2.45

5 years ago

2.2.44

5 years ago

2.2.44-alpha.9

5 years ago

2.2.43

5 years ago

2.2.42

5 years ago

2.2.42-alpha.4

5 years ago

2.2.41

5 years ago

2.2.41-alpha.9

5 years ago

2.2.40

5 years ago

2.2.39

5 years ago

2.2.38

5 years ago

2.2.37

5 years ago

2.2.36

5 years ago

2.2.35

5 years ago

2.2.35-alpha.1

5 years ago

2.2.34

5 years ago

2.2.33

5 years ago

2.2.32

5 years ago

2.2.31

5 years ago

2.2.30

5 years ago

2.2.30-alpha.1

5 years ago

2.2.29

5 years ago

2.2.29-alpha.9

5 years ago

2.2.28

5 years ago

2.2.27

5 years ago

2.2.26-alpha.19

5 years ago

2.2.26

5 years ago

2.2.25

5 years ago

2.2.24

5 years ago

2.2.23

5 years ago

2.2.22

5 years ago

2.2.21

5 years ago

2.2.20

5 years ago

2.2.19

5 years ago

2.2.18

5 years ago

2.2.18-alpha.1

5 years ago

2.2.17

5 years ago

2.2.16

5 years ago

2.2.16-alpha.1

5 years ago

2.2.15

5 years ago

2.2.14

5 years ago

2.2.13

5 years ago

2.2.12

5 years ago

2.2.11

5 years ago

2.2.10

5 years ago

2.2.9

5 years ago

2.2.8

5 years ago

2.2.8-alpha.5

5 years ago

2.2.7

5 years ago

2.2.6

5 years ago

2.2.5

5 years ago

2.2.4

5 years ago

2.2.3

5 years ago

2.2.2

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.50-alpha.3

5 years ago

2.1.49

5 years ago

2.1.49-beta.1

5 years ago

2.1.48

5 years ago

2.1.47

5 years ago

2.1.46

5 years ago

2.1.45

5 years ago

2.1.44

6 years ago

2.1.43

6 years ago

2.1.42

6 years ago

2.1.41-alpha.12

6 years ago

2.1.40

6 years ago

2.1.39

6 years ago

2.1.38

6 years ago

2.1.37

6 years ago

2.1.36

6 years ago

2.1.36-alpha.2

6 years ago

2.1.35

6 years ago

2.1.34

6 years ago

2.1.33

6 years ago

2.1.32

6 years ago

2.1.31

6 years ago

2.1.30

6 years ago

2.1.29

6 years ago

2.1.28

6 years ago

2.1.27

6 years ago

2.1.26

6 years ago

2.1.25

6 years ago

2.1.23

6 years ago

2.1.22

6 years ago

2.1.21

6 years ago

2.1.20

6 years ago

2.1.19

6 years ago

2.1.18

6 years ago

2.1.17

6 years ago

2.1.16

6 years ago

2.1.15

6 years ago

2.1.14

6 years ago

2.1.13

6 years ago

2.1.12

6 years ago

2.1.11

6 years ago

2.1.10

6 years ago

2.1.9

6 years ago

2.1.8

6 years ago

2.1.7

6 years ago

2.1.6

6 years ago

2.1.5

6 years ago

2.1.4

6 years ago

2.1.3

6 years ago

2.1.2

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.9

6 years ago

2.0.8

6 years ago

2.0.7

6 years ago

2.0.6

6 years ago

2.0.5

6 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.41

6 years ago

1.2.40

6 years ago

1.2.39

6 years ago

1.2.38

6 years ago

1.2.37

6 years ago

1.2.36

6 years ago

1.2.35

6 years ago

1.2.34

7 years ago

1.2.33

7 years ago

1.2.33-beta.0

7 years ago

1.2.32

7 years ago

1.2.31

7 years ago

1.2.30

7 years ago

1.2.29

7 years ago

1.2.28

7 years ago

1.2.27

7 years ago

1.2.26

7 years ago

1.2.25

7 years ago

1.2.24

7 years ago

1.2.23

7 years ago

1.2.22

7 years ago

1.2.21

7 years ago

1.2.20

7 years ago

1.2.19

7 years ago

1.2.17

7 years ago

1.2.15

7 years ago

1.2.14

7 years ago

1.2.13

7 years ago

1.2.12

7 years ago

1.2.11

7 years ago

1.2.10

7 years ago

1.2.9

7 years ago

1.2.8

7 years ago

1.2.7

7 years ago

1.2.6

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.51

7 years ago

1.0.50

7 years ago

1.0.49

7 years ago

1.0.48

7 years ago

1.0.47

7 years ago

1.0.46

7 years ago

1.0.45

7 years ago

1.0.44

7 years ago

1.0.43

7 years ago

1.0.42

7 years ago

1.0.41

7 years ago

1.0.40

7 years ago

1.0.39

7 years ago

1.0.38

7 years ago

1.0.37

7 years ago

1.0.36

7 years ago

1.0.35

7 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.15

7 years ago

1.0.14

7 years ago

1.0.13

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.2.0

7 years ago

0.1.0

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago