chroma-sass 1.0.0.alpha.4 → 1.0.0.alpha.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ed0303601c7c7f9b22cb0361cac667a7066696a
4
- data.tar.gz: b1ab9c7c1ebefb6fb0c3498896315d8dc4dd3d16
3
+ metadata.gz: cb36b676551138964c229945e811261ea436f152
4
+ data.tar.gz: 40511de621e5059aebc7b0bf27ee7f9d00559ec5
5
5
  SHA512:
6
- metadata.gz: ff1ecaee4aa3fda568633a6959cede1758d3305ebaae67c34d2a17f6bf902762a5a4b34439e6097f4548e192bfd4f96830532863f58b47ed01844650f8ed412f
7
- data.tar.gz: 4368ad87140b1e54e51120899ecd354cf12b158fb1135271f59da872a99fb9b7c3e204058892be6c77f210e38486b5e7ef812979deb32f77f26459a96a093bdd
6
+ metadata.gz: af4eb5a017b45b290e96e31d0640e67acfbaeae343713405699d7c72f7ad2e25a57b83da1e5bf546890e1ad03e20a3f9433add16b5cf34e9ccbd73a40581c303
7
+ data.tar.gz: a463b2746e734f247fff4d06537c203c142bb38b8b73a20aeae1e9f01dcf5cad84d8889c242695451ca119cd7b73199246908b9e2ccadcc07aea7872fd5227c9
data/README.md CHANGED
@@ -6,11 +6,80 @@ Chroma is a Sass library that manages a project's color names, color variations,
6
6
 
7
7
  ## USAGE
8
8
 
9
+ Betters docs are coming, but here's some documentation in the form of example
10
+ code.
11
+
9
12
  ```scss
10
13
  @import "chroma";
11
- ```
12
14
 
