bootstrap 4.0.0.alpha3 → 4.0.0.alpha3.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap might be problematic. Click here for more details.

Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -2
  3. data/CHANGELOG.md +5 -0
  4. data/LICENSE +1 -1
  5. data/README.md +3 -3
  6. data/Rakefile +11 -8
  7. data/assets/javascripts/bootstrap.js +61 -48
  8. data/assets/javascripts/bootstrap.min.js +4 -4
  9. data/assets/javascripts/bootstrap/alert.js +2 -2
  10. data/assets/javascripts/bootstrap/button.js +4 -2
  11. data/assets/javascripts/bootstrap/carousel.js +10 -6
  12. data/assets/javascripts/bootstrap/collapse.js +2 -2
  13. data/assets/javascripts/bootstrap/dropdown.js +12 -8
  14. data/assets/javascripts/bootstrap/modal.js +9 -12
  15. data/assets/javascripts/bootstrap/popover.js +2 -2
  16. data/assets/javascripts/bootstrap/scrollspy.js +4 -3
  17. data/assets/javascripts/bootstrap/tab.js +2 -2
  18. data/assets/javascripts/bootstrap/tooltip.js +2 -2
  19. data/assets/javascripts/bootstrap/util.js +8 -3
  20. data/assets/stylesheets/_bootstrap-grid.scss +2 -41
  21. data/assets/stylesheets/_bootstrap-reboot.scss +1 -0
  22. data/assets/stylesheets/_bootstrap.scss +5 -7
  23. data/assets/stylesheets/bootstrap/_alert.scss +1 -10
  24. data/assets/stylesheets/bootstrap/_breadcrumb.scss +25 -10
  25. data/assets/stylesheets/bootstrap/_button-group.scss +22 -12
  26. data/assets/stylesheets/bootstrap/_buttons.scss +14 -11
  27. data/assets/stylesheets/bootstrap/_card.scss +59 -30
  28. data/assets/stylesheets/bootstrap/_carousel.scss +25 -24
  29. data/assets/stylesheets/bootstrap/_close.scss +3 -0
  30. data/assets/stylesheets/bootstrap/_code.scss +6 -7
  31. data/assets/stylesheets/bootstrap/_custom-forms.scss +144 -105
  32. data/assets/stylesheets/bootstrap/_custom.scss +4 -0
  33. data/assets/stylesheets/bootstrap/_dropdown.scss +10 -24
  34. data/assets/stylesheets/bootstrap/_forms.scss +97 -185
  35. data/assets/stylesheets/bootstrap/_grid.scss +9 -46
  36. data/assets/stylesheets/bootstrap/_images.scss +3 -4
  37. data/assets/stylesheets/bootstrap/_input-group.scss +25 -26
  38. data/assets/stylesheets/bootstrap/_list-group.scss +33 -50
  39. data/assets/stylesheets/bootstrap/_media.scss +4 -5
  40. data/assets/stylesheets/bootstrap/_mixins.scss +1 -2
  41. data/assets/stylesheets/bootstrap/_modal.scss +13 -27
  42. data/assets/stylesheets/bootstrap/_nav.scss +18 -23
  43. data/assets/stylesheets/bootstrap/_navbar.scss +54 -26
  44. data/assets/stylesheets/bootstrap/_normalize.scss +164 -168
  45. data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
  46. data/assets/stylesheets/bootstrap/_popover.scss +12 -5
  47. data/assets/stylesheets/bootstrap/_print.scss +93 -65
  48. data/assets/stylesheets/bootstrap/_progress.scss +43 -54
  49. data/assets/stylesheets/bootstrap/_reboot.scss +59 -13
  50. data/assets/stylesheets/bootstrap/_tables.scss +32 -27
  51. data/assets/stylesheets/bootstrap/_tags.scss +77 -0
  52. data/assets/stylesheets/bootstrap/_tooltip.scss +7 -5
  53. data/assets/stylesheets/bootstrap/_type.scss +22 -29
  54. data/assets/stylesheets/bootstrap/_utilities.scss +9 -95
  55. data/assets/stylesheets/bootstrap/_variables.scss +302 -139
  56. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +1 -1
  57. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +22 -9
  58. data/assets/stylesheets/bootstrap/mixins/_cards.scss +8 -2
  59. data/assets/stylesheets/bootstrap/mixins/_forms.scss +7 -4
  60. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +4 -4
  61. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +37 -11
  62. data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -9
  63. data/assets/stylesheets/bootstrap/mixins/_hover.scss +10 -9
  64. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +2 -3
  65. data/assets/stylesheets/bootstrap/mixins/_progress.scss +5 -0
  66. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -3
  67. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
  68. data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +3 -3
  69. data/assets/stylesheets/bootstrap/mixins/{_label.scss → _tag.scss} +2 -2
  70. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +1 -1
  71. data/assets/stylesheets/bootstrap/{_utilities-background.scss → utilities/_background.scss} +1 -4
  72. data/assets/stylesheets/bootstrap/utilities/_clearfix.scss +3 -0
  73. data/assets/stylesheets/bootstrap/utilities/_display.scss +13 -0
  74. data/assets/stylesheets/bootstrap/utilities/_flex.scss +37 -0
  75. data/assets/stylesheets/bootstrap/utilities/_pulls.scss +13 -0
  76. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +11 -0
  77. data/assets/stylesheets/bootstrap/{_utilities-spacing.scss → utilities/_spacing.scss} +4 -0
  78. data/assets/stylesheets/bootstrap/utilities/_text.scss +51 -0
  79. data/assets/stylesheets/bootstrap/{_utilities-responsive.scss → utilities/_visibility.scss} +9 -1
  80. data/bootstrap.gemspec +1 -1
  81. data/lib/bootstrap.rb +6 -6
  82. data/lib/bootstrap/engine.rb +2 -0
  83. data/lib/bootstrap/version.rb +2 -2
  84. data/tasks/updater/network.rb +3 -1
  85. data/templates/project/_bootstrap-variables.scss +303 -140
  86. data/test/dummy_rails/config/boot.rb +1 -1
  87. data/test/gemfiles/rails_4_2.gemfile +4 -4
  88. data/test/gemfiles/rails_5_0.gemfile +12 -0
  89. data/test/rails_test.rb +1 -1
  90. data/test/support/dummy_rails_integration.rb +2 -2
  91. metadata +19 -14
  92. data/assets/stylesheets/bootstrap/_labels.scss +0 -77
  93. data/assets/stylesheets/bootstrap/_pager.scss +0 -57
  94. data/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  95. data/test/gemfiles/rails_head.gemfile +0 -20
