material-sass 4.0.0.alpha5 → 4.0.0.alpha6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/material/addons-materialise/textarea-autosize.js +7 -5
  3. data/app/assets/javascripts/material/addons-materialise/wave.js +11 -8
  4. data/app/assets/javascripts/material/src/floating-label.js +5 -5
  5. data/app/assets/javascripts/material/src/navdrawer.js +7 -7
  6. data/app/assets/javascripts/material/src/tab-switch.js +15 -18
  7. data/app/assets/javascripts/material/src/util.js +1 -1
  8. data/app/assets/javascripts/material.js +24 -27
  9. data/app/assets/stylesheets/material/_mixins.scss +2 -0
  10. data/app/assets/stylesheets/material/_utilities.scss +3 -0
  11. data/app/assets/stylesheets/material/_variables.scss +24 -2
  12. data/app/assets/stylesheets/material/base/_base.scss +5 -482
  13. data/app/assets/stylesheets/material/base/_grid.scss +11 -0
  14. data/app/assets/stylesheets/material/base/_normalize.scss +253 -0
  15. data/app/assets/stylesheets/material/base/_reboot.scss +239 -0
  16. data/app/assets/stylesheets/material/base/_typography.scss +0 -10
  17. data/app/assets/stylesheets/material/bootstrap/_alert.scss +0 -1
  18. data/app/assets/stylesheets/material/bootstrap/_breadcrumb.scss +15 -10
  19. data/app/assets/stylesheets/material/bootstrap/_button-group.scss +21 -42
  20. data/app/assets/stylesheets/material/bootstrap/_carousel.scss +81 -126
  21. data/app/assets/stylesheets/material/bootstrap/_close.scss +1 -4
  22. data/app/assets/stylesheets/material/bootstrap/_custom-form.scss +14 -16
  23. data/app/assets/stylesheets/material/bootstrap/_form.scss +95 -52
  24. data/app/assets/stylesheets/material/bootstrap/_media.scss +6 -67
  25. data/app/assets/stylesheets/material/bootstrap/_nav.scss +23 -45
  26. data/app/assets/stylesheets/material/bootstrap/_pagination.scss +4 -14
  27. data/app/assets/stylesheets/material/bootstrap/_popover.scss +7 -5
  28. data/app/assets/stylesheets/material/bootstrap/_responsive-embed.scss +18 -5
  29. data/app/assets/stylesheets/material/bootstrap/{_animation.scss → _transition.scss} +11 -2
  30. data/app/assets/stylesheets/material/material/_card.scss +185 -123
  31. data/app/assets/stylesheets/material/material/_chip.scss +12 -12
  32. data/app/assets/stylesheets/material/material/_data-table.scss +0 -2
  33. data/app/assets/stylesheets/material/material/_dialog.scss +23 -17
  34. data/app/assets/stylesheets/material/material/_expansion-panel.scss +42 -183
  35. data/app/assets/stylesheets/material/material/_menu.scss +19 -4
  36. data/app/assets/stylesheets/material/material/_navdrawer.scss +16 -12
  37. data/app/assets/stylesheets/material/material/_progress-circular.scss +2 -2
  38. data/app/assets/stylesheets/material/material/_progress.scss +68 -92
  39. data/app/assets/stylesheets/material/material/_selection-control.scss +11 -28
  40. data/app/assets/stylesheets/material/material/_tab.scss +52 -117
  41. data/app/assets/stylesheets/material/material/_text-field-floating-label.scss +9 -4
  42. data/app/assets/stylesheets/material/material/_text-field-input-group.scss +37 -35
  43. data/app/assets/stylesheets/material/material/_text-field.scss +41 -32
  44. data/app/assets/stylesheets/material/material/_toolbar.scss +192 -306
  45. data/app/assets/stylesheets/material/material/_tooltip.scss +19 -20
  46. data/app/assets/stylesheets/material/material.scss +2 -2
  47. data/app/assets/stylesheets/material/mixins/_border-radius.scss +9 -19
  48. data/app/assets/stylesheets/material/mixins/_breakpoint.scss +11 -3
  49. data/app/assets/stylesheets/material/mixins/_form.scss +15 -30
  50. data/app/assets/stylesheets/material/mixins/_grid-framework.scss +58 -0
  51. data/app/assets/stylesheets/material/mixins/_grid.scss +6 -78
  52. data/app/assets/stylesheets/material/mixins/_transform.scss +9 -0
  53. data/app/assets/stylesheets/material/utilities/_border.scss +31 -5
  54. data/app/assets/stylesheets/material/utilities/_display.scss +37 -8
  55. data/app/assets/stylesheets/material/utilities/_flex.scss +140 -0
  56. data/app/assets/stylesheets/material/utilities/_float.scss +5 -3
  57. data/app/assets/stylesheets/material/utilities/_position.scss +24 -0
  58. data/app/assets/stylesheets/material/utilities/_sizing.scss +16 -0
  59. data/app/assets/stylesheets/material/utilities/_spacing.scss +56 -46
  60. data/app/assets/stylesheets/material/utilities/_text.scss +5 -3
  61. data/app/assets/stylesheets/material/variables/_grid.scss +16 -10
  62. data/app/assets/stylesheets/material/variables/_spacer.scss +22 -3
  63. data/app/assets/stylesheets/material/variables/_typography.scss +2 -0
  64. data/app/assets/stylesheets/material/variables/_variable-bootstrap.scss +24 -17
  65. data/app/assets/stylesheets/material/variables/_variable-material.scss +47 -52
  66. data/lib/material-sass/version.rb +1 -1
  67. metadata +9 -2
