shipyard-framework 0.2.2

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.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +52 -0
  8. data/Rakefile +6 -0
  9. data/app/views/shipyard/_alerts.slim +3 -0
  10. data/assets/icons/arrows/arrow-down.svg +3 -0
  11. data/assets/icons/gear.svg +3 -0
  12. data/assets/icons/plus.svg +3 -0
  13. data/assets/icons/x.svg +4 -0
  14. data/assets/javascripts/shipyard/alert.es6 +19 -0
  15. data/assets/javascripts/shipyard/core.es6 +3 -0
  16. data/assets/javascripts/shipyard/icon.es6 +50 -0
  17. data/assets/javascripts/shipyard.es6 +6 -0
  18. data/assets/stylesheets/_shipyard.sass +3 -0
  19. data/assets/stylesheets/shipyard/_components.sass +5 -0
  20. data/assets/stylesheets/shipyard/_core.sass +12 -0
  21. data/assets/stylesheets/shipyard/_utilities.sass +5 -0
  22. data/assets/stylesheets/shipyard/components/_alerts.sass +64 -0
  23. data/assets/stylesheets/shipyard/components/_boxes.sass +37 -0
  24. data/assets/stylesheets/shipyard/components/_buttons.sass +107 -0
  25. data/assets/stylesheets/shipyard/components/_empty.sass +15 -0
  26. data/assets/stylesheets/shipyard/components/_forms.sass +128 -0
  27. data/assets/stylesheets/shipyard/components/_icons.sass +54 -0
  28. data/assets/stylesheets/shipyard/components/_modals.sass +29 -0
  29. data/assets/stylesheets/shipyard/functions/_color.sass +9 -0
  30. data/assets/stylesheets/shipyard/mixins/_box-model.sass +6 -0
  31. data/assets/stylesheets/shipyard/mixins/_components.sass +82 -0
  32. data/assets/stylesheets/shipyard/mixins/_positioning.sass +12 -0
  33. data/assets/stylesheets/shipyard/mixins/_prefixed.sass +19 -0
  34. data/assets/stylesheets/shipyard/mixins/_responsive.sass +112 -0
  35. data/assets/stylesheets/shipyard/mixins/_selectors.sass +11 -0
  36. data/assets/stylesheets/shipyard/utilities/_animations.sass +11 -0
  37. data/assets/stylesheets/shipyard/utilities/_grid.sass +75 -0
  38. data/assets/stylesheets/shipyard/utilities/_positioning.sass +17 -0
  39. data/assets/stylesheets/shipyard/utilities/_reset.sass +11 -0
  40. data/assets/stylesheets/shipyard/utilities/_type.sass +161 -0
  41. data/assets/stylesheets/shipyard/variables/_color_utilities.sass +68 -0
  42. data/assets/stylesheets/shipyard/variables/_colors.scss +11 -0
  43. data/assets/stylesheets/shipyard/variables/_grid.scss +2 -0
  44. data/assets/stylesheets/shipyard/variables/_misc.scss +11 -0
  45. data/assets/stylesheets/shipyard/variables/_typography.scss +29 -0
  46. data/lib/shipyard/icons.rb +89 -0
  47. data/lib/shipyard/rails/alert_helper.rb +45 -0
  48. data/lib/shipyard/rails/button_helper.rb +37 -0
  49. data/lib/shipyard/rails/engine.rb +11 -0
  50. data/lib/shipyard/rails/icon_helper.rb +50 -0
  51. data/lib/shipyard/rails/layout_helpers.rb +34 -0
  52. data/lib/shipyard/rails/railtie.rb +24 -0
  53. data/lib/shipyard/version.rb +3 -0
  54. data/lib/shipyard.rb +65 -0
  55. data/shipyard.gemspec +27 -0
  56. metadata +181 -0
