diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000000..156a0ee60a
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,79 @@
+## Contributing
+
+[fork]: https://github.com/github/primer/fork
+[pr]: https://github.com/github/primer/compare
+[style]: http://primercss.io/guidelines/
+
+Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
+
+Before you do, would you mind reading [this license agreement](CLA.md)? If you open a PR, we'll assume you agree to it. If you have any hesitation or disagreement, please do open a PR still, but note your concerns as well.
+
+## Using the issue tracker
+
+The issue tracker is the preferred channel for [bug reports](#bug-reports), [features requests](#feature-requests) and [submitting pull requests](#pull-requests), but please respect the following restrictions:
+
+* Please **do not** use the issue tracker for personal support requests.
+* Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others.
+* Please **do not** open issues or pull requests regarding the code in [`Normalize`](https://github.com/necolas/normalize.css) (open them in their respective repositories).
+
+## Bug reports
+
+A bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely helpful, so thanks!
+
+Guidelines for bug reports:
+
+0. **Validate and lint your code** — [validate your HTML](http://html5.validator.nu) to ensure your problem isn't caused by a simple error in your own code.
+
+1. **Use the GitHub issue search** — check if the issue has already been reported.
+
+2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development branch in the repository.
+
+3. **Isolate the problem** — ideally create a [reduced test case](http://css-tricks.com/6263-reduced-test-cases/) and a live example.
+
+A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? Do other browsers show the bug differently? What would you expect to be the outcome? All these details will help people to fix any potential bugs.
+
+Example:
+
+> Short and descriptive example bug report title
+>
+> A summary of the issue and the browser/OS environment in which it occurs. If
+> suitable, include the steps required to reproduce the bug.
+>
+> 1. This is the first step
+> 2. This is the second step
+> 3. Further steps, etc.
+>
+> `` - a link to the reduced test case
+>
+> Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits).
+
+## Feature requests
+
+Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible.
+
+## Pull requests
+
+Good pull requests—patches, improvements, new features—are a fantastic help. They should remain focused in scope and avoid containing unrelated commits.
+
+**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code, porting to a different language), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project.
+
+Adhering to the following process is the best way to get your work included in the project:
+
+1. Fork and clone the repository
+2. Configure and install the dependencies: `bower install`
+3. Create a new branch: `git checkout -b my-branch-name`
+4. Make your change, add tests, and make sure the tests still pass
+5. Push to your fork and [submit a pull request][pr]
+6. Pat your self on the back and wait for your pull request to be reviewed and merged.
+
+Here are a few things you can do that will increase the likelihood of your pull request being accepted:
+
+- Follow the [style guide][style].
+- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
+- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
+
+## Resources
+
+- [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/)
+- [Using Pull Requests](https://help.github.com/articles/using-pull-requests/)
+- [GitHub Help](https://help.github.com)
diff --git a/.gitignore b/.gitignore
index d97f5f3a14..437a8f4a75 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
.sass-cache
node_modules
+*.log
build
_site
docs
diff --git a/.travis.yml b/.travis.yml
index c6443c5f82..143df7b415 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,32 @@
language: node_js
node_js:
- '7'
+env:
+ - TEST_DIR=packages/primer-css
+ - TEST_DIR=packages/primer-core
+ - TEST_DIR=packages/primer-product
+ - TEST_DIR=packages/primer-marketing
+ - TEST_DIR=packages/primer-alerts
+ - TEST_DIR=packages/primer-base
+ - TEST_DIR=packages/primer-blankslate
+ - TEST_DIR=packages/primer-box
+ - TEST_DIR=packages/primer-breadcrumb
+ - TEST_DIR=packages/primer-buttons
+ - TEST_DIR=packages/primer-cards
+ - TEST_DIR=packages/primer-forms
+ - TEST_DIR=packages/primer-labels
+ - TEST_DIR=packages/primer-layout
+ - TEST_DIR=packages/primer-markdown
+ - TEST_DIR=packages/primer-marketing
+ - TEST_DIR=packages/primer-marketing-type
+ - TEST_DIR=packages/primer-marketing-utilities
+ - TEST_DIR=packages/primer-navigation
+ - TEST_DIR=packages/primer-page-headers
+ - TEST_DIR=packages/primer-page-sections
+ - TEST_DIR=packages/primer-support
+ - TEST_DIR=packages/primer-table-object
+ - TEST_DIR=packages/primer-tables
+ - TEST_DIR=packages/primer-tooltips
+ - TEST_DIR=packages/primer-truncate
+ - TEST_DIR=packages/primer-utilities
+script: cd $TEST_DIR && npm install && npm test
diff --git a/README.md b/README.md
index da7c31fad2..c9b7de75ab 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,22 @@
# Primer CSS
-[](https://www.npmjs.org/package/primer-css)
+[](https://www.npmjs.org/package/primer-css)
[](https://travis-ci.org/primer/primer-css)
-> Primer is the CSS toolkit that powers GitHub's front-end design. It's purposefully limited to common components to provide our developers with the most flexibility, and to keep GitHub uniquely *GitHubby*. It's built with SCSS and available via NPM, so it's easy to include all or part of it within your own project.
+Primer is the CSS framework that powers GitHub's front-end design. Primer CSS includes 23 packages that are grouped into 3 core meta-packages for easy install. Each package and meta-package is independently versioned and distributed via npm, so it's easy to include all or part of Primer within your own project.
-This repository is a compilation of [several CSS modules](https://github.com/primer).
+## Packages
+
+The Primer CSS repo is managed as a monorepo that is composed of many npm packages.
+
+### Core Packages
+
+| Package | Version |
+|---|---|
+| **[primer-css](/packages/primer-css)** Includes all 23 packages | [](https://www.npmjs.com/package/primer-css) |
+| [primer-core](/packages/primer-core) | [](https://www.npmjs.com/package/primer-core) |
+| [primer-product](/packages/primer-product) | [](https://www.npmjs.com/package/primer-product) |
+| [primer-marketing](/packages/primer-marketing) | [](https://www.npmjs.com/package/primer-marketing) |
## Install
@@ -27,7 +38,7 @@ You can also import specific portions of the module by importing those partials
## Build
-For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+For a compiled **CSS** version of this module, a npm script is included that will output a CSS version to `build/build.css` The built CSS file is also included in the npm package.
```
$ npm run build
diff --git a/lerna.json b/lerna.json
new file mode 100644
index 0000000000..f2a41ae974
--- /dev/null
+++ b/lerna.json
@@ -0,0 +1,7 @@
+{
+ "lerna": "2.0.0-rc.2",
+ "packages": [
+ "packages/*"
+ ],
+ "version": "independent"
+}
diff --git a/package.json b/package.json
index faa7e1efc5..431dfc95da 100644
--- a/package.json
+++ b/package.json
@@ -1,37 +1,11 @@
{
- "version": "6.0.0",
- "name": "primer-css",
- "description": "Primer is the CSS toolkit that powers GitHub's front-end design. It's purposefully limited to common components to provide our developers with the most flexibility, and to keep GitHub uniquely *GitHubby*. It's built with SCSS, so it's easy to include all or part of it within your own project.",
- "homepage": "http://primercss.io/",
- "author": "GitHub, Inc.",
- "license": "MIT",
- "style": "build/build.css",
- "files": [
- "index.scss",
- "lib",
- "build"
- ],
- "repository": "https://github.com/primer/primer.git",
- "bugs": {
- "url": "https://github.com/primer/primer/issues"
- },
+ "private": true,
"scripts": {
- "build": "primer-module-build index.scss",
- "prepublish": "npm run build",
- "test": "npm run build"
+ "bootstrap": "lerna bootstrap",
+ "publish": "lerna publish",
+ "updated": "lerna updated"
},
"dependencies": {
- "primer-core": "^3.0.0",
- "primer-marketing": "^3.0.0",
- "primer-product": "^3.0.0"
- },
- "devDependencies": {
- "primer-module-build": "*"
- },
- "keywords": [
- "primer",
- "css",
- "github",
- "primercss"
- ]
+ "lerna": "^2.0.0-rc.2"
+ }
}
diff --git a/packages/README.md b/packages/README.md
new file mode 100644
index 0000000000..4b22c24608
--- /dev/null
+++ b/packages/README.md
@@ -0,0 +1,3 @@
+# Primer modules
+
+Primer CSS is monorepo composed of 23 packages which can be installed altogether or individually via npm. We group our packages into 3 meta-packages which you can install individually: [primer-core](primer-core), [primer-product](primer-product), and [primer-marketing](primer-marketing). Install [primer-css](primer-css) if you want to install all 23 packages.
diff --git a/packages/primer-alerts/.gitignore b/packages/primer-alerts/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-alerts/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-alerts/.npmignore b/packages/primer-alerts/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-alerts/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-alerts/.postcss.json b/packages/primer-alerts/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-alerts/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-alerts/.stylelintrc.json b/packages/primer-alerts/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-alerts/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-alerts/CHANGELOG.md b/packages/primer-alerts/CHANGELOG.md
new file mode 100644
index 0000000000..b6cb3433b4
--- /dev/null
+++ b/packages/primer-alerts/CHANGELOG.md
@@ -0,0 +1,95 @@
+# v1.1.2
+
+ * patch bump - broccolini [github/github@3c26562](https://github.com/github/github/commit/3c26562)
+
+# v1.1.1
+
+ * Bump all the version numbers for readme - Mu-An Chiou [github/github@a9d152f](https://github.com/github/github/commit/a9d152f)
+
+# v1.1.0
+
+ * update version numbers in primer-product - broccolini [github/github@5301936](https://github.com/github/github/commit/5301936)
+ * missed a yellow in flash alerts: - broccolini [github/github@8725991](https://github.com/github/github/commit/8725991)
+ * update flash red variables - broccolini [github/github@2945319](https://github.com/github/github/commit/2945319)
+ * yellow flash warn variables - broccolini [github/github@5b64376](https://github.com/github/github/commit/5b64376)
+ * new flash green variables - broccolini [github/github@80401a0](https://github.com/github/github/commit/80401a0)
+ * update blues: - broccolini [github/github@9b191b6](https://github.com/github/github/commit/9b191b6)
+
+# v1.0.2
+
+ * update version numbers for primer package with bold update - broccolini [github/github@5d3e089](https://github.com/github/github/commit/5d3e089)
+
+# v1.0.1
+
+ * More versions - Jon Rohan [github/github@e12ba2e](https://github.com/github/github/commit/e12ba2e)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+
+# v1.0.0
+
+ * updating versions after running version script - broccolini [github/github@61b8c6f](https://github.com/github/github/commit/61b8c6f)
+ * Some updates based on feedback - Jon Rohan [github/github@8a4919d](https://github.com/github/github/commit/8a4919d)
+
+# v0.4.0
+
+ * Cutting new versions of primer modules - Jon Rohan [github/github@157f5ab](https://github.com/github/github/commit/157f5ab)
+ * Rename repository with prefix primer- - Jon Rohan [github/github@ec8774a](https://github.com/github/github/commit/ec8774a)
+ * Separating out modules into primer-core and primer-product - Jon Rohan [github/github@ddf698c](https://github.com/github/github/commit/ddf698c)
+
+# v0.3.1
+
+ * Updating version - Jon Rohan [github/github@6bf5fe5](https://github.com/github/github/commit/6bf5fe5)
+ * Updating link to real primer-css repository - Jon Rohan [github/github@bbaedda](https://github.com/github/github/commit/bbaedda)
+ * Updating the modules stylelint - Jon Rohan [github/github@389609f](https://github.com/github/github/commit/389609f)
+ * Make sure the modules build without error before publishing - Jon Rohan [github/github@57ac5e6](https://github.com/github/github/commit/57ac5e6)
+ * Adding documentation status to most of the modules - Jon Rohan [github/github@b97695c](https://github.com/github/github/commit/b97695c)
+
+# v0.3.0
+
+ * Publishing a new version - Jon Rohan [github/github@eed0e96](https://github.com/github/github/commit/eed0e96)
+ * Updating octicons to deprecate the use of :symbol - Jon Rohan [github/github@9eb0c63](https://github.com/github/github/commit/9eb0c63)
+ * Lots of refactoring and tests written - Jon Rohan [github/github@6e3ac10](https://github.com/github/github/commit/6e3ac10)
+ * Removing some unnecessary lint plugins and using native - Jon Rohan [github/github@2ae0070](https://github.com/github/github/commit/2ae0070)
+ * including no-utility lint plugin - Jon Rohan [github/github@5cb86ed](https://github.com/github/github/commit/5cb86ed)
+ * Adding lint plugins for new config - Jon Rohan [github/github@7fb9613](https://github.com/github/github/commit/7fb9613)
+ * Mentioning the build file - Jon Rohan [github/github@64ca4a7](https://github.com/github/github/commit/64ca4a7)
+
+# v0.2.6
+
+ * Including build in files - Jon Rohan [github/github@817ee23](https://github.com/github/github/commit/817ee23)
+
+# v0.2.5
+
+ * skipping cleanup - Jon Rohan [github/github@d6b3678](https://github.com/github/github/commit/d6b3678)
+
+# v0.2.4
+
+ * Bump version, and including build/build.css in npm package - Jon Rohan [github/github@09cb3a3](https://github.com/github/github/commit/09cb3a3)
+ * setup unless installed - Jon Rohan [github/github@a798fb0](https://github.com/github/github/commit/a798fb0)
+ * Using a simplier script setup - Jon Rohan [github/github@be103f4](https://github.com/github/github/commit/be103f4)
+ * Renaming to compile - Jon Rohan [github/github@196d7ef](https://github.com/github/github/commit/196d7ef)
+ * Updating modules to run on prepublish to include build.css in distribution - Jon Rohan [github/github@5b573a0](https://github.com/github/github/commit/5b573a0)
+ * Re-ordering the docs to the bottom of the readme - Jon Rohan [github/github@9c1f291](https://github.com/github/github/commit/9c1f291)
+ * Updating the link - Jon Rohan [github/github@f67684b](https://github.com/github/github/commit/f67684b)
+
+# v0.2.1
+
+ * Bumping version to include postcss.json in npm - Jon Rohan [github/github@9e560ba](https://github.com/github/github/commit/9e560ba)
+ * Using stylelint to lint the modules instead of scss_lint - Jon Rohan [github/github@cb0b8fd](https://github.com/github/github/commit/cb0b8fd)
+ * Updating for stylelint instead of scss_lint - Jon Rohan [github/github@87a2c68](https://github.com/github/github/commit/87a2c68)
+
+# v0.2.0
+
+ * Cutting new version 0.2.0 - Jon Rohan [github/github@a6f6586](https://github.com/github/github/commit/a6f6586)
+ * Don't link requirements - Jon Rohan [github/github@7740e81](https://github.com/github/github/commit/7740e81)
+ * Updating the README with more detailed instructions - Jon Rohan [github/github@5dd7c34](https://github.com/github/github/commit/5dd7c34)
+ * Reorganize the module folders into a more flexible organization - Jon Rohan [github/github@5a07101](https://github.com/github/github/commit/5a07101)
+ * Remove partial underscore from name - Jon Rohan [github/github@e463779](https://github.com/github/github/commit/e463779)
+ * Some cleanup on the readme - Jon Rohan [github/github@74850d5](https://github.com/github/github/commit/74850d5)
+ * cleaning up the package.json files - Jon Rohan [github/github@77763a1](https://github.com/github/github/commit/77763a1)
+ * Adding npm version badges to readme - Jon Rohan [github/github@90b1871](https://github.com/github/github/commit/90b1871)
+ * Adding tavisci build badges to the readmes - Jon Rohan [github/github@1a6126f](https://github.com/github/github/commit/1a6126f)
+
+# v0.1.0
+
+ * Updating support dependency versions - Jon Rohan [github/github@76d97ec](https://github.com/github/github/commit/76d97ec)
+ * Moving primer/primer alerts to a module - Jon Rohan [github/github@1f434c1](https://github.com/github/github/commit/1f434c1)
\ No newline at end of file
diff --git a/packages/primer-alerts/LICENSE b/packages/primer-alerts/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-alerts/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-alerts/README.md b/packages/primer-alerts/README.md
new file mode 100644
index 0000000000..a2688aa800
--- /dev/null
+++ b/packages/primer-alerts/README.md
@@ -0,0 +1,151 @@
+# Primer CSS Alerts
+
+[](https://www.npmjs.org/package/primer-alerts)
+[](https://travis-ci.org/primer/primer-css)
+
+> Flash messages, or alerts, inform users of successful or pending actions. Use them sparingly. Don’t show more than one at a time.
+
+This repository is a module of the full [primer-css][primer-css] repository.
+
+## Install
+
+This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer-alerts` with this command.
+
+```
+$ npm install --save primer-alerts
+```
+
+## Usage
+
+The source files included are written in [Sass][sass] (`scss`) You can simply point your sass `include-path` at your `node_modules` directory and import it like this.
+
+```scss
+@import "primer-alerts/index.scss";
+```
+
+You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._
+
+## Build
+
+For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+
+```
+$ npm run build
+```
+
+## Documentation
+
+
+
+Flash messages, or alerts, inform users of successful or pending actions. Use them sparingly. Don't show more than one at a time.
+
+## Default
+
+Flash messages start off looking decently neutral—they're just light blue rounded rectangles.
+
+```html
+
+ Flash message goes here.
+
+```
+
+You can put multiple paragraphs of text in a flash message—the last paragraph's bottom `margin` will be automatically override.
+
+```html
+
+
This is a longer flash message in it's own paragraph. It ends up looking something like this. If we keep adding more text, it'll eventually wrap to a new line.
+
And this is another paragraph.
+
+```
+
+Should the need arise, you can quickly space out your flash message from surrounding content with a `.flash-messages` wrapper. *Note the extra top and bottom margin in the example below.*
+
+```html
+
+
+ Flash message goes here.
+
+
+```
+
+## Variations
+
+Add `.flash-warn`, `.flash-error`, or `.flash-success` to the flash message to make it yellow, red, or green, respectively.
+
+```html
+
+ Flash message goes here.
+
+```
+
+```html
+
+ Flash message goes here.
+
+```
+
+```html
+
+ Flash message goes here.
+
+```
+
+## With icon
+
+Add an icon to the left of the flash message to give it some funky fresh attention.
+
+```html
+
+ <%= octicon "alert" %>
+ Flash message with an icon goes here.
+
+```
+
+## With dismiss
+
+Add a JavaScript enabled (via Crema) dismiss (close) icon on the right of any flash message.
+
+```html
+
+ <%= octicon "x", :"aria-label" => "Close" %>
+ Dismissable flash message goes here.
+
+```
+
+## With action button
+
+A flash message with an action button.
+
+```html
+
+ Complete action
+ Flash message with action here.
+
+```
+
+## Full width flash
+
+A flash message that is full width and removes border and border radius.
+
+```html
+
+
+ Full width flash message.
+
+
+```
+
+
+
+## License
+
+[MIT](./LICENSE) © [GitHub](https://github.com/)
+
+[primer-css]: https://github.com/primer/primer
+[docs]: http://primercss.io/
+[npm]: https://www.npmjs.com/
+[install-npm]: https://docs.npmjs.com/getting-started/installing-node
+[sass]: http://sass-lang.com/
diff --git a/packages/primer-alerts/index.scss b/packages/primer-alerts/index.scss
new file mode 100644
index 0000000000..6f60ab3321
--- /dev/null
+++ b/packages/primer-alerts/index.scss
@@ -0,0 +1,3 @@
+// support files
+@import "primer-support/index.scss";
+@import "./lib/flash.scss";
diff --git a/packages/primer-alerts/lib/flash.scss b/packages/primer-alerts/lib/flash.scss
new file mode 100644
index 0000000000..2a19b71927
--- /dev/null
+++ b/packages/primer-alerts/lib/flash.scss
@@ -0,0 +1,80 @@
+// Default flash
+// stylelint-disable selector-no-type
+.flash {
+ position: relative;
+ padding: $spacer-3;
+ color: $blue-800;
+ background-color: $blue-100;
+ border: 1px solid $border-black-fade;
+ border-radius: 3px;
+
+ p:last-child {
+ margin-bottom: 0;
+ }
+}
+
+// Contain the flash messages
+.flash-messages {
+ margin-bottom: $spacer-4;
+}
+
+// Close button
+.flash-close {
+ float: right;
+ padding: $spacer-3;
+ margin: -$spacer-3;
+ color: inherit;
+ text-align: center;
+ cursor: pointer;
+ // Undo `` styles
+ background: none;
+ border: 0;
+ appearance: none;
+ opacity: 0.6;
+
+ &:hover {
+ opacity: 1;
+ }
+}
+
+// Action button
+.flash-action {
+ float: right;
+ margin-top: -3px;
+ margin-left: $spacer-4;
+}
+
+//
+// Variations
+//
+
+.flash-warn {
+ color: $yellow-900;
+ background-color: $yellow-100;
+ border-color: $black-fade-15;
+}
+
+.flash-error {
+ color: $red-900;
+ background-color: $red-100;
+ border-color: $black-fade-15;
+}
+
+.flash-success {
+ color: $green-800;
+ background-color: $green-100;
+ border-color: $black-fade-15;
+}
+
+.flash-full {
+ margin-top: -1px;
+ border-width: 1px 0;
+ border-radius: 0;
+}
+
+.warning {
+ padding: 0.5em;
+ margin-bottom: 0.8em;
+ font-weight: $font-weight-bold;
+ background-color: $yellow-100;
+}
diff --git a/packages/primer-alerts/package.json b/packages/primer-alerts/package.json
new file mode 100644
index 0000000000..bf66367b34
--- /dev/null
+++ b/packages/primer-alerts/package.json
@@ -0,0 +1,42 @@
+{
+ "version": "1.1.4",
+ "name": "primer-alerts",
+ "description": "Flash messages, or alerts, inform users of successful or pending actions.",
+ "homepage": "http://primercss.io/",
+ "author": "GitHub, Inc.",
+ "license": "MIT",
+ "style": "index.scss",
+ "main": "build/index.js",
+ "files": [
+ "index.scss",
+ "lib",
+ "build"
+ ],
+ "repository": "https://github.com/primer/primer-css/tree/master/packages/primer-alerts",
+ "bugs": {
+ "url": "https://github.com/primer/primer-css/issues"
+ },
+ "scripts": {
+ "build": "primer-module-build index.scss",
+ "prepare": "npm run build",
+ "test": "npm run build && stylelint **/*.scss -c .stylelintrc.json -s scss"
+ },
+ "dependencies": {
+ "primer-support": "^4.0.3"
+ },
+ "devDependencies": {
+ "primer-module-build": "*",
+ "stylelint": "*",
+ "stylelint-config-primer": "*"
+ },
+ "keywords": [
+ "alerts",
+ "callouts",
+ "css",
+ "flash",
+ "github",
+ "primer",
+ "primercss",
+ "style"
+ ]
+}
diff --git a/packages/primer-avatars/.gitignore b/packages/primer-avatars/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-avatars/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-avatars/.npmignore b/packages/primer-avatars/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-avatars/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-avatars/.postcss.json b/packages/primer-avatars/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-avatars/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-avatars/.stylelintrc.json b/packages/primer-avatars/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-avatars/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-avatars/CHANGELOG.md b/packages/primer-avatars/CHANGELOG.md
new file mode 100644
index 0000000000..6ad9261db3
--- /dev/null
+++ b/packages/primer-avatars/CHANGELOG.md
@@ -0,0 +1,86 @@
+# v0.4.6
+
+ * bump package version - broccolini [github/github@2034aeb](https://github.com/github/github/commit/2034aeb)
+
+# v0.4.5
+
+ * Bump all the version numbers for readme - Mu-An Chiou [github/github@a9d152f](https://github.com/github/github/commit/a9d152f)
+ * Fix all the travis badge URL - Mu-An Chiou [github/github@9cd6d84](https://github.com/github/github/commit/9cd6d84)
+
+# v0.4.4
+
+ * update version numbers in primer-product - broccolini [github/github@5301936](https://github.com/github/github/commit/5301936)
+ * update to rgb to white variable - broccolini [github/github@96d2590](https://github.com/github/github/commit/96d2590)
+ * update whites in avatar stack - broccolini [github/github@dc3be2f](https://github.com/github/github/commit/dc3be2f)
+
+# v0.4.3
+
+ * Bump version for avatars package - Mu-An Chiou [github/github@25e929d](https://github.com/github/github/commit/25e929d)
+ * Remove background when only 1 avatar background is for stacking/border - Mu-An Chiou [github/github@4b4d63e](https://github.com/github/github/commit/4b4d63e)
+
+# v0.4.2
+
+ * Bump version number for circle badge spacing tweak - Patrick Marsceill [github/github@7aac713](https://github.com/github/github/commit/7aac713)
+
+# v0.4.1
+
+ * More versions - Jon Rohan [github/github@e12ba2e](https://github.com/github/github/commit/e12ba2e)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+
+# v0.4.0
+
+ * Make it a new release - Patrick Marsceill [github/github@24c4c50](https://github.com/github/github/commit/24c4c50)
+ * Docs tweak - Patrick Marsceill [github/github@ae4f341](https://github.com/github/github/commit/ae4f341)
+ * Bump package number - Patrick Marsceill [github/github@070fca8](https://github.com/github/github/commit/070fca8)
+ * Add partial import to avatars index - Patrick Marsceill [github/github@210ba08](https://github.com/github/github/commit/210ba08)
+ * Move docs to avatars - Patrick Marsceill [github/github@2045ba4](https://github.com/github/github/commit/2045ba4)
+ * Move and rename - Patrick Marsceill [github/github@6bb6ab2](https://github.com/github/github/commit/6bb6ab2)
+
+# v0.3.0
+
+ * Cutting new versions of primer modules - Jon Rohan [github/github@157f5ab](https://github.com/github/github/commit/157f5ab)
+ * Rename repository with prefix primer- - Jon Rohan [github/github@ec8774a](https://github.com/github/github/commit/ec8774a)
+ * Separating out modules into primer-core and primer-product - Jon Rohan [github/github@ddf698c](https://github.com/github/github/commit/ddf698c)
+
+# v0.2.4
+
+ * Updating version - Jon Rohan [github/github@6bf5fe5](https://github.com/github/github/commit/6bf5fe5)
+ * Updating link to real primer-css repository - Jon Rohan [github/github@bbaedda](https://github.com/github/github/commit/bbaedda)
+ * Updating the modules stylelint - Jon Rohan [github/github@389609f](https://github.com/github/github/commit/389609f)
+ * Make sure the modules build without error before publishing - Jon Rohan [github/github@57ac5e6](https://github.com/github/github/commit/57ac5e6)
+
+# v0.2.3
+
+ * Publishing a new version - Jon Rohan [github/github@eed0e96](https://github.com/github/github/commit/eed0e96)
+ * Adding link to homepage in readme docs - Jon Rohan [github/github@633f421](https://github.com/github/github/commit/633f421)
+ * Removing some unnecessary lint plugins and using native - Jon Rohan [github/github@2ae0070](https://github.com/github/github/commit/2ae0070)
+ * including no-utility lint plugin - Jon Rohan [github/github@5cb86ed](https://github.com/github/github/commit/5cb86ed)
+ * Adding lint plugins for new config - Jon Rohan [github/github@7fb9613](https://github.com/github/github/commit/7fb9613)
+
+# v0.2.2
+
+ * Mentioning the build file - Jon Rohan [github/github@64ca4a7](https://github.com/github/github/commit/64ca4a7)
+ * Including build/build.css in distributed npm module - Jon Rohan [github/github@e4effbf](https://github.com/github/github/commit/e4effbf)
+ * Updating modules to run on prepublish to include build.css in distribution - Jon Rohan [github/github@5b573a0](https://github.com/github/github/commit/5b573a0)
+ * Re-ordering the docs to the bottom of the readme - Jon Rohan [github/github@9c1f291](https://github.com/github/github/commit/9c1f291)
+ * Updating the link - Jon Rohan [github/github@f67684b](https://github.com/github/github/commit/f67684b)
+
+# v0.2.1
+
+ * Bumping version to include postcss.json in npm - Jon Rohan [github/github@9e560ba](https://github.com/github/github/commit/9e560ba)
+ * Using stylelint to lint the modules instead of scss_lint - Jon Rohan [github/github@cb0b8fd](https://github.com/github/github/commit/cb0b8fd)
+
+# v0.2.0
+
+ * Cutting new version 0.2.0 - Jon Rohan [github/github@a6f6586](https://github.com/github/github/commit/a6f6586)
+ * Don't link requirements - Jon Rohan [github/github@7740e81](https://github.com/github/github/commit/7740e81)
+ * Updating the README with more detailed instructions - Jon Rohan [github/github@5dd7c34](https://github.com/github/github/commit/5dd7c34)
+ * Reorganize the module folders into a more flexible organization - Jon Rohan [github/github@5a07101](https://github.com/github/github/commit/5a07101)
+ * cleaning up the package.json files - Jon Rohan [github/github@77763a1](https://github.com/github/github/commit/77763a1)
+ * Adding npm version badges to readme - Jon Rohan [github/github@90b1871](https://github.com/github/github/commit/90b1871)
+ * Adding tavisci build badges to the readmes - Jon Rohan [github/github@1a6126f](https://github.com/github/github/commit/1a6126f)
+
+# v0.1.0
+
+ * Updating support dependency versions - Jon Rohan [github/github@76d97ec](https://github.com/github/github/commit/76d97ec)
+ * Adding avatars module from primer/primer - Jon Rohan [github/github@94b22f7](https://github.com/github/github/commit/94b22f7)
\ No newline at end of file
diff --git a/packages/primer-avatars/LICENSE b/packages/primer-avatars/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-avatars/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-avatars/README.md b/packages/primer-avatars/README.md
new file mode 100644
index 0000000000..d818dbcac5
--- /dev/null
+++ b/packages/primer-avatars/README.md
@@ -0,0 +1,153 @@
+# Primer CSS Avatars
+
+[](https://www.npmjs.org/package/primer-avatars)
+[](https://travis-ci.org/primer/primer-css)
+
+> 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.
+
+## Install
+
+This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer-avatars` with this command.
+
+```
+$ npm install --save primer-avatars
+```
+
+## Usage
+
+The source files included are written in [Sass][sass] (`scss`) You can simply point your sass `include-path` at your `node_modules` directory and import it like this.
+
+```scss
+@import "primer-avatars/index.scss";
+```
+
+You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._
+
+## Build
+
+For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+
+```
+$ npm run build
+```
+
+## Documentation
+
+
+
+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.
+
+{:toc}
+
+## Basic example
+
+Add `.avatar` to any ` ` element to make it an avatar. This resets some key styles for alignment, address a Firefox image placeholder bug, and rounds the corners.
+
+Be sure to set `width` and `height` attributes for maximum browser performance.
+
+```html
+
+```
+
+### Small avatars
+
+We occasionally use smaller avatars. Anything less than `48px` wide should include the `.avatar-small` modifier class to reset the `border-radius` to a more appropriate level.
+
+```html
+
+```
+
+### Parent-child avatars
+
+When you need a larger parent avatar, and a smaller child one, overlaid slightly, use the parent-child classes.
+
+```html
+
+
+
+
+```
+
+### 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.
+
+```html
+
+
+
+
+
+```
+
+## Circle Badge
+
+`.CircleBadge` allows for the display of badge-like icons or logos. They are used mostly with Octicons or partner integration icons.
+
+`.CircleBadge` should have an `aria-label`, `title` (for a link), or an `alt` (for child `img` elements) attribute specified if there is no text-based alternative to describe it. If there is a text-based alternative or the icon has no semantic value, `aria-hidden="true"` or an empty `alt` attribute may be used.
+
+### Small
+
+```html
+
+ " class="CircleBadge-icon" alt="">
+
+
+ <%= octicon "zap", :class => "CircleBadge-icon text-white" %>
+
+```
+
+### Medium
+
+```html
+
+
" alt="Travis CI" class="CircleBadge-icon">
+
+```
+
+### Large
+
+```html
+
+
" alt="Travis CI" class="CircleBadge-icon">
+
+```
+
+### Dashed connection
+
+For specific cases where two badges or more need to be shown as related or connected (such as integrations or specific product workflows), a `DashedConnection` class was created. Use utility classes to ensure badges are spaced correctly.
+
+```html
+
+
+
+ <%= octicon "mark-github", :class => "width-full height-full" %>
+
+
+
+ " alt="" class="CircleBadge-icon">
+
+
+
+ " alt="" class="CircleBadge-icon">
+
+
+
+```
+
+
+
+## License
+
+[MIT](./LICENSE) © [GitHub](https://github.com/)
+
+[primer-css]: https://github.com/primer/primer
+[docs]: http://primercss.io/
+[npm]: https://www.npmjs.com/
+[install-npm]: https://docs.npmjs.com/getting-started/installing-node
+[sass]: http://sass-lang.com/
diff --git a/packages/primer-avatars/index.scss b/packages/primer-avatars/index.scss
new file mode 100644
index 0000000000..f6b017c804
--- /dev/null
+++ b/packages/primer-avatars/index.scss
@@ -0,0 +1,7 @@
+@import "primer-support/index.scss";
+
+// Avatars
+@import "./lib/avatar.scss";
+@import "./lib/avatar-parent-child.scss";
+@import "./lib/avatar-stack.scss";
+@import "./lib/circle-badge.scss";
diff --git a/packages/primer-avatars/lib/avatar-parent-child.scss b/packages/primer-avatars/lib/avatar-parent-child.scss
new file mode 100644
index 0000000000..df9583fab2
--- /dev/null
+++ b/packages/primer-avatars/lib/avatar-parent-child.scss
@@ -0,0 +1,16 @@
+// .avatar-parent-child is when you see a small avatar at the bottom right
+// corner of a larger avatar.
+//
+// No Styleguide version
+.avatar-parent-child {
+ position: relative;
+}
+
+.avatar-child {
+ position: absolute;
+ right: -15%;
+ bottom: -9%;
+ background-color: $bg-white; // For transparent backgrounds
+ border-radius: 2px;
+ box-shadow: -2px -2px 0 rgba($white, 0.8);
+}
diff --git a/packages/primer-avatars/lib/avatar-stack.scss b/packages/primer-avatars/lib/avatar-stack.scss
new file mode 100644
index 0000000000..884f6a528d
--- /dev/null
+++ b/packages/primer-avatars/lib/avatar-stack.scss
@@ -0,0 +1,45 @@
+// Stacked avatars can be used to show who is participating in thread when
+// there is limited space available.
+//
+// No styleguide references
+.avatar-stack {
+ display: inline-block;
+ white-space: nowrap;
+
+ .avatar {
+ position: relative;
+ z-index: 2;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ box-sizing: content-box;
+ margin-right: -15px;
+ background-color: $bg-white;
+ border-right: 1px solid $white;
+ border-radius: 2px;
+ transition: margin 0.1s ease-in-out;
+
+ &:only-child {
+ background-color: transparent;
+ }
+
+ &:first-child {
+ z-index: 3;
+ }
+
+ &:last-child {
+ z-index: 1;
+ margin-right: 0;
+ border-right: 0;
+ }
+ }
+
+ // When more than one avatar, margin-left will animate from -15 to 2, and reveal the stack
+ &:hover .avatar {
+ margin-right: 3px;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+}
diff --git a/packages/primer-avatars/lib/avatar.scss b/packages/primer-avatars/lib/avatar.scss
new file mode 100644
index 0000000000..456194bcd4
--- /dev/null
+++ b/packages/primer-avatars/lib/avatar.scss
@@ -0,0 +1,20 @@
+.avatar {
+ display: inline-block;
+ overflow: hidden; // Ensure page layout in Firefox should images fail to load
+ line-height: 1;
+ vertical-align: middle;
+ border-radius: 3px;
+}
+
+.avatar-small { border-radius: 2px; }
+
+.avatar-link {
+ float: left;
+ line-height: 1;
+}
+
+// User for example on /stars and /user for grids of avatars
+.avatar-group-item {
+ display: inline-block;
+ margin-bottom: 3px;
+}
diff --git a/packages/primer-avatars/lib/circle-badge.scss b/packages/primer-avatars/lib/circle-badge.scss
new file mode 100644
index 0000000000..c27ec22e82
--- /dev/null
+++ b/packages/primer-avatars/lib/circle-badge.scss
@@ -0,0 +1,54 @@
+// Circle badge icon with drop shadow for icons and logos
+
+.CircleBadge {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: $white;
+ border-radius: 50%;
+ box-shadow: $box-shadow-medium;
+}
+
+.CircleBadge-icon {
+ max-width: 60% !important;
+ height: auto !important;
+ max-height: 55% !important;
+}
+
+// Small badge
+.CircleBadge--small {
+ width: 56px;
+ height: 56px;
+}
+
+// Medium badge
+.CircleBadge--medium {
+ width: 96px;
+ height: 96px;
+}
+
+// Large badge
+.CircleBadge--large {
+ width: 128px;
+ height: 128px;
+}
+
+// Dashed line that connects badges..
+// Wrap around 2 or more badges to create a horizonal line:
+
+.DashedConnection {
+ position: relative;
+
+ &::before {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ width: 100%;
+ content: "";
+ border-bottom: 2px dashed $border-gray;
+ }
+
+ .CircleBadge {
+ position: relative;
+ }
+}
diff --git a/packages/primer-avatars/package.json b/packages/primer-avatars/package.json
new file mode 100644
index 0000000000..c7a8b16251
--- /dev/null
+++ b/packages/primer-avatars/package.json
@@ -0,0 +1,39 @@
+{
+ "version": "0.4.8",
+ "name": "primer-avatars",
+ "description": "Basic styles for user profile avatars.",
+ "homepage": "http://primercss.io/",
+ "author": "GitHub, Inc.",
+ "license": "MIT",
+ "style": "index.scss",
+ "main": "build/index.js",
+ "files": [
+ "index.scss",
+ "lib",
+ "build"
+ ],
+ "repository": "https://github.com/primer/primer-css/tree/master/packages/primer-avatars",
+ "bugs": {
+ "url": "https://github.com/primer/primer-css/issues"
+ },
+ "scripts": {
+ "build": "primer-module-build index.scss",
+ "prepare": "npm run build",
+ "test": "npm run build && stylelint **/*.scss -c .stylelintrc.json -s scss"
+ },
+ "dependencies": {
+ "primer-support": "^4.0.3"
+ },
+ "devDependencies": {
+ "primer-module-build": "*",
+ "stylelint": "*",
+ "stylelint-config-primer": "*"
+ },
+ "keywords": [
+ "avatars",
+ "primer",
+ "css",
+ "github",
+ "primercss"
+ ]
+}
diff --git a/packages/primer-base/.gitignore b/packages/primer-base/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-base/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-base/.npmignore b/packages/primer-base/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-base/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-base/.postcss.json b/packages/primer-base/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-base/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-base/.stylelintrc.json b/packages/primer-base/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-base/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-base/CHANGELOG.md b/packages/primer-base/CHANGELOG.md
new file mode 100644
index 0000000000..984c113611
--- /dev/null
+++ b/packages/primer-base/CHANGELOG.md
@@ -0,0 +1,74 @@
+# v1.0.0
+
+ * update primer-core version number - broccolini [github/github@6846743](https://github.com/github/github/commit/6846743)
+ * replace instances of #ddd with variable in primer-core - broccolini [github/github@4a95523](https://github.com/github/github/commit/4a95523)
+ * don't apply general link hover styles to active state - Mark Otto [github/github@4c1d4f5](https://github.com/github/github/commit/4c1d4f5)
+
+# v0.4.2
+
+ * More versions - Jon Rohan [github/github@e12ba2e](https://github.com/github/github/commit/e12ba2e)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+ * don't change the versions yet - Jon Rohan [github/github@6bebcff](https://github.com/github/github/commit/6bebcff)
+ * Bumping version - Jon Rohan [github/github@df8b91c](https://github.com/github/github/commit/df8b91c)
+ * Cleaning up devDependencies versions and simplifying npm scripts - Jon Rohan [github/github@2c42571](https://github.com/github/github/commit/2c42571)
+
+# v0.4.1
+
+ * Creating a new version - Jon Rohan [github/github@488569b](https://github.com/github/github/commit/488569b)
+ * Adding list-item for summary - Jon Rohan [github/github@59070d8](https://github.com/github/github/commit/59070d8)
+ * Removing normalize.css from dependencies and checking into base package - Jon Rohan [github/github@459e8b7](https://github.com/github/github/commit/459e8b7)
+
+# v0.4.0
+
+ * Cutting new versions of primer modules - Jon Rohan [github/github@157f5ab](https://github.com/github/github/commit/157f5ab)
+ * Rename repository with prefix primer- - Jon Rohan [github/github@ec8774a](https://github.com/github/github/commit/ec8774a)
+ * Separating out modules into primer-core and primer-product - Jon Rohan [github/github@ddf698c](https://github.com/github/github/commit/ddf698c)
+
+# v0.3.0
+
+ * Updating version - Jon Rohan [github/github@6bf5fe5](https://github.com/github/github/commit/6bf5fe5)
+ * Updating link to real primer-css repository - Jon Rohan [github/github@bbaedda](https://github.com/github/github/commit/bbaedda)
+ * Updating the modules stylelint - Jon Rohan [github/github@389609f](https://github.com/github/github/commit/389609f)
+ * move over override for octicons to type base for now - Mark Otto [github/github@529af66](https://github.com/github/github/commit/529af66)
+ * move over all bold variable changes - Mark Otto [github/github@6b5b021](https://github.com/github/github/commit/6b5b021)
+ * Make sure the modules build without error before publishing - Jon Rohan [github/github@57ac5e6](https://github.com/github/github/commit/57ac5e6)
+
+# v0.2.3
+
+ * Publishing a new version - Jon Rohan [github/github@eed0e96](https://github.com/github/github/commit/eed0e96)
+ * Removing some unnecessary lint plugins and using native - Jon Rohan [github/github@2ae0070](https://github.com/github/github/commit/2ae0070)
+ * including no-utility lint plugin - Jon Rohan [github/github@5cb86ed](https://github.com/github/github/commit/5cb86ed)
+ * un-delete this - Jon Rohan [github/github@207793a](https://github.com/github/github/commit/207793a)
+ * Adding lint plugins for new config - Jon Rohan [github/github@7fb9613](https://github.com/github/github/commit/7fb9613)
+
+# v0.2.2
+
+ * Mentioning the build file - Jon Rohan [github/github@64ca4a7](https://github.com/github/github/commit/64ca4a7)
+ * Including build/build.css in distributed npm module - Jon Rohan [github/github@e4effbf](https://github.com/github/github/commit/e4effbf)
+ * Updating modules to run on prepublish to include build.css in distribution - Jon Rohan [github/github@5b573a0](https://github.com/github/github/commit/5b573a0)
+ * Re-ordering the docs to the bottom of the readme - Jon Rohan [github/github@9c1f291](https://github.com/github/github/commit/9c1f291)
+
+# v0.2.1
+
+ * Bumping version to include postcss.json in npm - Jon Rohan [github/github@9e560ba](https://github.com/github/github/commit/9e560ba)
+ * Using stylelint to lint the modules instead of scss_lint - Jon Rohan [github/github@cb0b8fd](https://github.com/github/github/commit/cb0b8fd)
+ * Updating for stylelint instead of scss_lint - Jon Rohan [github/github@87a2c68](https://github.com/github/github/commit/87a2c68)
+
+# v0.2.0
+
+ * Cutting new version 0.2.0 - Jon Rohan [github/github@a6f6586](https://github.com/github/github/commit/a6f6586)
+ * cleanup after merge - Jon Rohan [github/github@f9378ca](https://github.com/github/github/commit/f9378ca)
+ * Don't link requirements - Jon Rohan [github/github@7740e81](https://github.com/github/github/commit/7740e81)
+ * Fixing a few import paths - Jon Rohan [github/github@73e2c51](https://github.com/github/github/commit/73e2c51)
+ * Updating the README with more detailed instructions - Jon Rohan [github/github@5dd7c34](https://github.com/github/github/commit/5dd7c34)
+ * Reorganize the module folders into a more flexible organization - Jon Rohan [github/github@5a07101](https://github.com/github/github/commit/5a07101)
+ * cleaning up the package.json files - Jon Rohan [github/github@77763a1](https://github.com/github/github/commit/77763a1)
+ * Adding npm version badges to readme - Jon Rohan [github/github@90b1871](https://github.com/github/github/commit/90b1871)
+ * Adding tavisci build badges to the readmes - Jon Rohan [github/github@1a6126f](https://github.com/github/github/commit/1a6126f)
+
+# v0.1.0
+
+ * Moving text base utilities to utilities module - Jon Rohan [github/github@ac7383e](https://github.com/github/github/commit/ac7383e)
+ * renaming to typography-base - Jon Rohan [github/github@e34449b](https://github.com/github/github/commit/e34449b)
+ * Updating the readme - Jon Rohan [github/github@29ef203](https://github.com/github/github/commit/29ef203)
+ * Creating a base module from normalize and our primer base css - Jon Rohan [github/github@97e460f](https://github.com/github/github/commit/97e460f)
\ No newline at end of file
diff --git a/packages/primer-base/LICENSE b/packages/primer-base/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-base/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-base/README.md b/packages/primer-base/README.md
new file mode 100644
index 0000000000..2288512dfa
--- /dev/null
+++ b/packages/primer-base/README.md
@@ -0,0 +1,48 @@
+# Primer CSS Base
+
+[](https://www.npmjs.org/package/primer-base)
+[](https://travis-ci.org/primer/primer-css)
+
+> GitHub's CSS to reset the browsers default styles. Built on top of normalize.css
+
+This repository is a module of the full [primer-css][primer-css] repository. And is built off of [normalize.css](https://github.com/necolas/normalize.css/)
+
+## Install
+
+This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer-base` with this command.
+
+```
+$ npm install --save primer-base
+```
+
+## Usage
+
+The source files included are written in [Sass][sass] (`scss`) You can simply point your sass `include-path` at your `node_modules` directory and import it like this.
+
+```scss
+@import "primer-base/index.scss";
+```
+
+You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._
+
+## Build
+
+For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+
+```
+$ npm run build
+```
+
+## Documentation
+
+You can read more about base in the [docs][docs].
+
+## License
+
+[MIT](./LICENSE) © [GitHub](https://github.com/)
+
+[primer-css]: https://github.com/primer/primer
+[docs]: http://primercss.io/
+[npm]: https://www.npmjs.com/
+[install-npm]: https://docs.npmjs.com/getting-started/installing-node
+[sass]: http://sass-lang.com/
diff --git a/packages/primer-base/index.scss b/packages/primer-base/index.scss
new file mode 100644
index 0000000000..2ce815d11a
--- /dev/null
+++ b/packages/primer-base/index.scss
@@ -0,0 +1,5 @@
+@import "primer-support/index.scss";
+
+@import "./lib/normalize.scss";
+@import "./lib/base.scss";
+@import "./lib/typography-base.scss";
diff --git a/packages/primer-base/lib/base.scss b/packages/primer-base/lib/base.scss
new file mode 100644
index 0000000000..5e3340834d
--- /dev/null
+++ b/packages/primer-base/lib/base.scss
@@ -0,0 +1,67 @@
+// stylelint-disable selector-no-type
+* {
+ box-sizing: border-box;
+}
+
+input,
+select,
+textarea,
+button {
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+body {
+ font-family: $body-font;
+ font-size: $body-font-size;
+ line-height: $body-line-height;
+ color: $text-gray-dark;
+ background-color: $bg-white;
+}
+
+a {
+ color: $text-blue;
+ text-decoration: none;
+
+ &:hover {
+ text-decoration: underline;
+ }
+}
+
+b,
+strong {
+ font-weight: $font-weight-bold;
+}
+
+// Horizontal lines
+//
+// TODO-MDO: Remove `.rule` from everywhere and replace with ` `s
+hr,
+.rule {
+ height: 0;
+ margin: 15px 0;
+ overflow: hidden;
+ background: transparent;
+ border: 0;
+ border-bottom: 1px solid lighten($gray-300, 5%);
+ @include clearfix();
+}
+
+//
+// Remove most spacing between table cells.
+//
+
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+
+td,
+th {
+ padding: 0;
+}
+
+button {
+ cursor: pointer;
+}
diff --git a/packages/primer-base/lib/normalize.scss b/packages/primer-base/lib/normalize.scss
new file mode 100644
index 0000000000..bca298e757
--- /dev/null
+++ b/packages/primer-base/lib/normalize.scss
@@ -0,0 +1,423 @@
+// stylelint-disable
+/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
+
+/**
+ * 1. Change the default font family in all browsers (opinionated).
+ * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in Edge, IE, and Firefox.
+ * 2. Add the correct display in IE.
+ */
+
+article,
+aside,
+details, /* 1 */
+figcaption,
+figure,
+footer,
+header,
+main, /* 2 */
+menu,
+nav,
+section { /* 1 */
+ display: block;
+}
+
+summary {
+ display: list-item;
+}
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in iOS 4-7.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ vertical-align: baseline;
+}
+
+/**
+ * Add the correct display in IE 10-.
+ * 1. Add the correct display in IE.
+ */
+
+template, /* 1 */
+[hidden] {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
+ */
+
+a {
+ background-color: transparent; /* 1 */
+ -webkit-text-decoration-skip: objects; /* 2 */
+}
+
+/**
+ * Remove the outline on focused links when they are also active or hovered
+ * in all browsers (opinionated).
+ */
+
+a:active,
+a:hover {
+ outline-width: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * 1. Remove the bottom border in Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+
+b,
+strong {
+ font-weight: inherit;
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+
+mark {
+ background-color: #ff0;
+ color: #000;
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10-.
+ */
+
+img {
+ border-style: none;
+}
+
+/**
+ * Hide the overflow in IE.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct margin in IE 8.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change font properties to `inherit` in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+select,
+textarea {
+ font: inherit; /* 1 */
+ margin: 0; /* 2 */
+}
+
+/**
+ * Restore the font weight unset by the previous rule.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+ text-transform: none;
+}
+
+/**
+ * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+ * controls in Android 4.
+ * 2. Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+html [type="button"], /* 1 */
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Change the border, margin, and padding in all browsers (opinionated).
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
+ */
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Correct the text style of placeholders in Chrome, Edge, and Safari.
+ */
+
+::-webkit-input-placeholder {
+ color: inherit;
+ opacity: 0.54;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
diff --git a/packages/primer-base/lib/typography-base.scss b/packages/primer-base/lib/typography-base.scss
new file mode 100644
index 0000000000..4a6a39ad35
--- /dev/null
+++ b/packages/primer-base/lib/typography-base.scss
@@ -0,0 +1,85 @@
+// Headings
+// --------------------------------------------------
+// stylelint-disable selector-no-type
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+h1 { @include h1; }
+h2 { @include h2; }
+h3 { @include h3; }
+h4 { @include h4; }
+h5 { @include h5; }
+h6 { @include h6; }
+
+// Body text
+// --------------------------------------------------
+
+p {
+ margin-top: 0;
+ margin-bottom: 10px;
+}
+
+small {
+ font-size: 90%;
+}
+
+blockquote {
+ margin: 0;
+}
+
+// Lists
+// --------------------------------------------------
+
+ul,
+ol {
+ padding-left: 0;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+ol ol,
+ul ol {
+ list-style-type: lower-roman;
+}
+
+ul ul ol,
+ul ol ol,
+ol ul ol,
+ol ol ol {
+ list-style-type: lower-alpha;
+}
+
+dd {
+ margin-left: 0;
+}
+
+// Code
+// --------------------------------------------------
+
+tt,
+code {
+ font-family: $mono-font;
+ font-size: 12px;
+}
+
+pre {
+ margin-top: 0;
+ margin-bottom: 0;
+ font: 12px $mono-font;
+}
+
+// Octicons
+// --------------------------------------------------
+
+// Move this over here as a temporary override to the octicons source repo
+// instead of updating that upstream.
+.octicon {
+ vertical-align: text-bottom;
+}
diff --git a/packages/primer-base/package.json b/packages/primer-base/package.json
new file mode 100644
index 0000000000..615f11771c
--- /dev/null
+++ b/packages/primer-base/package.json
@@ -0,0 +1,41 @@
+{
+ "version": "1.1.1",
+ "name": "primer-base",
+ "description": "CSS to reset the browsers default styles",
+ "homepage": "http://primercss.io/",
+ "author": "GitHub, Inc.",
+ "license": "MIT",
+ "style": "index.scss",
+ "main": "build/index.js",
+ "files": [
+ "index.scss",
+ "lib",
+ "build"
+ ],
+ "repository": "https://github.com/primer/primer-css/tree/master/packages/primer-base",
+ "bugs": {
+ "url": "https://github.com/primer/primer-css/issues"
+ },
+ "scripts": {
+ "build": "primer-module-build index.scss",
+ "prepare": "npm run build",
+ "test": "npm run build && stylelint **/*.scss -c .stylelintrc.json -s scss"
+ },
+ "dependencies": {
+ "primer-support": "^4.0.3"
+ },
+ "devDependencies": {
+ "primer-module-build": "*",
+ "stylelint": "*",
+ "stylelint-config-primer": "*"
+ },
+ "keywords": [
+ "primer",
+ "css",
+ "github",
+ "primercss",
+ "base",
+ "reset",
+ "normalize"
+ ]
+}
diff --git a/packages/primer-blankslate/.gitignore b/packages/primer-blankslate/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-blankslate/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-blankslate/.npmignore b/packages/primer-blankslate/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-blankslate/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-blankslate/.postcss.json b/packages/primer-blankslate/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-blankslate/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-blankslate/.stylelintrc.json b/packages/primer-blankslate/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-blankslate/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-blankslate/CHANGELOG.md b/packages/primer-blankslate/CHANGELOG.md
new file mode 100644
index 0000000000..96cf193a76
--- /dev/null
+++ b/packages/primer-blankslate/CHANGELOG.md
@@ -0,0 +1,80 @@
+# v0.3.5
+
+ * Bump all the version numbers for readme - Mu-An Chiou [github/github@a9d152f](https://github.com/github/github/commit/a9d152f)
+ * Fix all the travis badge URL - Mu-An Chiou [github/github@9cd6d84](https://github.com/github/github/commit/9cd6d84)
+
+# v0.3.4
+
+ * update version numbers in primer-product - broccolini [github/github@5301936](https://github.com/github/github/commit/5301936)
+ * update rgb values with black variable - broccolini [github/github@51ef75d](https://github.com/github/github/commit/51ef75d)
+ * update #fff instances to white variables in primer-product modules - broccolini [github/github@49ec35d](https://github.com/github/github/commit/49ec35d)
+ * replace more gray hex's with variables - broccolini [github/github@fe5de70](https://github.com/github/github/commit/fe5de70)
+ * replace light gray hex's with variables in primer-product modules - broccolini [github/github@1088a47](https://github.com/github/github/commit/1088a47)
+ * replace light gray hex refs with new variable - broccolini [github/github@8d5acdc](https://github.com/github/github/commit/8d5acdc)
+
+# v0.3.3
+
+ * bumping patch - Jon Rohan [github/github@23a6aa8](https://github.com/github/github/commit/23a6aa8)
+ * Missing primer-support import - Jon Rohan [github/github@d3bdb2a](https://github.com/github/github/commit/d3bdb2a)
+
+# v0.3.2
+
+ * More versions - Jon Rohan [github/github@e12ba2e](https://github.com/github/github/commit/e12ba2e)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+
+# v0.3.1
+
+ * Removing needless disables - Jon Rohan [github/github@6233c40](https://github.com/github/github/commit/6233c40)
+ * update blankslate version number - broccolini [github/github@2005521](https://github.com/github/github/commit/2005521)
+ * Simplify the declaration - Jon Rohan [github/github@b505cf3](https://github.com/github/github/commit/b505cf3)
+
+# v0.3.0
+
+ * Cutting new versions of primer modules - Jon Rohan [github/github@157f5ab](https://github.com/github/github/commit/157f5ab)
+ * Rename repository with prefix primer- - Jon Rohan [github/github@ec8774a](https://github.com/github/github/commit/ec8774a)
+ * Separating out modules into primer-core and primer-product - Jon Rohan [github/github@ddf698c](https://github.com/github/github/commit/ddf698c)
+
+# v0.2.4
+
+ * Updating version - Jon Rohan [github/github@6bf5fe5](https://github.com/github/github/commit/6bf5fe5)
+ * Updating link to real primer-css repository - Jon Rohan [github/github@bbaedda](https://github.com/github/github/commit/bbaedda)
+ * Updating the modules stylelint - Jon Rohan [github/github@389609f](https://github.com/github/github/commit/389609f)
+ * Make sure the modules build without error before publishing - Jon Rohan [github/github@57ac5e6](https://github.com/github/github/commit/57ac5e6)
+ * Adding documentation status to most of the modules - Jon Rohan [github/github@b97695c](https://github.com/github/github/commit/b97695c)
+
+# v0.2.3
+
+ * Publishing a new version - Jon Rohan [github/github@eed0e96](https://github.com/github/github/commit/eed0e96)
+ * Updating octicons to deprecate the use of :symbol - Jon Rohan [github/github@9eb0c63](https://github.com/github/github/commit/9eb0c63)
+ * Replacing the use of :size in octicons with :height - Jon Rohan [github/github@e2dbe6f](https://github.com/github/github/commit/e2dbe6f)
+ * Adding link to homepage in readme docs - Jon Rohan [github/github@633f421](https://github.com/github/github/commit/633f421)
+ * Removing some unnecessary lint plugins and using native - Jon Rohan [github/github@2ae0070](https://github.com/github/github/commit/2ae0070)
+ * including no-utility lint plugin - Jon Rohan [github/github@5cb86ed](https://github.com/github/github/commit/5cb86ed)
+ * Adding lint plugins for new config - Jon Rohan [github/github@7fb9613](https://github.com/github/github/commit/7fb9613)
+
+# v0.2.2
+
+ * Mentioning the build file - Jon Rohan [github/github@64ca4a7](https://github.com/github/github/commit/64ca4a7)
+ * Including build/build.css in distributed npm module - Jon Rohan [github/github@e4effbf](https://github.com/github/github/commit/e4effbf)
+ * Updating modules to run on prepublish to include build.css in distribution - Jon Rohan [github/github@5b573a0](https://github.com/github/github/commit/5b573a0)
+ * Re-ordering the docs to the bottom of the readme - Jon Rohan [github/github@9c1f291](https://github.com/github/github/commit/9c1f291)
+ * Updating the link - Jon Rohan [github/github@f67684b](https://github.com/github/github/commit/f67684b)
+
+# v0.2.1
+
+ * Bumping version to include postcss.json in npm - Jon Rohan [github/github@9e560ba](https://github.com/github/github/commit/9e560ba)
+ * Using stylelint to lint the modules instead of scss_lint - Jon Rohan [github/github@cb0b8fd](https://github.com/github/github/commit/cb0b8fd)
+
+# v0.2.0
+
+ * Cutting new version 0.2.0 - Jon Rohan [github/github@a6f6586](https://github.com/github/github/commit/a6f6586)
+ * Don't link requirements - Jon Rohan [github/github@7740e81](https://github.com/github/github/commit/7740e81)
+ * Updating the README with more detailed instructions - Jon Rohan [github/github@5dd7c34](https://github.com/github/github/commit/5dd7c34)
+ * Reorganize the module folders into a more flexible organization - Jon Rohan [github/github@5a07101](https://github.com/github/github/commit/5a07101)
+ * cleaning up the package.json files - Jon Rohan [github/github@77763a1](https://github.com/github/github/commit/77763a1)
+ * Adding npm version badges to readme - Jon Rohan [github/github@90b1871](https://github.com/github/github/commit/90b1871)
+ * Adding tavisci build badges to the readmes - Jon Rohan [github/github@1a6126f](https://github.com/github/github/commit/1a6126f)
+
+# v0.1.0
+
+ * Moving blankslate from primer/primer - Jon Rohan [github/github@4b04c44](https://github.com/github/github/commit/4b04c44)
\ No newline at end of file
diff --git a/packages/primer-blankslate/LICENSE b/packages/primer-blankslate/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-blankslate/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-blankslate/README.md b/packages/primer-blankslate/README.md
new file mode 100644
index 0000000000..d8bfaea79a
--- /dev/null
+++ b/packages/primer-blankslate/README.md
@@ -0,0 +1,138 @@
+# Primer CSS Blankslate
+
+[](https://www.npmjs.org/package/primer-blankslate)
+[](https://travis-ci.org/primer/primer-css)
+
+> Blankslates are for when there is a lack of content within a page or section. Use them as placeholders to tell users why something isn’t there. Be sure to provide an action to add content as well.
+
+This repository is a module of the full [primer-css][primer-css] repository.
+
+## Install
+
+This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer-blankslate` with this command.
+
+```
+$ npm install --save primer-blankslate
+```
+
+## Usage
+
+The source files included are written in [Sass][sass] (`scss`) You can simply point your sass `include-path` at your `node_modules` directory and import it like this.
+
+```scss
+@import "primer-blankslate/index.scss";
+```
+
+You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._
+
+## Build
+
+For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+
+```
+$ npm run build
+```
+
+## Documentation
+
+
+
+Blankslates are for when there is a lack of content within a page or section. Use them as placeholders to tell users why something isn't there. Be sure to provide an action to add content as well.
+
+#### Basic example
+
+Wrap some content in the outer `.blankslate` wrapper to give it the blankslate appearance.
+
+```html
+
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+#### With Octicons
+
+When it helps the message, include (relevant) icons in your blank slate. Add `.blankslate-icon` to any `.mega-octicon`s as the first elements in the blankslate, like so.
+
+```html
+
+ <%= octicon "git-commit", :height => 32, :class => "blankslate-icon" %>
+ <%= octicon "tag", :height => 32, :class => "blankslate-icon" %>
+ <%= octicon "git-branch", :height => 32, :class => "blankslate-icon" %>
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+#### Variations
+
+Add an additional optional class to the `.blankslate` to change its appearance.
+
+##### Narrow
+
+Narrows the blankslate container to not occupy the entire available width.
+
+```html
+
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+##### Capped
+
+Removes the `border-radius` on the top corners.
+
+```html
+
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+##### Spacious
+
+Significantly increases the vertical padding.
+
+```html
+
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+##### Large
+
+Increases the size of the text in the blankslate
+
+```html
+
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+##### No background
+
+Removes the `background-color` and `border`.
+
+```html
+
+
This is a blank slate
+
Use it to provide information when no dynamic content exists.
+
+```
+
+
+## License
+
+[MIT](./LICENSE) © [GitHub](https://github.com/)
+
+[primer-css]: https://github.com/primer/primer
+[docs]: http://primercss.io/
+[npm]: https://www.npmjs.com/
+[install-npm]: https://docs.npmjs.com/getting-started/installing-node
+[sass]: http://sass-lang.com/
diff --git a/packages/primer-blankslate/index.scss b/packages/primer-blankslate/index.scss
new file mode 100644
index 0000000000..5dbd014dac
--- /dev/null
+++ b/packages/primer-blankslate/index.scss
@@ -0,0 +1,3 @@
+@import "primer-support/index.scss";
+
+@import "./lib/blankslate.scss";
diff --git a/packages/primer-blankslate/lib/blankslate.scss b/packages/primer-blankslate/lib/blankslate.scss
new file mode 100644
index 0000000000..be67da1ab1
--- /dev/null
+++ b/packages/primer-blankslate/lib/blankslate.scss
@@ -0,0 +1,57 @@
+// stylelint-disable selector-no-type
+.blankslate {
+ position: relative;
+ padding: $spacer-5;
+ text-align: center;
+ background-color: $gray-000;
+ border: 1px solid $gray-200;
+ border-radius: 3px;
+ box-shadow: inset 0 0 10px rgba($black, 0.05);
+
+ code {
+ padding: 2px 5px 3px;
+ font-size: 14px;
+ background: $bg-white;
+ border: 1px solid $border-gray-light;
+ border-radius: 3px;
+ }
+}
+
+.blankslate-icon {
+ margin-right: $spacer-1;
+ margin-bottom: $spacer-2;
+ margin-left: $spacer-1;
+ color: lighten($gray-400, 5%);
+}
+
+.blankslate-capped {
+ border-radius: 0 0 3px 3px;
+}
+
+.blankslate-spacious {
+ padding: ($spacer-6 * 2) $spacer-6;
+}
+
+.blankslate-narrow {
+ width: 485px;
+ margin: 0 auto;
+}
+
+// was .large-format
+.blankslate-large {
+ h3 {
+ margin: $spacer-3 0;
+ font-size: $h3-size;
+ }
+
+ p {
+ font-size: $h4-size;
+ }
+}
+
+// was .clean-background
+.blankslate-clean-background {
+ background: none;
+ border: 0;
+ box-shadow: none;
+}
diff --git a/packages/primer-blankslate/package.json b/packages/primer-blankslate/package.json
new file mode 100644
index 0000000000..a6b0a08acd
--- /dev/null
+++ b/packages/primer-blankslate/package.json
@@ -0,0 +1,41 @@
+{
+ "version": "0.3.7",
+ "name": "primer-blankslate",
+ "description": "Blankslates are for when there is a lack of content within a page or section.",
+ "homepage": "http://primercss.io/",
+ "author": "GitHub, Inc.",
+ "license": "MIT",
+ "style": "index.scss",
+ "main": "build/index.js",
+ "files": [
+ "index.scss",
+ "lib",
+ "build"
+ ],
+ "repository": "https://github.com/primer/primer-css/tree/master/packages/primer-blankslate",
+ "bugs": {
+ "url": "https://github.com/primer/primer-css/issues"
+ },
+ "scripts": {
+ "build": "primer-module-build index.scss",
+ "prepare": "npm run build",
+ "test": "npm run build && stylelint **/*.scss -c .stylelintrc.json -s scss"
+ },
+ "dependencies": {
+ "primer-support": "^4.0.3"
+ },
+ "devDependencies": {
+ "primer-module-build": "*",
+ "stylelint": "*",
+ "stylelint-config-primer": "*"
+ },
+ "keywords": [
+ "primer",
+ "css",
+ "github",
+ "primercss",
+ "blankslate",
+ "empty",
+ "content"
+ ]
+}
diff --git a/packages/primer-box/.gitignore b/packages/primer-box/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-box/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-box/.npmignore b/packages/primer-box/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-box/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-box/.postcss.json b/packages/primer-box/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-box/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-box/.stylelintrc.json b/packages/primer-box/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-box/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-box/CHANGELOG.md b/packages/primer-box/CHANGELOG.md
new file mode 100644
index 0000000000..463f396743
--- /dev/null
+++ b/packages/primer-box/CHANGELOG.md
@@ -0,0 +1,58 @@
+# v2.1.2
+
+ * Bump all the version numbers for readme - Mu-An Chiou [github/github@a9d152f](https://github.com/github/github/commit/a9d152f)
+ * Fix all the travis badge URL - Mu-An Chiou [github/github@9cd6d84](https://github.com/github/github/commit/9cd6d84)
+
+# v2.1.1
+
+ * update version number after color variable updates - broccolini [github/github@b2a811a](https://github.com/github/github/commit/b2a811a)
+ * update border variable names used in components - broccolini [github/github@865ab4f](https://github.com/github/github/commit/865ab4f)
+
+# v2.1.0
+
+ * update primer-core version number - broccolini [github/github@6846743](https://github.com/github/github/commit/6846743)
+ * Update some borders to correct contrast and small inconsistencies - Mark Otto [github/github@76c782a](https://github.com/github/github/commit/76c782a)
+ * lighter yellow for box row highlight - broccolini [github/github@ab68ca4](https://github.com/github/github/commit/ab68ca4)
+
+# v2.0.2
+
+ * update version numbers for primer package with bold update - broccolini [github/github@5d3e089](https://github.com/github/github/commit/5d3e089)
+
+# v2.0.1
+
+ * More versions - Jon Rohan [github/github@e12ba2e](https://github.com/github/github/commit/e12ba2e)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+
+# v2.0.0
+
+ * Removing needless disables - Jon Rohan [github/github@6233c40](https://github.com/github/github/commit/6233c40)
+ * update package version - broccolini [github/github@45f6fe9](https://github.com/github/github/commit/45f6fe9)
+ * change Box-row-link to smaller breakpoint - broccolini [github/github@3b660b4](https://github.com/github/github/commit/3b660b4)
+ * bump version number - broccolini [github/github@d4d505f](https://github.com/github/github/commit/d4d505f)
+ * ensure first row border doesn't override header border - broccolini [github/github@42f0537](https://github.com/github/github/commit/42f0537)
+ * Correct doc headings - broccolini [github/github@b5408ff](https://github.com/github/github/commit/b5408ff)
+ * Update row styles and docs on markup structure - broccolini [github/github@9e0c44f](https://github.com/github/github/commit/9e0c44f)
+ * removing box overlay styles to explore in separate pr - broccolini [github/github@392109a](https://github.com/github/github/commit/392109a)
+ * update Subhead class name - broccolini [github/github@4c4463d](https://github.com/github/github/commit/4c4463d)
+ * update bg-yellow variables - broccolini [github/github@79701f2](https://github.com/github/github/commit/79701f2)
+ * bump box version number - broccolini [github/github@4eb2f8c](https://github.com/github/github/commit/4eb2f8c)
+ * Update Box-danger theme - broccolini [github/github@abb10f6](https://github.com/github/github/commit/abb10f6)
+ * Update Box-body-row to Box-row in scss and docs - broccolini [github/github@cdfe299](https://github.com/github/github/commit/cdfe299)
+ * fix density rows and doc examples - broccolini [github/github@cd18965](https://github.com/github/github/commit/cd18965)
+ * fix links - broccolini [github/github@c3238aa](https://github.com/github/github/commit/c3238aa)
+ * update header and title instances - broccolini [github/github@13cfaf0](https://github.com/github/github/commit/13cfaf0)
+ * update docs with new Box-body and row styles - broccolini [github/github@816ac8c](https://github.com/github/github/commit/816ac8c)
+ * and negative margin to footer so works with Box-body - broccolini [github/github@225b707](https://github.com/github/github/commit/225b707)
+ * separate body and row styles - broccolini [github/github@5a554f3](https://github.com/github/github/commit/5a554f3)
+ * Update intro and use automated toc - broccolini [github/github@ad3a9e9](https://github.com/github/github/commit/ad3a9e9)
+ * use all of the variables - broccolini [github/github@896b70a](https://github.com/github/github/commit/896b70a)
+ * Float right profile image, remove danger zone bg - imgonnarelph [github/github@62d3f6d](https://github.com/github/github/commit/62d3f6d)
+ * lint - imgonnarelph [github/github@9a5ec5a](https://github.com/github/github/commit/9a5ec5a)
+ * User variable for red color - imgonnarelph [github/github@c44b27c](https://github.com/github/github/commit/c44b27c)
+ * Style unboxed developer program section - imgonnarelph [github/github@e70aab4](https://github.com/github/github/commit/e70aab4)
+
+# v0.0.1
+
+ * Updating box repo name - Jon Rohan [github/github@d54336a](https://github.com/github/github/commit/d54336a)
+ * added feedback issue to box docs - broccolini [github/github@559a4d4](https://github.com/github/github/commit/559a4d4)
+ * Move box into product-core cc @jonrohan - broccolini [github/github@8febc0e](https://github.com/github/github/commit/8febc0e)
\ No newline at end of file
diff --git a/packages/primer-box/LICENSE b/packages/primer-box/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-box/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-box/README.md b/packages/primer-box/README.md
new file mode 100644
index 0000000000..40bcb81199
--- /dev/null
+++ b/packages/primer-box/README.md
@@ -0,0 +1,597 @@
+# Primer CSS box
+
+[](https://www.npmjs.org/package/primer-box)
+[](https://travis-ci.org/primer/primer-css)
+
+> 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.
+
+## Install
+
+This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer-box` with this command.
+
+```
+$ npm install --save primer-box
+```
+
+## Usage
+
+The source files included are written in [Sass][sass] (`scss`) You can simply point your sass `include-path` at your `node_modules` directory and import it like this.
+
+```scss
+@import "primer-box/index.scss";
+```
+
+You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._
+
+## Build
+
+For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+
+```
+$ npm run build
+```
+
+## Documentation
+
+
+
+The `.Box` component can be used for something as simple as a rounded corner box, or more complex lists and forms. It includes optional modifiers for padding density and color themes.
+
+{:toc}
+
+## 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.
+
+```html
+
+ This is a box.
+
+```
+
+## Box elements
+Box elements include `Box-header`, `Box-body`, and `Box-footer`. These elements include borders and consistent padding. Optionally, you can include use `Box-title` which applies a bold font-weight the heading.
+
+```html
+
+```
+
+### Box row
+
+Use `Box-row` to add rows with borders and maintain the same padding. Box rows have a lighter border to give contrast between the header and footer.
+
+**Note:** Box rows have some reliance on markup structure in order to target the first and last rows, therefore using an unordered list is recommended. See [box row markup structure](#box-row-markup-structure) for more information.
+
+```html
+
+
+
+ Box row one
+
+
+ Box row two
+
+
+ Box row three
+
+
+ Box row four
+
+
+
+```
+
+
+Rows can be used with or without `Box-header`, `Box-footer`, or `Box-body`.
+
+```html
+
+
+
+ Box body
+
+
+
+ Box row one
+
+
+ Box row two
+
+
+ Box row three
+
+
+ Box row four
+
+
+
+
+```
+
+### Box row markup structure
+Box rows have some reliance on markup structure in order to target the first and last rows. Box rows are given a top border that is lighter in color than other box elements so the first row is targeted to apply a darker border color. An inner border-radius is applied to the first and last rows that that row corners don't poke outside the `Box`, this can be particularly noticeable when using a highlight on box rows.
+
+Using an unordered list is recommended in order to target the first and last rows, however, if you need to use a `` for your rows, you may want to place your rows inside a parent `
` so that the first and last rows are styled appropriately.
+
+```html
+
+
+
+
+
Box row using a div
+
Box row using a div
+
+
+```
+
+## Box padding density
+You can changed the padding density of the box component.
+
+Use `Box--condensed` to apply a more condensed line-height and reduce the padding on the Y axis.
+
+```html
+
+
+
+ Box body
+
+
+
+ Box row one
+
+
+ Box row two
+
+
+
+
+```
+
+Use `Box--spacious` to increase padding and increase the title font size.
+
+You may want to increase the overall font size to work with the larger padding, in this example the default body font size is increased to 16px using the `f4` typography utility.
+
+```html
+
+
+
+ Box body
+
+
+
+ Box row one
+
+
+ Box row two
+
+
+
+
+```
+
+## Blue box theme
+Use `Box--blue` to style the box borders and box header in blue.
+
+```html
+
+
+
+
+ Box row one
+
+
+ Box row two
+
+
+
+
+```
+
+## Blue box header theme
+
+Use `Box-header--blue` to add to change the header border and background to blue.
+
+```html
+
+```
+
+## Box danger theme
+
+Use `Box--danger` to apply a red border to the outside of the box. This theme is helpful for communicating destructive actions.
+
+**Note:** `Box-danger` only works with either `Box-row`'s or `Box-body`.
+
+```html
+
+
+ Row one
+
+
+ Row two
+
+
+```
+
+`Box-danger` is often paired with a red heading. See the [subhead](/styleguide/css/styles/product/components/subhead) docs for more information.
+
+```html
+
+
Danger zone
+
+
+
+```
+
+## Row themes
+You can change the background color for individual rows, or change the color on hover or navigation focus.
+
+
+```html
+
+
+ .Box-row--gray
+
+
+ .Box-row--hover-gray
+
+
+ .Box-row--yellow
+
+
+ .Box-row--hover-blue
+
+
+ .Box-row--blue
+
+
+```
+
+Use `Box-row--focus-gray` or `Box-row--focus-blue` when using along-side `navigation-focus` if you want to highlight rows when using keyboard commands.
+
+```html
+
+
+ .Box-row--focus-gray and .navigation-focus
+
+
+ .Box-row--focus-gray
+
+
+ .Box-row--focus-blue and .navigation-focus
+
+
+ .Box-row--focus-blue
+
+
+```
+
+### Box row unread
+Use `.Box-row-unread` to apply a blue vertical line highlight for indicating a row contains unread items.
+
+```html
+
+
+ Box row
+
+
+ Box row unread
+
+
+ Box row
+
+
+```
+
+### Box row link
+Use .`Box-row-link` when you want a link to appear dark gray and blue on hover on desktop, and remain a blue link on mobile. This is useful to indicate links on mobile without having hover styles.
+
+```html
+
+```
+
+## Dashed border
+Use the `border-dashed` utility to apply a dashed border to a box.
+
+```html
+
+ A box with a dashed border
+
+```
+
+## Boxes with flash alerts
+Use `flash-full` for flash alert inside a box to remove the rounded corners. Place the flash alert above the `Box-body` and underneath the `Box-header`.
+
+Flash alerts come in three different colors and can be used with icons and buttons, see the [alert documentation](/alerts) for more information.
+
+```html
+
+
+
+ <%= octicon "x" %>
+ Flash message with close button.
+
+
+ <%= octicon("check") %> Flash success with an icon.
+
+
+ <%= octicon("alert") %> Flash warning with an icon.
+
+
+ Flash error inside a Box.
+
+
+ Box body
+
+
+```
+
+## Boxes with icons
+Use `Box-btn-octicon` with `btn-octicon` when you want the icon to maintain the same padding as other box elements. This selector offsets margin to ensure it lines up on the left and right sides of the box so you may need to add padding neighboring elements.
+
+```html
+
+
+ Box body
+ <%= octicon("pencil") %>
+
+
+```
+
+It's common to want to float icons to the far left or right and stop the `Box-title`from wrapping underneath. To do this you'll need to create a media object with utilities. Add `clearfix` to the surrounding div (this could be the header, body, or rows), add `overflow-hidden` to the title (or other text element), and float the icons as desired.
+
+```html
+
+```
+
+```html
+
+
+
<%= octicon "check" %>
+
A very long paragraph that wraps onto multiple lines without overlapping or wrapping underneath the icon to it's left
+
+
+```
+
+## Box headers with counters
+Use a counter with a background that works against the contrast of the box header. The default counter colors do not stand out well against the header background so we suggest using one of the following styles:
+
+Use `Counter--gray` for a counter with a gray background and dark gray text.
+
+```html
+
+```
+
+Use `Counter--gray-dark` for a counter with a dark gray background and white text.
+
+```html
+
+```
+
+## Form elements and buttons in boxes
+To achieve different layouts when adding buttons or form elements to boxes we suggest you use utilities to achieve the layout you want. Here's some common examples:
+
+Use [flexbox utilities](../utilities/flexbox) to center align items, and avoid using floats by using `flex-auto` to have the text fill the remaining space so that the button rests on the far right.
+
+```html
+
+```
+
+A similar approach can be used for buttons with multiple lines of text within a row.
+
+```html
+
+
+
+
Row title
+
+ Description
+
+
+
View
+
+
+
+
Row title
+
+ Description
+
+
+
View
+
+
+
+
Row title
+
+ Description
+
+
+
View
+
+
+```
+Using flexbox along with form, button, and link styles, you can create more complex box headers for things like bulk actions and sorting.
+
+```html
+
+```
+
+You can put forms in boxes. Often form submission buttons are aligned to the bottom right of the form which you can do with `text-right` instead of using floats.
+
+```html
+
+```
+
+When a box is all by itself centered on a page you can use [column widths](/grid) to control the width of the box. If needed, break the mold a little and use [typography utilities](../utilities/typography) instead of the built in box title styles.
+
+```html
+
+```
+
+Box patterns can also be made with, and modified with [border utilities](../utilities/borders).
+
+
+
+## License
+
+[MIT](./LICENSE) © [GitHub](https://github.com/)
+
+[primer-css]: https://github.com/primer/primer
+[docs]: http://primercss.io/
+[npm]: https://www.npmjs.com/
+[install-npm]: https://docs.npmjs.com/getting-started/installing-node
+[sass]: http://sass-lang.com/
diff --git a/packages/primer-box/index.scss b/packages/primer-box/index.scss
new file mode 100644
index 0000000000..94a6fe4178
--- /dev/null
+++ b/packages/primer-box/index.scss
@@ -0,0 +1,2 @@
+@import "primer-support/index.scss";
+@import "./lib/box.scss";
diff --git a/packages/primer-box/lib/box.scss b/packages/primer-box/lib/box.scss
new file mode 100644
index 0000000000..38e794c9b3
--- /dev/null
+++ b/packages/primer-box/lib/box.scss
@@ -0,0 +1,284 @@
+// Box
+// Intended to replace simple-box, boxed-group, and table-list
+
+.Box {
+ background-color: $white;
+ border: $border-width $border-style $border-gray-dark;
+ border-radius: $border-radius;
+}
+
+// Box padding density options
+.Box--condensed {
+ line-height: $lh-condensed;
+
+ .Box-header {
+ padding: $spacer-2 $spacer-3;
+ }
+
+ .Box-body {
+ padding: $spacer-2 $spacer-3;
+ }
+
+ .Box-footer {
+ padding: $spacer-2 $spacer-3;
+ }
+
+ .Box-btn-octicon {
+ &.btn-octicon {
+ padding: $spacer-2 $spacer-3;
+ margin: (-$spacer-2) (-$spacer-3);
+ line-height: $lh-condensed;
+ }
+ }
+
+ .Box-row {
+ padding: $spacer-2 $spacer-3;
+ }
+
+}
+
+.Box--spacious {
+ .Box-header {
+ padding: $spacer-4;
+ line-height: $lh-condensed;
+ }
+
+ .Box-title {
+ font-size: $h3-size;
+ }
+
+ .Box-body {
+ padding: $spacer-4;
+ }
+
+ .Box-footer {
+ padding: $spacer-4;
+ }
+
+ .Box-btn-octicon {
+ &.btn-octicon {
+ padding: $spacer-4;
+ margin: (-$spacer-4) (-$spacer-4);
+ }
+ }
+
+ .Box-row {
+ padding: $spacer-4;
+ }
+
+}
+
+.Box-header {
+ padding: $spacer-3;
+ margin: -1px -1px 0 -1px;
+ background-color: $bg-gray;
+ border-color: $border-gray-dark;
+ border-style: $border-style;
+ border-width: $border-width;
+ border-top-left-radius: $border-radius;
+ border-top-right-radius: $border-radius;
+}
+
+.Box-title {
+ font-size: $body-font-size;
+ font-weight: $font-weight-bold;
+}
+
+.Box-body {
+ padding: $spacer-3;
+ border-bottom: $border-width $border-style $border-gray;
+
+ // Ensures bottom-border doesn't poke out when .Box-body used without box-footer
+ &:last-of-type {
+ margin-bottom: -1px;
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ }
+}
+
+// Box rows
+.Box-row {
+ padding: $spacer-3;
+ margin-top: -1px;
+ list-style-type: none; // To account for applying Box component to a list
+ border-top: $border-width $border-style $border-gray;
+
+ &:first-of-type {
+ border-top-color: transparent;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ }
+
+ &:last-of-type {
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ }
+
+ // Adds a blue vertical line to the left of the row
+ // For indicating a row item is unread
+ &.Box-row--unread,
+ // .unread to be deprecated with .Box-row-unread
+ &.unread {
+ box-shadow: 2px 0 0 $blue inset;
+ }
+
+ &.navigation-focus {
+ // Focus styles for when drag icon
+ .Box-row--drag-button {
+ color: $text-blue;
+ cursor: grab;
+ opacity: 100;
+ }
+
+ // Grabbing while row is dragged
+ &.is-dragging .Box-row--drag-button {
+ cursor: grabbing;
+ }
+
+ // Row dragging styles
+ &.sortable-chosen {
+ background-color: $bg-gray-light;
+ }
+
+ // Makes dragging row background gray
+ &.sortable-ghost {
+ background-color: $bg-gray;
+
+ // Hides contents of row while dragging so row looks solid gray
+ .Box-row--drag-hide {
+ opacity: 0;
+ }
+ }
+
+ }
+}
+
+.Box-row--focus-gray {
+ &.navigation-focus {
+ background-color: $bg-gray;
+ }
+}
+
+.Box-row--focus-blue {
+ &.navigation-focus {
+ background-color: $bg-blue-light;
+ }
+}
+
+.Box-row--hover-gray {
+ &:hover {
+ background-color: $bg-gray;
+ }
+}
+
+.Box-row--hover-blue {
+ &:hover {
+ background-color: $bg-blue-light;
+ }
+}
+
+// Optional link style
+// Makes links on mobile blue since they don't have hover state,
+// and links are dark-gray with blue hover on desktop.
+.Box-row-link {
+ @include breakpoint(md) {
+
+ color: $text-gray-dark;
+ text-decoration: none;
+
+ &:hover {
+ color: $text-blue;
+ text-decoration: none;
+ }
+
+ }
+}
+
+// Optional drag icon styles for reordering items
+// Focus styles included in .Box-row above
+.Box-row--drag-button {
+ opacity: 0;
+}
+
+.Box-footer {
+ padding: $spacer-3;
+ margin-top: -1px; // prevents double border when used with .Box-body
+ border-top: $border-width $border-style $border-gray;
+}
+
+// Option for a box with scrolling content
+.Box--scrollable {
+ max-height: 324px;
+ overflow: scroll;
+}
+
+// Box themes
+
+.Box--blue {
+ border-color: $border-blue-light;
+
+ .Box-header {
+ background-color: $bg-blue-light;
+ border-color: $border-blue-light;
+ }
+
+ .Box-body {
+ border-color: $border-blue-light;
+ }
+
+ .Box-row {
+ border-color: $border-blue-light;
+ }
+
+ .Box-footer {
+ border-color: $border-blue-light;
+ }
+}
+
+// Applies and red border to the outside of the box,
+// but not to the border separating rows.
+.Box--danger {
+ border-color: $border-red;
+
+ .Box-row {
+ &:first-of-type {
+ border-color: $border-red;
+ }
+ }
+
+ .Box-body {
+ &:last-of-type {
+ border-color: $border-red;
+ }
+ }
+}
+
+.Box-header--blue {
+ background-color: $bg-blue-light;
+ border-color: $border-blue-light;
+}
+
+// Box row highlight themes
+
+.Box-row--yellow {
+ background-color: $yellow-100;
+}
+
+.Box-row--blue {
+ background-color: $bg-blue-light;
+}
+
+.Box-row--gray {
+ background-color: $bg-gray;
+}
+
+//Box with btn-octicon
+.Box-btn-octicon {
+
+ // Increase specificity when btn-octicon is used because comes after .Box in the cascade
+ &.btn-octicon {
+ padding: $spacer-3 $spacer-3;
+ margin: (-$spacer-3) (-$spacer-3);
+ line-height: $lh-default; // override btn-octicon line-height
+ }
+}
diff --git a/packages/primer-box/package.json b/packages/primer-box/package.json
new file mode 100644
index 0000000000..2a0c2d78a5
--- /dev/null
+++ b/packages/primer-box/package.json
@@ -0,0 +1,38 @@
+{
+ "version": "2.1.4",
+ "name": "primer-box",
+ "description": "A module for creating rounded-corner boxes with options for headers, lists, and footers.",
+ "homepage": "http://primercss.io/",
+ "author": "GitHub, Inc.",
+ "license": "MIT",
+ "style": "index.scss",
+ "main": "build/index.js",
+ "files": [
+ "index.scss",
+ "lib",
+ "build"
+ ],
+ "repository": "https://github.com/primer/primer-css/tree/master/packages/primer-box",
+ "bugs": {
+ "url": "https://github.com/primer/primer-css/issues"
+ },
+ "scripts": {
+ "build": "primer-module-build index.scss",
+ "prepare": "npm run build",
+ "test": "npm run build && stylelint **/*.scss -c .stylelintrc.json -s scss"
+ },
+ "dependencies": {
+ "primer-support": "^4.0.3"
+ },
+ "devDependencies": {
+ "primer-module-build": "*",
+ "stylelint": "*",
+ "stylelint-config-primer": "*"
+ },
+ "keywords": [
+ "primer",
+ "css",
+ "github",
+ "primercss"
+ ]
+}
diff --git a/packages/primer-breadcrumb/.gitignore b/packages/primer-breadcrumb/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-breadcrumb/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-breadcrumb/.npmignore b/packages/primer-breadcrumb/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-breadcrumb/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-breadcrumb/.postcss.json b/packages/primer-breadcrumb/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-breadcrumb/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-breadcrumb/.stylelintrc.json b/packages/primer-breadcrumb/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-breadcrumb/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-breadcrumb/CHANGELOG.md b/packages/primer-breadcrumb/CHANGELOG.md
new file mode 100644
index 0000000000..246aec2ea2
--- /dev/null
+++ b/packages/primer-breadcrumb/CHANGELOG.md
@@ -0,0 +1,30 @@
+# v0.1.1
+
+ * bumping the version - Jon Rohan [github/github@4a72b25](https://github.com/github/github/commit/4a72b25)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+ * don't change the versions yet - Jon Rohan [github/github@6bebcff](https://github.com/github/github/commit/6bebcff)
+ * Mark breadcrumbs as navigation ref: http://w3c.github.io/aria-practices/examples/breadcrumb/index.html - Mu-An Chiou [github/github@697312d](https://github.com/github/github/commit/697312d)
+ * Bumping version - Jon Rohan [github/github@df8b91c](https://github.com/github/github/commit/df8b91c)
+ * Cleaning up devDependencies versions and simplifying npm scripts - Jon Rohan [github/github@2c42571](https://github.com/github/github/commit/2c42571)
+ * Sorting and table objects. We also don't need homepage - Jon Rohan [github/github@798629d](https://github.com/github/github/commit/798629d)
+ * Removing duplicate headers - Jon Rohan [github/github@225cee1](https://github.com/github/github/commit/225cee1)
+
+# v0.1.0
+
+ * Rename repository with prefix primer- - Jon Rohan [github/github@ec8774a](https://github.com/github/github/commit/ec8774a)
+ * update example markdown - Patrick Marsceill [github/github@601fe9d](https://github.com/github/github/commit/601fe9d)
+ * Clean this up - Patrick Marsceill [github/github@c858d66](https://github.com/github/github/commit/c858d66)
+ * refactor breadcrumb to be better - Patrick Marsceill [github/github@30b6eaa](https://github.com/github/github/commit/30b6eaa)
+ * Update the names in the README files - Patrick Marsceill [github/github@75fed58](https://github.com/github/github/commit/75fed58)
+ * Update names for npm publising - Patrick Marsceill [github/github@451f97a](https://github.com/github/github/commit/451f97a)
+ * Fix import path across all scss files - Patrick Marsceill [github/github@a566f31](https://github.com/github/github/commit/a566f31)
+ * Smart quote :( - Patrick Marsceill [github/github@3e116ad](https://github.com/github/github/commit/3e116ad)
+ * Breadcrumb docs - Patrick Marsceill [github/github@9547e46](https://github.com/github/github/commit/9547e46)
+ * Tweak breadcrumb spacing - Patrick Marsceill [github/github@b32a8b1](https://github.com/github/github/commit/b32a8b1)
+ * Add breadcrumb docs - Patrick Marsceill [github/github@40a1743](https://github.com/github/github/commit/40a1743)
+ * Tweak breadcrumb spacing and color - Patrick Marsceill [github/github@57fd94b](https://github.com/github/github/commit/57fd94b)
+ * Test data for breadcrumb docs - Patrick Marsceill [github/github@9db2182](https://github.com/github/github/commit/9db2182)
+ * Fix variable collisions and add basecoat to site to test sass compilation errors - Patrick Marsceill [github/github@c73eee3](https://github.com/github/github/commit/c73eee3)
+ * Remove basecoat - Patrick Marsceill [github/github@1b1503d](https://github.com/github/github/commit/1b1503d)
+ * prefix bc => marketing - Patrick Marsceill [github/github@04d509a](https://github.com/github/github/commit/04d509a)
+ * Add breadcrumbs - Patrick Marsceill [github/github@7edec21](https://github.com/github/github/commit/7edec21)
\ No newline at end of file
diff --git a/packages/primer-breadcrumb/LICENSE b/packages/primer-breadcrumb/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-breadcrumb/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-breadcrumb/README.md b/packages/primer-breadcrumb/README.md
new file mode 100644
index 0000000000..0563466146
--- /dev/null
+++ b/packages/primer-breadcrumb/README.md
@@ -0,0 +1,47 @@
+# Primer Marketing CSS Breadcrumb Navigation
+
+[](https://www.npmjs.org/package/primer-breadcrumb)
+[](https://travis-ci.org/primer/primer-css)
+
+> Breadcrumb navigation for GitHub's marketing pages with parents / grandparents.
+
+This repository is a module of the full [primer-css][primer] repository.
+
+## Documentation
+
+
+
+Breadcrumbs are used to show taxonomical context on pages that are many levels deep in a site’s hierarchy. Breadcrumbs show and link to parent, grandparent, and sometimes great-grandparent pages. Breadcrumbs are most appropriate on pages that:
+
+- Are many levels deep on a site
+- Do not have a section-level navigation
+- May need the ability to quickly go back to the previous (parent) page
+
+#### Usage
+
+```html
+
+
+ Business
+ Customers
+ MailChimp
+
+
+```
+
+
+
+## License
+
+MIT © [GitHub](https://github.com/)
+
+[primer]: https://github.com/primer/primer
+[primer-support]: https://github.com/primer/primer-support
+[support]: https://github.com/primer/primer-support
+[docs]: http://primercss.io/
+[npm]: https://www.npmjs.com/
+[install-npm]: https://docs.npmjs.com/getting-started/installing-node
+[sass]: http://sass-lang.com/
diff --git a/packages/primer-breadcrumb/index.scss b/packages/primer-breadcrumb/index.scss
new file mode 100644
index 0000000000..2ddf84da7b
--- /dev/null
+++ b/packages/primer-breadcrumb/index.scss
@@ -0,0 +1,4 @@
+// support files
+@import "primer-support/index.scss";
+@import "primer-marketing-support/index.scss";
+@import "./lib/breadcrumb.scss";
diff --git a/packages/primer-breadcrumb/lib/breadcrumb.scss b/packages/primer-breadcrumb/lib/breadcrumb.scss
new file mode 100644
index 0000000000..0159e0156c
--- /dev/null
+++ b/packages/primer-breadcrumb/lib/breadcrumb.scss
@@ -0,0 +1,19 @@
+.breadcrumb-item {
+ display: inline-block;
+ margin-left: -4px;
+ white-space: nowrap;
+ list-style: none;
+
+ &::after {
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ color: $border-gray;
+ content: "/";
+ }
+}
+
+.breadcrumb-item-selected {
+ &::after {
+ content: none;
+ }
+}
diff --git a/packages/primer-breadcrumb/package.json b/packages/primer-breadcrumb/package.json
new file mode 100644
index 0000000000..dace464ab0
--- /dev/null
+++ b/packages/primer-breadcrumb/package.json
@@ -0,0 +1,42 @@
+{
+ "version": "0.1.3",
+ "name": "primer-breadcrumb",
+ "description": "Breadcrumb navigation for pages with parents / grandparents.",
+ "homepage": "http://primercss.io/",
+ "author": "GitHub, Inc.",
+ "license": "MIT",
+ "style": "build/build.css",
+ "main": "build/index.js",
+ "files": [
+ "index.scss",
+ "lib",
+ "build"
+ ],
+ "repository": "https://github.com/primer/primer-css/tree/master/packages/primer-breadcrumb",
+ "bugs": {
+ "url": "https://github.com/primer/primer-css/issues"
+ },
+ "scripts": {
+ "build": "primer-module-build index.scss",
+ "prepare": "npm run build",
+ "test": "npm run build && stylelint **/*.scss -c .stylelintrc.json -s scss"
+ },
+ "dependencies": {
+ "primer-marketing-support": "^0.5.2",
+ "primer-support": "^4.0.3"
+ },
+ "devDependencies": {
+ "primer-module-build": "*",
+ "stylelint": "*",
+ "stylelint-config-primer": "*"
+ },
+ "keywords": [
+ "breadcrumb",
+ "css",
+ "github",
+ "navigation",
+ "primer",
+ "primercss",
+ "style"
+ ]
+}
diff --git a/packages/primer-buttons/.gitignore b/packages/primer-buttons/.gitignore
new file mode 100644
index 0000000000..01a5e93c12
--- /dev/null
+++ b/packages/primer-buttons/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+build
+*.log
diff --git a/packages/primer-buttons/.npmignore b/packages/primer-buttons/.npmignore
new file mode 100644
index 0000000000..dd51a98b42
--- /dev/null
+++ b/packages/primer-buttons/.npmignore
@@ -0,0 +1,2 @@
+*.yml
+.github
diff --git a/packages/primer-buttons/.postcss.json b/packages/primer-buttons/.postcss.json
new file mode 100644
index 0000000000..0d882f47f2
--- /dev/null
+++ b/packages/primer-buttons/.postcss.json
@@ -0,0 +1,6 @@
+{
+ "use": ["autoprefixer"],
+ "autoprefixer": {
+ "browsers": "> 5%, last 2 firefox versions, last 2 chrome versions, last 2 safari versions, last 2 edge versions, ie 11"
+ }
+}
diff --git a/packages/primer-buttons/.stylelintrc.json b/packages/primer-buttons/.stylelintrc.json
new file mode 100644
index 0000000000..19028f9885
--- /dev/null
+++ b/packages/primer-buttons/.stylelintrc.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "stylelint-config-primer"
+ ]
+}
diff --git a/packages/primer-buttons/CHANGELOG.md b/packages/primer-buttons/CHANGELOG.md
new file mode 100644
index 0000000000..a9c45d5e67
--- /dev/null
+++ b/packages/primer-buttons/CHANGELOG.md
@@ -0,0 +1,104 @@
+# v1.0.0
+
+ * remove btn-outline-red - broccolini [github/github@0bebf02](https://github.com/github/github/commit/0bebf02)
+ * fix lint errors - broccolini [github/github@c520fa4](https://github.com/github/github/commit/c520fa4)
+ * update primer-core version number - broccolini [github/github@6846743](https://github.com/github/github/commit/6846743)
+ * more docs examples, restore gradients from @broccolini and then add additional overrides to prevent hover gradient from bleeding into active state - Mark Otto [github/github@c637891](https://github.com/github/github/commit/c637891)
+ * One more button redux - Mark Otto [github/github@0b7323a](https://github.com/github/github/commit/0b7323a)
+ * add inverse mixin for red button hover styles - broccolini [github/github@764c417](https://github.com/github/github/commit/764c417)
+ * btn fixes: - broccolini [github/github@d5c2110](https://github.com/github/github/commit/d5c2110)
+ * use variables for hidden text expander and other btn styles - broccolini [github/github@7706f4b](https://github.com/github/github/commit/7706f4b)
+ * Redo hover and disabled states - Mark Otto [github/github@10a29cf](https://github.com/github/github/commit/10a29cf)
+ * correct the mixin logic for the default button, and rematch some border styles - Mark Otto [github/github@37d1a95](https://github.com/github/github/commit/37d1a95)
+ * less electric blue - broccolini [github/github@5cbc253](https://github.com/github/github/commit/5cbc253)
+ * lighten border and darken gradient on default buttons - broccolini [github/github@9cfb1ed](https://github.com/github/github/commit/9cfb1ed)
+ * more grassy green - broccolini [github/github@44f8da5](https://github.com/github/github/commit/44f8da5)
+ * brighter blues - broccolini [github/github@ed1fa13](https://github.com/github/github/commit/ed1fa13)
+ * social count border - broccolini [github/github@bfccd55](https://github.com/github/github/commit/bfccd55)
+ * improve button styles: - broccolini [github/github@7a11abe](https://github.com/github/github/commit/7a11abe)
+ * remove line - Mark Otto [github/github@1c614af](https://github.com/github/github/commit/1c614af)
+ * ugh, move this to the other bundle - Mark Otto [github/github@b20f41d](https://github.com/github/github/commit/b20f41d)
+ * linting - Mark Otto [github/github@fe072d1](https://github.com/github/github/commit/fe072d1)
+ * try another disabled state - Mark Otto [github/github@95ea411](https://github.com/github/github/commit/95ea411)
+ * more linting - Mark Otto [github/github@9172515](https://github.com/github/github/commit/9172515)
+ * more simplification and cleanup of button styles - Mark Otto [github/github@a18b600](https://github.com/github/github/commit/a18b600)
+ * tighten up examples - Mark Otto [github/github@183559e](https://github.com/github/github/commit/183559e)
+ * rip out old code - Mark Otto [github/github@45cfc22](https://github.com/github/github/commit/45cfc22)
+ * more linting - Mark Otto [github/github@56fe624](https://github.com/github/github/commit/56fe624)
+ * rip out .btn-shadowed since it's unused - Mark Otto [github/github@9860c76](https://github.com/github/github/commit/9860c76)
+ * add a shorthand docs example - Mark Otto [github/github@b61ee2b](https://github.com/github/github/commit/b61ee2b)
+ * linting - Mark Otto [github/github@e198d03](https://github.com/github/github/commit/e198d03)
+ * tweak colors, tweak button focus/active styles - Mark Otto [github/github@a57e89e](https://github.com/github/github/commit/a57e89e)
+ * first pass at redoing buttons - Mark Otto [github/github@32bf290](https://github.com/github/github/commit/32bf290)
+
+# v0.4.2
+
+ * update version numbers for primer package with bold update - broccolini [github/github@5d3e089](https://github.com/github/github/commit/5d3e089)
+
+# v0.4.1
+
+ * More versions - Jon Rohan [github/github@e12ba2e](https://github.com/github/github/commit/e12ba2e)
+ * Pointing main js file to build - Jon Rohan [github/github@3575651](https://github.com/github/github/commit/3575651)
+
+# v0.4.0
+
+ * Removing needless disables - Jon Rohan [github/github@6233c40](https://github.com/github/github/commit/6233c40)
+ * update buttons version number - broccolini [github/github@6504e09](https://github.com/github/github/commit/6504e09)
+ * Make all href #url - Mu-An Chiou [github/github@27ba40c](https://github.com/github/github/commit/27ba40c)
+ * Add placeholder URL and aria-expanded - Mu-An Chiou [github/github@8f6b03d](https://github.com/github/github/commit/8f6b03d)
+ * Make sure :disabled state is different from normal state on .btn-link - Mu-An Chiou [github/github@3e17fe6](https://github.com/github/github/commit/3e17fe6)
+ * bump padding on social-count - broccolini [github/github@f12bd30](https://github.com/github/github/commit/f12bd30)
+ * Make padding on btn-large more normal - Patrick Marsceill [github/github@6db7bbe](https://github.com/github/github/commit/6db7bbe)
+ * Rename repository with prefix primer- - Jon Rohan [github/github@ec8774a](https://github.com/github/github/commit/ec8774a)
+ * Separating out modules into primer-core and primer-product - Jon Rohan [github/github@ddf698c](https://github.com/github/github/commit/ddf698c)
+
+# v0.3.1
+
+ * Updating version - Jon Rohan [github/github@6bf5fe5](https://github.com/github/github/commit/6bf5fe5)
+ * Updating link to real primer-css repository - Jon Rohan [github/github@bbaedda](https://github.com/github/github/commit/bbaedda)
+ * Updating the modules stylelint - Jon Rohan [github/github@389609f](https://github.com/github/github/commit/389609f)
+
+# v0.3.0
+
+ * Bumping to a new version - Jon Rohan [github/github@ff32813](https://github.com/github/github/commit/ff32813)
+ * Make sure the modules build without error before publishing - Jon Rohan [github/github@57ac5e6](https://github.com/github/github/commit/57ac5e6)
+ * First part of genpopping all system font changes: remove typographic overrides for font-size, line-height, etc on global components - Mark Otto [github/github@6c50e2d](https://github.com/github/github/commit/6c50e2d)
+ * Adding documentation status to most of the modules - Jon Rohan [github/github@b97695c](https://github.com/github/github/commit/b97695c)
+
+# v0.2.3
+
+ * Publishing a new version - Jon Rohan [github/github@eed0e96](https://github.com/github/github/commit/eed0e96)
+ * Updating octicons to deprecate the use of :symbol - Jon Rohan [github/github@9eb0c63](https://github.com/github/github/commit/9eb0c63)
+ * Adding link to homepage in readme docs - Jon Rohan [github/github@633f421](https://github.com/github/github/commit/633f421)
+ * Removing some unnecessary lint plugins and using native - Jon Rohan [github/github@2ae0070](https://github.com/github/github/commit/2ae0070)
+ * including no-utility lint plugin - Jon Rohan [github/github@5cb86ed](https://github.com/github/github/commit/5cb86ed)
+ * Adding lint plugins for new config - Jon Rohan [github/github@7fb9613](https://github.com/github/github/commit/7fb9613)
+
+# v0.2.2
+
+ * Mentioning the build file - Jon Rohan [github/github@64ca4a7](https://github.com/github/github/commit/64ca4a7)
+ * Including build/build.css in distributed npm module - Jon Rohan [github/github@e4effbf](https://github.com/github/github/commit/e4effbf)
+ * Updating modules to run on prepublish to include build.css in distribution - Jon Rohan [github/github@5b573a0](https://github.com/github/github/commit/5b573a0)
+ * Re-ordering the docs to the bottom of the readme - Jon Rohan [github/github@9c1f291](https://github.com/github/github/commit/9c1f291)
+ * Updating the link - Jon Rohan [github/github@f67684b](https://github.com/github/github/commit/f67684b)
+
+# v0.2.1
+
+ * Bumping version to include postcss.json in npm - Jon Rohan [github/github@9e560ba](https://github.com/github/github/commit/9e560ba)
+ * Using stylelint to lint the modules instead of scss_lint - Jon Rohan [github/github@cb0b8fd](https://github.com/github/github/commit/cb0b8fd)
+ * Updating for stylelint instead of scss_lint - Jon Rohan [github/github@87a2c68](https://github.com/github/github/commit/87a2c68)
+
+# v0.2.0
+
+ * Cutting new version 0.2.0 - Jon Rohan [github/github@a6f6586](https://github.com/github/github/commit/a6f6586)
+ * Don't link requirements - Jon Rohan [github/github@7740e81](https://github.com/github/github/commit/7740e81)
+ * Updating the README with more detailed instructions - Jon Rohan [github/github@5dd7c34](https://github.com/github/github/commit/5dd7c34)
+ * Reorganize the module folders into a more flexible organization - Jon Rohan [github/github@5a07101](https://github.com/github/github/commit/5a07101)
+ * cleaning up the package.json files - Jon Rohan [github/github@77763a1](https://github.com/github/github/commit/77763a1)
+ * Adding npm version badges to readme - Jon Rohan [github/github@90b1871](https://github.com/github/github/commit/90b1871)
+ * Adding tavisci build badges to the readmes - Jon Rohan [github/github@1a6126f](https://github.com/github/github/commit/1a6126f)
+
+# v0.1.0
+
+ * Fixing sort lint - Jon Rohan [github/github@ba9ce3d](https://github.com/github/github/commit/ba9ce3d)
+ * Moving primer/primer buttons to a css module - Jon Rohan [github/github@39c07f3](https://github.com/github/github/commit/39c07f3)
\ No newline at end of file
diff --git a/packages/primer-buttons/LICENSE b/packages/primer-buttons/LICENSE
new file mode 100644
index 0000000000..5715c13693
--- /dev/null
+++ b/packages/primer-buttons/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 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
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/primer-buttons/README.md b/packages/primer-buttons/README.md
new file mode 100644
index 0000000000..f14e0f2155
--- /dev/null
+++ b/packages/primer-buttons/README.md
@@ -0,0 +1,258 @@
+# Primer CSS Buttons
+
+[](https://www.npmjs.org/package/primer-buttons)
+[](https://travis-ci.org/primer/primer-css)
+
+> Buttons are used for actions, like in forms, while textual hyperlinks are used for destinations, or moving from one page to another.
+
+This repository is a module of the full [primer-css][primer-css] repository.
+
+## Install
+
+This repository is distributed with [npm][npm]. After [installing npm][install-npm], you can install `primer-buttons` with this command.
+
+```
+$ npm install --save primer-buttons
+```
+
+## Usage
+
+The source files included are written in [Sass][sass] (`scss`) You can simply point your sass `include-path` at your `node_modules` directory and import it like this.
+
+```scss
+@import "primer-buttons/index.scss";
+```
+
+You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._
+
+## Build
+
+For a compiled **css** version of this module, a npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package.
+
+```
+$ npm run build
+```
+
+## Documentation
+
+
+
+Buttons are used for **actions**, like in forms, while textual hyperlinks are used for **destinations**, or moving from one page to another.
+
+#### Buttons
+
+```html
+
Close
+
Comment
+
Rename repository
+
Sign up for free
+
Try if for free
+
+
Close
+
Comment
+
Rename repository
+
Sign up for free
+
Try if for free
+
+
Close
+
Comment
+
Rename repository
+
Sign up for free
+
Try if for free
+
+
Close
+
Comment
+
Rename repository
+
Sign up for free
+
Try if for free
+
+
Close
+
Comment
+
Rename repository
+
Sign up for free
+
Try if for free
+```
+
+#### Default buttons
+
+Use the standard—yet classy—`.btn` for form actions and primary page actions. These are used extensively around the site.
+
+When using a `
` element, **always specify a `type`**. When using a `` element, **always add `role="button"` for accessibility**.
+
+```html
+Button button
+ Link button
+```
+
+You can find them in two sizes: the default `.btn` and the smaller `.btn-sm`.
+
+```html
+Button
+Small button
+```
+
+#### Primary
+
+Primary buttons are green and are used to indicate the *primary* action on a page. When you need your buttons to stand out, use `.btn.btn-primary`. You can use it with both button sizes—just add `.btn-primary`.
+
+```html
+Primary button
+Small primary button
+```
+
+#### Danger
+
+Danger buttons are red. They help reiterate that the intended action is important or potentially dangerous (e.g., deleting a repo or transferring ownership). Similar to the primary buttons, just add `.btn-danger`.
+
+```html
+Danger button
+Small danger button
+```
+
+#### Outline
+
+Outline buttons downplay an action as they appear like boxy links. Just add `.btn-outline` and go.
+
+```html
+Outline button
+Outline button
+```
+
+#### Disabled state
+
+Disable `` elements with the boolean `disabled` attribute and `` elements with the `.disabled` class.
+
+```html
+Disabled button
+ Disabled button
+```
+
+Similar styles are applied to primary, danger, and outline buttons:
+
+```html
+Disabled button
+Disabled button
+```
+
+```html
+Disabled button
+Disabled button
+```
+
+```html
+Disabled button
+Disabled button
+```
+
+#### Block buttons
+
+Make any button full-width by adding `.btn-block`. It adds `width: 100%;`, changes the `display` from `inline-block` to `block`, and centers the button text.
+
+```html
+Block button
+Small block button
+```
+
+#### With counts
+
+You can easily append a count to a **small button**. Add the `.with-count` class to the `.btn-sm` and then add the `.social-count` after the button.
+
+**Be sure to clear the float added by the additional class.**
+
+```html
+
+```
+
+You can also use the [counter](../../product/components/labels) component within buttons:
+
+```html
+
+ Button
+ 12
+
+
+
+ Button
+ 12
+
+
+
+ Button
+ 12
+
+
+
+ Button
+ 12
+
+```
+
+#### Button groups
+
+Have a hankering for a series of buttons that are attached to one another? Wrap them in a `.BtnGroup` and the buttons will be rounded and spaced automatically.
+
+```html
+
+ Button
+ Button
+ Button
+
+
+
+ Button
+ Button
+ Button
+
+
+
+ Button
+ Button
+ Button
+
+```
+
+Add `.BtnGroup-form` to `