Dropdown
This is a pass through component from React-Bootstrap.
See React-Bootstrap for documentation.
Basic Usage
Any Paragon component or export may be added to the code example.
<DropdownButton id="dropdown-basic-button" title="Dropdown button"><Dropdown.Item href="#/action-1">Action</Dropdown.Item><Dropdown.Item href="#/action-2">Another action</Dropdown.Item><Dropdown.Item href="#/action-3">Something else</Dropdown.Item></DropdownButton>
Advanced Usage
Any Paragon component or export may be added to the code example.
<><Dropdown onToggle={(isOpen, event, metadata) => console.log('debug', 'onToggle', { isOpen, event, metadata })} className="mb-3"><Dropdown.Toggle variant="success" id="dropdown-basic-1">Dropdown Button</Dropdown.Toggle><Dropdown.Menu><Dropdown.Header>Header</Dropdown.Header><Dropdown.Item>Action</Dropdown.Item><Dropdown.Item>Another action</Dropdown.Item><Dropdown.Divider /><Dropdown.Item>Something else</Dropdown.Item></Dropdown.Menu></Dropdown><Dropdown variant="dark" onToggle={(isOpen, event, metadata) => console.log('debug', 'onToggle', { isOpen, event, metadata })} className="mb-3"><Dropdown.Toggle variant="success" id="dropdown-basic-2">Dark Variant</Dropdown.Toggle><Dropdown.Menu><Dropdown.Header>Header</Dropdown.Header><Dropdown.Item>Action</Dropdown.Item><Dropdown.Item>Another action</Dropdown.Item><Dropdown.Divider /><Dropdown.Item>Something else</Dropdown.Item></Dropdown.Menu></Dropdown><Dropdown autoClose={false} onToggle={(isOpen, event, metadata) => console.log('debug', 'onToggle', { isOpen, event, metadata })} className="mb-3"><Dropdown.Toggle variant="success" id="dropdown-basic-2">autoClose=false</Dropdown.Toggle><Dropdown.Menu><Dropdown.Header>Header</Dropdown.Header><Dropdown.Item>Action</Dropdown.Item><Dropdown.Item>Another action</Dropdown.Item><Dropdown.Divider /><Dropdown.Item>Something else</Dropdown.Item></Dropdown.Menu></Dropdown><Dropdown autoClose="inside" onToggle={(isOpen, event, metadata) => console.log('debug', 'onToggle', { isOpen, event, metadata })} className="mb-3"><Dropdown.Toggle variant="success" id="dropdown-basic-3">autoClose=inside</Dropdown.Toggle><Dropdown.Menu><Dropdown.Header>Header</Dropdown.Header><Dropdown.Item>Action</Dropdown.Item><Dropdown.Item>Another action</Dropdown.Item><Dropdown.Divider /><Dropdown.Item>Something else</Dropdown.Item></Dropdown.Menu></Dropdown><Dropdown autoClose="outside" onToggle={(isOpen, event, metadata) => console.log('debug', 'onToggle', { isOpen, event, metadata })} className="mb-3"><Dropdown.Toggle variant="success" id="dropdown-basic-4">autoClose=outside</Dropdown.Toggle><Dropdown.Menu><Dropdown.Header>Header</Dropdown.Header><Dropdown.Item>Action</Dropdown.Item><Dropdown.Item>Another action</Dropdown.Item><Dropdown.Divider /><Dropdown.Item>Something else</Dropdown.Item></Dropdown.Menu></Dropdown></>
With IconButton
You can use Dropdown.Toggle
with IconButton component, note that all props you provide to Dropdown.Toggle
will get passed down to the IconButton
.
Any Paragon component or export may be added to the code example.
<Dropdown><Dropdown.Toggleid="dropdown-toggle-with-iconbutton"as={IconButton}src={MoreVert}iconAs={Icon}variant="primary"/><Dropdown.Menu><Dropdown.Item href="#/action-1">Action</Dropdown.Item><Dropdown.Item href="#/action-2">Another action</Dropdown.Item><Dropdown.Item href="#/action-3">Something else</Dropdown.Item></Dropdown.Menu></Dropdown>
Dropdown.Deprecated
Any Paragon component or export may be added to the code example.
<Dropdown.Deprecated><Dropdown.Deprecated.Button>Search Engines</Dropdown.Deprecated.Button><Dropdown.Deprecated.Menu><Dropdown.Deprecated.Item href="https://google.com">Google</Dropdown.Deprecated.Item><Dropdown.Deprecated.Item href="https://duckduckgo.com">DuckDuckGo</Dropdown.Deprecated.Item><Dropdown.Deprecated.Item href="https://yahoo.com">Yahoo</Dropdown.Deprecated.Item></Dropdown.Deprecated.Menu></Dropdown.Deprecated>
(Deprecated) with icon element
Any Paragon component or export may be added to the code example.
<Dropdown.Deprecated><Dropdown.Deprecated.Button><Icon className="fa fa-user pr-3" alt="" />Search Engines</Dropdown.Deprecated.Button><Dropdown.Deprecated.Menu><Dropdown.Deprecated.Item href="https://google.com">Google</Dropdown.Deprecated.Item><Dropdown.Deprecated.Item href="https://duckduckgo.com">DuckDuckGo</Dropdown.Deprecated.Item><Dropdown.Deprecated.Item href="https://yahoo.com">Yahoo</Dropdown.Deprecated.Item></Dropdown.Deprecated.Menu></Dropdown.Deprecated>
(Deprecated) basic usage
Any Paragon component or export may be added to the code example.
<Dropdown.Deprecatedtitle="Search Engines"menuItems={[{label: 'Google',href: 'https://google.com',},{label: 'DuckDuckGo',href: 'https://duckduckgo.com',},{label: 'Yahoo',href: 'https://yahoo.com',},]}/>
(Deprecated) menu items as elements
Any Paragon component or export may be added to the code example.
<Dropdown.Deprecatedtitle="Search Engines"menuItems={[<a href="http://www.google.com">Google</a>,<a href="http://www.duckduckgo.com">DuckDuckGo</a>,<a href="http://www.yahoo.com">Yahoo</a>,]}/>
(Deprecated) with icon element
Any Paragon component or export may be added to the code example.
<Dropdown.Deprecatedtitle="Search Engines"iconElement={<Icon className="fa fa-user pr-3" />}menuItems={[{label: 'Google',href: 'https://google.com',},{label: 'DuckDuckGo',href: 'https://duckduckgo.com',},{label: 'Yahoo',href: 'https://yahoo.com',},]}/>
Theme Variables (SCSS)#
$dropdown-min-width: 18rem !default;$dropdown-padding-x: 0 !default;$dropdown-padding-y: .5rem !default;$dropdown-spacer: .125rem !default;$dropdown-font-size: $font-size-base !default;$dropdown-color: $body-color !default;$dropdown-bg: $white !default;$dropdown-border-color: rgba($black, .15) !default;$dropdown-border-radius: $border-radius !default;$dropdown-border-width: $border-width !default;$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;$dropdown-divider-bg: theme-color("gray", "background") !default;$dropdown-divider-margin-y: calc($spacer / 2) !default;$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;$dropdown-link-color: theme-color("gray", "dark-text") !default;$dropdown-link-hover-color: darken(theme-color("gray", "dark-text"), 5%) !default;$dropdown-link-hover-bg: $light-300 !default;$dropdown-link-active-color: $component-active-color !default;$dropdown-link-active-bg: $component-active-bg !default;$dropdown-link-disabled-color: theme-color("gray", "light-text") !default;$dropdown-item-padding-y: .25rem !default;$dropdown-item-padding-x: 1rem !default;$dropdown-header-color: theme-color("gray", "light-text") !default;$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
Props API#
- children
node
- typeDefault'a'
string
- children
node
- classNameDefaultnull
string
- children
node
- children
node
- classNameDefault'btn-light'
string
- as
elementType
DefaultButtonSpecifies the base element.
- bsPrefix
string
Default'dropdown-toggle'Overrides underlying component base CSS class name.
- id
string
|number
RequiredAn html id attribute, necessary for assistive technologies, such as screen readers.
Usage Insights#
Dropdown
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-admin-portal | 20.26.3 | 3 | |
frontend-app-discussions | 20.15.0 | 1 | |
frontend-app-learner-dashboard | 20.32.0 | 3 | |
frontend-app-learner-portal-enterprise | 20.36.0 | 5 | |
frontend-app-learning | 20.28.4 | 3 | |
frontend-app-library-authoring | 20.30.1 | 2 | |
frontend-app-profile | 20.32.0 | 1 | |
frontend-app-publisher | 20.28.5 | 1 | |
frontend-app-support-tools | 20.26.0 | 4 | |
frontend-component-header-edx | 20.32.3 | 2 | |
frontend-component-header | 20.36.0 | 2 | |
catalog-search | 19.25.1 | 2 | |
frontend-lib-content-components | 20.34.0 | 6 | |
prospectus | 20.32.3 | 2 |
DropdownButton
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-discussions | 20.15.0 | 1 | |
prospectus | 20.32.3 | 2 |
DropdownDivider
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-discussions | 20.15.0 | 1 | |
frontend-app-learner-dashboard | 20.32.0 | 4 | |
frontend-app-learner-portal-enterprise | 20.36.0 | 2 |
DropdownHeader
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-learner-dashboard | 20.32.0 | 2 | |
frontend-app-learner-portal-enterprise | 20.36.0 | 1 |
DropdownItem
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-admin-portal | 20.26.3 | 9 | |
frontend-app-discussions | 20.15.0 | 5 | |
frontend-app-learner-dashboard | 20.32.0 | 17 | |
frontend-app-learner-portal-enterprise | 20.36.0 | 11 | |
frontend-app-learning | 20.28.4 | 2 | |
frontend-app-library-authoring | 20.30.1 | 4 | |
frontend-app-profile | 20.32.0 | 2 | |
frontend-app-publisher | 20.28.5 | 1 | |
frontend-app-support-tools | 20.26.0 | 8 | |
frontend-component-header-edx | 20.32.3 | 7 | |
frontend-component-header | 20.36.0 | 8 | |
catalog-search | 19.25.1 | 5 | |
frontend-lib-content-components | 20.34.0 | 13 | |
prospectus | 20.32.3 | 3 |
DropdownMenu
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-admin-portal | 20.26.3 | 3 | |
frontend-app-discussions | 20.15.0 | 1 | |
frontend-app-learner-dashboard | 20.32.0 | 3 | |
frontend-app-learner-portal-enterprise | 20.36.0 | 5 | |
frontend-app-learning | 20.28.4 | 3 | |
frontend-app-library-authoring | 20.30.1 | 2 | |
frontend-app-profile | 20.32.0 | 1 | |
frontend-app-publisher | 20.28.5 | 1 | |
frontend-app-support-tools | 20.26.0 | 4 | |
frontend-component-header-edx | 20.32.3 | 2 | |
frontend-component-header | 20.36.0 | 2 | |
catalog-search | 19.25.1 | 2 | |
frontend-lib-content-components | 20.34.0 | 6 | |
prospectus | 20.32.3 | 2 |
DropdownToggle
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-admin-portal | 20.26.3 | 3 | |
frontend-app-discussions | 20.15.0 | 1 | |
frontend-app-learner-dashboard | 20.32.0 | 3 | |
frontend-app-learner-portal-enterprise | 20.36.0 | 5 | |
frontend-app-learning | 20.28.4 | 3 | |
frontend-app-library-authoring | 20.30.1 | 2 | |
frontend-app-profile | 20.32.0 | 1 | |
frontend-app-publisher | 20.28.5 | 1 | |
frontend-app-support-tools | 20.26.0 | 4 | |
frontend-component-header-edx | 20.32.3 | 2 | |
frontend-component-header | 20.36.0 | 2 | |
catalog-search | 19.25.1 | 2 | |
frontend-lib-content-components | 20.34.0 | 6 | |
prospectus | 20.32.3 | 2 |