Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
265e3e8
add input-dark
vdepizzol Jul 30, 2019
65bb088
add dark dropdown variation
vdepizzol Jul 30, 2019
e0d481e
include default README file for primer dropdown
vdepizzol Jul 30, 2019
14237e9
add existing dropdown stylesheet from github's css
vdepizzol Jul 30, 2019
f161e7b
whitespace meaningless change
vdepizzol Aug 5, 2019
2d0d537
Merge branch 'master' into input-dark
vdepizzol Aug 5, 2019
990634a
Apply suggestions from @shawnbot
vdepizzol Aug 8, 2019
3125d00
Merge branch 'master' into input-dark
simurai Aug 21, 2019
fcf410b
Update examples to work with doctocat
simurai Aug 21, 2019
32141dc
script/generate-bundle-readmes
simurai Aug 21, 2019
39e4272
:fire: Remove "JavaScript-powered"
simurai Aug 21, 2019
ee62c96
Fix linter
simurai Aug 21, 2019
eeea839
Merge branch 'master' into input-dark
shawnbot Aug 21, 2019
a0fb981
use role="none" for dropdown dividers
vdepizzol Sep 3, 2019
c5b1ba2
fix new bundle diff report
shawnbot Sep 4, 2019
9efaffa
Merge pull request #879 from primer/fix-bundle-size-report
shawnbot Sep 4, 2019
e5b4447
Update src/dropdowns/dropdown.scss
vdepizzol Sep 5, 2019
3739a51
Update src/dropdowns/dropdown.scss
vdepizzol Sep 5, 2019
8048e9a
move to src/product/index.scss per @shawnbot's suggestion
vdepizzol Sep 5, 2019
6964be2
create empty stats for new bundles
shawnbot Sep 5, 2019
4ee534c
rename src/dropdowns to src/dropdown
vdepizzol Sep 5, 2019
df7606e
add dropdown to product instead of core
vdepizzol Sep 5, 2019
3ad0b9f
re-run script/generate-bundle-readmes
shawnbot Sep 5, 2019
bd92767
tighten up dropdown docs front matter
shawnbot Sep 5, 2019
8217df4
status: "New release" -> "New"
shawnbot Sep 5, 2019
21798b6
wrap dropdown examples in container to make them visibles
vdepizzol Sep 5, 2019
dfe0aaf
adjust container wrap in dropdown examples
vdepizzol Sep 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
329 changes: 175 additions & 154 deletions docs/content/components/dropdown.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,9 @@
---
title: Dropdown
path: components/dropdown
status: Stable
source: 'https://github.com/github/github/tree/master/app/assets/stylesheets/components/dropdown.scss'
symbols:
[
active,
anim-scale-in,
btn-link,
dropdown,
dropdown-caret,
dropdown-divider,
dropdown-header,
dropdown-item,
dropdown-menu,
dropdown-menu-content,
dropdown-menu-e,
dropdown-menu-ne,
dropdown-menu-no-overflow,
dropdown-menu-s,
dropdown-menu-se,
dropdown-menu-sw,
dropdown-menu-w,
dropdown-signout,
octicon,
zeroclipboard-is-hover,
]
status: New
---

Dropdowns are lightweight, JavaScript-powered context menus for housing navigation and actions. They're great for instances where you don't need the full power (and code) of the select menu.
Dropdowns are lightweight context menus for housing navigation and actions. They're great for instances where you don't need the full power (and code) of the select menu.

## Basic examples

Expand All @@ -37,35 +12,39 @@ Dropdowns should be trigged by a `<button>`. **[Each dropdown menu requires a di
Using a GitHub button:

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

Using a button customized with additional utilities:

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="text-gray p-2 d-inline" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="text-gray p-2 d-inline" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

## Options
Expand All @@ -75,133 +54,175 @@ Using a button customized with additional utilities:
Align the direction of dropdown menus and their arrows with modifier classes.

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-ne
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-ne">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-top: 100px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-ne
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-ne">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-e
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-e">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-e
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-e">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-se
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-se
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-s
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-s">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px" class="d-flex flex-justify-center">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-s
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-s">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-sw
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-sw">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px" class="d-flex flex-justify-end">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-sw
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-sw">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-w
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-w">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
<div style="margin-bottom: 100px" class="d-flex flex-justify-end">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
.dropdown-w
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-w">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</details>
</div>
```

### Dividers

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li class="dropdown-divider" role="separator"></li>
<li><a class="dropdown-item" href="#url">Another item</a></li>
<li><a class="dropdown-item" href="#url">One more</a></li>
</ul>
</details>
<div style="margin-bottom: 170px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<ul class="dropdown-menu dropdown-menu-se">
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li class="dropdown-divider" role="separator"></li>
<li><a class="dropdown-item" href="#url">Another item</a></li>
<li><a class="dropdown-item" href="#url">One more</a></li>
</ul>
</details>
</div>
```

### Headers

```html live
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<div class="dropdown-menu dropdown-menu-se">
<div class="dropdown-header">
Dropdown header
<div style="margin-bottom: 126px">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<div class="dropdown-menu dropdown-menu-se">
<div class="dropdown-header">
Dropdown header
</div>
<ul>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</div>
<ul>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</div>
</details>
</details>
</div>
```

### Dark

```html live
<div class="bg-gray-dark p-3 mt-n3 ml-n3 mr-n3 mb-n3" style="min-height: 240px;">
<details class="dropdown details-reset details-overlay d-inline-block">
<summary class="btn" aria-haspopup="true">
Dropdown
<div class="dropdown-caret"></div>
</summary>

<div class="dropdown-menu dropdown-menu-se dropdown-menu-dark">
<div class="dropdown-header">
Dropdown header
</div>
<ul>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li class="dropdown-divider" role="none"></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
<li><a class="dropdown-item" href="#url">Dropdown item</a></li>
</ul>
</div>
</details>
</div>
```
9 changes: 9 additions & 0 deletions docs/content/components/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,15 @@ Make inputs smaller, larger, or full-width with an additional class.
</form>
```

##### Dark

```html live
<div class="bg-gray-dark p-3 mt-n3 ml-n3 mr-n3">
<input class="form-control input-dark" type="text" placeholder="Dark input" aria-label="Dark input">
<input class="form-control input-dark input-sm" type="text" placeholder="Dark input small" aria-label="Dark input">
</div>
```

##### Hide webkit's contact info autofill icon

Webkit sometimes gets confused and tries to add an icon/dropdown to autofill contact information on fields that may not be appropriate (such as input for number of users). Use this class to override the display of this icon.
Expand Down
Loading