@volverjs/style 0.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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +139 -0
  3. package/package.json +158 -0
  4. package/src/_config.scss +32 -0
  5. package/src/_context.scss +11 -0
  6. package/src/assets/24consulting.svg +63 -0
  7. package/src/assets/volverjs.svg +15 -0
  8. package/src/components/index.scss +17 -0
  9. package/src/components/vv-badge.scss +12 -0
  10. package/src/components/vv-button-group.scss +115 -0
  11. package/src/components/vv-button.scss +57 -0
  12. package/src/components/vv-card.scss +12 -0
  13. package/src/components/vv-collapse.scss +12 -0
  14. package/src/components/vv-dialog.scss +12 -0
  15. package/src/components/vv-dropdown.scss +12 -0
  16. package/src/components/vv-input-checkbox-group.scss +12 -0
  17. package/src/components/vv-input-checkbox.scss +28 -0
  18. package/src/components/vv-input-radio-group.scss +12 -0
  19. package/src/components/vv-input-radio.scss +20 -0
  20. package/src/components/vv-input-text.scss +49 -0
  21. package/src/components/vv-progress.scss +12 -0
  22. package/src/components/vv-select.scss +49 -0
  23. package/src/components/vv-table.scss +12 -0
  24. package/src/components/vv-text.scss +12 -0
  25. package/src/components/vv-textarea.scss +49 -0
  26. package/src/export.scss +411 -0
  27. package/src/preflight.scss +281 -0
  28. package/src/props/animation.scss +80 -0
  29. package/src/props/background.scss +5 -0
  30. package/src/props/borders.scss +6 -0
  31. package/src/props/colors.scss +5 -0
  32. package/src/props/effects.scss +5 -0
  33. package/src/props/filters.scss +6 -0
  34. package/src/props/index.scss +12 -0
  35. package/src/props/input.scss +5 -0
  36. package/src/props/layout.scss +6 -0
  37. package/src/props/media.scss +49 -0
  38. package/src/props/sizing.scss +6 -0
  39. package/src/props/spacing.scss +27 -0
  40. package/src/props/typography.scss +38 -0
  41. package/src/reset.scss +88 -0
  42. package/src/settings/_animation.scss +9 -0
  43. package/src/settings/_background.scss +56 -0
  44. package/src/settings/_borders.scss +24 -0
  45. package/src/settings/_breakpoints.scss +13 -0
  46. package/src/settings/_colors.scss +39 -0
  47. package/src/settings/_effects.scss +39 -0
  48. package/src/settings/_filters.scss +26 -0
  49. package/src/settings/_flexbox.scss +66 -0
  50. package/src/settings/_grid.scss +104 -0
  51. package/src/settings/_index.scss +34 -0
  52. package/src/settings/_input.scss +51 -0
  53. package/src/settings/_layout.scss +109 -0
  54. package/src/settings/_sizing.scss +99 -0
  55. package/src/settings/_spacing.scss +77 -0
  56. package/src/settings/_typography.scss +179 -0
  57. package/src/settings/components/_vv-badge.scss +43 -0
  58. package/src/settings/components/_vv-button-group.scss +20 -0
  59. package/src/settings/components/_vv-button.scss +214 -0
  60. package/src/settings/components/_vv-card.scss +74 -0
  61. package/src/settings/components/_vv-collapse.scss +111 -0
  62. package/src/settings/components/_vv-dialog.scss +183 -0
  63. package/src/settings/components/_vv-dropdown.scss +37 -0
  64. package/src/settings/components/_vv-input-checkbox-group.scss +60 -0
  65. package/src/settings/components/_vv-input-checkbox.scss +92 -0
  66. package/src/settings/components/_vv-input-radio-group.scss +1 -0
  67. package/src/settings/components/_vv-input-radio.scss +60 -0
  68. package/src/settings/components/_vv-input-text.scss +327 -0
  69. package/src/settings/components/_vv-progress.scss +45 -0
  70. package/src/settings/components/_vv-select.scss +216 -0
  71. package/src/settings/components/_vv-table.scss +29 -0
  72. package/src/settings/components/_vv-text.scss +42 -0
  73. package/src/settings/components/_vv-textarea.scss +275 -0
  74. package/src/style.scss +14 -0
  75. package/src/themes/dark/_context.scss +8 -0
  76. package/src/themes/dark/components/_vv-button.scss +24 -0
  77. package/src/themes/dark/components/_vv-input-checkbox.scss +24 -0
  78. package/src/themes/dark/components/index.scss +2 -0
  79. package/src/themes/dark/props/_background.scss +15 -0
  80. package/src/themes/dark/props/_colors.scss +15 -0
  81. package/src/themes/dark/props/index.scss +2 -0
  82. package/src/themes/dark/settings/_background.scss +12 -0
  83. package/src/themes/dark/settings/_colors.scss +15 -0
  84. package/src/themes/dark/settings/_index.scss +5 -0
  85. package/src/themes/dark/settings/components/_vv-button.scss +58 -0
  86. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +26 -0
  87. package/src/themes/dark/style.scss +5 -0
  88. package/src/tools/_breakpoints.scss +126 -0
  89. package/src/tools/_functions.scss +138 -0
  90. package/src/tools/_index.scss +3 -0
  91. package/src/tools/_mixins.scss +902 -0
  92. package/src/utilities/animation.scss +8 -0
  93. package/src/utilities/backgrounds.scss +50 -0
  94. package/src/utilities/borders.scss +79 -0
  95. package/src/utilities/colors.scss +33 -0
  96. package/src/utilities/effects.scss +15 -0
  97. package/src/utilities/filters.scss +22 -0
  98. package/src/utilities/flexbox.scss +113 -0
  99. package/src/utilities/grid.scss +68 -0
  100. package/src/utilities/index.scss +12 -0
  101. package/src/utilities/layout.scss +188 -0
  102. package/src/utilities/sizing.scss +80 -0
  103. package/src/utilities/spacing.scss +109 -0
  104. package/src/utilities/typography.scss +226 -0
