jekyll-theme-primer 0.5.1 → 0.6.0

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 (86) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.md +1 -1
  3. data/README.md +39 -13
  4. data/_includes/head-custom-google-analytics.html +10 -0
  5. data/_includes/head-custom.html +9 -0
  6. data/_layouts/default.html +7 -5
  7. data/_layouts/home.html +4 -0
  8. data/_layouts/page.html +4 -0
  9. data/_layouts/post.html +4 -0
  10. data/_sass/primer-base/lib/base.scss +17 -0
  11. data/_sass/primer-base/lib/normalize.scss +2 -4
  12. data/_sass/primer-layout/lib/grid-offset.scss +12 -23
  13. data/_sass/primer-markdown/lib/code.scss +3 -16
  14. data/_sass/primer-markdown/lib/lists.scss +5 -1
  15. data/_sass/primer-markdown/lib/markdown-body.scss +1 -1
  16. data/_sass/primer-support/lib/mixins/buttons.scss +13 -9
  17. data/_sass/primer-support/lib/mixins/layout.scss +18 -12
  18. data/_sass/primer-support/lib/variables/layout.scss +15 -1
  19. data/_sass/primer-support/lib/variables/misc.scss +1 -1
  20. data/_sass/primer-utilities/index.scss +1 -0
  21. data/_sass/primer-utilities/lib/animations.scss +33 -2
  22. data/_sass/primer-utilities/lib/borders.scss +75 -38
  23. data/_sass/primer-utilities/lib/details.scss +18 -0
  24. data/_sass/primer-utilities/lib/flexbox.scss +45 -73
  25. data/_sass/primer-utilities/lib/layout.scss +16 -27
  26. data/_sass/primer-utilities/lib/margin.scss +42 -75
  27. data/_sass/primer-utilities/lib/padding.scss +26 -56
  28. data/_sass/primer-utilities/lib/typography.scss +22 -23
  29. data/_sass/primer-utilities/lib/visibility-display.scss +21 -45
  30. data/_sass/primer.scss +4 -0
  31. metadata +71 -72
  32. data/_sass/primer-base/LICENSE +0 -21
  33. data/_sass/primer-base/README.md +0 -48
  34. data/_sass/primer-base/build/build.css +0 -1
  35. data/_sass/primer-base/build/index.js +0 -1
  36. data/_sass/primer-base/package.json +0 -68
  37. data/_sass/primer-layout/LICENSE +0 -21
  38. data/_sass/primer-layout/README.md +0 -137
  39. data/_sass/primer-layout/build/build.css +0 -1
  40. data/_sass/primer-layout/build/index.js +0 -1
  41. data/_sass/primer-layout/package.json +0 -65
  42. data/_sass/primer-markdown/LICENSE +0 -21
  43. data/_sass/primer-markdown/README.md +0 -218
  44. data/_sass/primer-markdown/build/build.css +0 -1
  45. data/_sass/primer-markdown/build/index.js +0 -1
  46. data/_sass/primer-markdown/package.json +0 -69
  47. data/_sass/primer-support/LICENSE +0 -21
  48. data/_sass/primer-support/README.md +0 -42
  49. data/_sass/primer-support/package.json +0 -66
  50. data/_sass/primer-utilities/LICENSE +0 -21
  51. data/_sass/primer-utilities/README.md +0 -48
  52. data/_sass/primer-utilities/build/build.css +0 -1
  53. data/_sass/primer-utilities/build/index.js +0 -1
  54. data/_sass/primer-utilities/package.json +0 -65
  55. data/assets/javascript/anchor-js/.eslintrc +0 -77
  56. data/assets/javascript/anchor-js/.gitattributes +0 -2
  57. data/assets/javascript/anchor-js/.npmignore +0 -4
  58. data/assets/javascript/anchor-js/.travis.yml +0 -6
  59. data/assets/javascript/anchor-js/anchor.js +0 -334
  60. data/assets/javascript/anchor-js/anchor.min.js +0 -6
  61. data/assets/javascript/anchor-js/banner.js +0 -17
  62. data/assets/javascript/anchor-js/docs/anchor.js +0 -334
  63. data/assets/javascript/anchor-js/docs/favicon.ico +0 -0
  64. data/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.eot +0 -0
  65. data/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.svg +0 -11
  66. data/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.ttf +0 -0
  67. data/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.woff +0 -0
  68. data/assets/javascript/anchor-js/docs/fonts/fonts.css +0 -24
  69. data/assets/javascript/anchor-js/docs/grunticon/grunticon.loader.js +0 -3
  70. data/assets/javascript/anchor-js/docs/grunticon/icons.data.png.css +0 -5
  71. data/assets/javascript/anchor-js/docs/grunticon/icons.data.svg.css +0 -5
  72. data/assets/javascript/anchor-js/docs/grunticon/icons.fallback.css +0 -5
  73. data/assets/javascript/anchor-js/docs/grunticon/png/grunticon-link.png +0 -0
  74. data/assets/javascript/anchor-js/docs/grunticon/preview.html +0 -33
  75. data/assets/javascript/anchor-js/docs/img/anchoring-links.png +0 -0
  76. data/assets/javascript/anchor-js/docs/img/anchorjs_logo.png +0 -0
  77. data/assets/javascript/anchor-js/docs/img/anchorlinks2.png +0 -0
  78. data/assets/javascript/anchor-js/docs/img/gh-link.svg +0 -9
  79. data/assets/javascript/anchor-js/docs/img/gh_link.svg +0 -9
  80. data/assets/javascript/anchor-js/docs/img/hyperlink.svg +0 -9
  81. data/assets/javascript/anchor-js/docs/img/link.svg +0 -6
  82. data/assets/javascript/anchor-js/docs/img/mini-logo.png +0 -0
  83. data/assets/javascript/anchor-js/docs/img/primer-md.png +0 -0
  84. data/assets/javascript/anchor-js/docs/index.html +0 -807
  85. data/assets/javascript/anchor-js/docs/scripts.js +0 -12
  86. data/assets/javascript/anchor-js/docs/styles.css +0 -493
