bourbon 4.2.4 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +42 -0
  3. data/.github/ISSUE_TEMPLATE.md +22 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  5. data/.gitignore +1 -1
  6. data/.hound.yml +4 -1
  7. data/.npmignore +7 -4
  8. data/.stylelintrc.json +3 -0
  9. data/CHANGELOG.md +450 -0
  10. data/CODE_OF_CONDUCT.md +6 -0
  11. data/CONTRIBUTING.md +81 -28
  12. data/Gemfile +1 -1
  13. data/LICENSE.md +1 -1
  14. data/README.md +153 -86
  15. data/RELEASING.md +32 -0
  16. data/Rakefile +0 -2
  17. data/bin/bourbon +1 -2
  18. data/bourbon.gemspec +31 -24
  19. data/core/_bourbon.scss +54 -0
  20. data/core/bourbon/helpers/_buttons-list.scss +14 -0
  21. data/core/bourbon/helpers/_scales.scss +27 -0
  22. data/core/bourbon/helpers/_text-inputs-list.scss +26 -0
  23. data/core/bourbon/library/_border-color.scss +26 -0
  24. data/core/bourbon/library/_border-radius.scss +85 -0
  25. data/core/bourbon/library/_border-style.scss +25 -0
  26. data/core/bourbon/library/_border-width.scss +25 -0
  27. data/core/bourbon/library/_buttons.scss +84 -0
  28. data/{app/assets/stylesheets/addons → core/bourbon/library}/_clearfix.scss +5 -5
  29. data/core/bourbon/library/_contrast-switch.scss +81 -0
  30. data/{app/assets/stylesheets/addons → core/bourbon/library}/_ellipsis.scss +12 -6
  31. data/core/bourbon/library/_font-face.scss +65 -0
  32. data/core/bourbon/library/_font-stacks.scss +248 -0
  33. data/core/bourbon/library/_hide-text.scss +24 -0
  34. data/core/bourbon/library/_hide-visually.scss +70 -0
  35. data/core/bourbon/library/_margin.scss +37 -0
  36. data/core/bourbon/library/_modular-scale.scss +120 -0
  37. data/core/bourbon/library/_overflow-wrap.scss +25 -0
  38. data/core/bourbon/library/_padding.scss +36 -0
  39. data/core/bourbon/library/_position.scss +62 -0
  40. data/core/bourbon/library/_prefixer.scss +37 -0
  41. data/core/bourbon/library/_shade.scss +32 -0
  42. data/core/bourbon/library/_size.scss +50 -0
  43. data/core/bourbon/library/_strip-unit.scss +17 -0
  44. data/core/bourbon/library/_text-inputs.scss +163 -0
  45. data/core/bourbon/library/_timing-functions.scss +36 -0
  46. data/core/bourbon/library/_tint.scss +32 -0
  47. data/core/bourbon/library/_triangle.scss +82 -0
  48. data/core/bourbon/library/_value-prefixer.scss +37 -0
  49. data/core/bourbon/settings/_settings.scss +75 -0
  50. data/core/bourbon/utilities/_assign-inputs.scss +28 -0
  51. data/core/bourbon/utilities/_compact-shorthand.scss +42 -0
  52. data/core/bourbon/utilities/_contrast-ratio.scss +31 -0
  53. data/core/bourbon/utilities/_directional-property.scss +68 -0
  54. data/core/bourbon/utilities/_fetch-bourbon-setting.scss +16 -0
  55. data/core/bourbon/utilities/_font-source-declaration.scss +52 -0
  56. data/core/bourbon/utilities/_gamma.scss +24 -0
  57. data/core/bourbon/utilities/_lightness.scss +24 -0
  58. data/{app/assets/stylesheets/functions/_unpack.scss → core/bourbon/utilities/_unpack-shorthand.scss} +8 -6
  59. data/{app/assets/stylesheets/functions → core/bourbon/validators}/_contains-falsy.scss +6 -6
  60. data/{app/assets/stylesheets/functions → core/bourbon/validators}/_contains.scss +8 -8
  61. data/core/bourbon/validators/_is-color.scss +13 -0
  62. data/core/bourbon/validators/_is-length.scss +20 -0
  63. data/core/bourbon/validators/_is-number.scss +15 -0
  64. data/core/bourbon/validators/_is-size.scss +18 -0
  65. data/eyeglass-exports.js +7 -0
  66. data/features/install.feature +0 -1
  67. data/features/step_definitions/bourbon_steps.rb +13 -5
  68. data/features/update.feature +0 -1
  69. data/features/version.feature +0 -2
  70. data/index.js +2 -2
  71. data/lib/bourbon/generator.rb +11 -10
  72. data/lib/bourbon/version.rb +1 -1
  73. data/lib/bourbon.rb +7 -18
  74. data/package-lock.json +6636 -0
  75. data/package.json +26 -13
  76. data/spec/bourbon/{addons → library}/border_color_spec.rb +8 -8
  77. data/spec/bourbon/{addons → library}/border_radius_spec.rb +1 -1
  78. data/spec/bourbon/{addons → library}/border_style_spec.rb +1 -1
  79. data/spec/bourbon/{addons → library}/border_width_spec.rb +1 -1
  80. data/spec/bourbon/{addons → library}/buttons_spec.rb +4 -4
  81. data/spec/bourbon/{addons → library}/clearfix_spec.rb +3 -3
  82. data/spec/bourbon/library/contrast_switch_spec.rb +23 -0
  83. data/spec/bourbon/{addons → library}/ellipsis_spec.rb +1 -1
  84. data/spec/bourbon/library/font_face_spec_1.rb +16 -0
  85. data/spec/bourbon/library/font_face_spec_2.rb +20 -0
  86. data/spec/bourbon/library/font_face_spec_3.rb +16 -0
  87. data/spec/bourbon/library/font_stacks_spec.rb +42 -0
  88. data/spec/bourbon/{addons → library}/hide_text_spec.rb +1 -1
  89. data/spec/bourbon/library/hide_visually_spec.rb +37 -0
  90. data/spec/bourbon/{addons → library}/margin_spec.rb +1 -1
  91. data/spec/bourbon/{functions → library}/modular_scale_spec.rb +6 -6
  92. data/spec/bourbon/library/overflow_wrap_spec.rb +27 -0
  93. data/spec/bourbon/{addons → library}/padding_spec.rb +1 -1
  94. data/spec/bourbon/{addons → library}/position_spec.rb +1 -1
  95. data/spec/bourbon/library/prefixer_spec.rb +34 -0
  96. data/spec/bourbon/{functions → library}/shade_spec.rb +1 -1
  97. data/spec/bourbon/{addons → library}/size_spec.rb +1 -1
  98. data/spec/bourbon/{functions/strip_units_spec.rb → library/strip_unit_spec.rb} +2 -2
  99. data/spec/bourbon/{addons → library}/text_inputs_spec.rb +25 -15
  100. data/spec/bourbon/{functions → library}/tint_spec.rb +1 -1
  101. data/spec/bourbon/library/triangle_spec.rb +31 -0
  102. data/spec/bourbon/{functions → utilities}/assign_inputs_spec.rb +8 -8
  103. data/spec/bourbon/utilities/compact_shorthand_spec.rb +30 -0
  104. data/spec/bourbon/utilities/contrast_ratio_spec.rb +23 -0
  105. data/spec/bourbon/utilities/directional_property_spec.rb +28 -0
  106. data/spec/bourbon/utilities/fetch_bourbon_setting_spec.rb +31 -0
  107. data/spec/bourbon/utilities/font_source_declaration_spec.rb +23 -0
  108. data/spec/bourbon/utilities/gamma_spec.rb +23 -0
  109. data/spec/bourbon/utilities/lightness_spec.rb +31 -0
  110. data/spec/bourbon/{functions → utilities}/unpack_spec.rb +1 -1
  111. data/spec/bourbon/{functions → validators}/contains_spec.rb +1 -1
  112. data/spec/bourbon/{functions → validators}/is_length_spec.rb +13 -1
  113. data/spec/bourbon/{functions → validators}/is_number_spec.rb +1 -1
  114. data/spec/bourbon/{functions → validators}/is_size_spec.rb +1 -1
  115. data/spec/fixtures/_setup.scss +1 -1
  116. data/spec/fixtures/{addons → library}/border-color.scss +4 -4
  117. data/spec/fixtures/library/contrast-switch.scss +9 -0
  118. data/spec/fixtures/library/font-face-1.scss +6 -0
  119. data/spec/fixtures/library/font-face-2.scss +10 -0
  120. data/spec/fixtures/library/font-face-3.scss +8 -0
  121. data/spec/fixtures/library/font-stacks.scss +41 -0
  122. data/spec/fixtures/library/hide-visually.scss +9 -0
  123. data/spec/fixtures/library/overflow-wrap.scss +9 -0
  124. data/spec/fixtures/{addons → library}/position.scss +0 -4
  125. data/spec/fixtures/library/prefixer.scss +13 -0
  126. data/spec/fixtures/{functions → library}/shade.scss +1 -1
  127. data/spec/fixtures/{addons → library}/size.scss +2 -2
  128. data/spec/fixtures/library/strip-unit.scss +17 -0
  129. data/spec/fixtures/{addons → library}/text-inputs.scss +4 -0
  130. data/spec/fixtures/{functions → library}/tint.scss +1 -1
  131. data/spec/fixtures/library/triangle.scss +9 -0
  132. data/spec/fixtures/utilities/assign-inputs.scss +19 -0
  133. data/spec/fixtures/utilities/compact-shorthand.scss +21 -0
  134. data/spec/fixtures/utilities/contrast-ratio.scss +9 -0
  135. data/spec/fixtures/utilities/directional-property.scss +17 -0
  136. data/spec/fixtures/utilities/fetch-bourbon-setting.scss +16 -0
  137. data/spec/fixtures/utilities/font-source-declaration.scss +11 -0
  138. data/spec/fixtures/utilities/gamma.scss +9 -0
  139. data/spec/fixtures/utilities/lightness.scss +13 -0
  140. data/spec/fixtures/utilities/unpack.scss +17 -0
  141. data/spec/fixtures/{functions → validators}/contains.scss +1 -1
  142. data/spec/fixtures/{functions → validators}/is-length.scss +9 -1
  143. data/spec/fixtures/{functions → validators}/is-number.scss +1 -1
  144. data/spec/fixtures/{functions → validators}/is-size.scss +1 -1
  145. data/spec/support/matchers/have_value.rb +1 -1
  146. data/spec/support/sass_support.rb +2 -2
  147. metadata +254 -281
  148. data/.scss-lint.yml +0 -14
  149. data/.travis.yml +0 -8
  150. data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +0 -411
  151. data/app/assets/stylesheets/_bourbon.scss +0 -87
  152. data/app/assets/stylesheets/addons/_border-color.scss +0 -26
  153. data/app/assets/stylesheets/addons/_border-radius.scss +0 -48
  154. data/app/assets/stylesheets/addons/_border-style.scss +0 -25
  155. data/app/assets/stylesheets/addons/_border-width.scss +0 -25
  156. data/app/assets/stylesheets/addons/_buttons.scss +0 -64
  157. data/app/assets/stylesheets/addons/_font-stacks.scss +0 -31
  158. data/app/assets/stylesheets/addons/_hide-text.scss +0 -27
  159. data/app/assets/stylesheets/addons/_margin.scss +0 -26
  160. data/app/assets/stylesheets/addons/_padding.scss +0 -26
  161. data/app/assets/stylesheets/addons/_position.scss +0 -48
  162. data/app/assets/stylesheets/addons/_prefixer.scss +0 -66
  163. data/app/assets/stylesheets/addons/_retina-image.scss +0 -25
  164. data/app/assets/stylesheets/addons/_size.scss +0 -51
  165. data/app/assets/stylesheets/addons/_text-inputs.scss +0 -113
  166. data/app/assets/stylesheets/addons/_timing-functions.scss +0 -34
  167. data/app/assets/stylesheets/addons/_triangle.scss +0 -63
  168. data/app/assets/stylesheets/addons/_word-wrap.scss +0 -29
  169. data/app/assets/stylesheets/css3/_animation.scss +0 -43
  170. data/app/assets/stylesheets/css3/_appearance.scss +0 -3
  171. data/app/assets/stylesheets/css3/_backface-visibility.scss +0 -3
  172. data/app/assets/stylesheets/css3/_background-image.scss +0 -42
  173. data/app/assets/stylesheets/css3/_background.scss +0 -55
  174. data/app/assets/stylesheets/css3/_border-image.scss +0 -59
  175. data/app/assets/stylesheets/css3/_calc.scss +0 -4
  176. data/app/assets/stylesheets/css3/_columns.scss +0 -47
  177. data/app/assets/stylesheets/css3/_filter.scss +0 -4
  178. data/app/assets/stylesheets/css3/_flex-box.scss +0 -287
  179. data/app/assets/stylesheets/css3/_font-face.scss +0 -24
  180. data/app/assets/stylesheets/css3/_font-feature-settings.scss +0 -4
  181. data/app/assets/stylesheets/css3/_hidpi-media-query.scss +0 -10
  182. data/app/assets/stylesheets/css3/_hyphens.scss +0 -4
  183. data/app/assets/stylesheets/css3/_image-rendering.scss +0 -14
  184. data/app/assets/stylesheets/css3/_keyframes.scss +0 -36
  185. data/app/assets/stylesheets/css3/_linear-gradient.scss +0 -38
  186. data/app/assets/stylesheets/css3/_perspective.scss +0 -8
  187. data/app/assets/stylesheets/css3/_placeholder.scss +0 -8
  188. data/app/assets/stylesheets/css3/_radial-gradient.scss +0 -39
  189. data/app/assets/stylesheets/css3/_selection.scss +0 -42
  190. data/app/assets/stylesheets/css3/_text-decoration.scss +0 -19
  191. data/app/assets/stylesheets/css3/_transform.scss +0 -15
  192. data/app/assets/stylesheets/css3/_transition.scss +0 -71
  193. data/app/assets/stylesheets/css3/_user-select.scss +0 -3
  194. data/app/assets/stylesheets/functions/_assign-inputs.scss +0 -11
  195. data/app/assets/stylesheets/functions/_is-length.scss +0 -11
  196. data/app/assets/stylesheets/functions/_is-light.scss +0 -21
  197. data/app/assets/stylesheets/functions/_is-number.scss +0 -11
  198. data/app/assets/stylesheets/functions/_is-size.scss +0 -13
  199. data/app/assets/stylesheets/functions/_modular-scale.scss +0 -69
  200. data/app/assets/stylesheets/functions/_px-to-em.scss +0 -13
  201. data/app/assets/stylesheets/functions/_px-to-rem.scss +0 -15
  202. data/app/assets/stylesheets/functions/_shade.scss +0 -24
  203. data/app/assets/stylesheets/functions/_strip-units.scss +0 -17
  204. data/app/assets/stylesheets/functions/_tint.scss +0 -24
  205. data/app/assets/stylesheets/functions/_transition-property-name.scss +0 -22
  206. data/app/assets/stylesheets/helpers/_convert-units.scss +0 -21
  207. data/app/assets/stylesheets/helpers/_directional-values.scss +0 -96
  208. data/app/assets/stylesheets/helpers/_font-source-declaration.scss +0 -43
  209. data/app/assets/stylesheets/helpers/_gradient-positions-parser.scss +0 -13
  210. data/app/assets/stylesheets/helpers/_linear-angle-parser.scss +0 -25
  211. data/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +0 -41
  212. data/app/assets/stylesheets/helpers/_linear-positions-parser.scss +0 -61
  213. data/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss +0 -31
  214. data/app/assets/stylesheets/helpers/_radial-arg-parser.scss +0 -69
  215. data/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +0 -50
  216. data/app/assets/stylesheets/helpers/_radial-positions-parser.scss +0 -18
  217. data/app/assets/stylesheets/helpers/_render-gradients.scss +0 -26
  218. data/app/assets/stylesheets/helpers/_shape-size-stripper.scss +0 -10
  219. data/app/assets/stylesheets/helpers/_str-to-num.scss +0 -50
  220. data/app/assets/stylesheets/settings/_asset-pipeline.scss +0 -7
  221. data/app/assets/stylesheets/settings/_prefixer.scss +0 -9
  222. data/app/assets/stylesheets/settings/_px-to-em.scss +0 -1
  223. data/bower.json +0 -36
  224. data/lib/bourbon/engine.rb +0 -5
  225. data/lib/tasks/install.rake +0 -20
  226. data/sache.json +0 -5
  227. data/spec/bourbon/addons/font_stacks_spec.rb +0 -25
  228. data/spec/bourbon/addons/retina_image_spec.rb +0 -57
  229. data/spec/bourbon/addons/triangle_spec.rb +0 -32
  230. data/spec/bourbon/addons/word_wrap_spec.rb +0 -29
  231. data/spec/bourbon/css3/font_face_spec.rb +0 -45
  232. data/spec/bourbon/css3/hidpi_media_query_spec.rb +0 -23
  233. data/spec/bourbon/functions/is_light_spec.rb +0 -37
  234. data/spec/bourbon/functions/px_to_em_spec.rb +0 -31
  235. data/spec/bourbon/functions/px_to_rem_spec.rb +0 -25
  236. data/spec/bourbon/helpers/convert_units_spec.rb +0 -31
  237. data/spec/bourbon/helpers/directional_values_spec.rb +0 -39
  238. data/spec/bourbon/helpers/font_source_declaration_spec.rb +0 -29
  239. data/spec/bourbon/helpers/str_to_num_spec.rb +0 -25
  240. data/spec/fixtures/addons/font-stacks.scss +0 -21
  241. data/spec/fixtures/addons/retina-image.scss +0 -21
  242. data/spec/fixtures/addons/triangle.scss +0 -9
  243. data/spec/fixtures/addons/word-wrap.scss +0 -9
  244. data/spec/fixtures/css3/font-face.scss +0 -6
  245. data/spec/fixtures/css3/hidpi-media-query.scss +0 -13
  246. data/spec/fixtures/functions/assign-inputs.scss +0 -19
  247. data/spec/fixtures/functions/is-light.scss +0 -29
  248. data/spec/fixtures/functions/px-to-em.scss +0 -17
  249. data/spec/fixtures/functions/px-to-rem.scss +0 -15
  250. data/spec/fixtures/functions/strip-units.scss +0 -17
  251. data/spec/fixtures/functions/unpack.scss +0 -17
  252. data/spec/fixtures/helpers/convert-units.scss +0 -17
  253. data/spec/fixtures/helpers/directional-values.scss +0 -29
  254. data/spec/fixtures/helpers/font-source-declaration.scss +0 -10
  255. data/spec/fixtures/helpers/str-to-num.scss +0 -13
  256. data/spec/support/matchers/be_contained_in.rb +0 -10
  257. /data/spec/fixtures/{addons → library}/border-radius.scss +0 -0
  258. /data/spec/fixtures/{addons → library}/border-style.scss +0 -0
  259. /data/spec/fixtures/{addons → library}/border-width.scss +0 -0
  260. /data/spec/fixtures/{addons → library}/buttons.scss +0 -0
  261. /data/spec/fixtures/{addons → library}/clearfix.scss +0 -0
  262. /data/spec/fixtures/{addons → library}/ellipsis.scss +0 -0
  263. /data/spec/fixtures/{addons → library}/hide-text.scss +0 -0
  264. /data/spec/fixtures/{addons → library}/margin.scss +0 -0
  265. /data/spec/fixtures/{functions → library}/modular-scale.scss +0 -0
  266. /data/spec/fixtures/{addons → library}/padding.scss +0 -0
