jekyll-bootstrap 4.0.0.pre.beta.2.2 → 4.0.0

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 (44) hide show
  1. checksums.yaml +5 -5
  2. data/_includes/head.html +0 -2
  3. data/_sass/_alert.scss +3 -1
  4. data/_sass/_button-group.scss +31 -72
  5. data/_sass/_buttons.scss +26 -19
  6. data/_sass/_card.scss +23 -12
  7. data/_sass/_carousel.scss +2 -2
  8. data/_sass/_close.scss +6 -1
  9. data/_sass/_code.scss +4 -12
  10. data/_sass/_custom-forms.scss +124 -84
  11. data/_sass/_dropdown.scss +30 -2
  12. data/_sass/_forms.scss +46 -71
  13. data/_sass/_functions.scss +4 -4
  14. data/_sass/_images.scss +0 -1
  15. data/_sass/_input-group.scss +99 -126
  16. data/_sass/_list-group.scss +2 -1
  17. data/_sass/_modal.scss +24 -9
  18. data/_sass/_nav.scss +2 -2
  19. data/_sass/_navbar.scss +8 -3
  20. data/_sass/_pagination.scss +32 -19
  21. data/_sass/_popover.scss +106 -117
  22. data/_sass/_print.scss +17 -3
  23. data/_sass/_progress.scss +4 -1
  24. data/_sass/_reboot.scss +3 -25
  25. data/_sass/_tables.scss +1 -1
  26. data/_sass/_tooltip.scss +65 -57
  27. data/_sass/_type.scss +2 -2
  28. data/_sass/_variables.scss +174 -108
  29. data/_sass/bootstrap-grid.scss +4 -7
  30. data/_sass/bootstrap-reboot.scss +3 -3
  31. data/_sass/bootstrap.scss +4 -4
  32. data/_sass/mixins/_background-variant.scss +2 -1
  33. data/_sass/mixins/_breakpoints.scss +11 -7
  34. data/_sass/mixins/_buttons.scss +37 -22
  35. data/_sass/mixins/_caret.scss +30 -0
  36. data/_sass/mixins/_forms.scss +48 -19
  37. data/_sass/mixins/_grid-framework.scss +5 -7
  38. data/_sass/mixins/_hover.scss +24 -46
  39. data/_sass/mixins/_list-group.scss +10 -13
  40. data/_sass/mixins/_screen-reader.scss +1 -1
  41. data/_sass/mixins/_text-hide.scss +1 -0
  42. data/_sass/utilities/_borders.scss +6 -1
  43. data/_sass/utilities/_display.scss +10 -28
  44. metadata +5 -19
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)
3
- * Copyright 2011-2017 The Bootstrap Authors
4
- * Copyright 2011-2017 Twitter, Inc.
2
+ * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
3
+ * Copyright 2011-2018 The Bootstrap Authors
4
+ * Copyright 2011-2018 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
6
  */
7
7
 
@@ -23,13 +23,10 @@ html {
23
23
  @import "functions";
24
24
  @import "variables";
25
25
 
26
- //
27
- // Grid mixins
28
- //
29
-
30
26
  @import "mixins/breakpoints";
31
27
  @import "mixins/grid-framework";
32
28
  @import "mixins/grid";
33
29
 
34
30
  @import "grid";
31
+ @import "utilities/display";
35
32
  @import "utilities/flex";
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
3
- * Copyright 2011-2017 The Bootstrap Authors
4
- * Copyright 2011-2017 Twitter, Inc.
2
+ * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
3
+ * Copyright 2011-2018 The Bootstrap Authors
4
+ * Copyright 2011-2018 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
6
  * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7
7
  */
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
3
- * Copyright 2011-2017 The Bootstrap Authors
4
- * Copyright 2011-2017 Twitter, Inc.
2
+ * Bootstrap v4.0.0 (https://getbootstrap.com)
3
+ * Copyright 2011-2018 The Bootstrap Authors
4
+ * Copyright 2011-2018 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
6
  */
7
7
 
@@ -9,7 +9,6 @@
9
9
  @import "variables";
10
10
  @import "mixins";
11
11
  @import "root";
12
- @import "print";
13
12
  @import "reboot";
14
13
  @import "type";
15
14
  @import "images";
@@ -40,3 +39,4 @@
40
39
  @import "popover";
41
40
  @import "carousel";
42
41
  @import "utilities";
42
+ @import "print";
@@ -6,7 +6,8 @@
6
6
  #{$parent} {
7
7
  background-color: $color !important;
8
8
  }
9
- a#{$parent} {
9
+ a#{$parent},
10
+ button#{$parent} {
10
11
  @include hover-focus {
11
12
  background-color: darken($color, 10%) !important;
12
13
  }
@@ -29,13 +29,17 @@
29
29
  }