@@ -0,0 +1,8 @@
1
+ @import '../context';
2
+
3
+ // animate
4
+ @include spread-map-into-utilities(
5
+ $map: $animate,
6
+ $class: 'animate',
7
+ $attribute: 'animation'
8
+ );
@@ -0,0 +1,50 @@
1
+ @import '../context';
2
+
3
+ // background-attachment
4
+ @include spread-map-into-utilities(
5
+ $map: $background-attachment,
6
+ $class: 'bg',
7
+ $attribute: 'background-attachment'
8
+ );
9
+
10
+ // background-clip
11
+ @include spread-map-into-utilities(
12
+ $map: $background-clip,
13
+ $class: 'bg-clip',
14
+ $attribute: 'background-clip'
15
+ );
16
+
17
+ // background-origin
18
+ @include spread-map-into-utilities(
19
+ $map: $background-origin,
20
+ $class: 'bg-origin',
21
+ $attribute: 'background-origin'
22
+ );
23
+
24
+ // background-position
25
+ @include spread-map-into-utilities(
26
+ $map: $background-position,
27
+ $class: 'bg',
28
+ $attribute: 'background-position'
29
+ );
30
+
31
+ // background-repeat
32
+ @include spread-map-into-utilities(
33
+ $map: $background-repeat,
34
+ $class: bg,
35
+ $attribute: background-repeat
36
+ );
37
+
38
+ // background-size
39
+ @include spread-map-into-utilities(
40
+ $map: $background-size,
41
+ $class: bg,
42
+ $attribute: background-size
43
+ );
44
+
45
+ // background-image
46
+ @include spread-map-into-utilities(
47
+ $map: $background-image,
48
+ $class: bg,
49
+ $attribute: background-image
50
+ );
@@ -0,0 +1,79 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ // border-radius
5
+ @include spread-map-into-utilities(
6
+ $map: $border-radius,
7
+ $class: rounded,
8
+ $attribute: border-radius,
9
+ $prop: rounded
10
+ );
11
+
12
+ @each $x-key, $x-value in (t: top, b: bottom) {
13
+ @include spread-map-into-utilities(
14
+ $map: $border-radius,
15
+ $class: rounded- + $x-key,
16
+ $attribute: (
17
+ border- + $x-value + -left-radius,
18
+ border- + $x-value + -right-radius,
19
+ ),
20
+ $prop: rounded
21
+ );
22
+
23
+ @each $y-key, $y-value in (r: right, l: left) {
24
+ @include spread-map-into-utilities(
25
+ $map: $border-radius,
26
+ $class: rounded- + $x-key + $y-key,
27
+ $attribute: (
28
+ border- + $x-value + '-' + $y-value + -radius,
29
+ ),
30
+ $prop: rounded
31
+ );
32
+ }
33
+ }
34
+
35
+ // border-width
36
+ @include spread-map-into-utilities(
37
+ $map: $border-width,
38
+ $class: border,
39
+ $attribute: border-width,
40
+ $prop: border
41
+ );
42
+
43
+ @include spread-map-into-utilities(
44
+ $map: $border-width,
45
+ $class: border-x,
46
+ $attribute: (
47
+ border-right-width,
48
+ border-left-width,
49
+ ),
50
+ $prop: border
51
+ );
52
+
53
+ @include spread-map-into-utilities(
54
+ $map: $border-width,
55
+ $class: border-y,
56
+ $attribute: (
57
+ border-top-width,
58
+ border-bottom-width,
59
+ ),
60
+ $prop: border
61
+ );
62
+
63
+ @each $key, $value in (t: top, r: right, b: bottom, l: left) {
64
+ @include spread-map-into-utilities(
65
+ $map: $border-width,
66
+ $class: border- + $key,
67
+ $attribute: (
68
+ border- + $value + -width,
69
+ ),
70
+ $prop: border
71
+ );
72
+ }
73
+
74
+ // border-style
75
+ @include spread-map-into-utilities(
76
+ $map: $border-style,
77
+ $class: border,
78
+ $attribute: border-style
79
+ );
@@ -0,0 +1,33 @@
1
+ @import '../context';
2
+
3
+ // background-color
4
+ @include spread-map-into-utilities(
5
+ $map: $colors,
6
+ $class: bg,
7
+ $attribute: background-color,
8
+ $prop: color
9
+ );
10
+
11
+ // color
12
+ @include spread-map-into-utilities(
13
+ $map: $colors,
14
+ $class: text,
15
+ $attribute: color,
16
+ $prop: color
17
+ );
18
+
19
+ // text-decoration-color
20
+ @include spread-map-into-utilities(
21
+ $map: $colors,
22
+ $class: decoration,
23
+ $attribute: text-decoration-color,
24
+ $prop: color
25
+ );
26
+
27
+ // border-color
28
+ @include spread-map-into-utilities(
29
+ $map: $colors,
30
+ $class: border,
31
+ $attribute: border-color,
32
+ $prop: color
33
+ );
@@ -0,0 +1,15 @@
1
+ @import '../context';
2
+
3
+ // box shadow
4
+ @include spread-map-into-utilities(
5
+ $map: $box-shadow,
6
+ $class: shadow,
7
+ $attribute: box-shadow
8
+ );
9
+
10
+ // blend mode
11
+ @include spread-map-into-utilities(
12
+ $map: $blend-mode,
13
+ $class: mix-blend,
14
+ $attribute: mix-blend-mode
15
+ );
@@ -0,0 +1,22 @@
1
+ @import '../context';
2
+
3
+ // blur
4
+ @include spread-map-into-utilities(
5
+ $map: $blur,
6
+ $class: blur,
7
+ $attribute: filter
8
+ );
9
+
10
+ // brightness
11
+ @include spread-map-into-utilities(
12
+ $map: $brightness,
13
+ $class: brightness,
14
+ $attribute: filter
15
+ );
16
+
17
+ // backdrop blur
18
+ @include spread-map-into-utilities(
19
+ $map: $blur,
20
+ $class: backdrop-blur,
21
+ $attribute: backdrop-filter
22
+ );
@@ -0,0 +1,113 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ // flex direction
5
+ @include spread-map-into-utilities(
6
+ $map: $flex-direction,
7
+ $class: flex,
8
+ $attribute: flex-direction
9
+ );
10
+
11
+ // flex wrap
12
+ @include spread-map-into-utilities(
13
+ $map: $flex-wrap,
14
+ $class: flex,
15
+ $attribute: flex-wrap
16
+ );
17
+
18
+ // flex
19
+ @include spread-map-into-utilities($map: $flex, $class: flex, $attribute: flex);
20
+
21
+ // flex grow
22
+ @each $prefix, $prop in (grow: flex-grow, shrink: flex-shrink) {
23
+ @each $value, $postfix in (1: '', 0: '-0') {
24
+ %#{$prefix}#{$postfix} {
25
+ #{$prop}: #{$value};
26
+ }
27
+ @include wrap-with-where(
28
+ $selector: '.#{$prefix}#{$postfix}',
29
+ $enabled: $zero-specificity-for-utilities
30
+ ) {
31
+ @extend %#{$prefix}#{$postfix};
32
+ }
33
+ }
34
+ }
35
+
36
+ // order
37
+ @include spread-map-into-utilities(
38
+ $map: $order,
39
+ $class: order,
40
+ $attribute: order
41
+ );
42
+
43
+ // gap
44
+ @each $size, $value in map.merge($spacing, $spacing-dynamic) {
45
+ $default: null;
46
+
47
+ // check if value is not a map (spacing-dynamic)
48
+ @if type-of($value) != 'map' {
49
+ $default: $value;
50
+ }
51
+
52
+ $var: var(--spacing-#{$size}, #{$default});
53
+
54
+ // all
55
+ %gap-#{$size} {
56
+ gap: #{$var};
57
+ }
58
+ @include wrap-with-where(
59
+ $selector: '.gap-#{$size}',
60
+ $enabled: $zero-specificity-for-utilities
61
+ ) {
62
+ @extend %gap-#{$size};
63
+ }
64
+
65
+ // horizontal
66
+ %gap-x-#{$size} {
67
+ column-gap: #{$var};
68
+ }
69
+ @include wrap-with-where(
70
+ $selector: '.gap-x-#{$size}',
71
+ $enabled: $zero-specificity-for-utilities
72
+ ) {
73
+ @extend %gap-x-#{$size};
74
+ }
75
+
76
+ // vertical
77
+ %gap-y-#{$size} {
78
+ row-gap: #{$var};
79
+ }
80
+ @include wrap-with-where(
81
+ $selector: '.gap-y-#{$size}',
82
+ $enabled: $zero-specificity-for-utilities
83
+ ) {
84
+ @extend %gap-y-#{$size};
85
+ }
86
+ }
87
+
88
+ // justify and align content
89
+ @each $class, $attribute in (justify: justify-content, content: align-content) {
90
+ @include spread-map-into-utilities(
91
+ $map: $justify-align-content,
92
+ $class: $class,
93
+ $attribute: $attribute
94
+ );
95
+ }
96
+
97
+ // justify and align items
98
+ @each $class, $attribute in (justify-items: justify-items, items: align-items) {
99
+ @include spread-map-into-utilities(
100
+ $map: $justify-align-items,
101
+ $class: $class,
102
+ $attribute: $attribute
103
+ );
104
+ }
105
+
106
+ // justify and align self
107
+ @each $class, $attribute in (justify-self: justify-self, self: align-self) {
108
+ @include spread-map-into-utilities(
109
+ $map: $justify-align-self,
110
+ $class: $class,
111
+ $attribute: $attribute
112
+ );
113
+ }
@@ -0,0 +1,68 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ // grid template columns
5
+ @include spread-map-into-utilities(
6
+ $map: $grid-template-columns,
7
+ $class: grid-cols,
8
+ $attribute: grid-template-columns
9
+ );
10
+
11
+ // grid column
12
+ @include spread-map-into-utilities(
13
+ $map: $grid-column,
14
+ $class: col,
15
+ $attribute: grid-column
16
+ );
17
+
18
+ // grid column start/end
19
+ @each $class,
20
+ $attribute in (col-start: grid-column-start, col-end: grid-column-end)
21
+ {
22
+ @include spread-map-into-utilities(
23
+ $map: $grid-column-start-end,
24
+ $class: $class,
25
+ $attribute: $attribute
26
+ );
27
+ }
28
+
29
+ // grid template rows
30
+ @include spread-map-into-utilities(
31
+ $map: $grid-template-rows,
32
+ $class: grid-rows,
33
+ $attribute: grid-template-rows
34
+ );
35
+
36
+ // grid row
37
+ @include spread-map-into-utilities(
38
+ $map: $grid-row,
39
+ $class: row,
40
+ $attribute: grid-row
41
+ );
42
+
43
+ // grid row start/end
44
+ @each $class, $attribute in (row-start: grid-row-start, row-end: grid-row-end) {
45
+ @include spread-map-into-utilities(
46
+ $map: $grid-row-start-end,
47
+ $class: $class,
48
+ $attribute: $attribute
49
+ );
50
+ }
51
+
52
+ // grid auto flow
53
+ @include spread-map-into-utilities(
54
+ $map: $grid-auto-flow,
55
+ $class: grid-flow,
56
+ $attribute: grid-auto-flow
57
+ );
58
+
59
+ // grid auto rows/columns
60
+ @each $class,
61
+ $attribute in (auto-cols: grid-auto-columns, auto-rows: grid-auto-rows)
62
+ {
63
+ @include spread-map-into-utilities(
64
+ $map: $grid-auto-rows-columns,
65
+ $class: $class,
66
+ $attribute: $attribute
67
+ );
68
+ }
@@ -0,0 +1,12 @@
1
+ @import 'animation';
2
+ @import 'backgrounds';
3
+ @import 'borders';
4
+ @import 'colors';
5
+ @import 'effects';
6
+ @import 'filters';
7
+ @import 'flexbox';
8
+ @import 'grid';
9
+ @import 'layout';
10
+ @import 'sizing';
11
+ @import 'spacing';
12
+ @import 'typography';
@@ -0,0 +1,188 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ // aspect
5
+ @include spread-map-into-utilities(
6
+ $map: $aspect-ratio,
7
+ $class: aspect,
8
+ $attribute: aspect-ratio,
9
+ $prop: aspect
10
+ );
11
+
12
+ // container
13
+ %container {
14
+ width: 100%;
15
+
16
+ @each $breakpoint, $value in $breakpoints {
17
+ @if $value > 0 {
18
+ @include media-breakpoint-up($breakpoint) {
19
+ max-width: $value;
20
+ }
21
+ }
22
+ }
23
+ }
24
+ @include wrap-with-where(
25
+ $selector: '.container',
26
+ $enabled: $zero-specificity-for-utilities
27
+ ) {
28
+ @extend %container;
29
+ }
30
+
31
+ // columns
32
+ @include spread-map-into-utilities(
33
+ $map: $columns,
34
+ $class: columns,
35
+ $attribute: column-count,
36
+ $bps: $breakpoints
37
+ );
38
+
39
+ // break-after
40
+ @include spread-map-into-utilities(
41
+ $map: $break-after,
42
+ $class: break-after,
43
+ $attribute: break-after
44
+ );
45
+
46
+ // break-before
47
+ @include spread-map-into-utilities(
48
+ $map: $break-before,
49
+ $class: break-before,
50
+ $attribute: break-before
51
+ );
52
+
53
+ // break-inside
54
+ @include spread-map-into-utilities(
55
+ $map: $break-inside,
56
+ $class: break-inside,
57
+ $attribute: break-inside
58
+ );
59
+
60
+ // display
61
+ @include spread-map-into-utilities(
62
+ $map: $display-without-breakpoints,
63
+ $attribute: display
64
+ );
65
+
66
+ @include spread-map-into-utilities(
67
+ $map: $display-with-breakpoints,
68
+ $attribute: display,
69
+ $bps: $breakpoints
70
+ );
71
+
72
+ // object-fit
73
+ @include spread-map-into-utilities(
74
+ $map: $object-fit,
75
+ $class: object,
76
+ $attribute: object-fit
77
+ );
78
+
79
+ // object-position
80
+ @include spread-map-into-utilities(
81
+ $map: $object-position,
82
+ $class: object,
83
+ $attribute: object-position
84
+ );
85
+
86
+ // overflow
87
+ @each $overflow in (auto, hidden, clip, visible, scroll) {
88
+ %overflow-#{$overflow} {
89
+ overflow: #{$overflow};
90
+ }
91
+
92
+ @include wrap-with-where(
93
+ $selector: '.overflow-#{$overflow}',
94
+ $enabled: $zero-specificity-for-utilities
95
+ ) {
96
+ @extend %overflow-#{$overflow};
97
+ }
98
+
99
+ @each $prefix in (x, y) {
100
+ %overflow-#{$prefix}-#{$overflow} {
101
+ overflow-#{$prefix}: #{$overflow};
102
+ }
103
+
104
+ @include wrap-with-where(
105
+ $selector: '.overflow-#{$prefix}-#{$overflow}',
106
+ $enabled: $zero-specificity-for-utilities
107
+ ) {
108
+ @extend %overflow-#{$prefix}-#{$overflow};
109
+ }
110
+ }
111
+ }
112
+
113
+ // position
114
+ @include spread-map-into-utilities(
115
+ $map: $position,
116
+ $attribute: position,
117
+ $bps: $breakpoints
118
+ );
119
+
120
+ // visibility
121
+ @include spread-map-into-utilities(
122
+ $map: $visibility,
123
+ $attribute: visibility,
124
+ $bps: $breakpoints
125
+ );
126
+
127
+ // top / right / bottom / left
128
+ @each $size, $value in map.merge($spacing, $spacing-dynamic) {
129
+ // check if value is not a map (spacing-dynamic)
130
+ $var: var(--spacing-#{$size});
131
+ @if type-of($value) != 'map' {
132
+ $var: var(--spacing-#{$size}, #{$value});
133
+ }
134
+
135
+ // all
136
+ %inset-#{$size} {
137
+ inset: #{$var};
138
+ }
139
+ @include wrap-with-where(
140
+ $selector: '.inset-#{$size}',
141
+ $enabled: $zero-specificity-for-utilities
142
+ ) {
143
+ @extend %inset-#{$size};
144
+ }
145
+
146
+ // horizontal
147
+ %inset-x-#{$size} {
148
+ inset-inline: #{$var};
149
+ }
150
+ @include wrap-with-where(
151
+ $selector: '.inset-x-#{$size}',
152
+ $enabled: $zero-specificity-for-utilities
153
+ ) {
154
+ @extend %inset-x-#{$size};
155
+ }
156
+
157
+ // vertical
158
+ %inset-y-#{$size} {
159
+ inset-block: #{$var};
160
+ }
161
+ @include wrap-with-where(
162
+ $selector: '.inset-y-#{$size}',
163
+ $enabled: $zero-specificity-for-utilities
164
+ ) {
165
+ @extend %inset-y-#{$size};
166
+ }
167
+
168
+ // sides
169
+ @each $direction in(top, right, bottom, left) {
170
+ %#{$direction}-#{$size} {
171
+ #{$direction}: #{$var};
172
+ }
173
+ @include wrap-with-where(
174
+ $selector: '.#{$direction}-#{$size}',
175
+ $enabled: $zero-specificity-for-utilities
176
+ ) {
177
+ @extend %#{$direction}-#{$size};
178
+ }
179
+ }
180
+ }
181
+
182
+ // z-index
183
+ @include spread-map-into-utilities(
184
+ $map: $z-index,
185
+ $class: z,
186
+ $attribute: z-index,
187
+ $prop: z
188
+ );
@@ -0,0 +1,80 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ // width / height / max-width / max-height
5
+ @each $dimension,
6
+ $attr in(w: width, h: height, max-w: max-width, max-h: max-height)
7
+ {
8
+ @each $size, $value in map.merge($spacing, $spacing-dynamic) {
9
+ // check if value is not a map (spacing-dynamic)
10
+ $var: var(--spacing-#{$size});
11
+ @if type-of($value) != 'map' {
12
+ $var: var(--spacing-#{$size}, #{$value});
13
+ }
14
+
15
+ %#{$dimension}-#{$size} {
16
+ #{$attr}: #{$var};
17
+ }
18
+ @include wrap-with-where(
19
+ $selector: '.#{$dimension}-#{$size}',
20
+ $enabled: $zero-specificity-for-utilities
21
+ ) {
22
+ @extend %#{$dimension}-#{$size};
23
+ }
24
+ }
25
+ }
26
+
27
+ @include spread-map-into-utilities(
28
+ $map: $width,
29
+ $class: w,
30
+ $attribute: width,
31
+ $bps: $breakpoints,
32
+ $prop: w
33
+ );
34
+
35
+ @include spread-map-into-utilities(
36
+ $map: $height,
37
+ $class: h,
38
+ $attribute: height,
39
+ $bps: $breakpoints,
40
+ $prop: h
41
+ );
42
+
43
+ @include spread-map-into-utilities(
44
+ $map: $max-width,
45
+ $class: max-w,
46
+ $attribute: max-width
47
+ );
48
+
49
+ @include spread-map-into-utilities(
50
+ $map: $max-height,
51
+ $class: max-h,
52
+ $attribute: max-height
53
+ );
54
+
55
+ @each $breakpoint, $breakpoint-value in $breakpoints {
56
+ @if $breakpoint-value > 0 {
57
+ %max-w-screen-#{$breakpoint} {
58
+ max-width: $breakpoint-value;
59
+ }
60
+ @include wrap-with-where(
61
+ $selector: '.max-w-screen-#{$breakpoint}',
62
+ $enabled: $zero-specificity-for-utilities
63
+ ) {
64
+ @extend %max-w-screen-#{$breakpoint};
65
+ }
66
+ }
67
+ }
68
+
69
+ // min-width / min-height
70
+ @include spread-map-into-utilities(
71
+ $map: $min-width,
72
+ $class: min-w,
73
+ $attribute: min-width
74
+ );
75
+
76
+ @include spread-map-into-utilities(
77
+ $map: $min-height,
78
+ $class: min-h,
79
+ $attribute: min-height
80
+ );