uswds-rails 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +17 -0
  3. data/.editorconfig +14 -0
  4. data/.gitignore +28 -0
  5. data/.rspec +3 -0
  6. data/.rubocop +3 -0
  7. data/.rubocop.yml +16 -0
  8. data/.ruby-version +1 -0
  9. data/.simplecov +13 -0
  10. data/.travis.yml +18 -0
  11. data/CONTRIBUTING.md +50 -0
  12. data/Gemfile +4 -0
  13. data/LICENSE.md +27 -0
  14. data/README.md +64 -0
  15. data/Rakefile +8 -0
  16. data/app/assets/stylesheets/uswds/components/_accordions.scss +150 -0
  17. data/app/assets/stylesheets/uswds/components/_alerts.scss +85 -0
  18. data/app/assets/stylesheets/uswds/components/_footer.scss +382 -0
  19. data/app/assets/stylesheets/uswds/components/_forms.scss +164 -0
  20. data/app/assets/stylesheets/uswds/components/_hero.scss +43 -0
  21. data/app/assets/stylesheets/uswds/components/_navigation.scss +446 -0
  22. data/app/assets/stylesheets/uswds/components/_search.scss +106 -0
  23. data/app/assets/stylesheets/uswds/core/_utilities.scss +232 -0
  24. data/app/assets/stylesheets/uswds/core/_variables.scss +112 -0
  25. data/app/assets/stylesheets/uswds/elements/_inputs.scss +346 -0
  26. data/app/assets/stylesheets/uswds/elements/_typography.scss +257 -0
  27. data/app/assets/stylesheets/uswds/uswds.scss +44 -0
  28. data/lib/uswds-rails.rb +1 -0
  29. data/lib/uswds/rails.rb +7 -0
  30. data/lib/uswds/rails/engine.rb +17 -0
  31. data/lib/uswds/rails/version.rb +6 -0
  32. data/uswds-rails.gemspec +36 -0
  33. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.eot +0 -0
  34. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.ttf +0 -0
  35. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.woff +0 -0
  36. data/vendor/assets/fonts/uswds/merriweather-bold-webfont.woff2 +0 -0
  37. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.eot +0 -0
  38. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.ttf +0 -0
  39. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.woff +0 -0
  40. data/vendor/assets/fonts/uswds/merriweather-italic-webfont.woff2 +0 -0
  41. data/vendor/assets/fonts/uswds/merriweather-light-webfont.eot +0 -0
  42. data/vendor/assets/fonts/uswds/merriweather-light-webfont.ttf +0 -0
  43. data/vendor/assets/fonts/uswds/merriweather-light-webfont.woff +0 -0
  44. data/vendor/assets/fonts/uswds/merriweather-light-webfont.woff2 +0 -0
  45. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.eot +0 -0
  46. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.ttf +0 -0
  47. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.woff +0 -0
  48. data/vendor/assets/fonts/uswds/merriweather-regular-webfont.woff2 +0 -0
  49. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.eot +0 -0
  50. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.ttf +0 -0
  51. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.woff +0 -0
  52. data/vendor/assets/fonts/uswds/sourcesanspro-bold-webfont.woff2 +0 -0
  53. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.eot +0 -0
  54. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.ttf +0 -0
  55. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.woff +0 -0
  56. data/vendor/assets/fonts/uswds/sourcesanspro-italic-webfont.woff2 +0 -0
  57. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.eot +0 -0
  58. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.ttf +0 -0
  59. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.woff +0 -0
  60. data/vendor/assets/fonts/uswds/sourcesanspro-light-webfont.woff2 +0 -0
  61. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.eot +0 -0
  62. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.ttf +0 -0
  63. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.woff +0 -0
  64. data/vendor/assets/fonts/uswds/sourcesanspro-regular-webfont.woff2 +0 -0
  65. data/vendor/assets/images/uswds/alerts/error.png +0 -0
  66. data/vendor/assets/images/uswds/alerts/error.svg +17 -0
  67. data/vendor/assets/images/uswds/alerts/info.png +0 -0
  68. data/vendor/assets/images/uswds/alerts/info.svg +18 -0
  69. data/vendor/assets/images/uswds/alerts/success.png +0 -0
  70. data/vendor/assets/images/uswds/alerts/success.svg +12 -0
  71. data/vendor/assets/images/uswds/alerts/warning.png +0 -0
  72. data/vendor/assets/images/uswds/alerts/warning.svg +16 -0
  73. data/vendor/assets/images/uswds/angle-arrow-down-hover.png +0 -0
  74. data/vendor/assets/images/uswds/angle-arrow-down-hover.svg +1 -0
  75. data/vendor/assets/images/uswds/angle-arrow-down-primary-hover.png +0 -0
  76. data/vendor/assets/images/uswds/angle-arrow-down-primary-hover.svg +1 -0
  77. data/vendor/assets/images/uswds/angle-arrow-down-primary.png +0 -0
  78. data/vendor/assets/images/uswds/angle-arrow-down-primary.svg +1 -0
  79. data/vendor/assets/images/uswds/angle-arrow-down.png +0 -0
  80. data/vendor/assets/images/uswds/angle-arrow-down.svg +1 -0
  81. data/vendor/assets/images/uswds/angle-arrow-up-primary-hover.png +0 -0
  82. data/vendor/assets/images/uswds/angle-arrow-up-primary-hover.svg +1 -0
  83. data/vendor/assets/images/uswds/angle-arrow-up-primary.png +0 -0
  84. data/vendor/assets/images/uswds/angle-arrow-up-primary.svg +1 -0
  85. data/vendor/assets/images/uswds/arrow-down.png +0 -0
  86. data/vendor/assets/images/uswds/arrow-down.svg +1 -0
  87. data/vendor/assets/images/uswds/arrow-right.png +0 -0
  88. data/vendor/assets/images/uswds/arrow-right.svg +1 -0
  89. data/vendor/assets/images/uswds/circle-124.png +0 -0
  90. data/vendor/assets/images/uswds/close.png +0 -0
  91. data/vendor/assets/images/uswds/close.svg +1 -0
  92. data/vendor/assets/images/uswds/correct8.png +0 -0
  93. data/vendor/assets/images/uswds/correct8.svg +1 -0
  94. data/vendor/assets/images/uswds/correct9.png +0 -0
  95. data/vendor/assets/images/uswds/correct9.svg +1 -0
  96. data/vendor/assets/images/uswds/external-link-alt-hover.png +0 -0
  97. data/vendor/assets/images/uswds/external-link-alt-hover.svg +1 -0
  98. data/vendor/assets/images/uswds/external-link-alt.png +0 -0
  99. data/vendor/assets/images/uswds/external-link-alt.svg +1 -0
  100. data/vendor/assets/images/uswds/external-link-hover.png +0 -0
  101. data/vendor/assets/images/uswds/external-link-hover.svg +1 -0
  102. data/vendor/assets/images/uswds/external-link.png +0 -0
  103. data/vendor/assets/images/uswds/external-link.svg +1 -0
  104. data/vendor/assets/images/uswds/favicons/favicon-114.png +0 -0
  105. data/vendor/assets/images/uswds/favicons/favicon-144.png +0 -0
  106. data/vendor/assets/images/uswds/favicons/favicon-16.png +0 -0
  107. data/vendor/assets/images/uswds/favicons/favicon-192.png +0 -0
  108. data/vendor/assets/images/uswds/favicons/favicon-40.png +0 -0
  109. data/vendor/assets/images/uswds/favicons/favicon-57.png +0 -0
  110. data/vendor/assets/images/uswds/favicons/favicon-72.png +0 -0
  111. data/vendor/assets/images/uswds/favicons/favicon.ico +0 -0
  112. data/vendor/assets/images/uswds/favicons/favicon.png +0 -0
  113. data/vendor/assets/images/uswds/hero.png +0 -0
  114. data/vendor/assets/images/uswds/icon-dot-gov.svg +1 -0
  115. data/vendor/assets/images/uswds/icon-https.svg +1 -0
  116. data/vendor/assets/images/uswds/logo-img.png +0 -0
  117. data/vendor/assets/images/uswds/minus-alt.png +0 -0
  118. data/vendor/assets/images/uswds/minus-alt.svg +1 -0
  119. data/vendor/assets/images/uswds/minus.png +0 -0
  120. data/vendor/assets/images/uswds/minus.svg +1 -0
  121. data/vendor/assets/images/uswds/plus-alt.png +0 -0
  122. data/vendor/assets/images/uswds/plus-alt.svg +1 -0
  123. data/vendor/assets/images/uswds/plus.png +0 -0
  124. data/vendor/assets/images/uswds/plus.svg +1 -0
  125. data/vendor/assets/images/uswds/search-alt.png +0 -0
  126. data/vendor/assets/images/uswds/search-alt.svg +1 -0
  127. data/vendor/assets/images/uswds/search.png +0 -0
  128. data/vendor/assets/images/uswds/search.svg +1 -0
  129. data/vendor/assets/images/uswds/social-icons/png/facebook25.png +0 -0
  130. data/vendor/assets/images/uswds/social-icons/png/rss25.png +0 -0
  131. data/vendor/assets/images/uswds/social-icons/png/twitter16.png +0 -0
  132. data/vendor/assets/images/uswds/social-icons/png/youtube15.png +0 -0
  133. data/vendor/assets/images/uswds/social-icons/svg/facebook25.svg +1 -0
  134. data/vendor/assets/images/uswds/social-icons/svg/rss25.svg +1 -0
  135. data/vendor/assets/images/uswds/social-icons/svg/twitter16.svg +1 -0
  136. data/vendor/assets/images/uswds/social-icons/svg/youtube15.svg +1 -0
  137. data/vendor/assets/images/uswds/us_flag_small.png +0 -0
  138. data/vendor/assets/javascripts/uswds/uswds.js +1739 -0
  139. data/vendor/assets/stylesheets/uswds/components/_accordions.scss +150 -0
  140. data/vendor/assets/stylesheets/uswds/components/_alerts.scss +85 -0
  141. data/vendor/assets/stylesheets/uswds/components/_banner.scss +204 -0
  142. data/vendor/assets/stylesheets/uswds/components/_footer.scss +382 -0
  143. data/vendor/assets/stylesheets/uswds/components/_forms.scss +164 -0
  144. data/vendor/assets/stylesheets/uswds/components/_graphic-list.scss +35 -0
  145. data/vendor/assets/stylesheets/uswds/components/_header.scss +221 -0
  146. data/vendor/assets/stylesheets/uswds/components/_hero.scss +43 -0
  147. data/vendor/assets/stylesheets/uswds/components/_layout.scss +36 -0
  148. data/vendor/assets/stylesheets/uswds/components/_media-block.scss +12 -0
  149. data/vendor/assets/stylesheets/uswds/components/_navigation.scss +446 -0
  150. data/vendor/assets/stylesheets/uswds/components/_search.scss +106 -0
  151. data/vendor/assets/stylesheets/uswds/components/_section.scss +37 -0
  152. data/vendor/assets/stylesheets/uswds/components/_sidenav.scss +8 -0
  153. data/vendor/assets/stylesheets/uswds/components/_skipnav.scss +19 -0
  154. data/vendor/assets/stylesheets/uswds/core/_base.scss +30 -0
  155. data/vendor/assets/stylesheets/uswds/core/_fonts.scss +65 -0
  156. data/vendor/assets/stylesheets/uswds/core/_grid.scss +154 -0
  157. data/vendor/assets/stylesheets/uswds/core/_utilities.scss +232 -0
  158. data/vendor/assets/stylesheets/uswds/core/_variables.scss +123 -0
  159. data/vendor/assets/stylesheets/uswds/elements/_buttons.scss +191 -0
  160. data/vendor/assets/stylesheets/uswds/elements/_embed.scss +26 -0
  161. data/vendor/assets/stylesheets/uswds/elements/_figure.scss +13 -0
  162. data/vendor/assets/stylesheets/uswds/elements/_inputs.scss +346 -0
  163. data/vendor/assets/stylesheets/uswds/elements/_labels.scss +20 -0
  164. data/vendor/assets/stylesheets/uswds/elements/_list.scss +32 -0
  165. data/vendor/assets/stylesheets/uswds/elements/_table.scss +47 -0
  166. data/vendor/assets/stylesheets/uswds/elements/_typography.scss +257 -0
  167. data/vendor/assets/stylesheets/uswds/uswds.scss +41 -0
  168. metadata +394 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e314ae13b7f9d59527fe05e405a066e0ba0366fd