30
30
 
31
31
  // Maximum breakpoint width. Null for the largest (last) breakpoint.
32
- // The maximum value is calculated as the minimum of the next one less 0.1.
32
+ // The maximum value is calculated as the minimum of the next one less 0.02px
33
+ // to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
34
+ // See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
35
+ // Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
36
+ // See https://bugs.webkit.org/show_bug.cgi?id=178261
33
37
  //
34
38
  // >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
35
- // 767px
39
+ // 767.98px
36
40
  @function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
37
41
  $next: breakpoint-next($name, $breakpoints);
38
- @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);
42
+ @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);
39
43
  }
40
44
 
41
45
  // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
@@ -86,11 +90,11 @@
86
90
  @content;
87
91
  }
88
92
  } @else if $max == null {
89
- @include media-breakpoint-up($lower) {
93
+ @include media-breakpoint-up($lower, $breakpoints) {
90
94
  @content;
91
95
  }
92
96
  } @else if $min == null {
93
- @include media-breakpoint-down($upper) {
97
+ @include media-breakpoint-down($upper, $breakpoints) {
94
98
  @content;
95
99
  }
96
100
  }
@@ -108,11 +112,11 @@
108
112
  @content;
109
113
  }
110
114
  } @else if $max == null {
111
- @include media-breakpoint-up($name) {
115
+ @include media-breakpoint-up($name, $breakpoints) {
112
116
  @content;
113
117
  }
114
118
  } @else if $min == null {
115
- @include media-breakpoint-down($name) {
119
+ @include media-breakpoint-down($name, $breakpoints) {
116
120
  @content;
117
121
  }
118
122
  }
@@ -19,21 +19,22 @@
19
19
  &.focus {
20
20
  // Avoid using mixin so we can pass custom focus shadow properly
21
21
  @if $enable-shadows {
22
- box-shadow: $btn-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);
22
+ box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);
23
23
  } @else {
24
- box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);
24
+ box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
25
25
  }
26
26
  }
27
27
 
28
28
  // Disabled comes first so active can properly restyle
29
29
  &.disabled,
30
30
  &:disabled {
31
+ color: color-yiq($background);
31
32
  background-color: $background;
32
33
  border-color: $border;
33
34
  }
34
35
 
35
- &:not([disabled]):not(.disabled):active,
36
- &:not([disabled]):not(.disabled).active,
36
+ &:not(:disabled):not(.disabled):active,
37
+ &:not(:disabled):not(.disabled).active,
37
38
  .show > &.dropdown-toggle {
38
39
  color: color-yiq($active-background);
39
40
  background-color: $active-background;
@@ -42,30 +43,32 @@
42
43
  }
43
44
  border-color: $active-border;
44
45
 
45
- // Avoid using mixin so we can pass custom focus shadow properly
46
- @if $enable-shadows {
47
- box-shadow: $btn-active-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);
48
- } @else {
49
- box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);
46
+ &:focus {
47
+ // Avoid using mixin so we can pass custom focus shadow properly
48
+ @if $enable-shadows {
49
+ box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);
50
+ } @else {
51
+ box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
52
+ }
50
53
  }
51
54
  }
52
55
  }
53
56
 
54
- @mixin button-outline-variant($color, $color-hover: #fff) {
57
+ @mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
55
58
  color: $color;
56
59
  background-color: transparent;
57
60
  background-image: none;
58
61
  border-color: $color;
59
62
 
60
- @include hover {
63
+ &:hover {
61
64
  color: $color-hover;
62
- background-color: $color;
63
- border-color: $color;
65
+ background-color: $active-background;
66
+ border-color: $active-border;
64
67
  }
65
68
 
66
69
  &:focus,
67
70
  &.focus {
68
- box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);
71
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
69
72
  }
70
73
 
71
74
  &.disabled,
@@ -74,14 +77,21 @@
74
77
  background-color: transparent;
75
78
  }
76
79
 
77
- &:not([disabled]):not(.disabled):active,
78
- &:not([disabled]):not(.disabled).active,
80
+ &:not(:disabled):not(.disabled):active,
81
+ &:not(:disabled):not(.disabled).active,
79
82
  .show > &.dropdown-toggle {
80
- color: $color-hover;
81
- background-color: $color;
82
- border-color: $color;
83
- // Avoid using mixin so we can pass custom focus shadow properly
84
- box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);
83
+ color: color-yiq($active-background);
84
+ background-color: $active-background;
85
+ border-color: $active-border;
86
+
87
+ &:focus {
88
+ // Avoid using mixin so we can pass custom focus shadow properly
89
+ @if $enable-shadows and $btn-active-box-shadow != none {
90
+ box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);
91
+ } @else {
92
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
93
+ }
94
+ }
85
95
  }
