@graupl/graupl 1.0.0-beta.1 → 1.0.0-beta.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.
Files changed (138) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/css/base/button.css +1 -1
  3. package/dist/css/base/button.css.map +1 -1
  4. package/dist/css/base/form.css +1 -1
  5. package/dist/css/base/form.css.map +1 -1
  6. package/dist/css/base/link.css +1 -1
  7. package/dist/css/base/link.css.map +1 -1
  8. package/dist/css/base/table.css +1 -1
  9. package/dist/css/base/table.css.map +1 -1
  10. package/dist/css/base.css +1 -1
  11. package/dist/css/base.css.map +1 -1
  12. package/dist/css/component/accordion.css +1 -1
  13. package/dist/css/component/accordion.css.map +1 -1
  14. package/dist/css/component/alert.css +1 -1
  15. package/dist/css/component/alert.css.map +1 -1
  16. package/dist/css/component/card.css +1 -1
  17. package/dist/css/component/card.css.map +1 -1
  18. package/dist/css/component/carousel.css +1 -1
  19. package/dist/css/component/carousel.css.map +1 -1
  20. package/dist/css/component/input-group.css +1 -1
  21. package/dist/css/component/input-group.css.map +1 -1
  22. package/dist/css/component/list.css +2 -0
  23. package/dist/css/component/list.css.map +1 -0
  24. package/dist/css/component/menu.css +1 -1
  25. package/dist/css/component/menu.css.map +1 -1
  26. package/dist/css/component/navigation.css +1 -1
  27. package/dist/css/component/navigation.css.map +1 -1
  28. package/dist/css/component.css +1 -1
  29. package/dist/css/component.css.map +1 -1
  30. package/dist/css/graupl.css +1 -1
  31. package/dist/css/graupl.css.map +1 -1
  32. package/dist/css/layout/columns.css +1 -1
  33. package/dist/css/layout/columns.css.map +1 -1
  34. package/dist/css/layout/container.css +1 -1
  35. package/dist/css/layout/container.css.map +1 -1
  36. package/dist/css/layout/flex-columns.css +1 -1
  37. package/dist/css/layout/flex-columns.css.map +1 -1
  38. package/dist/css/layout.css +1 -1
  39. package/dist/css/layout.css.map +1 -1
  40. package/dist/css/normalize.css +1 -1
  41. package/dist/css/normalize.css.map +1 -1
  42. package/dist/css/state/focus.css +1 -1
  43. package/dist/css/state/focus.css.map +1 -1
  44. package/dist/css/state.css +1 -1
  45. package/dist/css/state.css.map +1 -1
  46. package/dist/css/theme/color.css +1 -1
  47. package/dist/css/theme/color.css.map +1 -1
  48. package/dist/css/theme/typography.css +1 -1
  49. package/dist/css/theme/typography.css.map +1 -1
  50. package/dist/css/theme.css +1 -1
  51. package/dist/css/theme.css.map +1 -1
  52. package/dist/css/utilities/alignment.css +1 -1
  53. package/dist/css/utilities/alignment.css.map +1 -1
  54. package/dist/css/utilities/border.css +2 -0
  55. package/dist/css/utilities/border.css.map +1 -0
  56. package/dist/css/utilities/color.css +1 -1
  57. package/dist/css/utilities/color.css.map +1 -1
  58. package/dist/css/utilities/display.css +1 -1
  59. package/dist/css/utilities/display.css.map +1 -1
  60. package/dist/css/utilities/flex.css +1 -1
  61. package/dist/css/utilities/flex.css.map +1 -1
  62. package/dist/css/utilities/height.css +1 -1
  63. package/dist/css/utilities/height.css.map +1 -1
  64. package/dist/css/utilities/inset.css +1 -1
  65. package/dist/css/utilities/inset.css.map +1 -1
  66. package/dist/css/utilities/justification.css +1 -1
  67. package/dist/css/utilities/justification.css.map +1 -1
  68. package/dist/css/utilities/list.css +1 -1
  69. package/dist/css/utilities/list.css.map +1 -1
  70. package/dist/css/utilities/order.css +1 -1
  71. package/dist/css/utilities/order.css.map +1 -1
  72. package/dist/css/utilities/postion.css +1 -1
  73. package/dist/css/utilities/postion.css.map +1 -1
  74. package/dist/css/utilities/ratio.css +1 -1
  75. package/dist/css/utilities/ratio.css.map +1 -1
  76. package/dist/css/utilities/spacing.css +1 -1
  77. package/dist/css/utilities/spacing.css.map +1 -1
  78. package/dist/css/utilities/typography.css +1 -1
  79. package/dist/css/utilities/typography.css.map +1 -1
  80. package/dist/css/utilities/visibility.css +1 -1
  81. package/dist/css/utilities/visibility.css.map +1 -1
  82. package/dist/css/utilities/width.css +1 -1
  83. package/dist/css/utilities/width.css.map +1 -1
  84. package/dist/css/utilities.css +1 -1
  85. package/dist/css/utilities.css.map +1 -1
  86. package/index.html +84 -12
  87. package/package.json +1 -1
  88. package/scss/component/list.scss +3 -0
  89. package/scss/utilities/border.scss +3 -0
  90. package/src/scss/_defaults.scss +14 -5
  91. package/src/scss/component/_index.scss +1 -0
  92. package/src/scss/component/input-group/_index.scss +1 -1
  93. package/src/scss/component/list/_defaults.scss +15 -0
  94. package/src/scss/component/list/_index.scss +50 -0
  95. package/src/scss/component/list/_variables.scss +176 -0
  96. package/src/scss/functions/_screen.scss +8 -0
  97. package/src/scss/functions/_utility.scss +28 -0
  98. package/src/scss/mixins/_layer.scss +5 -1
  99. package/src/scss/mixins/_screen.scss +24 -3
  100. package/src/scss/mixins/_state.scss +18 -0
  101. package/src/scss/mixins/_theme.scss +15 -0
  102. package/src/scss/mixins/_utility.scss +119 -17
  103. package/src/scss/theme/color/_index.scss +4 -4
  104. package/src/scss/utilities/_index.scss +1 -0
  105. package/src/scss/utilities/alignment/_defaults.scss +7 -5
  106. package/src/scss/utilities/alignment/_index.scss +117 -24
  107. package/src/scss/utilities/border/_defaults.scss +61 -0
  108. package/src/scss/utilities/border/_index.scss +269 -0
  109. package/src/scss/utilities/border/_variables.scss +6 -0
  110. package/src/scss/utilities/color/_defaults.scss +6 -4
  111. package/src/scss/utilities/color/_index.scss +137 -26
  112. package/src/scss/utilities/display/_defaults.scss +8 -4
  113. package/src/scss/utilities/display/_index.scss +88 -15
  114. package/src/scss/utilities/flex/_defaults.scss +30 -6
  115. package/src/scss/utilities/flex/_index.scss +215 -31
  116. package/src/scss/utilities/height/_defaults.scss +7 -5
  117. package/src/scss/utilities/height/_index.scss +183 -45
  118. package/src/scss/utilities/inset/_defaults.scss +4 -2
  119. package/src/scss/utilities/inset/_index.scss +58 -5
  120. package/src/scss/utilities/justification/_defaults.scss +7 -5
  121. package/src/scss/utilities/justification/_index.scss +117 -24
  122. package/src/scss/utilities/list/_defaults.scss +6 -4
  123. package/src/scss/utilities/list/_index.scss +86 -17
  124. package/src/scss/utilities/order/_defaults.scss +5 -3
  125. package/src/scss/utilities/order/_index.scss +68 -20
  126. package/src/scss/utilities/position/_defaults.scss +5 -3
  127. package/src/scss/utilities/position/_index.scss +55 -10
  128. package/src/scss/utilities/ratio/_defaults.scss +7 -5
  129. package/src/scss/utilities/ratio/_index.scss +49 -10
  130. package/src/scss/utilities/spacing/_defaults.scss +4 -2
  131. package/src/scss/utilities/spacing/_index.scss +225 -12
  132. package/src/scss/utilities/typography/_defaults.scss +21 -5
  133. package/src/scss/utilities/typography/_index.scss +577 -143
  134. package/src/scss/utilities/visibility/_defaults.scss +5 -3
  135. package/src/scss/utilities/visibility/_index.scss +56 -10
  136. package/src/scss/utilities/width/_defaults.scss +7 -5
  137. package/src/scss/utilities/width/_index.scss +183 -45
  138. package/stylelint.config.js +1 -0