@@ -1,10 +1,17 @@
1
1
  .tooltip {
2
2
  display: block;
3
3
  font-size: $tooltip-font-size;
4
+ opacity: 0;
4
5
  position: absolute;
5
6
  z-index: $tooltip-zindex;
6
7
  @include reset-text;
7
8
 
9
+ &,
10
+ &.fade,
11
+ &.fade.show {
12
+ transition-property: opacity;
13
+ }
14
+
8
15
  &.bs-tether-element-attached-bottom,
9
16
  &.tooltip-top {
10
17
  margin-top: ($tooltip-margin * -1);
@@ -24,26 +31,6 @@
24
31
  &.tooltip-bottom {
25
32
  margin-top: $tooltip-margin;
26
33
  }
27
-
28
- &.fade {
29
- opacity: 0;
30
- transition-property: opacity;
31
-
32
- .tooltip-inner {
33
- transform: scale(0.87);
34
- @include transition-acceleration(transform);
35
- }
36
- }
37
-
38
- &.fade.in {
39
- opacity: $tooltip-opacity;
40
- transition-property: opacity;
41
-
42
- .tooltip-inner {
43
- transform: scale(1);
44
- @include transition-deceleration(transform);
45
- }
46
- }
47
34
  }
48
35
 
49
36
  .tooltip-inner {
@@ -51,9 +38,21 @@
51
38
  color: $tooltip-color;
52
39
  padding: $tooltip-padding-y $tooltip-padding-x;
53
40
  text-align: center;
41
+ transform: scale(0.87);
54
42
  @include border-radius($border-radius);
43
+ @include transition-acceleration(transform);
55
44
  }
56
45
 
46
+ // show
47
+ .tooltip.show {
48
+ opacity: $tooltip-opacity;
49
+
50
+ .tooltip-inner {
51
+ transform: scale(1);
52
+ @include transition-deceleration(transform);
53
+ }
54
+ }
55
+
57
56
  // desktop
58
57
  @include media-breakpoint-up(md) {
59
58
  .tooltip {
@@ -10,10 +10,9 @@
10
10
 
11
11
  //
12
12
  // bootstrap components
13
- // components covered in bootstrap's (v4.0.0-alpha.5) css but not in material design guidelines
13
+ // components covered in bootstrap's (v4.0.0-alpha.6) css but not in material design guidelines
14
14
  //
15
15
  @import "bootstrap/alert";
16
- @import "bootstrap/animation";
17
16
  @import "bootstrap/breadcrumb";
18
17
  @import "bootstrap/button-group";
19
18
  @import "bootstrap/carousel";
@@ -28,6 +27,7 @@
28
27
  @import "bootstrap/pagination";
29
28
  @import "bootstrap/popover";
30
29
  @import "bootstrap/responsive-embed";
30
+ @import "bootstrap/transition";
31
31
 
32
32
  //
33
33
  // material components
@@ -1,34 +1,24 @@
1
1
  @mixin border-radius($radius: $border-radius) {
2
- @if $enable-rounded {
3
- border-radius: $radius;
4
- }
2
+ border-radius: $radius;
5
3
  }
6
4
 
7
5
  // single side
8
6
  @mixin border-top-radius($radius: $border-radius) {
9
- @if $enable-rounded {
10
- border-top-left-radius: $radius;
11
- border-top-right-radius: $radius;
12
- }
7
+ border-top-left-radius: $radius;
8
+ border-top-right-radius: $radius;
13
9
  }
14
10
 
15
11
  @mixin border-right-radius($radius: $border-radius) {
16
- @if $enable-rounded {
17
- border-top-right-radius: $radius;
18
- border-bottom-right-radius: $radius;
19
- }
12
+ border-top-right-radius: $radius;
13
+ border-bottom-right-radius: $radius;
20
14
  }
21
15
 
22
16
  @mixin border-bottom-radius($radius: $border-radius) {
23
- @if $enable-rounded {
24
- border-bottom-right-radius: $radius;
25
- border-bottom-left-radius: $radius;
26
- }
17
+ border-bottom-right-radius: $radius;
18
+ border-bottom-left-radius: $radius;
27
19
  }
28
20
 
29
21
  @mixin border-left-radius($radius: $border-radius) {
30
- @if $enable-rounded {
31
- border-bottom-left-radius: $radius;
32
- border-top-left-radius: $radius;
33
- }
22
+ border-bottom-left-radius: $radius;
23
+ border-top-left-radius: $radius;
34
24
  }
@@ -1,16 +1,24 @@
1
+ @function breakpoint-infix($name) {
2
+ @return if(breakpoint-min($name) == null, "", "-#{$name}");
3
+ }
4
+
1
5
  @function breakpoint-max($name) {
2
6
  $next: breakpoint-next($name);
7
+
3
8
  @return if($next, breakpoint-min($next) - 1px, null);
4
9
  }
5
10
 
6
11
  @function breakpoint-min($name) {
7
12
  $min: map-get($grid-breakpoints, $name);
13
+
8
14
  @return if($min != 0, $min, null);
9
15
  }
10
16
 
11
- @function breakpoint-next($name, $names: map-keys($grid-breakpoints)) {
12
- $n: index($names, $name);
13
- @return if($n < length($names), nth($names, $n + 1), null);
17
+ @function breakpoint-next($name) {
18
+ $map: map-keys($grid-breakpoints);
19
+ $n: index($map, $name);
20
+
21
+ @return if($n < length($map), nth($map, $n + 1), null);
14
22
  }
15
23
 
16
24
  @mixin media-breakpoint-down($name) {
@@ -1,56 +1,41 @@
1
- @mixin floating-label-size($floating-label-height, $floating-label-padding-top, $font-size, $height, $line-height, $margin-bottom, $padding-top) {
2
- $form-control-padding-top: ($floating-label-height - $floating-label-padding-top - $line-height - ($height - $padding-top - $line-height));
1
+ @mixin floating-label-size($font-size, $height, $padding-top, $padding-bottom) {
2
+ $floating-label-line-height: ($height - $padding-top - $padding-bottom);
3
+ $floating-label-scale-percentage: ($floating-label-font-size-focus / $font-size);
3
4
 
4
- margin-bottom: $margin-bottom;
5
- padding-top: $floating-label-padding-top;
5
+ padding-top: ($floating-label-line-height * $floating-label-scale-percentage);
6
6
 
7
7
  > label {
8
8
  font-size: $font-size;
9
- line-height: $line-height;
9
+ line-height: $floating-label-line-height;
10
10
  // position
11
- top: ($floating-label-padding-top + $form-control-padding-top);
11
+ top: ($floating-label-line-height * $floating-label-scale-percentage + $padding-top);
12
12
  }
13
13
 
14
14
  &.has-value > label,
15
15
  &.is-focused > label {
16
- // position
17
- top: $floating-label-padding-top;
18
- transform: scale($floating-label-font-size-focus / $font-size);
19
- }
20
-
21
- > .form-control {
22
- padding-top: $form-control-padding-top;
23
- }
24
-
25
- > select.form-control {
26
- background-position: 100% ($form-control-padding-top + ($line-height - $material-icon-size / $font-size-root) / 2);
16
+ transform: scale($floating-label-scale-percentage);
27
17
  }
28
18
  }
29
19
 
30
- @mixin form-control-size($border-width, $font-size, $height, $line-height, $margin-bottom, $padding-top) {
20
+ @mixin form-control-size($border-width, $font-size, $height, $padding-top, $padding-bottom) {
31
21
  font-size: $font-size;
32
- line-height: $line-height;
33
- margin-bottom: $margin-bottom;
34
- padding: $padding-top 0 ($height - $padding-top - $line-height - $border-width / $font-size-root);
22
+ height: $height;
23
+ line-height: ($height - $padding-top - $padding-bottom);
24
+ padding: $padding-top 0 ($padding-bottom - $border-width / $font-size-root * 1rem);
35
25
 
36
26
  @if $border-width != 0px {
37
27
  &:focus {
38
- padding-bottom: ($height - $padding-top - $line-height - ($border-width + 1) / $font-size-root);
28
+ padding-bottom: ($padding-bottom - ($border-width + 1) / $font-size-root * 1rem);
39
29
  }
40
30
  }
41
31
  }
42
32
 
43
33
  @mixin form-control-validation($color) {
34
+ .col-form-label,
44
35
  .custom-control,
45
- .form-check,
36
+ .form-check-label,
46
37
  .form-control-feedback,
47
- .form-control-label,
48
- // &.checkbox label,
49
- // &.checkbox-inline label,
50
- &.form-check label,
51
- &.form-check-inline label {
52
- // &.radio label,
53
- // &.radio-inline label {
38
+ .form-control-label {
54
39
  color: $color;
55
40
  }
56
41
 
@@ -0,0 +1,58 @@
1
+ @mixin make-grid-columns() {
2
+ %grid-column {
3
+ min-height: 1px;
4
+ position: relative;
5
+ width: 100%;
6
+
7
+ @include make-gutters;
8
+ }
9
+
10
+ @each $breakpoint in map-keys($grid-breakpoints) {
11
+ $infix: breakpoint-infix($breakpoint);
12
+
13
+ @for $i from 1 through $grid-columns {
14
+ .col#{$infix}-#{$i} {
15
+ @extend %grid-column;
16
+ }
17
+ }
18
+
19
+ .col#{$infix} {
20
+ @extend %grid-column;
21
+ }
22
+
23
+ @include media-breakpoint-up($breakpoint) {
24
+ .col#{$infix} {
25
+ flex-basis: 0;
26
+ flex-grow: 1;
27
+ max-width: 100%;
28
+ }
29
+
30
+ .col#{$infix}-auto {
31
+ flex: 0 0 auto;
32
+ width: auto;
33
+ }
34
+
35
+ @for $i from 1 through $grid-columns {
36
+ .col#{$infix}-#{$i} {
37
+ @include make-col($i);
38
+ }
39
+ }
40
+
41
+ @each $modifier in (pull, push) {
42
+ @for $i from 0 through $grid-columns {
43
+ .#{$modifier}#{$infix}-#{$i} {
44
+ @include make-col-modifier($i, $modifier);
45
+ }
46
+ }
47
+ }
48
+
49
+ @for $i from 0 through ($grid-columns - 1) {
50
+ @if not ($infix == "" and $i == 0) {
51
+ .offset#{$infix}-#{$i} {
52
+ @include make-col-modifier($i, offset);
53
+ }
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
@@ -1,75 +1,10 @@
1
1
  //
2
2
  // make column
3
3
  //
4
- @mixin make-grid-columns() {
5
- %grid-column {
6
- min-height: 1px;
7
- position: relative;
8
- @include make-gutters;
9
-
10
- @if $enable-flex {
11
- width: 100%;
12
- }
13
- }
14
-
15
- $breakpoint-counter: 0;
16
-
17
- @each $breakpoint in map-keys($grid-breakpoints) {
18
- $breakpoint-counter: ($breakpoint-counter + 1);
19
-
20
- .col-#{$breakpoint} {
21
- @extend %grid-column;
22
- }
23
-
24
- @for $i from 1 through $grid-columns {
25
- .col-#{$breakpoint}-#{$i} {
26
- @extend %grid-column;
27
- }
28
- }
29
-
30
- @include media-breakpoint-up($breakpoint) {
31
- @if $enable-flex {
32
- .col-#{$breakpoint} {
33
- flex-basis: 0;
34
- flex-grow: 1;
35
- max-width: 100%;
36
- }
37
- }
38
-
39
- @for $i from 1 through $grid-columns {
40
- .col-#{$breakpoint}-#{$i} {
41
- @include make-col($i);
42
- }
43
- }
44
-
45
- @each $modifier in (pull, push) {
46
- @for $i from 0 through $grid-columns {
47
- .#{$modifier}-#{$breakpoint}-#{$i} {
48
- @include make-col-modifier($i, $modifier);
49
- }
50
- }
51
- }
52
-
53
- @for $i from 0 through ($grid-columns - 1) {
54
- @if $breakpoint-counter != 1 or $i != 0 {
55
- .offset-#{$breakpoint}-#{$i} {
56
- @include make-col-modifier($i, offset);
57
- }
58
- }
59
- }
60
- }
61
- }
62
- }
63
-
64
4
  // col
65
5
  @mixin make-col($size) {
66
- @if $enable-flex {
67
- flex: 0 0 percentage($size / $grid-columns);
68
- max-width: percentage($size / $grid-columns);
69
- } @else {
70
- float: left;
71
- width: percentage($size / $grid-columns);
72
- }
6
+ flex: 0 0 percentage($size / $grid-columns);
7
+ max-width: percentage($size / $grid-columns);
73
8
  }
74
9
 
75
10
  // gutter
@@ -118,11 +53,8 @@
118
53
  @mixin make-container() {
119
54
  margin-right: auto;
120
55
  margin-left: auto;
121
- @include make-gutters;
122
56
 
123
- @if not $enable-flex {
124
- @include clearfix;
125
- }
57
+ @include make-gutters;
126
58
  }
127
59
 
128
60
  @mixin make-container-max-widths() {
@@ -138,12 +70,8 @@
138
70
  // make row
139
71
  //
140
72
  @mixin make-row() {
141
- @include make-gutters(margin);
73
+ display: flex;
74
+ flex-wrap: wrap;
142
75
 
143
- @if $enable-flex {
144
- display: flex;
145
- flex-wrap: wrap;
146
- } @else {
147
- @include clearfix;
148
- }
76
+ @include make-gutters(margin);
149
77
  }
@@ -0,0 +1,9 @@
1
+ @mixin if-supports-3d-transforms() {
2
+ @media (-webkit-transform-3d) {
3
+ @content;
4
+ }
5
+
6
+ @supports (transform: translate3d(0, 0, 0)) {
7
+ @content;
8
+ }
9
+ }
@@ -1,3 +1,26 @@
1
+ //
2
+ // border
3
+ //
4
+ .border-0 {
5
+ border: 0 !important;
6
+ }
7
+
8
+ .border-top-0 {
9
+ border-top: 0 !important;
10
+ }
11
+
12
+ .border-right-0 {
13
+ border-right: 0 !important;
14
+ }
15
+
16
+ .border-bottom-0 {
17
+ border-bottom: 0 !important;
18
+ }
19
+
20
+ .border-left-0 {
21
+ border-left: 0 !important;
22
+ }
23
+
1
24
  //
2
25
  // border radius
3
26
  //
@@ -5,6 +28,14 @@
5
28
  @include border-radius($border-radius);
6
29
  }
7
30
 
31
+ .rounded-0 {
32
+ border-radius: 0;
33
+ }
34
+
35
+ .rounded-circle {
36
+ border-radius: 50%;
37
+ }
38
+
8
39
  .rounded-top {
9
40
  @include border-top-radius($border-radius);
10
41
  }
@@ -20,8 +51,3 @@
20
51
  .rounded-left {
21
52
  @include border-left-radius($border-radius);
22
53
  }
23
-
24
- // circle
25
- .rounded-circle {
26
- border-radius: 50%;
27
- }
@@ -1,11 +1,40 @@
1
- .d-block {
2
- display: block !important;
3
- }
1
+ @each $breakpoint in map-keys($grid-breakpoints) {
2
+ @include media-breakpoint-up($breakpoint) {
3
+ $infix: breakpoint-infix($breakpoint);
4
4
 
5
- .d-inline {
6
- display: inline !important;
7
- }
5
+ .d#{$infix}-none {
6
+ display: none !important;
7
+ }
8
+
9
+ // block & flex
10
+ .d#{$infix}-block {
11
+ display: block !important;
12
+ }
13
+
14
+ .d#{$infix}-flex {
15
+ display: flex !important;
16
+ }
17
+
18
+ // inline
19
+ .d#{$infix}-inline {
20
+ display: inline !important;
21
+ }
22
+
23
+ .d#{$infix}-inline-block {
24
+ display: inline-block !important;
25
+ }
26
+
27
+ .d#{$infix}-inline-flex {
28
+ display: inline-flex !important;
29
+ }
8
30
 
