0.1.29 • Published 5 years ago
@belong-ui/popover v0.1.29
Basic Popover Usage:
The Popover is a core UI component used to build UI elements like Dropdowns, SelectBoxes, Tooltip etc. It uses compound components and Popper.js library under the Hood.
In this example we have built a simple Select Dropdown.
const PopoverTarget = Popover.TARGET;
const PopoverContent = Popover.CONTENT;
const PopoverArrow = Popover.ARROW;
const PopoverOverlay = Popover.OVERLAY;
initialState = {
isDropdownOpen: false,
selectedItem: null,
};
const suggestions = ['apple', 'orange', 'banana'];
<div className="styleguidist__popover-wrap">
<Popover
className="styleguidist__popover"
placement="bottom-end"
>
<div className="styleguidist__popover-text" onClick={() => { setState({ isDropdownOpen: true }) }}>
{state.selectedItem ? state.selectedItem : 'Select Fruit'}
</div>
<PopoverTarget>
<div className="styleguidist__popover-dropdown-icon" onClick={() => { setState({ isDropdownOpen: true }) }}>
{state.isDropdownOpen ? <i className="fa fa-chevron-up"></i> : <i className="fa fa-chevron-down"></i>}
</div>
</PopoverTarget>
<PopoverContent
isOpen={state.isDropdownOpen}
>
<PopoverArrow />
<div className="styleguidist__popover-dropdown">
{
suggestions.map((suggestion) => (
<p
className="styleguidist__popover-dropdown-item"
onClick={() => { setState({ selectedItem: suggestion }); }}
>
{suggestion}
</p>
))
}
</div>
</PopoverContent>
<PopoverOverlay
isOpen={state.isDropdownOpen}
onClick={() => { setState({ isDropdownOpen: false }); }}
/>
</Popover>
</div>
Without Arrow. (Can be used with Input Elements).
const PopoverTarget = Popover.TARGET;
const PopoverContent = Popover.CONTENT;
const PopoverOverlay = Popover.OVERLAY;
initialState = {
isDropdownOpen: false,
selectedItem: null,
};
const suggestions = ['apple', 'orange', 'banana'];
<div className="styleguidist__popover-wrap">
<Popover
className="styleguidist__popover styleguidist__popover--input"
placement="bottom-start"
>
<PopoverTarget>
<div className="styleguidist__popover-input-wrap" onClick={() => { setState({ isDropdownOpen: true }) }}>
<div className="styleguidist__popover-text styleguidist__popover-text--input">
{state.selectedItem ? state.selectedItem : 'Edit Fruit'}
</div>
<div className="styleguidist__popover-dropdown-icon">
<i className="fa fa-pencil"></i>
</div>
</div>
</PopoverTarget>
<PopoverContent
isOpen={state.isDropdownOpen}
>
<div className="styleguidist__popover-dropdown">
{
suggestions.map((suggestion) => (
<p
className="styleguidist__popover-dropdown-item"
onClick={() => { setState({ selectedItem: suggestion }); }}
>
{suggestion}
</p>
))
}
</div>
</PopoverContent>
<PopoverOverlay
isOpen={state.isDropdownOpen}
onClick={() => { setState({ isDropdownOpen: false }); }}
/>
</Popover>
</div>
0.1.29
5 years ago
0.1.28
5 years ago
0.1.27
5 years ago
0.1.26
5 years ago
0.1.25
5 years ago
0.1.24
5 years ago
0.1.23
5 years ago
0.1.22
5 years ago
0.1.21
5 years ago
0.1.20
5 years ago
0.1.19
5 years ago
0.1.18
5 years ago
0.1.17
5 years ago
0.1.16
5 years ago
0.1.15
5 years ago
0.1.14
5 years ago
0.1.13
5 years ago
0.1.12
6 years ago
0.1.11
6 years ago
0.1.10
6 years ago
0.1.9
6 years ago
0.1.8
6 years ago
0.1.7
6 years ago
0.1.6
6 years ago
0.1.5
6 years ago
0.1.4
6 years ago
0.1.3
6 years ago
0.1.2
6 years ago
0.1.1
7 years ago
0.1.0
7 years ago
0.0.16
7 years ago
0.0.15
8 years ago
0.0.14
8 years ago
0.0.13
8 years ago
0.0.12
8 years ago
0.0.11
8 years ago
0.0.10
8 years ago
0.0.8
8 years ago
0.0.7
8 years ago
0.0.6
8 years ago
0.0.5
8 years ago