yummacss 2.1.0 → 3.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 (74) hide show
  1. package/LICENSE +17 -18
  2. package/README.md +16 -14
  3. package/dist/cli/commands/build.js +44 -0
  4. package/dist/cli/commands/init.js +17 -0
  5. package/dist/cli/commands/watch.js +36 -0
  6. package/dist/cli/config/defaultConfig.js +8 -0
  7. package/dist/cli/services/configLoader.js +16 -0
  8. package/dist/cli/services/minifyService.js +16 -0
  9. package/dist/cli/services/purgeService.js +12 -0
  10. package/dist/cli/services/scssCompiler.js +34 -0
  11. package/dist/cli/src/cli.js +19 -0
  12. package/dist/cli/utils/cli-ui.js +13 -0
  13. package/dist/cli/utils/ui.js +15 -0
  14. package/dist/yumma.css +126823 -190421
  15. package/dist/yumma.min.css +1 -1
  16. package/package.json +50 -24
  17. package/src/_fonts.scss +8 -6
  18. package/src/abstracts/_breakpoints.scss +12 -10
  19. package/src/abstracts/_index.scss +5 -0
  20. package/src/abstracts/_theme.scss +19 -16
  21. package/src/abstracts/_variables.scss +68 -55
  22. package/src/abstracts/functions/_create-values.scss +16 -0
  23. package/src/abstracts/functions/_ignore-neutral.scss +9 -0
  24. package/src/abstracts/functions/_index.scss +2 -0
  25. package/src/abstracts/mixins/_create-colors.scss +39 -0
  26. package/src/abstracts/mixins/_create-utilities.scss +39 -0
  27. package/src/abstracts/mixins/_extend-utilities.scss +24 -0
  28. package/src/abstracts/mixins/_index.scss +3 -0
  29. package/src/reset/_stylecent.scss +235 -0
  30. package/src/utilities/_background.scss +95 -0
  31. package/src/utilities/_border.scss +313 -0
  32. package/src/utilities/_box-model.scss +274 -91
  33. package/src/utilities/_color.scss +85 -0
  34. package/src/utilities/_effect.scss +98 -0
  35. package/src/utilities/_flexbox.scss +122 -56
  36. package/src/utilities/_grid.scss +52 -95
  37. package/src/utilities/_index.scss +14 -0
  38. package/src/utilities/_interactivity.scss +304 -0
  39. package/src/utilities/_outline.scss +53 -0
  40. package/src/utilities/_positioning.scss +436 -0
  41. package/src/utilities/_svg.scss +27 -0
  42. package/src/utilities/_table.scss +35 -0
  43. package/src/utilities/_transform.scss +164 -0
  44. package/src/utilities/_typography.scss +167 -57
  45. package/src/utilities/maps/_index.scss +12 -0
  46. package/src/utilities/maps/box-model/_dimension.scss +16 -0
  47. package/src/utilities/maps/box-model/_height.scss +16 -0
  48. package/src/utilities/maps/box-model/_margin.scss +10 -0
  49. package/src/utilities/maps/box-model/_padding.scss +10 -0
  50. package/src/utilities/maps/box-model/_width.scss +16 -0
  51. package/src/utilities/maps/flexbox/_flex-basis.scss +12 -0
  52. package/src/utilities/maps/grid/_gap.scss +5 -0
  53. package/src/yummacss-core.scss +3 -0
  54. package/src/yummacss.scss +4 -0
  55. package/.prettierrc +0 -9
  56. package/CHANGELOG.md +0 -58
  57. package/dist/yumma-core.css +0 -238809
  58. package/dist/yumma-core.min.css +0 -1
  59. package/gulpfile.js +0 -44
  60. package/src/_base.scss +0 -72
  61. package/src/abstracts/_colors.scss +0 -29
  62. package/src/abstracts/_extensions.scss +0 -19
  63. package/src/abstracts/_functions.scss +0 -3
  64. package/src/abstracts/_layout.scss +0 -18
  65. package/src/abstracts/_mixins.scss +0 -575
  66. package/src/core.scss +0 -3
  67. package/src/utilities/_borders.scss +0 -214
  68. package/src/utilities/_effects.scss +0 -74
  69. package/src/utilities/_filters.scss +0 -57
  70. package/src/utilities/_interactions.scss +0 -111
  71. package/src/utilities/_layout.scss +0 -310
  72. package/src/utilities/_outlines.scss +0 -76
  73. package/src/utilities/_tables.scss +0 -61
  74. package/src/yumma.scss +0 -23
