bootstrap-generators 3.3.1 → 3.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -3
  3. data/Rakefile +3 -3
  4. data/lib/bootstrap-generators.rb +1 -1
  5. data/lib/bootstrap/generators/version.rb +1 -1
  6. data/lib/generators/bootstrap/install/install_generator.rb +1 -1
  7. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.less +8 -3
  8. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.scss +11 -9
  9. data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.erb +4 -4
  10. data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.haml +8 -8
  11. data/lib/generators/bootstrap/install/templates/form_builders/form_builder/_form.html.slim +4 -4
  12. data/lib/generators/bootstrap/install/templates/layouts/starter.html.erb +2 -2
  13. data/lib/generators/bootstrap/install/templates/layouts/starter.html.haml +15 -15
  14. data/lib/generators/bootstrap/install/templates/layouts/starter.html.slim +2 -2
  15. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/edit.html.erb +2 -2
  16. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/index.html.erb +1 -1
  17. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/new.html.erb +1 -1
  18. data/lib/generators/bootstrap/install/templates/lib/templates/erb/scaffold/show.html.erb +2 -2
  19. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/edit.html.haml +2 -2
  20. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/index.html.haml +2 -2
  21. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/new.html.haml +1 -1
  22. data/lib/generators/bootstrap/install/templates/lib/templates/haml/scaffold/show.html.haml +2 -2
  23. data/lib/generators/bootstrap/install/templates/lib/templates/slim/scaffold/edit.html.slim +2 -2
  24. data/lib/generators/bootstrap/install/templates/lib/templates/slim/scaffold/index.html.slim +1 -1
  25. data/lib/generators/bootstrap/install/templates/lib/templates/slim/scaffold/new.html.slim +1 -1
  26. data/lib/generators/bootstrap/install/templates/lib/templates/slim/scaffold/show.html.slim +2 -2
  27. data/readme-template.md.erb +9 -1
  28. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  29. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +273 -214
  30. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  31. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  32. data/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  33. data/vendor/assets/javascripts/bootstrap/affix.js +7 -7
  34. data/vendor/assets/javascripts/bootstrap/alert.js +3 -3
  35. data/vendor/assets/javascripts/bootstrap/button.js +3 -3
  36. data/vendor/assets/javascripts/bootstrap/carousel.js +11 -14
  37. data/vendor/assets/javascripts/bootstrap/collapse.js +9 -9
  38. data/vendor/assets/javascripts/bootstrap/dropdown.js +4 -4
  39. data/vendor/assets/javascripts/bootstrap/modal.js +42 -27
  40. data/vendor/assets/javascripts/bootstrap/popover.js +9 -20
  41. data/vendor/assets/javascripts/bootstrap/scrollspy.js +18 -21
  42. data/vendor/assets/javascripts/bootstrap/tab.js +4 -4
  43. data/vendor/assets/javascripts/bootstrap/tooltip.js +26 -28
  44. data/vendor/assets/javascripts/bootstrap/transition.js +2 -2
  45. data/vendor/assets/stylesheets/bootstrap.css.erb +289 -37
  46. data/vendor/assets/stylesheets/bootstrap.css.map +1 -1
  47. data/vendor/twitter/bootstrap/less/alerts.less +5 -0
  48. data/vendor/twitter/bootstrap/less/badges.less +6 -1
  49. data/vendor/twitter/bootstrap/less/button-groups.less +2 -2
  50. data/vendor/twitter/bootstrap/less/buttons.less +1 -1
  51. data/vendor/twitter/bootstrap/less/carousel.less +8 -6
  52. data/vendor/twitter/bootstrap/less/close.less +1 -0
  53. data/vendor/twitter/bootstrap/less/component-animations.less +1 -2
  54. data/vendor/twitter/bootstrap/less/dropdowns.less +3 -2
  55. data/vendor/twitter/bootstrap/less/forms.less +51 -23
  56. data/vendor/twitter/bootstrap/less/glyphicons.less +71 -0
  57. data/vendor/twitter/bootstrap/less/jumbotron.less +1 -0
  58. data/vendor/twitter/bootstrap/less/media.less +14 -0
  59. data/vendor/twitter/bootstrap/less/mixins/vendor-prefixes.less +1 -1
  60. data/vendor/twitter/bootstrap/less/modals.less +3 -1
  61. data/vendor/twitter/bootstrap/less/navbar.less +1 -1
  62. data/vendor/twitter/bootstrap/less/navs.less +0 -2
  63. data/vendor/twitter/bootstrap/less/panels.less +5 -1
  64. data/vendor/twitter/bootstrap/less/popovers.less +1 -1
  65. data/vendor/twitter/bootstrap/less/responsive-embed.less +8 -8
  66. data/vendor/twitter/bootstrap/less/scaffolding.less +12 -0
  67. data/vendor/twitter/bootstrap/less/tables.less +3 -3
  68. data/vendor/twitter/bootstrap/less/theme.less +3 -2
  69. data/vendor/twitter/bootstrap/less/tooltip.less +1 -2
  70. data/vendor/twitter/bootstrap/less/type.less +1 -1
  71. data/vendor/twitter/bootstrap/less/utilities.less +0 -1
  72. data/vendor/twitter/bootstrap/less/variables.less +8 -3
  73. data/vendor/twitter/bootstrap/sass/_bootstrap-compass.scss +2 -0
  74. data/vendor/twitter/bootstrap/sass/_bootstrap-mincer.scss +2 -0
  75. data/vendor/twitter/bootstrap/sass/_bootstrap-sprockets.scss +2 -0
  76. data/vendor/twitter/bootstrap/sass/bootstrap/_alerts.scss +5 -0
  77. data/vendor/twitter/bootstrap/sass/bootstrap/_badges.scss +6 -1
  78. data/vendor/twitter/bootstrap/sass/bootstrap/_button-groups.scss +2 -2
  79. data/vendor/twitter/bootstrap/sass/bootstrap/_buttons.scss +1 -1
  80. data/vendor/twitter/bootstrap/sass/bootstrap/_carousel.scss +8 -6
  81. data/vendor/twitter/bootstrap/sass/bootstrap/_close.scss +1 -0
  82. data/vendor/twitter/bootstrap/sass/bootstrap/_component-animations.scss +1 -2
  83. data/vendor/twitter/bootstrap/sass/bootstrap/_dropdowns.scss +3 -2
  84. data/vendor/twitter/bootstrap/sass/bootstrap/_forms.scss +51 -21
  85. data/vendor/twitter/bootstrap/sass/bootstrap/_glyphicons.scss +71 -0
  86. data/vendor/twitter/bootstrap/sass/bootstrap/_jumbotron.scss +1 -0
  87. data/vendor/twitter/bootstrap/sass/bootstrap/_media.scss +14 -0
  88. data/vendor/twitter/bootstrap/sass/bootstrap/_modals.scss +3 -1
  89. data/vendor/twitter/bootstrap/sass/bootstrap/_navbar.scss +1 -1
  90. data/vendor/twitter/bootstrap/sass/bootstrap/_navs.scss +0 -2
  91. data/vendor/twitter/bootstrap/sass/bootstrap/_panels.scss +5 -1
  92. data/vendor/twitter/bootstrap/sass/bootstrap/_popovers.scss +1 -1
  93. data/vendor/twitter/bootstrap/sass/bootstrap/_responsive-embed.scss +8 -8
  94. data/vendor/twitter/bootstrap/sass/bootstrap/_responsive-utilities.scss +4 -1
  95. data/vendor/twitter/bootstrap/sass/bootstrap/_scaffolding.scss +12 -0
  96. data/vendor/twitter/bootstrap/sass/bootstrap/_tables.scss +3 -3
  97. data/vendor/twitter/bootstrap/sass/bootstrap/_theme.scss +3 -2
  98. data/vendor/twitter/bootstrap/sass/bootstrap/_tooltip.scss +1 -2
  99. data/vendor/twitter/bootstrap/sass/bootstrap/_type.scss +1 -1
  100. data/vendor/twitter/bootstrap/sass/bootstrap/_utilities.scss +0 -1
  101. data/vendor/twitter/bootstrap/sass/bootstrap/_variables.scss +11 -9
  102. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_hide-text.scss +1 -1
  103. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_opacity.scss +1 -1
  104. data/vendor/twitter/bootstrap/sass/bootstrap/mixins/_vendor-prefixes.scss +1 -1
  105. metadata +3 -2
