bootstrap-generators 3.3.1 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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;