comfortable_mexican_sofa 2.0.18 → 2.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +19 -14
  4. data/Gemfile +2 -2
  5. data/LICENSE +1 -1
  6. data/README.md +4 -2
  7. data/app/assets/config/manifest.js +0 -0
  8. data/app/assets/javascripts/comfy/admin/cms/application.js +1 -2
  9. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js +7 -0
  10. data/app/assets/javascripts/comfy/vendor/bootstrap.bundle.min.js.map +1 -0
  11. data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +1 -1
  12. data/app/assets/stylesheets/comfy/vendor/bootstrap/_badge.scss +8 -1
  13. data/app/assets/stylesheets/comfy/vendor/bootstrap/_breadcrumb.scss +0 -0
  14. data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +9 -18
  15. data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +9 -16
  16. data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +36 -48
  17. data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +37 -76
  18. data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +15 -8
  19. data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +5 -5
  20. data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +140 -54
  21. data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +34 -9
  22. data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +29 -34
  23. data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +8 -8
  24. data/app/assets/stylesheets/comfy/vendor/bootstrap/_grid.scss +0 -0
  25. data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +2 -2
  26. data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +43 -8
  27. data/app/assets/stylesheets/comfy/vendor/bootstrap/_jumbotron.scss +1 -0
  28. data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +39 -5
  29. data/app/assets/stylesheets/comfy/vendor/bootstrap/_media.scss +0 -0
  30. data/app/assets/stylesheets/comfy/vendor/bootstrap/_mixins.scss +6 -0
  31. data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +78 -17
  32. data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +2 -0
  33. data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +9 -14
  34. data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +0 -5
  35. data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +47 -59
  36. data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +1 -1
  37. data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +15 -6
  38. data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +47 -44
  39. data/app/assets/stylesheets/comfy/vendor/bootstrap/_root.scss +0 -0
  40. data/app/assets/stylesheets/comfy/vendor/bootstrap/_spinners.scss +55 -0
  41. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +5 -8
  42. data/app/assets/stylesheets/comfy/vendor/bootstrap/_toasts.scss +44 -0
  43. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +1 -1
  44. data/app/assets/stylesheets/comfy/vendor/bootstrap/_transitions.scss +0 -2
  45. data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +16 -16
  46. data/app/assets/stylesheets/comfy/vendor/bootstrap/_utilities.scss +2 -0
  47. data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +371 -177
  48. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +4 -7
  49. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +3 -3
  50. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +5 -3
  51. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_alert.scss +0 -0
  52. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +0 -0
  53. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_badge.scss +7 -2
  54. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_border-radius.scss +29 -1
  55. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_box-shadow.scss +16 -1
  56. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +3 -3
  57. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +12 -14
  58. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +4 -8
  59. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_clearfix.scss +0 -0
  60. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_deprecate.scss +10 -0
  61. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_float.scss +3 -0
  62. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +58 -13
  63. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_gradients.scss +0 -0
  64. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +3 -4
  65. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid.scss +9 -10
  66. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +1 -1
  67. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_image.scss +2 -2
  68. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +0 -0
  69. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_lists.scss +0 -0
  70. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_nav-divider.scss +0 -0
  71. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_pagination.scss +1 -1
  72. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_reset-text.scss +1 -1
  73. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_resize.scss +0 -0
  74. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +0 -0
  75. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_size.scss +1 -0
  76. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_table-row.scss +10 -1
  77. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-emphasis.scss +5 -3
  78. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +1 -3
  79. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-truncate.scss +0 -0
  80. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_transition.scss +5 -2
  81. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_visibility.scss +1 -0
  82. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_align.scss +0 -0
  83. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_background.scss +0 -0
  84. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +17 -1
  85. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_clearfix.scss +0 -0
  86. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +6 -18
  87. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_embed.scss +7 -20
  88. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_flex.scss +0 -0
  89. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_float.scss +5 -3
  90. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_overflow.scss +5 -0
  91. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_position.scss +0 -5
  92. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_screenreaders.scss +0 -0
  93. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_shadows.scss +0 -0
  94. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_sizing.scss +8 -0
  95. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_spacing.scss +23 -1
  96. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_stretched-link.scss +19 -0
  97. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_text.scss +19 -5
  98. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_visibility.scss +4 -2
  99. data/app/assets/stylesheets/comfy/vendor/bootstrap/vendor/_rfs.scss +204 -0
  100. data/app/models/comfy/cms/file.rb +6 -1
  101. data/app/models/comfy/cms/fragment.rb +6 -2
  102. data/app/models/comfy/cms/layout.rb +16 -8
  103. data/app/models/comfy/cms/page.rb +12 -17
  104. data/app/views/comfy/admin/cms/files/index.html.haml +4 -2
  105. data/app/views/comfy/admin/cms/pages/_form.html.haml +2 -2
  106. data/app/views/comfy/admin/cms/pages/index.html.haml +2 -2
  107. data/config/locales/ar.yml +262 -0
  108. data/config/locales/ca.yml +0 -1
  109. data/config/locales/cs.yml +0 -1
  110. data/config/locales/da.yml +0 -1
  111. data/config/locales/de.yml +60 -61
  112. data/config/locales/en.yml +0 -1
  113. data/config/locales/es.yml +0 -1
  114. data/config/locales/fi.yml +0 -1
  115. data/config/locales/fr.yml +0 -1
  116. data/config/locales/gr.yml +0 -1
  117. data/config/locales/hr.yml +262 -0
  118. data/config/locales/it.yml +0 -1
  119. data/config/locales/ja.yml +0 -1
  120. data/config/locales/nb.yml +0 -1
  121. data/config/locales/nl.yml +0 -1
  122. data/config/locales/pl.yml +0 -1
  123. data/config/locales/pt-BR.yml +0 -1
  124. data/config/locales/ru.yml +0 -1
  125. data/config/locales/sk.yml +0 -1
  126. data/config/locales/sv.yml +0 -1
  127. data/config/locales/tr.yml +0 -1
  128. data/config/locales/uk.yml +0 -1
  129. data/config/locales/zh-CN.yml +0 -1
  130. data/config/locales/zh-TW.yml +0 -1
  131. data/lib/comfortable_mexican_sofa/configuration.rb +2 -0
  132. data/lib/comfortable_mexican_sofa/seeds.rb +6 -2
  133. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  134. data/lib/tasks/cms_seeds.rake +7 -7
  135. metadata +15 -5
  136. data/app/assets/javascripts/comfy/vendor/bootstrap.min.js +0 -7
  137. data/app/assets/javascripts/comfy/vendor/popper.min.js +0 -6
