styler-sass 0.1.1

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 (200) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/Guardfile +70 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +44 -0
  9. data/Rakefile +6 -0
  10. data/app/assets/fonts/awesome/FontAwesome.otf +0 -0
  11. data/app/assets/fonts/awesome/fontawesome-webfont.eot +0 -0
  12. data/app/assets/fonts/awesome/fontawesome-webfont.svg +640 -0
  13. data/app/assets/fonts/awesome/fontawesome-webfont.ttf +0 -0
  14. data/app/assets/fonts/awesome/fontawesome-webfont.woff +0 -0
  15. data/app/assets/fonts/awesome/fontawesome-webfont.woff2 +0 -0
  16. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  17. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  18. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  19. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  20. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  21. data/app/assets/images/.keep +0 -0
  22. data/app/assets/javascripts/bootstrap-sprockets.js +12 -0
  23. data/app/assets/javascripts/bootstrap.js +2363 -0
  24. data/app/assets/javascripts/bootstrap.min.js +7 -0
  25. data/app/assets/javascripts/bootstrap/affix.js +162 -0
  26. data/app/assets/javascripts/bootstrap/alert.js +94 -0
  27. data/app/assets/javascripts/bootstrap/button.js +120 -0
  28. data/app/assets/javascripts/bootstrap/carousel.js +237 -0
  29. data/app/assets/javascripts/bootstrap/collapse.js +211 -0
  30. data/app/assets/javascripts/bootstrap/dropdown.js +165 -0
  31. data/app/assets/javascripts/bootstrap/modal.js +337 -0
  32. data/app/assets/javascripts/bootstrap/popover.js +108 -0
  33. data/app/assets/javascripts/bootstrap/scrollspy.js +172 -0
  34. data/app/assets/javascripts/bootstrap/tab.js +155 -0
  35. data/app/assets/javascripts/bootstrap/tooltip.js +514 -0
  36. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  37. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  38. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  39. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  40. data/app/assets/stylesheets/_bootstrap.scss +56 -0
  41. data/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +411 -0
  42. data/app/assets/stylesheets/_bourbon.scss +87 -0
  43. data/app/assets/stylesheets/_font-awesome.css.scss +2026 -0
  44. data/app/assets/stylesheets/_font-awesome.min.css.scss +4 -0
  45. data/app/assets/stylesheets/_normalize.css.scss +427 -0
  46. data/app/assets/stylesheets/addons/_border-color.scss +26 -0
  47. data/app/assets/stylesheets/addons/_border-radius.scss +48 -0
  48. data/app/assets/stylesheets/addons/_border-style.scss +25 -0
  49. data/app/assets/stylesheets/addons/_border-width.scss +25 -0
  50. data/app/assets/stylesheets/addons/_buttons.scss +64 -0
  51. data/app/assets/stylesheets/addons/_clearfix.scss +25 -0
  52. data/app/assets/stylesheets/addons/_ellipsis.scss +30 -0
  53. data/app/assets/stylesheets/addons/_font-stacks.scss +31 -0
  54. data/app/assets/stylesheets/addons/_hide-text.scss +27 -0
  55. data/app/assets/stylesheets/addons/_margin.scss +26 -0
  56. data/app/assets/stylesheets/addons/_padding.scss +26 -0
  57. data/app/assets/stylesheets/addons/_position.scss +48 -0
  58. data/app/assets/stylesheets/addons/_prefixer.scss +66 -0
  59. data/app/assets/stylesheets/addons/_retina-image.scss +25 -0
  60. data/app/assets/stylesheets/addons/_size.scss +51 -0
  61. data/app/assets/stylesheets/addons/_text-inputs.scss +113 -0
  62. data/app/assets/stylesheets/addons/_timing-functions.scss +34 -0
  63. data/app/assets/stylesheets/addons/_triangle.scss +63 -0
  64. data/app/assets/stylesheets/addons/_word-wrap.scss +29 -0
  65. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  66. data/app/assets/stylesheets/bootstrap/_badges.scss +68 -0
  67. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +28 -0
  68. data/app/assets/stylesheets/bootstrap/_button-groups.scss +244 -0
  69. data/app/assets/stylesheets/bootstrap/_buttons.scss +168 -0
  70. data/app/assets/stylesheets/bootstrap/_carousel.scss +269 -0
  71. data/app/assets/stylesheets/bootstrap/_close.scss +36 -0
  72. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  73. data/app/assets/stylesheets/bootstrap/_component-animations.scss +37 -0
  74. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +216 -0
  75. data/app/assets/stylesheets/bootstrap/_forms.scss +611 -0
  76. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +307 -0
  77. data/app/assets/stylesheets/bootstrap/_grid.scss +84 -0
  78. data/app/assets/stylesheets/bootstrap/_input-groups.scss +167 -0
  79. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +52 -0
  80. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  81. data/app/assets/stylesheets/bootstrap/_list-group.scss +130 -0
  82. data/app/assets/stylesheets/bootstrap/_media.scss +66 -0
  83. data/app/assets/stylesheets/bootstrap/_mixins.scss +40 -0
  84. data/app/assets/stylesheets/bootstrap/_modals.scss +150 -0
  85. data/app/assets/stylesheets/bootstrap/_navbar.scss +662 -0
  86. data/app/assets/stylesheets/bootstrap/_navs.scss +242 -0
  87. data/app/assets/stylesheets/bootstrap/_normalize.scss +424 -0
  88. data/app/assets/stylesheets/bootstrap/_pager.scss +54 -0
  89. data/app/assets/stylesheets/bootstrap/_pagination.scss +89 -0
  90. data/app/assets/stylesheets/bootstrap/_panels.scss +271 -0
  91. data/app/assets/stylesheets/bootstrap/_popovers.scss +131 -0
  92. data/app/assets/stylesheets/bootstrap/_print.scss +101 -0
  93. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
  94. data/app/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
  95. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +179 -0
  96. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +161 -0
  97. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  98. data/app/assets/stylesheets/bootstrap/_theme.scss +291 -0
  99. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  100. data/app/assets/stylesheets/bootstrap/_tooltip.scss +101 -0
  101. data/app/assets/stylesheets/bootstrap/_type.scss +298 -0
  102. data/app/assets/stylesheets/bootstrap/_utilities.scss +55 -0
  103. data/app/assets/stylesheets/bootstrap/_variables.scss +872 -0
  104. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  105. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  106. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +12 -0
  107. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  108. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +68 -0
  109. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  110. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  111. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
  112. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  113. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  114. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  115. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  116. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
  117. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  118. data/app/assets/stylesheets/bootstrap/mixins/_list-group.scss +32 -0
  119. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  120. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  121. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  122. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
  123. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  124. data/app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  125. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  126. data/app/assets/stylesheets/bootstrap/mixins/_reset-text.scss +18 -0
  127. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  128. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  129. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  130. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  131. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  132. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
  133. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  134. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  135. data/app/assets/stylesheets/css3/_animation.scss +43 -0
  136. data/app/assets/stylesheets/css3/_appearance.scss +3 -0
  137. data/app/assets/stylesheets/css3/_backface-visibility.scss +3 -0
  138. data/app/assets/stylesheets/css3/_background-image.scss +42 -0
  139. data/app/assets/stylesheets/css3/_background.scss +55 -0
  140. data/app/assets/stylesheets/css3/_border-image.scss +59 -0
  141. data/app/assets/stylesheets/css3/_calc.scss +4 -0
  142. data/app/assets/stylesheets/css3/_columns.scss +47 -0
  143. data/app/assets/stylesheets/css3/_filter.scss +4 -0
  144. data/app/assets/stylesheets/css3/_flex-box.scss +287 -0
  145. data/app/assets/stylesheets/css3/_font-face.scss +24 -0
  146. data/app/assets/stylesheets/css3/_font-feature-settings.scss +4 -0
  147. data/app/assets/stylesheets/css3/_hidpi-media-query.scss +10 -0
  148. data/app/assets/stylesheets/css3/_hyphens.scss +4 -0
  149. data/app/assets/stylesheets/css3/_image-rendering.scss +14 -0
  150. data/app/assets/stylesheets/css3/_keyframes.scss +36 -0
  151. data/app/assets/stylesheets/css3/_linear-gradient.scss +38 -0
  152. data/app/assets/stylesheets/css3/_perspective.scss +8 -0
  153. data/app/assets/stylesheets/css3/_placeholder.scss +8 -0
  154. data/app/assets/stylesheets/css3/_radial-gradient.scss +39 -0
  155. data/app/assets/stylesheets/css3/_selection.scss +42 -0
  156. data/app/assets/stylesheets/css3/_text-decoration.scss +19 -0
  157. data/app/assets/stylesheets/css3/_transform.scss +15 -0
  158. data/app/assets/stylesheets/css3/_transition.scss +71 -0
  159. data/app/assets/stylesheets/css3/_user-select.scss +3 -0
  160. data/app/assets/stylesheets/functions/_assign-inputs.scss +11 -0
  161. data/app/assets/stylesheets/functions/_contains-falsy.scss +20 -0
  162. data/app/assets/stylesheets/functions/_contains.scss +26 -0
  163. data/app/assets/stylesheets/functions/_is-length.scss +11 -0
  164. data/app/assets/stylesheets/functions/_is-light.scss +21 -0
  165. data/app/assets/stylesheets/functions/_is-number.scss +11 -0
  166. data/app/assets/stylesheets/functions/_is-size.scss +13 -0
  167. data/app/assets/stylesheets/functions/_modular-scale.scss +69 -0
  168. data/app/assets/stylesheets/functions/_px-to-em.scss +13 -0
  169. data/app/assets/stylesheets/functions/_px-to-rem.scss +15 -0
  170. data/app/assets/stylesheets/functions/_shade.scss +24 -0
  171. data/app/assets/stylesheets/functions/_strip-units.scss +17 -0
  172. data/app/assets/stylesheets/functions/_tint.scss +24 -0
  173. data/app/assets/stylesheets/functions/_transition-property-name.scss +22 -0
  174. data/app/assets/stylesheets/functions/_unpack.scss +27 -0
  175. data/app/assets/stylesheets/helpers/_convert-units.scss +21 -0
  176. data/app/assets/stylesheets/helpers/_directional-values.scss +96 -0
  177. data/app/assets/stylesheets/helpers/_font-source-declaration.scss +43 -0
  178. data/app/assets/stylesheets/helpers/_gradient-positions-parser.scss +13 -0
  179. data/app/assets/stylesheets/helpers/_linear-angle-parser.scss +25 -0
  180. data/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +41 -0
  181. data/app/assets/stylesheets/helpers/_linear-positions-parser.scss +61 -0
  182. data/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss +31 -0
  183. data/app/assets/stylesheets/helpers/_radial-arg-parser.scss +69 -0
  184. data/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +50 -0
  185. data/app/assets/stylesheets/helpers/_radial-positions-parser.scss +18 -0
  186. data/app/assets/stylesheets/helpers/_render-gradients.scss +26 -0
  187. data/app/assets/stylesheets/helpers/_shape-size-stripper.scss +10 -0
  188. data/app/assets/stylesheets/helpers/_str-to-num.scss +50 -0
  189. data/app/assets/stylesheets/settings/_asset-pipeline.scss +7 -0
  190. data/app/assets/stylesheets/settings/_prefixer.scss +9 -0
  191. data/app/assets/stylesheets/settings/_px-to-em.scss +1 -0
  192. data/bin/console +14 -0
  193. data/bin/setup +7 -0
  194. data/lib/styler.rb +51 -0
  195. data/lib/styler/engine.rb +5 -0
  196. data/lib/styler/generator.rb +80 -0
  197. data/lib/styler/version.rb +3 -0
  198. data/lib/tasks/install.rake +20 -0
  199. data/styler.gemspec +40 -0
  200. metadata +369 -0
