suitcss-components-dropdown v0.1.0
SUIT Dropdown
A SUIT component for dropdowns
Read more about SUIT's design principles.
Usage
<div class="Dropdown is-expanded">
<button
aria-controls="dd-1-menu"
aria-expanded="true"
aria-haspopup="true"
class="Dropdown-toggle"
id="dd-1-toggle"
>
dropdown
</button>
<ul
aria-labelledby="dd-1-toggle"
aria-hidden="false"
class="Dropdown-menu"
id="dd-1-menu"
role="menu"
>
<li class="Dropdown-item" role="menuitem">
Item
</li>
<li class="Dropdown-item" role="menuitem">
<a class="Dropdown-link" href="">Link Item</a>
</li>
</ul>
</div>See the test page for more examples.
Dropdown-menu toggling
Toggle the is-expanded state class on Dropdown to show/hide the Dropdown-menu.
Accessibility
For better accessibility it is recommended to use aria attributes and role like in the examples.
You can use a tiny script like a11y-toggle or write your own to toggle the Dropdown-menu while preserving accessibility.
When writing a JavaScript component for the Dropdown it is highly recommended to implement basic keyboard navigation and other common accessibility features.
Installation
Available classes
Dropdown- The core classDropdown-toggle– The element to toggle the dropdown menu, not styled.Dropdown-menu- The dropdown menuDropdown-item- A dropdown menu itemDropdown-link- A dropdown menu link
Modifiers
Dropdown-menu--inversePlacement- Inverts the dropdown menu position by placing it on the right or left if any anchestor has[dir="rtl"]Dropdown-menu--upPlacement– Shows the dropdown menu at the topDropdown-item--separated– Separates theDropdown-itemby adding aborder-topto it
State
is-expanded– Can be set onDropdownto show theDropdown-menuis-active– Can be set onDropdown-itemandDropdown-linkto mark them as active
Configurable variables
--Dropdown-menu-backgroundColor--Dropdown-menu-borderColor--Dropdown-menu-borderRadius--Dropdown-menu-boxShadow--Dropdown-menu-zIndex--Dropdown-item-borderColor--Dropdown-item-padding-horizontal--Dropdown-item-padding-vertical--Dropdown-link-color--Dropdown-link-onHover-backgroundColor--Dropdown-link-onHover-color
Testing
Install Node (comes with npm).
npm installTo generate a build:
npm run buildTo generate the testing build.
npm run build-testBasic visual tests are in test/index.html.
To pre-process:
npm run preprocessTo pre-process the tests:
npm run preprocess-testBrowser support
- Google Chrome (latest)
- Opera (latest)
- Firefox 4+
- Safari 5+
- Internet Explorer 8+
10 years ago