@@ -7,6 +7,8 @@
7
7
  }
8
8
 
9
9
  .dropdown-toggle {
10
+ white-space: nowrap;
11
+
10
12
  // Generate the caret automatically
11
13
  @include caret;
12
14
  }
@@ -22,8 +24,8 @@
22
24
  min-width: $dropdown-min-width;
23
25
  padding: $dropdown-padding-y 0;
24
26
  margin: $dropdown-spacer 0 0; // override default ul
25
- font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
26
- color: $body-color;
27
+ @include font-size($dropdown-font-size);
28
+ color: $dropdown-color;
27
29
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
28
30
  list-style: none;
29
31
  background-color: $dropdown-bg;
@@ -33,9 +35,20 @@
33
35
  @include box-shadow($dropdown-box-shadow);
34
36
  }
35
37
 
36
- .dropdown-menu-right {
37
- right: 0;
38
- left: auto;
38
+ @each $breakpoint in map-keys($grid-breakpoints) {
39
+ @include media-breakpoint-up($breakpoint) {
40
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
41
+
42
+ .dropdown-menu#{$infix}-left {
43
+ right: auto;
44
+ left: 0;
45
+ }
46
+
47
+ .dropdown-menu#{$infix}-right {
48
+ right: 0;
49
+ left: auto;
50
+ }
51
+ }
39
52
  }
40
53
 
41
54
  // Allow for dropdowns to go bottom up (aka, dropup-menu)
@@ -88,7 +101,7 @@
88
101
  }
89
102
 
90
103
  // When enabled Popper.js, reset basic dropdown position
91
- // stylelint-disable no-duplicate-selectors
104
+ // stylelint-disable-next-line no-duplicate-selectors
92
105
  .dropdown-menu {
93
106
  &[x-placement^="top"],
94
107
  &[x-placement^="right"],
@@ -98,11 +111,10 @@
98
111
  bottom: auto;
99
112
  }