@@ -1,21 +1,27 @@
1
1
  // Responsive media queries
2
2
 
3
3
  @mixin breakpoint($breakpoint) {
4
- // Retrieves the value from the key
5
- $value: map-get($breakpoints, $breakpoint);
6
-
7
- // If the key exists in the map
8
- @if $value != null {
9
- // Prints a media query based on the value
10
- @media (min-width: $value) {
11
- @content;
12
- }
4
+ @if $breakpoint == "" {
5
+ @content;
13
6
  }
14
7
 
15
- // If the key doesn't exist in the map
16
8
  @else {
17
- @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
18
- + "Please make sure it is defined in `$breakpoints` map.";
9
+ // Retrieves the value from the key
10
+ $value: map-get($breakpoints, $breakpoint);
11
+
12
+ // If the key exists in the map
13
+ @if $value != null {
14
+ // Prints a media query based on the value
15
+ @media (min-width: $value) {
16
+ @content;
17
+ }
18
+ }
19
+
20
+ // If the key doesn't exist in the map
21
+ @else {
22
+ @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
23
+ + "Please make sure it is defined in `$breakpoints` map.";
24
+ }
19
25
  }
20
26
  }
21
27
 
@@ -22,6 +22,7 @@ $spacers: (
22
22
  ) !default;
23
23
 
24
24
  // Aliases for easy use
25
+ $spacer-0: nth($spacers, 1) !default; // 0
25
26
  $spacer-1: nth($spacers, 2) !default; // 4px
26
27
  $spacer-2: nth($spacers, 3) !default; // 8px
27
28
  $spacer-3: nth($spacers, 4) !default; // 16px
@@ -29,6 +30,14 @@ $spacer-4: nth($spacers, 5) !default; // 24px
29
30
  $spacer-5: nth($spacers, 6) !default; // 32px
30
31
  $spacer-6: nth($spacers, 7) !default; // 40px
31
32
 
33
+ // Em spacer variables
34
+ $em-spacer-1: 0.0625em !default; // 1/16
35
+ $em-spacer-2: 0.125em !default; // 1/8
36
+ $em-spacer-3: 0.25em !default; // 1/4
37
+ $em-spacer-4: 0.375em !default; // 3/8
38
+ $em-spacer-5: 0.5em !default; // 1/2
39
+ $em-spacer-6: 0.75em !default; // 3/4
40
+
32
41
  // Fixed-width container variables
33
42
  $container-width: 980px !default;
34
43
  $grid-gutter: 10px !default;
@@ -51,8 +60,13 @@ $breakpoints: (
51
60
  sm: $width-sm,
52
61
  // Medium screen / tablet
53
62
  md: $width-md,
54
- // Large screen / desktop (980 + (12 * 2)) <= container + gutters
63
+ // Large screen / desktop (980 + (16 * 2)) <= container + gutters
55
64
  lg: $width-lg,
56
65
  // Extra large screen / wide desktop
57
66
  xl: $width-xl
58
67
  ) !default;
68
+
69
+ $responsive-variants: ("": "");
70
+ @each $key in map-keys($breakpoints) {
71
+ $responsive-variants: map-merge($responsive-variants, ($key: "-#{$key}"));
72
+ }
@@ -19,7 +19,7 @@ $box-shadow-extra-large: 0 10px 50px rgba($black, 0.07) !default;
19
19
 
20
20
  // Tooltips
21
21
  $tooltip-max-width: 250px !default;
22
- $tooltip-background-color: rgba($black, 0.8) !default;
22
+ $tooltip-background-color: $black;
23
23
  $tooltip-text-color: $white !default;
24
24
  $tooltip-delay: 0.4s !default;
25
25
  $tooltip-duration: 0.1s !default;
@@ -4,6 +4,7 @@
4
4
  @import "./lib/borders.scss";
5
5
  @import "./lib/box-shadow.scss";
6
6
  @import "./lib/colors.scss";
7
+ @import "./lib/details.scss";
7
8
  @import "./lib/flexbox.scss";
8
9
  @import "./lib/layout.scss";
9
10
  @import "./lib/margin.scss";
@@ -1,7 +1,7 @@
1
1
  // This file contains reusable animations for github.
2
2
  // stylelint-disable primer/selector-no-utility
3
- // Fade in
4
- // A class to fade in an element on the page.
3
+
4
+ /* Fade in an element */
5
5
  .anim-fade-in {
6
6
  animation-name: fade-in;
7
7
  animation-duration: 1s;
@@ -22,6 +22,27 @@
22
22
  }
23
23
  }