@@ -34,6 +34,7 @@
34
34
  &.disabled .page-link {
35
35
  @include plain-hover-focus {
36
36
  color: $pagination-disabled-color;
37
+ pointer-events: none;
37
38
  cursor: $cursor-disabled;
38
39
  background-color: $pagination-disabled-bg;
39
40
  border-color: $pagination-disabled-border;
@@ -46,7 +47,6 @@
46
47
  float: left; // Collapse white-space
47
48
  padding: $pagination-padding-y $pagination-padding-x;
48
49
  margin-left: -1px;
49
- line-height: $line-height;
50
50
  color: $pagination-color;
51
51
  text-decoration: none;
52
52
  background-color: $pagination-bg;
@@ -5,16 +5,18 @@
5
5
  z-index: $zindex-popover;
6
6
  display: block;
7
7
  max-width: $popover-max-width;
8
- padding: 1px;
8
+ padding: $popover-inner-padding;
9
9
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
10
10
  // So reset our font and text properties to avoid inheriting weird values.
11
11
  @include reset-text();
12
12
  font-size: $font-size-sm;
13
+ // Allow breaking very long words so they don't overflow the popover's bounds
14
+ word-wrap: break-word;
13
15
  background-color: $popover-bg;
14
16
  background-clip: padding-box;
15
17
  border: $popover-border-width solid $popover-border-color;
16
18
  @include border-radius($border-radius-lg);
17
- @include box-shadow(0 5px 10px rgba(0,0,0,.2));
19
+ @include box-shadow($popover-box-shadow);
18
20
 
19
21
 
20
22
  // Popover directions
@@ -103,16 +105,21 @@
103
105
 
104
106
  // Offset the popover to account for the popover arrow
105
107
  .popover-title {
106
- padding: 8px 14px;
108
+ padding: $popover-title-padding-y $popover-title-padding-x;
107
109
  margin: 0; // reset heading margin
108
110
  font-size: $font-size-base;
109
111
  background-color: $popover-title-bg;
110
112
  border-bottom: $popover-border-width solid darken($popover-title-bg, 5%);
111
- @include border-radius(($border-radius-lg - 1) ($border-radius-lg - 1) 0 0);
113
+ $offset-border-width: ($border-width / $font-size-root);
114
+ @include border-radius(($border-radius-lg - $offset-border-width) ($border-radius-lg - $offset-border-width) 0 0);
115
+
116
+ &:empty {
117
+ display: none;
118
+ }
112
119
  }
113
120
 
114
121
  .popover-content {
115
- padding: 9px 14px;
122
+ padding: $popover-content-padding-y $popover-content-padding-x;
116
123
  }
117
124
 
118
125
 
@@ -1,88 +1,116 @@
1
+ // scss-lint:disable ImportantRule, QualifyingElement
2
+
1
3
  // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
2
4
 
3
5
  // ==========================================================================
4
6
  // Print styles.
5
- // Inlined to avoid the additional HTTP request: h5bp.com/r
7
+ // Inlined to avoid the additional HTTP request:
8
+ // http://www.phpied.com/delay-loading-your-print-css/
6
9
  // ==========================================================================
7
10
 
8
- @media print {
9
- *,
10
- *::before,
11
- *::after {
12
- text-shadow: none !important;
13
- box-shadow: none !important;
14
- }
11
+ @if $enable-print-styles {
12
+ @media print {
13
+ *,
14
+ *::before,
15
+ *::after,
16
+ *::first-letter,
17
+ *::first-line {
18
+ // Bootstrap specific; comment out `color` and `background`
19
+ //color: #000 !important; // Black prints faster:
20
+ // http://www.sanbeiji.com/archives/953
21
+ text-shadow: none !important;
22
+ //background: transparent !important;
23
+ box-shadow: none !important;
24
+ }
15
25
 
16
- a,
17
- a:visited {
18
- text-decoration: underline;
19
- }
26
+ a,
27
+ a:visited {
28
+ text-decoration: underline;
29
+ }
20
30
 
21
- abbr[title]::after {
22
- content: " (" attr(title) ")";
23
- }
31
+ // Bootstrap specific; comment the following selector out
32
+ //a[href]::after {
33
+ // content: " (" attr(href) ")";
34
+ //}
24
35
 
25
- pre,
26
- blockquote {
27
- border: $border-width solid #999;
28
- page-break-inside: avoid;
29
- }
36
+ abbr[title]::after {
37
+ content: " (" attr(title) ")";
38
+ }
30
39
 
31
- thead {
32
- display: table-header-group; // h5bp.com/t
33
- }
40
+ // Bootstrap specific; comment the following selector out
41
+ //
42
+ // Don't show links that are fragment identifiers,
43
+ // or use the `javascript:` pseudo protocol
44
+ //
34
45
 
35
- tr,
36
- img {
37
- page-break-inside: avoid;
38
- }
46
+ //a[href^="#"]::after,
47
+ //a[href^="javascript:"]::after {
48
+ // content: "";
49
+ //}
39
50
 
40
- img {
41
- max-width: 100% !important;
42
- }
51
+ pre,
52
+ blockquote {
53
+ border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px
54
+ page-break-inside: avoid;
55
+ }
43
56
 
44
- p,
45
- h2,
46
- h3 {
47
- orphans: 3;
48
- widows: 3;
49
- }
57
+ //
58
+ // Printing Tables:
59
+ // http://css-discuss.incutio.com/wiki/Printing_Tables
60
+ //
50
61
 
51
- h2,
52
- h3 {
53
- page-break-after: avoid;
54
- }
62
+ thead {
63
+ display: table-header-group;
64
+ }
55
65
 
56
- // Bootstrap specific changes start
66
+ tr,
67
+ img {
68
+ page-break-inside: avoid;
69
+ }
57
70
 
58
- // Bootstrap components
59
- .navbar {
60
- display: none;
61
- }
62
- .btn,
63
- .dropup > .btn {
64
- > .caret {
65
- border-top-color: #000 !important;
71
+ p,
72
+ h2,
73
+ h3 {
74
+ orphans: 3;
75
+ widows: 3;
66
76
  }
67
- }
68
- .label {
69
- border: $border-width solid #000;
70
- }
71
77
 
72
- .table {
73
- border-collapse: collapse !important;
78
+ h2,
79
+ h3 {
80
+ page-break-after: avoid;
81
+ }
82
+
83
+ // Bootstrap specific changes start
74
84
 
75
- td,
76
- th {
77
- background-color: #fff !important;
85
+ // Bootstrap components
86
+ .navbar {
87
+ display: none;
78
88
  }
79
- }
80
- .table-bordered {
81
- th,
82
- td {
83
- border: 1px solid #ddd !important;
89
+ .btn,
90
+ .dropup > .btn {
91
+ > .caret {
92
+ border-top-color: #000 !important;
93
+ }
94
+ }
95
+ .tag {
96
+ border: $border-width solid #000;
84
97
  }
85
- }
86
98
 
87
- // Bootstrap specific changes end
99
+ .table {
100
+ border-collapse: collapse !important;
101
+
102
+ td,
103
+ th {
104
+ background-color: #fff !important;
105
+ }
106
+ }
107
+ .table-bordered {
108
+ th,
109
+ td {
110
+ border: 1px solid #ddd !important;
111
+ }
112
+ }
113
+
114
+ // Bootstrap specific changes end
115
+ }
88
116
  }
@@ -3,8 +3,8 @@
3
3
  //
4
4
 
5
5
  @keyframes progress-bar-stripes {
6
- from { background-position: $spacer-y 0; }
7
- to { background-position: 0 0; }
6
+ from { background-position: $spacer-y 0; }
7
+ to { background-position: 0 0; }
8
8
  }
9
9
 
10
10
 
@@ -19,82 +19,67 @@
19
19
  margin-bottom: $spacer-y;
20
20
  }
21
21
  .progress[value] {
22
- // IE10 uses `color` to set the bar background-color
23
- color: #0074d9;
22
+ // Set overall background
23
+ background-color: $progress-bg;
24
24
  // Remove Firefox and Opera border
25
25
  border: 0;
26
26
  // Reset the default appearance
27
27
  appearance: none;
28
- }
29
- .progress[value]::-webkit-progress-bar {
30
- background-color: #eee;
28
+ // Set overall border radius
31
29
  @include border-radius($border-radius);
32
- @include box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1));
33
30
  }
34
- .progress[value]::-webkit-progress-value::before {
35
- content: attr(value);
31
+
32
+ // Filled-in portion of the bar
33
+ .progress[value]::-ms-fill {
34
+ background-color: $progress-bar-color;
35
+ // Remove right-hand border of value bar from IE10+/Edge
36
+ border: 0;
37
+ }
38
+ .progress[value]::-moz-progress-bar {
39
+ background-color: $progress-bar-color;
40
+ @include border-left-radius($border-radius);
36
41
  }
37
42
  .progress[value]::-webkit-progress-value {
38
- background-color: #0074d9;
39
- border-top-left-radius: $border-radius;
40
- border-bottom-left-radius: $border-radius;
43
+ background-color: $progress-bar-color;
44
+ @include border-left-radius($border-radius);
45
+ }
46
+ // Tweaks for full progress bar
47
+ .progress[value="100"]::-moz-progress-bar {
48
+ @include border-right-radius($border-radius);
41
49
  }
42
50
  .progress[value="100"]::-webkit-progress-value {
43
- border-top-right-radius: $border-radius;
44
- border-bottom-right-radius: $border-radius;
51
+ @include border-right-radius($border-radius);
45
52
  }
46
53
 
47
- // Firefox styles must be entirely separate or it busts Webkit styles.
48
- //
49
- // Commented out for now because linter.
50
- //
51
- // $-moz-document url-prefix() {
52
- // .progress[value] {
53
- // background-color: #eee;
54
- // .border-radius($border-radius);
55
- // .box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1));
56
- // }
57
- // .progress[value]::-moz-progress-bar {
58
- // background-color: #0074d9;
59
- // border-top-left-radius: $border-radius;
60
- // border-bottom-left-radius: $border-radius;
61
- // }
62
- // .progress[value="0"]::-moz-progress-bar {
63
- // color: $gray-light;
64
- // min-width: 2rem;
65
- // background-color: transparent;
66
- // background-image: none;
67
- // }
68
- // .progress[value="100"]::-moz-progress-bar {
69
- // border-top-right-radius: $border-radius;
70
- // border-bottom-right-radius: $border-radius;
71
- // }
72
- // }
54
+ // Unfilled portion of the bar
55
+ .progress[value]::-webkit-progress-bar {
56
+ background-color: $progress-bg;
57
+ @include border-radius($border-radius);
58
+ @include box-shadow($progress-box-shadow);
59
+ }
60
+ base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make these styles Firefox-only
61
+ .progress[value] {
62
+ background-color: $progress-bg;
63
+ @include border-radius($border-radius);
64
+ @include box-shadow($progress-box-shadow);
65
+ }
73
66
 
74
67
  // IE9 hacks to accompany custom markup. We don't need to scope this via media queries, but I feel better doing it anyway.
75
68
  @media screen and (min-width:0\0) {
76
69
  .progress {
77
- background-color: #eee;
70
+ background-color: $progress-bg;
78
71
  @include border-radius($border-radius);
79
- @include box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1));
72
+ @include box-shadow($progress-box-shadow);
80
73
  }
81
74
  .progress-bar {
82
75
  display: inline-block;
83
76
  height: $spacer-y;
84
77
  text-indent: -999rem; // Simulate hiding of value as in native `<progress>`
85
- background-color: #0074d9;
86
- border-top-left-radius: $border-radius;
87
- border-bottom-left-radius: $border-radius;
88
- }
89
- .progress[width^="0"] {
90
- min-width: 2rem;
91
- color: $gray-light;
92
- background-color: transparent;
93
- background-image: none;
78
+ background-color: $progress-bar-color;
79
+ @include border-left-radius($border-radius);
94
80
  }
95
81
  .progress[width="100%"] {
96
- border-top-right-radius: $border-radius;
97
- border-bottom-right-radius: $border-radius;
82
+ @include border-right-radius($border-radius);
98
83
  }
99
84
  }
100
85
 
@@ -111,6 +96,10 @@
111
96
  @include gradient-striped();
112
97
  background-size: $spacer-y $spacer-y;
113
98
  }
99
+ .progress-striped[value]::-ms-fill {
100
+ @include gradient-striped();
101
+ background-size: $spacer-y $spacer-y;
102
+ }
114
103
  // IE9
115
104
  @media screen and (min-width:0\0) {
116
105
  .progress-bar-striped {
@@ -1,3 +1,5 @@
1
+ // scss-lint:disable ImportantRule, QualifyingElement, DuplicateProperty
2
+
1
3
  // Reboot
2
4
  //
3
5
  // Global resets to common HTML elements and more for easier usage by Bootstrap.
@@ -32,8 +34,7 @@ html {
32
34
  //
33
35
  // @viewport is needed because IE 10+ doesn't honor <meta name="viewport"> in
34
36
  // some cases. See http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/.
35
- // Eventually @viewport will replace <meta name="viewport">. It's been manually
36
- // prefixed for forward-compatibility.
37
+ // Eventually @viewport will replace <meta name="viewport">.
37
38
  //
38
39
  // However, `device-width` is broken on IE 10 on Windows (Phone) 8,
39
40
  // (see http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ and https://github.com/twbs/bootstrap/issues/10497)
@@ -44,14 +45,8 @@ html {
44
45
  //
45
46
  // Wrap `@viewport` with `@at-root` for when folks do a nested import (e.g.,
46
47
  // `.class-name { @import "bootstrap"; }`).
47
- //
48
- // Includes future-proofed vendor prefixes as well.
49
48
  @at-root {
50
- @-moz-viewport { width: device-width; }
51
- @-ms-viewport { width: device-width; }
52
- @-o-viewport { width: device-width; }
53
- @-webkit-viewport { width: device-width; }
54
- @viewport { width: device-width; }
49
+ @-ms-viewport { width: device-width; }
55
50
  }
56
51
 
57
52
 
@@ -62,6 +57,13 @@ html {
62
57
  html {
63
58
  // Sets a specific default `font-size` for user with `rem` type scales.
64
59
  font-size: $font-size-root;
60
+ // As a side-effect of setting the @viewport above,
61
+ // IE11 & Edge make the scrollbar overlap the content and automatically hide itself when not in use.
62
+ // Unfortunately, the auto-showing of the scrollbar is sometimes too sensitive,
63
+ // thus making it hard to click on stuff near the right edge of the page.
64
+ // So we add this style to force IE11 & Edge to use a "normal", non-overlapping, non-auto-hiding scrollbar.
65
+ // See https://github.com/twbs/bootstrap/issues/18543
66
+ -ms-overflow-style: scrollbar;
65
67
  // Changes the default tap highlight to be completely transparent in iOS.
66
68
  -webkit-tap-highlight-color: rgba(0,0,0,0);
67
69
  }
@@ -70,7 +72,7 @@ body {
70
72
  // Make the `body` use the `font-size-root`
71
73
  font-family: $font-family-base;
72
74
  font-size: $font-size-base;
73
- line-height: $line-height;
75
+ line-height: $line-height-base;
74
76
  // Go easy on the eyes and use something other than `#000` for text
75
77
  color: $body-color;
76
78
  // By default, `<body>` has no `background-color` so we set one as a best practice.
@@ -169,6 +171,26 @@ a {
169
171
  }
170
172
  }
171
173
 
174
+ // And undo these styles for placeholder links/named anchors (without href)
175
+ // which have not been made explicitly keyboard-focusable (without tabindex).
176
+ // It would be more straightforward to just use a[href] in previous block, but that
177
+ // causes specificity issues in many other styles that are too complex to fix.
178
+ // See https://github.com/twbs/bootstrap/issues/19402
179
+
180
+ a:not([href]):not([tabindex]) {
181
+ color: inherit;
182
+ text-decoration: none;
183
+
184
+ @include hover-focus {
185
+ color: inherit;
186
+ text-decoration: none;
187
+ }
188
+
189
+ &:focus {
190
+ outline: none;
191
+ }
192
+ }
193
+
172
194
 
173
195
  //
174
196
  // Code
@@ -179,6 +201,8 @@ pre {
179
201
  margin-top: 0;
180
202
  // Reset browser default of `1em` to use `rem`s
181
203
  margin-bottom: 1rem;
204
+ // Normalize v4 removed this property, causing `<pre>` content to break out of wrapping code snippets
205
+ overflow: auto;
182
206
  }
183
207
 
184
208
 
@@ -245,6 +269,8 @@ textarea {
245
269
  //
246
270
 
247
271
  table {
272
+ // No longer part of Normalize since v4
273
+ border-collapse: collapse;
248
274
  // Reset for nesting within parents with `background-color`.
249
275
  background-color: $table-bg;
250
276
  }
@@ -296,6 +322,29 @@ textarea {
296
322
  border-radius: 0;
297
323
  }
298
324
 
325
+ input[type="radio"],
326
+ input[type="checkbox"] {
327
+ // Apply a disabled cursor for radios and checkboxes.
328
+ //
329
+ // Note: Neither radios nor checkboxes can be readonly.
330
+ &:disabled {
331
+ cursor: $cursor-disabled;
332
+ }
333
+ }
334
+
335
+
336
+ input[type="date"],
337
+ input[type="time"],
338
+ input[type="datetime-local"],
339
+ input[type="month"] {
340
+ // Remove the default appearance of temporal inputs to avoid a Mobile Safari
341
+ // bug where setting a custom line-height prevents text from being vertically
342
+ // centered within the input.
343
+ //
344
+ // Bug report: https://github.com/twbs/bootstrap/issues/11266
345
+ -webkit-appearance: listbox;
346
+ }
347
+
299
348
  textarea {
300
349
  // Textareas should really only resize vertically so they don't break their (horizontal) containers.
301
350
  resize: vertical;
@@ -320,12 +369,9 @@ legend {
320
369
  margin-bottom: .5rem;
321
370
  font-size: 1.5rem;
322
371
  line-height: inherit;
323
- // border: 0;
324
372
  }
325
373
 
326
374
  input[type="search"] {
327
- // Undo Normalize's default here to match our global overrides.
328
- box-sizing: inherit;
329
375
  // This overrides the extra rounded corners on search inputs in iOS so that our
330
376
  // `.form-control` class can properly style them. Note that this cannot simply
331
377
  // be added to `.form-control` as it's not specific enough. For details, see