4
+ data.tar.gz: ba6bbb25fa3cba7206c81a9e9b643d9075c437d4
5
+ SHA512:
6
+ metadata.gz: 473fe9d83db1bb136ef628f282e2a83dbc78e07b32f8779ab000bb871397ff09a1534638c2696a2188c6a85ef43651b63e7d94435734e2a298f4621c60eedce0
7
+ data.tar.gz: 5b1d4da9606823003a3c98328ad8f3eb51885f7ed3293ede368f47c4529206b0b553f71ba0b7398d277eff79eb799809377279b1df5b5ecfa065549b1695cd98
@@ -0,0 +1,17 @@
1
+ ---
2
+ engines:
3
+ duplication:
4
+ enabled: true
5
+ config:
6
+ languages:
7
+ - ruby
8
+ fixme:
9
+ enabled: true
10
+ rubocop:
11
+ enabled: true
12
+ ratings:
13
+ paths:
14
+ - lib/
15
+ exclude_paths:
16
+ - spec/
17
+ - vendor/
@@ -0,0 +1,14 @@
1
+ # EditorConfig is awesome: http://EditorConfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ end_of_line = lf
7
+ insert_final_newline = true
8
+ indent_size = 2
9
+ indent_style = space
10
+ trim_trailing_whitespace = true
11
+
12
+ [*.md]
13
+ indent_size = 4
14
+ indent_style = tab
@@ -0,0 +1,28 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Documentation cache and generated files:
14
+ /.yardoc/
15
+ /_yardoc/
16
+ /doc/
17
+ /rdoc/
18
+
19
+ # Environment normalization:
20
+ /.bundle/
21
+ /vendor/bundle
22
+ /lib/bundler/man/
23
+
24
+ # for a library or gem, you might want to ignore these files since the code is
25
+ # intended to run in multiple environments; otherwise, check them in:
26
+ Gemfile.lock
27
+ # .ruby-version
28
+ # .ruby-gemset
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format progress
3
+ --require rails_helper
@@ -0,0 +1,3 @@
1
+ --display-cop-names
2
+ --display-style-guide
3
+ --extra-details
@@ -0,0 +1,16 @@
1
+ AllCops:
2
+ Exclude:
3
+ - 'spec/**/*'
4
+
5
+ FileName:
6
+ Exclude:
7
+ - 'lib/uswds-rails.rb'
8
+
9
+ Metrics/LineLength:
10
+ Enabled: false
11
+
12
+ Style/Documentation:
13
+ Enabled: false
14
+
15
+ Style/FrozenStringLiteralComment:
16
+ Enabled: false
@@ -0,0 +1 @@
1
+ 2.4.1
@@ -0,0 +1,13 @@
1
+ require 'simplecov-console'
2
+
3
+ formatters = [SimpleCov::Formatter::HTMLFormatter]
4
+
5
+ if RSpec.configuration.files_to_run.length > 1
6
+ formatters << SimpleCov::Formatter::Console
7
+ end
8
+
9
+ SimpleCov.start do
10
+ add_filter 'spec/dummy'
11
+
12
+ formatter SimpleCov::Formatter::MultiFormatter.new(formatters)
13
+ end
@@ -0,0 +1,18 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm:
4
+ - 2.2.7
5
+ - 2.3.4
6
+ - 2.4.1
7
+ before_install:
8
+ - gem update --system
9
+ - gem update bundler
10
+ before_script:
11
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
12
+ - chmod +x ./cc-test-reporter
13
+ - ./cc-test-reporter before-build
14
+ after_success:
15
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
16
+ notifications:
17
+ email: false
18
+ slack: sixtwothree:yATLmjTW15443qR7jbCWr3RO
@@ -0,0 +1,50 @@
1
+ # Contributing to uswds-rails
2
+
3
+ Anyone is welcome to contribute code changes and additions to this project. If you'd like your changes merged into the master branch, please read the following document before opening a [pull request][pulls].
4
+
5
+ There are several ways in which you can help improve this project:
6
+
7
+ 1. Fix an existing [issue][issues] and submit a [pull request][pulls].
8
+ 1. Review open [pull requests][pulls].
9
+ 1. Report a new [issue][issues]. _Only do this after you've made sure the behavior or problem you're observing isn't already documented in an open issue._
10
+
11
+ ## Table of Contents
12
+
13
+ - [Getting Started](#getting-started)
14
+ - [Making Changes](#making-changes)
15
+ - [Code Style](#code-style)
16
+
17
+ ## Getting Started
18
+
19
+ uswds-rails is written in [Ruby](https://www.ruby-lang.org/en/) (version 2.4.1) and development dependencies are managed using the [Bundler](http://bundler.io/) gem. [Travis CI builds](https://travis-ci.org/jgarber623/uswds-rails) use Ruby 2.2.7, 2.3.4, and 2.4.1.
20
+
21
+ I manage Ruby versions with [rbenv](https://github.com/rbenv/rbenv). I'd recommend you do the same or use a similar Ruby version manager ([chruby](https://github.com/postmodern/chruby/) or [RVM](https://rvm.io/) come to mind). Once you've installed Ruby 2.4.1 using your method of choice, install the project's gems by running:
22
+
23
+ ```sh
24
+ bundle install
25
+ ```
26
+
27
+ …from the root of the project.
28
+
29
+ ## Making Changes
30
+
31
+ 1. Fork and clone the project's repo.
32
+ 1. Install development dependencies as outlined above.
33
+ 1. Create a feature branch for the code changes you're looking to make: `git checkout -b your-descriptive-branch-name origin/master`.
34
+ 1. _Write some code!_
35
+ 1. Build (`bundle exec rake build`) and install (`bundle exec rake install`) your updated code.
36
+ 1. If your changes would benefit from testing, add the necessary tests and verify everything passes by running `bin/rake spec`.
37
+ 1. Commit your changes: `git commit -am 'Add some new feature or fix some issue'`. _(See [this excellent article](https://chris.beams.io/posts/git-commit/) for tips on writing useful Git commit messages.)_
38
+ 1. Push the branch to your fork: `git push -u origin your-descriptive-branch-name`.
39
+ 1. Create a new pull request and we'll review your changes.
40
+
41
+ ## Code Style
42
+
43
+ Code formatting conventions are defined in the `.editorconfig` file which uses the [EditorConfig](http://editorconfig.org/) syntax. There are [plugins for a variety of editors](http://editorconfig.org/#download) that utilize the settings in the `.editorconfig` file. It is recommended that you install the EditorConfig plugin for your editor of choice.
44
+
45
+ Your bug fix or feature addition won't be rejected if it runs afoul of any (or all) of these guidelines, but following the guidelines will definitely make everyone's lives a little easier.
46
+
47
+ [gemfile]: https://github.com/jgarber623/uswds-rails/blob/master/Gemfile
48
+ [issues]: https://github.com/jgarber623/uswds-rails/issues
49
+ [license]: https://github.com/jgarber623/uswds-rails/blob/master/LICENSE.md
50
+ [pulls]: https://github.com/jgarber623/uswds-rails/pulls
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in uswds-rails.gemspec
4
+ gemspec
@@ -0,0 +1,27 @@
1
+ # License Information
2
+
3
+ uswds-rails includes portions of the [U.S. Web Design Standards](https://github.com/18F/web-design-standards) released under a [CC0 1.0 Universal Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/). Portions of the U.S. Web Design Standards are not in the public domain. Additional licensing information can be found in the project's [LICENSE.md](https://github.com/18F/web-design-standards/blob/develop/LICENSE.md).
4
+
5
+ The remainder of uswds-rails is licensed under the [MIT License](https://opensource.org/licenses/MIT), the full text of which is included below.
6
+
7
+ ```
8
+ Copyright 2017 Jason Garber
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+ ```
@@ -0,0 +1,64 @@
1
+ # uswds-rails
2
+
3
+ A Ruby gem for integrating the [U.S. Web Design Standards](https://github.com/18F/web-design-standards) into a [Ruby on Rails](http://rubyonrails.org) application.
4
+
5
+ [![Gem Version](https://img.shields.io/gem/v/uswds-rails.svg?label=gem%20version)](https://rubygems.org/gems/uswds-rails)
6
+ [![Downloads](https://img.shields.io/gem/dt/uswds-rails.svg)](https://rubygems.org/gems/uswds-rails)
7
+ [![Build Status](https://img.shields.io/travis/jgarber623/uswds-rails/master.svg?label=build%20status)](https://travis-ci.org/jgarber623/uswds-rails)
8
+ [![Code Climate](https://img.shields.io/codeclimate/github/jgarber623/uswds-rails.svg)](https://codeclimate.com/github/jgarber623/uswds-rails)
9
+ [![Coverage](https://img.shields.io/codeclimate/coverage/github/jgarber623/uswds-rails.svg)](https://codeclimate.com/github/jgarber623/uswds-rails/coverage)
10
+
11
+ ## Getting Started
12
+
13
+ Before installing and using uswds-rails, you'll want to have Ruby 2.2.7 (or newer) installed on your computer. There are plenty of ways to go about this, but my preference is [rbenv](https://github.com/sstephenson/rbenv). If you're developing on a Mac and using [Homebrew](http://brew.sh/), installing rbenv is [super easy](https://github.com/sstephenson/rbenv#homebrew-on-mac-os-x).
14
+
15
+ uswds-rails _might_ work with other versions of Ruby, but it's developed in 2.4.1 and automatically tested against 2.2.7 and 2.3.4 by [Travis CI](https://travis-ci.org/jgarber623/uswds-rails).
16
+
17
+ ## Installation
18
+
19
+ Add uswds-rails to your Ruby on Rails project's Gemfile:
20
+
21
+ ```rb
22
+ ruby '2.4.1'
23
+
24
+ source 'https://rubygems.org' do
25
+ gem 'rails', '~> 5.1'
26
+ gem 'uswds-rails'
27
+ end
28
+ ```
29
+
30
+ Run `bundle install` to install uswds-rails and its dependencies.
31
+
32
+ ## Usage
33
+
34
+ uswds-rails makes available to your Rails application the fonts, images, JavaScript files, and stylesheets from the U.S. Web Design Standards. Including the files varies depending on type.
35
+
36
+ The most basic integration looks like:
37
+
38
+ ```scss
39
+ // In `app/assets/stylesheets/application.scss`
40
+ @import "uswds/uswds";
41
+ ```
42
+
43
+ ```js
44
+ // In `app/assets/javascripts/application.js`
45
+ //= require "uswds/uswds";
46
+ ```
47
+
48
+ Adding those lines to your project's `application.scss` and `application.js` will include _everything_ from the U.S. Web Design Standards (fonts, JavaScript, and stylesheets).
49
+
50
+ Don't want to include the entire stylesheet in your project? Not to worry! You may include individual SCSS files by using uswds-rails' [`app/assets/stylesheets/uswds/uswds.scss`](https://github.com/jgarber623/uswds-rails/blob/master/app/assets/stylesheets/uswds/uswds.scss) as a guide.
51
+
52
+ ## Contributing
53
+
54
+ For details on setting up your development environment and contributing to this project, see [CONTRIBUTING.md](https://github.com/jgarber623/uswds-rails/blob/master/CONTRIBUTING.md).
55
+
56
+ ## Acknowledgments
57
+
58
+ This project woudn't exist without the [18F](https://github.com/18F) team's hard work on the [U.S. Web Design Standards](https://github.com/18F/web-design-standards).
59
+
60
+ uswds-rails is written and maintained by [Jason Garber](https://github.com/jgarber623).
61
+
62
+ ## License
63
+
64
+ uswds-rails is freely available under the [MIT License](https://opensource.org/licenses/MIT). Portions of the project contain code released under different licenses. See [LICENSE.md](https://github.com/jgarber623/uswds-rails/blob/master/LICENSE.md) for additional licensing information.
@@ -0,0 +1,8 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new
6
+ RuboCop::RakeTask.new
7
+
8
+ task default: :spec
@@ -0,0 +1,150 @@
1
+ // Variables
2
+
3
+ $accordion-border: 3px solid $color-gray-lightest;
4
+
5
+ // Accordion Styles
6
+
7
+ @mixin accordion-list-styles {
8
+ @include unstyled-list;
9
+ color: $color-base;
10
+ margin: 0;
11
+ padding: 0;
12
+ width: 100%;
13
+ }
14
+
15
+ @mixin accordion-list-item-styles {
16
+ background-color: $color-gray-lightest;
17
+ font-family: $font-sans;
18
+ list-style: none;
19
+ margin-bottom: 6px;
20
+ width: 100%;
21
+ }
22
+
23
+ // scss-lint:disable PropertyCount
24
+ @mixin accordion-button-styles {
25
+ @include button-unstyled;
26
+ background-color: $color-gray-lightest;
27
+ background-image: asset-url('#{$image-path}/minus.png');
28
+ background-image: asset-url('#{$image-path}/minus.svg');
29
+ background-position: right 3rem center;
30
+ background-repeat: no-repeat;
31
+ background-size: 13px;
32
+ color: $color-base;
33
+ cursor: pointer;
34
+ display: inline-block;
35
+ font-family: $font-sans;
36
+ font-weight: $font-bold;
37
+ margin: 0;
38
+ padding: 1.5rem 5.5rem 1.5rem 3rem;
39
+ width: 100%;
40
+
41
+ &:focus {
42
+ box-shadow: $focus-shadow;
43
+ }
44
+
45
+ &:hover {
46
+ background-color: $color-gray-lighter;
47
+ color: $color-base;
48
+ }
49
+
50
+ h1,
51
+ h2,
52
+ h3,
53
+ h4,
54
+ h5,
55
+ h6 {
56
+ margin: 0;
57
+ }
58
+ }
59
+ // scss-lint:enable PropertyCount
60
+
61
+ @mixin accordion-button-unopened-styles {
62
+ background-image: asset-url('#{$image-path}/plus.png');
63
+ background-image: asset-url('#{$image-path}/plus.svg');
64
+ background-repeat: no-repeat;
65
+ background-size: 1.3rem;
66
+ }
67
+
68
+ @mixin accordion-nested-list {
69
+ > ul li ul {
70
+ list-style: disc;
71
+ > li > ul {
72
+ list-style: circle;
73
+ > li > ul {
74
+ list-style: square;
75
+ }
76
+ }
77
+ }
78
+ }
79
+
80
+ .usa-accordion,
81
+ .usa-accordion-bordered {
82
+ @include accordion-list-styles;
83
+ @include accordion-nested-list;
84
+
85
+ + .usa-accordion,
86
+ + .usa-accordion-bordered {
87
+ margin-top: 1rem;
88
+ }
89
+
90
+ // TODO deprecated ruleset based on old accordion.
91
+ > ul {
92
+ @include accordion-list-styles;
93
+
94
+ // TODO deprecated ruleset based on old accordion.
95
+ > li {
96
+ @include accordion-list-item-styles;
97
+ }
98
+
99
+ // TODO deprecated ruleset based on old accordion.
100
+ button {
101
+ @include accordion-button-styles;
102
+ }
103
+
104
+ // TODO deprecated ruleset based on old accordion.
105
+ [aria-expanded=false] {
106
+ @include accordion-button-unopened-styles;
107
+ }
108
+ }
109
+
110
+ > li {
111
+ @include accordion-list-item-styles;
112
+ }
113
+
114
+ }
115
+
116
+ .usa-accordion-bordered {
117
+ .usa-accordion-content {
118
+ border-bottom: $accordion-border;
119
+ border-left: $accordion-border;
120
+ border-right: $accordion-border;
121
+ }
122
+ }
123
+
124
+ .usa-accordion-content {
125
+ background-color: $color-white;
126
+ overflow: auto;
127
+ padding: 3rem;
128
+
129
+ > *:first-child {
130
+ margin-top: 0;
131
+ }
132
+
133
+ > *:last-child {
134
+ margin-bottom: 0;
135
+ }
136
+
137
+ &:not([aria-hidden]) {
138
+ @include sr-only();
139
+ }
140
+
141
+ @include accessibly-hidden();
142
+ }
143
+
144
+ .usa-accordion-button {
145
+ @include accordion-button-styles;
146
+ }
147
+
148
+ .usa-accordion-button[aria-expanded=false] {
149
+ @include accordion-button-unopened-styles;
150
+ }