bourbon 4.0.2 → 4.1.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -6
  3. data/.npmignore +12 -9
  4. data/CONTRIBUTING.md +34 -0
  5. data/Gemfile +0 -1
  6. data/{LICENSE → LICENSE.md} +3 -3
  7. data/README.md +130 -0
  8. data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +399 -5
  9. data/app/assets/stylesheets/_bourbon.scss +14 -7
  10. data/app/assets/stylesheets/addons/_clearfix.scss +11 -16
  11. data/app/assets/stylesheets/addons/_ellipsis.scss +1 -0
  12. data/app/assets/stylesheets/addons/_hide-text.scss +4 -2
  13. data/app/assets/stylesheets/addons/_html5-input-types.scss +4 -0
  14. data/app/assets/stylesheets/addons/_position.scss +13 -19
  15. data/app/assets/stylesheets/addons/_size.scss +17 -7
  16. data/app/assets/stylesheets/addons/_word-wrap.scss +3 -1
  17. data/app/assets/stylesheets/css3/_background.scss +1 -1
  18. data/app/assets/stylesheets/css3/_border-radius.scss +14 -14
  19. data/app/assets/stylesheets/css3/_flex-box.scss +151 -152
  20. data/app/assets/stylesheets/css3/_font-face.scss +17 -16
  21. data/app/assets/stylesheets/css3/_hidpi-media-query.scss +2 -2
  22. data/app/assets/stylesheets/css3/_selection.scss +14 -0
  23. data/app/assets/stylesheets/css3/_text-decoration.scss +19 -0
  24. data/app/assets/stylesheets/functions/_contains.scss +12 -0
  25. data/app/assets/stylesheets/functions/_is-length.scss +7 -0
  26. data/app/assets/stylesheets/functions/_is-size.scss +6 -0
  27. data/app/assets/stylesheets/functions/_modular-scale.scss +4 -1
  28. data/app/assets/stylesheets/helpers/_font-source-declaration.scss +36 -0
  29. data/app/assets/stylesheets/helpers/_is-num.scss +4 -7
  30. data/bourbon.gemspec +13 -16
  31. data/bower.json +25 -8
  32. data/lib/bourbon/version.rb +1 -1
  33. data/package.json +18 -14
  34. data/sache.json +5 -0
  35. metadata +41 -109
  36. data/Gemfile.lock +0 -49
  37. data/app/assets/stylesheets/addons/_button.scss +0 -374
  38. data/app/assets/stylesheets/functions/_flex-grid.scss +0 -39
  39. data/app/assets/stylesheets/functions/_golden-ratio.scss +0 -3
  40. data/app/assets/stylesheets/functions/_grid-width.scss +0 -13
  41. data/dist/_bourbon-deprecated-upcoming.scss +0 -8
  42. data/dist/_bourbon.scss +0 -79
  43. data/dist/addons/_button.scss +0 -374
  44. data/dist/addons/_clearfix.scss +0 -23
  45. data/dist/addons/_directional-values.scss +0 -111
  46. data/dist/addons/_ellipsis.scss +0 -7
  47. data/dist/addons/_font-family.scss +0 -5
  48. data/dist/addons/_hide-text.scss +0 -10
  49. data/dist/addons/_html5-input-types.scss +0 -86
  50. data/dist/addons/_position.scss +0 -32
  51. data/dist/addons/_prefixer.scss +0 -45
  52. data/dist/addons/_retina-image.scss +0 -31
  53. data/dist/addons/_size.scss +0 -16
  54. data/dist/addons/_timing-functions.scss +0 -32
  55. data/dist/addons/_triangle.scss +0 -83
  56. data/dist/addons/_word-wrap.scss +0 -8
  57. data/dist/css3/_animation.scss +0 -52
  58. data/dist/css3/_appearance.scss +0 -3
  59. data/dist/css3/_backface-visibility.scss +0 -6
  60. data/dist/css3/_background-image.scss +0 -42
  61. data/dist/css3/_background.scss +0 -55
  62. data/dist/css3/_border-image.scss +0 -59
  63. data/dist/css3/_border-radius.scss +0 -22
  64. data/dist/css3/_box-sizing.scss +0 -4
  65. data/dist/css3/_calc.scss +0 -4
  66. data/dist/css3/_columns.scss +0 -47
  67. data/dist/css3/_filter.scss +0 -5
  68. data/dist/css3/_flex-box.scss +0 -321
  69. data/dist/css3/_font-face.scss +0 -23
  70. data/dist/css3/_font-feature-settings.scss +0 -10
  71. data/dist/css3/_hidpi-media-query.scss +0 -10
  72. data/dist/css3/_hyphens.scss +0 -4
  73. data/dist/css3/_image-rendering.scss +0 -14
  74. data/dist/css3/_keyframes.scss +0 -35
  75. data/dist/css3/_linear-gradient.scss +0 -38
  76. data/dist/css3/_perspective.scss +0 -8
  77. data/dist/css3/_placeholder.scss +0 -8
  78. data/dist/css3/_radial-gradient.scss +0 -39
  79. data/dist/css3/_transform.scss +0 -15
  80. data/dist/css3/_transition.scss +0 -77
  81. data/dist/css3/_user-select.scss +0 -3
  82. data/dist/functions/_assign.scss +0 -11
  83. data/dist/functions/_color-lightness.scss +0 -13
  84. data/dist/functions/_flex-grid.scss +0 -39
  85. data/dist/functions/_golden-ratio.scss +0 -3
  86. data/dist/functions/_grid-width.scss +0 -13
  87. data/dist/functions/_modular-scale.scss +0 -66
  88. data/dist/functions/_px-to-em.scss +0 -13
  89. data/dist/functions/_px-to-rem.scss +0 -15
  90. data/dist/functions/_strip-units.scss +0 -5
  91. data/dist/functions/_tint-shade.scss +0 -9
  92. data/dist/functions/_transition-property-name.scss +0 -22
  93. data/dist/functions/_unpack.scss +0 -17
  94. data/dist/helpers/_convert-units.scss +0 -15
  95. data/dist/helpers/_gradient-positions-parser.scss +0 -13
  96. data/dist/helpers/_is-num.scss +0 -8
  97. data/dist/helpers/_linear-angle-parser.scss +0 -25
  98. data/dist/helpers/_linear-gradient-parser.scss +0 -41
  99. data/dist/helpers/_linear-positions-parser.scss +0 -61
  100. data/dist/helpers/_linear-side-corner-parser.scss +0 -31
  101. data/dist/helpers/_radial-arg-parser.scss +0 -69
  102. data/dist/helpers/_radial-gradient-parser.scss +0 -50
  103. data/dist/helpers/_radial-positions-parser.scss +0 -18
  104. data/dist/helpers/_render-gradients.scss +0 -26
  105. data/dist/helpers/_shape-size-stripper.scss +0 -10
  106. data/dist/helpers/_str-to-num.scss +0 -50
  107. data/dist/settings/_asset-pipeline.scss +0 -1
  108. data/dist/settings/_prefixer.scss +0 -6
  109. data/dist/settings/_px-to-em.scss +0 -1
  110. data/readme.md +0 -105
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82349a03d66ed0c3f92abf6f96f1fac2a59b61a4
4
- data.tar.gz: aa833788f3cd41270c5a7e947559b86296b5b435
3
+ metadata.gz: 01dddb31693ca84580f346ecd63f4be36d538897
4
+ data.tar.gz: d63897f2dede3f112437be0b11d8400ececaa08a
5
5
  SHA512:
6
- metadata.gz: 0e7f67108c6caca33adb567900a3f043424c55922cf7b3431246bf88c36f914df596d0449a215e38e0effd9d65b2c4ed56cc915f19cf81320b423500f5ac5428
7
- data.tar.gz: d345ed538350de5860f11142eeb6543f69d754e69473cab581d3787d9c594516c086a5de59bad8374327897aef0abe57da94e5a68baa4f8e5700c63c7dac70d2
6
+ metadata.gz: a33b5acfa37cd9e6c8d88aed1b5d4fa97f535f746123cbc67368bafd9b3341c21848426d0c90746a939c86c6e6f95000a60b9807952bb939d65577688f21e4eb
7
+ data.tar.gz: 8e062a939bc4b8bd25742966000646909b497570f7140acc546edced16bc136dd43a7132f76a18ec86233a468991374c60cc17a59d760dd84beadcffdacd9581
data/.gitignore CHANGED
@@ -1,7 +1,7 @@
1
- *swp
1
+ _site
2
+ .DS_store
3
+ .sass-cache
2
4
  *gem
3
- .sass-cache/
4
- /bourbon/
5
- demo/
6
- tmp/
7
- tags
5
+ *swp
6
+ Gemfile.lock
7
+ tmp
data/.npmignore CHANGED
@@ -1,9 +1,12 @@
1
- app/
2
- bin/
3
- features/
4
- lib/
5
- bower.json
6
- bourbon.gemspec
7
- Rakefile
8
- Gemfile.lock
9
- Gemfile
1
+ .gitignore
2
+ app/
3
+ bin/
4
+ bourbon.gemspec
5
+ bower.json
6
+ CONTRIBUTING.md
7
+ features/
8
+ LICENSE.md
9
+ lib/
10
+ Gemfile
11
+ Gemfile.lock
12
+ Rakefile
@@ -0,0 +1,34 @@
1
+ We love pull requests. Here’s a quick guide:
2
+
3
+ 1. Fork the repository.
4
+ 2. Make your changes in a topic branch.
5
+ 3. Squash your commits into a single one (more on that [here](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)).
6
+ 4. Rebase against `origin/master`, push to your fork and submit a pull request.
7
+ 5. If you are writing a new feature please add documentation for it by making another pull request to the `gh-pages` branch.
8
+
9
+ At this point you’re waiting on us. We like to at least comment on, if not
10
+ accept, pull requests within three business days (and, typically, one business
11
+ day). We may suggest some changes or improvements or alternatives.
12
+
13
+ Some things that will increase the chance that your pull request is accepted:
14
+
15
+ * Fix a bug, refactor code or expand an existing feature.
16
+ * Use the right syntax and naming conventions.
17
+ * Update parts of the documentation that are affected by your contribution.
18
+
19
+ **Git Commit Messages**
20
+
21
+ * Capitalize your commit messages.
22
+ * Start your message with a verb.
23
+ * Use present tense.
24
+ * Refer to the issue/PR number in your squashed commit message.
25
+
26
+ **SCSS Style Guide**
27
+
28
+ * Two spaces, no tabs.
29
+ * Dashes instead of underscores or camel case: `linear-gradient` **not** `linear_gradient` or `linearGradient`
30
+ * Names should be descriptive and written in full-words: `$all-text-inputs-hover` **not** `$hover` or `$alltxthvr`
31
+ * Space between property and value: `width: 20px` **not** `width:20px`
32
+ * Declarations within a block should be ordered alphabetically.
33
+ * Blank lines between rules.
34
+ * No trailing whitespace. Blank lines should not have any space.
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in sass-mixins.gemspec
4
3
  gemspec