data/CONTRIBUTING.md CHANGED
@@ -1,37 +1,90 @@
1
- We love pull requests from everyone. By participating in this project, you
2
- agree to abide by the thoughtbot [code of conduct]. Here’s a quick guide:
1
+ # Contributing
3
2
 
4
- [code of conduct]: https://thoughtbot.com/open-source-code-of-conduct
3
+ ## Governance
4
+
5
+ We, the maintainers of Bourbon, would like you to know what to expect when
6
+ interacting with this project's repo.
7
+
8
+ As a *user* of Bourbon, you can expect care to be put into official releases.
9
+ The maintainers cannot guarantee that the `master` branch will have the same
10
+ API forever.
11
+
12
+ If you *review pull requests* or *comment on issues*, you are expected to abide
13
+ by our [code of conduct].
14
+
15
+ As a *contributor*, submitting a pull request or opening an issue, you can
16
+ expect an initial response from a maintainer within two weeks. The maintainers
17
+ cannot guarantee that we will accept all feature requests, and may fix bugs in
18
+ ways other than how the contributor suggests. You are expected to abide by our
19
+ [code of conduct].
20
+
21
+ As a *maintainer*, you can merge pull requests (even your own) at any time.
22
+ Maintainers are encouraged to request code review from others at thoughtbot or
23
+ any relevant peers. You are expected to abide by our [code of conduct].
24
+
25
+ Only members of thoughtbot may be maintainers.
5
26
 