@@ -67,7 +67,6 @@
67
67
 
68
68
  &.collapse {
69
69
  display: block !important;
70
- visibility: visible !important;
71
70
  height: auto !important;
72
71
  padding-bottom: 0; // Override default setting
73
72
  overflow: visible !important;
@@ -331,6 +330,7 @@
331
330
  }
332
331
  // Menu position and menu caret support for dropups via extra dropup class
333
332
  .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
333
+ margin-bottom: 0;
334
334
  .border-top-radius(@navbar-border-radius);
335
335
  .border-bottom-radius(0);
336
336
  }
@@ -223,11 +223,9 @@
223
223
  .tab-content {
224
224
  > .tab-pane {
225
225
  display: none;
226
- visibility: hidden;
227
226
  }
228
227
  > .active {
229
228
  display: block;
230
- visibility: visible;
231
229
  }
232
230
  }
233
231
 
@@ -36,7 +36,11 @@
36
36
  font-size: ceil((@font-size-base * 1.125));
37
37
  color: inherit;
38
38
 
39
- > a {
39
+ > a,
40
+ > small,
41
+ > .small,
42
+ > small > a,
43
+ > .small > a {
40
44
  color: inherit;
41
45
  }
42
46
  }
@@ -11,7 +11,7 @@
11
11
  display: none;