86
96
  }
87
97
 
@@ -90,5 +100,10 @@
90
100
  padding: $padding-y $padding-x;
91
101
  font-size: $font-size;
92
102
  line-height: $line-height;
93
- @include border-radius($border-radius);
103
+ // Manually declare to provide an override to the browser default
104
+ @if $enable-rounded {
105
+ border-radius: $border-radius;
106
+ } @else {
107
+ border-radius: 0;
108
+ }
94
109
  }
@@ -12,6 +12,18 @@
12
12
  border-left: $caret-width solid transparent;
13
13
  }
14
14
 
15
+ @mixin caret-right {
16
+ border-top: $caret-width solid transparent;
17
+ border-bottom: $caret-width solid transparent;
18
+ border-left: $caret-width solid;
19
+ }
20
+
21
+ @mixin caret-left {
22
+ border-top: $caret-width solid transparent;
23
+ border-right: $caret-width solid;
24
+ border-bottom: $caret-width solid transparent;
25
+ }
26
+
15
27
  @mixin caret($direction: down) {
16
28
  @if $enable-caret {
17
29
  &::after {
@@ -25,6 +37,24 @@
25
37
  @include caret-down;
26
38
  } @else if $direction == up {
27
39
  @include caret-up;
40
+ } @else if $direction == right {
41
+ @include caret-right;
42
+ }
43
+ }
44
+
45
+ @if $direction == left {
46
+ &::after {
47
+ display: none;
48
+ }
49
+
50
+ &::before {
51
+ display: inline-block;
52
+ width: 0;
53
+ height: 0;
54
+ margin-right: $caret-width * .85;
55
+ vertical-align: $caret-width * .85;
56
+ content: "";
57
+ @include caret-left;
28
58
  }
29
59
  }
30
60
 
@@ -15,23 +15,23 @@
15
15
  color: $input-focus-color;
16
16
  background-color: $input-focus-bg;
17
17
  border-color: $input-focus-border-color;
18
- outline: none;
18
+ outline: 0;
19
19
  // Avoid using mixin so we can pass custom focus shadow properly
20
20
  @if $enable-shadows {
21
- box-shadow: $input-box-shadow, $input-btn-focus-box-shadow;
21
+ box-shadow: $input-box-shadow, $input-focus-box-shadow;
22
22
  } @else {
23
- box-shadow: $input-btn-focus-box-shadow;
23
+ box-shadow: $input-focus-box-shadow;
24
24
  }
25
25
  }
26
26
  }
27
27
 
28
28
 
29
29
  @mixin form-validation-state($state, $color) {
30
-
31
30
  .#{$state}-feedback {
32
31
  display: none;
33
- margin-top: .25rem;
34
- font-size: .875rem;
32
+ width: 100%;
33
+ margin-top: $form-feedback-margin-top;
34
+ font-size: $form-feedback-font-size;
35
35
  color: $color;
36
36
  }
37
37
 
@@ -40,13 +40,13 @@
40
40
  top: 100%;
41
41
  z-index: 5;
42
42
  display: none;
43
- width: 250px;
43
+ max-width: 100%; // Contain to parent when possible
44
44
  padding: .5rem;
45
45
  margin-top: .1rem;
46
46
  font-size: .875rem;
47
47
  line-height: 1;
48
48
  color: #fff;
49
- background-color: rgba($color,.8);
49
+ background-color: rgba($color, .8);
50
50
  border-radius: .2rem;
51
51
  }
52
52
 
@@ -57,7 +57,8 @@
57
57
  border-color: $color;
58
58
 
59
59
  &:focus {
60
- box-shadow: 0 0 0 .2rem rgba($color,.25);
60
+ border-color: $color;
61
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
61
62
  }
62
63
 
63
64
  ~ .#{$state}-feedback,
@@ -67,26 +68,46 @@
67
68
  }
68
69
  }
69
70
 
70
-
71
- // TODO: redo check markup lol crap
72
71
  .form-check-input {
73
72
  .was-validated &:#{$state},
74
73
  &.is-#{$state} {
75
- + .form-check-label {
74
+ ~ .form-check-label {
76
75
  color: $color;
77
76
  }
77
+
78
+ ~ .#{$state}-feedback,
79
+ ~ .#{$state}-tooltip {
80
+ display: block;
81
+ }
78
82
  }
79
83
  }
80
84
 