@@ -0,0 +1,43 @@
1
+ // http://www.w3.org/TR/css3-animations/#the-animation-name-property-
2
+ // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.
3
+
4
+ @mixin animation($animations...) {
5
+ @include prefixer(animation, $animations, webkit moz spec);
6
+ }
7
+
8
+ @mixin animation-name($names...) {
9
+ @include prefixer(animation-name, $names, webkit moz spec);
10
+ }
11
+
12
+ @mixin animation-duration($times...) {
13
+ @include prefixer(animation-duration, $times, webkit moz spec);
14
+ }
15
+
16
+ @mixin animation-timing-function($motions...) {
17
+ // ease | linear | ease-in | ease-out | ease-in-out
18
+ @include prefixer(animation-timing-function, $motions, webkit moz spec);
19
+ }
20
+
21
+ @mixin animation-iteration-count($values...) {
22
+ // infinite | <number>
23
+ @include prefixer(animation-iteration-count, $values, webkit moz spec);
24
+ }
25
+
26
+ @mixin animation-direction($directions...) {
27
+ // normal | alternate
28
+ @include prefixer(animation-direction, $directions, webkit moz spec);
29
+ }
30
+
31
+ @mixin animation-play-state($states...) {
32
+ // running | paused
33
+ @include prefixer(animation-play-state, $states, webkit moz spec);
34
+ }
35
+
36
+ @mixin animation-delay($times...) {
37
+ @include prefixer(animation-delay, $times, webkit moz spec);
38
+ }
39
+
40
+ @mixin animation-fill-mode($modes...) {
41
+ // none | forwards | backwards | both
42
+ @include prefixer(animation-fill-mode, $modes, webkit moz spec);
43
+ }
@@ -0,0 +1,3 @@
1
+ @mixin appearance($value) {
2
+ @include prefixer(appearance, $value, webkit moz ms o spec);
3
+ }
@@ -0,0 +1,3 @@
1
+ @mixin backface-visibility($visibility) {
2
+ @include prefixer(backface-visibility, $visibility, webkit spec);
3
+ }
@@ -0,0 +1,42 @@
1
+ //************************************************************************//
2
+ // Background-image property for adding multiple background images with
3
+ // gradients, or for stringing multiple gradients together.
4
+ //************************************************************************//
5
+
6
+ @mixin background-image($images...) {
7
+ $webkit-images: ();
8
+ $spec-images: ();
9
+
10
+ @each $image in $images {
11
+ $webkit-image: ();
12
+ $spec-image: ();
13
+
14
+ @if (type-of($image) == string) {
15
+ $url-str: str-slice($image, 1, 3);
16
+ $gradient-type: str-slice($image, 1, 6);
17
+
18
+ @if $url-str == "url" {
19
+ $webkit-image: $image;
20
+ $spec-image: $image;
21
+ }
22
+
23
+ @else if $gradient-type == "linear" {
24
+ $gradients: _linear-gradient-parser($image);
25
+ $webkit-image: map-get($gradients, webkit-image);
26
+ $spec-image: map-get($gradients, spec-image);
27
+ }
28
+
29
+ @else if $gradient-type == "radial" {
30
+ $gradients: _radial-gradient-parser($image);
31
+ $webkit-image: map-get($gradients, webkit-image);
32
+ $spec-image: map-get($gradients, spec-image);
33
+ }
34
+ }
35
+
36
+ $webkit-images: append($webkit-images, $webkit-image, comma);
37
+ $spec-images: append($spec-images, $spec-image, comma);
38
+ }
39
+
40
+ background-image: $webkit-images;
41
+ background-image: $spec-images;
42
+ }
@@ -0,0 +1,55 @@
1
+ //************************************************************************//
2
+ // Background property for adding multiple backgrounds using shorthand
3
+ // notation.
4
+ //************************************************************************//
5
+
6
+ @mixin background($backgrounds...) {
7
+ $webkit-backgrounds: ();
8
+ $spec-backgrounds: ();
9
+
10
+ @each $background in $backgrounds {
11
+ $webkit-background: ();
12
+ $spec-background: ();
13
+ $background-type: type-of($background);
14
+
15
+ @if $background-type == string or $background-type == list {
16
+ $background-str: if($background-type == list, nth($background, 1), $background);
17
+
18
+ $url-str: str-slice($background-str, 1, 3);
19
+ $gradient-type: str-slice($background-str, 1, 6);
20
+
21
+ @if $url-str == "url" {
22
+ $webkit-background: $background;
23
+ $spec-background: $background;
24
+ }
25
+
26
+ @else if $gradient-type == "linear" {
27
+ $gradients: _linear-gradient-parser("#{$background}");
28
+ $webkit-background: map-get($gradients, webkit-image);
29
+ $spec-background: map-get($gradients, spec-image);
30
+ }
31
+
32
+ @else if $gradient-type == "radial" {
33
+ $gradients: _radial-gradient-parser("#{$background}");
34
+ $webkit-background: map-get($gradients, webkit-image);
35
+ $spec-background: map-get($gradients, spec-image);
36
+ }
37
+
38
+ @else {
39
+ $webkit-background: $background;
40
+ $spec-background: $background;
41
+ }
42
+ }
43
+
44
+ @else {
45
+ $webkit-background: $background;
46
+ $spec-background: $background;
47
+ }
48
+
49
+ $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma);
50
+ $spec-backgrounds: append($spec-backgrounds, $spec-background, comma);
51
+ }
52
+
53
+ background: $webkit-backgrounds;
54
+ background: $spec-backgrounds;
55
+ }
@@ -0,0 +1,59 @@
1
+ @mixin border-image($borders...) {
2
+ $webkit-borders: ();
3
+ $spec-borders: ();
4
+
5
+ @each $border in $borders {
6
+ $webkit-border: ();
7
+ $spec-border: ();
8
+ $border-type: type-of($border);
9
+
10
+ @if $border-type == string or list {
11
+ $border-str: if($border-type == list, nth($border, 1), $border);
12
+
13
+ $url-str: str-slice($border-str, 1, 3);
14
+ $gradient-type: str-slice($border-str, 1, 6);
15
+
16
+ @if $url-str == "url" {
17
+ $webkit-border: $border;
18
+ $spec-border: $border;
19
+ }
20
+
21
+ @else if $gradient-type == "linear" {
22
+ $gradients: _linear-gradient-parser("#{$border}");
23
+ $webkit-border: map-get($gradients, webkit-image);
24
+ $spec-border: map-get($gradients, spec-image);
25
+ }
26
+
27
+ @else if $gradient-type == "radial" {
28
+ $gradients: _radial-gradient-parser("#{$border}");
29
+ $webkit-border: map-get($gradients, webkit-image);
30
+ $spec-border: map-get($gradients, spec-image);
31
+ }
32
+
33
+ @else {
34
+ $webkit-border: $border;
35
+ $spec-border: $border;
36
+ }
37
+ }
38
+
39
+ @else {
40
+ $webkit-border: $border;
41
+ $spec-border: $border;
42
+ }
43
+
44
+ $webkit-borders: append($webkit-borders, $webkit-border, comma);
45
+ $spec-borders: append($spec-borders, $spec-border, comma);
46
+ }
47
+
48
+ -webkit-border-image: $webkit-borders;
49
+ border-image: $spec-borders;
50
+ border-style: solid;
51
+ }
52
+
53
+ //Examples:
54
+ // @include border-image(url("image.png"));
55
+ // @include border-image(url("image.png") 20 stretch);
56
+ // @include border-image(linear-gradient(45deg, orange, yellow));
57
+ // @include border-image(linear-gradient(45deg, orange, yellow) stretch);
58
+ // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);
59
+ // @include border-image(radial-gradient(top, cover, orange, yellow, orange));
@@ -0,0 +1,4 @@
1
+ @mixin calc($property, $value) {
2
+ #{$property}: -webkit-calc(#{$value});
3
+ #{$property}: calc(#{$value});
4
+ }
@@ -0,0 +1,47 @@
1
+ @mixin columns($arg: auto) {
2
+ // <column-count> || <column-width>
3
+ @include prefixer(columns, $arg, webkit moz spec);
4
+ }
5
+
6
+ @mixin column-count($int: auto) {
7
+ // auto || integer
8
+ @include prefixer(column-count, $int, webkit moz spec);
9
+ }
10
+
11
+ @mixin column-gap($length: normal) {
12
+ // normal || length
13
+ @include prefixer(column-gap, $length, webkit moz spec);
14
+ }
15
+
16
+ @mixin column-fill($arg: auto) {
17
+ // auto || length
18
+ @include prefixer(column-fill, $arg, webkit moz spec);
19
+ }
20
+
21
+ @mixin column-rule($arg) {
22
+ // <border-width> || <border-style> || <color>
23
+ @include prefixer(column-rule, $arg, webkit moz spec);
24
+ }
25
+
26
+ @mixin column-rule-color($color) {
27
+ @include prefixer(column-rule-color, $color, webkit moz spec);
28
+ }
29
+
30
+ @mixin column-rule-style($style: none) {
31
+ // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
32
+ @include prefixer(column-rule-style, $style, webkit moz spec);
33
+ }
34
+
35
+ @mixin column-rule-width ($width: none) {
36
+ @include prefixer(column-rule-width, $width, webkit moz spec);
37
+ }
38
+
39
+ @mixin column-span($arg: none) {
40
+ // none || all
41
+ @include prefixer(column-span, $arg, webkit moz spec);
42
+ }
43
+
44
+ @mixin column-width($length: auto) {
45
+ // auto || length
46
+ @include prefixer(column-width, $length, webkit moz spec);
47
+ }
@@ -0,0 +1,4 @@
1
+ @mixin filter($function: none) {
2
+ // <filter-function> [<filter-function]* | none
3
+ @include prefixer(filter, $function, webkit spec);
4
+ }
@@ -0,0 +1,287 @@
1
+ // CSS3 Flexible Box Model and property defaults
2
+
3
+ // Custom shorthand notation for flexbox
4
+ @mixin box($orient: inline-axis, $pack: start, $align: stretch) {
5
+ @include display-box;
6
+ @include box-orient($orient);
7
+ @include box-pack($pack);
8
+ @include box-align($align);
9
+ }
10
+
11
+ @mixin display-box {
12
+ display: -webkit-box;
13
+ display: -moz-box;
14
+ display: -ms-flexbox; // IE 10
15
+ display: box;
16
+ }
17
+
18
+ @mixin box-orient($orient: inline-axis) {
19
+ // horizontal|vertical|inline-axis|block-axis|inherit
20
+ @include prefixer(box-orient, $orient, webkit moz spec);
21
+ }
22
+
23
+ @mixin box-pack($pack: start) {
24
+ // start|end|center|justify
25
+ @include prefixer(box-pack, $pack, webkit moz spec);
26
+ -ms-flex-pack: $pack; // IE 10
27
+ }
28
+
29
+ @mixin box-align($align: stretch) {
30
+ // start|end|center|baseline|stretch
31
+ @include prefixer(box-align, $align, webkit moz spec);
32
+ -ms-flex-align: $align; // IE 10
33
+ }
34
+
35
+ @mixin box-direction($direction: normal) {
36
+ // normal|reverse|inherit
37
+ @include prefixer(box-direction, $direction, webkit moz spec);
38
+ -ms-flex-direction: $direction; // IE 10
39
+ }
40
+
41
+ @mixin box-lines($lines: single) {
42
+ // single|multiple
43
+ @include prefixer(box-lines, $lines, webkit moz spec);
44
+ }
45
+
46
+ @mixin box-ordinal-group($int: 1) {
47
+ @include prefixer(box-ordinal-group, $int, webkit moz spec);
48
+ -ms-flex-order: $int; // IE 10
49
+ }
50
+
51
+ @mixin box-flex($value: 0) {
52
+ @include prefixer(box-flex, $value, webkit moz spec);
53
+ -ms-flex: $value; // IE 10
54
+ }
55
+
56
+ @mixin box-flex-group($int: 1) {
57
+ @include prefixer(box-flex-group, $int, webkit moz spec);
58
+ }
59
+
60
+ // CSS3 Flexible Box Model and property defaults
61
+ // Unified attributes for 2009, 2011, and 2012 flavours.
62
+
63
+ // 2009 - display (box | inline-box)
64
+ // 2011 - display (flexbox | inline-flexbox)
65
+ // 2012 - display (flex | inline-flex)
66
+ @mixin display($value) {
67
+ // flex | inline-flex
68
+ @if $value == "flex" {
69
+ // 2009
70
+ display: -webkit-box;
71
+ display: -moz-box;
72
+ display: box;
73
+
74
+ // 2012
75
+ display: -webkit-flex;
76
+ display: -moz-flex;
77
+ display: -ms-flexbox; // 2011 (IE 10)
78
+ display: flex;
79
+ } @else if $value == "inline-flex" {
80
+ display: -webkit-inline-box;
81
+ display: -moz-inline-box;
82
+ display: inline-box;
83
+
84
+ display: -webkit-inline-flex;
85
+ display: -moz-inline-flex;
86
+ display: -ms-inline-flexbox;
87
+ display: inline-flex;
88
+ } @else {
89
+ display: $value;
90
+ }
91
+ }
92
+
93
+ // 2009 - box-flex (integer)
94
+ // 2011 - flex (decimal | width decimal)
95
+ // 2012 - flex (integer integer width)
96
+ @mixin flex($value) {
97
+
98
+ // Grab flex-grow for older browsers.
99
+ $flex-grow: nth($value, 1);
100
+
101
+ // 2009
102
+ @include prefixer(box-flex, $flex-grow, webkit moz spec);
103
+
104
+ // 2011 (IE 10), 2012
105
+ @include prefixer(flex, $value, webkit moz ms spec);
106
+ }
107
+
108
+ // 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)
109
+ // - box-direction (normal | reverse)
110
+ // 2011 - flex-direction (row | row-reverse | column | column-reverse)
111
+ // 2012 - flex-direction (row | row-reverse | column | column-reverse)
112
+ @mixin flex-direction($value: row) {
113
+
114
+ // Alt values.
115
+ $value-2009: $value;
116
+ $value-2011: $value;
117
+ $direction: normal;
118
+
119
+ @if $value == row {
120
+ $value-2009: horizontal;
121
+ } @else if $value == "row-reverse" {
122
+ $value-2009: horizontal;
123
+ $direction: reverse;
124
+ } @else if $value == column {
125
+ $value-2009: vertical;
126
+ } @else if $value == "column-reverse" {
127
+ $value-2009: vertical;
128
+ $direction: reverse;
129
+ }
130
+
131
+ // 2009
132
+ @include prefixer(box-orient, $value-2009, webkit moz spec);
133
+ @include prefixer(box-direction, $direction, webkit moz spec);
134
+
135
+ // 2012
136
+ @include prefixer(flex-direction, $value, webkit moz spec);
137
+
138
+ // 2011 (IE 10)
139
+ -ms-flex-direction: $value;
140
+ }
141
+
142
+ // 2009 - box-lines (single | multiple)
143
+ // 2011 - flex-wrap (nowrap | wrap | wrap-reverse)
144
+ // 2012 - flex-wrap (nowrap | wrap | wrap-reverse)
145
+ @mixin flex-wrap($value: nowrap) {
146
+ // Alt values
147
+ $alt-value: $value;
148
+ @if $value == nowrap {
149
+ $alt-value: single;
150
+ } @else if $value == wrap {
151
+ $alt-value: multiple;
152
+ } @else if $value == "wrap-reverse" {
153
+ $alt-value: multiple;
154
+ }
155
+
156
+ @include prefixer(box-lines, $alt-value, webkit moz spec);
157
+ @include prefixer(flex-wrap, $value, webkit moz ms spec);
158
+ }
159
+
160
+ // 2009 - TODO: parse values into flex-direction/flex-wrap
161
+ // 2011 - TODO: parse values into flex-direction/flex-wrap
162
+ // 2012 - flex-flow (flex-direction || flex-wrap)
163
+ @mixin flex-flow($value) {
164
+ @include prefixer(flex-flow, $value, webkit moz spec);
165
+ }
166
+
167
+ // 2009 - box-ordinal-group (integer)
168
+ // 2011 - flex-order (integer)
169
+ // 2012 - order (integer)
170
+ @mixin order($int: 0) {
171
+ // 2009
172
+ @include prefixer(box-ordinal-group, $int, webkit moz spec);
173
+
174
+ // 2012
175
+ @include prefixer(order, $int, webkit moz spec);
176
+
177
+ // 2011 (IE 10)
178
+ -ms-flex-order: $int;
179
+ }
180
+
181
+ // 2012 - flex-grow (number)
182
+ @mixin flex-grow($number: 0) {
183
+ @include prefixer(flex-grow, $number, webkit moz spec);
184
+ -ms-flex-positive: $number;
185
+ }
186
+
187
+ // 2012 - flex-shrink (number)
188
+ @mixin flex-shrink($number: 1) {
189
+ @include prefixer(flex-shrink, $number, webkit moz spec);
190
+ -ms-flex-negative: $number;
191
+ }
192
+
193
+ // 2012 - flex-basis (number)
194
+ @mixin flex-basis($width: auto) {
195
+ @include prefixer(flex-basis, $width, webkit moz spec);
196
+ -ms-flex-preferred-size: $width;
197
+ }
198
+
199
+ // 2009 - box-pack (start | end | center | justify)
200
+ // 2011 - flex-pack (start | end | center | justify)
201
+ // 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)
202
+ @mixin justify-content($value: flex-start) {
203
+
204
+ // Alt values.
205
+ $alt-value: $value;
206
+ @if $value == "flex-start" {
207
+ $alt-value: start;
208
+ } @else if $value == "flex-end" {
209
+ $alt-value: end;
210
+ } @else if $value == "space-between" {
211
+ $alt-value: justify;
212
+ } @else if $value == "space-around" {
213
+ $alt-value: distribute;
214
+ }
215
+
216
+ // 2009
217
+ @include prefixer(box-pack, $alt-value, webkit moz spec);
218
+
219
+ // 2012
220
+ @include prefixer(justify-content, $value, webkit moz ms o spec);
221
+
222
+ // 2011 (IE 10)
223
+ -ms-flex-pack: $alt-value;
224
+ }
225
+
226
+ // 2009 - box-align (start | end | center | baseline | stretch)
227
+ // 2011 - flex-align (start | end | center | baseline | stretch)
228
+ // 2012 - align-items (flex-start | flex-end | center | baseline | stretch)
229
+ @mixin align-items($value: stretch) {
230
+
231
+ $alt-value: $value;
232
+
233
+ @if $value == "flex-start" {
234
+ $alt-value: start;
235
+ } @else if $value == "flex-end" {
236
+ $alt-value: end;
237
+ }
238
+
239
+ // 2009
240
+ @include prefixer(box-align, $alt-value, webkit moz spec);
241
+
242
+ // 2012
243
+ @include prefixer(align-items, $value, webkit moz ms o spec);
244
+
245
+ // 2011 (IE 10)
246
+ -ms-flex-align: $alt-value;
247
+ }
248
+
249
+ // 2011 - flex-item-align (auto | start | end | center | baseline | stretch)
250
+ // 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)
251
+ @mixin align-self($value: auto) {
252
+
253
+ $value-2011: $value;
254
+ @if $value == "flex-start" {
255
+ $value-2011: start;
256
+ } @else if $value == "flex-end" {
257
+ $value-2011: end;
258
+ }
259
+
260
+ // 2012
261
+ @include prefixer(align-self, $value, webkit moz spec);
262
+
263
+ // 2011 (IE 10)
264
+ -ms-flex-item-align: $value-2011;
265
+ }
266
+
267
+ // 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)
268
+ // 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)
269
+ @mixin align-content($value: stretch) {
270
+
271
+ $value-2011: $value;
272
+ @if $value == "flex-start" {
273
+ $value-2011: start;
274
+ } @else if $value == "flex-end" {
275
+ $value-2011: end;
276
+ } @else if $value == "space-between" {
277
+ $value-2011: justify;
278
+ } @else if $value == "space-around" {
279
+ $value-2011: distribute;
280
+ }
281
+
282
+ // 2012
283
+ @include prefixer(align-content, $value, webkit moz spec);
284
+
285
+ // 2011 (IE 10)
286
+ -ms-flex-line-pack: $value-2011;
287
+ }