@@ -1,15 +1,22 @@
1
1
  @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../abstracts/variables" as vars;
4
+ @use "../abstracts/mixins/" as mix;
5
+ @use "../utilities/maps/" as maps;
2
6
 
3
7
  $yma-flexbox-utils: (
4
8
  "align-content": (
5
9
  "prefix": "ac",
10
+ "properties": (
11
+ "align-content",
12
+ ),
6
13
  "values": (
7
14
  "b": baseline,
8
15
  "c": center,
9
16
  "fe": flex-end,
10
17
  "fs": flex-start,
11
18
  "n": normal,
12
- "s": stretch,
19
+ "st": stretch,
13
20
  "sa": space-around,
14
21
  "sb": space-between,
15
22
  "se": space-evenly,
@@ -18,29 +25,46 @@ $yma-flexbox-utils: (
18
25
 
19
26
  "align-items": (
20
27
  "prefix": "ai",
28
+ "properties": (
29
+ "align-items",
30
+ ),
21
31
  "values": (
22
32
  "b": baseline,
23
33
  "c": center,
24
34
  "fe": flex-end,
25
35
  "fs": flex-start,
26
- "s": stretch,
36
+ "st": stretch,
27
37
  ),
28
38
  ),
29
39
 
30
40
  "align-self": (
31
41
  "prefix": "as",
42
+ "properties": (
43
+ "align-self",
44
+ ),
32
45
  "values": (
33
46
  "auto": auto,
34
47
  "b": baseline,
35
48
  "c": center,
36
49
  "fe": flex-end,
37
50
  "fs": flex-start,
38
- "s": stretch,
51
+ "st": stretch,
52
+ ),
53
+ ),
54
+
55
+ "flex-basis": (
56
+ "prefix": "fb",
57
+ "properties": (
58
+ "flex-basis",
39
59
  ),
60
+ "values": maps.$yma-flex-basis-map,
40
61
  ),
41
62
 
42
63
  "flex-direction": (
43
64
  "prefix": "fd",
65
+ "properties": (
66
+ "flex-direction",
67
+ ),
44
68
  "values": (
45
69
  "c": column,
46
70
  "cr": column-reverse,
@@ -51,6 +75,9 @@ $yma-flexbox-utils: (
51
75
 
52
76
  "flex-grow": (
53
77
  "prefix": "fg",
78
+ "properties": (
79
+ "flex-grow",
80
+ ),
54
81
  "values": (
55
82
  "0": 0,
56
83
  "1": 1,
@@ -66,6 +93,9 @@ $yma-flexbox-utils: (
66
93
 
67
94
  "flex-shrink": (
68
95
  "prefix": "fs",
96
+ "properties": (
97
+ "flex-shrink",
98
+ ),
69
99
  "values": (
70
100
  "0": 0,
71
101
  "1": 1,
@@ -81,6 +111,9 @@ $yma-flexbox-utils: (
81
111
 
82
112
  "flex-wrap": (
83
113
  "prefix": "fw",
114
+ "properties": (
115
+ "flex-wrap",
116
+ ),
84
117
  "values": (
85
118
  "nw": nowrap,
86
119
  "w": wrap,
@@ -90,6 +123,9 @@ $yma-flexbox-utils: (
90
123
 
91
124
  "flex": (
92
125
  "prefix": "f",
126
+ "properties": (
127
+ "flex",
128
+ ),
93
129
  "values": (
94
130
  "1": 1 1 0%,
95
131
  "2": 2 2 0%,
@@ -104,12 +140,15 @@ $yma-flexbox-utils: (
104
140
 
105
141
  "justify-content": (
106
142
  "prefix": "jc",
143
+ "properties": (
144
+ "justify-content",
145
+ ),
107
146
  "values": (
108
147
  "c": center,
109
148
  "fe": flex-end,
110
149
  "fs": flex-start,
111
150
  "n": normal,
112
- "s": stretch,
151
+ "st": stretch,
113
152
  "sa": space-around,
114
153
  "sb": space-between,
115
154
  "se": space-evenly,
@@ -118,75 +157,102 @@ $yma-flexbox-utils: (
118
157
 
119
158
  "justify-items": (
120
159
  "prefix": "ji",
160
+ "properties": (
161
+ "justify-items",
162
+ ),
121
163
  "values": (
122
164
  "c": center,
123
165
  "e": end,
124
166
  "s": start,
125
- "st": stretch
167
+ "st": stretch,
126
168
  ),
127
169
  ),
128
170
 
129
171
  "justify-self": (
130
172
  "prefix": "js",
173
+ "properties": (
174
+ "justify-self",
175
+ ),
131
176
  "values": (
132
177
  "auto": auto,
133
178
  "c": center,
134
179
  "e": end,
135
180
  "s": start,
136
- "st": stretch
181
+ "st": stretch,
137
182
  ),
138
183
  ),
139
- );
140
184
 
141
- // base variants
142
- @each $property, $map in $yma-flexbox-utils {
143
- $prefix: map-get($map, "prefix");
144
- $values: map-get($map, "values");
145
-
146
- @each $k, $v in $values {
147
- @if ($k == "default") {
148
- .#{$prefix} {
149
- #{$property}: $v;
150
- }
151
- } @else {
152
- .#{$prefix}-#{$k} {
153
- #{$property}: $v;
154
- }
155
- }
156
- }
157
-
158
- // hover variants
159
- @each $k, $v in $values {
160
- @if ($k == "default") {
161
- .h\:#{$prefix}:hover {
162
- #{$property}: $v;
163
- }
164
- } @else {
165
- .h\:#{$prefix}-#{$k}:hover {
166
- #{$property}: $v;
167
- }
168
- }
169
- }
170
-
171
- // responsive variants
172
- @each $bp, $bp-value in $yma-breakpoints {
173
- @each $k, $v in $values {
174
- .#{$bp}\:#{$prefix}-#{$k} {
175
- @media (min-width: $bp-value) {
176
- #{$property}: $v;
177
- }
178
- }
179
- }
180
- }
181
- }
185
+ "order": (
186
+ "prefix": "or",
187
+ "properties": (
188
+ "order",
189
+ ),
190
+ "values": (
191
+ "l": -9999,
192
+ "0": 0,
193
+ "1": 1,
194
+ "2": 2,
195
+ "3": 3,
196
+ "4": 4,
197
+ "5": 5,
198
+ "6": 6,
199
+ "7": 7,
200
+ "8": 8,
201
+ "9": 9,
202
+ "10": 1,
203
+ "f": 9999,
204
+ ),
205
+ ),
206
+
207
+ "place-content": (
208
+ "prefix": "pc",
209
+ "properties": (
210
+ "place-content",
211
+ ),
212
+ "values": (
213
+ "b": baseline,
214
+ "c": center,
215
+ "e": end,
216
+ "s": start,
217
+ "sa": space-around,
218
+ "sb": space-between,
219
+ "se": space-evenly,
220
+ "st": stretch,
221
+ ),
222
+ ),
182
223
 
183
- // variants
184
- @include variants("flex-basis", "fb", $yma-flex-basis);
224
+ "place-items": (
225
+ "prefix": "pi",
226
+ "properties": (
227
+ "place-items",
228
+ ),
229
+ "values": (
230
+ "b": baseline,
231
+ "c": center,
232
+ "e": end,
233
+ "s": start,
234
+ "st": stretch,
235
+ ),
236
+ ),
185
237
 
186
- // extensions
187
- @include extensions(
188
- $yma-extension,
189
- (
190
- "fb": flex-basis,
191
- )
238
+ "place-self": (
239
+ "prefix": "ps",
240
+ "properties": (
241
+ "place-self",
242
+ ),
243
+ "values": (
244
+ "auto": auto,
245
+ "c": center,
246
+ "e": end,
247
+ "s": start,
248
+ "st": stretch,
249
+ ),
250
+ ),
192
251
  );
252
+
253
+ @each $name, $map in $yma-flexbox-utils {
254
+ $prefix: map.get($map, "prefix");
255
+ $properties: map.get($map, "properties");
256
+
257
+ @include mix.create-utilities($map, $prefix, $properties);
258
+ }
@@ -1,55 +1,32 @@
1
1
  @use "sass:math";
2
+ @use "sass:map";
3
+ @use "sass:meta";
4
+ @use "../abstracts/variables" as vars;
5
+ @use "../abstracts/mixins/" as mix;
6
+ @use "../utilities/maps/" as maps;
2
7
 
3
8
  $yma-grid-utils: (
4
9
  "column-gap": (
5
10
  "prefix": "cg",
6
- "values": (
7
- "0": $yma-column-gap * 0,
8
- "1": $yma-column-gap,
9
- "2": $yma-column-gap * 2,
10
- "3": $yma-column-gap * 3,
11
- "4": $yma-column-gap * 4,
12
- "5": $yma-column-gap * 5,
13
- "6": $yma-column-gap * 6,
14
- "7": $yma-column-gap * 7,
15
- "8": $yma-column-gap * 8,
16
- "9": $yma-column-gap * 9,
17
- "10": $yma-column-gap * 10,
18
- "11": $yma-column-gap * 11,
19
- "12": $yma-column-gap * 12,
20
- "13": $yma-column-gap * 13,
21
- "14": $yma-column-gap * 14,
22
- "15": $yma-column-gap * 15,
23
- "16": $yma-column-gap * 16,
11
+ "properties": (
12
+ "column-gap",
24
13
  ),
14
+ "values": maps.$yma-gap-map,
25
15
  ),
26
16
 
27
17
  "gap": (
28
18
  "prefix": "g",
29
- "values": (
30
- "0": $yma-gap * 0,
31
- "1": $yma-gap,
32
- "2": $yma-gap * 2,
33
- "3": $yma-gap * 3,
34
- "4": $yma-gap * 4,
35
- "5": $yma-gap * 5,
36
- "6": $yma-gap * 6,
37
- "7": $yma-gap * 7,
38
- "8": $yma-gap * 8,
39
- "9": $yma-gap * 9,
40
- "10": $yma-gap * 10,
41
- "11": $yma-gap * 11,
42
- "12": $yma-gap * 12,
43
- "13": $yma-gap * 13,
44
- "14": $yma-gap * 14,
45
- "15": $yma-gap * 15,
46
- "16": $yma-gap * 16,
47
- "none": none,
19
+ "properties": (
20
+ "gap",
48
21
  ),
22
+ "values": maps.$yma-gap-map,
49
23
  ),
50
24
 
51
25
  "grid-auto-columns": (
52
26
  "prefix": "gac",
27
+ "properties": (
28
+ "grid-auto-columns",
29
+ ),
53
30
  "values": (
54
31
  "auto": auto,
55
32
  "max": max-content,
@@ -59,10 +36,13 @@ $yma-grid-utils: (
59
36
 
60
37
  "grid-auto-flow": (
61
38
  "prefix": "gaf",
39
+ "properties": (
40
+ "grid-auto-flow",
41
+ ),
62
42
  "values": (
63
43
  "c": column,
44
+ "cd": column dense,
64
45
  "d": dense,
65
- "dr": dense row,
66
46
  "r": row,
67
47
  "rd": row dense,
68
48
  ),
@@ -70,6 +50,9 @@ $yma-grid-utils: (
70
50
 
71
51
  "grid-auto-rows": (
72
52
  "prefix": "gar",
53
+ "properties": (
54
+ "grid-auto-rows",
55
+ ),
73
56
  "values": (
74
57
  "auto": auto,
75
58
  "max": max-content,
@@ -79,6 +62,9 @@ $yma-grid-utils: (
79
62
 
80
63
  "grid-column": (
81
64
  "prefix": "gc-s",
65
+ "properties": (
66
+ "grid-column",
67
+ ),
82
68
  "values": (
83
69
  "1": span 1 / span 1,
84
70
  "2": span 2 / span 2,
@@ -101,6 +87,9 @@ $yma-grid-utils: (
101
87
 
102
88
  "grid-column-end": (
103
89
  "prefix": "gce",
90
+ "properties": (
91
+ "grid-column-end",
92
+ ),
104
93
  "values": (
105
94
  "1": 1,
106
95
  "2": 2,
@@ -123,6 +112,9 @@ $yma-grid-utils: (
123
112
 
124
113
  "grid-column-start": (
125
114
  "prefix": "gcs",
115
+ "properties": (
116
+ "grid-column-start",
117
+ ),
126
118
  "values": (
127
119
  "1": 1,
128
120
  "2": 2,
@@ -145,6 +137,9 @@ $yma-grid-utils: (
145
137
 
146
138
  "grid-row": (
147
139
  "prefix": "gr-s",
140
+ "properties": (
141
+ "grid-row",
142
+ ),
148
143
  "values": (
149
144
  "1": span 1 / span 1,
150
145
  "2": span 2 / span 2,
@@ -167,6 +162,9 @@ $yma-grid-utils: (
167
162
 
168
163
  "grid-row-end": (
169
164
  "prefix": "gre",
165
+ "properties": (
166
+ "grid-row-end",
167
+ ),
170
168
  "values": (
171
169
  "1": 1,
172
170
  "2": 2,
@@ -189,6 +187,9 @@ $yma-grid-utils: (
189
187
 
190
188
  "grid-row-start": (
191
189
  "prefix": "grs",
190
+ "properties": (
191
+ "grid-row-start",
192
+ ),
192
193
  "values": (
193
194
  "1": 1,
194
195
  "2": 2,
@@ -211,6 +212,9 @@ $yma-grid-utils: (
211
212
 
212
213
  "grid-template-columns": (
213
214
  "prefix": "gtc",
215
+ "properties": (
216
+ "grid-template-columns",
217
+ ),
214
218
  "values": (
215
219
  "1": repeat(1, minmax(0, 1fr)),
216
220
  "2": repeat(2, minmax(0, 1fr)),
@@ -233,6 +237,9 @@ $yma-grid-utils: (
233
237
 
234
238
  "grid-template-rows": (
235
239
  "prefix": "gtr",
240
+ "properties": (
241
+ "grid-template-rows",
242
+ ),
236
243
  "values": (
237
244
  "1": repeat(1, minmax(0, 1fr)),
238
245
  "2": repeat(2, minmax(0, 1fr)),
@@ -255,66 +262,16 @@ $yma-grid-utils: (
255
262
 
256
263
  "row-gap": (
257
264
  "prefix": "rg",
258
- "values": (
259
- "0": $yma-row-gap * 0,
260
- "1": $yma-row-gap,
261
- "2": $yma-row-gap * 2,
262
- "3": $yma-row-gap * 3,
263
- "4": $yma-row-gap * 4,
264
- "5": $yma-row-gap * 5,
265
- "6": $yma-row-gap * 6,
266
- "7": $yma-row-gap * 7,
267
- "8": $yma-row-gap * 8,
268
- "9": $yma-row-gap * 9,
269
- "10": $yma-row-gap * 10,
270
- "11": $yma-row-gap * 11,
271
- "12": $yma-row-gap * 12,
272
- "13": $yma-row-gap * 13,
273
- "14": $yma-row-gap * 14,
274
- "15": $yma-row-gap * 15,
275
- "16": $yma-row-gap * 16,
265
+ "properties": (
266
+ "row-gap",
276
267
  ),
268
+ "values": maps.$yma-gap-map,
277
269
  ),
278
270
  );
279
271
 
280
- // base variants
281
- @each $property, $map in $yma-grid-utils {
282
- $prefix: map-get($map, "prefix");
283
- $values: map-get($map, "values");
284
-
285
- @each $k, $v in $values {
286
- @if ($k == "default") {
287
- .#{$prefix} {
288
- #{$property}: $v;
289
- }
290
- } @else {
291
- .#{$prefix}-#{$k} {
292
- #{$property}: $v;
293
- }
294
- }
295
- }
296
-
297
- // hover variants
298
- @each $k, $v in $values {
299
- @if ($k == "default") {
300
- .h\:#{$prefix}:hover {
301
- #{$property}: $v;
302
- }
303
- } @else {
304
- .h\:#{$prefix}-#{$k}:hover {
305
- #{$property}: $v;
306
- }
307
- }
308
- }
272
+ @each $name, $map in $yma-grid-utils {
273
+ $prefix: map.get($map, "prefix");
274
+ $properties: map.get($map, "properties");
309
275
 
310
- // responsive variants
311
- @each $bp, $bp-value in $yma-breakpoints {
312
- @each $k, $v in $values {
313
- .#{$bp}\:#{$prefix}-#{$k} {
314
- @media (min-width: $bp-value) {
315
- #{$property}: $v;
316
- }
317
- }
318
- }
319
- }
276
+ @include mix.create-utilities($map, $prefix, $properties);
320
277
  }
@@ -0,0 +1,14 @@
1
+ @forward "background";
2
+ @forward "border";
3
+ @forward "box-model";
4
+ @forward "color";
5
+ @forward "effect";
6
+ @forward "flexbox";
7
+ @forward "grid";
8
+ @forward "interactivity";
9
+ @forward "positioning";
10
+ @forward "outline";
11
+ @forward "svg";
12
+ @forward "table";
13
+ @forward "transform";
14
+ @forward "typography";