archetype 0.0.1.pre.1 → 0.0.1.pre.3.00dfd9a
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 +7 -0
- data/CHANGELOG.md +88 -0
- data/LICENSE +16 -0
- data/README.md +87 -1
- data/VERSION.yml +6 -0
- data/lib/README.rdoc +4 -0
- data/lib/archetype.rb +45 -0
- data/lib/archetype/functions.rb +9 -0
- data/lib/archetype/functions/hash.rb +149 -0
- data/lib/archetype/functions/helpers.rb +125 -0
- data/lib/archetype/functions/styleguide_memoizer.rb +61 -0
- data/lib/archetype/sass_extensions.rb +6 -0
- data/lib/archetype/sass_extensions/functions.rb +14 -0
- data/lib/archetype/sass_extensions/functions/environment.rb +14 -0
- data/lib/archetype/sass_extensions/functions/lists.rb +284 -0
- data/lib/archetype/sass_extensions/functions/locale.rb +77 -0
- data/lib/archetype/sass_extensions/functions/numbers.rb +19 -0
- data/lib/archetype/sass_extensions/functions/styleguide.rb +406 -0
- data/lib/archetype/sass_extensions/functions/ui.rb +59 -0
- data/lib/archetype/sass_extensions/functions/version.rb +95 -0
- data/lib/archetype/version.rb +75 -0
- data/stylesheets/_archetype.scss +2 -0
- data/stylesheets/archetype/_base.scss +46 -0
- data/stylesheets/archetype/_config.scss +366 -0
- data/stylesheets/archetype/_grid.scss +3 -0
- data/stylesheets/archetype/_hacks.scss +72 -0
- data/stylesheets/archetype/_init.scss +23 -0
- data/stylesheets/archetype/_styleguide.scss +6 -0
- data/stylesheets/archetype/_ui.scss +326 -0
- data/stylesheets/archetype/_util.scss +12 -0
- data/stylesheets/archetype/base/_h5bp.scss +307 -0
- data/stylesheets/archetype/base/_hybrid.scss +25 -0
- data/stylesheets/archetype/base/_normalize.scss +595 -0
- data/stylesheets/archetype/base/_reset.scss +72 -0
- data/stylesheets/archetype/grid/_config.scss +14 -0
- data/stylesheets/archetype/grid/_grid.scss +391 -0
- data/stylesheets/archetype/styleguide/_components.scss +25 -0
- data/stylesheets/archetype/styleguide/_helpers.scss +215 -0
- data/stylesheets/archetype/styleguide/_primitives.scss +10 -0
- data/stylesheets/archetype/styleguide/_styleguide.scss +41 -0
- data/stylesheets/archetype/styleguide/components/_alerts.scss +59 -0
- data/stylesheets/archetype/styleguide/components/_annotations.scss +27 -0
- data/stylesheets/archetype/styleguide/components/_bristol.scss +15 -0
- data/stylesheets/archetype/styleguide/components/_button_groups.scss +47 -0
- data/stylesheets/archetype/styleguide/components/_button_toolbars.scss +17 -0
- data/stylesheets/archetype/styleguide/components/_buttons.scss +338 -0
- data/stylesheets/archetype/styleguide/components/_canvas.scss +15 -0
- data/stylesheets/archetype/styleguide/components/_carets.scss +336 -0
- data/stylesheets/archetype/styleguide/components/_closes.scss +63 -0
- data/stylesheets/archetype/styleguide/components/_container.scss +27 -0
- data/stylesheets/archetype/styleguide/components/_copy.scss +85 -0
- data/stylesheets/archetype/styleguide/components/_flyouts.scss +52 -0
- data/stylesheets/archetype/styleguide/components/_headings.scss +33 -0
- data/stylesheets/archetype/styleguide/components/_headlines.scss +63 -0
- data/stylesheets/archetype/styleguide/components/_hovercards.scss +27 -0
- data/stylesheets/archetype/styleguide/components/_icons.scss +17 -0
- data/stylesheets/archetype/styleguide/components/_identities.scss +34 -0
- data/stylesheets/archetype/styleguide/components/_links.scss +66 -0
- data/stylesheets/archetype/styleguide/components/_loaders.scss +154 -0
- data/stylesheets/archetype/styleguide/components/_menu_items.scss +31 -0
- data/stylesheets/archetype/styleguide/components/_module.scss +15 -0
- data/stylesheets/archetype/styleguide/components/_pullquotes.scss +29 -0
- data/stylesheets/archetype/styleguide/components/_punchcut.scss +18 -0
- data/stylesheets/archetype/styleguide/components/_tooltips.scss +28 -0
- data/stylesheets/archetype/styleguide/primitives/_animations.scss +17 -0
- data/stylesheets/archetype/styleguide/primitives/_dimensions.scss +50 -0
- data/stylesheets/archetype/styleguide/primitives/_glyphs.scss +11 -0
- data/stylesheets/archetype/styleguide/primitives/_misc.scss +8 -0
- data/stylesheets/archetype/styleguide/primitives/_palettes.scss +94 -0
- data/stylesheets/archetype/styleguide/primitives/_shadows.scss +23 -0
- data/stylesheets/archetype/styleguide/primitives/_sprites.scss +46 -0
- data/stylesheets/archetype/styleguide/primitives/_textures.scss +10 -0
- data/stylesheets/archetype/styleguide/primitives/_typography.scss +56 -0
- data/stylesheets/archetype/util/_debug.scss +40 -0
- data/stylesheets/archetype/util/_lists.scss +57 -0
- data/stylesheets/archetype/util/_misc.scss +108 -0
- data/stylesheets/archetype/util/_rtl.scss +279 -0
- data/stylesheets/archetype/util/_spacing.scss +78 -0
- data/stylesheets/archetype/util/_styles.scss +466 -0
- data/stylesheets/archetype/util/_targeting.scss +210 -0
- data/stylesheets/archetype/util/_units.scss +18 -0
- data/templates/example/index.html +40 -0
- data/templates/example/manifest.rb +13 -0
- data/templates/example/screen.scss +99 -0
- data/templates/example/vendor/archetype/animations/loaders/large/large.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/large/large_static.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/medium/medium.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/small/small.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
- data/templates/example/vendor/archetype/animations/loaders/small/small_static.png +0 -0
- data/templates/example/vendor/archetype/fontawesome-webfont.eot +0 -0
- data/templates/example/vendor/archetype/fontawesome-webfont.svg +255 -0
- data/templates/example/vendor/archetype/fontawesome-webfont.ttf +0 -0
- data/templates/example/vendor/archetype/fontawesome-webfont.woff +0 -0
- data/templates/project/manifest.rb +9 -0
- data/templates/project/screen.scss +1 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/large/large_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
- data/templates/project/vendor/archetype/animations/loaders/small/small_static.png +0 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.eot +0 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.svg +255 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.ttf +0 -0
- data/templates/project/vendor/archetype/fontawesome-webfont.woff +0 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.eot +0 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.svg +255 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/test/fixtures/stylesheets/archetype/assets/fonts/fontawesome-webfont.woff +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_dark.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_dark_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/large/large_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_dark.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_dark_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/medium/medium_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_dark.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_dark_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders/small/small_static.png +0 -0
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/sprites/hovercard_tip.png +0 -0
- data/test/fixtures/stylesheets/archetype/config.rb +19 -0
- data/test/fixtures/stylesheets/archetype/expected/b.css +14 -0
- data/test/fixtures/stylesheets/archetype/expected/base.css +349 -0
- data/test/fixtures/stylesheets/archetype/expected/hacks/ie_pseudo.css +11 -0
- data/test/fixtures/stylesheets/archetype/expected/locale.css +23 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/buttons.css +2091 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/fallback_styles.css +9 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/nested_styleguides.css +24 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/selective_state.css +174 -0
- data/test/fixtures/stylesheets/archetype/expected/ui/glyph_icon.css +37 -0
- data/test/fixtures/stylesheets/archetype/expected/ui/hide_element.css +8 -0
- data/test/fixtures/stylesheets/archetype/expected/ui/stroke.css +17 -0
- data/test/fixtures/stylesheets/archetype/expected/ui/triangle.css +35 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/associative.css +9 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/if-set.css +9 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/spacing/horizontal-spacing.css +29 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/spacing/vertical-spacing.css +29 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/styles/filter.css +11 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/styles/font-family.css +16 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/styles/z-index.css +15 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/targeting/target-browser.css +100 -0
- data/test/fixtures/stylesheets/archetype/expected/utilities/targeting/target-os.css +55 -0
- data/test/fixtures/stylesheets/archetype/source/b.scss +9 -0
- data/test/fixtures/stylesheets/archetype/source/base.scss +3 -0
- data/test/fixtures/stylesheets/archetype/source/hacks/ie_pseudo.scss +13 -0
- data/test/fixtures/stylesheets/archetype/source/locale.scss +43 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +18 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +22 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +40 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +22 -0
- data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +13 -0
- data/test/fixtures/stylesheets/archetype/source/ui/hide_element.scss +5 -0
- data/test/fixtures/stylesheets/archetype/source/ui/stroke.scss +13 -0
- data/test/fixtures/stylesheets/archetype/source/ui/triangle.scss +13 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/associative.scss +24 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/if-set.scss +16 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/spacing/horizontal-spacing.scss +27 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/spacing/vertical-spacing.scss +27 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/styles/filter.scss +9 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/styles/font-family.scss +9 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/styles/z-index.scss +18 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +70 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-os.scss +42 -0
- data/test/helpers/diff.rb +49 -0
- data/test/helpers/io.rb +36 -0
- data/test/helpers/test_case.rb +62 -0
- data/test/integrations/archetype_test.rb +126 -0
- data/test/test_helper.rb +26 -0
- data/test/units/sass_extensions_test.rb +207 -0
- metadata +303 -15
@@ -0,0 +1,25 @@
|
|
1
|
+
// import components
|
2
|
+
@import "components/alerts";
|
3
|
+
@import "components/annotations";
|
4
|
+
@import "components/bristol";
|
5
|
+
@import "components/button_groups";
|
6
|
+
@import "components/button_toolbars";
|
7
|
+
@import "components/buttons";
|
8
|
+
@import "components/canvas";
|
9
|
+
@import "components/carets";
|
10
|
+
@import "components/closes";
|
11
|
+
@import "components/container";
|
12
|
+
@import "components/copy";
|
13
|
+
@import "components/flyouts";
|
14
|
+
@import "components/headings";
|
15
|
+
@import "components/headlines";
|
16
|
+
@import "components/hovercards";
|
17
|
+
@import "components/icons";
|
18
|
+
@import "components/identities";
|
19
|
+
@import "components/links";
|
20
|
+
@import "components/loaders";
|
21
|
+
@import "components/menu_items";
|
22
|
+
@import "components/module";
|
23
|
+
@import "components/pullquotes";
|
24
|
+
@import "components/punchcut";
|
25
|
+
@import "components/tooltips";
|
@@ -0,0 +1,215 @@
|
|
1
|
+
// @category styleguide
|
2
|
+
|
3
|
+
// helper function to get the height of a button
|
4
|
+
// @function _styleguideGetButtonHeight
|
5
|
+
// @private
|
6
|
+
// @param $size {String} the size of the button to calculate
|
7
|
+
// @return {Number} the height of the button
|
8
|
+
@function _styleguideGetButtonHeight($size: medium) {
|
9
|
+
@if type-of($size) != list {
|
10
|
+
$sizes: (
|
11
|
+
(small, $CONFIG_FONT_BUTTON_SMALL),
|
12
|
+
(medium, $CONFIG_FONT_BUTTON_MEDIUM),
|
13
|
+
(large, $CONFIG_FONT_BUTTON_LARGE)
|
14
|
+
);
|
15
|
+
$size: associative($sizes, $size);
|
16
|
+
}
|
17
|
+
// font size + top/bottom padding
|
18
|
+
@return nth($size, 1) + (2 * nth($size, 2));
|
19
|
+
}
|
20
|
+
|
21
|
+
// helper function to get the padding of a button
|
22
|
+
// @function _styleguideGetButtonPadding
|
23
|
+
// @private
|
24
|
+
// @param $size {String} the size of the button to calculate
|
25
|
+
// @param $narrow {Bool} is the button narrow or not
|
26
|
+
// @return {Number} the padding on the button
|
27
|
+
@function _styleguideGetButtonPadding($size: medium, $narrow: false) {
|
28
|
+
@if type-of($size) != list {
|
29
|
+
$sizes: (
|
30
|
+
(small, $CONFIG_FONT_BUTTON_SMALL),
|
31
|
+
(medium, $CONFIG_FONT_BUTTON_MEDIUM),
|
32
|
+
(large, $CONFIG_FONT_BUTTON_LARGE)
|
33
|
+
);
|
34
|
+
$size: nth(associative($sizes, $size), 3);
|
35
|
+
}
|
36
|
+
$size: floor(if($narrow, $size * 0.75, $size));
|
37
|
+
@return (0 $size);
|
38
|
+
}
|
39
|
+
|
40
|
+
// helper function to get the size of the caret
|
41
|
+
// @function _styleguideCaretSize
|
42
|
+
// @private
|
43
|
+
// @param $size {String} the size of the caret to calculate
|
44
|
+
// @param $direction {String} the direction the caret is facing [up|down]
|
45
|
+
// @return {List} the border widths needed to generate the caret
|
46
|
+
@function _styleguideCaretSize($size: medium, $direction: south) {
|
47
|
+
@if type-of($size) != number {
|
48
|
+
$size: associative((
|
49
|
+
(small $CONFIG_FONT_CARET_SMALL),
|
50
|
+
(medium $CONFIG_FONT_CARET_MEDIUM),
|
51
|
+
(large $CONFIG_FONT_CARET_LARGE),
|
52
|
+
(tooltip $CONFIG_DIM_TOOLTIP_TIP)
|
53
|
+
), $size);
|
54
|
+
}
|
55
|
+
@return associative((
|
56
|
+
(default ($size $size 0)),
|
57
|
+
(north (0 $size $size)),
|
58
|
+
(east ($size 0 $size $size)),
|
59
|
+
(west ($size $size $size 0))
|
60
|
+
), $direction);
|
61
|
+
}
|
62
|
+
|
63
|
+
// helper function to get the alert icon offset
|
64
|
+
// @function _styleguideGetAlertGlyphOffset
|
65
|
+
// @private
|
66
|
+
// @param $type {List} the glpyh data
|
67
|
+
// @return {List} the top and left offsets for the glyph
|
68
|
+
@function _styleguideGetAlertGlyphOffset($type: $CONFIG_GLYPH_ALERT_NOTIFY) {
|
69
|
+
$top: (nth-cyclic($CONFIG_DIM_ALERTS_SPACING, 1) + nth-cyclic($CONFIG_DIM_ALERTS_SPACING, 3) + nth-cyclic($CONFIG_FONT_NOTICE, 2) - nth($type, 4)) / 2;
|
70
|
+
$left: ((nth-cyclic($CONFIG_DIM_ALERTS_SPACING, 4) - nth($type, 4))/2);
|
71
|
+
@return ($top $left);
|
72
|
+
}
|
73
|
+
|
74
|
+
// helper function to extract the glyhp styles for an alert icon
|
75
|
+
// @function _styleguideGetAlertGlyph
|
76
|
+
// @private
|
77
|
+
// @param $type {List} the glpyh data
|
78
|
+
// @return {List} the parameters needed for glyph-icon()
|
79
|
+
@function _styleguideGetAlertGlyph($type: $CONFIG_GLYPH_ALERT_NOTIFY) {
|
80
|
+
$offset: _styleguideGetAlertGlyphOffset($type);
|
81
|
+
$top: nth($offset, 1);
|
82
|
+
$left: nth($offset, 2);
|
83
|
+
@return (nth($type, 1), nth($type, 2), nth($type, 3), before, 'position:absolute;line-height:1;top:#{$top};left:#{$left};')
|
84
|
+
}
|
85
|
+
|
86
|
+
|
87
|
+
// helper function to return the list of shadows for the alert
|
88
|
+
// alerts have two shadows, one thats shared and ones that unique
|
89
|
+
// @function _styleguideGetAlertShadow
|
90
|
+
// @private
|
91
|
+
// @param $type {String} the type of alert [success|notice|yield|error]
|
92
|
+
// @return {List} the shadows on the alert
|
93
|
+
@function _styleguideGetAlertShadow($type: notice) {
|
94
|
+
$color: $type;
|
95
|
+
@if type-of($type) == string {
|
96
|
+
$color: associative((
|
97
|
+
(notice $CONFIG_COLOR_BORDER_ALERT_NOTIFY),
|
98
|
+
(success $CONFIG_COLOR_BORDER_ALERT_SUCCESS),
|
99
|
+
(error $CONFIG_COLOR_BORDER_ALERT_ERROR),
|
100
|
+
(yield $CONFIG_COLOR_BORDER_ALERT_YIELD)
|
101
|
+
), $type);
|
102
|
+
}
|
103
|
+
@if($color != nil and $CONFIG_DIM_GENERIC_BORDER != nil) {
|
104
|
+
@return ((0 0 0 $CONFIG_DIM_GENERIC_BORDER $color), $CONFIG_SHADOW_ALERT);
|
105
|
+
}
|
106
|
+
@else {
|
107
|
+
@return $CONFIG_SHADOW_ALERT;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
// helper function to get the color of a context
|
112
|
+
// @function _styleguideGetContextColor
|
113
|
+
// @private
|
114
|
+
// @param $texture {List|String} a list or string for a background texture
|
115
|
+
// @return {Color} the color in the list
|
116
|
+
@function _styleguideGetContextColor($texture: $CONFIG_TEXTURE_CONTAINER) {
|
117
|
+
$texture: -compass-list(first-value-of($texture)); // cast a string into a list
|
118
|
+
@return first-value-of($texture); // pull off the first value in the string/list
|
119
|
+
}
|
120
|
+
|
121
|
+
// helper function to get background position for the tooltip sprite
|
122
|
+
// @function _styleguideGetTooltipTipBG
|
123
|
+
// @private
|
124
|
+
// @param $direction {String} the direction the tip is pointing [north|south|east|west]
|
125
|
+
// @param $type {String} the type of the tip [hovercard]
|
126
|
+
// @return {List} the background position offsets
|
127
|
+
@function _styleguideGetTooltipTipBG($direction: south, $type: hovercard) {
|
128
|
+
$dim: $type;
|
129
|
+
@if type-of($type) == string {
|
130
|
+
$dim: associative((
|
131
|
+
hovercard $CONFIG_DIM_HOVERCARD_TIP,
|
132
|
+
nil
|
133
|
+
), $type);
|
134
|
+
}
|
135
|
+
$a: nth($dim, 1);
|
136
|
+
$b: nth-cyclic($dim, 2);
|
137
|
+
// TODO - RTL support
|
138
|
+
@return associative((
|
139
|
+
north (-$b 0),
|
140
|
+
south ((-$b) (-($a+$b))),
|
141
|
+
east ((-($a+$b)) (-$b)),
|
142
|
+
west (0 (-$b))
|
143
|
+
), $direction);
|
144
|
+
}
|
145
|
+
|
146
|
+
// helper function to get the position of the loading spinner
|
147
|
+
// @function _styleguideGetLoaderPosition
|
148
|
+
// @private
|
149
|
+
// @param $size {String} the size of the loading spinner e.g. [small|medium|large]
|
150
|
+
// @param $type {String} the type of the loading spinner e.g. [static|dynamic]
|
151
|
+
// @param $context {Number} the index for the context type
|
152
|
+
// @return {List} background position of the image or nil
|
153
|
+
@function _styleguideGetLoaderPosition($size: medium, $type: static, $context: 1) {
|
154
|
+
$img: nth-cyclic(associative(associative($CONFIG_LOADERS, $size), $type), $context);
|
155
|
+
@return styleguide-sprite-position($CONFIG_SPRITE_LOADERS, $img);
|
156
|
+
}
|
157
|
+
|
158
|
+
// helper function to get the dimensions of the loading spinner
|
159
|
+
// @function _styleguideGetLoaderDimension
|
160
|
+
// @private
|
161
|
+
// @param $size {String} the size of the loading spinner e.g. [small|medium|large]
|
162
|
+
// @param $type {String} the type of the loading spinner e.g. [static|dynamic]
|
163
|
+
// @param $dim {String} the dimension to return [width|height]
|
164
|
+
// @param $context {Number} the index for the context type
|
165
|
+
// @return {Number} the width/height of the loading spinner
|
166
|
+
@function _styleguideGetLoaderDimension($size: medium, $type: static, $dim: width, $context: 1) {
|
167
|
+
$img: nth-cyclic(associative(associative($CONFIG_LOADERS, $size), $type), $context);
|
168
|
+
$sprite-file: styleguide-sprite-file($CONFIG_SPRITE_LOADERS, $img);
|
169
|
+
@if $dim == width {
|
170
|
+
@return styleguide-image-width($sprite-file);
|
171
|
+
}
|
172
|
+
@else {
|
173
|
+
@return styleguide-image-height($sprite-file);
|
174
|
+
}
|
175
|
+
@return 0;
|
176
|
+
}
|
177
|
+
|
178
|
+
// helper function to get the animation routine of the loading spinner
|
179
|
+
// @function _styleguideGetLoaderAnimation
|
180
|
+
// @private
|
181
|
+
// @param $size {String} the size of the loading spinner e.g. [small|medium|large]
|
182
|
+
// @param $context {Number} the index for the context type
|
183
|
+
// @return {String} the animation value
|
184
|
+
@function _styleguideGetLoaderAnimation($size: medium, $context: 1) {
|
185
|
+
$values: associative($CONFIG_LOADERS, $size);
|
186
|
+
$anim: ($CONFIG_KEYFRAME_LOADERS);
|
187
|
+
$duration: nth-cyclic(associative($values, duration, $strict: true), $context);
|
188
|
+
$delay: nth-cyclic(associative($values, delay, $strict: true), $context);
|
189
|
+
$steps: nth-cyclic(associative($values, steps, $strict: true), $context);
|
190
|
+
$iterations: nth-cyclic(associative($values, iterations, $strict: true), $context);
|
191
|
+
@if $duration != nil { $anim: append($anim, $duration); }
|
192
|
+
@if $delay != nil { $anim: append($anim, $delay); }
|
193
|
+
@if $steps != nil { $anim: append($anim, steps($steps, end)); }
|
194
|
+
@if $iterations != nil { $anim: append($anim, $iterations); }
|
195
|
+
$position-keyframe-name: #{$CONFIG_KEYFRAME_LOADERS}-position-#{$size}-#{$context};
|
196
|
+
$anim: unquote("#{$anim}, #{$position-keyframe-name} 0.1ms step-end infinite");
|
197
|
+
@return $anim;
|
198
|
+
}
|
199
|
+
|
200
|
+
// helper function to get the CSS expression of the loading spinner (for IE6/7 support)
|
201
|
+
// @function _styleguideGetLoaderExpression
|
202
|
+
// @private
|
203
|
+
// @param $size {String} the size of the loading spinner e.g. [small|medium|large]
|
204
|
+
// @param $context {Number} the index for the context type
|
205
|
+
// @return {String} the CSS expression styles
|
206
|
+
@function _styleguideGetLoaderExpression($size: medium, $context: 1) {
|
207
|
+
$img: nth-cyclic(associative(associative($CONFIG_LOADERS, $size), static), $context);
|
208
|
+
$bg: styleguide-sprite($CONFIG_SPRITE_LOADERS, $img) no-repeat;
|
209
|
+
$bg: if($bg == nil, none, $bg);
|
210
|
+
$width: _styleguideGetLoaderDimension($size, static, width, $context);
|
211
|
+
$height: _styleguideGetLoaderDimension($size, static, height, $context);
|
212
|
+
$margin-top: $height / -2;
|
213
|
+
$margin-left: $width / -2;
|
214
|
+
@return ("position:absolute;top:50%;left:50%;background:#{$bg};width:#{$width};height:#{$height};margin-left:#{$margin-left};margin-top:#{$margin-top};", false, loader);
|
215
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
// manifest for primitives
|
2
|
+
@import "primitives/animations";
|
3
|
+
@import "primitives/palettes";
|
4
|
+
@import "primitives/textures";
|
5
|
+
@import "primitives/typography";
|
6
|
+
@import "primitives/dimensions";
|
7
|
+
@import "primitives/sprites";
|
8
|
+
@import "primitives/glyphs";
|
9
|
+
@import "primitives/shadows";
|
10
|
+
@import "primitives/misc";
|
@@ -0,0 +1,41 @@
|
|
1
|
+
// styleguide
|
2
|
+
// @category styleguide
|
3
|
+
|
4
|
+
// interface for the styleguide references
|
5
|
+
// @mixin styleguide
|
6
|
+
// @param $is ... $is-10 {List} a descriptive definition of the element, must contain an ID and optionally any modifiers e.g. `large primary button`
|
7
|
+
// @param $exclude {List} a list of styles to exclude from output
|
8
|
+
// @param $state {String} a specific state to output
|
9
|
+
// @param $theme {String} the theme name
|
10
|
+
@mixin styleguide($is: (), $is-2: false, $is-3: false, $is-4: false, $is-5: false, $is-6: false, $is-7: false, $is-8: false, $is-9: false, $is-10: false, $exclude: (), $state: false, $theme: $CONFIG_THEME) {
|
11
|
+
$definition: compact($is, $is-2, $is-3, $is-4, $is-5, $is-6, $is-7, $is-8, $is-9, $is-10);
|
12
|
+
@if length($definition) > 0 {
|
13
|
+
$styles: styleguide($definition, $state, $theme);
|
14
|
+
// output a debug message
|
15
|
+
@include debug-message("[archetype:styleguide:begin] --- #{$definition} ---");
|
16
|
+
// generate actual styles
|
17
|
+
@include to-styles($styles, $exclude: $exclude);
|
18
|
+
// more debugging
|
19
|
+
@include debug-message("[archetype:styleguide:end] --- #{$definition} ---");
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
// output the difference between two styelguide invocations
|
24
|
+
// @mixin styleguide-diff
|
25
|
+
// @param $original {List} the original styleguide reference to compare to
|
26
|
+
// @param $other {List} the other styleguide reference
|
27
|
+
// @param $exclude {List} a list of styles to exclude from output
|
28
|
+
// @param $theme {String} the theme name
|
29
|
+
@mixin styleguide-diff($original, $other, $exclude: (), $theme: $CONFIG_THEME) {
|
30
|
+
$original: compact($original, nil);
|
31
|
+
$other: compact($other, nil);
|
32
|
+
$diff: styleguide-diff($original, $other, $theme);
|
33
|
+
@if length($diff) > 0 {
|
34
|
+
// output a debug message
|
35
|
+
@include debug-message("[archetype:styleguide:diff:begin] --- `#{$original}` vs `#{$other}` ---");
|
36
|
+
// generate actual styles
|
37
|
+
@include to-styles($diff, $exclude: $exclude);
|
38
|
+
// more debugging
|
39
|
+
@include debug-message("[archetype:styleguide:diff:end] --- `#{$original}` vs `#{$other}` ---");
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
// ==========
|
2
|
+
// ALERTS
|
3
|
+
// ==========
|
4
|
+
$STYLEGUIDE_ALERTS_ID: alert !default;
|
5
|
+
$STYLEGUIDE_ALERTS: () !default;
|
6
|
+
|
7
|
+
@if not styleguide-component-exists($STYLEGUIDE_ALERTS_ID, $CONFIG_THEME) {
|
8
|
+
$a-blackhole: styleguide-add-component($STYLEGUIDE_ALERTS_ID, $STYLEGUIDE_ALERTS, (
|
9
|
+
(default, (
|
10
|
+
// fallback background
|
11
|
+
background-color $CONFIG_COLOR_BG_ALERT_NOTIFY,
|
12
|
+
background-repeat no-repeat,
|
13
|
+
// gradient background
|
14
|
+
background $CONFIG_GRADIENT_ALERT_NOTIFY,
|
15
|
+
box-shadow _styleguideGetAlertShadow(notice),
|
16
|
+
// common
|
17
|
+
overflow hidden,
|
18
|
+
display block,
|
19
|
+
color nth-cyclic($CONFIG_COLOR_COPY, 2),
|
20
|
+
font-size nth($CONFIG_FONT_NOTICE, 1),
|
21
|
+
line-height nth-cyclic($CONFIG_FONT_NOTICE, 2),
|
22
|
+
position relative,
|
23
|
+
padding $CONFIG_DIM_ALERTS_SPACING,
|
24
|
+
glyph-icon _styleguideGetAlertGlyph($CONFIG_GLYPH_ALERT_NOTIFY),
|
25
|
+
(selectors, (
|
26
|
+
('&:before', (
|
27
|
+
position absolute,
|
28
|
+
top nth(_styleguideGetAlertGlyphOffset($CONFIG_GLYPH_ALERT_NOTIFY), 1),
|
29
|
+
left nth(_styleguideGetAlertGlyphOffset($CONFIG_GLYPH_ALERT_NOTIFY), 2),
|
30
|
+
line-height 1
|
31
|
+
)),
|
32
|
+
nil
|
33
|
+
)),
|
34
|
+
nil
|
35
|
+
)),
|
36
|
+
(notice, (
|
37
|
+
// notice - default
|
38
|
+
nil
|
39
|
+
)),
|
40
|
+
(success, (
|
41
|
+
background-color $CONFIG_COLOR_BG_ALERT_SUCCESS,
|
42
|
+
background $CONFIG_GRADIENT_ALERT_SUCCESS,
|
43
|
+
glyph-icon _styleguideGetAlertGlyph($CONFIG_GLYPH_ALERT_SUCCESS),
|
44
|
+
box-shadow _styleguideGetAlertShadow(success)
|
45
|
+
)),
|
46
|
+
(error, (
|
47
|
+
background-color $CONFIG_COLOR_BG_ALERT_ERROR,
|
48
|
+
background $CONFIG_GRADIENT_ALERT_ERROR,
|
49
|
+
glyph-icon _styleguideGetAlertGlyph($CONFIG_GLYPH_ALERT_ERROR),
|
50
|
+
box-shadow _styleguideGetAlertShadow(error)
|
51
|
+
)),
|
52
|
+
(yield, (
|
53
|
+
background-color $CONFIG_COLOR_BG_ALERT_YIELD,
|
54
|
+
background $CONFIG_GRADIENT_ALERT_YIELD,
|
55
|
+
glyph-icon _styleguideGetAlertGlyph($CONFIG_GLYPH_ALERT_YIELD),
|
56
|
+
box-shadow _styleguideGetAlertShadow(yield)
|
57
|
+
))
|
58
|
+
), $CONFIG_THEME);
|
59
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
// ==========
|
2
|
+
// ANNOTATIONS
|
3
|
+
// ==========
|
4
|
+
$STYLEGUIDE_ANNOTATIONS_ID: annotation !default;
|
5
|
+
$STYLEGUIDE_ANNOTATIONS: () !default;
|
6
|
+
|
7
|
+
@if not styleguide-component-exists($STYLEGUIDE_ANNOTATIONS_ID, $CONFIG_THEME) {
|
8
|
+
$a-blackhole: styleguide-add-component($STYLEGUIDE_ANNOTATIONS_ID, $STYLEGUIDE_ANNOTATIONS, (
|
9
|
+
(default, (
|
10
|
+
font-size nth($CONFIG_FONT_ANNOTATION_MEDIUM, 1),
|
11
|
+
line-height nth-cyclic($CONFIG_FONT_ANNOTATION_MEDIUM, 2),
|
12
|
+
color nth($CONFIG_COLOR_ANNOTATION, 1)
|
13
|
+
)),
|
14
|
+
(in-dark, (
|
15
|
+
color nth-cyclic($CONFIG_COLOR_ANNOTATION, 2),
|
16
|
+
text-shadow (1px 1px 1px rgba(0, 0, 0, .75))
|
17
|
+
)),
|
18
|
+
(in-tooltip, (
|
19
|
+
inherit (in-dark),
|
20
|
+
nil
|
21
|
+
)),
|
22
|
+
(in-punchcut, (
|
23
|
+
inherit (in-dark),
|
24
|
+
nil
|
25
|
+
))
|
26
|
+
), $CONFIG_THEME);
|
27
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// ==========
|
2
|
+
// BRISTOL
|
3
|
+
// ==========
|
4
|
+
$STYLEGUIDE_BRISTOLS_ID: bristol !default;
|
5
|
+
$STYLEGUIDE_BRISTOLS: () !default;
|
6
|
+
|
7
|
+
@if not styleguide-component-exists($STYLEGUIDE_BRISTOLS_ID, $CONFIG_THEME) {
|
8
|
+
$a-blackhole: styleguide-add-component($STYLEGUIDE_BRISTOLS_ID, $STYLEGUIDE_BRISTOLS, (
|
9
|
+
(default, (
|
10
|
+
background nth($CONFIG_TEXTURE_BRISTOL, 1),
|
11
|
+
nil
|
12
|
+
)),
|
13
|
+
nil
|
14
|
+
), $CONFIG_THEME);
|
15
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
// ==========
|
2
|
+
// BUTTON GROUPS
|
3
|
+
// ==========
|
4
|
+
$STYLEGUIDE_BUTTON_GROUPS_ID: button-group !default;
|
5
|
+
$STYLEGUIDE_BUTTON_GROUPS: () !default;
|
6
|
+
|
7
|
+
@if not styleguide-component-exists($STYLEGUIDE_BUTTON_GROUPS_ID, $CONFIG_THEME) {
|
8
|
+
$a-blackhole: styleguide-add-component($STYLEGUIDE_BUTTON_GROUPS_ID, $STYLEGUIDE_BUTTON_GROUPS, (
|
9
|
+
(default, (
|
10
|
+
line-height 1,
|
11
|
+
inline-block true, // this will use the inline-block() mixin
|
12
|
+
vertical-align middle,
|
13
|
+
clearfix legacy-pie-clearfix,
|
14
|
+
position relative,
|
15
|
+
nil
|
16
|
+
)),
|
17
|
+
// BUTTON TOOLBARS
|
18
|
+
(in-button-toolbar, (
|
19
|
+
margin-right $CONFIG_DIM_BUTTON_SPACING_OUTER,
|
20
|
+
float left,
|
21
|
+
display block,
|
22
|
+
inline-block nil
|
23
|
+
)),
|
24
|
+
(small in-button-toolbar, (
|
25
|
+
margin-right $CONFIG_DIM_BUTTON_SPACING_OUTER_NARROW,
|
26
|
+
nil
|
27
|
+
)),
|
28
|
+
(last in-button-toolbar, (
|
29
|
+
margin-right nil,
|
30
|
+
nil
|
31
|
+
)),
|
32
|
+
(right aligned in-button-toolbar, (
|
33
|
+
float right,
|
34
|
+
margin-right nil,
|
35
|
+
margin-left $CONFIG_DIM_BUTTON_SPACING_OUTER
|
36
|
+
)),
|
37
|
+
(right aligned small in-button-toolbar, (
|
38
|
+
margin-left $CONFIG_DIM_BUTTON_SPACING_OUTER_NARROW,
|
39
|
+
nil
|
40
|
+
)),
|
41
|
+
(right aligned last in-button-toolbar, (
|
42
|
+
margin-left nil,
|
43
|
+
nil
|
44
|
+
)),
|
45
|
+
nil
|
46
|
+
), $CONFIG_THEME);
|
47
|
+
}
|