PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.124.0
VK Blocks v1.124.0
1.126.4 1.126.3 1.126.1 1.126.2 1.126.0 1.125.0 1.124.0 1.123.0 1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / lib / bootstrap / scss / vendor / _rfs.scss
vk-blocks / lib / bootstrap / scss / vendor Last commit date
_rfs.scss 3 years ago
_rfs.scss
205 lines
1 // stylelint-disable property-blacklist, scss/dollar-variable-default
2
3 // SCSS RFS mixin
4 //
5 // Automated font-resizing
6 //
7 // See https://github.com/twbs/rfs
8
9 // Configuration
10
11 // Base font size
12 $rfs-base-font-size: 1.25rem !default;
13 $rfs-font-size-unit: rem !default;
14
15 // Breakpoint at where font-size starts decreasing if screen width is smaller
16 $rfs-breakpoint: 1200px !default;
17 $rfs-breakpoint-unit: px !default;
18
19 // Resize font-size based on screen height and width
20 $rfs-two-dimensional: false !default;
21
22 // Factor of decrease
23 $rfs-factor: 10 !default;
24
25 @if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {
26 @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";
27 }
28
29 // Generate enable or disable classes. Possibilities: false, "enable" or "disable"
30 $rfs-class: false !default;
31
32 // 1 rem = $rfs-rem-value px
33 $rfs-rem-value: 16 !default;
34
35 // Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
36 $rfs-safari-iframe-resize-bug-fix: false !default;
37
38 // Disable RFS by setting $enable-responsive-font-sizes to false
39 $enable-responsive-font-sizes: true !default;
40
41 // Cache $rfs-base-font-size unit
42 $rfs-base-font-size-unit: unit($rfs-base-font-size);
43
44 // Remove px-unit from $rfs-base-font-size for calculations
45 @if $rfs-base-font-size-unit == "px" {
46 $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);
47 }
48 @else if $rfs-base-font-size-unit == "rem" {
49 $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);
50 }
51
52 // Cache $rfs-breakpoint unit to prevent multiple calls
53 $rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
54
55 // Remove unit from $rfs-breakpoint for calculations
56 @if $rfs-breakpoint-unit-cache == "px" {
57 $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);
58 }
59 @else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {
60 $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);
61 }
62
63 // Responsive font-size mixin
64 @mixin rfs($fs, $important: false) {
65 // Cache $fs unit
66 $fs-unit: if(type-of($fs) == "number", unit($fs), false);
67
68 // Add !important suffix if needed
69 $rfs-suffix: if($important, " !important", "");
70
71 // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
72 @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {
73 font-size: #{$fs}#{$rfs-suffix};
74 }
75 @else {
76 // Variables for storing static and fluid rescaling
77 $rfs-static: null;
78 $rfs-fluid: null;
79
80 // Remove px-unit from $fs for calculations
81 @if $fs-unit == "px" {
82 $fs: $fs / ($fs * 0 + 1);
83 }
84 @else if $fs-unit == "rem" {
85 $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);
86 }
87
88 // Set default font-size
89 @if $rfs-font-size-unit == rem {
90 $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};
91 }
92 @else if $rfs-font-size-unit == px {
93 $rfs-static: #{$fs}px#{$rfs-suffix};
94 }
95 @else {
96 @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
97 }
98
99 // Only add media query if font-size is bigger as the minimum font-size
100 // If $rfs-factor == 1, no rescaling will take place
101 @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {
102 $min-width: null;
103 $variable-unit: null;
104
105 // Calculate minimum font-size for given font-size
106 $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;
107
108 // Calculate difference between given font-size and minimum font-size for given font-size
109 $fs-diff: $fs - $fs-min;
110
111 // Base font-size formatting
112 // No need to check if the unit is valid, because we did that before
113 $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);
114
115 // If two-dimensional, use smallest of screen width and height
116 $variable-unit: if($rfs-two-dimensional, vmin, vw);
117
118 // Calculate the variable width between 0 and $rfs-breakpoint
119 $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};
120
121 // Set the calculated font-size.
122 $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};
123 }
124
125 // Rendering
126 @if $rfs-fluid == null {
127 // Only render static font-size if no fluid font-size is available
128 font-size: $rfs-static;
129 }
130 @else {
131 $mq-value: null;
132
133 // RFS breakpoint formatting
134 @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {
135 $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};
136 }
137 @else if $rfs-breakpoint-unit == px {
138 $mq-value: #{$rfs-breakpoint}px;
139 }
140 @else {
141 @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
142 }
143
144 @if $rfs-class == "disable" {
145 // Adding an extra class increases specificity,
146 // which prevents the media query to override the font size
147 &,
148 .disable-responsive-font-size &,
149 &.disable-responsive-font-size {
150 font-size: $rfs-static;
151 }
152 }
153 @else {
154 font-size: $rfs-static;
155 }
156
157 @if $rfs-two-dimensional {
158 @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {
159 @if $rfs-class == "enable" {
160 .enable-responsive-font-size &,
161 &.enable-responsive-font-size {
162 font-size: $rfs-fluid;
163 }
164 }
165 @else {
166 font-size: $rfs-fluid;
167 }
168
169 @if $rfs-safari-iframe-resize-bug-fix {
170 // stylelint-disable-next-line length-zero-no-unit
171 min-width: 0vw;
172 }
173 }
174 }
175 @else {
176 @media (max-width: #{$mq-value}) {
177 @if $rfs-class == "enable" {
178 .enable-responsive-font-size &,
179 &.enable-responsive-font-size {
180 font-size: $rfs-fluid;
181 }
182 }
183 @else {
184 font-size: $rfs-fluid;
185 }
186
187 @if $rfs-safari-iframe-resize-bug-fix {
188 // stylelint-disable-next-line length-zero-no-unit
189 min-width: 0vw;
190 }
191 }
192 }
193 }
194 }
195 }
196
197 // The font-size & responsive-font-size mixin uses RFS to rescale font sizes
198 @mixin font-size($fs, $important: false) {
199 @include rfs($fs, $important);
200 }
201
202 @mixin responsive-font-size($fs, $important: false) {
203 @include rfs($fs, $important);
204 }
205