6
- 1. Fork the repository.
7
- 2. Make your changes in a topic branch.
8
- 3. Squash your commits into a single one (more on that [here](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)).
9
- 4. Rebase against `origin/master`, push to your fork and submit a pull request.
10
- 5. If you are writing a new feature please add documentation for it by making another pull request to the `gh-pages` branch.
27
+ ## Pull Requests
11
28
 
12
- At this point you’re waiting on us. We like to at least comment on, if not
13
- accept, pull requests within three business days (and, typically, one business
14
- day). We may suggest some changes or improvements or alternatives.
29
+ We welcome pull requests from everyone. Here’s a quick guide:
15
30
 
16
- Some things that will increase the chance that your pull request is accepted:
31
+ 1. [Fork the repository][fork] and clone to your machine.
32
+ 1. Run `bundle install`.
33
+ 1. Make sure the tests pass: `bundle exec rake`.
34
+ 1. Make your change, following our style guide (below). Write tests. Make sure
35
+ the tests pass: `bundle exec rake`.
36
+ 1. Write a [good commit message][commit]. Push to your fork and
37
+ [submit a pull request][pr]. If [Hound] catches style violations, fix them.
38
+ 1. Wait for us. We try to at least comment on pull requests within one week. We
39
+ may suggest changes.
17
40
 