@@ -0,0 +1,54 @@
1
+ svg, path, circle, polyline
2
+ transition: fill 300ms ease, stroke 300ms ease, opacity 300ms ease
3
+
4
+ +component('icon')
5
+ fill: $gray
6
+ display: inline-block
7
+ transition: fill 300ms ease, stroke 300ms ease, opacity 300ms ease
8
+ overflow: visible
9
+ transform-origin: center center
10
+
11
+ // Icons w/ Strokes
12
+ &-outline
13
+ stroke: $gray
14
+ &, &-inverse
15
+ fill: transparent
16
+ stroke-width: 2px
17
+ stroke-linecap: round
18
+ stroke-linejoin: round
19
+ &-inverse
20
+ stroke: #fff !important
21
+
22
+ &-arrow-down
23
+ @extend .icon-outline
24
+ +width-height(10px, 6px)
25
+
26
+ &-plus
27
+ @extend .icon-outline
28
+ +width-height(6px, 6px)
29
+
30
+ // Icon: Sizes
31
+ $sizes: (xs: 8px, sm: 16px, md: 24px, lg: 32px, xl: 44px)
32
+ +all-media-sizes
33
+ @each $size, $value in $sizes
34
+ &-#{$size}
35
+ +width-height($value, $value)
36
+
37
+ &-btn
38
+ position: relative
39
+ display: inline-block
40
+ border: 2px solid $gray
41
+ border-radius: 50%
42
+ text-align: center
43
+ transition: border-color 300ms ease
44
+ @each $size, $value in (xs: 16px, sm: 24px, md: 32px, lg: 40px, xl: 48px)
45
+ &-#{$size}
46
+ +width-height($value, $value)
47
+ a:hover &
48
+ border-color: darken($gray, 12%)
49
+
50
+ &-inverse
51
+ border-color: #fff !important
52
+
53
+ &-inverse
54
+ fill: #fff
@@ -0,0 +1,29 @@
1
+ +component('modal')
2
+ width: 100%
3
+ max-width: 800px
4
+ padding: 10px
5
+
6
+ &-container
7
+ position: fixed
8
+ top: 0
9
+ right: 0
10
+ bottom: 0
11
+ left: 0
12
+ background: rgba($gray-darkest,.9)
13
+ z-index: 200
14
+
15
+ &-content
16
+ background: #fff
17
+ border-radius: 5px 5px 0 0
18
+ +respond-to(padding, (x0: 20px, x2: 30px))
19
+
20
+ &-title
21
+ margin: 0 0 10px
22
+
23
+ &-description
24
+ margin: 0
25
+
26
+ &-ctas
27
+ background: $gray-lightest
28
+ border-radius: 0 0 5px 5px
29
+ +respond-to(padding, (x0: 10px 15px, x1: 15px, x2: 15px 25px))
@@ -0,0 +1,9 @@
1
+ @function color($name, $shade: null)
2
+ $color: map-get($colors, $name)
3
+ @if $color
4
+ @if $shade
5
+ @return map-get(map-get($colors, $name), $shade)
6
+ @else
7
+ @return map-get(map-get($colors, $name), base)
8
+ @else
9
+ @warn "Sorry, but the color `#{$name}` hasn't been defined in the $colors variable."
@@ -0,0 +1,6 @@
1
+ @mixin width-height($width, $height: null)
2
+ width: $width
3
+ height: if($height, $height, $width)
4
+
5
+ @mixin border-radius($radius: $border-radius)
6
+ border-radius: $radius
@@ -0,0 +1,82 @@
1
+ // Used to define the base component class (e.g. "alert") and save it for use later.
2
+ @mixin component($name)
3
+ $component: $name !global
4
+ .#{$name}
5
+ @content
6
+
7
+ @mixin sub-component($name)
8
+ $sub-component: "#{$component}-#{$name}" !global
9
+ &-#{$name}
10
+ @content
11
+
12
+ @mixin extend($modifier: null)
13
+ @if $modifier
14
+ @extend .#{$component}-#{$modifier}
15
+ @else
16
+ @extend .#{$component}
17
+
18
+ @mixin z-index($value: null)
19
+ @if $value
20
+ z-index: $value
21
+ @else if $component && map-get($z-index, $component)
22
+ z-index: map-get($z-index, $component)
23
+
24
+ // Uses the base component class defined earlier (e.g. "alert").
25
+ //
26
+ // Notes:
27
+ // - This mixin only works in tandem with the +component mixin, which must be used first.
28
+ // - Makes defining styles for states more readable (see example below):
29
+ //
30
+ // Example Usage:
31
+ //
32
+ // +component('alert')
33
+ // &-title
34
+ // +when('success')
35
+ // color: green
36
+ // +when('error')
37
+ // color: red
38
+ // +when('warning')
39
+ // color: yellow
40
+ // +when('info, default')
41
+ // color: gray
42
+ // +when('celebrate', $not: 'success')
43
+ // color: purple
44
+ //
45
+ // The above code outputs to:
46
+ //
47
+ // .alert-success .alert-title { color: green }
48
+ // .alert-error .alert-title { color: red }
49
+ // .alert-warning .alert-title { color: yellow }
50
+ // .alert-info .alert-title,
51
+ // .alert-default .alert-title { color: gray }
52
+ // .alert-celebrate:not(.alert-success) .alert-title { color: purple }
53
+ //
54
+ @mixin when($classes: null, $state: null, $not: null, $and: null)
55
+ +handle-states($component, $classes, $state, $not, $and)
56
+ @content
57
+
58
+ @mixin when-sub-state($class)
59
+ +prepend-to-root(".#{$component}-#{$class}")
60
+ @content
61
+
62
+ @mixin sub-state($classes: null, $state: null, $not: null, $and: null)
63
+ +handle-states($sub-component, $classes, $state, $not, $and)
64
+ @content
65
+
66
+ @mixin handle-states($component-name, $classes: null, $state: null, $not: null, $and: null)
67
+ @if $classes
68
+ $classes: selector-append(".#{$component-name}-", $classes)
69
+ @if $state
70
+ $classes: selector-append(".#{$component-name}", ":#{$state}")
71
+ @if $not
72
+ $not: selector-append(".#{$component-name}-", $not)
73
+ $classes: selector-append($classes, ":not(#{$not})")
74
+ @if $and
75
+ $and: selector-append(".#{$component-name}-", $and)
76
+ $classes: selector-append($classes, $and)
77
+ @at-root #{selector-nest($classes, &)}
78
+ @content
79
+
80
+ @mixin and($class)
81
+ @at-root #{selector-append(".#{$component}-#{$class}", &)}
82
+ @content
@@ -0,0 +1,12 @@
1
+ @mixin center($vertical: false, $horizontal: false)
2
+ position: absolute
3
+ @if $vertical
4
+ top: 50%
5
+ transform: translatey(-50%)
6
+ @else if $horizontal
7
+ left: 50%
8
+ transform: translatex(-50%)
9
+ @else
10
+ top: 50%
11
+ left: 50%
12
+ transform: translate(-50%, -50%)
@@ -0,0 +1,19 @@
1
+ @mixin rotate($deg)
2
+ -ms-transform: rotate($deg)
3
+ -moz-transform: rotate($deg)
4
+ -webkit-transform: rotate($deg)
5
+ transform: rotate($deg)
6
+
7
+ @mixin backdrop-filter($content)
8
+ backdrop-filter: $content
9
+ -webkit-backdrop-filter: $content
10
+
11
+ @mixin placeholder
12
+ &:-moz-placeholder
13
+ @content
14
+ &:-ms-input-placeholder
15
+ @content
16
+ &::-moz-placeholder
17
+ @content
18
+ &::-webkit-input-placeholder
19
+ @content
@@ -0,0 +1,112 @@
1
+ // --------------------------------------------------
2
+ // Responsive Mixins (Utilities)
3
+ // --------------------------------------------------
4
+ // Usage:
5
+ // +media(max-width $mobile-max) -> styles any screens *smaller* then $mobile-max
6
+ // +media(min-width $tablet-min) -> styles any screens *larger* then $tablet-min
7
+ // +media(max-width $tablet-max) -> styles any screens *smaller* then $tablet-max
8
+ // +media(min-width $desktop-min) -> styles any screens *larger* then $desktop-min
9
+ // +media(min-width 500px) -> styles any screens *larger* then 500px
10
+ // +media(max-width 500px) -> styles any screens *smaller* then 500px
11
+ // +media(min-height 500px) -> styles any screens *taller* then 500px
12
+ // +media(max-height 500px) -> styles any screens *shorter* then 500px
13
+ // +media(min-width $tablet-min max-width $tablet-max) -> styles any screens *between* $tablet-min and $tablet-max
14
+ // +media(min-width 500px max-width 1000px) -> styles any screens *between* 500px and 1000px wide
15
+ // +media(min-height 500px max-height 1000px) -> styles any screens *between* 500px and 1000px tall
16
+ @mixin media($args)
17
+ @if length($args) > 6
18
+ @media screen and (#{nth($args, 1)}: nth($args, 2)) and (#{nth($args, 3)}: nth($args, 4)), screen and (#{nth($args, 5)}: nth($args, 6)) and (#{nth($args, 7)}: nth($args, 8))
19
+ @content
20
+ @else if length($args) > 4
21
+ @media screen and (#{nth($args, 1)}: nth($args, 2)), screen and (#{nth($args, 3)}: nth($args, 4)) and (#{nth($args, 5)}: nth($args, 6))
22
+ @content
23
+ @else if length($args) > 2
24
+ @media screen and (#{nth($args, 1)}: nth($args, 2)) and (#{nth($args, 3)}: nth($args, 4))
25
+ @content
26
+ @else
27
+ @media screen and (#{nth($args, 1)}: nth($args, 2))
28
+ @content
29
+
30
+ @mixin all-media-sizes
31
+ @content
32
+ +media-sizes
33
+ @content
34
+
35
+ @mixin media-sizes
36
+ @each $breakpoint, $min-width in $breakpoints
37
+ &-#{$breakpoint}
38
+ +media(min-width $min-width)
39
+ @content
40
+
41
+ @mixin breakpoint-x0
42
+ +media(max-width map-get($breakpoints, x1) - 1)
43
+ @content
44
+
45
+ @mixin breakpoint-x1
46
+ +media(min-width map-get($breakpoints, x1))
47
+ @content
48
+
49
+ @mixin breakpoint-x2
50
+ +media(min-width map-get($breakpoints, x2))
51
+ @content
52
+
53
+ @mixin breakpoint-x3
54
+ +media(min-width map-get($breakpoints, x3))
55
+ @content
56
+
57
+ @mixin breakpoint-x4
58
+ +media(min-width map-get($breakpoints, x4))
59
+ @content
60
+
61
+ @mixin responsive-padding($properties: null, $divisor: 2)
62
+ transition: padding 500ms ease
63
+ @if $properties
64
+ @each $property in $properties
65
+ padding-#{$property}: map-get($margins, x0) / $divisor
66
+ +breakpoint-x1
67
+ @each $property in $properties
68
+ padding-#{$property}: map-get($margins, x1) / $divisor
69
+ +breakpoint-x2
70
+ @each $property in $properties
71
+ padding-#{$property}: map-get($margins, x2) / $divisor
72
+ @else
73
+ +respond-to(padding, (x0: map-get($margins, x0), x1: map-get($margins, x1), x2: map-get($margins, x2)))
74
+
75
+ @mixin responsive-margin($properties, $divisor: 2)
76
+ transition: margin 500ms ease
77
+ @each $property in $properties
78
+ margin-#{$property}: map-get($margins, x0) / $divisor
79
+ +breakpoint-x1
80
+ @each $property in $properties
81
+ margin-#{$property}: map-get($margins, x1) / $divisor
82
+ +breakpoint-x2
83
+ @each $property in $properties
84
+ margin-#{$property}: map-get($margins, x2) / $divisor
85
+
86
+ @mixin respond-to($property, $breakpoints)
87
+ @if map-has-key($breakpoints, x0)
88
+ #{$property}: map-get($breakpoints, x0)
89
+ @if map-has-key($breakpoints, x1)
90
+ +breakpoint-x1
91
+ #{$property}: map-get($breakpoints, x1)
92
+ @if map-has-key($breakpoints, x2)
93
+ +breakpoint-x2
94
+ #{$property}: map-get($breakpoints, x2)
95
+ @if map-has-key($breakpoints, x3)
96
+ +breakpoint-x3
97
+ #{$property}: map-get($breakpoints, x3)
98
+
99
+ @mixin responsive-left
100
+ +respond-to(left, (x0: map-get($margins, x0), x1: map-get($margins, x1), x2: map-get($margins, x2)))
101
+
102
+ @mixin responsive-right
103
+ +respond-to(right, (x0: map-get($margins, x0), x1: map-get($margins, x1), x2: map-get($margins, x2)))
104
+
105
+ @mixin responsive-padding-left
106
+ +respond-to(padding-left, (x0: map-get($margins, x0), x1: map-get($margins, x1), x2: map-get($margins, x2)))
107
+
108
+ @mixin responsive-padding-right
109
+ +respond-to(padding-right, (x0: map-get($margins, x0), x1: map-get($margins, x1), x2: map-get($margins, x2)))
110
+
111
+ @function merge-and-add($map1, $map2)
112
+ @return (x0: map-get($map1, x0) + map-get($map2, x0), x1: map-get($map1, x1) + map-get($map2, x1), x2: map-get($map1, x2) + map-get($map2, x2))
@@ -0,0 +1,11 @@
1
+ @mixin root($selector)
2
+ @at-root #{selector-nest($selector, &)}
3
+ @content
4
+
5
+ @mixin prepend-to-root($selector)
6
+ @at-root #{selector-append($selector, &)}
7
+ @content
8
+
9
+ @mixin append-to-root($selector)
10
+ @at-root #{selector-append(&, $selector)}
11
+ @content
@@ -0,0 +1,11 @@
1
+ @keyframes shake
2
+ 0%, 100%
3
+ transform: translateX(0) translateY(0)
4
+ 12.5%
5
+ transform: translateX(-12px) translateY(0)
6
+ 37.5%
7
+ transform: translateX(10px) translateY(0)
8
+ 62.5%
9
+ transform: translateX(-7px) translateY(0)
10
+ 87.5%
11
+ transform: translateX(3px) translateY(0)
@@ -0,0 +1,75 @@
1
+ $widths: (auto, 5, 10, 15, 20, 25, 30, 33, 35, 40, 45, 50, 55, 60, 65, 66, 70, 75, 80, 85, 90, 95, 100)
2
+
3
+ @mixin clearfix
4
+ &::after
5
+ clear: both
6
+ content: ""
7
+ display: table
8
+
9
+ @mixin column-style($property, $width)
10
+ @if $width == auto
11
+ #{$property}: auto
12
+ @else if $width == 66
13
+ #{$property}: 66.6666666666%
14
+ @else if $width == 33
15
+ #{$property}: 33.3333333333%
16
+ @else
17
+ #{$property}: percentage($width / 100)
18
+
19
+ @mixin column-sizes
20
+ @each $width in $widths
21
+ &-#{$width}
22
+ +column-style(width, $width)
23
+ &-offset-#{$width}
24
+ +column-style(margin-left, $width)
25
+
26
+ .container
27
+ +clearfix
28
+ margin: 0 auto
29
+ max-width: 1440px
30
+ position: relative
31
+ +responsive-padding(left right, $divisor: 1)
32
+
33
+ .content
34
+ @extend .container
35
+ +responsive-padding(top bottom, $divisor: 1)
36
+
37
+ .col
38
+ display: block
39
+ float: left
40
+ position: relative
41
+ +responsive-padding(left right)
42
+
43
+ &-container
44
+ +clearfix
45
+ +responsive-margin(left right, $divisor: -2)
46
+
47
+ &-center
48
+ float: none
49
+ margin: 0 auto
50
+
51
+ +all-media-sizes
52
+ +column-sizes
53
+
54
+ +component('flex')
55
+ display: flex
56
+ +all-media-sizes
57
+ &-col
58
+ flex-direction: column
59
+ &-col-reverse
60
+ flex-direction: column-reverse
61
+
62
+ .float
63
+ +all-media-sizes
64
+ @each $value in (none, left, right)
65
+ &-#{$value}
66
+ float: $value
67
+
68
+ .display
69
+ +all-media-sizes
70
+ @each $value in (block, inline, inline-block, none)
71
+ &-#{$value}
72
+ display: $value
73
+
74
+ .clearfix
75
+ +clearfix
@@ -0,0 +1,17 @@
1
+ .align
2
+ +all-media-sizes
3
+ @each $value in (center, left, right)
4
+ &-#{$value}
5
+ text-align: $value
6
+
7
+ .center
8
+ +all-media-sizes
9
+ +center
10
+
11
+ .v-center
12
+ +all-media-sizes
13
+ +center($vertical: true)
14
+
15
+ .h-center
16
+ +all-media-sizes
17
+ +center($horizontal: true)
@@ -0,0 +1,11 @@
1
+ *,
2
+ *::before,
3
+ *::after
4
+ margin: 0
5
+ padding: 0
6
+ box-sizing: border-box
7
+ .env-test &
8
+ animation-delay: 0s !important
9
+ animation-duration: 0s !important
10
+ transition-duration: 0s !important
11
+ transition-delay: 0s !important
@@ -0,0 +1,161 @@
1
+ body
2
+ background: $gray-lightest
3
+ color: $gray-dark
4
+ -webkit-font-smoothing: antialiased
5
+ -moz-osx-font-smoothing: grayscale
6
+
7
+ a, .link
8
+ cursor: pointer
9
+ text-decoration: none
10
+ color: $blue
11
+ transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease, box-shadow 300ms ease
12
+ &:hover
13
+ color: darken($blue, 10%)
14
+ text-decoration: underline
15
+ .legacy-content &
16
+ text-decoration: none
17
+
18
+ hr
19
+ height: 0
20
+ border: 0 solid $border-color-light
21
+ border-width: 2px 0 0
22
+ +respond-to(margin, (x0: 20px 0, x1: 30px 0))
23
+ &.dark
24
+ border-color: $border-color
25
+ &.lightest
26
+ border-color: $border-color-lightest
27
+ &.thin
28
+ border-width: 1px 0 0
29
+
30
+ .medium
31
+ font-weight: $medium
32
+
33
+ strong, .strong, .bold
34
+ font-weight: $bold
35
+
36
+ ul, ol
37
+ list-style: none
38
+
39
+ .list
40
+ list-style: circle
41
+ &, &-disc
42
+ color: $gray-light
43
+ margin: 20px 0 0 18px
44
+ &-disc
45
+ list-style: disc
46
+ .legacy-content &
47
+ list-style: none
48
+ li
49
+ margin: 10px 0
50
+ .legacy-content &
51
+ color: $text-color
52
+
53
+ img
54
+ display: block
55
+
56
+ button
57
+ background: none
58
+ border: none
59
+ cursor: pointer
60
+
61
+ .code
62
+ color: desaturate(darken($purple, 15%), 25%)
63
+ background: darken($gray-lightest, 3%)
64
+ border: 1px solid darken($gray-lighter, 5%)
65
+ border-radius: 3px
66
+ padding: 2px 4px
67
+ margin: 0 2px
68
+
69
+ .em
70
+ color: $teal
71
+
72
+ .p
73
+ margin: 15px 0
74
+
75
+ +component('bullet')
76
+ margin: 0 5px
77
+ color: lighten($text-color-lightest, 20%)
78
+ &-inverse
79
+ +extend
80
+ color: rgba(#fff,.4)
81
+
82
+ h1, .h1
83
+ +respond-to(font-size, (x0: 20px, x1: 24px))
84
+ h2, .h2
85
+ font-size: 18px
86
+
87
+ h1, h2, h3, h4, h5, h6
88
+ @extend .strong
89
+
90
+ .h-primary
91
+ margin-bottom: 0
92
+ +respond-to(font-size, (x0: 24px, x1: 28px))
93
+ .h-secondary
94
+ color: $text-color-lighter
95
+ font-weight: $normal
96
+ margin: 5px 0 30px
97
+ +respond-to(font-size, (x0: 16px, x1: 18px))
98
+ .h-margin
99
+ margin: 0 0 30px
100
+
101
+ .white-space-nowrap
102
+ white-space: nowrap
103
+
104
+ .italic
105
+ font-style: italic
106
+
107
+ .align
108
+ +all-media-sizes
109
+ @each $value in (center, left, right)
110
+ &-#{$value}
111
+ text-align: $value
112
+
113
+ .margin
114
+ @each $direction in (top, right, bottom, left)
115
+ &-#{$direction}
116
+ +all-media-sizes
117
+ @each $size, $value in (xxs: 5px, xs: 10px, sm: 15px, md: 20px, lg: 30px, xl: 40px, xxl: 50px)
118
+ &-#{$size}
119
+ margin-#{$direction}: $value
120
+
121
+ .text
122
+ &-shadow
123
+ text-shadow: 0 1px 0 rgba(#000,.08)
124
+
125
+ &-overflow
126
+ +all-media-sizes
127
+ &-ellipsis
128
+ white-space: nowrap
129
+ text-overflow: ellipsis
130
+ overflow: hidden
131
+
132
+ +all-media-sizes
133
+ &-clip
134
+ white-space: normal
135
+ text-overflow: clip
136
+ overflow: visible
137
+
138
+ // Font Colors
139
+ &-light
140
+ color: $text-color-light
141
+ &-lighter
142
+ color: $text-color-lighter
143
+ &-lightest
144
+ color: $text-color-lightest
145
+ &-inverse
146
+ &-light
147
+ color: rgba(#fff,.8)
148
+ &-lighter
149
+ color: rgba(#fff,.7)
150
+ &-lightest
151
+ color: rgba(#fff,.6)
152
+
153
+ // Font Sizes
154
+ @each $size, $value in $font-sizes
155
+ &-#{$size}
156
+ font-size: $value
157
+
158
+ .rotate-45
159
+ transform: rotate(45deg)
160
+ .rotate-90
161
+ transform: rotate(90deg)
@@ -0,0 +1,68 @@
1
+ // Gray
2
+ $gray: color(gray)
3
+ $gray-light: color(gray, light)
4
+ $gray-lighter: color(gray, lighter)
5
+ $gray-lightest: color(gray, lightest)
6
+ $gray-dark: color(gray, dark)
7
+ $gray-darkest: color(gray, darkest)
8
+
9
+ // Green
10
+ $green: color(green)
11
+ $green-light: color(green, light)
12
+ $green-lightest: color(green, lightest)
13
+ $green-dark: color(green, dark)
14
+ $green-darkest: color(green, darkest)
15
+
16
+ // Blue
17
+ $blue: color(blue)
18
+ $blue-light: color(blue, light)
19
+ $blue-lightest: color(blue, lightest)
20
+ $blue-dark: color(blue, dark)
21
+ $blue-darkest: color(blue, darkest)
22
+
23
+ // Teal
24
+ $teal: color(teal)
25
+ $teal-light: color(teal, light)
26
+ $teal-lightest: color(teal, lightest)
27
+ $teal-dark: color(teal, dark)
28
+ $teal-darkest: color(teal, darkest)
29
+
30
+ // Red
31
+ $red: color(red)
32
+ $red-light: color(red, light)
33
+ $red-lightest: color(red, lightest)
34
+ $red-dark: color(red, dark)
35
+ $red-darkest: color(red, darkest)
36
+
37
+ // Yellow
38
+ $yellow: color(yellow)
39
+ $yellow-light: color(yellow, light)
40
+ $yellow-lightest: color(yellow, lightest)
41
+ $yellow-dark: color(yellow, dark)
42
+ $yellow-darker: color(yellow, darker)
43
+ $yellow-darkest: color(yellow, darkest)
44
+
45
+ // Orange
46
+ $orange: color(orange)
47
+ $orange-light: color(orange, light)
48
+ $orange-lightest: color(orange, lightest)
49
+ $orange-dark: color(orange, dark)
50
+ $orange-darkest: color(orange, darkest)
51
+
52
+ // Coral
53
+ $coral: color(coral)
54
+ $coral-light: color(coral, light)
55
+ $coral-lighter: color(coral, lighter)
56
+ $coral-lightest: color(coral, lightest)
57
+ $coral-dark: color(coral, dark)
58
+ $coral-darker: color(coral, darker)
59
+ $coral-darkest: color(coral, darkest)
60
+
61
+ // Purple
62
+ $purple: color(purple)
63
+ $purple-light: color(purple, light)
64
+ $purple-lighter: color(purple, lighter)
65
+ $purple-lightest: color(purple, lightest)
66
+ $purple-dark: color(purple, dark)
67
+ $purple-darker: color(purple, darker)
68
+ $purple-darkest: color(purple, darkest)