bootstrap 5.0.0.beta2 → 5.0.2
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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/assets/javascripts/bootstrap-sprockets.js +8 -7
- data/assets/javascripts/bootstrap.js +2525 -2460
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +77 -179
- data/assets/javascripts/bootstrap/base-component.js +140 -38
- data/assets/javascripts/bootstrap/button.js +54 -100
- data/assets/javascripts/bootstrap/carousel.js +335 -451
- data/assets/javascripts/bootstrap/collapse.js +195 -303
- data/assets/javascripts/bootstrap/dom/data.js +34 -47
- data/assets/javascripts/bootstrap/dom/event-handler.js +95 -90
- data/assets/javascripts/bootstrap/dom/manipulator.js +23 -21
- data/assets/javascripts/bootstrap/dom/selector-engine.js +20 -28
- data/assets/javascripts/bootstrap/dropdown.js +323 -358
- data/assets/javascripts/bootstrap/modal.js +537 -489
- data/assets/javascripts/bootstrap/offcanvas.js +720 -0
- data/assets/javascripts/bootstrap/popover.js +112 -180
- data/assets/javascripts/bootstrap/scrollspy.js +167 -235
- data/assets/javascripts/bootstrap/tab.js +121 -188
- data/assets/javascripts/bootstrap/toast.js +166 -243
- data/assets/javascripts/bootstrap/tooltip.js +333 -495
- data/assets/stylesheets/_bootstrap-grid.scss +1 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_accordion.scss +24 -32
- data/assets/stylesheets/bootstrap/_buttons.scss +2 -0
- data/assets/stylesheets/bootstrap/_card.scss +6 -6
- data/assets/stylesheets/bootstrap/_carousel.scss +2 -2
- data/assets/stylesheets/bootstrap/_dropdown.scss +14 -23
- data/assets/stylesheets/bootstrap/_functions.scss +61 -3
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +16 -5
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +8 -24
- data/assets/stylesheets/bootstrap/_nav.scss +7 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +2 -0
- data/assets/stylesheets/bootstrap/_offcanvas.scss +79 -0
- data/assets/stylesheets/bootstrap/_popover.scss +10 -10
- data/assets/stylesheets/bootstrap/_progress.scss +3 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +7 -21
- data/assets/stylesheets/bootstrap/_spinners.scss +6 -2
- data/assets/stylesheets/bootstrap/_tables.scss +1 -0
- data/assets/stylesheets/bootstrap/_toasts.scss +1 -1
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +65 -37
- data/assets/stylesheets/bootstrap/_variables.scss +162 -50
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +3 -1
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +0 -4
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +3 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +7 -2
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +25 -5
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +23 -11
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +2 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +55 -13
- data/bootstrap.gemspec +1 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +1 -1
- data/tasks/updater/network.rb +7 -1
- metadata +9 -6
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Utilities v5.0.
|
2
|
+
* Bootstrap Utilities v5.0.2 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2021 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
@@ -4,7 +4,7 @@
|
|
4
4
|
> .form-control,
|
5
5
|
> .form-select {
|
6
6
|
height: $form-floating-height;
|
7
|
-
|
7
|
+
line-height: $form-floating-line-height;
|
8
8
|
}
|
9
9
|
|
10
10
|
> label {
|
@@ -21,6 +21,8 @@
|
|
21
21
|
|
22
22
|
// stylelint-disable no-duplicate-selectors
|
23
23
|
> .form-control {
|
24
|
+
padding: $form-floating-padding-y $form-floating-padding-x;
|
25
|
+
|
24
26
|
&::placeholder {
|
25
27
|
color: transparent;
|
26
28
|
}
|
@@ -17,7 +17,7 @@
|
|
17
17
|
.form-check-input {
|
18
18
|
width: $form-check-input-width;
|
19
19
|
height: $form-check-input-width;
|
20
|
-
margin-top: ($line-height-base - $form-check-input-width)
|
20
|
+
margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height
|
21
21
|
vertical-align: top;
|
22
22
|
background-color: $form-check-input-bg;
|
23
23
|
background-repeat: no-repeat;
|
@@ -73,7 +73,6 @@
|
|
73
73
|
}
|
74
74
|
|
75
75
|
// File input buttons theming
|
76
|
-
// stylelint-disable-next-line selector-pseudo-element-no-unknown
|
77
76
|
&::file-selector-button {
|
78
77
|
padding: $input-padding-y $input-padding-x;
|
79
78
|
margin: (-$input-padding-y) (-$input-padding-x);
|
@@ -89,7 +88,6 @@
|
|
89
88
|
@include transition($btn-transition);
|
90
89
|
}
|
91
90
|
|
92
|
-
// stylelint-disable-next-line selector-pseudo-element-no-unknown
|
93
91
|
&:hover:not(:disabled):not([readonly])::file-selector-button {
|
94
92
|
background-color: $form-file-button-hover-bg;
|
95
93
|
}
|
@@ -150,7 +148,6 @@
|
|
150
148
|
@include font-size($input-font-size-sm);
|
151
149
|
@include border-radius($input-border-radius-sm);
|
152
150
|
|
153
|
-
// stylelint-disable-next-line selector-pseudo-element-no-unknown
|
154
151
|
&::file-selector-button {
|
155
152
|
padding: $input-padding-y-sm $input-padding-x-sm;
|
156
153
|
margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
|
@@ -170,7 +167,6 @@
|
|
170
167
|
@include font-size($input-font-size-lg);
|
171
168
|
@include border-radius($input-border-radius-lg);
|
172
169
|
|
173
|
-
// stylelint-disable-next-line selector-pseudo-element-no-unknown
|
174
170
|
&::file-selector-button {
|
175
171
|
padding: $input-padding-y-lg $input-padding-x-lg;
|
176
172
|
margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
|
@@ -27,7 +27,7 @@
|
|
27
27
|
&::-webkit-slider-thumb {
|
28
28
|
width: $form-range-thumb-width;
|
29
29
|
height: $form-range-thumb-height;
|
30
|
-
margin-top: ($form-range-track-height - $form-range-thumb-height)
|
30
|
+
margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
|
31
31
|
@include gradient-bg($form-range-thumb-bg);
|
32
32
|
border: $form-range-thumb-border;
|
33
33
|
@include border-radius($form-range-thumb-border-radius);
|
@@ -7,6 +7,8 @@
|
|
7
7
|
display: block;
|
8
8
|
width: 100%;
|
9
9
|
padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;
|
10
|
+
// stylelint-disable-next-line property-no-vendor-prefix
|
11
|
+
-moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636
|
10
12
|
font-family: $form-select-font-family;
|
11
13
|
@include font-size($form-select-font-size);
|
12
14
|
font-weight: $form-select-font-weight;
|
@@ -20,6 +22,7 @@
|
|
20
22
|
border: $form-select-border-width solid $form-select-border-color;
|
21
23
|
@include border-radius($form-select-border-radius, 0);
|
22
24
|
@include box-shadow($form-select-box-shadow);
|
25
|
+
@include transition($form-select-transition);
|
23
26
|
appearance: none;
|
24
27
|
|
25
28
|
&:focus {
|
@@ -14,6 +14,7 @@
|
|
14
14
|
@return $return;
|
15
15
|
}
|
16
16
|
|
17
|
+
// scss-docs-start border-radius-mixins
|
17
18
|
@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
|
18
19
|
@if $enable-rounded {
|
19
20
|
border-radius: valid-radius($radius);
|
@@ -74,3 +75,4 @@
|
|
74
75
|
border-bottom-left-radius: valid-radius($radius);
|
75
76
|
}
|
76
77
|
}
|
78
|
+
// scss-docs-end border-radius-mixins
|
@@ -3,6 +3,7 @@
|
|
3
3
|
// Easily pump out default styles, as well as :hover, :focus, :active,
|
4
4
|
// and disabled options for all buttons
|
5
5
|
|
6
|
+
// scss-docs-start btn-variant-mixin
|
6
7
|
@mixin button-variant(
|
7
8
|
$background,
|
8
9
|
$border,
|
@@ -10,7 +11,7 @@
|
|
10
11
|
$hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
|
11
12
|
$hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
|
12
13
|
$hover-color: color-contrast($hover-background),
|
13
|
-
$active-background: if($color == $color-contrast-light, shade-color($background
|
14
|
+
$active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
|
14
15
|
$active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
|
15
16
|
$active-color: color-contrast($active-background),
|
16
17
|
$disabled-background: $background,
|
@@ -71,7 +72,9 @@
|
|
71
72
|
border-color: $disabled-border;
|
72
73
|
}
|
73
74
|
}
|
75
|
+
// scss-docs-end btn-variant-mixin
|
74
76
|
|
77
|
+
// scss-docs-start btn-outline-variant-mixin
|
75
78
|
@mixin button-outline-variant(
|
76
79
|
$color,
|
77
80
|
$color-hover: color-contrast($color),
|
@@ -118,11 +121,13 @@
|
|
118
121
|
background-color: transparent;
|
119
122
|
}
|
120
123
|
}
|
124
|
+
// scss-docs-end btn-outline-variant-mixin
|
121
125
|
|
122
|
-
//
|
126
|
+
// scss-docs-start btn-size-mixin
|
123
127
|
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
|
124
128
|
padding: $padding-y $padding-x;
|
125
129
|
@include font-size($font-size);
|
126
130
|
// Manually declare to provide an override to the browser default
|
127
131
|
@include border-radius($border-radius, 0);
|
128
132
|
}
|
133
|
+
// scss-docs-end btn-size-mixin
|
@@ -1,5 +1,7 @@
|
|
1
1
|
// This mixin uses an `if()` technique to be compatible with Dart Sass
|
2
2
|
// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details
|
3
|
+
|
4
|
+
// scss-docs-start form-validation-mixins
|
3
5
|
@mixin form-validation-state-selector($state) {
|
4
6
|
@if ($state == "valid" or $state == "invalid") {
|
5
7
|
.was-validated #{if(&, "&", "")}:#{$state},
|
@@ -19,7 +21,7 @@
|
|
19
21
|
$icon,
|
20
22
|
$tooltip-color: color-contrast($color),
|
21
23
|
$tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),
|
22
|
-
$focus-box-shadow: 0 0
|
24
|
+
$focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity)
|
23
25
|
) {
|
24
26
|
.#{$state}-feedback {
|
25
27
|
display: none;
|
@@ -86,10 +88,13 @@
|
|
86
88
|
border-color: $color;
|
87
89
|
|
88
90
|
@if $enable-validation-icons {
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
91
|
+
&:not([multiple]):not([size]),
|
92
|
+
&:not([multiple])[size="1"] {
|
93
|
+
padding-right: $form-select-feedback-icon-padding-end;
|
94
|
+
background-image: escape-svg($form-select-indicator), escape-svg($icon);
|
95
|
+
background-position: $form-select-bg-position, $form-select-feedback-icon-position;
|
96
|
+
background-size: $form-select-bg-size, $form-select-feedback-icon-size;
|
97
|
+
}
|
93
98
|
}
|
94
99
|
|
95
100
|
&:focus {
|
@@ -121,4 +126,19 @@
|
|
121
126
|
margin-left: .5em;
|
122
127
|
}
|
123
128
|
}
|
129
|
+
|
130
|
+
.input-group .form-control,
|
131
|
+
.input-group .form-select {
|
132
|
+
@include form-validation-state-selector($state) {
|
133
|
+
@if $state == "valid" {
|
134
|
+
z-index: 1;
|
135
|
+
} @else if $state == "invalid" {
|
136
|
+
z-index: 2;
|
137
|
+
}
|
138
|
+
&:focus {
|
139
|
+
z-index: 3;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
}
|
124
143
|
}
|
144
|
+
// scss-docs-end form-validation-mixins
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
// Grid system
|
2
2
|
//
|
3
3
|
// Generate semantic grid columns with these mixins.
|
4
4
|
|
@@ -8,8 +8,8 @@
|
|
8
8
|
display: flex;
|
9
9
|
flex-wrap: wrap;
|
10
10
|
margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list
|
11
|
-
margin-right: calc(var(--#{$variable-prefix}gutter-x)
|
12
|
-
margin-left: calc(var(--#{$variable-prefix}gutter-x)
|
11
|
+
margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list
|
12
|
+
margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list
|
13
13
|
}
|
14
14
|
|
15
15
|
@mixin make-col-ready($gutter: $grid-gutter-width) {
|
@@ -21,14 +21,20 @@
|
|
21
21
|
flex-shrink: 0;
|
22
22
|
width: 100%;
|
23
23
|
max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
|
24
|
-
padding-right: calc(var(--#{$variable-prefix}gutter-x)
|
25
|
-
padding-left: calc(var(--#{$variable-prefix}gutter-x)
|
24
|
+
padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
25
|
+
padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
26
26
|
margin-top: var(--#{$variable-prefix}gutter-y);
|
27
27
|
}
|
28
28
|
|
29
|
-
@mixin make-col($size, $columns: $grid-columns) {
|
30
|
-
|
31
|
-
|
29
|
+
@mixin make-col($size: false, $columns: $grid-columns) {
|
30
|
+
@if $size {
|
31
|
+
flex: 0 0 auto;
|
32
|
+
width: percentage(divide($size, $columns));
|
33
|
+
|
34
|
+
} @else {
|
35
|
+
flex: 1 1 0;
|
36
|
+
max-width: 100%;
|
37
|
+
}
|
32
38
|
}
|
33
39
|
|
34
40
|
@mixin make-col-auto() {
|
@@ -37,7 +43,7 @@
|
|
37
43
|
}
|
38
44
|
|
39
45
|
@mixin make-col-offset($size, $columns: $grid-columns) {
|
40
|
-
$num: $size
|
46
|
+
$num: divide($size, $columns);
|
41
47
|
margin-left: if($num == 0, 0, percentage($num));
|
42
48
|
}
|
43
49
|
|
@@ -49,7 +55,7 @@
|
|
49
55
|
@mixin row-cols($count) {
|
50
56
|
> * {
|
51
57
|
flex: 0 0 auto;
|
52
|
-
width: 100
|
58
|
+
width: divide(100%, $count);
|
53
59
|
}
|
54
60
|
}
|
55
61
|
|
@@ -60,8 +66,8 @@
|
|
60
66
|
|
61
67
|
@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
|
62
68
|
@each $breakpoint in map-keys($breakpoints) {
|
69
|
+
// .row-cols defaults must all appear before .col overrides so they can be overridden.
|
63
70
|
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
64
|
-
|
65
71
|
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
66
72
|
// Provide basic `.col-{bp}` classes for equal-width flexbox columns
|
67
73
|
.col#{$infix} {
|
@@ -79,7 +85,13 @@
|
|
79
85
|
}
|
80
86
|
}
|
81
87
|
}
|
88
|
+
}
|
89
|
+
}
|
82
90
|
|
91
|
+
@each $breakpoint in map-keys($breakpoints) {
|
92
|
+
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
93
|
+
|
94
|
+
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
83
95
|
.col#{$infix}-auto {
|
84
96
|
@include make-col-auto();
|
85
97
|
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
//
|
5
5
|
// Automated responsive values for font sizes, paddings, margins and much more
|
6
6
|
//
|
7
|
-
// Licensed under MIT (https://github.com/twbs/rfs/blob/
|
7
|
+
// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)
|
8
8
|
|
9
9
|
// Configuration
|
10
10
|
|
@@ -52,12 +52,54 @@ $enable-rfs: true !default;
|
|
52
52
|
// Cache $rfs-base-value unit
|
53
53
|
$rfs-base-value-unit: unit($rfs-base-value);
|
54
54
|
|
55
|
+
@function divide($dividend, $divisor, $precision: 10) {
|
56
|
+
$sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
|
57
|
+
$dividend: abs($dividend);
|
58
|
+
$divisor: abs($divisor);
|
59
|
+
@if $dividend == 0 {
|
60
|
+
@return 0;
|
61
|
+
}
|
62
|
+
@if $divisor == 0 {
|
63
|
+
@error "Cannot divide by 0";
|
64
|
+
}
|
65
|
+
$remainder: $dividend;
|
66
|
+
$result: 0;
|
67
|
+
$factor: 10;
|
68
|
+
@while ($remainder > 0 and $precision >= 0) {
|
69
|
+
$quotient: 0;
|
70
|
+
@while ($remainder >= $divisor) {
|
71
|
+
$remainder: $remainder - $divisor;
|
72
|
+
$quotient: $quotient + 1;
|
73
|
+
}
|
74
|
+
$result: $result * 10 + $quotient;
|
75
|
+
$factor: $factor * .1;
|
76
|
+
$remainder: $remainder * 10;
|
77
|
+
$precision: $precision - 1;
|
78
|
+
@if ($precision < 0 and $remainder >= $divisor * 5) {
|
79
|
+
$result: $result + 1;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
$result: $result * $factor * $sign;
|
83
|
+
$dividend-unit: unit($dividend);
|
84
|
+
$divisor-unit: unit($divisor);
|
85
|
+
$unit-map: (
|
86
|
+
"px": 1px,
|
87
|
+
"rem": 1rem,
|
88
|
+
"em": 1em,
|
89
|
+
"%": 1%
|
90
|
+
);
|
91
|
+
@if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
|
92
|
+
$result: $result * map-get($unit-map, $dividend-unit);
|
93
|
+
}
|
94
|
+
@return $result;
|
95
|
+
}
|
96
|
+
|
55
97
|
// Remove px-unit from $rfs-base-value for calculations
|
56
98
|
@if $rfs-base-value-unit == px {
|
57
|
-
$rfs-base-value: $rfs-base-value
|
99
|
+
$rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);
|
58
100
|
}
|
59
101
|
@else if $rfs-base-value-unit == rem {
|
60
|
-
$rfs-base-value: $rfs-base-value
|
102
|
+
$rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));
|
61
103
|
}
|
62
104
|
|
63
105
|
// Cache $rfs-breakpoint unit to prevent multiple calls
|
@@ -65,14 +107,14 @@ $rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
|
|
65
107
|
|
66
108
|
// Remove unit from $rfs-breakpoint for calculations
|
67
109
|
@if $rfs-breakpoint-unit-cache == px {
|
68
|
-
$rfs-breakpoint: $rfs-breakpoint
|
110
|
+
$rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);
|
69
111
|
}
|
70
112
|
@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == "em" {
|
71
|
-
$rfs-breakpoint: $rfs-breakpoint
|
113
|
+
$rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));
|
72
114
|
}
|
73
115
|
|
74
116
|
// Calculate the media query value
|
75
|
-
$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint
|
117
|
+
$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});
|
76
118
|
$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);
|
77
119
|
$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);
|
78
120
|
|
@@ -164,11 +206,11 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
164
206
|
|
165
207
|
@if $unit == px {
|
166
208
|
// Convert to rem if needed
|
167
|
-
$val: $val + ' ' + if($rfs-unit == rem, #{$value
|
209
|
+
$val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);
|
168
210
|
}
|
169
211
|
@else if $unit == rem {
|
170
212
|
// Convert to px if needed
|
171
|
-
$val: $val + ' ' + if($rfs-unit == px, #{$value
|
213
|
+
$val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);
|
172
214
|
}
|
173
215
|
@else {
|
174
216
|
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
|
@@ -205,21 +247,21 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
205
247
|
|
206
248
|
@else {
|
207
249
|
// Remove unit from $value for calculations
|
208
|
-
$value: $value
|
250
|
+
$value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));
|
209
251
|
|
210
252
|
// Only add the media query if the value is greater than the minimum value
|
211
253
|
@if abs($value) <= $rfs-base-value or not $enable-rfs {
|
212
|
-
$val: $val + ' ' + if($rfs-unit == rem, #{$value
|
254
|
+
$val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);
|
213
255
|
}
|
214
256
|
@else {
|
215
257
|
// Calculate the minimum value
|
216
|
-
$value-min: $rfs-base-value + (abs($value) - $rfs-base-value
|
258
|
+
$value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);
|
217
259
|
|
218
260
|
// Calculate difference between $value and the minimum value
|
219
261
|
$value-diff: abs($value) - $value-min;
|
220
262
|
|
221
263
|
// Base value formatting
|
222
|
-
$min-width: if($rfs-unit == rem, #{$value-min
|
264
|
+
$min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);
|
223
265
|
|
224
266
|
// Use negative value if needed
|
225
267
|
$min-width: if($value < 0, -$min-width, $min-width);
|
@@ -228,7 +270,7 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
228
270
|
$variable-unit: if($rfs-two-dimensional, vmin, vw);
|
229
271
|
|
230
272
|
// Calculate the variable width between 0 and $rfs-breakpoint
|
231
|
-
$variable-width: #{$value-diff * 100
|
273
|
+
$variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};
|
232
274
|
|
233
275
|
// Return the calculated value
|
234
276
|
$val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';
|