100
113
  }
101
- // stylelint-enable no-duplicate-selectors
102
114
 
103
115
  // Dividers (basically an `<hr>`) within the dropdown
104
116
  .dropdown-divider {
105
- @include nav-divider($dropdown-divider-bg);
117
+ @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y);
106
118
  }
107
119
 
108
120
  // Links, buttons, and more within the dropdown menu
@@ -120,6 +132,18 @@
120
132
  background-color: transparent; // For `<button>`s
121
133
  border: 0; // For `<button>`s
122
134
 
135
+ // Prevent dropdown overflow if there's no padding
136
+ // See https://github.com/twbs/bootstrap/pull/27703
137
+ @if $dropdown-padding-y == 0 {
138
+ &:first-child {
139
+ @include border-top-radius($dropdown-inner-border-radius);
140
+ }
141
+
142
+ &:last-child {
143
+ @include border-bottom-radius($dropdown-inner-border-radius);
144
+ }
145
+ }
146
+
123
147
  @include hover-focus {
124
148
  color: $dropdown-link-hover-color;
125
149
  text-decoration: none;
@@ -136,6 +160,7 @@
136
160
  &.disabled,
137
161
  &:disabled {
138
162
  color: $dropdown-link-disabled-color;
163
+ pointer-events: none;
139
164
  background-color: transparent;
140
165
  // Remove CSS gradients if they're enabled
141
166
  @if $enable-gradients {
@@ -153,7 +178,7 @@
153
178
  display: block;
154
179
  padding: $dropdown-padding-y $dropdown-item-padding-x;
155
180
  margin-bottom: 0; // for use with heading elements
156
- font-size: $font-size-sm;
181
+ @include font-size($font-size-sm);
157
182
  color: $dropdown-header-color;
158
183
  white-space: nowrap; // as with > li > a
159
184
  }
@@ -7,8 +7,11 @@
7
7
  .form-control {
8
8
  display: block;
9
9
  width: 100%;
10
+ height: $input-height;
10
11
  padding: $input-padding-y $input-padding-x;
11
- font-size: $font-size-base;
12
+ font-family: $input-font-family;
13
+ @include font-size($input-font-size);
14
+ font-weight: $input-font-weight;
12
15
  line-height: $input-line-height;
13
16
  color: $input-color;
14
17
  background-color: $input-bg;
@@ -16,13 +19,7 @@
16
19
  border: $input-border-width solid $input-border-color;
17
20
 
18
21
  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
19
- @if $enable-rounded {
20
- // Manually use the if/else instead of the mixin to account for iOS override
21
- border-radius: $input-border-radius;
22
- } @else {
23
- // Otherwise undo the iOS default
24
- border-radius: 0;
25
- }
22
+ @include border-radius($input-border-radius, 0);
26
23
 
27
24
  @include box-shadow($input-box-shadow);
28
25
  @include transition($input-transition);
@@ -57,10 +54,6 @@
57
54
  }
58
55
 
59
56
  select.form-control {
60
- &:not([size]):not([multiple]) {
61
- height: $input-height;
62
- }
63
-
64
57
  &:focus::-ms-value {
65
58
  // Suppress the nested default white text on blue background highlight given to
66
59
  // the selected option text when the (still closed) <select> receives focus
@@ -90,21 +83,21 @@ select.form-control {
90
83
  padding-top: calc(#{$input-padding-y} + #{$input-border-width});
91
84
  padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});
92
85
  margin-bottom: 0; // Override the `<label>/<legend>` default
93
- font-size: inherit; // Override the `<legend>` default
86
+ @include font-size(inherit); // Override the `<legend>` default
94
87
  line-height: $input-line-height;
95
88
  }
96
89
 
97
90
  .col-form-label-lg {
98
91
  padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});
99
92
  padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});
100
- font-size: $font-size-lg;
93
+ @include font-size($input-font-size-lg);
101
94
  line-height: $input-line-height-lg;
102
95
  }
103
96
 
104
97
  .col-form-label-sm {
105
98
  padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});
106
99
  padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});
107
- font-size: $font-size-sm;
100
+ @include font-size($input-font-size-sm);
108
101
  line-height: $input-line-height-sm;