@@ -6,30 +6,75 @@
6
6
  @use "../../defaults" as root-defaults;
7
7
  @use "../../mixins/layer" as *;
8
8
  @use "../../mixins/utility";
9
+ @use "../../theme/color/variables" as color;
9
10
  @use "defaults";
10
11
  @use "sass:map";
11
12
  @use "variables" as *;
12
13
 
13
14
  @include layer(utilities) {
15
+ $selector-prefix: root-defaults.$utility-selector-prefix;
16
+
14
17
  // For each position property, create a utility class.
15
18
  @each $name, $property in defaults.$position-properties {
16
- @include utility.create(
17
- ".#{defaults.$position-class-prefix}#{$name}",
18
- position,
19
- $property
20
- );
19
+ $selector: "#{$selector-prefix}#{defaults.$position-selector-prefix}#{$name}";
20
+
21
+ @include utility.create($selector, position, $property);
22
+ }
23
+
24
+ // Generate screen-aware utilities.
25
+ @if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
26
+ @each $screen-name in map.keys(root-defaults.$screen-sizes) {
27
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$screen-name}#{root-defaults.$utility-screen-aware-separator}";
28
+
29
+ // For each position property, create a utility class.
30
+ @each $name, $property in defaults.$position-properties {
31
+ $selector: "#{$selector-prefix}#{defaults.$position-selector-prefix}#{$name}";
32
+
33
+ @include utility.create(
34
+ $selector,
35
+ position,
36
+ $property,
37
+ $screen: $screen-name
38
+ );
39
+ }
40
+ }
21
41
  }
