Simple Example
Click me
Item 1
Item 2
<nile-dropdown>
<nile-button slot="trigger" caret >Click me to open the dropdown</nile-button>
<nile-menu>
<nile-menu-item>Item 1</nile-menu-item>
<nile-menu-item>Item 2</nile-menu-item>
</nile-menu>
</nile-dropdown>
Click me
I am Random Text Just Like Nothing
Please Select Above Text
<style>
.custom-dropdown::part(panel){
width:550px;
}
</style>
<nile-dropdown class="custom-dropdown">
<nile-button slot="trigger" caret >Click me</nile-button>
<nile-menu>
<nile-menu-item>I am Random Text Just Like Nothing</nile-menu-item>
<nile-menu-item>Please Select Above Text</nile-menu-item>
</nile-menu>
</nile-dropdown>
Add Footer Slot
Actions
Menu Item 1
Menu Item 2
Menu Item 3
Menu Item 4
+ Add Menu Item 5
<nile-dropdown>
<nile-button slot="trigger" caret>Actions</nile-button>
<nile-menu searchEnabled="true">
<nile-menu-item>Menu Item 1</nile-menu-item>
<nile-menu-item>Menu Item 2</nile-menu-item>
<nile-menu-item>Menu Item 3</nile-menu-item>
<nile-menu-item>Menu Item 4</nile-menu-item>
<span slot="menu__footer" style="margin: auto 0;">+ Add Menu Item 5</span>
</nile-menu>
</nile-dropdown>
Nested Dropdown
Select Country
United States
California
Los Angeles
Hollywood
Beverly Hills
Santa Monica
San Francisco
Downtown
Mission District
Castro
New York
New York City
Manhattan
Brooklyn
Queens
Albany
Downtown Albany
Pine Hills
Center Square
Canada
Ontario
Toronto
Downtown Toronto
Scarborough
North York
Ottawa
ByWard Market
Glebe
Westboro
British Columbia
VanCouver
Downtown Vancouver
Kitsilano
Gastown
Victoria
Inner Harbour
James Bay
Fairfield
United Kingdom
England
London
Westminster
Camden
Kensington
Manchester
City Centre
Northern Quarter
Deansgate
Scotland
Edinburgh
Old Town
New Town
Leith
Galsgow
City Centre
West End
Merchant City
India
Karnataka
Banglore
Koramangala
Indiranagar
Whitefield
Mysore
City Centre
Gokulam
Hebbal
Maharashtra
Mumbai
Bandra
Andheri
Colaba
Pune
Koregaon Park
Baner
Kothrud
<nile-dropdown stay-open-on-select>
<nile-button name="user" slot="trigger">Select Country</nile-button>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">United States <nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">California<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Los Angeles <nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Hollywood</nile-menu-item>
<nile-menu-item>Beverly Hills</nile-menu-item>
<nile-menu-item>Santa Monica</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">San Francisco<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Downtown</nile-menu-item>
<nile-menu-item>Mission District</nile-menu-item>
<nile-menu-item>Castro</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">New York<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">New York City<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Manhattan</nile-menu-item>
<nile-menu-item>Brooklyn</nile-menu-item>
<nile-menu-item>Queens</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Albany<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Downtown Albany</nile-menu-item>
<nile-menu-item>Pine Hills</nile-menu-item>
<nile-menu-item>Center Square</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Canada<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Ontario<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Toronto<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Downtown Toronto</nile-menu-item>
<nile-menu-item>Scarborough</nile-menu-item>
<nile-menu-item>North York</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Ottawa<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>ByWard Market</nile-menu-item>
<nile-menu-item>Glebe</nile-menu-item>
<nile-menu-item>Westboro</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">British Columbia<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">VanCouver<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Downtown Vancouver</nile-menu-item>
<nile-menu-item>Kitsilano</nile-menu-item>
<nile-menu-item>Gastown</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Victoria<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Inner Harbour</nile-menu-item>
<nile-menu-item>James Bay</nile-menu-item>
<nile-menu-item>Fairfield</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">United Kingdom<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">England<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">London<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Westminster</nile-menu-item>
<nile-menu-item>Camden</nile-menu-item>
<nile-menu-item>Kensington</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Manchester<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>City Centre</nile-menu-item>
<nile-menu-item>Northern Quarter</nile-menu-item>
<nile-menu-item>Deansgate</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Scotland<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Edinburgh<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Old Town</nile-menu-item>
<nile-menu-item>New Town</nile-menu-item>
<nile-menu-item>Leith</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Galsgow<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>City Centre</nile-menu-item>
<nile-menu-item>West End</nile-menu-item>
<nile-menu-item>Merchant City</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">India<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Karnataka<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Banglore<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Koramangala</nile-menu-item>
<nile-menu-item>Indiranagar</nile-menu-item>
<nile-menu-item>Whitefield</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Mysore<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>City Centre</nile-menu-item>
<nile-menu-item>Gokulam</nile-menu-item>
<nile-menu-item>Hebbal</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Maharashtra<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Mumbai<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Bandra</nile-menu-item>
<nile-menu-item>Andheri</nile-menu-item>
<nile-menu-item>Colaba</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
<nile-menu-item>
<nile-dropdown hoist placement="right-start" stay-open-on-select>
<span slot="trigger">Pune<nile-icon name="arrowright"></nile-icon></span>
<nile-menu>
<nile-menu-item>Koregaon Park</nile-menu-item>
<nile-menu-item>Baner</nile-menu-item>
<nile-menu-item>Kothrud</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
</nile-menu-item>
</nile-menu>
</nile-dropdown>
Emits
Name |
Description |
(nile-select) |
Emitted when a menu item is selected. |
(nile-search-value) |
Emits the value from the sticky nile input when searchEnabled and customSearch is true.
|
Slots
Name |
Description |
(default) |
The dropdown’s main content. |
trigger |
The dropdown’s trigger, usually a <nile-button> element. |
base |
The component’s base wrapper. |
trigger |
The container that wraps the trigger. |
panel |
The panel that gets shown when the dropdown is open. |
Properties
Name |
Description |
Type |
Default Value |
open |
You can toggle this attribute to show and hide the dropdown. |
Boolean |
False |
placement |
The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel inside of the viewport |
'top'
| 'top-start'
| 'top-end'
| 'bottom'
| 'bottom-start'
| 'bottom-end'
| 'right'
| 'right-start'
| 'right-end'
| 'left'
| 'left-start'
| 'left-end' |
bottom-start |
disabled |
Disables the dropdown so the panel will not open. |
Boolean |
False |
searchEnabled |
To have a sticky input box where you can filter the menu items till one hierarchy |
Boolean |
False |
customSearch |
First Enable searchEnabled then if you want to have a emit of searc text you can use this |
Boolean |
False |
stay-open-on-select |
By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for dropdowns that allow for multiple interactions.
| Boolean |
False |
distance |
The distance in pixels from which to offset the panel away from its trigger.
| Number |
0 |
skidding |
The distance in pixels from which to offset the panel along its trigger.
| Number |
0 |
hoist |
Enable this option to prevent the panel from being clipped when the component is placed inside a container with
`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios
| Boolean |
false |
Dependencie
This component automatically imports the following dependencies.
nile-popup