109
102
  }
110
103
 
@@ -139,35 +132,35 @@ select.form-control {
139
132
  // Build on `.form-control` with modifier classes to decrease or increase the
140
133
  // height and font-size of form controls.
141
134
  //
142
- // The `.form-group-* form-control` variations are sadly duplicated to avoid the
143
- // issue documented in https://github.com/twbs/bootstrap/issues/15074.
135
+ // Repeated in `_input_group.scss` to avoid Sass extend issues.
144
136
 
145
137
  .form-control-sm {
138
+ height: $input-height-sm;
146
139
  padding: $input-padding-y-sm $input-padding-x-sm;
147
- font-size: $font-size-sm;
140
+ @include font-size($input-font-size-sm);
148
141
  line-height: $input-line-height-sm;
149
142
  @include border-radius($input-border-radius-sm);
150
143
  }
151
144
 
152
- select.form-control-sm {
153
- &:not([size]):not([multiple]) {
154
- height: $input-height-sm;
155
- }
156
- }
157
-
158
145
  .form-control-lg {
146
+ height: $input-height-lg;
159
147
  padding: $input-padding-y-lg $input-padding-x-lg;
160
- font-size: $font-size-lg;
148
+ @include font-size($input-font-size-lg);
161
149
  line-height: $input-line-height-lg;
162
150
  @include border-radius($input-border-radius-lg);
163
151
  }
164
152
 
165
- select.form-control-lg {
166
- &:not([size]):not([multiple]) {
167
- height: $input-height-lg;
153
+ // stylelint-disable-next-line no-duplicate-selectors
154
+ select.form-control {
155
+ &[size],
156
+ &[multiple] {
157
+ height: auto;
168
158
  }
169
159
  }
170
160
 
161
+ textarea.form-control {
162
+ height: auto;
163
+ }
171
164
 
172
165
  // Form groups
173
166
  //
@@ -191,13 +184,13 @@ select.form-control-lg {
191
184
  .form-row {
192
185
  display: flex;
193
186
  flex-wrap: wrap;
194
- margin-right: -5px;
195
- margin-left: -5px;
187
+ margin-right: -$form-grid-gutter-width / 2;
188
+ margin-left: -$form-grid-gutter-width / 2;
196
189
 
197
190
  > .col,
198
191
  > [class*="col-"] {
199
- padding-right: 5px;
200
- padding-left: 5px;
192
+ padding-right: $form-grid-gutter-width / 2;
193
+ padding-left: $form-grid-gutter-width / 2;
201
194
  }
202
195
  }
203
196
 
@@ -249,8 +242,9 @@ select.form-control-lg {
249
242
  // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
250
243
  // server side validation.
251
244
 
252
- @include form-validation-state("valid", $form-feedback-valid-color);
253
- @include form-validation-state("invalid", $form-feedback-invalid-color);
245
+ @each $state, $data in $form-validation-states {
246
+ @include form-validation-state($state, map-get($data, color), map-get($data, icon));
247
+ }
254
248
 
255
249
  // Inline forms
256
250
  //
@@ -319,6 +313,7 @@ select.form-control-lg {
319
313
  }
320
314
  .form-check-input {
321
315
  position: relative;
316
+ flex-shrink: 0;
322
317
  margin-top: 0;
323
318
  margin-right: $form-check-input-margin-x;
324
319
  margin-left: 0;
@@ -1,6 +1,6 @@
1
1
  // Bootstrap functions
2
2
  //
3
- // Utility mixins and functions for evalutating source code across our variables, maps, and mixins.
3
+ // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
4
4
 
5
5
  // Ascending
6
6
  // Used to evaluate Sass maps like our grid breakpoints.
@@ -8,7 +8,7 @@
8
8
  $prev-key: null;
9
9
  $prev-num: null;
10
10
  @each $key, $num in $map {
11
- @if $prev-num == null {
11
+ @if $prev-num == null or unit($num) == "%" {
12
12
  // Do nothing
13
13
  } @else if not comparable($prev-num, $num) {
14
14
  @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
@@ -21,12 +21,12 @@
21
21
  }
22
22
 
23
23
  // Starts at zero
24
- // Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
25
- @mixin _assert-starts-at-zero($map) {
24
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
+ @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
26
  $values: map-values($map);
27
27
  $first-value: nth($values, 1);
28
28
  @if $first-value != 0 {
29
- @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
29
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
30
30
  }
31
31
  }
32
32
 
@@ -49,7 +49,7 @@
49
49
  }
50
50
 
51
51
  // Color contrast
52
- @function color-yiq($color) {
52
+ @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
53
53
  $r: red($color);
54
54
  $g: green($color);
55
55
  $b: blue($color);
@@ -57,9 +57,9 @@
57
57
  $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
58
58
 
59
59
  @if ($yiq >= $yiq-contrasted-threshold) {
60
- @return $yiq-text-dark;
60
+ @return $dark;
61
61
  } @else {
62
- @return $yiq-text-light;
62
+ @return $light;
63
63
  }
64
64
  }
65
65
 
@@ -32,11 +32,11 @@
32
32
  }
33
33
 
34
34
  .figure-img {
35
- margin-bottom: ($spacer / 2);
35
+ margin-bottom: $spacer / 2;
36
36
  line-height: 1;
37
37
  }
38
38
 
39
39
  .figure-caption {
40
- font-size: $figure-caption-font-size;
40
+ @include font-size($figure-caption-font-size);
41
41
  color: $figure-caption-color;
42
42
  }
@@ -12,6 +12,7 @@
12
12
  width: 100%;
13
13
 
14
14
  > .form-control,
15
+ > .form-control-plaintext,
15
16
  > .custom-select,
16
17
  > .custom-file {
17
18
  position: relative; // For focus state's z-index
@@ -21,11 +22,6 @@
21
22
  width: 1%;
22
23
  margin-bottom: 0;
23
24
 
24
- // Bring the "active" form control to the top of surrounding elements
25
- &:focus {
26
- z-index: 3;
27
- }
28
-
29
25
  + .form-control,
30
26
  + .custom-select,
31
27
  + .custom-file {
@@ -33,6 +29,18 @@
33
29
  }
34
30
  }
35
31
 
32
+ // Bring the "active" form control to the top of surrounding elements
33
+ > .form-control:focus,
34
+ > .custom-select:focus,
35
+ > .custom-file .custom-file-input:focus ~ .custom-file-label {
36
+ z-index: 3;
37
+ }
38
+
39
+ // Bring the custom file input above the label
40
+ > .custom-file .custom-file-input:focus {
41
+ z-index: 4;
42
+ }
43
+
36
44
  > .form-control,
37
45
  > .custom-select {
38
46
  &:not(:last-child) { @include border-right-radius(0); }
@@ -68,6 +76,10 @@
68
76
  .btn {
69
77
  position: relative;
70
78
  z-index: 2;
79
+
80
+ &:focus {
81
+ z-index: 3;
82
+ }
71
83
  }
72
84
 
73
85
  .btn + .btn,
@@ -92,7 +104,7 @@
92
104
  align-items: center;
93
105
  padding: $input-padding-y $input-padding-x;
94
106
  margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
95
- font-size: $font-size-base; // Match inputs
107
+ @include font-size($input-font-size); // Match inputs
96
108
  font-weight: $font-weight-normal;
97
109
  line-height: $input-line-height;
98
110
  color: $input-group-addon-color;
@@ -115,20 +127,43 @@
115
127
  // Remix the default form control sizing classes into new ones for easier
116
128
  // manipulation.
117
129
 
130
+ .input-group-lg > .form-control:not(textarea),
131
+ .input-group-lg > .custom-select {
132
+ height: $input-height-lg;
133
+ }
134
+
118
135
  .input-group-lg > .form-control,
136
+ .input-group-lg > .custom-select,
119
137
  .input-group-lg > .input-group-prepend > .input-group-text,
120
138
  .input-group-lg > .input-group-append > .input-group-text,
121
139
  .input-group-lg > .input-group-prepend > .btn,
122
140
  .input-group-lg > .input-group-append > .btn {
123
- @extend .form-control-lg;
141
+ padding: $input-padding-y-lg $input-padding-x-lg;
142
+ @include font-size($input-font-size-lg);
143
+ line-height: $input-line-height-lg;
144
+ @include border-radius($input-border-radius-lg);
145
+ }
146
+
147
+ .input-group-sm > .form-control:not(textarea),
148
+ .input-group-sm > .custom-select {
149
+ height: $input-height-sm;
124
150
  }
125
151
 
126
152
  .input-group-sm > .form-control,
153
+ .input-group-sm > .custom-select,
127
154
  .input-group-sm > .input-group-prepend > .input-group-text,
128
155
  .input-group-sm > .input-group-append > .input-group-text,
129
156
  .input-group-sm > .input-group-prepend > .btn,
130
157
  .input-group-sm > .input-group-append > .btn {
131
- @extend .form-control-sm;
158
+ padding: $input-padding-y-sm $input-padding-x-sm;
159
+ @include font-size($input-font-size-sm);
160
+ line-height: $input-line-height-sm;
161
+ @include border-radius($input-border-radius-sm);
162
+ }
163
+
164
+ .input-group-lg > .custom-select,
165
+ .input-group-sm > .custom-select {
166
+ padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
132
167
  }
133
168
 
134
169
 
@@ -1,6 +1,7 @@
1
1
  .jumbotron {
2
2
  padding: $jumbotron-padding ($jumbotron-padding / 2);
3
3
  margin-bottom: $jumbotron-padding;
4
+ color: $jumbotron-color;
4
5
  background-color: $jumbotron-bg;
5
6
  @include border-radius($border-radius-lg);
6
7
 
@@ -24,6 +24,7 @@
24
24
 
25
25
  // Hover state
26
26
  @include hover-focus {
27
+ z-index: 1; // Place hover/focus items above their siblings for proper border styling
27
28
  color: $list-group-action-hover-color;
28
29
  text-decoration: none;
29
30
  background-color: $list-group-hover-bg;
@@ -46,6 +47,7 @@
46
47
  padding: $list-group-item-padding-y $list-group-item-padding-x;
47
48
  // Place the border on the list items and negative margin up for better styling
48
49
  margin-bottom: -$list-group-border-width;
50
+ color: $list-group-color;
49
51
  background-color: $list-group-bg;
50
52
  border: $list-group-border-width solid $list-group-border-color;
51
53
 
@@ -58,14 +60,10 @@
58
60
  @include border-bottom-radius($list-group-border-radius);
59
61
  }
60
62
 
61
- @include hover-focus {
62
- z-index: 1; // Place hover/active items above their siblings for proper border styling
63
- text-decoration: none;
64
- }
65
-
66
63
  &.disabled,
67
64
  &:disabled {
68
65
  color: $list-group-disabled-color;
66
+ pointer-events: none;
69
67
  background-color: $list-group-disabled-bg;
70
68
  }
71
69
 
@@ -79,6 +77,37 @@
79
77
  }
80
78
 
81
79
 
80
+ // Horizontal
81
+ //
82
+ // Change the layout of list group items from vertical (default) to horizontal.
83
+
84
+ @each $breakpoint in map-keys($grid-breakpoints) {
85
+ @include media-breakpoint-up($breakpoint) {
86
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
87
+
88
+ .list-group-horizontal#{$infix} {
89
+ flex-direction: row;
90
+
91
+ .list-group-item {
92
+ margin-right: -$list-group-border-width;
93
+ margin-bottom: 0;
94
+
95
+ &:first-child {
96
+ @include border-left-radius($list-group-border-radius);
97
+ @include border-top-right-radius(0);
98
+ }
99
+
100
+ &:last-child {
101
+ margin-right: 0;
102
+ @include border-right-radius($list-group-border-radius);
103
+ @include border-bottom-left-radius(0);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+
82
111
  // Flush list items
83
112
  //
84
113
  // Remove borders and border-radius to keep list group items edge-to-edge. Most
@@ -89,6 +118,10 @@
89
118
  border-right: 0;
90
119
  border-left: 0;
91
120
  @include border-radius(0);
121
+
122
+ &:last-child {
123
+ margin-bottom: -$list-group-border-width;
124
+ }
92
125
  }
93
126
 
94
127
  &:first-child {
@@ -99,6 +132,7 @@
99
132
 
100
133
  &:last-child {
101
134
  .list-group-item:last-child {
135
+ margin-bottom: 0;
102
136
  border-bottom: 0;
103
137
  }
104
138
  }