22
42
 
23
- // Generate responsive utilities.
24
- @if defaults.$responsive and root-defaults.$responsive-utilities {
25
- @each $screen-size in map.keys(root-defaults.$screen-sizes) {
43
+ // Generate theme-aware utilities.
44
+ @if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
45
+ @each $theme-name, $colors in color.$themes {
46
+ @if $theme-name != active {
47
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$theme-name}#{root-defaults.$utility-theme-aware-separator}";
48
+
49
+ // For each position property, create a utility class.
50
+ @each $name, $property in defaults.$position-properties {
51
+ $selector: "#{$selector-prefix}#{defaults.$position-selector-prefix}#{$name}";
52
+
53
+ @include utility.create(
54
+ $selector,
55
+ position,
56
+ $property,
57
+ $theme: $theme-name
58
+ );
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ // Generate state-aware utilities.
65
+ @if defaults.$state-aware and root-defaults.$state-aware-utilities {
66
+ @each $state-name, $value in root-defaults.$state-selectors {
67
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$state-name}#{root-defaults.$utility-state-aware-separator}";
68
+
26
69
  // For each position property, create a utility class.
27
70
  @each $name, $property in defaults.$position-properties {
71
+ $selector: "#{$selector-prefix}#{defaults.$position-selector-prefix}#{$name}";
72
+
28
73
  @include utility.create(
29
- ".#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$position-class-prefix}#{$name}",
74
+ $selector,
30
75
  position,
31
76
  $property,
32
- $screen-size
77
+ $state: $state-name
33
78
  );
34
79
  }
35
80
  }
@@ -9,9 +9,9 @@
9
9
  @use "sass:map";
10
10
 
11
11
  // Ratio utilities.
12
- $ratio-class: "ratio" !default;
13
- $ratio-variant-class-prefix: "" !default;
14
- $force-ratio-class: "force-ratio" !default;
12
+ $ratio-selector: "ratio" !default;
13
+ $ratio-variant-selector-prefix: "" !default;
14
+ $force-ratio-selector: "force-ratio" !default;
15
15
  $base-ratios: (
16
16
  "one-by-one": 100%,
17
17
  "two-by-one": 50%,
@@ -24,5 +24,7 @@ $base-ratios: (
24
24
  $custom-ratios: () !default;
25
25
  $ratios: map.merge($base-ratios, $custom-ratios);
26
26
 
27
- // Responsive utility flag.
28
- $responsive: false !default;
27
+ // Utility modifier flags.
28
+ $screen-aware: true !default;
29
+ $theme-aware: false !default;
30
+ $state-aware: false !default;
@@ -6,13 +6,18 @@
6
6
  @use "../../defaults" as root-defaults;
7
7
  @use "../../mixins/layer" as *;
8
8
  @use "../../mixins/screen";
9
+ @use "../../mixins/theme";
10
+ @use "../../mixins/state";
9
11
  @use "../../mixins/utility";
12
+ @use "../../theme/color/variables" as color;
10
13
  @use "defaults";
11
14
  @use "sass:map";
12
15
  @use "variables" as *;
13
16
 
14
17
  @include layer(utilities) {
15
- .#{defaults.$ratio-class} {
18
+ $selector-prefix: root-defaults.$utility-selector-prefix;
19
+
20
+ #{$selector-prefix}#{defaults.$ratio-selector} {
16
21
  position: relative;
17
22
  width: 100%;
18
23
 
@@ -22,7 +27,7 @@
22
27
  padding-top: $ratio;
23
28
  }
24
29
 
25
- .#{defaults.$force-ratio-class} {
30
+ .#{defaults.$force-ratio-selector} {
26
31
  position: absolute;
27
32
  inset: 0;
28
33
  width: 100%;
@@ -31,22 +36,56 @@
31
36
  }
32
37
  }
33
38
 
34
- @each $ratio-class, $value in defaults.$ratios {
35
- .#{defaults.$ratio-variant-class-prefix}#{$ratio-class} {
39
+ @each $ratio-selector, $value in defaults.$ratios {
40
+ #{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
36
41
  --#{root-defaults.$prefix}ratio: #{$value};
37
42
  }
38
43
  }
39
44
 
40
- // Generate responsive utilities.
41
- @if defaults.$responsive and root-defaults.$responsive-utilities {
42
- @each $screen-size in map.keys(root-defaults.$screen-sizes) {
43
- @each $ratio-class, $value in defaults.$ratios {
44
- .#{$screen-size}#{root-defaults.$responsive-separator}#{defaults.$ratio-variant-class-prefix}#{$ratio-class} {
45
- @include screen.up($screen-size) {
45
+ // Generate screen-aware utilities.
46
+ @if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
47
+ @each $screen-name in map.keys(root-defaults.$screen-sizes) {
48
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$screen-name}#{root-defaults.$utility-screen-aware-separator}";
49
+
50
+ @each $ratio-selector, $value in defaults.$ratios {
51
+ @include screen.up($screen-name) {
52
+ #{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
46
53
  --#{root-defaults.$prefix}ratio: #{$value};
47
54
  }
48
55
  }
49
56
  }
50
57
  }
51
58
  }
59
+
60
+ // Generate theme-aware utilities.
61
+ @if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
62
+ @each $theme-name, $colors in color.$themes {
63
+ @if $theme-name != active {
64
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$theme-name}#{root-defaults.$utility-theme-aware-separator}";
65
+
66
+ @each $ratio-selector, $value in defaults.$ratios {
67
+ @include theme.theme($theme-name) {
68
+ #{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
69
+ --#{root-defaults.$prefix}ratio: #{$value};
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+
77
+ // Generate state-aware utilities.
78
+ @if defaults.$state-aware and root-defaults.$state-aware-utilities {
79
+ @each $state-name, $value in root-defaults.$state-selectors {
80
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$state-name}#{root-defaults.$utility-state-aware-separator}";
81
+
82
+ @each $ratio-selector, $ratio-value in defaults.$ratios {
83
+ #{$selector-prefix}#{defaults.$ratio-variant-selector-prefix}#{$ratio-selector} {
84
+ @include state.state($state-name) {
85
+ --#{root-defaults.$prefix}ratio: #{$ratio-value};
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
52
91
  }
@@ -45,5 +45,7 @@ $spacing-properties: map.merge(
45
45
  $custom-spacing-properties
46
46
  );
47
47
 
48
- // Responsive utility flag.
49
- $responsive: true !default;
48
+ // Utility modifier flags.
49
+ $screen-aware: true !default;
50
+ $theme-aware: false !default;
51
+ $state-aware: false !default;
@@ -9,16 +9,19 @@
9
9
  @use "../../layout/flex-columns/defaults" as flex-columns-defaults;
10
10
  @use "../../mixins/layer" as *;
11
11
  @use "../../mixins/utility";
12
+ @use "../../theme/color/variables" as color;
12
13
  @use "../../variables" as root-variables;
13
14
  @use "defaults";
14
15
  @use "sass:map";
15
16
  @use "variables" as *;
16
17
 
17
18
  @include layer(utilities) {
19
+ $selector-prefix: root-defaults.$utility-selector-prefix;
20
+
18
21
  // For each spacing property, create a utility class.
19
22
  @each $name, $property in defaults.$spacing-properties {
20
23
  @each $key, $value in root-variables.$spacers {
21
- $selector: ".#{$name}-#{$key}";
24
+ $selector: "#{$selector-prefix}#{$name}-#{$key}";
22
25
 
23
26
  // If we're dealing with gap, column-gap, or row-gap inside of #{columns-defaults.$columns-selector}, we should update
24
27
  // the columns-column-gap property instead of the raw property.
@@ -75,16 +78,21 @@
75
78
  }
76
79
  }
77
80
 
81
+ $selector: "#{$selector-prefix}#{$name}-auto";
82
+
78
83
  // Create the "auto" utility class.
79
- @include utility.create("#{$name}-auto", $property, auto);
84
+ @include utility.create($selector, $property, auto);
80
85
  }
81
86
 
82
- // Generate responsive utilities.
83
- @if defaults.$responsive and root-defaults.$responsive-utilities {
84
- @each $screen-size in map.keys(root-defaults.$screen-sizes) {
87
+ // Generate screen-aware utilities.
88
+ @if defaults.$screen-aware and root-defaults.$screen-aware-utilities {
89
+ @each $screen-name in map.keys(root-defaults.$screen-sizes) {
90
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$screen-name}#{root-defaults.$utility-screen-aware-separator}";
91
+
92
+ // For each spacing property, create a utility class.
85
93
  @each $name, $property in defaults.$spacing-properties {
86
94
  @each $key, $value in root-variables.$spacers {
87
- $selector: ".#{$screen-size}#{root-defaults.$responsive-separator}#{$name}-#{$key}";
95
+ $selector: "#{$selector-prefix}#{$name}-#{$key}";
88
96
 
89
97
  // If we're dealing with gap, column-gap, or row-gap inside of #{columns-defaults.$columns-selector}, we should update
90
98
  // the columns-column-gap property instead of the raw property.
@@ -93,7 +101,7 @@
93
101
  $selector,
94
102
  $property,
95
103
  $value,
96
- $screen-size
104
+ $screen: $screen-name
97
105
  ) {
98
106
  &#{columns-defaults.$columns-selector} {
99
107
  --#{root-defaults.$prefix}columns-column-gap: #{important.insert(
@@ -118,7 +126,7 @@
118
126
  $selector,
119
127
  $property,
120
128
  $value,
121
- $screen-size
129
+ $screen: $screen-name
122
130
  ) {
123
131
  &#{columns-defaults.$columns-selector} {
124
132
  --#{root-defaults.$prefix}columns-column-gap: #{important.insert(
@@ -137,7 +145,7 @@
137
145
  $selector,
138
146
  $property,
139
147
  $value,
140
- $screen-size
148
+ $screen: $screen-name
141
149
  ) {
142
150
  &#{columns-defaults.$columns-selector} {
143
151
  --#{root-defaults.$prefix}columns-row-gap: #{important.insert(
@@ -152,16 +160,221 @@
152
160
  }
153
161
  }
154
162
  } @else {
155
- @include utility.create($selector, $property, $value, $screen-size);
163
+ @include utility.create(
164
+ $selector,
165
+ $property,
166
+ $value,
167
+ $screen: $screen-name
168
+ );
156
169
  }
157
170
  }
158
171
 
172
+ $selector: "#{$selector-prefix}#{$name}-auto";
173
+
174
+ // Create the "auto" utility class.
175
+ @include utility.create(
176
+ $selector,
177
+ $property,
178
+ auto,
179
+ $screen: $screen-name
180
+ );
181
+ }
182
+ }
183
+ }
184
+
185
+ // Generate theme-aware utilities.
186
+ @if defaults.$theme-aware and root-defaults.$theme-aware-utilities {
187
+ @each $theme-name, $colors in color.$themes {
188
+ @if $theme-name != active {
189
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$theme-name}#{root-defaults.$utility-theme-aware-separator}";
190
+
191
+ // For each spacing property, create a utility class.
192
+ @each $name, $property in defaults.$spacing-properties {
193
+ @each $key, $value in root-variables.$spacers {
194
+ $selector: "#{$selector-prefix}#{$name}-#{$key}";
195
+
196
+ // If we're dealing with gap, column-gap, or row-gap inside of #{columns-defaults.$columns-selector}, we should update
197
+ // the columns-column-gap property instead of the raw property.
198
+ @if $name == "g" {
199
+ @include utility.create(
200
+ $selector,
201
+ $property,
202
+ $value,
203
+ $theme: $theme-name
204
+ ) {
205
+ &#{columns-defaults.$columns-selector} {
206
+ --#{root-defaults.$prefix}columns-column-gap: #{important.insert(
207
+ $value
208
+ )};
209
+ --#{root-defaults.$prefix}columns-row-gap: #{important.insert(
210
+ $value
211
+ )};
212
+ }
213
+
214
+ &#{flex-columns-defaults.$flex-columns-selector} {
215
+ --#{root-defaults.$prefix}flex-columns-column-gap: #{important.insert(
216
+ $value
217
+ )};
218
+ --#{root-defaults.$prefix}flex-columns-row-gap: #{important.insert(
219
+ $value
220
+ )};
221
+ }
222
+ }
223
+ } @else if $name == "cg" {
224
+ @include utility.create(
225
+ $selector,
226
+ $property,
227
+ $value,
228
+ $theme: $theme-name
229
+ ) {
230
+ &#{columns-defaults.$columns-selector} {
231
+ --#{root-defaults.$prefix}columns-column-gap: #{important.insert(
232
+ $value
233
+ )};
234
+ }
235
+
236
+ &#{flex-columns-defaults.$flex-columns-selector} {
237
+ --#{root-defaults.$prefix}flex-columns-column-gap: #{important.insert(
238
+ $value
239
+ )};
240
+ }
241
+ }
242
+ } @else if $name == "rg" {
243
+ @include utility.create(
244
+ $selector,
245
+ $property,
246
+ $value,
247
+ $theme: $theme-name
248
+ ) {
249
+ &#{columns-defaults.$columns-selector} {
250
+ --#{root-defaults.$prefix}columns-row-gap: #{important.insert(
251
+ $value
252
+ )};
253
+ }
254
+
255
+ &#{flex-columns-defaults.$flex-columns-selector} {
256
+ --#{root-defaults.$prefix}flex-columns-row-gap: #{important.insert(
257
+ $value
258
+ )};
259
+ }
260
+ }
261
+ } @else {
262
+ @include utility.create(
263
+ $selector,
264
+ $property,
265
+ $value,
266
+ $theme: $theme-name
267
+ );
268
+ }
269
+ }
270
+
271
+ $selector: "#{$selector-prefix}#{$name}-auto";
272
+
273
+ // Create the "auto" utility class.
274
+ @include utility.create(
275
+ $selector,
276
+ $property,
277
+ auto,
278
+ $theme: $theme-name
279
+ );
280
+ }
281
+ }
282
+ }
283
+ }
284
+
285
+ // Generate state-aware utilities.
286
+ @if defaults.$state-aware and root-defaults.$state-aware-utilities {
287
+ @each $state-name, $value in root-defaults.$state-selectors {
288
+ $selector-prefix: "#{root-defaults.$utility-selector-prefix}#{$state-name}#{root-defaults.$utility-state-aware-separator}";
289
+
290
+ // For each spacing property, create a utility class.
291
+ @each $name, $property in defaults.$spacing-properties {
292
+ @each $key, $value in root-variables.$spacers {
293
+ $selector: "#{$selector-prefix}#{$name}-#{$key}";
294
+
295
+ // If we're dealing with gap, column-gap, or row-gap inside of #{columns-defaults.$columns-selector}, we should update
296
+ // the columns-column-gap property instead of the raw property.
297
+ @if $name == "g" {
298
+ @include utility.create(
299
+ $selector,
300
+ $property,
301
+ $value,
302
+ $state: $state-name
303
+ ) {
304
+ &#{columns-defaults.$columns-selector} {
305
+ --#{root-defaults.$prefix}columns-column-gap: #{important.insert(
306
+ $value
307
+ )};
308
+ --#{root-defaults.$prefix}columns-row-gap: #{important.insert(
309
+ $value
310
+ )};
311
+ }
312
+
313
+ &#{flex-columns-defaults.$flex-columns-selector} {
314
+ --#{root-defaults.$prefix}flex-columns-column-gap: #{important.insert(
315
+ $value
316
+ )};
317
+ --#{root-defaults.$prefix}flex-columns-row-gap: #{important.insert(
318
+ $value
319
+ )};
320
+ }
321
+ }
322
+ } @else if $name == "cg" {
323
+ @include utility.create(
324
+ $selector,
325
+ $property,
326
+ $value,
327
+ $state: $state-name
328
+ ) {
329
+ &#{columns-defaults.$columns-selector} {
330
+ --#{root-defaults.$prefix}columns-column-gap: #{important.insert(
331
+ $value
332
+ )};
333
+ }
334
+
335
+ &#{flex-columns-defaults.$flex-columns-selector} {
336
+ --#{root-defaults.$prefix}flex-columns-column-gap: #{important.insert(
337
+ $value
338
+ )};
339
+ }
340
+ }
341
+ } @else if $name == "rg" {
342
+ @include utility.create(
343
+ $selector,
344
+ $property,
345
+ $value,
346
+ $state: $state-name
347
+ ) {
348
+ &#{columns-defaults.$columns-selector} {
349
+ --#{root-defaults.$prefix}columns-row-gap: #{important.insert(
350
+ $value
351
+ )};
352
+ }
353
+
354
+ &#{flex-columns-defaults.$flex-columns-selector} {
355
+ --#{root-defaults.$prefix}flex-columns-row-gap: #{important.insert(
356
+ $value
357
+ )};
358
+ }
359
+ }
360
+ } @else {
361
+ @include utility.create(
362
+ $selector,
363
+ $property,
364
+ $value,
365
+ $state: $state-name
366
+ );
367
+ }
368
+ }
369
+
370
+ $selector: "#{$selector-prefix}#{$name}-auto";
371
+
159
372
  // Create the "auto" utility class.