9
- .d-inline-block {
10
- display: inline-block !important;
31
+ // table
32
+ .d#{$infix}-table {
33
+ display: table !important;
34
+ }
35
+
36
+ .d#{$infix}-table-cell {
37
+ display: table-cell !important;
38
+ }
39
+ }
11
40
  }
@@ -0,0 +1,140 @@
1
+ @each $breakpoint in map-keys($grid-breakpoints) {
2
+ @include media-breakpoint-up($breakpoint) {
3
+ $infix: breakpoint-infix($breakpoint);
4
+
5
+ // align content
6
+ .align-content#{$infix}-around {
7
+ align-content: space-around !important;
8
+ }
9
+
10
+ .align-content#{$infix}-between {
11
+ align-content: space-between !important;
12
+ }
13
+
14
+ .align-content#{$infix}-center {
15
+ align-content: center !important;
16
+ }
17
+
18
+ .align-content#{$infix}-end {
19
+ align-content: flex-end !important;
20
+ }
21
+
22
+ .align-content#{$infix}-start {
23
+ align-content: flex-start !important;
24
+ }
25
+
26
+ .align-content#{$infix}-stretch {
27
+ align-content: stretch !important;
28
+ }
29
+
30
+ // align item
31
+ .align-items#{$infix}-baseline {
32
+ align-items: baseline !important;
33
+ }
34
+
35
+ .align-items#{$infix}-center {
36
+ align-items: center !important;
37
+ }
38
+
39
+ .align-items#{$infix}-start {
40
+ align-items: flex-start !important;
41
+ }
42
+
43
+ .align-items#{$infix}-end {
44
+ align-items: flex-end !important;
45
+ }
46
+
47
+ .align-items#{$infix}-stretch {
48
+ align-items: stretch !important;
49
+ }
50
+
51
+ // align self
52
+ .align-self#{$infix}-auto {
53
+ align-self: auto !important;
54
+ }
55
+
56
+ .align-self#{$infix}-baseline {
57
+ align-self: baseline !important;
58
+ }
59
+
60
+ .align-self#{$infix}-center {
61
+ align-self: center !important;
62
+ }
63
+
64
+ .align-self#{$infix}-end {
65
+ align-self: flex-end !important;
66
+ }
67
+
68
+ .align-self#{$infix}-start {
69
+ align-self: flex-start !important;
70
+ }
71
+
72
+ .align-self#{$infix}-stretch {
73
+ align-self: stretch !important;
74
+ }
75
+
76
+ // direction
77
+ .flex#{$infix}-column {
78
+ flex-direction: column !important;
79
+ }
80
+
81
+ .flex#{$infix}-column-reverse {
82
+ flex-direction: column-reverse !important;
83
+ }
84
+
85
+ .flex#{$infix}-row {
86
+ flex-direction: row !important;
87
+ }
88
+
89
+ .flex#{$infix}-row-reverse {
90
+ flex-direction: row-reverse !important;
91
+ }
92
+
93
+ // justify content
94
+ .justify-content#{$infix}-around {
95
+ justify-content: space-around !important;
96
+ }
97
+
98
+ .justify-content#{$infix}-between {
99
+ justify-content: space-between !important;
100
+ }
101
+
102
+ .justify-content#{$infix}-center {
103
+ justify-content: center !important;
104
+ }
105
+
106
+ .justify-content#{$infix}-end {
107
+ justify-content: flex-end !important;
108
+ }
109
+
110
+ .justify-content#{$infix}-start {
111
+ justify-content: flex-start !important;
112
+ }
113
+
114
+ // order
115
+ .flex#{$infix}-first {
116
+ order: -1;
117
+ }
118
+
119
+ .flex#{$infix}-last {
120
+ order: 1;
121
+ }
122
+
123
+ .flex#{$infix}-unordered {
124
+ order: 0;
125
+ }
126
+
127
+ // wrap
128
+ .flex#{$infix}-nowrap {
129
+ flex-wrap: nowrap !important;
130
+ }
131
+
132
+ .flex#{$infix}-wrap {
133
+ flex-wrap: wrap !important;
134
+ }
135
+
136
+ .flex#{$infix}-wrap-reverse {
137
+ flex-wrap: wrap-reverse !important;
138
+ }
139
+ }
140
+ }
@@ -1,14 +1,16 @@
1
1
  @each $breakpoint in map-keys($grid-breakpoints) {
2
2
  @include media-breakpoint-up($breakpoint) {
3
- .float-#{$breakpoint}-left {
3
+ $infix: breakpoint-infix($breakpoint);
4
+
5
+ .float#{$infix}-left {
4
6
  @include pull-left;
5
7
  }
6
8
 
7
- .float-#{$breakpoint}-none {
9
+ .float#{$infix}-none {
8
10
  float: none !important;
9
11
  }
10
12
 
11
- .float-#{$breakpoint}-right {
13
+ .float#{$infix}-right {
12
14
  @include pull-right;
13
15
  }
14
16
  }
@@ -0,0 +1,24 @@
1
+ //
2
+ // positioning
3
+ //
4
+ .fixed-bottom {
5
+ position: fixed;
6
+ right: 0;
7
+ bottom: 0;
8
+ left: 0;
9
+ z-index: map-get($toolbar-elevation-shadow, elevation);
10
+ }
11
+
12
+ .fixed-top {
13
+ position: fixed;
14
+ top: 0;
15
+ right: 0;
16
+ left: 0;
17
+ z-index: map-get($toolbar-elevation-shadow, elevation);
18
+ }
19
+
20
+ .sticky-top {
21
+ position: sticky;
22
+ top: 0;
23
+ z-index: map-get($toolbar-elevation-shadow, elevation);
24
+ }