beathers 5.7.3 → 5.7.6

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.
@@ -1,432 +1,439 @@
1
- @use 'sass:map';
2
- @use 'sass:list';
3
- @use 'sass:math';
4
- @use '../functions/mediaQueries' as mQ;
5
- @use '../settings/configs' as configs;
6
- @use '../settings/defaults' as defs;
7
- @use '../functions/validations' as val;
8
- @use '../settings/index' as settings;
9
- @use '../functions/others' as func;
10
- @use '../variables' as vars;
11
-
12
- // Definitions
13
- $useWrappers: if(vars.$useWrappers != null, vars.$useWrappers, settings.$useWrappers);
14
- $wrappers: if(vars.$wrappers != null, vars.$wrappers, defs.$wrappers);
15
- $useShadows: if(vars.$useShadows != null, vars.$useShadows, settings.$useShadows);
16
- $useShadowsMediaQueries: if(
17
- vars.$useShadowsMediaQueries != null,
18
- vars.$useShadowsMediaQueries,
19
- settings.$useShadowsMediaQueries
20
- );
21
- $useDisplays: if(vars.$useDisplays != null, vars.$useDisplays, settings.$useDisplays);
22
- $useDisplaysMediaQueries: if(
23
- vars.$useDisplaysMediaQueries != null,
24
- vars.$useDisplaysMediaQueries,
25
- settings.$useDisplaysMediaQueries
26
- );
27
- $useOverflows: if(vars.$useOverflows != null, vars.$useOverflows, settings.$useOverflows);
28
- $useOverflowsMediaQueries: if(
29
- vars.$useOverflowsMediaQueries != null,
30
- vars.$useOverflowsMediaQueries,
31
- settings.$useOverflowsMediaQueries
32
- );
33
- $useOpacities: if(vars.$useOpacities != null, vars.$useOpacities, settings.$useOpacities);
34
- $useOpacitiesMediaQueries: if(
35
- vars.$useOpacitiesMediaQueries != null,
36
- vars.$useOpacitiesMediaQueries,
37
- settings.$useOpacitiesMediaQueries
38
- );
39
- $opacities: if(vars.$opacities != null, vars.$opacities, defs.$opacities);
40
- $useBlur: if(vars.$useBlur != null, vars.$useBlur, settings.$useBlur);
41
- $useBlurMediaQueries: if(vars.$useBlurMediaQueries != null, vars.$useBlurMediaQueries, settings.$useBlurMediaQueries);
42
- $blurValues: if(vars.$blurValues != null, vars.$blurValues, defs.$blurValues);
43
- $useObjectFits: if(vars.$useObjectFits != null, vars.$useObjectFits, settings.$useObjectFits);
44
- $useObjectFitsMediaQueries: if(
45
- vars.$useObjectFitsMediaQueries != null,
46
- vars.$useObjectFitsMediaQueries,
47
- settings.$useObjectFitsMediaQueries
48
- );
49
- $usePositions: if(vars.$usePositions != null, vars.$usePositions, settings.$usePositions);
50
- $usePositionsMediaQueries: if(
51
- vars.$usePositionsMediaQueries != null,
52
- vars.$usePositionsMediaQueries,
53
- settings.$usePositionsMediaQueries
54
- );
55
- $useInsets: if(vars.$useInsets != null, vars.$useInsets, settings.$useInsets);
56
- $useInsetsMediaQueries: if(
57
- vars.$useInsetsMediaQueries != null,
58
- vars.$useInsetsMediaQueries,
59
- settings.$useInsetsMediaQueries
60
- );
61
- $insetValues: if(vars.$insetValues != null, vars.$insetValues, defs.$insetValues);
62
- $useSizes: if(vars.$useSizes != null, vars.$useSizes, settings.$useSizes);
63
- $useSizesMediaQueries: if(
64
- vars.$useSizesMediaQueries != null,
65
- vars.$useSizesMediaQueries,
66
- settings.$useSizesMediaQueries
67
- );
68
- $useGutters: if(vars.$useGutters != null, vars.$useGutters, settings.$useGutters);
69
- $useGuttersMediaQueries: if(
70
- vars.$useGuttersMediaQueries != null,
71
- vars.$useGuttersMediaQueries,
72
- settings.$useGuttersMediaQueries
73
- );
74
- $guttersValues: if(vars.$guttersValues != null, vars.$guttersValues, defs.$guttersValues);
75
- $useBorders: if(vars.$useBorders != null, vars.$useBorders, settings.$useBorders);
76
- $useBordersMediaQueries: if(
77
- vars.$useBordersMediaQueries != null,
78
- vars.$useBordersMediaQueries,
79
- settings.$useBordersMediaQueries
80
- );
81
- $bordersValue: if(vars.$bordersValue != null, vars.$bordersValue, defs.$bordersValue);
82
- $useTextBorders: if(vars.$useTextBorders != null, vars.$useTextBorders, settings.$useTextBorders);
83
- $useTextBordersMediaQueries: if(
84
- vars.$useTextBordersMediaQueries != null,
85
- vars.$useTextBordersMediaQueries,
86
- settings.$useTextBordersMediaQueries
87
- );
88
- $useRadius: if(vars.$useRadius != null, vars.$useRadius, settings.$useRadius);
89
- $useRadiusMediaQueries: if(
90
- vars.$useRadiusMediaQueries != null,
91
- vars.$useRadiusMediaQueries,
92
- settings.$useRadiusMediaQueries
93
- );
94
- $radiuses: if(vars.$radiuses != null, vars.$radiuses, defs.$radiuses);
95
-
96
- @if $useWrappers {
97
- @each $wSize, $properties in $wrappers {
98
- $mainWSize: if($wSize, '#{$wSize}#{\:}wrapper', 'wrapper');
99
-
100
- $size: list.nth($properties, 1);
101
- $padding: if(list.nth($properties, 2), list.nth($properties, 2), 0);
102
-
103
- // Validate parameters
104
- $checkedSize: val.notNull($size, 'Wrappers.size');
105
-
106
- .#{$mainWSize} {
107
- width: 100%;
108
-
109
- @if ($padding != 0) {
110
- padding-inline: $padding;
111
- }
112
-
113
- @include mQ.mQ(min, md) {
114
- padding-inline: calc((100% - #{$size}) / 2 + $padding);
115
- }
116
- }
117
- }
118
- }
119
-
120
- @if $useShadows {
121
- @include mQ.multiSizes($useShadowsMediaQueries) using ($size, $divider) {
122
- @each $class, $values in configs.$shadows {
123
- $mainClass: if($size, '#{$size}#{$divider}shadow#{\:}#{$class}', 'shadow#{\:}#{$class}');
124
-
125
- .#{$mainClass} {
126
- box-shadow: $values;
127
- }
128
- }
129
- }
130
- }
131
-
132
- @if $useDisplays {
133
- @include mQ.multiSizes($useDisplaysMediaQueries) using ($size, $divider) {
134
- @each $display in configs.$displays {
135
- // Validate parameters
136
- $checkedDisplay: val.listItem(configs.$displays, $display, 'Shaping.displays');
137
-
138
- $mainClass: if($size, '#{$size}#{$divider}d-#{$display}', 'd-#{$display}');
139
-
140
- .#{$mainClass} {
141
- display: if($size, $display !important, $display);
142
- }
143
- }
144
- }
145
- }
146
-
147
- @if $useOverflows {
148
- @include mQ.multiSizes($useOverflowsMediaQueries) using ($size, $divider) {
149
- @each $dir in configs.$overflowsDirections {
150
- // Validate parameters
151
- @if $dir {
152
- $checkedDir: val.listItem(('x', 'y'), $dir, 'Shaping.overflow.direction');
153
- }
154
-
155
- $dirClass: if($dir, '#{$dir}#{\:}overflow', 'overflow');
156
- $mainClass: if($size, '#{$size}#{$divider}#{$dirClass}', $dirClass);
157
- $property: if($dir, 'overflow-#{$dir}', 'overflow');
158
-
159
- .#{$mainClass} {
160
- @each $value in configs.$overflows {
161
- // Validate parameters
162
- $checkedClass: val.listItem(configs.$overflows, $value, 'Shaping.overflow.value');
163
-
164
- &-#{$value} {
165
- #{$property}: if($size, $value !important, $value);
166
- }
167
- }
168
- }
169
- }
170
- }
171
- }
172
-
173
- @if $useOpacities {
174
- @include mQ.multiSizes($useOpacitiesMediaQueries) using ($size, $divider) {
175
- @each $value in $opacities {
176
- $checkedValue: val.opacity(math.div($value, 100), 'Shaping.opacity');
177
-
178
- $mainClass: if($size, '#{$size}#{$divider}op', 'op');
179
-
180
- .#{$mainClass}#{\:}#{$value} {
181
- opacity: if($size, $checkedValue !important, $checkedValue);
182
-
183
- &#{\:}hover:hover {
184
- opacity: if($size, $checkedValue !important, $checkedValue);
185
- }
186
- }
187
- }
188
- }
189
- }
190
-
191
- @if $useBlur {
192
- @include mQ.multiSizes($useBlurMediaQueries) using ($size, $divider) {
193
- @each $value in $blurValues {
194
- $checkedValue: val.listItem($blurValues, $value, 'Shaping.blur');
195
-
196
- $mainClass: if($size, '#{$size}#{$divider}bg#{\:}blur', 'bg#{\:}blur');
197
- $calcValue: blur(#{$checkedValue}#{px});
198
-
199
- .#{$mainClass}#{\:}#{$value} {
200
- backdrop-filter: if($size, $calcValue !important, $calcValue);
201
-
202
- &#{\:}hover:hover {
203
- backdrop-filter: if($size, $calcValue !important, $calcValue);
204
- }
205
- }
206
- }
207
- }
208
- }
209
-
210
- @if $useObjectFits {
211
- @include mQ.multiSizes($useObjectFitsMediaQueries) using ($size, $divider) {
212
- @each $fit in configs.$objectsFits {
213
- // Validate parameters
214
- $checkedFit: val.listItem(configs.$objectsFits, $fit, 'Shaping.objectFit');
215
-
216
- $mainClass: if($size, '#{$size}#{$divider}object-fit', 'object-fit');
217
-
218
- .#{$mainClass}#{\:}#{$fit} {
219
- object-fit: if($size, $fit !important, $fit);
220
- }
221
- }
222
- }
223
- }
224
-
225
- @if $usePositions {
226
- @include mQ.multiSizes($usePositionsMediaQueries) using ($size, $divider) {
227
- @each $position in configs.$positions {
228
- // Validate parameters
229
- $checkedPosition: val.listItem(configs.$positions, $position, 'Shaping.position');
230
-
231
- $mainClass: if($size, '#{$size}#{$divider}p-', 'p-');
232
-
233
- .#{$mainClass}#{$position} {
234
- position: if($size, $position !important, $position);
235
- }
236
- }
237
- }
238
- }
239
-
240
- @if $useInsets {
241
- @include mQ.multiSizes($useInsetsMediaQueries) using ($size, $divider) {
242
- @each $value in $insetValues {
243
- @each $position in configs.$insetPositions {
244
- // Validate parameters
245
- $checkedPosition: val.listItem(configs.$insetPositions, $position, 'Shaping.inset');
246
-
247
- $mainClass: if($size, '#{$size}#{$divider}inset', 'inset');
248
- $posClass: if($position, '#{$mainClass}-#{$position}', '#{$mainClass}');
249
- $property: if($position, 'inset-#{$position}', 'inset');
250
- $val: if($value == 0, 'full', $value);
251
-
252
- .#{$posClass}#{\:}#{$val} {
253
- #{$property}: $value;
254
- }
255
- }
256
- }
257
- }
258
- }
259
-
260
- @if $useSizes {
261
- @include mQ.multiSizes($useSizesMediaQueries) using ($size, $divider) {
262
- @each $dir, $direction in configs.$spacesDirections {
263
- // Validate parameters
264
- $checkedDir: val.listItem(
265
- ('w', 'min#{\:}w', 'max#{\:}w', 'h', 'min#{\:}h', 'max#{\:}h'),
266
- $dir,
267
- 'Shaping.space.direction'
268
- );
269
- $checkedDirection: val.listItem(
270
- ('width', 'min-width', 'max-width', 'height', 'min-height', 'max-height'),
271
- $direction,
272
- 'Shaping.space.direction'
273
- );
274
- $checkedStep: val.number(configs.$spacesStep, 'Shaping.space.step');
275
-
276
- $mainClass: if($size, #{$size}#{$divider}#{$dir}, $dir);
277
-
278
- .#{$mainClass} {
279
- @for $i from 0 through 100 {
280
- $value: $i * $checkedStep;
281
-
282
- @if ($value != 0) and ($value % $checkedStep == 0) and ($value <= 100) {
283
- &#{\:}#{$value} {
284
- #{$direction}: if($size, #{$value}#{'%'} !important, #{$value}#{'%'});
285
- }
286
- }
287
- }
288
- }
289
- }
290
- }
291
- }
292
-
293
- @if $useGutters {
294
- @include mQ.multiSizes($useGuttersMediaQueries) using ($size, $divider) {
295
- @each $class, $property in configs.$gutters {
296
- // Validate parameters
297
- $checkedClass: val.listItem(
298
- (p, px, py, ps, pe, pt, pb, m, mx, my, ms, me, mt, mb, g, gx, gy),
299
- $class,
300
- 'Shaping.gutter.class'
301
- );
302
- $checkedProperty: val.listItem(
303
- (
304
- padding,
305
- padding-inline,
306
- padding-block,
307
- padding-inline-start,
308
- padding-inline-end,
309
- padding-block-start,
310
- padding-block-end,
311
- margin,
312
- margin-inline,
313
- margin-block,
314
- margin-inline-start,
315
- margin-inline-end,
316
- margin-block-start,
317
- margin-block-end,
318
- gap,
319
- column-gap,
320
- row-gap
321
- ),
322
- $property,
323
- 'Shaping.gutter.property'
324
- );
325
-
326
- $mainClass: if($size, #{$size}#{$divider}#{$class}, $class);
327
-
328
- .#{$mainClass} {
329
- @each $vClass, $value in $guttersValues {
330
- &-#{$vClass} {
331
- @if $size {
332
- #{$property}: if($size, $value !important, $value);
333
- } @else {
334
- #{$property}: $value;
335
-
336
- &\:i {
337
- /* stylelint-disable declaration-no-important */
338
- #{$property}: $value !important;
339
- }
340
- }
341
- }
342
- }
343
- }
344
- }
345
- }
346
- }
347
-
348
- @if $useBorders {
349
- @include mQ.multiSizes($useBordersMediaQueries) using ($size, $divider) {
350
- @each $i in $bordersValue {
351
- @each $dir, $property in configs.$bordersDirections {
352
- // Validate parameters
353
- $checkedDir: val.listItem((null, 'top', 'bottom', 'start', 'end'), $dir, 'Shaping.borders');
354
- $checkedProperty: val.listItem(
355
- (border, border-block-start, border-block-end, border-inline-start, border-inline-end),
356
- $property,
357
- 'Shaping.borders'
358
- );
359
-
360
- $mainClass: if($size, '#{$size}#{$divider}border', 'border');
361
- $dirClass: if($dir, '#{$dir}#{\:}', $dir);
362
-
363
- .#{$mainClass}#{\:}#{$dirClass}#{$i} {
364
- #{$property}-width: if($size, #{$i}#{px} !important, #{$i}#{px});
365
-
366
- @if not $size {
367
- #{$property}-style: if($size, solid !important, solid);
368
- }
369
- }
370
- }
371
- }
372
- }
373
- }
374
-
375
- @if $useTextBorders {
376
- @include mQ.multiSizes($useTextBordersMediaQueries) using ($size, $divider) {
377
- @each $i in $bordersValue {
378
- $mainClass: if($size, '#{$size}#{$divider}stroke', 'stroke');
379
- $value: math.div($i, 10);
380
-
381
- // Validate parameters
382
- $checkedValue: val.number($value, 'Shaping.textBorder');
383
-
384
- .#{$mainClass}#{\:}#{$i} {
385
- -webkit-text-stroke-width: if($size, #{$value}#{px} !important, #{$value}#{px});
386
- }
387
- }
388
- }
389
- }
390
-
391
- @if $useRadius {
392
- @include mQ.multiSizes($useRadiusMediaQueries) using ($size, $divider) {
393
- @each $dir, $properties in configs.$radiusDirection {
394
- // Validate parameters
395
- $checkedDir: val.listItem(
396
- (null, 'top', 'bottom', 'start', 'end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'),
397
- $dir,
398
- 'Shaping.radius.direction'
399
- );
400
-
401
- $mainClass: if($size, '#{$size}#{$divider}radius', 'radius');
402
- $dirClass: if($dir, '#{$dir}#{\:}', $dir);
403
-
404
- @each $property in $properties {
405
- .#{$mainClass}#{\:}#{$dirClass} {
406
- &full {
407
- #{$property}: if($size, 100vw !important, 100vw);
408
- }
409
-
410
- @each $value in $radiuses {
411
- // Validate parameters
412
- $checkedProperty: val.listItem(
413
- (
414
- border-radius,
415
- border-start-start-radius,
416
- border-start-end-radius,
417
- border-end-start-radius,
418
- border-end-end-radius
419
- ),
420
- $property,
421
- 'Shaping.radius.property'
422
- );
423
-
424
- &#{$value} {
425
- #{$property}: if($size, #{$value}#{px} !important, #{$value}#{'px'});
426
- }
427
- }
428
- }
429
- }
430
- }
431
- }
432
- }
1
+ @use 'sass:map';
2
+ @use 'sass:list';
3
+ @use 'sass:math';
4
+ @use '../functions/mediaQueries' as mQ;
5
+ @use '../settings/configs' as configs;
6
+ @use '../settings/defaults' as defs;
7
+ @use '../functions/validations' as val;
8
+ @use '../settings/index' as settings;
9
+ @use '../functions/others' as func;
10
+ @use '../variables' as vars;
11
+
12
+ // Definitions
13
+ $useWrappers: if(vars.$useWrappers != null, vars.$useWrappers, settings.$useWrappers);
14
+ $wrappers: if(vars.$wrappers != (), vars.$wrappers, defs.$wrappers);
15
+ $useShadows: if(vars.$useShadows != null, vars.$useShadows, settings.$useShadows);
16
+ $useShadowsMediaQueries: if(
17
+ vars.$useShadowsMediaQueries != null,
18
+ vars.$useShadowsMediaQueries,
19
+ settings.$useShadowsMediaQueries
20
+ );
21
+ $useDisplays: if(vars.$useDisplays != null, vars.$useDisplays, settings.$useDisplays);
22
+ $useDisplaysMediaQueries: if(
23
+ vars.$useDisplaysMediaQueries != null,
24
+ vars.$useDisplaysMediaQueries,
25
+ settings.$useDisplaysMediaQueries
26
+ );
27
+ $useOverflows: if(vars.$useOverflows != null, vars.$useOverflows, settings.$useOverflows);
28
+ $useOverflowsMediaQueries: if(
29
+ vars.$useOverflowsMediaQueries != null,
30
+ vars.$useOverflowsMediaQueries,
31
+ settings.$useOverflowsMediaQueries
32
+ );
33
+ $useOpacities: if(vars.$useOpacities != null, vars.$useOpacities, settings.$useOpacities);
34
+ $useOpacitiesMediaQueries: if(
35
+ vars.$useOpacitiesMediaQueries != null,
36
+ vars.$useOpacitiesMediaQueries,
37
+ settings.$useOpacitiesMediaQueries
38
+ );
39
+ $opacities: if(vars.$opacities != null, vars.$opacities, defs.$opacities);
40
+ $useBlur: if(vars.$useBlur != null, vars.$useBlur, settings.$useBlur);
41
+ $useBlurMediaQueries: if(vars.$useBlurMediaQueries != null, vars.$useBlurMediaQueries, settings.$useBlurMediaQueries);
42
+ $blurValues: if(vars.$blurValues != null, vars.$blurValues, defs.$blurValues);
43
+ $useObjectFits: if(vars.$useObjectFits != null, vars.$useObjectFits, settings.$useObjectFits);
44
+ $useObjectFitsMediaQueries: if(
45
+ vars.$useObjectFitsMediaQueries != null,
46
+ vars.$useObjectFitsMediaQueries,
47
+ settings.$useObjectFitsMediaQueries
48
+ );
49
+ $usePositions: if(vars.$usePositions != null, vars.$usePositions, settings.$usePositions);
50
+ $usePositionsMediaQueries: if(
51
+ vars.$usePositionsMediaQueries != null,
52
+ vars.$usePositionsMediaQueries,
53
+ settings.$usePositionsMediaQueries
54
+ );
55
+ $useInsets: if(vars.$useInsets != null, vars.$useInsets, settings.$useInsets);
56
+ $useInsetsMediaQueries: if(
57
+ vars.$useInsetsMediaQueries != null,
58
+ vars.$useInsetsMediaQueries,
59
+ settings.$useInsetsMediaQueries
60
+ );
61
+ $insetValues: if(vars.$insetValues != null, vars.$insetValues, defs.$insetValues);
62
+ $useSizes: if(vars.$useSizes != null, vars.$useSizes, settings.$useSizes);
63
+ $useSizesMediaQueries: if(
64
+ vars.$useSizesMediaQueries != null,
65
+ vars.$useSizesMediaQueries,
66
+ settings.$useSizesMediaQueries
67
+ );
68
+ $useGutters: if(vars.$useGutters != null, vars.$useGutters, settings.$useGutters);
69
+ $useGuttersMediaQueries: if(
70
+ vars.$useGuttersMediaQueries != null,
71
+ vars.$useGuttersMediaQueries,
72
+ settings.$useGuttersMediaQueries
73
+ );
74
+ $guttersValues: if(vars.$guttersValues != null, vars.$guttersValues, defs.$guttersValues);
75
+ $useBorders: if(vars.$useBorders != null, vars.$useBorders, settings.$useBorders);
76
+ $useBordersMediaQueries: if(
77
+ vars.$useBordersMediaQueries != null,
78
+ vars.$useBordersMediaQueries,
79
+ settings.$useBordersMediaQueries
80
+ );
81
+ $bordersValue: if(vars.$bordersValue != null, vars.$bordersValue, defs.$bordersValue);
82
+ $useTextBorders: if(vars.$useTextBorders != null, vars.$useTextBorders, settings.$useTextBorders);
83
+ $useTextBordersMediaQueries: if(
84
+ vars.$useTextBordersMediaQueries != null,
85
+ vars.$useTextBordersMediaQueries,
86
+ settings.$useTextBordersMediaQueries
87
+ );
88
+ $useRadius: if(vars.$useRadius != null, vars.$useRadius, settings.$useRadius);
89
+ $useRadiusMediaQueries: if(
90
+ vars.$useRadiusMediaQueries != null,
91
+ vars.$useRadiusMediaQueries,
92
+ settings.$useRadiusMediaQueries
93
+ );
94
+ $radiuses: if(vars.$radiuses != null, vars.$radiuses, defs.$radiuses);
95
+
96
+ @if $useWrappers {
97
+ @each $wSize, $properties in $wrappers {
98
+ $mainWSize: if($wSize, '#{$wSize}#{\:}wrapper', 'wrapper');
99
+
100
+ $padding: if(list.nth($properties, 2), list.nth($properties, 2), 0);
101
+
102
+ .#{$mainWSize} {
103
+ width: 100%;
104
+
105
+ @if ($padding != 0) {
106
+ padding-inline: $padding;
107
+ }
108
+ }
109
+ }
110
+ @include mQ.mQ(min, md) {
111
+ @each $wSize, $properties in $wrappers {
112
+ $mainWSize: if($wSize, '#{$wSize}#{\:}wrapper', 'wrapper');
113
+
114
+ $size: list.nth($properties, 1);
115
+ $padding: if(list.nth($properties, 2), list.nth($properties, 2), 0);
116
+
117
+ // Validate parameters
118
+ $checkedSize: val.notNull($size, 'Wrappers.size');
119
+
120
+ .#{$mainWSize} {
121
+ padding-inline: calc((100% - #{$checkedSize}) / 2 + $padding);
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ @if $useShadows {
128
+ @include mQ.multiSizes($useShadowsMediaQueries) using ($size, $divider) {
129
+ @each $class, $values in configs.$shadows {
130
+ $mainClass: if($size, '#{$size}#{$divider}shadow#{\:}#{$class}', 'shadow#{\:}#{$class}');
131
+
132
+ .#{$mainClass} {
133
+ box-shadow: $values;
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ @if $useDisplays {
140
+ @include mQ.multiSizes($useDisplaysMediaQueries) using ($size, $divider) {
141
+ @each $display in configs.$displays {
142
+ // Validate parameters
143
+ $checkedDisplay: val.listItem(configs.$displays, $display, 'Shaping.displays');
144
+
145
+ $mainClass: if($size, '#{$size}#{$divider}d-#{$display}', 'd-#{$display}');
146
+
147
+ .#{$mainClass} {
148
+ display: if($size, $display !important, $display);
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ @if $useOverflows {
155
+ @include mQ.multiSizes($useOverflowsMediaQueries) using ($size, $divider) {
156
+ @each $dir in configs.$overflowsDirections {
157
+ // Validate parameters
158
+ @if $dir {
159
+ $checkedDir: val.listItem(('x', 'y'), $dir, 'Shaping.overflow.direction');
160
+ }
161
+
162
+ $dirClass: if($dir, '#{$dir}#{\:}overflow', 'overflow');
163
+ $mainClass: if($size, '#{$size}#{$divider}#{$dirClass}', $dirClass);
164
+ $property: if($dir, 'overflow-#{$dir}', 'overflow');
165
+
166
+ .#{$mainClass} {
167
+ @each $value in configs.$overflows {
168
+ // Validate parameters
169
+ $checkedClass: val.listItem(configs.$overflows, $value, 'Shaping.overflow.value');
170
+
171
+ &-#{$value} {
172
+ #{$property}: if($size, $value !important, $value);
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+
180
+ @if $useOpacities {
181
+ @include mQ.multiSizes($useOpacitiesMediaQueries) using ($size, $divider) {
182
+ @each $value in $opacities {
183
+ $checkedValue: val.opacity(math.div($value, 100), 'Shaping.opacity');
184
+
185
+ $mainClass: if($size, '#{$size}#{$divider}op', 'op');
186
+
187
+ .#{$mainClass}#{\:}#{$value} {
188
+ opacity: if($size, $checkedValue !important, $checkedValue);
189
+
190
+ &#{\:}hover:hover {
191
+ opacity: if($size, $checkedValue !important, $checkedValue);
192
+ }
193
+ }
194
+ }
195
+ }
196
+ }
197
+
198
+ @if $useBlur {
199
+ @include mQ.multiSizes($useBlurMediaQueries) using ($size, $divider) {
200
+ @each $value in $blurValues {
201
+ $checkedValue: val.listItem($blurValues, $value, 'Shaping.blur');
202
+
203
+ $mainClass: if($size, '#{$size}#{$divider}bg#{\:}blur', 'bg#{\:}blur');
204
+ $calcValue: blur(#{$checkedValue}#{px});
205
+
206
+ .#{$mainClass}#{\:}#{$value} {
207
+ backdrop-filter: if($size, $calcValue !important, $calcValue);
208
+
209
+ &#{\:}hover:hover {
210
+ backdrop-filter: if($size, $calcValue !important, $calcValue);
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
216
+
217
+ @if $useObjectFits {
218
+ @include mQ.multiSizes($useObjectFitsMediaQueries) using ($size, $divider) {
219
+ @each $fit in configs.$objectsFits {
220
+ // Validate parameters
221
+ $checkedFit: val.listItem(configs.$objectsFits, $fit, 'Shaping.objectFit');
222
+
223
+ $mainClass: if($size, '#{$size}#{$divider}object-fit', 'object-fit');
224
+
225
+ .#{$mainClass}#{\:}#{$fit} {
226
+ object-fit: if($size, $fit !important, $fit);
227
+ }
228
+ }
229
+ }
230
+ }
231
+
232
+ @if $usePositions {
233
+ @include mQ.multiSizes($usePositionsMediaQueries) using ($size, $divider) {
234
+ @each $position in configs.$positions {
235
+ // Validate parameters
236
+ $checkedPosition: val.listItem(configs.$positions, $position, 'Shaping.position');
237
+
238
+ $mainClass: if($size, '#{$size}#{$divider}p-', 'p-');
239
+
240
+ .#{$mainClass}#{$position} {
241
+ position: if($size, $position !important, $position);
242
+ }
243
+ }
244
+ }
245
+ }
246
+
247
+ @if $useInsets {
248
+ @include mQ.multiSizes($useInsetsMediaQueries) using ($size, $divider) {
249
+ @each $value in $insetValues {
250
+ @each $position in configs.$insetPositions {
251
+ // Validate parameters
252
+ $checkedPosition: val.listItem(configs.$insetPositions, $position, 'Shaping.inset');
253
+
254
+ $mainClass: if($size, '#{$size}#{$divider}inset', 'inset');
255
+ $posClass: if($position, '#{$mainClass}-#{$position}', '#{$mainClass}');
256
+ $property: if($position, 'inset-#{$position}', 'inset');
257
+ $val: if($value == 0, 'full', $value);
258
+
259
+ .#{$posClass}#{\:}#{$val} {
260
+ #{$property}: $value;
261
+ }
262
+ }
263
+ }
264
+ }
265
+ }
266
+
267
+ @if $useSizes {
268
+ @include mQ.multiSizes($useSizesMediaQueries) using ($size, $divider) {
269
+ @each $dir, $direction in configs.$spacesDirections {
270
+ // Validate parameters
271
+ $checkedDir: val.listItem(
272
+ ('w', 'min#{\:}w', 'max#{\:}w', 'h', 'min#{\:}h', 'max#{\:}h'),
273
+ $dir,
274
+ 'Shaping.space.direction'
275
+ );
276
+ $checkedDirection: val.listItem(
277
+ ('width', 'min-width', 'max-width', 'height', 'min-height', 'max-height'),
278
+ $direction,
279
+ 'Shaping.space.direction'
280
+ );
281
+ $checkedStep: val.number(configs.$spacesStep, 'Shaping.space.step');
282
+
283
+ $mainClass: if($size, #{$size}#{$divider}#{$dir}, $dir);
284
+
285
+ .#{$mainClass} {
286
+ @for $i from 0 through 100 {
287
+ $value: $i * $checkedStep;
288
+
289
+ @if ($value != 0) and ($value % $checkedStep == 0) and ($value <= 100) {
290
+ &#{\:}#{$value} {
291
+ #{$direction}: if($size, #{$value}#{'%'} !important, #{$value}#{'%'});
292
+ }
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ }
299
+
300
+ @if $useGutters {
301
+ @include mQ.multiSizes($useGuttersMediaQueries) using ($size, $divider) {
302
+ @each $class, $property in configs.$gutters {
303
+ // Validate parameters
304
+ $checkedClass: val.listItem(
305
+ (p, px, py, ps, pe, pt, pb, m, mx, my, ms, me, mt, mb, g, gx, gy),
306
+ $class,
307
+ 'Shaping.gutter.class'
308
+ );
309
+ $checkedProperty: val.listItem(
310
+ (
311
+ padding,
312
+ padding-inline,
313
+ padding-block,
314
+ padding-inline-start,
315
+ padding-inline-end,
316
+ padding-block-start,
317
+ padding-block-end,
318
+ margin,
319
+ margin-inline,
320
+ margin-block,
321
+ margin-inline-start,
322
+ margin-inline-end,
323
+ margin-block-start,
324
+ margin-block-end,
325
+ gap,
326
+ column-gap,
327
+ row-gap
328
+ ),
329
+ $property,
330
+ 'Shaping.gutter.property'
331
+ );
332
+
333
+ $mainClass: if($size, #{$size}#{$divider}#{$class}, $class);
334
+
335
+ .#{$mainClass} {
336
+ @each $vClass, $value in $guttersValues {
337
+ &-#{$vClass} {
338
+ @if $size {
339
+ #{$property}: if($size, $value !important, $value);
340
+ } @else {
341
+ #{$property}: $value;
342
+
343
+ &\:i {
344
+ /* stylelint-disable declaration-no-important */
345
+ #{$property}: $value !important;
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }
352
+ }
353
+ }
354
+
355
+ @if $useBorders {
356
+ @include mQ.multiSizes($useBordersMediaQueries) using ($size, $divider) {
357
+ @each $i in $bordersValue {
358
+ @each $dir, $property in configs.$bordersDirections {
359
+ // Validate parameters
360
+ $checkedDir: val.listItem((null, 'top', 'bottom', 'start', 'end'), $dir, 'Shaping.borders');
361
+ $checkedProperty: val.listItem(
362
+ (border, border-block-start, border-block-end, border-inline-start, border-inline-end),
363
+ $property,
364
+ 'Shaping.borders'
365
+ );
366
+
367
+ $mainClass: if($size, '#{$size}#{$divider}border', 'border');
368
+ $dirClass: if($dir, '#{$dir}#{\:}', $dir);
369
+
370
+ .#{$mainClass}#{\:}#{$dirClass}#{$i} {
371
+ #{$property}-width: if($size, #{$i}#{px} !important, #{$i}#{px});
372
+
373
+ @if not $size {
374
+ #{$property}-style: if($size, solid !important, solid);
375
+ }
376
+ }
377
+ }
378
+ }
379
+ }
380
+ }
381
+
382
+ @if $useTextBorders {
383
+ @include mQ.multiSizes($useTextBordersMediaQueries) using ($size, $divider) {
384
+ @each $i in $bordersValue {
385
+ $mainClass: if($size, '#{$size}#{$divider}stroke', 'stroke');
386
+ $value: math.div($i, 10);
387
+
388
+ // Validate parameters
389
+ $checkedValue: val.number($value, 'Shaping.textBorder');
390
+
391
+ .#{$mainClass}#{\:}#{$i} {
392
+ -webkit-text-stroke-width: if($size, #{$value}#{px} !important, #{$value}#{px});
393
+ }
394
+ }
395
+ }
396
+ }
397
+
398
+ @if $useRadius {
399
+ @include mQ.multiSizes($useRadiusMediaQueries) using ($size, $divider) {
400
+ @each $dir, $properties in configs.$radiusDirection {
401
+ // Validate parameters
402
+ $checkedDir: val.listItem(
403
+ (null, 'top', 'bottom', 'start', 'end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'),
404
+ $dir,
405
+ 'Shaping.radius.direction'
406
+ );
407
+
408
+ $mainClass: if($size, '#{$size}#{$divider}radius', 'radius');
409
+ $dirClass: if($dir, '#{$dir}#{\:}', $dir);
410
+
411
+ @each $property in $properties {
412
+ .#{$mainClass}#{\:}#{$dirClass} {
413
+ &full {
414
+ #{$property}: if($size, 100vw !important, 100vw);
415
+ }
416
+
417
+ @each $value in $radiuses {
418
+ // Validate parameters
419
+ $checkedProperty: val.listItem(
420
+ (
421
+ border-radius,
422
+ border-start-start-radius,
423
+ border-start-end-radius,
424
+ border-end-start-radius,
425
+ border-end-end-radius
426
+ ),
427
+ $property,
428
+ 'Shaping.radius.property'
429
+ );
430
+
431
+ &#{$value} {
432
+ #{$property}: if($size, #{$value}#{px} !important, #{$value}#{'px'});
433
+ }
434
+ }
435
+ }
436
+ }
437
+ }
438
+ }
439
+ }