yummacss 2.0.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 (66) hide show
  1. package/LICENSE +17 -18
  2. package/README.md +22 -43
  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 +127316 -193522
  15. package/dist/yumma.min.css +1 -1
  16. package/package.json +50 -34
  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 +21 -0
  21. package/src/abstracts/_variables.scss +69 -88
  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 +290 -0
  33. package/src/utilities/_color.scss +85 -0
  34. package/src/utilities/_effect.scss +98 -0
  35. package/src/utilities/_flexbox.scss +258 -0
  36. package/src/utilities/_grid.scss +277 -0
  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 +278 -0
  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/CHANGELOG.md +0 -73
  56. package/dist/yumma-core.css +0 -241423
  57. package/dist/yumma-core.min.css +0 -1
  58. package/gulpfile.js +0 -44
  59. package/src/_stylecent.scss +0 -68
  60. package/src/_utilities.scss +0 -1265
  61. package/src/abstracts/_colors.scss +0 -29
  62. package/src/abstracts/_functions.scss +0 -4
  63. package/src/abstracts/_layout.scss +0 -18
  64. package/src/abstracts/_mixins.scss +0 -589
  65. package/src/core.scss +0 -3
  66. package/src/yumma.scss +0 -10
@@ -0,0 +1,235 @@
1
+ @use "../abstracts/variables" as vars;
2
+
3
+ /**
4
+ * Yumma CSS v3.0.0 by Renildo Pereira | https://www.yummacss.com/
5
+ */
6
+
7
+ /** -- Box sizing --
8
+ * 1. Use a more intuitive box-sizing model to make the design consistent.
9
+ * 2. Remove default margin and padding.
10
+ * 3. Reset default border styles.
11
+ */
12
+
13
+ *,
14
+ *::before,
15
+ *::after {
16
+ box-sizing: border-box; /* 1 */
17
+ border: 0 solid; /* 3 */
18
+ }
19
+
20
+ * {
21
+ margin: 0; /* 2 */
22
+ padding: 0; /* 2 */
23
+ }
24
+
25
+ /** -- Document --
26
+ * 1. Improve font smoothing.
27
+ * 2. Set a default system font.
28
+ * 3. Add accessible line-height.
29
+ */
30
+
31
+ body {
32
+ -webkit-font-smoothing: antialiased; /* 1 */
33
+ font-family: vars.$yma-font-system; /* 2 */
34
+ line-height: 1.5; /* 3 */
35
+ }
36
+
37
+ /** -- Media Elements --
38
+ * 1. Ensure all media elements like images, videos, and canvases are block-level.
39
+ * 2. Limit their maximum width to the parent container.
40
+ */
41
+
42
+ canvas,
43
+ img,
44
+ picture,
45
+ svg,
46
+ video {
47
+ display: block; /* 1 */
48
+ max-width: 100%; /* 2 */
49
+ }
50
+
51
+ /** -- Form Elements --
52
+ * 1. Reset background and border styles for form elements.
53
+ * 2. Use `inherit` to ensure font consistency within forms.
54
+ * 3. Add default padding for usability.
55
+ */
56
+
57
+ button,
58
+ input,
59
+ optgroup,
60
+ select,
61
+ textarea {
62
+ background-color: vars.$yma-color-transparent; /* 1 */
63
+ font-family: inherit; /* 2 */
64
+ padding: 0.5rem; /* 3 */
65
+ }
66
+
67
+ /**
68
+ * Add a default border to form elements that do not have a class attribute.
69
+ */
70
+
71
+ button:not([class]),
72
+ input:not([class]),
73
+ optgroup:not([class]),
74
+ select:not([class]),
75
+ textarea:not([class]) {
76
+ border: 1px solid vars.$yma-color-silver; /* 1 */
77
+ }
78
+
79
+ /**
80
+ * Apply consistent focus styles to interactive elements.
81
+ */
82
+
83
+ a,
84
+ button,
85
+ input,
86
+ select,
87
+ summary,
88
+ textarea {
89
+ &:focus {
90
+ outline: 2px solid vars.$yma-color-transparent;
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Set a minimum height for textareas without a defined `rows` attribute.
96
+ */
97
+
98
+ textarea:not([rows]) {
99
+ min-height: 10em;
100
+ }
101
+
102
+ /**
103
+ * Ensure the buttons have a pointer cursor.
104
+ */
105
+
106
+ button {
107
+ cursor: pointer;
108
+ }
109
+
110
+ /** Disabled States
111
+ * 1. Reduce opacity and set a "not-allowed" cursor for disabled elements.
112
+ */
113
+
114
+ button:disabled,
115
+ input:disabled,
116
+ select:disabled,
117
+ textarea:disabled {
118
+ cursor: not-allowed; /* 1 */
119
+ opacity: 0.5; /* 1 */
120
+ }
121
+
122
+ /** -- Typography --
123
+ * 1. Avoid text overflows.
124
+ * 2. Improve line wrapping for headings.
125
+ * 3. Add a consistent font weight for bold text.
126
+ */
127
+
128
+ h1,
129
+ h2,
130
+ h3,
131
+ h4,
132
+ h5,
133
+ h6,
134
+ p {
135
+ overflow-wrap: break-word; /* 1 */
136
+ }
137
+
138
+ h1,
139
+ h2,
140
+ h3,
141
+ h4,
142
+ h5,
143
+ h6 {
144
+ font-size: 1rem; /* 3 */
145
+ font-weight: 600; /* 3 */
146
+ text-wrap: balance; /* 2 */
147
+ }
148
+
149
+ p {
150
+ text-wrap: pretty; /* 2 */
151
+ }
152
+
153
+ /**
154
+ * Add the correct font weight in Chrome, Edge, and Safari.
155
+ */
156
+
157
+ b,
158
+ strong {
159
+ font-weight: 700;
160
+ }
161
+
162
+ /**
163
+ * Add the correct font size in all browsers.
164
+ */
165
+
166
+ small {
167
+ font-size: 80%;
168
+ line-height: 1.4;
169
+ }
170
+
171
+ /**
172
+ * 1. Correct the inheritance and scaling of font size in all browsers.
173
+ * 2. Correct the odd `em` font sizing in all browsers.
174
+ */
175
+
176
+ pre,
177
+ code,
178
+ kbd,
179
+ samp {
180
+ font-family: monospace, monospace; /* 1 */
181
+ font-size: 1em; /* 2 */
182
+ }
183
+
184
+ /** -- Links --
185
+ * 1. Remove underline styling from links by default.
186
+ * 3. Reset color to inherit from parent element.
187
+ */
188
+
189
+ a {
190
+ color: inherit; /* 3 */
191
+ text-decoration: none; /* 1 */
192
+ }
193
+
194
+ /** -- Lists --
195
+ * Remove default list styling and padding.
196
+ */
197
+
198
+ ol,
199
+ ul {
200
+ list-style: none;
201
+ padding: 0;
202
+ }
203
+
204
+ /** -- Tables --
205
+ * 1. Add a consistent font weight for bold text.
206
+ */
207
+
208
+ th {
209
+ font-size: 1rem; /* 1 */
210
+ font-weight: 600; /* 1 */
211
+ }
212
+
213
+ /** -- Miscellaneous --
214
+ * 1. Add the correct height in Firefox.
215
+ * 2. Correct text decoration.
216
+ * 3. Add spacing around horizontal rules.
217
+ */
218
+
219
+ hr {
220
+ border-top: 1px solid vars.$yma-color-silver; /* 2 */
221
+ height: 0; /* 1 */
222
+ margin: 1em 0; /* 3 */
223
+ }
224
+
225
+ /**
226
+ * Ensure details and summary elements display correctly.
227
+ */
228
+
229
+ details {
230
+ display: block;
231
+ }
232
+
233
+ summary {
234
+ display: list-item;
235
+ }
@@ -0,0 +1,95 @@
1
+ @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../abstracts/variables" as vars;
4
+ @use "../abstracts/mixins/" as mix;
5
+
6
+ $yma-background-utils: (
7
+ "background-attachment": (
8
+ "prefix": "ba",
9
+ "properties": (
10
+ "background-attachment",
11
+ ),
12
+ "values": (
13
+ "f": fixed,
14
+ "l": local,
15
+ "s": scroll,
16
+ ),
17
+ ),
18
+
19
+ "background-clip": (
20
+ "prefix": "bc",
21
+ "properties": (
22
+ "background-clip",
23
+ ),
24
+ "values": (
25
+ "bb": border-box,
26
+ "cb": content-box,
27
+ "pb": padding-box,
28
+ "t": text,
29
+ ),
30
+ ),
31
+
32
+ "background-origin": (
33
+ "prefix": "bo",
34
+ "properties": (
35
+ "background-origin",
36
+ ),
37
+ "values": (
38
+ "bb": border-box,
39
+ "cb": content-box,
40
+ "pb": padding-box,
41
+ ),
42
+ ),
43
+
44
+ "background-position": (
45
+ "prefix": "bp",
46
+ "properties": (
47
+ "background-position",
48
+ ),
49
+ "values": (
50
+ "b": bottom,
51
+ "c": center,
52
+ "l": left,
53
+ "lb": left bottom,
54
+ "lt": left top,
55
+ "r": right,
56
+ "rb": right bottom,
57
+ "rt": right top,
58
+ "t": top,
59
+ ),
60
+ ),
61
+
62
+ "background-repeat": (
63
+ "prefix": "br",
64
+ "properties": (
65
+ "background-repeat",
66
+ ),
67
+ "values": (
68
+ "nr": no-repeat,
69
+ "r": repeat,
70
+ "ro": round,
71
+ "rx": repeat-x,
72
+ "ry": repeat-y,
73
+ "s": space,
74
+ ),
75
+ ),
76
+
77
+ "background-size": (
78
+ "prefix": "bs",
79
+ "properties": (
80
+ "background-size",
81
+ ),
82
+ "values": (
83
+ "auto": auto,
84
+ "c": cover,
85
+ "co": contain,
86
+ ),
87
+ ),
88
+ );
89
+
90
+ @each $properties, $map in $yma-background-utils {
91
+ $prefix: map.get($map, "prefix");
92
+ $properties: map.get($map, "properties");
93
+
94
+ @include mix.create-utilities($map, $prefix, $properties);
95
+ }
@@ -0,0 +1,313 @@
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;
6
+
7
+ $yma-border-utils: (
8
+ "border-collapse": (
9
+ "prefix": "bc",
10
+ "properties": (
11
+ "border-collapse",
12
+ ),
13
+ "values": (
14
+ "c": collapse,
15
+ "s": separate,
16
+ ),
17
+ ),
18
+
19
+ "border-radius": (
20
+ "prefix": "rad",
21
+ "properties": (
22
+ "border-radius",
23
+ ),
24
+ "values": (
25
+ "0": vars.$yma-border-radius * 0,
26
+ "1": vars.$yma-border-radius,
27
+ "2": vars.$yma-border-radius * 2,
28
+ "3": vars.$yma-border-radius * 3,
29
+ "4": vars.$yma-border-radius * 4,
30
+ "5": vars.$yma-border-radius * 5,
31
+ "6": vars.$yma-border-radius * 6,
32
+ "7": vars.$yma-border-radius * 7,
33
+ "8": vars.$yma-border-radius * 8,
34
+ "full": 100%,
35
+ "half": 50%,
36
+ ),
37
+ ),
38
+
39
+ "border-bottom-radius": (
40
+ "prefix": "rad-b",
41
+ "properties": (
42
+ "border-bottom-left-radius",
43
+ "border-bottom-right-radius",
44
+ ),
45
+ "values": (
46
+ "0": vars.$yma-border-radius * 0,
47
+ "1": vars.$yma-border-radius,
48
+ "2": vars.$yma-border-radius * 2,
49
+ "3": vars.$yma-border-radius * 3,
50
+ "4": vars.$yma-border-radius * 4,
51
+ "5": vars.$yma-border-radius * 5,
52
+ "6": vars.$yma-border-radius * 6,
53
+ "7": vars.$yma-border-radius * 7,
54
+ "8": vars.$yma-border-radius * 8,
55
+ ),
56
+ ),
57
+
58
+ "border-left-radius": (
59
+ "prefix": "rad-l",
60
+ "properties": (
61
+ "border-bottom-left-radius",
62
+ "border-top-left-radius",
63
+ ),
64
+ "values": (
65
+ "0": vars.$yma-border-radius * 0,
66
+ "1": vars.$yma-border-radius,
67
+ "2": vars.$yma-border-radius * 2,
68
+ "3": vars.$yma-border-radius * 3,
69
+ "4": vars.$yma-border-radius * 4,
70
+ "5": vars.$yma-border-radius * 5,
71
+ "6": vars.$yma-border-radius * 6,
72
+ "7": vars.$yma-border-radius * 7,
73
+ "8": vars.$yma-border-radius * 8,
74
+ ),
75
+ ),
76
+
77
+ "border-right-radius": (
78
+ "prefix": "rad-r",
79
+ "properties": (
80
+ "border-bottom-right-radius",
81
+ "border-top-right-radius",
82
+ ),
83
+ "values": (
84
+ "0": vars.$yma-border-radius * 0,
85
+ "1": vars.$yma-border-radius,
86
+ "2": vars.$yma-border-radius * 2,
87
+ "3": vars.$yma-border-radius * 3,
88
+ "4": vars.$yma-border-radius * 4,
89
+ "5": vars.$yma-border-radius * 5,
90
+ "6": vars.$yma-border-radius * 6,
91
+ "7": vars.$yma-border-radius * 7,
92
+ "8": vars.$yma-border-radius * 8,
93
+ ),
94
+ ),
95
+
96
+ "border-bottom-left-radius": (
97
+ "prefix": "rad-bl",
98
+ "properties": (
99
+ "border-bottom-left-radius",
100
+ ),
101
+ "values": (
102
+ "0": vars.$yma-border-radius * 0,
103
+ "1": vars.$yma-border-radius,
104
+ "2": vars.$yma-border-radius * 2,
105
+ "3": vars.$yma-border-radius * 3,
106
+ "4": vars.$yma-border-radius * 4,
107
+ "5": vars.$yma-border-radius * 5,
108
+ "6": vars.$yma-border-radius * 6,
109
+ "7": vars.$yma-border-radius * 7,
110
+ "8": vars.$yma-border-radius * 8,
111
+ ),
112
+ ),
113
+
114
+ "border-bottom-right-radius": (
115
+ "prefix": "rad-br",
116
+ "properties": (
117
+ "border-bottom-right-radius",
118
+ ),
119
+ "values": (
120
+ "0": vars.$yma-border-radius * 0,
121
+ "1": vars.$yma-border-radius,
122
+ "2": vars.$yma-border-radius * 2,
123
+ "3": vars.$yma-border-radius * 3,
124
+ "4": vars.$yma-border-radius * 4,
125
+ "5": vars.$yma-border-radius * 5,
126
+ "6": vars.$yma-border-radius * 6,
127
+ "7": vars.$yma-border-radius * 7,
128
+ "8": vars.$yma-border-radius * 8,
129
+ ),
130
+ ),
131
+
132
+ "border-top-radius": (
133
+ "prefix": "rad-t",
134
+ "properties": (
135
+ "border-top-left-radius",
136
+ "border-top-right-radius",
137
+ ),
138
+ "values": (
139
+ "0": vars.$yma-border-radius * 0,
140
+ "1": vars.$yma-border-radius,
141
+ "2": vars.$yma-border-radius * 2,
142
+ "3": vars.$yma-border-radius * 3,
143
+ "4": vars.$yma-border-radius * 4,
144
+ "5": vars.$yma-border-radius * 5,
145
+ "6": vars.$yma-border-radius * 6,
146
+ "7": vars.$yma-border-radius * 7,
147
+ "8": vars.$yma-border-radius * 8,
148
+ ),
149
+ ),
150
+
151
+ "border-top-left-radius": (
152
+ "prefix": "rad-tl",
153
+ "properties": (
154
+ "border-top-left-radius",
155
+ ),
156
+ "values": (
157
+ "0": vars.$yma-border-radius * 0,
158
+ "1": vars.$yma-border-radius,
159
+ "2": vars.$yma-border-radius * 2,
160
+ "3": vars.$yma-border-radius * 3,
161
+ "4": vars.$yma-border-radius * 4,
162
+ "5": vars.$yma-border-radius * 5,
163
+ "6": vars.$yma-border-radius * 6,
164
+ "7": vars.$yma-border-radius * 7,
165
+ "8": vars.$yma-border-radius * 8,
166
+ ),
167
+ ),
168
+
169
+ "border-top-right-radius": (
170
+ "prefix": "rad-tr",
171
+ "properties": (
172
+ "border-top-right-radius",
173
+ ),
174
+ "values": (
175
+ "0": vars.$yma-border-radius * 0,
176
+ "1": vars.$yma-border-radius,
177
+ "2": vars.$yma-border-radius * 2,
178
+ "3": vars.$yma-border-radius * 3,
179
+ "4": vars.$yma-border-radius * 4,
180
+ "5": vars.$yma-border-radius * 5,
181
+ "6": vars.$yma-border-radius * 6,
182
+ "7": vars.$yma-border-radius * 7,
183
+ "8": vars.$yma-border-radius * 8,
184
+ ),
185
+ ),
186
+
187
+ "border-spacing": (
188
+ "prefix": "bs",
189
+ "properties": (
190
+ "border-spacing",
191
+ ),
192
+ "values": (
193
+ "0": vars.$yma-border-spacing * 0,
194
+ "1": vars.$yma-border-spacing,
195
+ "2": vars.$yma-border-spacing * 2,
196
+ "3": vars.$yma-border-spacing * 3,
197
+ "4": vars.$yma-border-spacing * 4,
198
+ "5": vars.$yma-border-spacing * 5,
199
+ "6": vars.$yma-border-spacing * 6,
200
+ "7": vars.$yma-border-spacing * 7,
201
+ "8": vars.$yma-border-spacing * 8,
202
+ ),
203
+ ),
204
+
205
+ "border-style": (
206
+ "prefix": "b",
207
+ "properties": (
208
+ "border-style",
209
+ ),
210
+ "values": (
211
+ "none": none,
212
+ "d": dashed,
213
+ "s": solid,
214
+ ),
215
+ ),
216
+
217
+ "border-width": (
218
+ "prefix": "b",
219
+ "properties": (
220
+ "border-width",
221
+ ),
222
+ "values": (
223
+ "0": vars.$yma-border * 0,
224
+ "1": vars.$yma-border,
225
+ "2": vars.$yma-border * 2,
226
+ "3": vars.$yma-border * 3,
227
+ "4": vars.$yma-border * 4,
228
+ "5": vars.$yma-border * 5,
229
+ "6": vars.$yma-border * 6,
230
+ "7": vars.$yma-border * 7,
231
+ "8": vars.$yma-border * 8,
232
+ ),
233
+ ),
234
+
235
+ "border-bottom-width": (
236
+ "prefix": "bb",
237
+ "properties": (
238
+ "border-bottom-width",
239
+ ),
240
+ "values": (
241
+ "0": vars.$yma-border * 0,
242
+ "1": vars.$yma-border,
243
+ "2": vars.$yma-border * 2,
244
+ "3": vars.$yma-border * 3,
245
+ "4": vars.$yma-border * 4,
246
+ "5": vars.$yma-border * 5,
247
+ "6": vars.$yma-border * 6,
248
+ "7": vars.$yma-border * 7,
249
+ "8": vars.$yma-border * 8,
250
+ ),
251
+ ),
252
+
253
+ "border-left-width": (
254
+ "prefix": "bl",
255
+ "properties": (
256
+ "border-left-width",
257
+ ),
258
+ "values": (
259
+ "0": vars.$yma-border * 0,
260
+ "1": vars.$yma-border,
261
+ "2": vars.$yma-border * 2,
262
+ "3": vars.$yma-border * 3,
263
+ "4": vars.$yma-border * 4,
264
+ "5": vars.$yma-border * 5,
265
+ "6": vars.$yma-border * 6,
266
+ "7": vars.$yma-border * 7,
267
+ "8": vars.$yma-border * 8,
268
+ ),
269
+ ),
270
+
271
+ "border-right-width": (
272
+ "prefix": "br",
273
+ "properties": (
274
+ "border-right-width",
275
+ ),
276
+ "values": (
277
+ "0": vars.$yma-border * 0,
278
+ "1": vars.$yma-border,
279
+ "2": vars.$yma-border * 2,
280
+ "3": vars.$yma-border * 3,
281
+ "4": vars.$yma-border * 4,
282
+ "5": vars.$yma-border * 5,
283
+ "6": vars.$yma-border * 6,
284
+ "7": vars.$yma-border * 7,
285
+ "8": vars.$yma-border * 8,
286
+ ),
287
+ ),
288
+
289
+ "border-top-width": (
290
+ "prefix": "bt",
291
+ "properties": (
292
+ "border-top-width",
293
+ ),
294
+ "values": (
295
+ "0": vars.$yma-border * 0,
296
+ "1": vars.$yma-border,
297
+ "2": vars.$yma-border * 2,
298
+ "3": vars.$yma-border * 3,
299
+ "4": vars.$yma-border * 4,
300
+ "5": vars.$yma-border * 5,
301
+ "6": vars.$yma-border * 6,
302
+ "7": vars.$yma-border * 7,
303
+ "8": vars.$yma-border * 8,
304
+ ),
305
+ ),
306
+ );
307
+
308
+ @each $properties, $map in $yma-border-utils {
309
+ $prefix: map.get($map, "prefix");
310
+ $properties: map.get($map, "properties");
311
+
312
+ @include mix.create-utilities($map, $prefix, $properties);
313
+ }