160
373
  @include utility.create(
161
- ".#{$screen-size}#{root-defaults.$responsive-separator}#{$name}-auto",
374
+ $selector,
162
375
  $property,
163
376
  auto,
164
- $screen-size
377
+ $state: $state-name
165
378
  );
166
379
  }
167
380
  }
@@ -9,13 +9,13 @@
9
9
  @use "sass:map";
10
10
 
11
11
  // Text size properties.
12
- $text-class-prefix: "text-" !default;
12
+ $text-selector-prefix: "text-" !default;
13
13
 
14
14
  // Font weight properties.
15
- $font-weight-class-prefix: "font-" !default;
15
+ $font-weight-selector-prefix: "font-" !default;
16
16
 
17
17
  // Font style properties.
18
- $font-style-class-prefix: "font-" !default;
18
+ $font-style-selector-prefix: "font-" !default;
19
19
  $base-font-style-properties: (
20
20
  normal: normal,
21
21
  italic: italic,
@@ -26,5 +26,21 @@ $font-style-properties: map.merge(
26
26
  $custom-font-style-properties
27
27
  );
28
28
 
29
- // Responsive utility flag.
30
- $responsive: false !default;
29
+ // Text transform properties.
30
+ $text-transform-selector-prefix: "text-" !default;
31
+ $base-text-transform-properties: (
32
+ uppercase: uppercase,
33
+ lowercase: lowercase,
34
+ capitalize: capitalize,
35
+ none: none,
36
+ );
37
+ $custom-text-transform-properties: () !default;
38
+ $text-transform-properties: map.merge(
39
+ $base-text-transform-properties,
40
+ $custom-text-transform-properties
41
+ );
42
+
43
+ // Utility modifier flags.
44
+ $screen-aware: false !default;
45
+ $theme-aware: false !default;
46
+ $state-aware: false !default;