18
- * Fix a bug, refactor code or expand an existing feature.
19
- * Use the right syntax and naming conventions.
20
- * Update parts of the documentation that are affected by your contribution.
41
+ [fork]: https://github.com/thoughtbot/bourbon/fork
42
+ [commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
43
+ [pr]: https://github.com/thoughtbot/bourbon/compare/
44
+ [hound]: https://houndci.com
21
45
 
22
- **Git Commit Messages**
46
+ ### Style Guide
23
47
 
24
- * Capitalize your commit messages.
25
- * Start your message with a verb.
26
- * Use present tense.
27
- * Refer to the issue/PR number in your squashed commit message.
48
+ Bourbon uses Sass’s SCSS syntax and aligns to
49
+ [thoughtbot’s style guides][sass guide]. High-level notes:
28
50
 
29
- **SCSS Style Guide**
51
+ - Use two-space indentation (no tabs).
52
+ - Use double quotation marks.
53
+ - Use hyphens when naming things: `hide-visually` rather than `hide_visually` or
54
+ `hideVisually`.
55
+ - Use one space between property and value: `width: 20px` rather than
56
+ `width:20px`.
57
+ - Names should be descriptive and aim for clarity over brevity:
58
+ `$all-text-inputs-hover` rather than `$inputshover` or `$alltxthvr`.
59
+ - Order CSS declarations alphabetically.
60
+ - No trailing whitespace.
30
61
 
31
- * Two spaces, no tabs.
32
- * Dashes instead of underscores or camel case: `linear-gradient` **not** `linear_gradient` or `linearGradient`
33
- * Names should be descriptive and written in full-words: `$all-text-inputs-hover` **not** `$hover` or `$alltxthvr`
34
- * Space between property and value: `width: 20px` **not** `width:20px`
35
- * Declarations within a block should be ordered alphabetically.
36
- * Blank lines between rules.
37
- * No trailing whitespace. Blank lines should not have any space.
62
+ We use [stylelint][stylelint] to lint our CSS and Sass. It's configuration can
63
+ be found in `.stylelintrc.json`. You can run stylelint from the command line via
64
+ `npm run stylelint`, or integrate it with your text editor.
65
+
66
+ [sass guide]: https://github.com/thoughtbot/guides
67
+ [stylelint]: https://stylelint.io/
68
+
69
+ ### Documentation
70
+
71
+ We use [SassDoc] to document Bourbon. [Annotations] should be ordered:
72
+
73
+ - `@link`
74
+ - `@see`
75
+ - `@type`
76
+ - `@argument`
77
+ - `@content`
78
+ - `@property`
79
+ - `@return`
80
+ - `@example`
81
+ - `@require`
82
+ - `@access`
83
+ - `@since`
84
+ - `@author`
85
+ - `@deprecated`
86
+ - `@todo`
87
+
88
+ [SassDoc]: http://sassdoc.com
89
+ [Annotations]: http://sassdoc.com/annotations
90
+ [code of conduct]: https://thoughtbot.com/open-source-code-of-conduct
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright © 2011–2015 [thoughtbot, inc.](http://thoughtbot.com)
3
+ Copyright © 2011-2020 [thoughtbot, inc.](http://thoughtbot.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the “Software”), to deal
data/README.md CHANGED
@@ -1,140 +1,207 @@
1
- [![Bourbon](http://images.thoughtbot.com/bourbon/bourbon-logo.svg)](http://bourbon.io)
1
+ [<img src="https://images.thoughtbot.com/bourbon/bourbon-logo.svg" width="200" alt="Bourbon logo">][Bourbon]
2
2
 
3
- [![Gem Version](http://img.shields.io/gem/v/bourbon.svg?style=flat)](https://rubygems.org/gems/bourbon)
4
- [![Code Climate](http://img.shields.io/codeclimate/github/thoughtbot/bourbon.svg?style=flat)](https://codeclimate.com/github/thoughtbot/bourbon)
5
- [![Gitter chat](https://img.shields.io/badge/gitter-thoughtbot/bourbon-ae3dd2.svg?style=flat)](https://gitter.im/thoughtbot/bourbon)
6
- [![Stack Overflow](http://img.shields.io/badge/stack%20overflow-bourbon-ae3dd2.svg?style=flat)](http://stackoverflow.com/questions/tagged/bourbon)
3
+ [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)
7
4
 
8
- ## A simple and lightweight mixin library for Sass.
5
+ ## A Lightweight Sass Tool Set
9
6
 
10
- Bourbon is a library of pure Sass mixins that are designed to be simple and easy to use. No configuration required. The mixins aim to be as vanilla as possible, meaning they should be as close to the original CSS syntax as possible.
7
+ [Bourbon] is a library of [Sass] mixins and functions that are designed to make
8
+ you a more efficient style sheet author.
11
9
 
12
- The mixins contain vendor specific prefixes for all CSS3 properties for support amongst modern browsers. The prefixes also ensure graceful degradation for older browsers that support only CSS3 prefixed properties. Bourbon uses SCSS syntax.
10
+ It is…
13
11
 
14
- - **[Documentation](http://bourbon.io/docs)**
15
- - **[Changelog](https://github.com/thoughtbot/bourbon/releases)**
16
- - **[Issues & Bugs](https://github.com/thoughtbot/bourbon/issues)**
12
+ - Dependency-free: Bourbon is pure Sass.
13
+ - Human-readable: We aim for clarity over brevity.
14
+ - Lightweight: Zero output post-install and has no visual opinion.
17
15
 
18
- Follow the [@bourbonsass](https://twitter.com/bourbonsass) Twitter account
19
- for updates.
16
+ [Bourbon]: https://www.bourbon.io/
17
+ [Sass]: http://sass-lang.com
18
+
19
+ ### Helpful Links
20
+
21
+ - [Documentation](https://www.bourbon.io/docs/latest/)
22
+ - [Change log](CHANGELOG.md)
23
+ - [Twitter](https://twitter.com/bourbonsass)
24
+ - [Stack Overflow](https://stackoverflow.com/questions/tagged/bourbon)
25
+
26
+ ## Table of Contents
27
+
28
+ - [Requirements](#requirements)
29
+ - [Installation](#installation)
30
+ - [Command Line Interface](#command-line-interface)
31
+ - [Browser Support](#browser-support)
32
+ - [Contributing](#contributing)
33
+ - [License](#license)
34
+ - [About](#about)
20
35
 
21
36
  ## Requirements
22
37
 
23
- - [Sass](https://github.com/sass/sass) 3.4+ or [LibSass](https://github.com/sass/libsass) 3.1+
38
+ - [Sass] 3.4+ or [LibSass] 3.3+
24
39
 
25
- ## Installation
40
+ [Sass]: https://github.com/sass/sass
41
+ [LibSass]: https://github.com/sass/libsass
26
42
 
27
- For command line help, visit our wiki page on Bourbon’s [command line interface](https://github.com/thoughtbot/bourbon/wiki/Command-Line-Interface).
43
+ ## Installation
28
44
 
29
- 1. Install the Bourbon gem using the [RubyGems](https://rubygems.org) package manager:
45
+ 1. Install the Bourbon gem using the [RubyGems] package manager:
30
46
 
31
- ```bash
32
- gem install bourbon
33
- ```
47
+ ```bash
48
+ gem install bourbon
49
+ ```
34
50
 
35
- Alternatively, you can install Bourbon with [Bower](http://bower.io).
51
+ 1. Install the Bourbon library into the current directory:
36
52
 
37
- 2. Install the Bourbon library into the current directory:
53
+ ```bash
54
+ bourbon install
55
+ ```
38
56
 
39
- ```bash
40
- bourbon install
41
- ```
57
+ **Pro Tip:** You can target installation into a specific directory using the
58
+ `path` flag:
42
59
 
43
- **Pro Tip:** You can target installation into a specific directory using the `path` flag:
60
+ ```bash
61
+ bourbon install --path my/custom/path/
62
+ ```
44
63
 
45
- ```bash
46
- bourbon install --path my/custom/path/
47
- ```
64
+ 1. Import Bourbon at the beginning of your stylesheet:
48
65
 
49
- 3. Import Bourbon at the beginning of your stylesheet:
66
+ ```scss
67
+ @import "bourbon/bourbon";
68
+ ```
50
69
 
51
- ```scss
52
- @import "bourbon/bourbon";
53
- ```
70
+ It’s not recommended that you modify Bourbon’s files directly as it will
71
+ make updating to future versions difficult, by overwriting your custom
72
+ changes or causing merge conflicts.
54
73
 
55
- It’s not recommended to add or modify the Bourbon files so that you can update them easily.
74
+ [RubyGems]: https://rubygems.org
56
75
 
57
- ## Installation for Ruby on Rails 3.1+
76
+ ### Installation for Ruby on Rails 4.2+
58
77
 
59
78
  1. Add Bourbon to your Gemfile:
60
79
 
61
- ```ruby
62
- gem 'bourbon'
63
- ```
80
+ ```ruby
81
+ gem "bourbon"
82
+ ```
83
+
84
+ 1. Then run:
85
+
86
+ ```bash
87
+ bundle install
88
+ ```
89
+
90
+ 1. Restart your server and rename `application.css` to `application.scss`:
91
+
92
+ ```bash
93
+ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
94
+ ```
64
95
 
65
- 2. Then run:
96
+ 1. Delete _all_ Sprockets directives in `application.scss` (`require`,
97
+ `require_tree` and `require_self`) and use Sass’s native `@import` instead
98
+ ([why?][sass-import]).
66
99
 
67
- ```bash
68
- bundle install
69
- ```
100
+ 1. Import Bourbon at the beginning of `application.scss`. Any project styles
101
+ that utilize Bourbon’s features must be imported after Bourbon.
70
102
 
71
- 3. Restart your server and rename `application.css` to `application.scss`:
103
+ ```scss
104
+ @import "bourbon";
105
+ @import "home";
106
+ @import "users";
107
+ ```
72
108
 
73
- ```bash
74
- mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
75
- ```
109
+ [sass-import]: https://content.pivotal.io/blog/structure-your-sass-files-with-import
76
110
 
77
- 4. Delete _all_ Sprockets directives in `application.scss` (`require`, `require_tree` and `require_self`) and use Sass’s native `@import` instead. ([why?](http://pivotallabs.com/structure-your-sass-files-with-import))
111
+ ### Installing with npm and using a Node-based asset pipeline
78
112
 
79
- 5. Import Bourbon at the beginning of `application.scss`. All additional stylesheets should be imported below Bourbon:
113
+ 1. Add Bourbon as a dependency:
80
114
 
81
- ```scss
82
- @import "bourbon";
83
- @import "home";
84
- @import "users";
85
- ```
115
+ ```bash
116
+ npm install --save bourbon
117
+ ```
86
118
 
87
- [Help! Im getting an undefined mixin error.](https://github.com/thoughtbot/bourbon/wiki/Rails-Help-%5C-Undefined-mixin)
119
+ 1. If youre using [eyeglass], skip to Step 3. Otherwise, you’ll need to add
120
+ Bourbon to your node-sass `includePaths` option.
121
+ `require("bourbon").includePaths` is an array of directories that you should
122
+ pass to node-sass. How you do this depends on how node-sass is integrated
123
+ into your project.
88
124
 
89
- ## Installing older versions of Bourbon
125
+ 1. Import Bourbon into your Sass files:
126
+
127
+ ```scss
128
+ @import "bourbon";
129
+ ```
130
+
131
+ [eyeglass]: https://github.com/sass-eyeglass/eyeglass
132
+
133
+ ### Installing older versions of Bourbon
90
134
 
91
135
  1. Uninstall any Bourbon gem versions you already have:
92
136
 
93
- ```bash
94
- gem uninstall bourbon
95
- ```
137
+ ```bash
138
+ gem uninstall bourbon
139
+ ```
140
+
141
+ 1. Reinstall the Bourbon gem, using the `-v` flag to specify the version
142
+ you need:
143
+
144
+ ```bash
145
+ gem install bourbon -v 4.2.7
146
+ ```
96
147
 
97
- 2. Reinstall the Bourbon gem, using the `-v` flag to specify the version you need:
148
+ 1. Follow the [instructions above](#installation) to install Bourbon into
149
+ your project.
98
150
 
99
- ```bash
100
- gem install bourbon -v 3.2.4
101
- ```
151
+ ## Command Line Interface
102
152
 
103
- 3. Follow the [instructions above](#installation) to install Bourbon into your project.
153
+ ```bash
154
+ bourbon [options]
155
+ ```
104
156
 
105
- ## Browser support
157
+ ### Options
106
158
 
107
- - Chrome 26+
108
- - Firefox 29+
109
- - Internet Explorer 9+
110
- - Opera 15+
111
- - Safari 6.1+
159
+ | Option | Description |
160
+ | :---------------- | :------------------------ |
161
+ | `-h`, `--help` | Show help |
162
+ | `-v`, `--version` | Show the version number |
163
+ | `--path` | Specify a custom path |
164
+ | `--force` | Force install (overwrite) |
112
165
 
113
- ## The Bourbon family
166
+ ### Commands
114
167
 
115
- - [Bourbon](https://github.com/thoughtbot/bourbon): A simple and lightweight mixin library for Sass
116
- - [Neat](https://github.com/thoughtbot/neat): A lightweight semantic grid framework for Sass and Bourbon
117
- - [Bitters](https://github.com/thoughtbot/bitters): Scaffold styles, variables and structure for Bourbon projects
118
- - [Refills](https://github.com/thoughtbot/refills): Prepackaged patterns and components built with Bourbon, Neat and Bitters
168
+ | Command | Description |
169
+ | :---------------- | :---------------------------------------------------- |
170
+ | `bourbon install` | Install Bourbon into the current directory |
171
+ | `bourbon update` | Overwrite and update Bourbon in the current directory |
172
+ | `bourbon help` | Show help |
119
173
 
120
- Also check out [Proteus](https://github.com/thoughtbot/proteus), a collection of useful starter kits to help you prototype faster. Each kit comes with Bourbon, Neat and Bitters out-of-the-box.
174
+ ## Browser Support
175
+
176
+ Bourbon supports Internet Explorer 11+ and the latest versions of Chrome,
177
+ Firefox, Safari, and Edge.
178
+
179
+ ## Contributing
180
+
181
+ See the [contributing] document. Thank you, [contributors]!
182
+
183
+ [contributing]: CONTRIBUTING.md
184
+ [contributors]: https://github.com/thoughtbot/bourbon/graphs/contributors
121
185
 
122
186
  ## License
123
187
 
124
- Copyright © 2011–2015 [thoughtbot, inc](http://thoughtbot.com).
125
- Bourbon is free software,
126
- and may be redistributed under the terms specified in the [license](LICENSE.md).
188
+ Bourbon is copyright © 2011-2020 [thoughtbot, inc.][thoughtbot] It is free
189
+ software, and may be redistributed under the terms specified in the [license].
190
+
191
+ [license]: LICENSE.md
127
192
 
128
- ## About thoughtbot
193
+ ## About
129
194
 
130
- [<img src="http://thoughtbot.github.io/images/signature.svg" width="250" alt="thoughtbot logo">][hire]
195
+ Bourbon is maintained by the thoughtbot design team. It is funded
196
+ by [thoughtbot, inc.][thoughtbot] and the names and logos for thoughtbot are
197
+ trademarks of thoughtbot, inc.
131
198
 
132
- Bourbon is maintained and funded by thoughtbot, inc.
133
- The names and logos for thoughtbot are trademarks of thoughtbot, inc.
199
+ [![thoughtbot][thoughtbot-logo]][thoughtbot]
134
200
 
135
- We love open source software!
136
- See [our other projects][community] or
201
+ We love open-source software! See [our other projects][community] or
137
202
  [hire us][hire] to design, develop, and grow your product.
138
203
 
139
- [community]: https://thoughtbot.com/community?utm_source=github
140
- [hire]: https://thoughtbot.com/hire-us?utm_source=github
204
+ [thoughtbot]: https://thoughtbot.com?utm_source=github
205
+ [thoughtbot-logo]: http://presskit.thoughtbot.com/images/thoughtbot-logo-for-readmes.svg
206
+ [community]: https://thoughtbot.com/community?utm_source=github
207
+ [hire]: https://thoughtbot.com/hire-us?utm_source=github
data/RELEASING.md ADDED
@@ -0,0 +1,32 @@
1
+ # Releasing
2
+
3
+ 1. Update the version number in these places:
4
+
5
+ - `lib/bourbon/version.rb`
6
+ - `core/_bourbon.scss`
7
+ - `package.json`
8
+
9
+ 1. Update `CHANGELOG.md`. We follow the guidelines from
10
+ [Keep a Changelog][keep-a-changelog].
11
+
12
+ 1. Commit changes. Use the convention “Bourbon vX.X.X” in your commit message.
13
+ There shouldn’t be code changes, and thus CI doesn’t need to run.
14
+
15
+ 1. Run `bundle exec rake release`, which tags the release, pushes the tag to
16
+ GitHub, and pushes the gem to RubyGems.org.
17
+
18
+ 1. Run `npm publish`, which pushes the new version to npm’s registry (if
19
+ releasing a pre-release, run `npm publish --tag beta`).
20
+
21
+ 1. Draft a [new GitHub release][github-release].
22
+
23
+ 1. Tweet about the release from the [@bourbonsass] Twitter account, e.g.
24
+
25
+ > We’ve released Bourbon {release_title}: {release_link}
26
+
27
+ 1. Re-generate and publish the [documentation website][website].
28
+
29
+ [keep-a-changelog]: https://keepachangelog.com/en/1.0.0/
30
+ [github-release]: https://github.com/thoughtbot/bourbon/releases/new
31
+ [@bourbonsass]: https://twitter.com/bourbonsass
32
+ [website]: https://github.com/thoughtbot/bourbon.io
data/Rakefile CHANGED
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
- require "rubygems"
3
1
  require "bundler"
4
2
  require "cucumber/rake/task"
5
3
  require "rspec/core/rake_task"
data/bin/bourbon CHANGED
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # CodeKit needs relative paths
4
- require File.dirname(__FILE__) + '/../lib/bourbon.rb'
3
+ require File.dirname(__FILE__) + "/../lib/bourbon.rb"
5
4
 
6
5
  Bourbon::Generator.start
data/bourbon.gemspec CHANGED
@@ -2,31 +2,38 @@ $:.push File.expand_path("../lib", __FILE__)
2
2
  require "bourbon/version"
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.name = "bourbon"
6
- s.version = Bourbon::VERSION
7
- s.platform = Gem::Platform::RUBY
8
- s.authors = ["Andres Mejia", "Chad Mazzola", "Chris Lloyd", "Gabe Berke-Williams", "J. Edward Dewyea", "Jeremy Raines", "Kyle Fiedler", "Matt Jankowski", "Mike Burns", "Nick Quaranto", "Phil LaPier", "Reda Lemeden", "Travis Haynes", "Tyson Gach", "Will McMahan"]
9
- s.email = "design+bourbon@thoughtbot.com"
10
- s.license = "MIT"
11
- s.homepage = "http://bourbon.io"
12
- s.summary = "A simple and lightweight mixin library for Sass"
5
+ s.add_development_dependency "aruba", "~> 0.14"
6
+ s.add_development_dependency "css_parser", "~> 1.4"
7
+ s.add_development_dependency "cucumber", "~> 2.0"
8
+ s.add_development_dependency "rake"
9
+ s.add_development_dependency "rspec", "~> 3.4"
10
+ s.add_development_dependency "sass"
11
+ s.add_runtime_dependency "thor", "~> 1.0"
12
+ s.authors = [
13
+ "Christian Reuter",
14
+ "Damian Galarza",
15
+ "Gabe Berke-Williams",
16
+ "Hugo Giraudel",
17
+ "Joshua Ogle",
18
+ "Kyle Fiedler",
19
+ "Phil LaPier",
20
+ "Reda Lemeden",
21
+ "Tyson Gach",
22
+ "Will McMahan"
23
+ ]
13
24
  s.description = <<-DESC
14
- Bourbon is a library of pure Sass mixins that are designed to be simple and easy
15
- to use. No configuration required. The mixins aim to be as vanilla as possible,
16
- meaning they should be as close to the original CSS syntax as possible.
25
+ Bourbon is a library of pure Sass mixins and functions that are designed to
26
+ make you a more efficient developer.
17
27
  DESC
18
-
19
- s.files = `git ls-files`.split("\n")
20
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
28
+ s.email = "design+bourbon@thoughtbot.com"
29
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
30
+ s.files = `git ls-files`.split("\n")
31
+ s.homepage = "https://www.bourbon.io/"
32
+ s.license = "MIT"
33
+ s.name = "bourbon"
34
+ s.platform = Gem::Platform::RUBY
22
35
  s.require_paths = ["lib"]
23
-
24
- s.add_runtime_dependency("sass", "~> 3.4")
25
- s.add_runtime_dependency("thor", "~> 0.19")
26
-
27
- s.add_development_dependency("aruba", "~> 0.6.2")
28
- s.add_development_dependency("css_parser", "~> 1.3")
29
- s.add_development_dependency("rake", "~> 10.4")
30
- s.add_development_dependency("rspec", "~> 3.3")
31
- s.add_development_dependency("scss_lint", "~> 0.40")
36
+ s.summary = "A lightweight Sass tool set."
37
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
38
+ s.version = Bourbon::VERSION
32
39
  end
@@ -0,0 +1,54 @@
1
+ // Bourbon 7.3.0
2
+ // https://www.bourbon.io/
3
+ // Copyright 2011-2020 thoughtbot, inc.
4
+ // MIT License
5
+
6
+ @import "bourbon/helpers/buttons-list";
7
+ @import "bourbon/helpers/scales";
8
+ @import "bourbon/helpers/text-inputs-list";
9
+
10
+ @import "bourbon/settings/settings";
11
+
12
+ @import "bourbon/validators/contains";
13
+ @import "bourbon/validators/contains-falsy";
14
+ @import "bourbon/validators/is-color";
15
+ @import "bourbon/validators/is-length";
16
+ @import "bourbon/validators/is-number";
17
+ @import "bourbon/validators/is-size";
18
+
19
+ @import "bourbon/utilities/assign-inputs";
20
+ @import "bourbon/utilities/compact-shorthand";
21
+ @import "bourbon/utilities/directional-property";
22
+ @import "bourbon/utilities/fetch-bourbon-setting";
23
+ @import "bourbon/utilities/font-source-declaration";
24
+ @import "bourbon/utilities/gamma";
25
+ @import "bourbon/utilities/lightness";
26
+ @import "bourbon/utilities/contrast-ratio";
27
+ @import "bourbon/utilities/unpack-shorthand";
28
+
29
+ @import "bourbon/library/border-color";
30
+ @import "bourbon/library/border-radius";
31
+ @import "bourbon/library/border-style";
32
+ @import "bourbon/library/border-width";
33
+ @import "bourbon/library/buttons";
34
+ @import "bourbon/library/clearfix";
35
+ @import "bourbon/library/contrast-switch";
36
+ @import "bourbon/library/ellipsis";
37
+ @import "bourbon/library/font-face";
38
+ @import "bourbon/library/font-stacks";
39
+ @import "bourbon/library/hide-text";
40
+ @import "bourbon/library/hide-visually";
41
+ @import "bourbon/library/margin";
42
+ @import "bourbon/library/modular-scale";
43
+ @import "bourbon/library/overflow-wrap";
44
+ @import "bourbon/library/padding";
45
+ @import "bourbon/library/position";
46
+ @import "bourbon/library/prefixer";
47
+ @import "bourbon/library/shade";
48
+ @import "bourbon/library/size";
49
+ @import "bourbon/library/strip-unit";
50
+ @import "bourbon/library/text-inputs";
51
+ @import "bourbon/library/timing-functions";
52
+ @import "bourbon/library/tint";
53
+ @import "bourbon/library/triangle";
54
+ @import "bourbon/library/value-prefixer";
@@ -0,0 +1,14 @@
1
+ @charset "UTF-8";
2
+
3
+ /// A list of all HTML button elements.
4
+ ///
5
+ /// @type list
6
+ ///
7
+ /// @access private
8
+
9
+ $_buttons-list: (
10
+ "button",
11
+ "[type='button']",
12
+ "[type='reset']",
13
+ "[type='submit']",
14
+ );
@@ -0,0 +1,27 @@
1
+ @charset "UTF-8";
2
+
3
+ ////
4
+ /// Pre-defined scales for use with the `modular-scale` function.
5
+ ///
6
+ /// @type number (unitless)
7
+ ///
8
+ /// @see {function} modular-scale
9
+ ////
10
+
11
+ $minor-second: 1.067;
12
+ $major-second: 1.125;
13
+ $minor-third: 1.2;
14
+ $major-third: 1.25;
15
+ $perfect-fourth: 1.333;
16
+ $augmented-fourth: 1.414;
17
+ $perfect-fifth: 1.5;
18
+ $minor-sixth: 1.6;
19
+ $golden: 1.618;
20
+ $major-sixth: 1.667;
21
+ $minor-seventh: 1.778;
22
+ $major-seventh: 1.875;
23
+ $octave: 2;
24
+ $major-tenth: 2.5;
25
+ $major-eleventh: 2.667;
26
+ $major-twelfth: 3;
27
+ $double-octave: 4;