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.
- checksums.yaml +4 -4
- data/.gitignore +6 -6
- data/.npmignore +12 -9
- data/CONTRIBUTING.md +34 -0
- data/Gemfile +0 -1
- data/{LICENSE → LICENSE.md} +3 -3
- data/README.md +130 -0
- data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +399 -5
- data/app/assets/stylesheets/_bourbon.scss +14 -7
- data/app/assets/stylesheets/addons/_clearfix.scss +11 -16
- data/app/assets/stylesheets/addons/_ellipsis.scss +1 -0
- data/app/assets/stylesheets/addons/_hide-text.scss +4 -2
- data/app/assets/stylesheets/addons/_html5-input-types.scss +4 -0
- data/app/assets/stylesheets/addons/_position.scss +13 -19
- data/app/assets/stylesheets/addons/_size.scss +17 -7
- data/app/assets/stylesheets/addons/_word-wrap.scss +3 -1
- data/app/assets/stylesheets/css3/_background.scss +1 -1
- data/app/assets/stylesheets/css3/_border-radius.scss +14 -14
- data/app/assets/stylesheets/css3/_flex-box.scss +151 -152
- data/app/assets/stylesheets/css3/_font-face.scss +17 -16
- data/app/assets/stylesheets/css3/_hidpi-media-query.scss +2 -2
- data/app/assets/stylesheets/css3/_selection.scss +14 -0
- data/app/assets/stylesheets/css3/_text-decoration.scss +19 -0
- data/app/assets/stylesheets/functions/_contains.scss +12 -0
- data/app/assets/stylesheets/functions/_is-length.scss +7 -0
- data/app/assets/stylesheets/functions/_is-size.scss +6 -0
- data/app/assets/stylesheets/functions/_modular-scale.scss +4 -1
- data/app/assets/stylesheets/helpers/_font-source-declaration.scss +36 -0
- data/app/assets/stylesheets/helpers/_is-num.scss +4 -7
- data/bourbon.gemspec +13 -16
- data/bower.json +25 -8
- data/lib/bourbon/version.rb +1 -1
- data/package.json +18 -14
- data/sache.json +5 -0
- metadata +41 -109
- data/Gemfile.lock +0 -49
- data/app/assets/stylesheets/addons/_button.scss +0 -374
- data/app/assets/stylesheets/functions/_flex-grid.scss +0 -39
- data/app/assets/stylesheets/functions/_golden-ratio.scss +0 -3
- data/app/assets/stylesheets/functions/_grid-width.scss +0 -13
- data/dist/_bourbon-deprecated-upcoming.scss +0 -8
- data/dist/_bourbon.scss +0 -79
- data/dist/addons/_button.scss +0 -374
- data/dist/addons/_clearfix.scss +0 -23
- data/dist/addons/_directional-values.scss +0 -111
- data/dist/addons/_ellipsis.scss +0 -7
- data/dist/addons/_font-family.scss +0 -5
- data/dist/addons/_hide-text.scss +0 -10
- data/dist/addons/_html5-input-types.scss +0 -86
- data/dist/addons/_position.scss +0 -32
- data/dist/addons/_prefixer.scss +0 -45
- data/dist/addons/_retina-image.scss +0 -31
- data/dist/addons/_size.scss +0 -16
- data/dist/addons/_timing-functions.scss +0 -32
- data/dist/addons/_triangle.scss +0 -83
- data/dist/addons/_word-wrap.scss +0 -8
- data/dist/css3/_animation.scss +0 -52
- data/dist/css3/_appearance.scss +0 -3
- data/dist/css3/_backface-visibility.scss +0 -6
- data/dist/css3/_background-image.scss +0 -42
- data/dist/css3/_background.scss +0 -55
- data/dist/css3/_border-image.scss +0 -59
- data/dist/css3/_border-radius.scss +0 -22
- data/dist/css3/_box-sizing.scss +0 -4
- data/dist/css3/_calc.scss +0 -4
- data/dist/css3/_columns.scss +0 -47
- data/dist/css3/_filter.scss +0 -5
- data/dist/css3/_flex-box.scss +0 -321
- data/dist/css3/_font-face.scss +0 -23
- data/dist/css3/_font-feature-settings.scss +0 -10
- data/dist/css3/_hidpi-media-query.scss +0 -10
- data/dist/css3/_hyphens.scss +0 -4
- data/dist/css3/_image-rendering.scss +0 -14
- data/dist/css3/_keyframes.scss +0 -35
- data/dist/css3/_linear-gradient.scss +0 -38
- data/dist/css3/_perspective.scss +0 -8
- data/dist/css3/_placeholder.scss +0 -8
- data/dist/css3/_radial-gradient.scss +0 -39
- data/dist/css3/_transform.scss +0 -15
- data/dist/css3/_transition.scss +0 -77
- data/dist/css3/_user-select.scss +0 -3
- data/dist/functions/_assign.scss +0 -11
- data/dist/functions/_color-lightness.scss +0 -13
- data/dist/functions/_flex-grid.scss +0 -39
- data/dist/functions/_golden-ratio.scss +0 -3
- data/dist/functions/_grid-width.scss +0 -13
- data/dist/functions/_modular-scale.scss +0 -66
- data/dist/functions/_px-to-em.scss +0 -13
- data/dist/functions/_px-to-rem.scss +0 -15
- data/dist/functions/_strip-units.scss +0 -5
- data/dist/functions/_tint-shade.scss +0 -9
- data/dist/functions/_transition-property-name.scss +0 -22
- data/dist/functions/_unpack.scss +0 -17
- data/dist/helpers/_convert-units.scss +0 -15
- data/dist/helpers/_gradient-positions-parser.scss +0 -13
- data/dist/helpers/_is-num.scss +0 -8
- data/dist/helpers/_linear-angle-parser.scss +0 -25
- data/dist/helpers/_linear-gradient-parser.scss +0 -41
- data/dist/helpers/_linear-positions-parser.scss +0 -61
- data/dist/helpers/_linear-side-corner-parser.scss +0 -31
- data/dist/helpers/_radial-arg-parser.scss +0 -69
- data/dist/helpers/_radial-gradient-parser.scss +0 -50
- data/dist/helpers/_radial-positions-parser.scss +0 -18
- data/dist/helpers/_render-gradients.scss +0 -26
- data/dist/helpers/_shape-size-stripper.scss +0 -10
- data/dist/helpers/_str-to-num.scss +0 -50
- data/dist/settings/_asset-pipeline.scss +0 -1
- data/dist/settings/_prefixer.scss +0 -6
- data/dist/settings/_px-to-em.scss +0 -1
- data/readme.md +0 -105
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01dddb31693ca84580f346ecd63f4be36d538897
|
4
|
+
data.tar.gz: d63897f2dede3f112437be0b11d8400ececaa08a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a33b5acfa37cd9e6c8d88aed1b5d4fa97f535f746123cbc67368bafd9b3341c21848426d0c90746a939c86c6e6f95000a60b9807952bb939d65577688f21e4eb
|
7
|
+
data.tar.gz: 8e062a939bc4b8bd25742966000646909b497570f7140acc546edced16bc136dd43a7132f76a18ec86233a468991374c60cc17a59d760dd84beadcffdacd9581
|
data/.gitignore
CHANGED
data/.npmignore
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
bower.json
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
data/CONTRIBUTING.md
ADDED
@@ -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
data/{LICENSE → LICENSE.md}
RENAMED
@@ -2,10 +2,10 @@ LICENSE
|
|
2
2
|
|
3
3
|
The MIT License
|
4
4
|
|
5
|
-
Copyright
|
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
|
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
|
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
|
data/README.md
ADDED
@@ -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
|
-
|
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
|
-
|
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
|
}
|