archetype 0.0.1.pre.3.811928f → 0.0.1.pre.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +24 -1
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/VERSION.yml +1 -1
- data/bin/archetype +3 -0
- data/lib/archetype.rb +4 -0
- data/lib/archetype/actions/help.rb +16 -0
- data/lib/archetype/actions/theme.rb +73 -0
- data/lib/archetype/executor.rb +27 -0
- data/lib/archetype/functions/hash.rb +28 -12
- data/lib/archetype/functions/helpers.rb +46 -13
- data/lib/archetype/functions/styleguide_memoizer.rb +9 -1
- data/lib/archetype/sass_extensions.rb +1 -0
- data/lib/archetype/sass_extensions/functions/lists.rb +34 -40
- data/lib/archetype/sass_extensions/functions/locale.rb +32 -16
- data/lib/archetype/sass_extensions/functions/styleguide.rb +115 -37
- data/lib/archetype/sass_extensions/functions/ui.rb +3 -2
- data/lib/archetype/sass_extensions/functions/version.rb +11 -6
- data/lib/archetype/sass_extensions/monkey_patches.rb +3 -0
- data/lib/archetype/sass_extensions/monkey_patches/handle_include_loop.rb +13 -0
- data/lib/archetype/version.rb +19 -12
- data/stylesheets/archetype/_base.scss +3 -0
- data/stylesheets/archetype/_config.scss +31 -7
- data/stylesheets/archetype/_hacks.scss +17 -5
- data/stylesheets/archetype/_ui.scss +64 -23
- data/stylesheets/archetype/styleguide/components/_buttons.scss +6 -6
- data/stylesheets/archetype/styleguide/components/_headlines.scss +1 -0
- data/stylesheets/archetype/styleguide/components/_links.scss +2 -0
- data/stylesheets/archetype/util/_styles.scss +59 -14
- data/stylesheets/archetype/util/_targeting.scss +1 -1
- data/templates/_theme/_components.scss +3 -0
- data/templates/_theme/_config.scss +1 -0
- data/templates/_theme/_core.scss +13 -0
- data/templates/_theme/_helpers.scss +1 -0
- data/templates/_theme/_primitives.scss +3 -0
- data/templates/_theme/components/README +1 -0
- data/templates/_theme/primitives/README +1 -0
- data/test/fixtures/stylesheets/archetype/config.rb +2 -0
- data/test/fixtures/stylesheets/archetype/expected/base.css +349 -0
- data/test/fixtures/stylesheets/archetype/expected/hacks/ie_pseudo.css +3 -3
- data/test/fixtures/stylesheets/archetype/expected/hacks/transparent_focusable.css +4 -0
- data/test/fixtures/stylesheets/archetype/expected/locale.css +23 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/alerts.css +675 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/buttons.css +110 -18
- data/test/fixtures/stylesheets/archetype/expected/styleguide/drop.css +63 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/extend.css +7 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/invalid_structures.css +21 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/multi_value.css +13 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/selective_state.css +3 -0
- data/test/fixtures/stylesheets/archetype/expected/ui/glyph_icon.css +116 -2
- data/test/fixtures/stylesheets/archetype/expected/utilities/associative.css +9 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/custom_output_styler.css +8 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/targeting/target-browser.css +5 -0
- data/test/fixtures/stylesheets/archetype/source/base.scss +3 -0
- data/test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss +5 -0
- data/test/fixtures/stylesheets/archetype/source/locale.scss +43 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss +21 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +5 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/drop.scss +101 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/extend.scss +23 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss +85 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss +18 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +30 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/associative.scss +24 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss +21 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +8 -1
- data/test/helpers/test_case.rb +2 -2
- data/test/integrations/archetype_test.rb +3 -1
- data/test/units/sass_extensions_test.rb +18 -25
- metadata +108 -36
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders-s7889ccc8c1.png +0 -0
@@ -61,15 +61,27 @@
|
|
61
61
|
// @param $name {String} the name of the element
|
62
62
|
@mixin ie-pseudo($styles: false, $content: false, $placement: before, $name: '') {
|
63
63
|
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
64
|
+
$this: 't';
|
65
|
+
$cmd: (unquote('#{$this}.el=document.createElement("#{prefixed-tag($name)}")'));
|
64
66
|
$method: if($placement == before, insertBefore, appendChild);
|
65
|
-
|
67
|
+
@if $content and $content != nil {
|
68
|
+
$cmd: append($cmd, unquote('#{$this}.el.innerHTML="#{-ie-pseudo-content($content)}"'), comma);
|
69
|
+
}
|
66
70
|
@if $CONFIG_GENERATED_TAG_CSS {
|
67
71
|
$styles: if($styles and $styles != nil, #{$CONFIG_GENERATED_TAG_CSS}#{$styles}, $CONFIG_GENERATED_TAG_CSS);
|
68
72
|
}
|
69
|
-
|
70
|
-
|
71
|
-
$
|
73
|
+
@if $styles and $styles != nil {
|
74
|
+
// sets the icon styles on the node
|
75
|
+
$cmd: append($cmd, unquote('#{$this}.el.style.cssText="#{$styles}"'), comma);
|
72
76
|
}
|
73
|
-
|
77
|
+
// if we're using the insertBefore method, we need to specify the node reference to the first childNode
|
78
|
+
$reference-node: if($placement == before, ',#{$this}.childNodes[0]||null', '');
|
79
|
+
$cmd: append($cmd, unquote('#{$this}.#{$method}(#{$this}.el#{$reference-node})'), comma);
|
80
|
+
$runOnce: unquote('this.runtimeStyle.zoom="1"'); // this ensures the expression is only invoked once
|
81
|
+
|
82
|
+
// we execute in a setTimeout to decouple from the current UI thread
|
83
|
+
// this prevents an edge case in IE crashing with an `Operation Aborted` if the node hasn't finished rendering yet
|
84
|
+
// http://www.nczonline.net/blog/2008/03/17/the-dreaded-operation-aborted-error/
|
85
|
+
*zoom: expression(#{$runOnce},(function(#{$this}){setTimeout(function(){#{$cmd}})}(this)));
|
74
86
|
}
|
75
87
|
}
|
@@ -117,6 +117,21 @@
|
|
117
117
|
clip: rect(1px, 1px, 1px, 1px);
|
118
118
|
}
|
119
119
|
|
120
|
+
// revert hide element with config
|
121
|
+
// @mixin unhide-element
|
122
|
+
// @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
|
123
|
+
// @param $position {String} value for the position property
|
124
|
+
// @param $height {String} value for the height property
|
125
|
+
// @param $width {String} value for the width property
|
126
|
+
// @param $overflow {String} value for the overflow property
|
127
|
+
@mixin unhide-element($position: static, $height:auto, $width:auto, $overflow:visible) {
|
128
|
+
position: $position !important;
|
129
|
+
height: $height;
|
130
|
+
width: $width;
|
131
|
+
overflow: $overflow;
|
132
|
+
clip: auto;
|
133
|
+
}
|
134
|
+
|
120
135
|
// mixin for generating a fade box which fades from transparent to white
|
121
136
|
// @mixin fade-box
|
122
137
|
// @param $width {String} the width of the overlay
|
@@ -124,7 +139,7 @@
|
|
124
139
|
// @param $direction {String} top=vertical left=horizontal
|
125
140
|
@mixin fade-box($width: 100%, $height: 100%, $direction: top) {
|
126
141
|
$direction: rtl($direction);
|
127
|
-
// TODO - update this when Compass supports IE alpha channels
|
142
|
+
// TODO - update this when Compass supports IE alpha channels
|
128
143
|
@if $direction == left {
|
129
144
|
@include ie-filter(gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=1));
|
130
145
|
}
|
@@ -155,21 +170,30 @@
|
|
155
170
|
// @param $placement {String} where to place the icon [before|after|inline]
|
156
171
|
// @param $ie-styles {String} styles to apply to IE6/7 (this is needed because the faux :before isn't extensible)
|
157
172
|
@mixin glyph-icon($icon, $size: default, $color: inherit, $placement: before, $ie-styles: false) {
|
158
|
-
$char-mapping:
|
159
|
-
$char-code:
|
173
|
+
$char-mapping: nil;
|
174
|
+
$char-code: nil;
|
175
|
+
@if $icon {
|
176
|
+
$char-mapping: -compass-list(associative($CONFIG_GLYPHS_MAPPINGS, $icon, $strict: true));
|
177
|
+
$char-code: nth($char-mapping, 1);
|
178
|
+
}
|
160
179
|
@if $char-code == nil and $icon != false {
|
161
180
|
@warn "could not find character mapping for `#{icon}`";
|
162
181
|
}
|
163
182
|
@else {
|
164
183
|
@if $size == default {
|
165
|
-
$default-size:
|
184
|
+
$default-size: nil;
|
185
|
+
@if $icon {
|
186
|
+
$default-size: nth-cyclic($char-mapping, 2);
|
187
|
+
}
|
166
188
|
$size: if(type-of($default-size) == number, $default-size, 100%);
|
167
189
|
}
|
168
190
|
// if the size is under a given threshold, use a halfling, if available
|
169
|
-
|
191
|
+
@if $icon {
|
192
|
+
$char-code: nth(-compass-list($char-code), 1);
|
193
|
+
}
|
170
194
|
$selector: if(index(before after, $placement), '&:#{$placement}', '&');
|
171
195
|
#{$selector} {
|
172
|
-
font-family: $CONFIG_GLYPHS_NAME;
|
196
|
+
font-family: '#{$CONFIG_GLYPHS_NAME}-#{$CONFIG_GLYPHS_VERSION}', '#{$CONFIG_GLYPHS_NAME}';
|
173
197
|
font-weight: $CONFIG_GLYPHS_WEIGHT;
|
174
198
|
font-style: $CONFIG_GLYPHS_STYLE;
|
175
199
|
text-decoration: inherit;
|
@@ -180,9 +204,9 @@
|
|
180
204
|
content: $char-code;
|
181
205
|
}
|
182
206
|
}
|
183
|
-
@if($selector != '&') {
|
207
|
+
@if($selector != '&' and $ie-styles != nil) {
|
184
208
|
// support for IE6/7
|
185
|
-
$styles: "font-family:'#{$CONFIG_GLYPHS_NAME}';font-weight:#{$CONFIG_GLYPHS_WEIGHT};font-style:#{$CONFIG_GLYPHS_STYLE};text-decoration:inherit;";
|
209
|
+
$styles: "font-family:'#{$CONFIG_GLYPHS_NAME}-#{$CONFIG_GLYPHS_VERSION}', '#{$CONFIG_GLYPHS_NAME}';font-weight:#{$CONFIG_GLYPHS_WEIGHT};font-style:#{$CONFIG_GLYPHS_STYLE};text-decoration:inherit;";
|
186
210
|
@if($size != nil) {
|
187
211
|
$styles: $styles + "font-size:#{$size};"
|
188
212
|
}
|
@@ -234,25 +258,33 @@
|
|
234
258
|
}
|
235
259
|
}
|
236
260
|
@else {
|
237
|
-
|
238
|
-
|
239
|
-
|
261
|
+
@if $experimental-support-for-webkit {
|
262
|
+
@-webkit-keyframes #{$CONFIG_KEYFRAME_LOADERS} {
|
263
|
+
from { -webkit-transform: rotate(0deg); }
|
264
|
+
to { -webkit-transform: rotate(360deg); }
|
265
|
+
}
|
240
266
|
}
|
241
|
-
|
242
|
-
|
243
|
-
|
267
|
+
@if $experimental-support-for-mozilla {
|
268
|
+
@-moz-keyframes #{$CONFIG_KEYFRAME_LOADERS} {
|
269
|
+
from { -moz-transform: rotate(0deg); }
|
270
|
+
to { -moz-transform: rotate(360deg); }
|
271
|
+
}
|
244
272
|
}
|
245
|
-
|
246
|
-
|
247
|
-
|
273
|
+
@if $experimental-support-for-microsoft {
|
274
|
+
@-ms-keyframes #{$CONFIG_KEYFRAME_LOADERS} {
|
275
|
+
from { -ms-transform: rotate(0deg); }
|
276
|
+
to { -ms-transform: rotate(360deg); }
|
277
|
+
}
|
248
278
|
}
|
249
|
-
|
250
|
-
|
251
|
-
|
279
|
+
@if $experimental-support-for-opera {
|
280
|
+
@-o-keyframes #{$CONFIG_KEYFRAME_LOADERS} {
|
281
|
+
from { -o-transform: rotate(0deg); }
|
282
|
+
to { -o-transform: rotate(360deg); }
|
283
|
+
}
|
252
284
|
}
|
253
285
|
@keyframes #{$CONFIG_KEYFRAME_LOADERS} {
|
254
|
-
|
255
|
-
|
286
|
+
from { transform: rotate(0deg); }
|
287
|
+
to { transform: rotate(360deg); }
|
256
288
|
}
|
257
289
|
}
|
258
290
|
}
|
@@ -305,4 +337,13 @@
|
|
305
337
|
height: $height;
|
306
338
|
margin-left: $width / -2;
|
307
339
|
margin-top: $height / -2;
|
308
|
-
}
|
340
|
+
}
|
341
|
+
|
342
|
+
// a method for removing default styling from a button
|
343
|
+
// @mixin unstyled-button
|
344
|
+
@mixin unstyled-button() {
|
345
|
+
background: none;
|
346
|
+
border: none;
|
347
|
+
padding: 0;
|
348
|
+
@include appearance(none);
|
349
|
+
}
|
@@ -111,6 +111,7 @@ $a-blackhole: styleguide-add-component($STYLEGUIDE_BUTTONS_ID, $STYLEGUIDE_BUTT
|
|
111
111
|
)),
|
112
112
|
// IMPORTANCE in CONTEXTS
|
113
113
|
((primary in-dark), (
|
114
|
+
inherit (in-dark),
|
114
115
|
(states, (
|
115
116
|
(hover, (
|
116
117
|
background-color $CONFIG_COLOR_BG_BUTTON_PRIMARY_DARK_HOVER,
|
@@ -118,10 +119,10 @@ $a-blackhole: styleguide-add-component($STYLEGUIDE_BUTTONS_ID, $STYLEGUIDE_BUTT
|
|
118
119
|
background-image $CONFIG_GRADIENT_BUTTON_PRIMARY_DARK_HOVER
|
119
120
|
)),
|
120
121
|
nil
|
121
|
-
))
|
122
|
-
nil
|
122
|
+
))
|
123
123
|
)),
|
124
124
|
((secondary in-dark), (
|
125
|
+
inherit (in-dark),
|
125
126
|
(states, (
|
126
127
|
(hover, (
|
127
128
|
background-color $CONFIG_COLOR_BG_BUTTON_SECONDARY_DARK_HOVER,
|
@@ -129,10 +130,10 @@ $a-blackhole: styleguide-add-component($STYLEGUIDE_BUTTONS_ID, $STYLEGUIDE_BUTT
|
|
129
130
|
background-image $CONFIG_GRADIENT_BUTTON_SECONDARY_DARK_HOVER
|
130
131
|
)),
|
131
132
|
nil
|
132
|
-
))
|
133
|
-
nil
|
133
|
+
))
|
134
134
|
)),
|
135
135
|
((spotlight in-dark), (
|
136
|
+
inherit (in-dark),
|
136
137
|
(states, (
|
137
138
|
(hover, (
|
138
139
|
background-color $CONFIG_COLOR_BG_BUTTON_SPOTLIGHT_DARK_HOVER,
|
@@ -140,8 +141,7 @@ $a-blackhole: styleguide-add-component($STYLEGUIDE_BUTTONS_ID, $STYLEGUIDE_BUTT
|
|
140
141
|
background-image $CONFIG_GRADIENT_BUTTON_SPOTLIGHT_DARK_HOVER
|
141
142
|
)),
|
142
143
|
nil
|
143
|
-
))
|
144
|
-
nil
|
144
|
+
))
|
145
145
|
)),
|
146
146
|
// in the punchcut context (inherit from in-dark)
|
147
147
|
(primary in-punchcut, (
|
@@ -7,6 +7,7 @@ $STYLEGUIDE_HEADLINES: () !default;
|
|
7
7
|
@if not styleguide-component-exists($STYLEGUIDE_HEADLINES_ID, $CONFIG_THEME) {
|
8
8
|
$a-blackhole: styleguide-add-component($STYLEGUIDE_HEADLINES_ID, $STYLEGUIDE_HEADLINES, (
|
9
9
|
(default, (
|
10
|
+
font-family headline,
|
10
11
|
font-size nth($CONFIG_FONT_HEADLINE_LARGE, 1),
|
11
12
|
font-weight bold,
|
12
13
|
line-height nth-cyclic($CONFIG_FONT_HEADLINE_LARGE, 2),
|
@@ -10,7 +10,11 @@
|
|
10
10
|
// @param $value {*} the CSS value to output
|
11
11
|
@mixin _outputStyle($property, $value: nil) {
|
12
12
|
@if($value != nil) {
|
13
|
-
|
13
|
+
// !!DO NOT COPY TO ARCHETYPE - this mixin is specific to _round_button.scss
|
14
|
+
@if($property == round-button-ie-support) {
|
15
|
+
@include round-button-ie-support($value)
|
16
|
+
}
|
17
|
+
@else if($property == target-browser) {
|
14
18
|
@include target-browser(nth($value,1), nth($value,2), nth($value,3));
|
15
19
|
}
|
16
20
|
@else if($property == font-family) {
|
@@ -19,12 +23,21 @@
|
|
19
23
|
@else if($property == font-style) {
|
20
24
|
@include font-style($value);
|
21
25
|
}
|
26
|
+
@else if($property == hide-element) {
|
27
|
+
@include hide-element();
|
28
|
+
}
|
22
29
|
@else {
|
23
30
|
@include output-style($property, $value);
|
24
31
|
}
|
25
32
|
}
|
26
33
|
}
|
27
34
|
|
35
|
+
// Themes can override this function & custom-output-styler to add their own
|
36
|
+
// custom style includes.
|
37
|
+
@function has-custom-output-styler($property, $value, $method:pre){
|
38
|
+
@return false;
|
39
|
+
}
|
40
|
+
|
28
41
|
// output a property or augment it to use a mixin
|
29
42
|
// @mixin output-style
|
30
43
|
// @param $property {String} the CSS property to output
|
@@ -32,8 +45,13 @@
|
|
32
45
|
@mixin output-style($property, $value: nil) {
|
33
46
|
@if($property != nil and nth(-compass-list($value), 1) != nil and not index($CONFIG_DISABLED_CSS, $property)) {
|
34
47
|
// for mixins, we need to do some custom work
|
48
|
+
// has-custom-output-styler: copy & pasted from latest github repo 10/3/2013
|
49
|
+
// check to see if we have a custom output styler (pre)
|
50
|
+
@if has-custom-output-styler($property, $value, pre) == true {
|
51
|
+
@include custom-output-styler($property, $value, $method: pre);
|
52
|
+
}
|
35
53
|
// border-radius
|
36
|
-
@if($property == border-radius) { @include border-radius(rtl($value, border-radius)); }
|
54
|
+
@else if($property == border-radius) { @include border-radius(rtl($value, border-radius)); }
|
37
55
|
// box-sizing
|
38
56
|
@else if($property == box-sizing) { @include box-sizing($value); }
|
39
57
|
// box-shadow
|
@@ -70,6 +88,8 @@
|
|
70
88
|
@else if($property == max-height) { @include max-height($value); }
|
71
89
|
// stretch
|
72
90
|
@else if($property == stretch) { @include stretch(); }
|
91
|
+
// appearance
|
92
|
+
@else if($property == appearance) { @include appearance($value); }
|
73
93
|
// bunch of RTL support
|
74
94
|
@else if($property == margin) { @include margin($value); }
|
75
95
|
@else if($property == margin-left) { @include margin-left($value); }
|
@@ -87,22 +107,30 @@
|
|
87
107
|
@else if($property == border-left-style) { @include border-left-style($value); }
|
88
108
|
@else if($property == border-right-style) { @include border-right-style($value); }
|
89
109
|
@else if($property == clear) { @include clear($value); }
|
90
|
-
@else if($property == float) { @include float($value); }
|
91
110
|
@else if($property == text-align) { @include text-align($value); }
|
92
111
|
@else if($property == background-position) { @include background-position($value); }
|
93
112
|
@else if($property == left) { @include left($value); }
|
94
113
|
@else if($property == right) { @include right($value); }
|
95
114
|
@else if($property == glyph-icon) { @include glyph-icon(nth($value, 1), nth($value, 2), nth($value, 3), nth($value, 4), nth($value, 5)); }
|
115
|
+
@else if($property == scale) { @include scale($value); }
|
96
116
|
// animations
|
97
117
|
@else if($property == animation) {
|
98
118
|
@if archetype-version('compass >= 0.13') {
|
99
119
|
@include animation($value);
|
100
120
|
}
|
101
121
|
@else {
|
102
|
-
-webkit
|
103
|
-
|
104
|
-
|
105
|
-
-
|
122
|
+
@if $experimental-support-for-webkit {
|
123
|
+
-webkit-animation: $value;
|
124
|
+
}
|
125
|
+
@if $experimental-support-for-mozilla {
|
126
|
+
-moz-animation: $value;
|
127
|
+
}
|
128
|
+
@if $experimental-support-for-microsoft {
|
129
|
+
-ms-animation: $value;
|
130
|
+
}
|
131
|
+
@if $experimental-support-for-opera {
|
132
|
+
-o-animation: $value;
|
133
|
+
}
|
106
134
|
animation: $value;
|
107
135
|
}
|
108
136
|
}
|
@@ -134,8 +162,6 @@
|
|
134
162
|
@if(length($value) > 1) { @include z-index(nth($value, 1), nth($value, 2)); }
|
135
163
|
@else { @include z-index($value); }
|
136
164
|
}
|
137
|
-
// make sure content is always quoted
|
138
|
-
@else if($property == content) { #{$property}: quote($value); }
|
139
165
|
// :before/:after
|
140
166
|
@else if($property == ie-pseudo-before or $property == ie-pseudo-after) {
|
141
167
|
$value: -compass-list($value);
|
@@ -154,6 +180,13 @@
|
|
154
180
|
@include ie-pseudo-after(nth($value, 1), $content, $tag);
|
155
181
|
}
|
156
182
|
}
|
183
|
+
//ellipsis
|
184
|
+
@else if($property == ellipsis) { @include ellipsis(); }
|
185
|
+
// has-custom-output-styler: copy & pasted from latest github repo 10/3/2013
|
186
|
+
// check to see if we have a custom output styler (post)
|
187
|
+
@else if has-custom-output-styler($property, $value, post) == true {
|
188
|
+
@include custom-output-styler($property, $value, $method: post);
|
189
|
+
}
|
157
190
|
// otherwise just use a key-value pair
|
158
191
|
@else { #{$property}: $value; }
|
159
192
|
}
|
@@ -165,7 +198,7 @@
|
|
165
198
|
// @param $states {Bool|List} if true, output all states; if false, output no states; if a list, output only the states in the list
|
166
199
|
// @param $exclude {List} a list of styles to exclude from output
|
167
200
|
@mixin to-styles($list: (), $states: true, $selectors: true, $exclude: ()) {
|
168
|
-
$exclude:
|
201
|
+
$exclude: -compass-list($exclude);
|
169
202
|
$states-data: ();
|
170
203
|
$selectors-data: ();
|
171
204
|
@each $item in $list {
|
@@ -180,7 +213,7 @@
|
|
180
213
|
$selectors-data: $value;
|
181
214
|
}
|
182
215
|
@else if($selectors == true and $states == true) {
|
183
|
-
@include _outputStyle($property,
|
216
|
+
@include _outputStyle($property, $value);
|
184
217
|
}
|
185
218
|
}
|
186
219
|
}
|
@@ -211,7 +244,7 @@
|
|
211
244
|
|
212
245
|
// this is identical to to-styles, but we need to avoid Sass' recursion check :(
|
213
246
|
@mixin _toStyles2($list: (), $states: true, $selectors: true, $exclude: ()) {
|
214
|
-
$exclude:
|
247
|
+
$exclude: -compass-list($exclude);
|
215
248
|
$states-data: ();
|
216
249
|
$selectors-data: ();
|
217
250
|
@each $item in $list {
|
@@ -226,7 +259,7 @@
|
|
226
259
|
$selectors-data: $value;
|
227
260
|
}
|
228
261
|
@else if($selectors == true and $states == true) {
|
229
|
-
@include _outputStyle($property,
|
262
|
+
@include _outputStyle($property, $value);
|
230
263
|
}
|
231
264
|
}
|
232
265
|
}
|
@@ -262,7 +295,7 @@
|
|
262
295
|
$property: nth($item, 1);
|
263
296
|
$value: nth($item, 2);
|
264
297
|
@if(not index($exclude, $property)) {
|
265
|
-
@include _outputStyle($property,
|
298
|
+
@include _outputStyle($property, $value);
|
266
299
|
}
|
267
300
|
}
|
268
301
|
}
|
@@ -452,3 +485,15 @@
|
|
452
485
|
}
|
453
486
|
z-index: ($value + $layer);
|
454
487
|
}
|
488
|
+
|
489
|
+
// generate a tag name with a prefix
|
490
|
+
// @function prefixed-tag
|
491
|
+
// @param $tag {String} the tag to prefix
|
492
|
+
// @param $prefix {String} the prefix to prepend to the tag
|
493
|
+
// @return {String} the prefix joined with the tag
|
494
|
+
@function prefixed-tag($tag: '', $prefix: $CONFIG_GENERATED_TAG_PREFIX) {
|
495
|
+
@if $tag != '' {
|
496
|
+
$tag: '-#{$tag}';
|
497
|
+
}
|
498
|
+
@return '#{$prefix}#{$tag}';
|
499
|
+
}
|
@@ -150,7 +150,7 @@
|
|
150
150
|
$prefix: nth(('_', '*'), $idx);
|
151
151
|
$value: if(index($CORE_CSS_RTL_VALUE_SUPPORT, $property), rtl($value, $property), $value);
|
152
152
|
// NOTE: RTL support on properties like `border-left-width` won't fully work until Compass/Sass support string replace methods
|
153
|
-
@include debug-message("[archetype:target-browser:
|
153
|
+
@include debug-message("[archetype:target-browser:begin] --- #{$browsers} ---");
|
154
154
|
@include output-style(#{$prefix}#{rtl($property)}, $value);
|
155
155
|
@include debug-message("[archetype:target-browser:end] --- #{$browsers} ---");
|
156
156
|
$value: nil;
|
@@ -0,0 +1 @@
|
|
1
|
+
$CONFIG_THEME: "__THEME_NAME__" !default;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// setup theme configs and styles
|
2
|
+
@import "config";
|
3
|
+
@import "primitives";
|
4
|
+
|
5
|
+
// extend the __THEME_EXTENDS__ theme
|
6
|
+
@import "__THEME_EXTENDS__";
|
7
|
+
//@import "../__THEME_EXTENDS__/core";
|
8
|
+
|
9
|
+
// import helper functions
|
10
|
+
@import "helpers";
|
11
|
+
|
12
|
+
// finally initialize our custom components
|
13
|
+
@import "components";
|
@@ -0,0 +1 @@
|
|
1
|
+
// helper methods go here
|