24
24
 
25
+ /* Fade out an element */
26
+ .anim-fade-out {
27
+ animation-name: fade-out;
28
+ animation-duration: 1s;
29
+ animation-timing-function: ease-out;
30
+
31
+ &.fast {
32
+ animation-duration: 0.3s;
33
+ }
34
+ }
35
+
36
+ @keyframes fade-out {
37
+ 0% {
38
+ opacity: 1;
39
+ }
40
+
41
+ 100% {
42
+ opacity: 0;
43
+ }
44
+ }
45
+
25
46
  /* Fade in and slide up an element */
26
47
  .anim-fade-up {
27
48
  opacity: 0;
@@ -151,3 +172,13 @@
151
172
  transform: scale3d(1, 1, 1);
152
173
  }
153
174
  }
175
+
176
+ /* Increase scale of an element on hover */
177
+ .hover-grow {
178
+ transition: transform 0.3s;
179
+ backface-visibility: hidden;
180
+
181
+ &:hover {
182
+ transform: scale(1.025);
183
+ }
184
+ }
@@ -1,63 +1,100 @@
1
1
  // Border utilities
2
2
  // stylelint-disable block-opening-brace-space-before, primer/selector-no-utility, comment-empty-line-before
3
3
 
4
- /* Add a gray border */
5
- .border { border: $border !important; }
6
- /* Add a gray border to the top */
7
- .border-top { border-top: $border !important; }
8
- /* Add a gray border to the right */
9
- .border-right { border-right: $border !important; }
10
- /* Add a gray border to the bottom */
11
- .border-bottom { border-bottom: $border !important; }
12
- /* Add a gray border to the left */
13
- .border-left { border-left: $border !important; }
4
+ /* Add a gray border on all sides */
5
+ .border { border: $border !important; }
6
+
14
7
  /* Add a gray border to the left and right */