12
12
  max-width: @popover-max-width;
13
13
  padding: 1px;
14
- // Reset font and text propertes given new insertion method
14
+ // Reset font and text properties given new insertion method
15
15
  font-family: @font-family-base;
16
16
  font-size: @font-size-base;
17
17
  font-weight: normal;
@@ -22,14 +22,14 @@
22
22
  width: 100%;
23
23
  border: 0;
24
24
  }
25
+ }
25
26
 
26
- // Modifier class for 16:9 aspect ratio
27
- &.embed-responsive-16by9 {
28
- padding-bottom: 56.25%;
29
- }
27
+ // Modifier class for 16:9 aspect ratio
28
+ .embed-responsive-16by9 {
29
+ padding-bottom: 56.25%;
30
+ }
30
31
 
31
- // Modifier class for 4:3 aspect ratio
32
- &.embed-responsive-4by3 {
33
- padding-bottom: 75%;
34
- }
32
+ // Modifier class for 4:3 aspect ratio
33
+ .embed-responsive-4by3 {
34
+ padding-bottom: 75%;
35
35
  }
@@ -148,3 +148,15 @@ hr {
148
148
  clip: auto;
149
149
  }
150
150
  }
151
+
152
+
153
+ // iOS "clickable elements" fix for role="button"
154
+ //
155
+ // Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
156
+ // for traditionally non-focusable elements with role="button"
157
+ // see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
158
+ // Upstream patch for normalize.css submitted: https://github.com/necolas/normalize.css/pull/379 - remove this fix once that is merged
159
+
160
+ [role="button"] {
161
+ cursor: pointer;
162
+ }
@@ -111,7 +111,7 @@ th {
111
111
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
112
112
 
113
113
  .table-striped {
114
- > tbody > tr:nth-child(odd) {
114
+ > tbody > tr:nth-of-type(odd) {
115
115
  background-color: @table-bg-accent;
116
116
  }
117
117
  }
@@ -133,7 +133,7 @@ th {
133
133
  // Reset default table behavior
134
134
 
135
135
  table col[class*="col-"] {
136
- position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
136
+ position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
137
137
  float: none;
138
138
  display: table-column;
139
139
  }
@@ -141,7 +141,7 @@ table {
141
141
  td,
142
142
  th {
143
143
  &[class*="col-"] {
144
- position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
144
+ position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
145
145
  float: none;
146
146
  display: table-cell;
147
147
  }
@@ -36,7 +36,7 @@
36
36
  // Mixin for generating new styles
37
37
  .btn-styles(@btn-color: #555) {
38
38
  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
39
- .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
39
+ .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620
40
40
  background-repeat: repeat-x;
41
41
  border-color: darken(@btn-color, 14%);
42
42
 
@@ -52,6 +52,7 @@
52
52
  border-color: darken(@btn-color, 14%);
53
53
  }
54
54
 
55
+ &.disabled,
55
56
  &:disabled,
56
57
  &[disabled] {
57
58
  background-color: darken(@btn-color, 12%);
@@ -130,7 +131,7 @@
130
131
  // Inverted navbar
131
132
  .navbar-inverse {
132
133
  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
133
- .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
134
+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
134
135
 
135
136
  .navbar-nav > .open > a,
136
137
  .navbar-nav > .active > a {
@@ -8,8 +8,7 @@
8
8
  position: absolute;
9
9
  z-index: @zindex-tooltip;
10
10
  display: block;
11
- visibility: visible;
12
- // Reset font and text propertes given new insertion method
11
+ // Reset font and text properties given new insertion method
13
12
  font-family: @font-family-base;
14
13
  font-size: @font-size-small;
15
14
  font-weight: normal;
@@ -238,7 +238,7 @@ abbr[data-original-title] {
238
238
  }
239
239
  .initialism {
240
240
  font-size: 90%;
241
- text-transform: uppercase;
241
+ .text-uppercase();
242
242
  }
243
243
 
244
244
  // Blockquotes
@@ -44,7 +44,6 @@
44
44
 
45
45
  .hidden {
46
46
  display: none !important;
47
- visibility: hidden !important;
48
47
  }
49
48
 
50
49
 
@@ -14,7 +14,7 @@
14
14
  @gray-light: lighten(@gray-base, 46.7%); // #777
15
15
  @gray-lighter: lighten(@gray-base, 93.5%); // #eee
16
16
 
17
- @brand-primary: darken(#428bca, 6.5%);
17
+ @brand-primary: darken(#428bca, 6.5%); // #337ab7
18
18
  @brand-success: #5cb85c;
19
19
  @brand-info: #5bc0de;
20
20
  @brand-warning: #f0ad4e;
@@ -99,7 +99,7 @@
99
99
  @padding-xs-vertical: 1px;
100
100
  @padding-xs-horizontal: 5px;
101
101
 
102
- @line-height-large: 1.33;
102
+ @line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome
103
103
  @line-height-small: 1.5;
104
104
 
105
105
  @border-radius-base: 4px;
@@ -187,6 +187,7 @@
187
187
 
188
188
  // TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
189
189
  //** Default `.form-control` border radius
190
+ // This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
190
191
  @input-border-radius: @border-radius-base;
191
192
  //** Large `.form-control` border radius
192
193
  @input-border-radius-large: @border-radius-large;
@@ -206,6 +207,9 @@
206
207
  //** Small `.form-control` height
207
208
  @input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
208
209
 
210
+ //** `.form-group` margin
211
+ @form-group-margin-bottom: 15px;
212
+
209
213
  @legend-color: @gray-dark;
210
214
  @legend-border-color: #e5e5e5;
211
215
 
@@ -265,7 +269,8 @@
265
269
  @zindex-popover: 1060;
266
270
  @zindex-tooltip: 1070;
267
271
  @zindex-navbar-fixed: 1030;
268
- @zindex-modal: 1040;
272
+ @zindex-modal-background: 1040;
273
+ @zindex-modal: 1050;
269
274
 
270
275
 
271
276
  //== Media queries breakpoints
@@ -5,3 +5,5 @@
5
5
  @function twbs-image-path($path) {
6
6
  @return image-url($path, true);
7
7
  }
8
+
9
+ $bootstrap-sass-asset-helper: true;
@@ -15,3 +15,5 @@
15
15
  @function twbs-image-path($file) {
16
16
  @return "<%- asset_path('#{$file}') %>";
17
17
  }
18
+
19
+ $bootstrap-sass-asset-helper: true;
@@ -5,3 +5,5 @@
5
5
  @function twbs-image-path($path) {
6
6
  @return image-path($path);
7
7
  }
8
+
9
+ $bootstrap-sass-asset-helper: true;
@@ -18,6 +18,7 @@
18
18
  // Specified for the h4 to prevent conflicts of changing $headings-color
19
19
  color: inherit;
20
20
  }
21
+
21
22
  // Provide class for links that match alerts
22
23
  .alert-link {
23
24
  font-weight: $alert-link-font-weight;
@@ -28,6 +29,7 @@
28
29
  > ul {
29
30
  margin-bottom: 0;
30
31
  }
32
+
31
33
  > p + p {
32
34
  margin-top: 5px;
33
35
  }
@@ -57,12 +59,15 @@
57
59
  .alert-success {
58
60
  @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
59
61
  }
62
+
60
63
  .alert-info {
61
64
  @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
62
65
  }
66
+
63
67
  .alert-warning {
64
68
  @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
65
69
  }
70
+
66
71
  .alert-danger {
67
72
  @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
68
73
  }
@@ -28,7 +28,9 @@
28
28
  position: relative;
29
29
  top: -1px;
30
30
  }
31
- .btn-xs & {
31
+
32
+ .btn-xs &,
33
+ .btn-group-xs > .btn & {
32
34
  top: 0;
33
35
  padding: 1px 5px;
34
36
  }
@@ -41,12 +43,15 @@
41
43
  color: $badge-active-color;
42
44
  background-color: $badge-active-bg;
43
45
  }
46
+
44
47
  .list-group-item > & {
45
48
  float: right;
46
49
  }
50
+
47
51
  .list-group-item > & + & {
48
52
  margin-right: 5px;
49
53
  }
54
+
50
55
  .nav-pills > li > a > & {
51
56
  margin-left: 3px;
52
57
  }
@@ -71,13 +71,13 @@
71
71
  .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
72
72
  border-radius: 0;
73
73
  }
74
- .btn-group > .btn-group:first-child {
74
+ .btn-group > .btn-group:first-child:not(:last-child) {
75
75
  > .btn:last-child,
76
76
  > .dropdown-toggle {
77
77
  @include border-right-radius(0);
78
78
  }
79
79
  }
80
- .btn-group > .btn-group:last-child > .btn:first-child {
80
+ .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
81
81
  @include border-left-radius(0);
82
82
  }
83
83
 
@@ -107,7 +107,7 @@
107
107
  &:hover,
108
108
  &:focus {
109
109
  color: $link-hover-color;
110
- text-decoration: underline;
110
+ text-decoration: $link-hover-decoration;
111
111
  background-color: transparent;
112
112
  }
113
113
  &[disabled],
@@ -27,24 +27,24 @@
27
27
 
28
28
  // WebKit CSS3 transforms for supported devices
29
29
  @media all and (transform-3d), (-webkit-transform-3d) {
30
- transition: transform .6s ease-in-out;
31
- backface-visibility: hidden;
32
- perspective: 1000;
30
+ @include transition-transform(0.6s ease-in-out);
31
+ @include backface-visibility(hidden);
32
+ @include perspective(1000);
33
33
 
34
34
  &.next,
35
35
  &.active.right {
36
- transform: translate3d(100%, 0, 0);
36
+ @include translate3d(100%, 0, 0);
37
37
  left: 0;
38
38
  }
39
39
  &.prev,
40
40
  &.active.left {
41
- transform: translate3d(-100%, 0, 0);
41
+ @include translate3d(-100%, 0, 0);
42
42
  left: 0;
43
43
  }
44
44
  &.next.left,
45
45
  &.prev.right,
46
46
  &.active {
47
- transform: translate3d(0, 0, 0);
47
+ @include translate3d(0, 0, 0);
48
48
  left: 0;
49
49
  }
50
50
  }
@@ -148,6 +148,7 @@
148
148
  width: 20px;
149
149
  height: 20px;
150
150
  margin-top: -10px;
151
+ line-height: 1;
151
152
  font-family: serif;
152
153
  }
153
154
 
@@ -195,6 +196,7 @@
195
196
  // Internet Explorer 8-9 does not support clicks on elements without a set
196
197
  // `background-color`. We cannot use `filter` since that's not viewed as a
197
198
  // background color by the browser. Thus, a hack is needed.
199
+ // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
198
200
  //
199
201
  // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
200
202
  // set alpha transparency for the best results possible.
@@ -26,6 +26,7 @@
26
26
  // Additional properties for button version
27
27
  // iOS requires the button element instead of an anchor tag.
28
28
  // If you want the anchor version, it requires `href="#"`.
29
+ // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
29
30
  button.close {
30
31
  padding: 0;
31
32
  cursor: pointer;
@@ -17,9 +17,8 @@
17
17
 
18
18
  .collapse {
19
19
  display: none;
20
- visibility: hidden;
21
20
 
22
- &.in { display: block; visibility: visible; }
21
+ &.in { display: block; }
23
22
  // [converter] extracted tr&.in to tr.collapse.in
24
23
  // [converter] extracted tbody&.in to tbody.collapse.in
25
24
  }
@@ -10,12 +10,13 @@
10
10
  height: 0;
11
11
  margin-left: 2px;
12
12
  vertical-align: middle;
13
- border-top: $caret-width-base solid;
13
+ border-top: $caret-width-base dashed;
14
14
  border-right: $caret-width-base solid transparent;
15
15
  border-left: $caret-width-base solid transparent;
16
16
  }
17
17
 
18
18
  // The dropdown wrapper (div)
19
+ .dropup,
19
20
  .dropdown {
20
21
  position: relative;
21
22
  }
@@ -190,7 +191,7 @@
190
191
  .dropdown-menu {
191
192
  top: auto;
192
193
  bottom: 100%;
193
- margin-bottom: 1px;
194
+ margin-bottom: 2px;
194
195
  }
195
196
  }
196
197
 
@@ -123,7 +123,7 @@ output {
123
123
  background-color: $input-bg;
124
124
  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
125
125
  border: 1px solid $input-border;
126
- border-radius: $input-border-radius;
126
+ border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
127
127
  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
128
128
  @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
129
129
 
@@ -141,9 +141,13 @@ output {
141
141
  &[disabled],
142
142
  &[readonly],
143
143
  fieldset[disabled] & {
144
- cursor: $cursor-disabled;
145
144
  background-color: $input-bg-disabled;
146
- opacity: 1; // iOS fix for unreadable disabled content
145
+ opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
146
+ }
147
+
148
+ &[disabled],
149
+ fieldset[disabled] & {
150
+ cursor: $cursor-disabled;
147
151
  }
148
152
 
149
153
  // [converter] extracted textarea& to textarea.form-control
@@ -172,7 +176,7 @@ input[type="search"] {
172
176
  // In Mobile Safari, setting `display: block` on temporal inputs causes the
173
177
  // text within the input to become vertically misaligned. As a workaround, we
174
178
  // set a pixel line-height that matches the given height of the input, but only
175
- // for Safari.
179
+ // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
176
180
 
177
181
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
178
182
  input[type="date"],
@@ -180,18 +184,16 @@ input[type="search"] {
180
184
  input[type="datetime-local"],
181
185
  input[type="month"] {
182
186
  line-height: $input-height-base;
183
- }
184
- input[type="date"].input-sm,
185
- input[type="time"].input-sm,
186
- input[type="datetime-local"].input-sm,
187
- input[type="month"].input-sm {
188
- line-height: $input-height-small;
189
- }
190
- input[type="date"].input-lg,
191
- input[type="time"].input-lg,
192
- input[type="datetime-local"].input-lg,
193
- input[type="month"].input-lg {
194
- line-height: $input-height-large;
187
+
188
+ &.input-sm,
189
+ .input-group-sm & {
190
+ line-height: $input-height-small;
191
+ }
192
+
193
+ &.input-lg,
194
+ .input-group-lg & {
195
+ line-height: $input-height-large;
196
+ }
195
197
  }
196
198
  }
197
199
 
@@ -202,7 +204,7 @@ input[type="search"] {
202
204
  // horizontal forms, use the predefined grid classes.
203
205
 
204
206
  .form-group {
205
- margin-bottom: 15px;
207
+ margin-bottom: $form-group-margin-bottom;
206
208
  }
207
209
 
208
210
 
@@ -242,6 +244,7 @@ input[type="search"] {
242
244
  // Radios and checkboxes on same line
243
245
  .radio-inline,
244
246
  .checkbox-inline {
247
+ position: relative;
245
248
  display: inline-block;
246
249
  padding-left: 20px;
247
250
  margin-bottom: 0;
@@ -298,6 +301,7 @@ input[type="checkbox"] {
298
301
  padding-bottom: ($padding-base-vertical + 1);
299
302
  // Remove default margin from `p`
300
303
  margin-bottom: 0;
304
+ min-height: ($line-height-computed + $font-size-base);
301
305
 
302
306
  &.input-lg,
303
307
  &.input-sm {
@@ -311,10 +315,37 @@ input[type="checkbox"] {
311
315
  //
312
316
  // Build on `.form-control` with modifier classes to decrease or increase the
313
317
  // height and font-size of form controls.
318
+ //
319
+ // The `.form-group-* form-control` variations are sadly duplicated to avoid the
320
+ // issue documented in https://github.com/twbs/bootstrap/issues/15074.
314
321
 
315
- @include input-size('.input-sm, .form-group-sm .form-control', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
322
+ @include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
323
+ .form-group-sm {
316
324
 
317
- @include input-size('.input-lg, .form-group-lg .form-control', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
325
+ @include input-size('.form-control', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
326
+
327
+ .form-control-static {
328
+ height: $input-height-small;
329
+ padding: $padding-small-vertical $padding-small-horizontal;
330
+ font-size: $font-size-small;
331
+ line-height: $line-height-small;
332
+ min-height: ($line-height-computed + $font-size-small);
333
+ }
334
+ }
335
+
336
+ @include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
337
+ .form-group-lg {
338
+
339
+ @include input-size('.form-control', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
340
+
341
+ .form-control-static {
342
+ height: $input-height-large;
343
+ padding: $padding-large-vertical $padding-large-horizontal;
344
+ font-size: $font-size-large;
345
+ line-height: $line-height-large;
346
+ min-height: ($line-height-computed + $font-size-large);
347
+ }
348
+ }
318
349
 
319
350
 
320
351
  // Form control feedback states
@@ -447,8 +478,7 @@ input[type="checkbox"] {
447
478
  }
448
479
 
449
480
  // Remove default margin on radios/checkboxes that were used for stacking, and
450
- // then undo the floating of radios and checkboxes to match (which also avoids
451
- // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
481
+ // then undo the floating of radios and checkboxes to match.
452
482
  .radio,
453
483
  .checkbox {
454
484
  display: inline-block;