diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index b417cf5fc7..490070ea38 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -2,7 +2,7 @@
[fork]: https://github.com/github/primer/fork
[pr]: https://github.com/github/primer/compare
-[style]: http://primercss.io/guidelines/
+[style]: http://primer.github.io/guidelines/
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
@@ -59,16 +59,16 @@ Good pull requests—patches, improvements, new features—are a fantastic help.
### Updating Primer modules
-Anyone can open a pull request on Primer CSS. You do not need to work at GitHub or be a member of the org to open a pull request.
+Anyone can open a pull request on Primer. You do not need to work at GitHub or be a member of the org to open a pull request.
-1. Fork and clone [this repository](https://github.com/primer/primer-css).
+1. Fork and clone [this repository](https://github.com/primer/primer).
2. Configure and install the dependencies: `npm install`
3. Check out the dev branch `git checkout dev`
3. Create a new branch from dev `git checkout -b my-branch-name`
4. Make your changes and commit them.
5. Push your branch and open a pull request against `dev`. Add a comment describing your proposed changes and request a review from `@primer/ds-core`.
6. Wait for CI tests to finish.
- - If the tests pass, you should see a status check telling you which alpha version of primer-css you can install with npm to test your work in other projects.
+ - If the tests pass, you should see a status check telling you which alpha version of primer you can install with npm to test your work in other projects.
- If the tests fail, review the logs and address any issues.
- If the builds fail for any other reason (as they occasionally do), they may need to be manually restarted.
7. When CI tests pass, a new npm alpha release will be posted under the CI checks, you can use this npm version for testing in your project or with a GitHub site if you are staff.
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 97f6af521b..42f3183180 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,6 +1,8 @@
-↖ First, change the base branch from "master" to "dev".
+- [ ] First, change the base branch from "master" to "dev".
-↑ Next, briefly describe your proposal in the title.
+- [ ] Next, briefly describe your proposal in the title.
+
+- [ ] Fixes: # (type an issue number after the # if applicable)
Finally, tell us more about the change here, in the description.
diff --git a/.gitignore b/.gitignore
index ea987384e6..c92f6eba03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,9 @@
.DS_Store
.sass-cache
node_modules
+**/package-lock.json
*.log
build
_site
*.lerna_backup
+.changelog
diff --git a/.storybook/.babelrc b/.storybook/.babelrc
new file mode 100644
index 0000000000..e9b13211c5
--- /dev/null
+++ b/.storybook/.babelrc
@@ -0,0 +1,7 @@
+{
+ "presets": [
+ "env",
+ "react",
+ "minify"
+ ]
+}
diff --git a/.storybook/Octicon.js b/.storybook/Octicon.js
new file mode 100644
index 0000000000..339c56b1cd
--- /dev/null
+++ b/.storybook/Octicon.js
@@ -0,0 +1,27 @@
+import React from 'react'
+import {storiesOf} from '@storybook/react'
+import octicons from 'octicons'
+
+export const Octicon = (props) => {
+ const {name} = props
+ if (name in octicons) {
+ const svg = octicons[name].toSVG(props)
+ return
+ } else {
+ throw new Error(`No such octicon: "${name}"!`)
+ }
+}
+
+const story = storiesOf('Octicons', module)
+
+Object.keys(octicons).forEach(name => {
+ story.add(name, () => {
+ return (
+
+))
diff --git a/modules/primer-avatars/LICENSE b/modules/primer-avatars/LICENSE
index 5715c13693..61c8a4cffb 100644
--- a/modules/primer-avatars/LICENSE
+++ b/modules/primer-avatars/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2016 GitHub Inc.
+Copyright (c) 2017 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/modules/primer-avatars/README.md b/modules/primer-avatars/README.md
index d818dbcac5..cfda4f495c 100644
--- a/modules/primer-avatars/README.md
+++ b/modules/primer-avatars/README.md
@@ -1,11 +1,11 @@
-# Primer CSS Avatars
+# Primer Avatars
-[](https://www.npmjs.org/package/primer-avatars)
-[](https://travis-ci.org/primer/primer-css)
+[](https://www.npmjs.org/package/primer-avatars)
+[](https://travis-ci.org/primer/primer)
> Avatars are images that users can set as their profile picture. On GitHub, they’re always going to be rounded squares. They can be custom photos, uploaded by users, or generated as Identicons as a placeholder.
-This repository is a module of the full [primer-css][primer-css] repository.
+This repository is a module of the full [primer][primer] repository.
## Install
@@ -75,14 +75,62 @@ When you need a larger parent avatar, and a smaller child one, overlaid slightly
### Avatar stack
-Stacked avatars can be used to show who is participating in thread when there is limited space available. When you hover over the stack, the avatars will reveal themselves. Optimally, you should put no more than 3 avatars in the stack.
+Stacked avatars can be used to show multiple collaborators or participants when there is limited space available. When you hover over the stack, the avatars will reveal themselves.
```html
-
-
-
-
-
+
+
+
+
+
+
+
+```
+
+Based on the number of avatars in the stack, add these modifier classes:
+- `AvatarStack--two` for 2 avatars.
+- `AvatarStack--three-plus` for 3 or more avatars.
+
+If you have more than three avatars, add a div with the classes `avatar avatar-more` as the third avatar in the stack, as such:
+
+```html
+
+
+
+
+
+
+
+
+
+
+```
+
+You can also link individual avatars. To do this shift the `avatar` class over to the anchor:
+
+```html
+
Use it to provide information when no dynamic content exists.
+
+))
diff --git a/modules/primer-box/LICENSE b/modules/primer-box/LICENSE
index 5715c13693..61c8a4cffb 100644
--- a/modules/primer-box/LICENSE
+++ b/modules/primer-box/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2016 GitHub Inc.
+Copyright (c) 2017 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/modules/primer-box/README.md b/modules/primer-box/README.md
index 40bcb81199..c8773cd473 100644
--- a/modules/primer-box/README.md
+++ b/modules/primer-box/README.md
@@ -1,11 +1,11 @@
-# Primer CSS box
+# Primer box
-[](https://www.npmjs.org/package/primer-box)
-[](https://travis-ci.org/primer/primer-css)
+[](https://www.npmjs.org/package/primer-box)
+[](https://travis-ci.org/primer/primer)
> Box is a module for creating rounded-corner boxes with a white background and gray borders. Box has optional element styles for headers, lists, and footers.
-This repository is a module of the full [primer-css][primer-css] repository.
+This repository is a module of the full [primer][primer] repository.
## Install
@@ -47,7 +47,7 @@ The `.Box` component can be used for something as simple as a rounded corner box
## Box
-A `.Box` is a container with a a white background ,a light gray border, and rounded corners. By default there are no additional styles such as padding, these can be added as needed with utility classes. Other styles and layouts can be achieved with box elements and modifiers shown in the documentation below.
+A `.Box` is a container with a a white background, a light gray border, and rounded corners. By default there are no additional styles such as padding, these can be added as needed with utility classes. Other styles and layouts can be achieved with box elements and modifiers shown in the documentation below.
```html
```
-#### Hidden text button
+## Hidden text button
Use `.hidden-text-expander` to indicate and toggle hidden text.
@@ -245,14 +248,33 @@ Use `.hidden-text-expander` to indicate and toggle hidden text.
You can also make the expander appear inline by adding `.inline`.
+
+## Using button styles with the details summary element
+
+You can add `.btn` and `.btn-*` classes to any
+[``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary)
+element so that it gains the appearance of a button, and
+selected/active styles when the parent
+[``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)
+element is open.
+
+```html
+
+ Toggle the content
+