@@ -2,10 +2,10 @@ LICENSE
2
2
 
3
3
  The MIT License
4
4
 
5
- Copyright (c) 2011-2013 thoughtbot, inc.
5
+ Copyright © 2011–2014 [thoughtbot, inc.](http://thoughtbot.com)
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
- of this software and associated documentation files (the "Software"), to deal
8
+ of this software and associated documentation files (the Software), to deal
9
9
  in the Software without restriction, including without limitation the rights
10
10
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
11
  copies of the Software, and to permit persons to whom the Software is
@@ -14,7 +14,7 @@ furnished to do so, subject to the following conditions:
14
14
  The above copyright notice and this permission notice shall be included in
15
15
  all copies or substantial portions of the Software.
16
16
 
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ THE SOFTWARE IS PROVIDED AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
18
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
19
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
20
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
@@ -0,0 +1,130 @@
1
+ [![Bourbon](http://images.thoughtbot.com/bourbon/bourbon-logo.svg)](http://bourbon.io)
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)
7
+
8
+ ## A simple and lightweight mixin library for Sass.
9
+
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.
11
+
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.
13
+
14
+ - **[Documentation](http://bourbon.io/docs)**
15
+ - **[Changelog](https://github.com/thoughtbot/bourbon/releases)**
16
+ - **[Issues & Bugs](https://github.com/thoughtbot/bourbon/issues)**
17
+
18
+ ## Requirements
19
+
20
+ - [Sass](https://github.com/sass/sass) 3.3+
21
+ - :warning: If you are using Bourbon with **LibSass**, **sass-rails**, **Compass** (pre 1.0.0), **Foundation** or need **Sass 3.2 support**, you should [use Bourbon 3.2.x](#installing-older-versions-of-bourbon).
22
+
23
+ ## Installation
24
+
25
+ For command line help, visit our wiki page on Bourbon’s [command line interface](https://github.com/thoughtbot/bourbon/wiki/Command-Line-Interface).
26
+
27
+ 1. Install the Bourbon gem using the [RubyGems](https://rubygems.org) package manager:
28
+
29
+ ```bash
30
+ gem install bourbon
31
+ ```
32
+
33
+ Alternatively, you can install Bourbon with [Bower](http://bower.io).
34
+
35
+ 2. Install the Bourbon library into the current directory:
36
+
37
+ ```bash
38
+ bourbon install
39
+ ```
40
+
41
+ **Pro Tip:** You can target installation into a specific directory using the `path` flag:
42
+
43
+ ```bash
44
+ bourbon install --path my/custom/path/
45
+ ```
46
+
47
+ 3. Import Bourbon at the beginning of your stylesheet:
48
+
49
+ ```scss
50
+ @import "bourbon/bourbon";
51
+ ```
52
+
53
+ It’s not recommended to add or modify the Bourbon files so that you can update them easily.
54
+
55
+ ## Installation for Ruby on Rails 3.1+
56
+
57
+ 1. Add Bourbon to your Gemfile:
58
+
59
+ ```ruby
60
+ gem 'bourbon'
61
+ ```
62
+
63
+ 2. Then run:
64
+
65
+ ```bash
66
+ bundle install
67
+ ```
68
+
69
+ 3. Restart your server and rename `application.css` to `application.css.scss`:
70
+
71
+ ```bash
72
+ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.css.scss
73
+ ```
74
+
75
+ 4. Delete the sprocket directive in `application.css.scss` ([why?](https://github.com/thoughtbot/bourbon/wiki/Rails-Sprockets)):
76
+
77
+ ```scss
78
+ *= require_tree .
79
+ ```
80
+
81
+ 5. Import Bourbon at the beginning of `application.css.scss`. All additional stylesheets should be imported below Bourbon:
82
+
83
+ ```scss
84
+ @import "bourbon";
85
+ @import "home";
86
+ @import "users";
87
+ ```
88
+
89
+ [Help! I’m getting an undefined mixin error.](https://github.com/thoughtbot/bourbon/wiki/Rails-Help-%5C-Undefined-mixin)
90
+
91
+ ## Installing older versions of Bourbon
92
+
93
+ 1. Uninstall any Bourbon gem versions you already have:
94
+
95
+ ```bash
96
+ gem uninstall bourbon
97
+ ```
98
+
99
+ 2. Reinstall the Bourbon gem, using the `-v` flag to specify the version you need:
100
+
101
+ ```bash
102
+ gem install bourbon -v 3.2.3
103
+ ```
104
+
105
+ 3. Follow the [instructions above](#installation) to install Bourbon into your project.
106
+
107
+ ## Browser support
108
+
109
+ - Chrome 10.0+
110
+ - Firefox 3.6+
111
+ - Internet Explorer 9+
112
+ - Opera 12+
113
+ - Safari 5.1+
114
+
115
+ ## The Bourbon family
116
+
117
+ - [Bourbon](https://github.com/thoughtbot/bourbon): A simple and lightweight mixin library for Sass
118
+ - [Neat](https://github.com/thoughtbot/neat): A lightweight semantic grid framework for Sass and Bourbon
119
+ - [Bitters](https://github.com/thoughtbot/bitters): Scaffold styles, variables and structure for Bourbon projects
120
+ - [Refills](https://github.com/thoughtbot/refills): Prepackaged patterns and components built with Bourbon, Neat and Bitters
121
+
122
+ ## Credits
123
+
124
+ [![thoughtbot](http://images.thoughtbot.com/bourbon/thoughtbot-logo.svg)](http://thoughtbot.com)
125
+
126
+ Bourbon is maintained and funded by [thoughtbot, inc](http://thoughtbot.com). Tweet your questions or suggestions to [@bourbonsass](https://twitter.com/bourbonsass) and while you’re at it follow us too.
127
+
128
+ ## License
129
+
130
+ Copyright © 2011–2014 [thoughtbot, inc](http://thoughtbot.com). Bourbon is free software, and may be redistributed under the terms specified in the [license](LICENSE.md).
@@ -1,8 +1,402 @@
1
- //************************************************************************//
2
- // These mixins/functions are deprecated
3
- // They will be removed in the next MAJOR version release
4
- //************************************************************************//
1
+ // The following features have been deprecated and will be removed in the next MAJOR version release
2
+
5
3
  @mixin inline-block {
6
4
  display: inline-block;
7
- @warn "inline-block mixin is deprecated and will be removed in the next major version release";
5
+
6
+ @warn "The inline-block mixin is deprecated and will be removed in the next major version release";
7
+ }
8
+
9
+ @mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {
10
+
11
+ @if type-of($style) == string and type-of($base-color) == color {
12
+ @include buttonstyle($style, $base-color, $text-size, $padding);
13
+ }
14
+
15
+ @if type-of($style) == string and type-of($base-color) == number {
16
+ $padding: $text-size;
17
+ $text-size: $base-color;
18
+ $base-color: #4294f0;
19
+
20
+ @if $padding == inherit {
21
+ $padding: 7px 18px;
22
+ }
23
+
24
+ @include buttonstyle($style, $base-color, $text-size, $padding);
25
+ }
26
+
27
+ @if type-of($style) == color and type-of($base-color) == color {
28
+ $base-color: $style;
29
+ $style: simple;
30
+ @include buttonstyle($style, $base-color, $text-size, $padding);
31
+ }
32
+
33
+ @if type-of($style) == color and type-of($base-color) == number {
34
+ $padding: $text-size;
35
+ $text-size: $base-color;
36
+ $base-color: $style;
37
+ $style: simple;
38
+
39
+ @if $padding == inherit {
40
+ $padding: 7px 18px;
41
+ }
42
+
43
+ @include buttonstyle($style, $base-color, $text-size, $padding);
44
+ }
45
+
46
+ @if type-of($style) == number {
47
+ $padding: $base-color;
48
+ $text-size: $style;
49
+ $base-color: #4294f0;
50
+ $style: simple;
51
+
52
+ @if $padding == #4294f0 {
53
+ $padding: 7px 18px;
54
+ }
55
+
56
+ @include buttonstyle($style, $base-color, $text-size, $padding);
57
+ }
58
+
59
+ &:disabled {
60
+ opacity: 0.5;
61
+ cursor: not-allowed;
62
+ }
63
+
64
+ @warn "The button mixin is deprecated and will be removed in the next major version release";
65
+ }
66
+
67
+ // Selector Style Button
68
+ @mixin buttonstyle($type, $b-color, $t-size, $pad) {
69
+ // Grayscale button
70
+ @if $type == simple and $b-color == grayscale($b-color) {
71
+ @include simple($b-color, true, $t-size, $pad);
72
+ }
73
+
74
+ @if $type == shiny and $b-color == grayscale($b-color) {
75
+ @include shiny($b-color, true, $t-size, $pad);
76
+ }
77
+
78
+ @if $type == pill and $b-color == grayscale($b-color) {
79
+ @include pill($b-color, true, $t-size, $pad);
80
+ }
81
+
82
+ @if $type == flat and $b-color == grayscale($b-color) {
83
+ @include flat($b-color, true, $t-size, $pad);
84
+ }
85
+
86
+ // Colored button
87
+ @if $type == simple {
88
+ @include simple($b-color, false, $t-size, $pad);
89
+ }
90
+
91
+ @else if $type == shiny {
92
+ @include shiny($b-color, false, $t-size, $pad);
93
+ }
94
+
95
+ @else if $type == pill {
96
+ @include pill($b-color, false, $t-size, $pad);
97
+ }
98
+
99
+ @else if $type == flat {
100
+ @include flat($b-color, false, $t-size, $pad);
101
+ }
102
+ }
103
+
104
+ // Simple Button
105
+ @mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
106
+ $color: hsl(0, 0, 100%);
107
+ $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
108
+ $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%);
109
+ $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%);
110
+ $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%);
111
+
112
+ @if is-light($base-color) {
113
+ $color: hsl(0, 0, 20%);
114
+ $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
115
+ }
116
+
117
+ @if $grayscale == true {
118
+ $border: grayscale($border);
119
+ $inset-shadow: grayscale($inset-shadow);
120
+ $stop-gradient: grayscale($stop-gradient);
121
+ $text-shadow: grayscale($text-shadow);
122
+ }
123
+
124
+ border: 1px solid $border;
125
+ border-radius: 3px;
126
+ box-shadow: inset 0 1px 0 0 $inset-shadow;
127
+ color: $color;
128
+ display: inline-block;
129
+ font-size: $textsize;
130
+ font-weight: bold;
131
+ @include linear-gradient ($base-color, $stop-gradient);
132
+ padding: $padding;
133
+ text-decoration: none;
134
+ text-shadow: 0 1px 0 $text-shadow;
135
+ background-clip: padding-box;
136
+
137
+ &:hover:not(:disabled) {
138
+ $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
139
+ $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%);
140
+ $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%);
141
+
142
+ @if $grayscale == true {
143
+ $base-color-hover: grayscale($base-color-hover);
144
+ $inset-shadow-hover: grayscale($inset-shadow-hover);
145
+ $stop-gradient-hover: grayscale($stop-gradient-hover);
146
+ }
147
+
148
+ box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
149
+ cursor: pointer;
150
+ @include linear-gradient ($base-color-hover, $stop-gradient-hover);
151
+ }
152
+
153
+ &:active:not(:disabled),
154
+ &:focus:not(:disabled) {
155
+ $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
156
+ $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);
157
+
158
+ @if $grayscale == true {
159
+ $border-active: grayscale($border-active);
160
+ $inset-shadow-active: grayscale($inset-shadow-active);
161
+ }
162
+
163
+ border: 1px solid $border-active;
164
+ box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active;
165
+ }
166
+ }
167
+
168
+ // Shiny Button
169
+ @mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
170
+ $color: hsl(0, 0, 100%);
171
+ $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81);
172
+ $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);
173
+ $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46);
174
+ $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12);
175
+ $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33);
176
+ $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114);
177
+ $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48);
178
+
179
+ @if is-light($base-color) {
180
+ $color: hsl(0, 0, 20%);
181
+ $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
182
+ }
183
+
184
+ @if $grayscale == true {
185
+ $border: grayscale($border);
186
+ $border-bottom: grayscale($border-bottom);
187
+ $fourth-stop: grayscale($fourth-stop);
188
+ $inset-shadow: grayscale($inset-shadow);
189
+ $second-stop: grayscale($second-stop);
190
+ $text-shadow: grayscale($text-shadow);
191
+ $third-stop: grayscale($third-stop);
192
+ }
193
+
194
+ border: 1px solid $border;
195
+ border-bottom: 1px solid $border-bottom;
196
+ border-radius: 5px;
197
+ box-shadow: inset 0 1px 0 0 $inset-shadow;
198
+ color: $color;
199
+ display: inline-block;
200
+ font-size: $textsize;
201
+ font-weight: bold;
202
+ @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);
203
+ padding: $padding;
204
+ text-align: center;
205
+ text-decoration: none;
206
+ text-shadow: 0 -1px 1px $text-shadow;
207
+
208
+ &:hover:not(:disabled) {
209
+ $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18);
210
+ $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);
211
+ $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66);
212
+ $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);
213
+
214
+ @if $grayscale == true {
215
+ $first-stop-hover: grayscale($first-stop-hover);
216
+ $second-stop-hover: grayscale($second-stop-hover);
217
+ $third-stop-hover: grayscale($third-stop-hover);
218
+ $fourth-stop-hover: grayscale($fourth-stop-hover);
219
+ }
220
+
221
+ cursor: pointer;
222
+ @include linear-gradient(top, $first-stop-hover 0%,
223
+ $second-stop-hover 50%,
224
+ $third-stop-hover 50%,
225
+ $fourth-stop-hover 100%);
226
+ }
227
+
228
+ &:active:not(:disabled),
229
+ &:focus:not(:disabled) {
230
+ $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);
231
+
232
+ @if $grayscale == true {
233
+ $inset-shadow-active: grayscale($inset-shadow-active);
234
+ }
235
+
236
+ box-shadow: inset 0 0 20px 0 $inset-shadow-active;
237
+ }
238
+ }
239
+
240
+ // Pill Button
241
+ @mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
242
+ $color: hsl(0, 0, 100%);
243
+ $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%);
244
+ $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%);
245
+ $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);
246
+ $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%);
247
+ $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%);
248
+ $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%);
249
+
250
+ @if is-light($base-color) {
251
+ $color: hsl(0, 0, 20%);
252
+ $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
253
+ }
254
+
255
+ @if $grayscale == true {
256
+ $border-bottom: grayscale($border-bottom);
257
+ $border-sides: grayscale($border-sides);
258
+ $border-top: grayscale($border-top);
259
+ $inset-shadow: grayscale($inset-shadow);
260
+ $stop-gradient: grayscale($stop-gradient);
261
+ $text-shadow: grayscale($text-shadow);
262
+ }
263
+
264
+ border: 1px solid $border-top;
265
+ border-color: $border-top $border-sides $border-bottom;
266
+ border-radius: 16px;
267
+ box-shadow: inset 0 1px 0 0 $inset-shadow;
268
+ color: $color;
269
+ display: inline-block;
270
+ font-size: $textsize;
271
+ font-weight: normal;
272
+ line-height: 1;
273
+ @include linear-gradient ($base-color, $stop-gradient);
274
+ padding: $padding;
275
+ text-align: center;
276
+ text-decoration: none;
277
+ text-shadow: 0 -1px 1px $text-shadow;
278
+ background-clip: padding-box;
279
+
280
+ &:hover:not(:disabled) {
281
+ $base-color-hover: adjust-color($base-color, $lightness: -4.5%);
282
+ $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%);
283
+ $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%);
284
+ $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%);
285
+ $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%);
286
+ $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%);
287
+ $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%);
288
+
289
+ @if $grayscale == true {
290
+ $base-color-hover: grayscale($base-color-hover);
291
+ $border-bottom: grayscale($border-bottom);
292
+ $border-sides: grayscale($border-sides);
293
+ $border-top: grayscale($border-top);
294
+ $inset-shadow-hover: grayscale($inset-shadow-hover);
295
+ $stop-gradient-hover: grayscale($stop-gradient-hover);
296
+ $text-shadow-hover: grayscale($text-shadow-hover);
297
+ }
298
+
299
+ border: 1px solid $border-top;
300
+ border-color: $border-top $border-sides $border-bottom;
301
+ box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
302
+ cursor: pointer;
303
+ @include linear-gradient ($base-color-hover, $stop-gradient-hover);
304
+ text-shadow: 0 -1px 1px $text-shadow-hover;
305
+ background-clip: padding-box;
306
+ }
307
+
308
+ &:active:not(:disabled),
309
+ &:focus:not(:disabled) {
310
+ $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%);
311
+ $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%);
312
+ $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%);
313
+ $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%);
314
+ $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%);
315
+
316
+ @if $grayscale == true {
317
+ $active-color: grayscale($active-color);
318
+ $border-active: grayscale($border-active);
319
+ $border-bottom-active: grayscale($border-bottom-active);
320
+ $inset-shadow-active: grayscale($inset-shadow-active);
321
+ $text-shadow-active: grayscale($text-shadow-active);
322
+ }
323
+
324
+ background: $active-color;
325
+ border: 1px solid $border-active;
326
+ border-bottom: 1px solid $border-bottom-active;
327
+ box-shadow: inset 0 0 6px 3px $inset-shadow-active;
328
+ text-shadow: 0 -1px 1px $text-shadow-active;
329
+ }
330
+ }
331
+
332
+ // Flat Button
333
+ @mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
334
+ $color: hsl(0, 0, 100%);
335
+
336
+ @if is-light($base-color) {
337
+ $color: hsl(0, 0, 20%);
338
+ }
339
+
340
+ background-color: $base-color;
341
+ border-radius: 3px;
342
+ border: none;
343
+ color: $color;
344
+ display: inline-block;
345
+ font-size: $textsize;
346
+ font-weight: bold;
347
+ padding: $padding;
348
+ text-decoration: none;
349
+ background-clip: padding-box;
350
+
351
+ &:hover:not(:disabled){
352
+ $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%);
353
+
354
+ @if $grayscale == true {
355
+ $base-color-hover: grayscale($base-color-hover);
356
+ }
357
+
358
+ background-color: $base-color-hover;
359
+ cursor: pointer;
360
+ }
361
+
362
+ &:active:not(:disabled),
363
+ &:focus:not(:disabled) {
364
+ $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
365
+
366
+ @if $grayscale == true {
367
+ $base-color-active: grayscale($base-color-active);
368
+ }
369
+
370
+ background-color: $base-color-active;
371
+ cursor: pointer;
372
+ }
373
+ }
374
+
375
+ // Flexible grid
376
+ @function flex-grid($columns, $container-columns: $fg-max-columns) {
377
+ $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
378
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
379
+ @return percentage($width / $container-width);
380
+
381
+ @warn "The flex-grid function is deprecated and will be removed in the next major version release";
382
+ }
383
+
384
+ // Flexible gutter
385
+ @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
386
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
387
+ @return percentage($gutter / $container-width);
388
+
389
+ @warn "The flex-gutter function is deprecated and will be removed in the next major version release";
390
+ }
391
+
392
+ @function grid-width($n) {
393
+ @return $n * $gw-column + ($n - 1) * $gw-gutter;
394
+
395
+ @warn "The grid-width function is deprecated and will be removed in the next major version release";
396
+ }
397
+
398
+ @function golden-ratio($value, $increment) {
399
+ @return modular-scale($increment, $value, $ratio: $golden);
400
+
401
+ @warn "The golden-ratio function is deprecated and will be removed in the next major version release. Please use the modular-scale function, instead.";
8
402
  }