15
8
  .border-y {
16
9
  border-top: $border !important;
17
10
  border-bottom: $border !important;
18
11
  }
19
12
 
13
+ /* Remove borders from all sides */
14
+ .border-0 { border: 0 !important; }
15
+
20
16
  .border-dashed { border-style: dashed !important; }
21
17
 
22
18
  /* Use with .border to turn the border blue */
23
- .border-blue { border-color: $border-blue !important; }
19
+ .border-blue { border-color: $border-blue !important; }
24
20
  /* Use with .border to turn the border blue-light */
25
21
  .border-blue-light { border-color: $border-blue-light !important; }
26
22
  /* Use with .border to turn the border green */
27
- .border-green { border-color: $border-green !important; }
23
+ .border-green { border-color: $border-green !important; }
28
24
  /* Use with .border to turn the border green light */
29
25
  .border-green-light { border-color: $border-green-light !important; }
30
26
  /* Use with .border to turn the border red */
31
- .border-red { border-color: $border-red !important; }
27
+ .border-red { border-color: $border-red !important; }
32
28
  /* Use with .border to turn the border red-light */
33
29
  .border-red-light { border-color: $border-red-light !important; }
34
30
  /* Use with .border to turn the border purple */
35
- .border-purple { border-color: $border-purple !important; }
31
+ .border-purple { border-color: $border-purple !important; }
36
32
  /* Use with .border to turn the border yellow */
37
- .border-yellow { border-color: $border-yellow !important; }
33
+ .border-yellow { border-color: $border-yellow !important; }
38
34
  /* Use with .border to turn the border gray-light */
39
- .border-gray-light { border-color: $border-gray-light !important; }
35
+ .border-gray-light { border-color: $border-gray-light !important; }
40
36
  /* Use with .border to turn the border gray-dark */
41
- .border-gray-dark { border-color: $border-gray-dark !important; }
37
+ .border-gray-dark { border-color: $border-gray-dark !important; }
42
38
  /* Use with .border to turn the border rgba black 0.15 */
