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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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