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
@@ -5,105 +5,109 @@
5
5
  //
6
6
 
7
7
  .progress {
8
- appearance: none;
9
- background-color: transparent;
10
- background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(to right, #{$progress-bar-color} ,#{$progress-bar-color});
11
- border: 0;
12
- display: block;
13
- height: $progress-height;
14
- margin-bottom: $progress-margin-bottom;
8
+ display: flex;
15
9
  overflow: hidden;
16
10
  position: relative;
17
- width: 100%;
18
- }
19
-
20
- .progress::-webkit-progress-bar {
21
- background-color: transparent;
22
- background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(to right, #{$progress-bar-color} ,#{$progress-bar-color});
23
11
  }
24
12
 
25
- // bar
26
- .progress[value]::-ms-fill {
27
- background-color: $progress-bar-color;
28
- border: 0;
29
- @include border-right-radius($border-radius);
30
- }
31
-
32
- .progress[value]::-moz-progress-bar {
33
- background-color: $progress-bar-color;
34
- @include border-right-radius($border-radius);
35
- }
13
+ .progress-bar {
14
+ background-color: $progress-bar-bg;
15
+ height: $progress-height;
36
16
 
37
- .progress[value]::-webkit-progress-value {
38
- background-color: $progress-bar-color;
39
- @include border-right-radius($border-radius);
17
+ &::before {
18
+ background-color: inherit;
19
+ background-image: linear-gradient(to right, $progress-bar-mask, $progress-bar-mask);
20
+ content: "";
21
+ display: block;
22
+ position: absolute;
23
+ top: 0;
24
+ right: 0;
25
+ bottom: 0;
26
+ left: 0;
27
+ z-index: -1;
40
28
  }
29
+ }
41
30
 
42
- .progress[value="100"]::-moz-progress-bar {
43
- border-right-radius: 0;
31
+ //
32
+ // animated & striped
33
+ //
34
+ .progress-bar-animated {
35
+ &::before {
36
+ animation-direction: reverse;
37
+ animation-duration: $transition-duration;
38
+ animation-iteration-count: infinite;
39
+ animation-name: progress-bar-animation;
40
+ animation-timing-function: linear;
41
+ }
44
42
  }
45
43
 
46
- .progress[value="100"]::-webkit-progress-value {
47
- border-right-radius: 0;
48
- }
44
+ .progress-bar-animated,
45
+ .progress-bar-striped {
46
+ border-right: ($progress-height * 3) solid $progress-bar-mask;
47
+ box-sizing: content-box;
49
48
 
50
- // colour
51
- @each $color in $palettes {
52
- $i: index($palettes, $color);
49
+ &[style*="width:100%"],
50
+ &[style*="width: 100%"] {
51
+ border-right: 0;
52
+ }
53
53
 
54
- .progress-#{$color} {
54
+ &::before {
55
55
  background-color: transparent;
56
- background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(to right, #{nth($palettes-color, $i)} ,#{nth($palettes-color, $i)});
57
-
58
- &::-webkit-progress-bar {
59
- background-color: transparent;
60
- background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(to right, #{nth($palettes-color, $i)} ,#{nth($palettes-color, $i)});
61
- }
56
+ background-image: repeating-radial-gradient(#{$progress-height / 2} #{$progress-height / 2}, #{$black-divider}, #{$black-divider} #{$progress-height / 2}, transparent #{$progress-height / 2}, transparent 100%);
57
+ background-image: -webkit-repeating-radial-gradient(#{$progress-height / 2} #{$progress-height / 2}, #{$black-divider}, #{$black-divider} #{$progress-height / 2}, transparent #{$progress-height / 2}, transparent 100%);
58
+ background-position: 0 0;
59
+ background-repeat: repeat-x;
60
+ background-size: ($progress-height * 3) ($progress-height * 3);
62
61
  }
62
+ }
63
63
 
64
- .progress-#{$color}[value] {
65
- // filled-in portion of the bar
66
- &::-ms-fill {
67
- background-color: nth($palettes-color, $i);
68
- }
69
- &::-moz-progress-bar {
70
- background-color: nth($palettes-color, $i);
71
- }
72
- &::-webkit-progress-value {
73
- background-color: nth($palettes-color, $i);
74
- }
64
+ @keyframes progress-bar-animation {
65
+ from {
66
+ background-position: 0 0;
67
+ }
68
+ to {
69
+ background-position: ($progress-height * 3) 0;
75
70
  }
76
71
  }
77
72
 
78
73
  //
79
74
  // indeterminate
80
75
  //
81
- .progress-animated,
82
- .progress-indeterminate {
76
+ .progress-bar-indeterminate {
77
+ background-image: linear-gradient(to right, $progress-bar-mask, $progress-bar-mask);
78
+ position: relative;
79
+ width: 100% !important;
80
+
83
81
  &::after,
84
82
  &::before {
85
83
  animation-duration: 2s;
86
84
  animation-iteration-count: infinite;
87
85
  animation-timing-function: linear;
88
- background-color: $progress-bar-color;
86
+ width: 0%;
87
+ @include border-radius($border-radius);
88
+ }
89
+
90
+ &::after {
91
+ animation-name: progress-bar-indeterminate-after;
92
+ background-color: inherit;
89
93
  content: "";
90
94
  display: block;
91
95
  position: absolute;
92
96
  top: 0;
93
97
  bottom: 0;
94
98
  left: 0;
95
- width: 0%;
96
- @include border-radius($border-radius);
97
- }
98
- &::after {
99
- animation-name: progress-indeterminate-after;
100
99
  }
100
+
101
101
  &::before {
102
- animation-name: progress-indeterminate-before;
102
+ animation-name: progress-bar-indeterminate-before;
103
+ background-image: none;
104
+ // position
105
+ right: auto;
106
+ z-index: 0;
103
107
  }
104
108
  }
105
109
 
106
- @keyframes progress-indeterminate-after {
110
+ @keyframes progress-bar-indeterminate-after {
107
111
  0% {
108
112
  // position
109
113
  left: 0%;
@@ -121,7 +125,7 @@
121
125
  }
122
126
  }
123
127
 
124
- @keyframes progress-indeterminate-before {
128
+ @keyframes progress-bar-indeterminate-before {
125
129
  0%,
126
130
  62.5% {
127
131
  // position
@@ -144,31 +148,3 @@
144
148
  width: 25%;
145
149
  }
146
150
  }
147
-
148
- .progress-animated[value],
149
- .progress-indeterminate[value] {
150
- &::-ms-fill {
151
- background-color: transparent;
152
- }
153
- &::-moz-progress-bar {
154
- background-color: transparent;
155
- }
156
- &::-webkit-progress-value {
157
- background-color: transparent;
158
- }
159
- }
160
-
161
- // colour
162
- @each $color in $palettes {
163
- $i: index($palettes, $color);
164
-
165
- .progress-animated,
166
- .progress-indeterminate {
167
- &.progress-#{$color} {
168
- &::after,
169
- &::before {
170
- background-color: nth($palettes-color, $i);
171
- }
172
- }
173
- }
174
- }
@@ -1,26 +1,23 @@
1
1
  .custom-control {
2
2
  cursor: pointer;
3
- display: inline;
3
+ display: inline-flex;
4
4
  font-size: $font-size-base;
5
+ margin-right: ($selection-control-spacer-x * 2);
6
+ min-height: ($font-size-base * $line-height-base);
5
7
  padding-left: ($selection-control-indicator-size / $font-size-root + $selection-control-spacer-x);
6
8
  position: relative;
7
-
8
- + .custom-control {
9
- margin-left: ($selection-control-spacer-x * 2);
10
- }
11
9
  }
12
10
 
13
11
  .custom-control-indicator {
14
12
  background-position: 50% 50%;
15
13
  background-repeat: no-repeat;
16
- background-size: $selection-control-indicator-size;
14
+ background-size: $selection-control-indicator-size $selection-control-indicator-size;
17
15
  display: block;
18
16
  height: $selection-control-indicator-size;
19
- line-height: $selection-control-indicator-size;
17
+ pointer-events: none;
20
18
  position: absolute;
21
- top: (($font-size-base - $selection-control-indicator-size / $font-size-root) / 2);
19
+ top: (($font-size-base * $line-height-base - $selection-control-indicator-size / $font-size-root) / 2);
22
20
  left: 0;
23
- text-align: center;
24
21
  user-select: none;
25
22
  width: $selection-control-indicator-size;
26
23
 
@@ -71,8 +68,6 @@
71
68
  }
72
69
 
73
70
  .custom-control-indicator {
74
- pointer-events: none;
75
-
76
71
  &::before {
77
72
  display: none;
78
73
  }
@@ -82,24 +77,12 @@
82
77
 
83
78
  // stacked layout
84
79
  .custom-controls-stacked {
85
- // .custom-control-indicator {
86
- // // position
87
- // top: (($font-size-base * $line-height-base - ($selection-control-indicator-size) / $font-size-root) / 2);
88
- // }
89
- .custom-control {
90
- &::after {
91
- content: "";
92
- display: block;
93
- margin-bottom: $selection-control-spacer-y;
94
- }
95
-
96
- &:last-child::after {
97
- display: none;
98
- }
80
+ display: flex;
81
+ flex-direction: column;
99
82
 
100
- + .custom-control {
101
- margin-left: 0;
102
- }
83
+ .custom-control {
84
+ margin-right: 0;
85
+ margin-bottom: $selection-control-spacer-y;
103
86
  }
104
87
  }
105
88
 
@@ -3,34 +3,21 @@
3
3
  //
4
4
 
5
5
  .nav-tabs {
6
- line-height: 0;
7
- position: relative;
8
-
9
- @if $enable-flex {
10
- display: flex;
11
- flex-wrap: none;
12
- } @else {
13
- letter-spacing: -0.25em;
14
- white-space: nowrap;
15
- }
16
-
17
- .nav-item {
18
- line-height: 0;
19
-
20
- @if not $enable-flex {
21
- display: inline-block;
22
- letter-spacing: normal;
23
- white-space: normal;
24
- }
25
- }
6
+ box-shadow: inset 0 -1px 0 $nav-tab-border-color;
26
7
 
27
8
  .nav-link {
9
+ align-items: center;
28
10
  color: inherit;
11
+ display: flex;
29
12
  font-size: $nav-tab-link-font-size;
30
13
  font-weight: $nav-tab-link-font-weight;
14
+ height: 100%;
15
+ justify-content: center;
31
16
  line-height: 1;
17
+ min-height: $nav-tab-link-height;
32
18
  opacity: $nav-tab-link-opacity;
33
19
  padding: (($nav-tab-link-height - $nav-tab-link-font-size * 2) / 2) $nav-tab-link-padding-x;
20
+ position: relative;
34
21
  text-transform: uppercase;
35
22
  @include transition-standard(background-color, opacity);
36
23
 
@@ -47,19 +34,6 @@
47
34
  @include transition-standard(opacity);
48
35
  }
49
36
 
50
- @if $enable-flex {
51
- align-items: center;
52
- display: flex;
53
- height: 100%;
54
- justify-content: center;
55
- min-height: $nav-tab-link-height;
56
- } @else {
57
- display: table-cell;
58
- height: $nav-tab-link-height;
59
- text-align: center;
60
- vertical-align: middle;
61
- }
62
-
63
37
  @include media-breakpoint-up(lg) {
64
38
  padding-right: $nav-tab-link-padding-x-lg;
65
39
  padding-left: $nav-tab-link-padding-x-lg;
@@ -72,12 +46,12 @@
72
46
 
73
47
  &:active,
74
48
  &.active {
75
- opacity: 1;
49
+ opacity: $nav-tab-link-opacity-visible;
76
50
  }
77
51
 
78
52
  &.active {
79
53
  &::before {
80
- opacity: 1;
54
+ opacity: $nav-tab-link-opacity-visible;
81
55
  }
82
56
  }
83
57
 
@@ -85,112 +59,73 @@
85
59
  &.disabled {
86
60
  background-color: transparent;
87
61
  color: $nav-link-color-disabled;
88
- opacity: 1;
89
- }
90
- }
91
- }
92
-
93
- .nav-tabs-material {
94
- .nav-link {
95
- &::before {
96
- transition: none;
97
- }
98
-
99
- // active, focus, hover
100
- &.active::before {
101
- transition-delay: $transition-duration;
102
- transition-duration: 0s;
103
- transition-property: opacity;
62
+ opacity: $nav-tab-link-opacity-visible;
104
63
  }
105
64
  }
106
65
  }
107
66
 
108
67
  // variation
109
- .nav-tabs-bordered {
110
- box-shadow: 0 1px 0 $nav-tab-border-color;
111
- }
112
-
113
- .nav-tabs-centered {
114
- @if $enable-flex {
115
- justify-content: center;
116
- } @else {
117
- text-align: center;
68
+ .nav-tabs {
69
+ &.border-0,
70
+ &.border-bottom-0 {
71
+ box-shadow: none;
118
72
  }
119
- }
120
73
 
121
- .nav-tabs-fixed {
122
- @if $enable-flex {
123
- .nav-item {
124
- flex-basis: 0;
125
- flex-grow: 1;
74
+ &.nav-justified {
75
+ .nav-link {
126
76
  min-width: $nav-tab-link-min-width;
77
+
127
78
  @include media-breakpoint-up(lg) {
128
79
  min-width: $nav-tab-link-min-width-lg;
129
80
  }
130
81
  }
131
- } @else {
132
- letter-spacing: normal;
133
- width: 100%;
134
-
135
- .nav-item {
136
- display: table-cell;
137
- min-width: $nav-tab-link-min-width;
138
- width: 1%;
139
- }
140
-
141
- .nav-link {
142
- max-width: 100%;
143
- width: 99999px;
144
- }
145
82
  }
146
83
 
147
- .nav-link {
148
- @include text-truncate;
149
- }
150
- }
151
-
152
- .nav-tabs-scrollable {
153
- overflow-x: auto;
154
- overflow-y: hidden;
155
- -webkit-overflow-scrolling: touch;
156
-
157
- .nav-link {
158
- max-width: $nav-tab-link-max-width;
159
- @include text-truncate;
84
+ &.nav-scrollable {
85
+ overflow-x: auto;
86
+ overflow-y: visible;
87
+ -webkit-overflow-scrolling: touch;
160
88
 
161
- @if $enable-flex {
89
+ .nav-link {
90
+ max-width: $nav-tab-link-max-width;
162
91
  min-width: $nav-tab-link-min-width;
92
+
163
93
  @include media-breakpoint-up(lg) {
164
94
  min-width: $nav-tab-link-min-width-lg;
165
95
  }
166
- } @else {
167
- width: $nav-tab-link-min-width;
168
- @include media-breakpoint-up(lg) {
169
- width: $nav-tab-link-min-width-lg;
170
- }
171
96
  }
172
97
  }
173
98
  }
174
99
 
175
- //
176
- // indicator
177
- //
178
- .nav-tabs-indicator {
179
- background-color: $nav-tab-indicator-bg;
180
- height: $nav-tab-indicator-height;
181
- display: none;
182
- position: absolute;
183
- bottom: 0;
184
-
185
- &.animate {
186
- transition: left ($transition-duration / 2) $transition-timing-function-standard ($transition-duration / 2), right $transition-duration $transition-timing-function-standard;
187
-
188
- &.reverse {
189
- transition: left $transition-duration $transition-timing-function-standard, right ($transition-duration / 2) $transition-timing-function-standard ($transition-duration / 2);
190
- }
100
+ .nav-tabs-material {
101
+ position: relative;
102
+
103
+ .nav-link::before {
104
+ transition: none;
191
105
  }
192
106
 
193
- &.in {
194
- display: block;
107
+ .nav-tabs-indicator {
108
+ background-color: $nav-tab-indicator-bg;
109
+ height: $nav-tab-indicator-height;
110
+ display: none;
111
+ position: absolute;
112
+ bottom: 0;
113
+
114
+ &.show {
115
+ display: block;
116
+ }
195
117
  }
118
+
119
+ // animation
120
+ &.animate {
121
+ .nav-link::before {
122
+ opacity: 0;
123
+ }
124
+
125
+ .nav-tabs-indicator {
126
+ transition-duration: $transition-duration;
127
+ transition-property: left, right;
128
+ transition-timing-function: $transition-timing-function-standard;
129
+ }
130
+ }
196
131
  }
@@ -1,6 +1,6 @@
1
1
  .floating-label {
2
2
  position: relative;
3
- @include floating-label-size($floating-label-height, $floating-label-padding-top, $textfield-font-size, $textfield-height, $textfield-line-height, $textfield-margin-bottom, $textfield-padding-top);
3
+ @include floating-label-size($textfield-font-size, $textfield-height, $textfield-padding-top, $textfield-padding-bottom);
4
4
 
5
5
  > label {
6
6
  color: $floating-label-color;
@@ -18,12 +18,17 @@
18
18
  @include transition-standard(color, top, transform);
19
19
  }
20
20
 
21
+ &.has-value > label,
22
+ &.is-focused > label {
23
+ // position
24
+ top: 0;
25
+ }
26
+
21
27
  &.is-focused > label {
22
28
  color: $floating-label-color-focus;
23
29
  }
24
30
 
25
31
  > .form-control {
26
- margin-bottom: 0;
27
32
  position: relative;
28
33
 
29
34
  &::placeholder {
@@ -35,7 +40,7 @@
35
40
 
36
41
  // size
37
42
  .floating-label-lg {
38
- @include floating-label-size($floating-label-height-lg, $floating-label-padding-top-lg, $textfield-font-size-lg, $textfield-height-lg, $textfield-line-height-lg, $textfield-margin-bottom-lg, $textfield-padding-top-lg);
43
+ @include floating-label-size($textfield-font-size-lg, $textfield-height-lg, $textfield-padding-top-lg, $textfield-padding-bottom-lg);
39
44
 
40
45
  > .form-control {
41
46
  @extend .form-control-lg;
@@ -43,7 +48,7 @@
43
48
  }
44
49
 
45
50
  .floating-label-sm {
46
- @include floating-label-size($floating-label-height-sm, $floating-label-padding-top-sm, $textfield-font-size-sm, $textfield-height-sm, $textfield-line-height-sm, $textfield-margin-bottom-sm, $textfield-padding-top-sm);
51
+ @include floating-label-size($textfield-font-size-sm, $textfield-height-sm, $textfield-padding-top-sm, $textfield-padding-bottom-sm);
47
52
 
48
53
  > .form-control {
49
54
  @extend .form-control-sm;
@@ -1,43 +1,36 @@
1
1
  .input-group {
2
- margin-bottom: $textfield-margin-bottom;
2
+ display: flex;
3
3
  position: relative;
4
4
  width: 100%;
5
5
 
6
- @if $enable-flex {
7
- display: flex;
8
- } @else {
9
- border-collapse: separate;
10
- display: table;
11
- }
12
-
13
6
  .form-control {
14
- margin-bottom: 0;
15
- position: relative;
16
-
17
- @if $enable-flex {
18
- flex-grow: 1;
19
- } @else {
20
- display: table-cell;
21
- width: 100%;
22
- }
7
+ align-self: center;
8
+ flex: 1 1 auto;
9
+ width: 1%;
23
10
  }
24
11
  }
25
12
 
26
13
  .input-group-addon {
14
+ align-items: center;
27
15
  color: inherit;
28
- font-size: $textfield-font-size;
29
- line-height: $textfield-line-height;
30
- margin: 0 $spacer-md-x;
31
- min-width: ($textfield-height + $textfield-margin-bottom);
32
- padding-top: $textfield-padding-top;
33
- text-align: center;
34
- vertical-align: top;
16
+ display: flex;
17
+ font-size: ($material-icon-size / $font-size-root * 1rem / $textfield-font-size * $textfield-font-size);
18
+ justify-content: center;
19
+ line-height: 1;
20
+ min-width: $textfield-height;
35
21
  white-space: nowrap;
36
22
 
37
- @if not $enable-flex {
38
- display: table-cell;
39
- width: 1%;
23
+ + .form-control,
24
+ .form-control + & {
25
+ margin-left: $input-group-addon-margin-x;
40
26
  }
27
+ }
28
+
29
+ .input-group-btn {
30
+ display: flex;
31
+ justify-content: center;
32
+ margin-right: $input-group-addon-margin-x;
33
+ margin-left: $input-group-addon-margin-x;
41
34
 
42
35
  &:first-child {
43
36
  margin-left: 0;
@@ -46,24 +39,33 @@
46
39
  &:last-child {
47
40
  margin-right: 0;
48
41
  }
42
+
43
+ .btn {
44
+ min-width: 0;
45
+ @include border-radius(0);
46
+
47
+ &:first-child {
48
+ @include border-left-radius($border-radius);
49
+ }
50
+
51
+ &:last-child {
52
+ @include border-right-radius($border-radius);
53
+ }
54
+ }
49
55
  }
50
56
 
51
57
  // size
52
58
  .input-group-addon {
53
59
  &.form-control-lg,
54
60
  .input-group-lg > & {
55
- font-size: $textfield-font-size-lg;
56
- line-height: $textfield-line-height-lg;
57
- min-width: ($textfield-height-lg + $textfield-margin-bottom-lg);
58
- padding-top: $textfield-padding-top-lg;
61
+ font-size: ($material-icon-size / $font-size-root * 1rem / $textfield-font-size * $textfield-font-size-lg);
62
+ min-width: $textfield-height-lg;
59
63
  }
60
64
 
61
65
  &.form-control-sm,
62
66
  .input-group-sm > & {
63
- font-size: $textfield-font-size-sm;
64
- line-height: $textfield-line-height-sm;
65
- min-width: ($textfield-height-sm + $textfield-margin-bottom-sm);
66
- padding-top: $textfield-padding-top-sm;
67
+ font-size: ($material-icon-size / $font-size-root * 1rem / $textfield-font-size * $textfield-font-size-sm);
68
+ min-width: $textfield-height-sm;
67
69
  }
68
70
  }
69
71