43
- .border-black-fade { border-color: $border-black-fade !important; }
44
-
45
- // Without borders
46
- /* Remove all borders */
47
- .border-0 { border: 0 !important; }
48
- /* Remove the top border */
49
- .border-top-0 { border-top: 0 !important; }
50
- /* Remove the right border */
51
- .border-right-0 { border-right: 0 !important; }
52
- /* Remove the bottom border */
53
- .border-bottom-0 { border-bottom: 0 !important; }
54
- /* Remove the left border */
55
- .border-left-0 { border-left: 0 !important; }
56
-
57
- // Rounded corners
58
- /* Remove the border-radius */
59
- .rounded-0 { border-radius: 0 !important; }
60
- /* Add a border-radius to all corners */
61
- .rounded-1 { border-radius: $border-radius !important; }
62
- /* Add a 2x border-radius to all corners */
63
- .rounded-2 { border-radius: $border-radius * 2 !important; }
39
+ .border-black-fade { border-color: $border-black-fade !important; }
40
+
41
+ $edges: (
42
+ top: (top-left, top-right),
43
+ right: (top-right, bottom-right),
44
+ bottom: (bottom-right, bottom-left),
45
+ left: (bottom-left, top-left)
46
+ );
47
+
48
+ @each $breakpoint, $variant in $responsive-variants {
49
+ @include breakpoint($breakpoint) {
50
+ /* Add a gray border */
51
+ /* Add a gray border to the top */
52
+ .border#{$variant}-top { border-top: $border !important; }
53
+ /* Add a gray border to the right */
54
+ .border#{$variant}-right { border-right: $border !important; }
55
+ /* Add a gray border to the bottom */
56
+ .border#{$variant}-bottom { border-bottom: $border !important; }
57
+ /* Add a gray border to the left */
58
+ .border#{$variant}-left { border-left: $border !important; }
59
+
60
+ /* Remove the top border */
61
+ .border#{$variant}-top-0 { border-top: 0 !important; }
62
+ /* Remove the right border */
63
+ .border#{$variant}-right-0 { border-right: 0 !important; }
64
+ /* Remove the bottom border */
65
+ .border#{$variant}-bottom-0 { border-bottom: 0 !important; }
66
+ /* Remove the left border */
67
+ .border#{$variant}-left-0 { border-left: 0 !important; }
68
+
69
+ // Rounded corners
70
+ /* Remove the border-radius */
71
+ .rounded#{$variant}-0 { border-radius: 0 !important; }
72
+ /* Add a border-radius to all corners */
73
+ .rounded#{$variant}-1 { border-radius: $border-radius !important; }
74
+ /* Add a 2x border-radius to all corners */
75
+ .rounded#{$variant}-2 { border-radius: $border-radius * 2 !important; }
76
+
77
+ @each $edge, $corners in $edges {
78
+ .rounded#{$variant}-#{$edge}-0 {
79
+ @each $corner in $corners {
80
+ border-#{$corner}-radius: 0 !important;
81
+ }
82
+ }
83
+
84
+ .rounded#{$variant}-#{$edge}-1 {
85
+ @each $corner in $corners {
86
+ border-#{$corner}-radius: $border-radius !important;
87
+ }
88
+ }
89
+
90
+ .rounded#{$variant}-#{$edge}-2 {
91
+ @each $corner in $corners {
92
+ border-#{$corner}-radius: $border-radius * 2 !important;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+
99
+ /* Add a 50% border-radius to make something into a circle */
100
+ .circle { border-radius: 50% !important; }
@@ -0,0 +1,18 @@
1
+ // stylelint-disable selector-max-type
2
+ .details-overlay[open] > summary::before {
3
+ position: fixed;
4
+ top: 0;
5
+ right: 0;
6
+ bottom: 0;
7
+ left: 0;
8
+ z-index: 80;
9
+ display: block;
10
+ cursor: default;
11
+ content: " ";
12
+ background: transparent;
13
+ }
14
+
15
+ .details-overlay-dark[open] > summary::before {
16
+ z-index: 99;
17
+ background: $black-fade-50;
18
+ }
@@ -1,80 +1,52 @@
1
1
  // Flex utility classes
2
-
3
2
  // stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before
4
3
  // stylelint-disable comment-empty-line-before
5
4
 
6
- // - - - - - - - - - - - - - - - - - - - - - - -
7
- // This is a template for generating the flex utility classes.
8
- // A version of each class will be generated without a breakpoint,
9
- // along with a variant for each breakpoint.
10
- // - - - - - - - - - - - - - - - - - - - - - - -
11
-
12
- @mixin flexUtility($breakpoint: 0) {
13
-
14
- // This is the breakpoint that will be inserted into class names
15
- $breakstring: -#{$breakpoint}; // example: `.d-sm-flex`
16
-
17
- // If there's no breakpoint, the $breakstring value will be blank.
18
- @if $breakpoint == 0 {
19
- $breakstring: ""; // example: `.d-flex`
20
- }
21
-
22
- // Flexbox classes
23
- // Container
24
-
25
- .flex#{$breakstring}-row { flex-direction: row !important; }
26
- .flex#{$breakstring}-row-reverse { flex-direction: row-reverse !important; }
27
- .flex#{$breakstring}-column { flex-direction: column !important; }
28
-
29
- .flex#{$breakstring}-wrap { flex-wrap: wrap !important; }
30
- .flex#{$breakstring}-nowrap { flex-wrap: nowrap !important; }
31
-
32
- .flex#{$breakstring}-justify-start { justify-content: flex-start !important; }
33
- .flex#{$breakstring}-justify-end { justify-content: flex-end !important; }
34
- .flex#{$breakstring}-justify-center { justify-content: center !important; }
35
- .flex#{$breakstring}-justify-between { justify-content: space-between !important; }
36
- .flex#{$breakstring}-justify-around { justify-content: space-around !important; }
37
-
38
- .flex#{$breakstring}-items-start { align-items: flex-start !important; }
39
- .flex#{$breakstring}-items-end { align-items: flex-end !important; }
40
- .flex#{$breakstring}-items-center { align-items: center !important; }
41
- .flex#{$breakstring}-items-baseline { align-items: baseline !important; }
42
- .flex#{$breakstring}-items-stretch { align-items: stretch !important; }
43
-
44
- .flex#{$breakstring}-content-start { align-content: flex-start !important; }
45
- .flex#{$breakstring}-content-end { align-content: flex-end !important; }
46
- .flex#{$breakstring}-content-center { align-content: center !important; }
47
- .flex#{$breakstring}-content-between { align-content: space-between !important; }
48
- .flex#{$breakstring}-content-around { align-content: space-around !important; }
49
- .flex#{$breakstring}-content-stretch { align-content: stretch !important; }
50
-
51
- // Item
52
- .flex#{$breakstring}-auto { flex: 1 1 auto !important; }
53
- .flex#{$breakstring}-shrink-0 { flex-shrink: 0 !important; }
54
-
55
- .flex#{$breakstring}-self-auto { align-self: auto !important; }
56
- .flex#{$breakstring}-self-start { align-self: flex-start !important; }
57
- .flex#{$breakstring}-self-end { align-self: flex-end !important; }
58
- .flex#{$breakstring}-self-center { align-self: center !important; }
59
- .flex#{$breakstring}-self-baseline { align-self: baseline !important; }
60
- .flex#{$breakstring}-self-stretch { align-self: stretch !important; }
61
-
62
- // Shorthand for equal width and height cols
63
- .flex#{$breakstring}-item-equal {
64
- flex-grow: 1;
65
- flex-basis: 0;
66
- }
67
- }
68
-
69
- // Generate basic flexbox classes
70
- @include flexUtility();
71
-
72
- // Loop through the breakpoint values to create responsive classes
73
- @each $breakpoint in map-keys($breakpoints) {
74
-
75
- // Loop through the spacer values
5
+ @each $breakpoint, $variant in $responsive-variants {
76
6
  @include breakpoint($breakpoint) {
77
- @include flexUtility($breakpoint);
7
+ // Flexbox classes
8
+ // Container
9
+ .flex#{$variant}-row { flex-direction: row !important; }
10
+ .flex#{$variant}-row-reverse { flex-direction: row-reverse !important; }
11
+ .flex#{$variant}-column { flex-direction: column !important; }
12
+
13
+ .flex#{$variant}-wrap { flex-wrap: wrap !important; }
14
+ .flex#{$variant}-nowrap { flex-wrap: nowrap !important; }
15
+
16
+ .flex#{$variant}-justify-start { justify-content: flex-start !important; }
17
+ .flex#{$variant}-justify-end { justify-content: flex-end !important; }
18
+ .flex#{$variant}-justify-center { justify-content: center !important; }
19
+ .flex#{$variant}-justify-between { justify-content: space-between !important; }
20
+ .flex#{$variant}-justify-around { justify-content: space-around !important; }
21
+
22
+ .flex#{$variant}-items-start { align-items: flex-start !important; }
23
+ .flex#{$variant}-items-end { align-items: flex-end !important; }
24
+ .flex#{$variant}-items-center { align-items: center !important; }
25
+ .flex#{$variant}-items-baseline { align-items: baseline !important; }
26
+ .flex#{$variant}-items-stretch { align-items: stretch !important; }
27
+
28
+ .flex#{$variant}-content-start { align-content: flex-start !important; }
29
+ .flex#{$variant}-content-end { align-content: flex-end !important; }
30
+ .flex#{$variant}-content-center { align-content: center !important; }
31
+ .flex#{$variant}-content-between { align-content: space-between !important; }
32
+ .flex#{$variant}-content-around { align-content: space-around !important; }
33
+ .flex#{$variant}-content-stretch { align-content: stretch !important; }
34
+
35
+ // Item
36
+ .flex#{$variant}-auto { flex: 1 1 auto !important; }
37
+ .flex#{$variant}-shrink-0 { flex-shrink: 0 !important; }
38
+
39
+ .flex#{$variant}-self-auto { align-self: auto !important; }
40
+ .flex#{$variant}-self-start { align-self: flex-start !important; }
41
+ .flex#{$variant}-self-end { align-self: flex-end !important; }
42
+ .flex#{$variant}-self-center { align-self: center !important; }
43
+ .flex#{$variant}-self-baseline { align-self: baseline !important; }
44
+ .flex#{$variant}-self-stretch { align-self: stretch !important; }
45
+
46
+ // Shorthand for equal width and height cols
47
+ .flex#{$variant}-item-equal {
48
+ flex-grow: 1;
49
+ flex-basis: 0;
50
+ }
78
51
  }
79
-
80
52
  }
@@ -30,6 +30,8 @@
30
30
  .v-align-text-top { vertical-align: text-top !important; }
31
31
  /* Vertical align to the bottom of the text */
32
32
  .v-align-text-bottom { vertical-align: text-bottom !important; }
33
+ /* Vertical align to the parent's baseline */
34
+ .v-align-baseline { vertical-align: baseline !important; }
33
35
 
34
36
  // Overflow utilities
35
37
  // overflow-hidden can also be used to create a new
@@ -48,23 +50,14 @@
48
50
  }