81
- // custom radios and checks
82
85
  .custom-control-input {
83
86
  .was-validated &:#{$state},
84
87
  &.is-#{$state} {
85
- ~ .custom-control-indicator {
86
- background-color: rgba($color, .25);
87
- }
88
- ~ .custom-control-description {
88
+ ~ .custom-control-label {
89
89
  color: $color;
90
+
91
+ &::before {
92
+ background-color: lighten($color, 25%);
93
+ }
94
+ }
95
+
96
+ ~ .#{$state}-feedback,
97
+ ~ .#{$state}-tooltip {
98
+ display: block;
99
+ }
100
+
101
+ &:checked {
102
+ ~ .custom-control-label::before {
103
+ @include gradient-bg(lighten($color, 10%));
104
+ }
105
+ }
106
+
107
+ &:focus {
108
+ ~ .custom-control-label::before {
109
+ box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);
110
+ }
90
111
  }
91
112
  }
92
113
  }
@@ -95,13 +116,21 @@
95
116
  .custom-file-input {
96
117
  .was-validated &:#{$state},
97
118
  &.is-#{$state} {
98
- ~ .custom-file-control {
119
+ ~ .custom-file-label {
99
120
  border-color: $color;
100
121
 
101
122
  &::before { border-color: inherit; }
102
123
  }
124
+
125
+ ~ .#{$state}-feedback,
126
+ ~ .#{$state}-tooltip {
127
+ display: block;
128
+ }
129
+
103
130
  &:focus {
104
- box-shadow: 0 0 0 .2rem rgba($color,.25);
131
+ ~ .custom-file-label {
132
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
133
+ }
105
134
  }
106
135
  }
107
136
  }
@@ -46,14 +46,12 @@
46
46
  }
47
47
  }
48
48
 
49
- .order#{$infix}-first {
50
- order: -1;
51
- }
49
+ .order#{$infix}-first { order: -1; }
52
50
 
53
- @for $i from 1 through $columns {
54
- .order#{$infix}-#{$i} {
55
- order: $i;
56
- }
51
+ .order#{$infix}-last { order: $columns + 1; }
52
+
53
+ @for $i from 0 through $columns {
54
+ .order#{$infix}-#{$i} { order: $i; }
57
55
  }
58
56
 
59
57
  // `$columns - 1` because offsetting by the width of an entire row isn't possible
@@ -1,61 +1,39 @@
1
1
  // stylelint-disable indentation
2
+
3
+ // Hover mixin and `$enable-hover-media-query` are deprecated.
4
+ //
5
+ // Origally added during our alphas and maintained during betas, this mixin was
6
+ // designed to prevent `:hover` stickiness on iOS—an issue where hover styles
7
+ // would persist after initial touch.
8
+ //
9
+ // For backward compatibility, we've kept these mixins and updated them to
10
+ // always return their regular psuedo-classes instead of a shimmed media query.
11
+ //
12
+ // Issue: https://github.com/twbs/bootstrap/issues/25195
13
+
2
14
  @mixin hover {
3
- // TODO: re-enable along with mq4-hover-shim
4
- // @if $enable-hover-media-query {
5
- // // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover
6
- // // Currently shimmed by https://github.com/twbs/mq4-hover-shim
7
- // @media (hover: hover) {
8
- // &:hover { @content }
9
- // }
10
- // }
11
- // @else {
12
- &:hover { @content; }
13
- // }
15
+ &:hover { @content; }
14
16
  }
15
17
 
16
-
17
18
  @mixin hover-focus {
18
- @if $enable-hover-media-query {
19
- &:focus {
20
- @content;
21
- }
22
- @include hover { @content; }
23
- } @else {
24
- &:focus,
25
- &:hover {
26
- @content;
27
- }
19
+ &:hover,
20
+ &:focus {
21
+ @content;
28
22
  }
29
23
  }
30
24
 
31
25
  @mixin plain-hover-focus {
32
- @if $enable-hover-media-query {
33
- &,
34
- &:focus {
35
- @content;
36
- }
37
- @include hover { @content; }
38
- } @else {
39
- &,
40
- &:focus,
41
- &:hover {
42
- @content;
43
- }
26
+ &,
27
+ &:hover,
28
+ &:focus {
29
+ @content;
44
30
  }
45
31
  }
46
32
 
47
33
  @mixin hover-focus-active {
48
- @if $enable-hover-media-query {
49
- &:focus,
50
- &:active {
51
- @content;
52
- }
53
- @include hover { @content; }
54
- } @else {
55
- &:focus,
56
- &:active,
57
- &:hover {
58
- @content;
59
- }
34
+ &:hover,
35
+ &:focus,
36
+ &:active {
37
+ @content;
60
38
  }
61
39
  }