13
- Until the API settles down, you'll need to look in sass/chroma/_functions.scss to see how to use it.
15
+ // Define the default color scheme.
16
+ $chroma: define-default-color-scheme('Descriptive color names for use in "functional" color names below.');
17
+
18
+ // Add colors to the default color scheme.
19
+ $chroma: add-colors((
20
+ white: #fff,
21
+ off-white: #eaeaea,
22
+ grey-medium: #706e6c,
23
+ black: #000,
24
+
25
+ blue: #0e71b8,
26
+ blue-dark: shade(#0e71b8, 25%),
27
+ ));
28
+
29
+ // Create a "functional" color scheme that inherits from the default color scheme.
30
+ $chroma: define-color-scheme('functional', 'Colors used by functional parts of the design.');
31
+
32
+ // Add colors to the functional color scheme.
33
+ $chroma: add-colors('functional', (
34
+ // Have the "text" color use the hex value given to the "black" color. Even
35
+ // though the "functional" color scheme doesn't define "black", it inherits
36
+ // from the "default" color scheme where "black" is defined.
37
+ text: 'black',
38
+ text-subdued: 'grey-medium',
39
+
40
+ // The primary highlight color.
41
+ primary: 'blue',
42
+
43
+ // Have the link color use the primary color.
44
+ link: 'primary',
45
+ link-active: 'blue-dark',
46
+
47
+ site-name: 'primary',
48
+ heading: 'text',
49
+ ));
50
+
51
+ // Create an "alternate" color scheme that inherits from the "functional" color scheme.
52
+ $chroma: define-color-scheme('alternate', 'Alternate colors for the site.', 'functional');
53
+
54
+ // Add colors to the alternate color scheme.
55
+ $chroma: add-colors('alternate', (
56
+ red: #c00,
57
+ primary: 'red',
58
+ ));
59
+
60
+ // Set which color scheme should be used by default when calling the color()
61
+ // function.
62
+ $chroma-active-scheme: 'functional';
63
+
64
+ .example-ruleset {
65
+ h1 {
66
+ // Outputs #000.
67
+ color: color(heading);
68
+ }
69
+ a {
70
+ // Outputs #0e71b8.
71
+ color: color(link);
72
+
73
+ .alternate-color-section & {
74
+ // Outputs #c00.
75
+ color: color(link, alternate);
76
+ // @TODO: Whoops! This doesn't work yet because it finds the "link" color
77
+ // value in the functional color scheme and never sees that the primary
78
+ // color has changed.
79
+ }
80
+ }
81
+ }
82
+ ```
14
83
 
15
84
  ## INSTALLATION
16
85
 
@@ -23,7 +92,7 @@ gem install chroma-sass
23
92
  If you are using Bundler (and you should!) then you can add it to an existing project by editing the project's Gemfile and adding this line:
24
93
 
25
94
  ```ruby
26
- gem 'chroma-sass', '~> 1.0.0.alpha.4'
95
+ gem 'chroma-sass', '~> 1.0.0.alpha.5'
27
96
  ```
28
97
 
29
98
  If you are using Compass, edit your project's config.rb and add this line:
@@ -38,14 +107,10 @@ You can then start using Chroma in your Sass files. Just add this line to one of
38
107
  @import "chroma";
39
108
  ```
40
109
 
41
-
42
110
  ## REQUIREMENTS
43
111
 
44
- * Sass 3.3.0 or later
45
-
112
+ * Sass 3.4.0 or later
46
113
 
47
114
  ## LICENSE
48
115
 
49
116
  Available under the GPL v2 license. See [LICENSE.txt](https://github.com/JohnAlbin/chroma/blob/master/LICENSE.txt).
50
-
51
- [![Build Status](https://travis-ci.org/JohnAlbin/chroma.png?branch=master)](https://travis-ci.org/JohnAlbin/chroma)
data/chroma-sass.gemspec CHANGED
@@ -9,14 +9,14 @@ Gem::Specification.new do |spec|
9
9
  spec.homepage = 'http://github.com/JohnAlbin/chroma'
10
10
  spec.rubyforge_project =
11
11
 
12
- spec.version = '1.0.0.alpha.4'
13
- spec.date = '2015-04-14'
12
+ spec.version = '1.0.0.alpha.5'
13
+ spec.date = '2015-04-30'
14
14
  spec.licenses = ['GPL-2']
15
15
 
16
16
  spec.authors = ['John Albin Wilkins']
17
17
  spec.email = 'virtually.johnalbin@gmail.com'
18
18
 
19
- spec.add_runtime_dependency('sass', "~> 3.3")
19
+ spec.add_runtime_dependency('sass', "~> 3.4")
20
20
 
21
21
  spec.files = `git ls-files`.split($/).select {|f| File.exist?(f) && f =~ %r{^(lib|sass)/} }
22
22
  spec.files += %w(
data/sass/_chroma.scss CHANGED
@@ -1,3 +1,3 @@
1
1
  // Import the required partials for Chroma.
2
2
 
3
- @import "chroma/functions";
3
+ @import './chroma/functions';
@@ -0,0 +1,132 @@
1
+ //
2
+ // Colour module for Chroma.
3
+ //
4
+
5
+ // Import the main module of Chroma.
6
+ @import './functions';
7
+
8
+ // The one true spelling.
9
+ $chroma-spelling : 'colour';
10
+
11
+
12
+ // is-dangerous-colour-keyword($name)
13
+ //
14
+ // Checks if the given name is a colour keyword. Returns false or a string
15
+ // containing the name of the colour keyword.
16
+ //
17
+ // $name - The name of the colour to check.
18
+ //
19
+ // Style guide: colour.is-dangerous-colour-keyword
20
+ @function is-dangerous-colour-keyword($name) {
21
+ @return is-dangerous-color-keyword($name);
22
+ }
23
+
24
+ // is-colour-keyword($name)
25
+ //
26
+ // Checks if the given name is a colour keyword. Returns false or a string
27
+ // containing the name of the colour keyword.
28
+ //
29
+ // $name - The name of the colour to check.
30
+ //
31
+ // Style guide: colour.is-colour-keyword
32
+ @function is-colour-keyword($name) {
33
+ @return is-color-keyword($name);
34
+ }
35
+
36
+ // colour([$scheme,] $name)
37
+ //
38
+ // Returns a colour value given a key word and optional colour scheme. If the
39
+ // named colour is not in the colour scheme, the colour scheme's parent scheme will
40
+ // be searched.
41
+ //
42
+ // Usage:
43
+ // ```scss
44
+ // .ex {
45
+ // background-color: colour(body-bg);
46
+ // border: 1px solid colour(grace, border);
47
+ // }
48
+ // ```
49
+ //
50
+ // $name - The name of the requested colour.
51
+ // $scheme - Optional colour scheme to choose from; defaults to
52
+ // `$chroma-active-scheme`.
53
+ //
54
+ // Style guide: colour.colour
55
+ @function colour($scheme, $name: null) {
56
+ @return color($scheme, $name);
57
+ }
58
+
59
+ // define-colour-scheme($scheme [, $description] [, $parent])
60
+ //
61
+ // Define a new colour scheme and, optionally, set its description and parent
62
+ // colour scheme.
63
+ //
64
+ // When searching for a colour and the colour scheme does not define that
65
+ // particular colour, the parent colour scheme will be checked to see if it
66
+ // defines that colour.
67
+ //
68
+ // By default, all colour schemes inherit their colours from the default colour
69
+ // scheme. Optionally, a colour scheme can choose to inherit from a different
70
+ // colour scheme by specifying the `$parent` parameter.
71
+ //
72
+ // Usage:
73
+ // ```scss
74
+ // $chroma: define-colour-scheme(taiwan, "Taiwan's colours");
75
+ // $chroma: define-colour-scheme(taipei, "Taipei's colours", $parent: taiwan);
76
+ // ```
77
+ //
78
+ // $scheme - The name of the new colour scheme.
79
+ // $description - Optional description of the colour scheme.
80
+ // $parent - The parent colour scheme to inherit colours from; defaults to
81
+ // `default` (i.e. `$CHROMA_DEFAULT_SCHEME`).
82
+ //
83
+ // Style guide: colour.define-colour-scheme
84
+ @function define-colour-scheme($scheme, $description: '', $parent: $CHROMA_DEFAULT_SCHEME) {
85
+ @return define-color-scheme($scheme, $description, $parent);
86
+ }
87
+
88
+ // define-default-colour-scheme($description)
89
+ //
90
+ // Sets the description of the default colour scheme.
91
+ //
92
+ // Usage:
93
+ // ```scss
94
+ // $chroma: define-default-colour-scheme('Default colours');
95
+ // ```
96
+ //
97
+ // $description - Description of the default colour scheme.
98
+ //
99
+ // Style guide: colour.define-default-colour-scheme
100
+ @function define-default-colour-scheme($description) {
101
+ @return define-color-scheme($CHROMA_DEFAULT_SCHEME, $description);
102
+ }
103
+
104
+ // add-colours([$scheme,] $colours)
105
+ //
106
+ // Add the colours to an existing colour scheme.
107
+ //
108
+ // Usage:
109
+ // ```scss
110
+ // $my-colours: add-colours('admiral', (
111
+ // nav: 'link',
112
+ // nav-visited: colour(link-visited),
113
+ // nav-focus: colour(link-focus),
114
+ // ));
115
+ // ```
116
+ //
117
+ // If you wish to add colours to the active scheme, you can just use:
118
+ // ```scss
119
+ // $my-colours: add-colours((
120
+ // nav: 'link',
121
+ // nav-visited: colour(link-visited),
122
+ // nav-focus: colour(link-focus),
123
+ // ));
124
+ // ```
125
+ //
126
+ // $colours - A Sass map containing the new colours.
127
+ // $scheme - The name of an existing colour scheme.
128
+ //
129
+ // Style guide: functions.add-colours
130
+ @function add-colours($scheme, $colours: null) {
131
+ @return add-colors($scheme, $colours);
132
+ }
@@ -1,120 +1,619 @@
1
1
  //
2
- // Main module for the system.
2
+ // Main module for Chroma.
3
3
  //
4
4
 
5
+ // Import the global variables and internal functions needed by all of Chroma.
6
+ @import './variables';
7
+ @import './internals';
5
8
 
6
- // Import the global variables needed by all of Chroma.
7
- @import "./variables";
9
+ // Initialize the $chroma data structure.
10
+ $chroma: _chroma-init();
8
11
 
9
12
 
10
- // color($key, [$scheme])
13
+ // is-dangerous-color-keyword($name)
14
+ //
15
+ // If a real Sass color is given as a color name to Chroma, it is in danger of
16
+ // being converted to a hexadecimal value before Chroma can read the name. And
17
+ // some hex values map to more than one keyword (e.g. gray and grey), so the
18
+ // original name would be irretrievable.
19
+ //
20
+ // Checks if the given name is one of those dangerous color keywords. Returns
21
+ // false or causes the Sass compilation to die with an error message containing
22
+ // the name of the ambiguous color keywords.
23
+ //
24
+ // $name - The name of the color to check.
25
+ //
26
+ // Style guide: functions.is-dangerous-color-keyword
27
+ @function is-dangerous-color-keyword($name) {
28
+ $ambiguous-keywords: (
29
+ 'aqua': 'aqua or cyan',
30
+ 'cyan': 'aqua or cyan',
31
+ 'fuchsia': 'fuchsia or magenta',
32
+ 'magenta': 'fuchsia or magenta',
33
+ 'darkgray': 'darkgray or darkgrey',
34
+ 'darkgrey': 'darkgray or darkgrey',
35
+ 'darkslategray': 'darkslategray or darkslategrey',
36
+ 'darkslategrey': 'darkslategray or darkslategrey',
37
+ 'dimgray': 'dimgray or dimgrey',
38
+ 'dimgrey': 'dimgray or dimgrey',
39
+ 'gray': 'gray or grey',
40
+ 'grey': 'gray or grey',
41
+ 'lightgray': 'lightgray or lightgrey',
42
+ 'lightgrey': 'lightgray or lightgrey',
43
+ 'lightslategray': 'lightslategray or lightslategrey',
44
+ 'lightslategrey': 'lightslategray or lightslategrey',
45
+ 'slategray': 'slategray or slategrey',
46
+ 'slategrey': 'slategray or slategrey',
47
+ );
48
+ $converted-keywords: (
49
+ '#00ffff': 'aqua or cyan',
50
+ '#0ff': 'aqua or cyan',
51
+ '#ff00ff': 'fuchsia or magenta',
52
+ '#f0f': 'fuchsia or magenta',
53
+ '#a9a9a9': 'darkgray or darkgrey',
54
+ '#2f4f4f': 'darkslategray or darkslategrey',
55
+ '#696969': 'dimgray or dimgrey',
56
+ '#808080': 'gray or grey',
57
+ '#d3d3d3': 'lightgray or lightgrey',
58
+ '#778899': 'lightslategray or lightslategrey',
59
+ '#789': 'lightslategray or lightslategrey',
60
+ '#708090': 'slategray or slategrey',
61
+ );
62
+
63
+ @if type-of($name) == 'color' {
64
+ // Convert the color to a string.
65
+ $name: inspect($name);
66
+ // Check if Sass will convert the color into a hex value that we can't
67
+ // convert back to a keyword.
68
+ @if map-has-key($ambiguous-keywords, $name) {
69
+ @if $chroma-die-on-ambiguous-keyword {
70
+ @error "Sass will convert #{$name} into a hexidecimal value when it uses the \"compressed\" output style and Chroma will not be able to determine if the original name was #{map-get($ambiguous-keywords, $name)}. To prevent this error, quote the keyword like this: '#{$name}'.";
71
+ }
72
+ @else {
73
+ @return map-get($ambiguous-keywords, $name);
74
+ }
75
+ }
76
+ // Check if Sass _has_ converted the color into a hex value that we can't
77
+ // convert back to a keyword.
78
+ @else if map-has-key($converted-keywords, $name) {
79
+ @error "Sass has converted a color keyword into the hexidecimal value, #{$name}, and Chroma was not be able to determine if the original name was #{map-get($ambiguous-keywords, $name)}. To prevent this error, use quotes around the keyword.";
80
+ }
81
+ }
82
+ @return false;
83
+ }
84
+
85
+ // is-color-keyword($name)
86
+ //
87
+ // Checks if the given name is a color keyword. Returns false or a string
88
+ // containing the name of the color keyword.
89
+ //
90
+ // $name - The name of the color to check.
91
+ //
92
+ // Style guide: functions.is-color-keyword
93
+ @function is-color-keyword($name) {
94
+ // If a real Sass color is given, it is in danger of being converted to a
95
+ // hexadecimal value before we can read the name. And some hex values map to
96
+ // more than one keyword (e.g. gray and grey), so the original name would be
97
+ // irretrievable.
98
+ @if is-dangerous-color-keyword($name) {
99
+ // If true, the is-dangerous-color-keyword() would @die before it returned.
100
+ }
101
+
102
+ // CSS4 color keyword are from
103
+ // http://dev.w3.org/csswg/css-color-4/#named-colors
104
+ $css4-color-keywords: (
105
+ 'aliceblue': 'aliceblue',
106
+ '#f0f8ff': 'aliceblue',
107
+ 'antiquewhite': 'antiquewhite',
108
+ '#faebd7': 'antiquewhite',
109
+ 'aqua': 'aqua',
110
+ 'aquamarine': 'aquamarine',
111
+ '#7fffd4': 'aquamarine',
112
+ 'azure': 'azure',
113
+ '#f0ffff': 'azure',
114
+ 'beige': 'beige',
115
+ '#f5f5dc': 'beige',
116
+ 'bisque': 'bisque',
117
+ '#ffe4c4': 'bisque',
118
+ 'black': 'black',
119
+ '#000000': 'black',
120
+ '#000': 'black',
121
+ 'blanchedalmond': 'blanchedalmond',
122
+ '#ffebcd': 'blanchedalmond',
123
+ 'blue': 'blue',
124
+ '#0000ff': 'blue',
125
+ '#00f': 'blue',
126
+ 'blueviolet': 'blueviolet',
127
+ '#8a2be2': 'blueviolet',
128
+ 'brown': 'brown',
129
+ '#a52a2a': 'brown',
130
+ 'burlywood': 'burlywood',
131
+ '#deb887': 'burlywood',
132
+ 'cadetblue': 'cadetblue',
133
+ '#5f9ea0': 'cadetblue',
134
+ 'chartreuse': 'chartreuse',
135
+ '#7fff00': 'chartreuse',
136
+ 'chocolate': 'chocolate',
137
+ '#d2691e': 'chocolate',
138
+ 'coral': 'coral',
139
+ '#ff7f50': 'coral',
140
+ 'cornflowerblue': 'cornflowerblue',
141
+ '#6495ed': 'cornflowerblue',
142
+ 'cornsilk': 'cornsilk',
143
+ '#fff8dc': 'cornsilk',
144
+ 'crimson': 'crimson',
145
+ '#dc143c': 'crimson',
146
+ 'cyan': 'cyan',
147
+ '#00ffff': 'cyan',
148
+ '#0ff': 'cyan',
149
+ 'darkblue': 'darkblue',
150
+ '#00008b': 'darkblue',
151
+ 'darkcyan': 'darkcyan',
152
+ '#008b8b': 'darkcyan',
153
+ 'darkgoldenrod': 'darkgoldenrod',
154
+ '#b8860b': 'darkgoldenrod',
155
+ 'darkgray': 'darkgray',
156
+ '#a9a9a9': 'darkgray',
157
+ 'darkgreen': 'darkgreen',
158
+ '#006400': 'darkgreen',
159
+ 'darkgrey': 'darkgrey',
160
+ 'darkkhaki': 'darkkhaki',
161
+ '#bdb76b': 'darkkhaki',
162
+ 'darkmagenta': 'darkmagenta',
163
+ '#8b008b': 'darkmagenta',
164
+ 'darkolivegreen': 'darkolivegreen',
165
+ '#556b2f': 'darkolivegreen',
166
+ 'darkorange': 'darkorange',
167
+ '#ff8c00': 'darkorange',
168
+ 'darkorchid': 'darkorchid',
169
+ '#9932cc': 'darkorchid',
170
+ 'darkred': 'darkred',
171
+ '#8b0000': 'darkred',
172
+ 'darksalmon': 'darksalmon',
173
+ '#e9967a': 'darksalmon',
174
+ 'darkseagreen': 'darkseagreen',
175
+ '#8fbc8f': 'darkseagreen',
176
+ 'darkslateblue': 'darkslateblue',
177
+ '#483d8b': 'darkslateblue',
178
+ 'darkslategray': 'darkslategray',
179
+ '#2f4f4f': 'darkslategray',
180
+ 'darkslategrey': 'darkslategrey',
181
+ 'darkturquoise': 'darkturquoise',
182
+ '#00ced1': 'darkturquoise',
183
+ 'darkviolet': 'darkviolet',
184
+ '#9400d3': 'darkviolet',
185
+ 'deeppink': 'deeppink',
186
+ '#ff1493': 'deeppink',
187
+ 'deepskyblue': 'deepskyblue',
188
+ '#00bfff': 'deepskyblue',
189
+ 'dimgray': 'dimgray',
190
+ '#696969': 'dimgray',
191
+ 'dimgrey': 'dimgrey',
192
+ 'dodgerblue': 'dodgerblue',
193
+ '#1e90ff': 'dodgerblue',
194
+ 'firebrick': 'firebrick',
195
+ '#b22222': 'firebrick',
196
+ 'floralwhite': 'floralwhite',
197
+ '#fffaf0': 'floralwhite',
198
+ 'forestgreen': 'forestgreen',
199
+ '#228b22': 'forestgreen',
200
+ 'fuchsia': 'fuchsia',
201
+ 'gainsboro': 'gainsboro',
202
+ '#dcdcdc': 'gainsboro',
203
+ 'ghostwhite': 'ghostwhite',
204
+ '#f8f8ff': 'ghostwhite',
205
+ 'gold': 'gold',
206
+ '#ffd700': 'gold',
207
+ 'goldenrod': 'goldenrod',
208
+ '#daa520': 'goldenrod',
209
+ 'gray': 'gray',
210
+ '#808080': 'gray',
211
+ 'green': 'green',
212
+ '#008000': 'green',
213
+ 'greenyellow': 'greenyellow',
214
+ '#adff2f': 'greenyellow',
215
+ 'grey': 'grey',
216
+ 'honeydew': 'honeydew',
217
+ '#f0fff0': 'honeydew',
218
+ 'hotpink': 'hotpink',
219
+ '#ff69b4': 'hotpink',
220
+ 'indianred': 'indianred',
221
+ '#cd5c5c': 'indianred',
222
+ 'indigo': 'indigo',
223
+ '#4b0082': 'indigo',
224
+ 'ivory': 'ivory',
225
+ '#fffff0': 'ivory',
226
+ 'khaki': 'khaki',
227
+ '#f0e68c': 'khaki',
228
+ 'lavender': 'lavender',
229
+ '#e6e6fa': 'lavender',
230
+ 'lavenderblush': 'lavenderblush',
231
+ '#fff0f5': 'lavenderblush',
232
+ 'lawngreen': 'lawngreen',
233
+ '#7cfc00': 'lawngreen',
234
+ 'lemonchiffon': 'lemonchiffon',
235
+ '#fffacd': 'lemonchiffon',
236
+ 'lightblue': 'lightblue',
237
+ '#add8e6': 'lightblue',
238
+ 'lightcoral': 'lightcoral',
239
+ '#f08080': 'lightcoral',
240
+ 'lightcyan': 'lightcyan',
241
+ '#e0ffff': 'lightcyan',
242
+ 'lightgoldenrodyellow': 'lightgoldenrodyellow',
243
+ '#fafad2': 'lightgoldenrodyellow',
244
+ 'lightgray': 'lightgray',
245
+ '#d3d3d3': 'lightgray',
246
+ 'lightgreen': 'lightgreen',
247
+ '#90ee90': 'lightgreen',
248
+ 'lightgrey': 'lightgrey',
249
+ 'lightpink': 'lightpink',
250
+ '#ffb6c1': 'lightpink',
251
+ 'lightsalmon': 'lightsalmon',
252
+ '#ffa07a': 'lightsalmon',
253
+ 'lightseagreen': 'lightseagreen',
254
+ '#20b2aa': 'lightseagreen',
255
+ 'lightskyblue': 'lightskyblue',
256
+ '#87cefa': 'lightskyblue',
257
+ 'lightslategray': 'lightslategray',
258
+ '#778899': 'lightslategray',
259
+ '#789': 'lightslategray',
260
+ 'lightslategrey': 'lightslategrey',
261
+ 'lightsteelblue': 'lightsteelblue',
262
+ '#b0c4de': 'lightsteelblue',
263
+ 'lightyellow': 'lightyellow',
264
+ '#ffffe0': 'lightyellow',
265
+ 'lime': 'lime',
266
+ '#00ff00': 'lime',
267
+ '#0f0': 'lime',
268
+ 'limegreen': 'limegreen',
269
+ '#32cd32': 'limegreen',
270
+ 'linen': 'linen',
271
+ '#faf0e6': 'linen',
272
+ 'magenta': 'magenta',
273
+ '#ff00ff': 'magenta',
274
+ '#f0f': 'magenta',
275
+ 'maroon': 'maroon',
276
+ '#800000': 'maroon',
277
+ 'mediumaquamarine': 'mediumaquamarine',
278
+ '#66cdaa': 'mediumaquamarine',
279
+ 'mediumblue': 'mediumblue',
280
+ '#0000cd': 'mediumblue',
281
+ 'mediumorchid': 'mediumorchid',
282
+ '#ba55d3': 'mediumorchid',
283
+ 'mediumpurple': 'mediumpurple',
284
+ '#9370db': 'mediumpurple',
285
+ 'mediumseagreen': 'mediumseagreen',
286
+ '#3cb371': 'mediumseagreen',
287
+ 'mediumslateblue': 'mediumslateblue',
288
+ '#7b68ee': 'mediumslateblue',
289
+ 'mediumspringgreen': 'mediumspringgreen',
290
+ '#00fa9a': 'mediumspringgreen',
291
+ 'mediumturquoise': 'mediumturquoise',
292
+ '#48d1cc': 'mediumturquoise',
293
+ 'mediumvioletred': 'mediumvioletred',
294
+ '#c71585': 'mediumvioletred',
295
+ 'midnightblue': 'midnightblue',
296
+ '#191970': 'midnightblue',
297
+ 'mintcream': 'mintcream',
298
+ '#f5fffa': 'mintcream',
299
+ 'mistyrose': 'mistyrose',
300
+ '#ffe4e1': 'mistyrose',
301
+ 'moccasin': 'moccasin',
302
+ '#ffe4b5': 'moccasin',
303
+ 'navajowhite': 'navajowhite',
304
+ '#ffdead': 'navajowhite',
305
+ 'navy': 'navy',
306
+ '#000080': 'navy',
307
+ 'oldlace': 'oldlace',
308
+ '#fdf5e6': 'oldlace',
309
+ 'olive': 'olive',
310
+ '#808000': 'olive',
311
+ 'olivedrab': 'olivedrab',
312
+ '#6b8e23': 'olivedrab',
313
+ 'orange': 'orange',
314
+ '#ffa500': 'orange',
315
+ 'orangered': 'orangered',
316
+ '#ff4500': 'orangered',
317
+ 'orchid': 'orchid',
318
+ '#da70d6': 'orchid',
319
+ 'palegoldenrod': 'palegoldenrod',
320
+ '#eee8aa': 'palegoldenrod',
321
+ 'palegreen': 'palegreen',
322
+ '#98fb98': 'palegreen',
323
+ 'paleturquoise': 'paleturquoise',
324
+ '#afeeee': 'paleturquoise',
325
+ 'palevioletred': 'palevioletred',
326
+ '#db7093': 'palevioletred',
327
+ 'papayawhip': 'papayawhip',
328
+ '#ffefd5': 'papayawhip',
329
+ 'peachpuff': 'peachpuff',
330
+ '#ffdab9': 'peachpuff',
331
+ 'peru': 'peru',
332
+ '#cd853f': 'peru',
333
+ 'pink': 'pink',
334
+ '#ffc0cb': 'pink',
335
+ 'plum': 'plum',
336
+ '#dda0dd': 'plum',
337
+ 'powderblue': 'powderblue',
338
+ '#b0e0e6': 'powderblue',
339
+ 'purple': 'purple',
340
+ '#800080': 'purple',
341
+ 'rebeccapurple': 'rebeccapurple',
342
+ '#663399': 'rebeccapurple',
343
+ 'red': 'red',
344
+ '#ff0000': 'red',
345
+ '#f00': 'red',
346
+ 'rosybrown': 'rosybrown',
347
+ '#bc8f8f': 'rosybrown',
348
+ 'royalblue': 'royalblue',
349
+ '#4169e1': 'royalblue',
350
+ 'saddlebrown': 'saddlebrown',
351
+ '#8b4513': 'saddlebrown',
352
+ 'salmon': 'salmon',
353
+ '#fa8072': 'salmon',
354
+ 'sandybrown': 'sandybrown',
355
+ '#f4a460': 'sandybrown',
356
+ 'seagreen': 'seagreen',
357
+ '#2e8b57': 'seagreen',
358
+ 'seashell': 'seashell',
359
+ '#fff5ee': 'seashell',
360
+ 'sienna': 'sienna',
361
+ '#a0522d': 'sienna',
362
+ 'silver': 'silver',
363
+ '#c0c0c0': 'silver',
364
+ 'skyblue': 'skyblue',
365
+ '#87ceeb': 'skyblue',
366
+ 'slateblue': 'slateblue',
367
+ '#6a5acd': 'slateblue',
368
+ 'slategray': 'slategray',
369
+ '#708090': 'slategray',
370
+ 'slategrey': 'slategrey',
371
+ 'snow': 'snow',
372
+ '#fffafa': 'snow',
373
+ 'springgreen': 'springgreen',
374
+ '#00ff7f': 'springgreen',
375
+ 'steelblue': 'steelblue',
376
+ '#4682b4': 'steelblue',
377
+ 'tan': 'tan',
378
+ '#d2b48c': 'tan',
379
+ 'teal': 'teal',
380
+ '#008080': 'teal',
381
+ 'thistle': 'thistle',
382
+ '#d8bfd8': 'thistle',
383
+ 'tomato': 'tomato',
384
+ '#ff6347': 'tomato',
385
+ 'turquoise': 'turquoise',
386
+ '#40e0d0': 'turquoise',
387
+ 'violet': 'violet',
388
+ '#ee82ee': 'violet',
389
+ 'wheat': 'wheat',
390
+ '#f5deb3': 'wheat',
391
+ 'white': 'white',
392
+ '#ffffff': 'white',
393
+ '#fff': 'white',
394
+ 'whitesmoke': 'whitesmoke',
395
+ '#f5f5f5': 'whitesmoke',
396
+ 'yellow': 'yellow',
397
+ '#ffff00': 'yellow',
398
+ '#ff0': 'yellow',
399
+ 'yellowgreen': 'yellowgreen',
400
+ '#9acd32': 'yellowgreen',
401
+ );
402
+
403
+ // Convert the color to a string.
404
+ $name: inspect($name);
405
+
406
+ @return if(map-has-key($css4-color-keywords, $name), map-get($css4-color-keywords, $name), false);
407
+ }
408
+
409
+ // chroma-to-string($name)
410
+ //
411
+ // Cast the color name to a string to ensure color keywords do not cause
412
+ // problems as map keys.
413
+ //
414
+ // $name - The name of the color to convert.
415
+ //
416
+ // Style guide: functions.chroma-to-string
417
+ @function chroma-to-string($name) {
418
+ // If the name is a color keyword, convert it to a string.
419
+ $is-keyword: is-color-keyword($name);
420
+ @return if($is-keyword, $is-keyword, inspect($name));
421
+ }
422
+
423
+ // color([$scheme,] $name)
11
424
  //
12
425
  // Returns a color value given a key word and optional color scheme. If the
13
- // named color is not in the given color scheme, the "default" color scheme will
426
+ // named color is not in the color scheme, the color scheme's parent scheme will
14
427
  // be searched.
15
428
  //
16
429
  // Usage:
17
430
  // ```scss
18
431
  // .ex {
19
432
  // background-color: color(body-bg);
20
- // border: 1px solid color(border, 'grace');
433
+ // border: 1px solid color(grace, border);
21
434
  // }
22
435
  // ```
23
436
  //
24
- // $key - The name of the requested color.
25
- // $scheme - Optional color scheme to choose from; defaults to `$chroma-default-scheme`.
26
- //
27
- // Style guide: sass.functions.color
28
- @function color($key, $scheme: $chroma-default-scheme) {
29
- @if map-has-key($chroma, $scheme) and map-has-key(map-get($chroma, $scheme), 'names') and map-has-key(map-get(map-get($chroma, $scheme), 'names'), $key) {
30
- @return map-get(map-get(map-get($chroma, $scheme), 'names'), $key);
31
- } @else if map-has-key(map-get(map-get($chroma, 'default'), 'names'), $key) {
32
- @return map-get(map-get(map-get($chroma, 'default'), 'names'), $key);
33
- } @else {
34
- @error 'The color "#{$key}" was not found in $chroma map.';
437
+ // $scheme - Optional color scheme to choose from; defaults to
438
+ // `$chroma-active-scheme`.
439
+ // $name - The name of the requested color.
440
+ //
441
+ // Style guide: functions.color
442
+ @function color($scheme, $name: null) {
443
+ @if type-of($name) == 'null' {
444
+ // The shortcut syntax was used since $name is null. Move the color name to
445
+ // the $name parameter and set a default value to $scheme.
446
+ $name: $scheme;
447
+ $scheme: $chroma-active-scheme;
448
+ }
449
+
450
+ // Confirm the scheme exists.
451
+ @if not chroma-has-scheme($scheme) {
452
+ @error 'The #{$chroma-spelling} scheme "#{$scheme}" was not found.';
453
+ }
454
+ // Cast the color name to a string to ensure color keywords do not cause
455
+ // problems as map keys.
456
+ $name: chroma-to-string($name);
457
+ // Find the actual scheme used by the named color.
458
+ $actual-scheme: chroma-has-color($name, $scheme);
459
+ @if not $actual-scheme {
460
+ @error 'The #{$chroma-spelling} "#{$name}" was not found.';
35
461
  }
462
+ @return map-get(map-get(map-get($chroma, 'names'), "#{$actual-scheme}::#{$name}"), 'value');
36
463
  }
37
464
 
38
- // add-color-scheme($scheme, $description, $new-colors)
465
+ // define-color-scheme($scheme [, $description] [, $parent])
466
+ //
467
+ // Define a new color scheme and, optionally, set its description and parent
468
+ // color scheme.
469
+ //
470
+ // When searching for a color and the color scheme does not define that
471
+ // particular color, the parent color scheme will be checked to see if it
472
+ // defines that color.
39
473
  //
40
- // Sets the colors for a new color scheme.
474
+ // By default, all color schemes inherit their colors from the default color
475
+ // scheme. Optionally, a color scheme can choose to inherit from a different
476
+ // color scheme by specifying the `$parent` parameter.
41
477
  //
42
478
  // Usage:
43
479
  // ```scss
44
- // $my-colors: add-color-scheme('design', 'Colors used by different parts of the design.', (
45
- // link: color(blue),
46
- // link-visited: color(blue-dark),
47
- // link-focus: color(red),
48
- // ));
480
+ // $chroma: define-color-scheme(taiwan, "Taiwan's colors");
481
+ // $chroma: define-color-scheme(taipei, "Taipei's colors", $parent: taiwan);
49
482
  // ```
50
483
  //
51
484
  // $scheme - The name of the new color scheme.
52
- // $description - A description of the color scheme.
53
- // $new-colors - A Sass map containing the new colors.
485
+ // $description - Optional description of the color scheme.
486
+ // $parent - The parent color scheme to inherit colors from; defaults to
487
+ // `default` (i.e. `$CHROMA_DEFAULT_SCHEME`).
54
488
  //
55
- // Style guide: sass.functions.color.add-color-scheme
56
- @function add-color-scheme($scheme, $description: '', $new-colors: ()) {
57
- $chroma: map-merge(
58
- $chroma,
489
+ // Style guide: functions.define-color-scheme
490
+ @function define-color-scheme($scheme, $description: '', $parent: $CHROMA_DEFAULT_SCHEME) {
491
+ // Check if we are defining the default color scheme.
492
+ @if $scheme == $CHROMA_DEFAULT_SCHEME {
493
+ $parent: false;
494
+ }
495
+
496
+ // Check parent reference exists.
497
+ @if $parent and not chroma-has-scheme($parent) {
498
+ @error 'Cannot set the parent of #{scheme} to "#{$parent}" because the #{$chroma-spelling} scheme "#{$parent}" was not found.';
499
+ }
500
+
501
+ $schemes: map-merge(
502
+ map-get($chroma, 'schemes'),
59
503
  ($scheme: (
60
504
  'description': $description,
61
- 'names': $new-colors
505
+ 'parent': $parent,
62
506
  ))
63
507
  );
64
- @return $chroma;
508
+
509
+ @return map-merge(
510
+ $chroma,
511
+ ('schemes': $schemes)
512
+ );
65
513
  }
66
514
 
67
- // add-default-color-scheme($description, $new-colors)
515
+ // define-default-color-scheme($description)
68
516
  //
69
- // Sets the default scheme.
517
+ // Sets the description of the default color scheme.
70
518
  //
71
519
  // Usage:
72
520
  // ```scss
73
- // $my-colors: add-default-color-scheme('The main colors of the site.', (
74
- // white: #fff,
75
- // grey-dark: #545d5d,
76
- // blue: #008fbf,
77
- // ));
521
+ // $chroma: define-default-color-scheme('Default colors');
78
522
  // ```
79
523
  //
80
- // $description - A description of the default color scheme.
81
- // $new-colors - A Sass map containing the new colors.
524
+ // $description - Description of the default color scheme.
82
525
  //
83
- // Style guide: sass.functions.color.add-default-color-scheme
84
- @function add-default-color-scheme($description, $new-colors) {
85
- @return add-color-scheme('default', $description, $new-colors);
526
+ // Style guide: functions.define-default-color-scheme
527
+ @function define-default-color-scheme($description) {
528
+ @return define-color-scheme($CHROMA_DEFAULT_SCHEME, $description);
86
529
  }
87
530
 
88
- // add-colors($scheme, $new-colors)
531
+ // add-colors([$scheme,] $colors)
89
532
  //
90
533
  // Add the colors to an existing color scheme.
91
534
  //
92
535
  // Usage:
93
536
  // ```scss
94
- // $my-colors: add-colors('design', (
95
- // nav: color(link),
537
+ // $my-colors: add-colors('admiral', (
538
+ // nav: 'link',
539
+ // nav-visited: color(link-visited),
540
+ // nav-focus: color(link-focus),
541
+ // ));
542
+ // ```
543
+ //
544
+ // If you wish to add colors to the active scheme, you can just use:
545
+ // ```scss
546
+ // $my-colors: add-colors((
547
+ // nav: 'link',
96
548
  // nav-visited: color(link-visited),
97
549
  // nav-focus: color(link-focus),
98
550
  // ));
99
551
  // ```
100
552
  //
101
- // $scheme - The name of an existing color scheme.
102
- // $new-colors - A Sass map containing the new colors.
553
+ // $scheme - Optional: color scheme to add colors to; defaults to
554
+ // `$chroma-active-scheme`.
555
+ // $colors - A Sass map containing the new colors.
103
556
  //
104
- // Style guide: sass.functions.color.add-color-scheme
105
- @function add-colors($scheme, $new-colors) {
106
- @if not map-has-key($chroma, $scheme) {
107
- @error 'The color scheme "#{$scheme}" was not found in $chroma map.';
557
+ // Style guide: functions.add-colors
558
+ @function add-colors($scheme, $colors: null) {
559
+ @if type-of($scheme) == 'map' or type-of($scheme) == 'list' {
560
+ // The shortcut syntax was used since only a map of $colors was given as the
561
+ // first parameter. Move the map to the $colors parameter and set a default
562
+ // value to $scheme.
563
+ $colors: $scheme;
564
+ $scheme: $chroma-active-scheme;
108
565
  }
109
- $chroma: map-merge(
110
- $chroma,
111
- ($scheme: map-merge(
112
- map-get($chroma, $scheme),
113
- ('names': map-merge(
114
- map-get(map-get($chroma, $scheme), 'names'),
115
- $new-colors
116
- ))
117
- ))
118
- );
566
+ @if not chroma-has-scheme($scheme) {
567
+ @error 'The #{$chroma-spelling} scheme "#{$scheme}" was not found.';
568
+ }
569
+ @each $color-name, $color-value in $colors {
570
+ // Cast the color name to a string to ensure color keywords do not cause
571
+ // problems as map keys.
572
+ $color-name: chroma-to-string($color-name);
573
+ // If the value given is a color, just add it.
574
+ @if type_of($color-value) == 'color' {
575
+ $chroma: _chroma-add-name($scheme, $color-name,
576
+ $value : $color-value,
577
+ $reference : false,
578
+ $referenced_by : ()
579
+ ) !global;
580
+ }
581
+ // If the value given is a reference to another color...
582
+ @else if type_of($color-value) == 'string' {
583
+ $ref: $color-value;
584
+ // Find the referenced color.
585
+ $scheme-of-reference: chroma-has-color($ref, $scheme);
586
+ @if not $scheme-of-reference {
587
+ @error 'The #{$chroma-spelling} "#{$ref}" was not found.';
588
+ }
589
+ $referenced-color: map-get(map-get($chroma, 'names'), "#{$scheme-of-reference}::#{$ref}");
590
+ // Add the new color.
591
+ $chroma: _chroma-add-name($scheme, $color-name,
592
+ $value : map-get($referenced-color, 'value'),
593
+ $reference : $ref,
594
+ $referenced_by : ()
595
+ ) !global;
596
+ // Document the new color in all the referenced_by lists.
597
+ @while $ref {
598
+ $chroma: _chroma-add-name($scheme-of-reference, $ref,
599
+ $value : map-get($referenced-color, 'value'),
600
+ $reference : map-get($referenced-color, 'reference'),
601
+ $referenced_by : append(
602
+ map-get($referenced-color, 'referenced_by'),
603
+ $color-name
604
+ )
605
+ ) !global;
606
+ $ref: map-get($referenced-color, 'reference');
607
+ @if $ref {
608
+ $scheme-of-reference: chroma-has-color($ref, $scheme-of-reference);
609
+ $referenced-color: map-get(map-get($chroma, 'names'), "#{$scheme-of-reference}::#{$ref}");
610
+ }
611
+ }
612
+ }
613
+ @else {
614
+ @error 'Unexpected value given for color "#{$color-name}".';
615
+ }
616
+ }
617
+
119
618
  @return $chroma;
120
619
  }
@@ -0,0 +1,87 @@
1
+ //
2
+ // Helper functions that query the internal data structure in $chroma.
3
+ //
4
+
5
+ // Import the global variables needed by all of Chroma.
6
+ @import './variables';
7
+
8
+ // chroma-has-scheme($scheme)
9
+ //
10
+ // Checks if the named color scheme exists.
11
+ //
12
+ // Style guide: sass.functions.chroma.chroma-has-scheme
13
+ @function chroma-has-scheme($scheme) {
14
+ @return map-has-key(map-get($chroma, 'schemes'), $scheme);
15
+ }
16
+
17
+ // chroma-schemes()
18
+ //
19
+ // Returns a list of all color schemes in $chroma.
20
+ //
21
+ // Style guide: sass.functions.chroma.chroma-schemes
22
+ @function chroma-schemes() {
23
+ @return map-keys(map-get($chroma, 'schemes'));
24
+ }
25
+
26
+ // chroma-has-color($name [, $scheme])
27
+ //
28
+ // Checks if the named color exists in the given scheme or its parent schemes.
29
+ // Returns false or a string of the scheme name that contains the color.
30
+ //
31
+ // Style guide: sass.functions.chroma.chroma-has-color
32
+ @function chroma-has-color($name, $scheme: $chroma-active-scheme) {
33
+ $current-scheme: $scheme;
34
+ @while $current-scheme {
35
+ @if map-has-key(map-get($chroma, 'names'), "#{$current-scheme}::#{$name}") {
36
+ @return $current-scheme;
37
+ }
38
+ // Look in the parent scheme.
39
+ $current-scheme: map-get(map-get(map-get($chroma, 'schemes'), $current-scheme), 'parent');
40
+ }
41
+ @return false;
42
+ }
43
+
44
+ // _chroma-add-name()
45
+ //
46
+ // Private function that adds a color to the data structure of the $chroma
47
+ // variable.
48
+ //
49
+ // No styleguide reference
50
+ @function _chroma-add-name($scheme, $name, $value: false, $reference: false, $referenced_by: ()) {
51
+ $names: map-merge(
52
+ map-get($chroma, 'names'),
53
+ ("#{$scheme}::#{$name}": (
54
+ value : $value,
55
+ reference : $reference,
56
+ referenced_by : $referenced_by,
57
+ ))
58
+ );
59
+
60
+ @return map-merge(
61
+ $chroma,
62
+ ('names': $names)
63
+ );
64
+ }
65
+
66
+ // _chroma-init()
67
+ //
68
+ // Private function that sets up the initial data structure of the $chroma
69
+ // variable.
70
+ //
71
+ // No styleguide reference
72
+ @function _chroma-init() {
73
+ @if length($chroma) == 0 {
74
+ @return (
75
+ 'schemes': (
76
+ $CHROMA_DEFAULT_SCHEME : (
77
+ 'description': '',
78
+ 'parent': false,
79
+ ),
80
+ ),
81
+ 'names': (),
82
+ );
83
+ }
84
+ @else {
85
+ @return $chroma;
86
+ }
87
+ }
@@ -32,6 +32,10 @@
32
32
  &__value {
33
33
  color: #bbb;
34
34
 
35
+ code {
36
+ color: #bbb;
37
+ }
38
+
35
39
  &:before {
36
40
  // "\2192" is unicode for right arrow. "\ " is a hack; otherwise space is
37
41
  // ignored in some browsers.
@@ -39,4 +43,13 @@
39
43
  font-family: sans-serif;
40
44
  }
41
45
  }
46
+
47
+ &__reference {
48
+ display: block;
49
+ position: relative;
50
+ top: -12px;
51
+ line-height: 25px;
52
+ padding-left: 50px;
53
+ color: #999;
54
+ }
42
55
  }
@@ -39,7 +39,8 @@
39
39
  $swatch-class: 'chroma-kss__swatch',
40
40
  $variable-class: 'chroma-kss__variable',
41
41
  $alt-text-class: 'chroma-kss__alt-text',
42
- $value-class: 'chroma-kss__value'
42
+ $value-class: 'chroma-kss__value',
43
+ $reference-class: 'chroma-kss__reference'
43
44
  ) {
44
45
  $markup: '';
45
46
 
@@ -47,21 +48,36 @@
47
48
  $markup: '<div class="' + $wrapper-class + '">';
48
49
  }
49
50
 
50
- @each $scheme, $map in $chroma {
51
+ @each $scheme, $data in map-get($chroma, 'schemes') {
51
52
  // Display the scheme name and description.
52
53
  $markup: $markup
53
54
  + '<h3 class="' + $title-class + '">#{$scheme}</h3>'
54
- + '<p class="' + $description-class + '">#{map-get($map, 'description')}</p>';
55
+ + '<p class="' + $description-class + '">#{map-get($data, 'description')}</p>';
55
56
 
56
57
  // Display the colors in the scheme.
57
- @each $color, $value in map-get($map, 'names') {
58
- $markup: $markup
59
- + '<div class="' + $color-class + '">'
60
- + '<span class="' + $swatch-class + '" style="background-color: #{$value}"></span>'
61
- + '<code class="' + $variable-class + '">color(#{$color})</code>'
62
- + ' <span class="' + $alt-text-class + '">uses the color:</span> '
63
- + '<code class="' + $value-class + '">#{$value}</code></span>'
64
- + '</div>';
58
+ @each $color, $data in map-get($chroma, 'names') {
59
+ $seperator: str-index($color, '::');
60
+ @if $scheme == str-slice($color, 1, $seperator - 1) {
61
+ $color: str-slice($color, $seperator + 2);
62
+ $value: map-get($data, 'value');
63
+ $reference: map-get($data, 'reference');
64
+ $referenced_by: map-get($data, 'referenced_by');
65
+
66
+ $markup: $markup
67
+ + '<div class="#{$color-class}">'
68
+ + '<span class="#{$swatch-class}" style="background-color: #{$value}"></span>'
69
+ + '<code class="#{$variable-class}">color(#{$color})</code>'
70
+ + ' <span class="#{$alt-text-class}">uses the color:</span> '
71
+ + '<span class="#{$value-class}"><code>#{$value}</code>';
72
+ @if $reference {
73
+ $markup: $markup + ' (#{$reference})';
74
+ }
75
+ $markup: $markup + '</span>';
76
+ @if length($referenced_by) > 0 {
77
+ $markup: $markup + ' <span class="#{$reference_class}">This color is inherited by: #{inspect($referenced_by)}</span>'
78
+ }
79
+ $markup: $markup + '</div>';
80
+ }
65
81
  }
66
82
  }
67
83
 
@@ -1,6 +1,48 @@
1
1
  //
2
- // Variables module for the system; auto-imported by other modules.
2
+ // Variables module for Chroma; auto-imported by other modules.
3
3
  //
4
4
 
5
- $chroma : () !default;
6
- $chroma-default-scheme : 'default' !default;
5
+ //
6
+ // Private variables.
7
+ //
8
+
9
+ // The name of the default color scheme. There's no reason to change this value.
10
+ $CHROMA_DEFAULT_SCHEME : 'default';
11
+
12
+ // Let the Aussies, etc. have their preferred spelling.
13
+ //
14
+ // Rather than setting this variable directly, users should import the colour
15
+ // module with: `@import 'chroma/colour';`
16
+ $chroma-spelling : 'color' !default;
17
+
18
+ //
19
+ // Public variables.
20
+ //
21
+
22
+ // $chroma
23
+ //
24
+ // The colors and meta-data managed by Chroma.
25
+ //
26
+ // Style guide: variables.chroma
27
+ $chroma : () !default;
28
+
29
+ // $chroma-active-scheme
30
+ //
31
+ // The currently active color scheme. This is the default value used by the
32
+ // $scheme parameter of most Chroma functions.
33
+ //
34
+ // By default, this variable is set to the default color scheme.
35
+ //
36
+ // Style guide: variables.chroma-active-scheme
37
+ $chroma-active-scheme : $CHROMA_DEFAULT_SCHEME !default;
38
+
39
+ // $chroma-die-on-ambiguous-keyword
40
+ //
41
+ // Since Chroma _will_ die when using an ambiguous color keyword with Sass'
42
+ // "compressed" output style, we die with all other output styles too.
43
+ // Otherwise, Chroma could behave differently on production vs. development
44
+ // environments. If you are really sure Chroma will never be run with Sass'
45
+ // "compressed" output style, you can disable this feature.
46
+ //
47
+ // Style guide: variables.chroma-die-on-ambiguous-keyword
48
+ $chroma-die-on-ambiguous-keyword : true !default;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chroma-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha.4
4
+ version: 1.0.0.alpha.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Albin Wilkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-14 00:00:00.000000000 Z
11
+ date: 2015-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.3'
19
+ version: '3.4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.3'
26
+ version: '3.4'
27
27
  description: Chroma is the Sass color manager. Manages color names, variations, and
28
28
  schemes.
29
29
  email: virtually.johnalbin@gmail.com
@@ -36,7 +36,9 @@ files:
36
36
  - chroma-sass.gemspec
37
37
  - lib/chroma.rb
38
38
  - sass/_chroma.scss
39
+ - sass/chroma/_colour.scss
39
40
  - sass/chroma/_functions.scss
41
+ - sass/chroma/_internals.scss
40
42
  - sass/chroma/_kss-styles.scss
41
43
  - sass/chroma/_kss.scss
42
44
  - sass/chroma/_variables.scss
@@ -59,7 +61,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
61
  - !ruby/object:Gem::Version
60
62
  version: 1.3.1
61
63
  requirements: []
62
- rubyforge_project: 1.0.0.alpha.4
64
+ rubyforge_project: 1.0.0.alpha.5
63
65
  rubygems_version: 2.4.6
64
66
  signing_key:
65
67
  specification_version: 4