49
51
 
50
52
  // Floats
51
- /* Float to the right */
52
- .float-right { float: right !important; }
53
- /* Float to the left */
54
- .float-left { float: left !important; }
55
- /* Don't float left or right */
56
- .float-none { float: none !important; }
57
-
58
- // Responsive float utlities
59
- // .float-md-left, .float-lg-right, ...
60
- @each $breakpoint in map-keys($breakpoints) {
53
+ @each $breakpoint, $variant in $responsive-variants {
61
54
  @include breakpoint($breakpoint) {
62
- /* Float to the left at the #{$breakpoint} breakpoint */
63
- .float-#{$breakpoint}-left { float: left !important; }
64
- /* Float to the right at the #{$breakpoint} breakpoint */
65
- .float-#{$breakpoint}-right { float: right !important; }
66
- /* No float at the #{$breakpoint} breakpoint */
67
- .float-#{$breakpoint}-none { float: none !important; }
55
+ /* Float to the left */
56
+ .float#{$variant}-left { float: left !important; }
57
+ /* Float to the right */
58
+ .float#{$variant}-right { float: right !important; }
59
+ /* No float */
60
+ .float#{$variant}-none { float: none !important; }
68
61
  }
69
62
  }
70
63
 
@@ -74,23 +67,19 @@
74
67
  .width-fit { max-width: 100% !important; }
75
68
  /* Set the width to 100% */
76
69
  .width-full { width: 100% !important; }
70
+ /* Max height 100% */
71
+ .height-fit { max-height: 100% !important; }
77
72
  /* Set the height to 100% */
78
73
  .height-full { height: 100% !important; }
79
74
 
80
75
  /* Remove min-width from element */
81
76
  .min-width-0 { min-width: 0 !important; }
82
77
 
83
- // Direction utilities
84
-
85
- .direction-rtl { direction: rtl !important; }
86
-
87
- .direction-ltr { direction: ltr !important; }
88
-
89
- @each $breakpoint in map-keys($breakpoints) {
78
+ @each $breakpoint, $variant in $responsive-variants {
90
79
  @include breakpoint($breakpoint) {
91
- /* Set the direction to ltr at the #{$breakpoint} breakpoint */
92
- .direction-#{$breakpoint}-rtl { direction: rtl !important; }
93
- /* Set the direction to ltr at the #{$breakpoint} breakpoint */
94
- .direction-#{$breakpoint}-ltr { direction: ltr !important; }
80
+ /* Set the direction to rtl */
81
+ .direction#{$variant}-rtl { direction: rtl !important; }
82
+ /* Set the direction to ltr */
83
+ .direction#{$variant}-ltr { direction: ltr !important; }
95
84
  }
96
85
  }