@nuvoui/core 1.2.0 → 1.2.1

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.
@@ -4,6 +4,7 @@
4
4
  @use "../utilities/colors" as COL;
5
5
  @use "../abstracts" as *;
6
6
 
7
+ @if $generate-utility-classes {
7
8
  :root {
8
9
  // Theme color CSS variables
9
10
  @each $color-name, $scale in COL.$colors {
@@ -85,130 +86,131 @@
85
86
  // COLOR UTILITY CLASSES
86
87
  // -----------------------------------------------
87
88
 
88
- // Theme color background utilities
89
- @each $color-name, $scale in COL.$colors {
90
- @each $shade, $value in $scale {
91
- .bg-#{$color-name}-#{$shade} {
92
- background-color: var(--#{$color-name}-#{$shade});
89
+ // Theme color background utilities
90
+ @each $color-name, $scale in COL.$colors {
91
+ @each $shade, $value in $scale {
92
+ .bg-#{$color-name}-#{$shade} {
93
+ background-color: var(--#{$color-name}-#{$shade});
94
+ }
95
+
96
+ // Automatic text contrast for backgrounds
97
+ .text-on-#{$color-name}-#{$shade} {
98
+ color: COL.find-text-color($value);
99
+ }
100
+
101
+ .text-#{$color-name}-#{$shade} {
102
+ color: var(--#{$color-name}-#{$shade});
103
+ }
93
104
  }
94
105
 
95
- // Automatic text contrast for backgrounds
96
- .text-on-#{$color-name}-#{$shade} {
97
- color: COL.find-text-color($value);
106
+ // Base color classes
107
+ .bg-#{$color-name} {
108
+ background-color: var(--#{$color-name});
98
109
  }
99
110
 
100
- .text-#{$color-name}-#{$shade} {
101
- color: var(--#{$color-name}-#{$shade});
111
+ .text-#{$color-name} {
112
+ color: var(--#{$color-name});
102
113
  }
103
114
  }
104
115
 
105
- // Base color classes
106
- .bg-#{$color-name} {
107
- background-color: var(--#{$color-name});
108
- }
116
+ // Primitive color utilities
117
+ @each $color-name, $scale in COL.$colors-primitives {
118
+ @each $shade, $value in $scale {
119
+ .bg-#{$color-name}-#{$shade} {
120
+ background-color: var(--#{$color-name}-#{$shade});
121
+ }
109
122
 
110
- .text-#{$color-name} {
111
- color: var(--#{$color-name});
112
- }
113
- }
123
+ .text-on-#{$color-name}-#{$shade} {
124
+ color: COL.find-text-color($value);
125
+ }
114
126
 
115
- // Primitive color utilities
116
- @each $color-name, $scale in COL.$colors-primitives {
117
- @each $shade, $value in $scale {
118
- .bg-#{$color-name}-#{$shade} {
119
- background-color: var(--#{$color-name}-#{$shade});
127
+ .text-#{$color-name}-#{$shade} {
128
+ color: var(--#{$color-name}-#{$shade});
129
+ }
120
130
  }
121
131
 
122
- .text-on-#{$color-name}-#{$shade} {
123
- color: COL.find-text-color($value);
132
+ // Base color classes
133
+ .bg-#{$color-name} {
134
+ background-color: var(--#{$color-name});
124
135
  }
125
136
 
126
- .text-#{$color-name}-#{$shade} {
127
- color: var(--#{$color-name}-#{$shade});
137
+ .text-#{$color-name} {
138
+ color: var(--#{$color-name});
128
139
  }
129
140
  }
130
141
 
131
- // Base color classes
132
- .bg-#{$color-name} {
133
- background-color: var(--#{$color-name});
142
+ // Semantic color utilities
143
+ .bg-page {
144
+ background-color: var(--background);
134
145
  }
135
146
 
136
- .text-#{$color-name} {
137
- color: var(--#{$color-name});
147
+ .bg-card {
148
+ background-color: var(--surface);
138
149
  }
139
- }
140
-
141
- // Semantic color utilities
142
- .bg-page {
143
- background-color: var(--background);
144
- }
145
150
 
146
- .bg-card {
147
- background-color: var(--surface);
148
- }
149
-
150
- .bg-active {
151
- background-color: var(--button-bg-color);
152
- }
151
+ .bg-active {
152
+ background-color: var(--button-bg-color);
153
+ }
153
154
 
154
- .bg-hover {
155
- background-color: var(--button-bg-color-hover);
156
- }
155
+ .bg-hover {
156
+ background-color: var(--button-bg-color-hover);
157
+ }
157
158
 
158
- .text-default {
159
- color: var(--text-primary);
160
- }
159
+ .text-default {
160
+ color: var(--text-primary);
161
+ }
161
162
 
162
- .text-muted {
163
- color: var(--text-secondary);
164
- }
163
+ .text-muted {
164
+ color: var(--text-secondary);
165
+ }
165
166
 
166
- .text-subtle {
167
- color: var(--text-secondary);
168
- opacity: 0.7;
169
- }
167
+ .text-subtle {
168
+ color: var(--text-secondary);
169
+ opacity: 0.7;
170
+ }
170
171
 
171
- .text-inverted {
172
- color: var(--inverted-text-color);
173
- }
172
+ .text-inverted {
173
+ color: var(--inverted-text-color);
174
+ }
174
175
 
175
- .bg-white {
176
- background-color: white;
177
- }
176
+ .bg-white {
177
+ background-color: white;
178
+ }
178
179
 
179
- .bg-black {
180
- background-color: black;
181
- }
180
+ .bg-black {
181
+ background-color: black;
182
+ }
182
183
 
183
- .text-white {
184
- color: white;
185
- }
184
+ .text-white {
185
+ color: white;
186
+ }
186
187
 
187
- .text-black {
188
- color: black;
189
- }
188
+ .text-black {
189
+ color: black;
190
+ }
190
191
 
191
- // Hover utilities
192
- @each $color-name, $scale in COL.$colors {
193
- @each $shade, $value in $scale {
194
- .hover\:bg-#{$color-name}-#{$shade}:hover {
195
- background-color: var(--#{$color-name}-#{$shade});
196
- }
192
+ // Hover utilities
193
+ @each $color-name, $scale in COL.$colors {
194
+ @each $shade, $value in $scale {
195
+ .hover\:bg-#{$color-name}-#{$shade}:hover {
196
+ background-color: var(--#{$color-name}-#{$shade});
197
+ }
197
198
 
198
- .hover\:text-#{$color-name}-#{$shade}:hover {
199
- color: var(--#{$color-name}-#{$shade});
199
+ .hover\:text-#{$color-name}-#{$shade}:hover {
200
+ color: var(--#{$color-name}-#{$shade});
201
+ }
200
202
  }
201
203
  }
202
- }
203
204
 
204
- @each $color-name, $scale in COL.$colors-primitives {
205
- @each $shade, $value in $scale {
206
- .hover\:bg-#{$color-name}-#{$shade}:hover {
207
- background-color: var(--#{$color-name}-#{$shade});
208
- }
205
+ @each $color-name, $scale in COL.$colors-primitives {
206
+ @each $shade, $value in $scale {
207
+ .hover\:bg-#{$color-name}-#{$shade}:hover {
208
+ background-color: var(--#{$color-name}-#{$shade});
209
+ }
209
210
 
210
- .hover\:text-#{$color-name}-#{$shade}:hover {
211
- color: var(--#{$color-name}-#{$shade});
211
+ .hover\:text-#{$color-name}-#{$shade}:hover {
212
+ color: var(--#{$color-name}-#{$shade});
213
+ }
212
214
  }
213
215
  }
214
216
  }
@@ -5,16 +5,18 @@
5
5
  @mixin align-middle { vertical-align: middle; }
6
6
  @mixin align-bottom { vertical-align: bottom; }
7
7
 
8
+ @if VAR.$generate-utility-classes {
8
9
  .align-baseline { @include align-baseline; }
9
10
  .align-top { @include align-top; }
10
11
  .align-middle { @include align-middle; }
11
12
  .align-bottom { @include align-bottom; }
12
13
 
13
- @each $breakpoint, $width in VAR.$breakpoints {
14
- @media (min-width: #{$width}) {
15
- .align-baseline\@#{$breakpoint} { @include align-baseline; }
16
- .align-top\@#{$breakpoint} { @include align-top; }
17
- .align-middle\@#{$breakpoint} { @include align-middle; }
18
- .align-bottom\@#{$breakpoint} { @include align-bottom; }
14
+ @each $breakpoint, $width in VAR.$breakpoints {
15
+ @media (min-width: #{$width}) {
16
+ .align-baseline\@#{$breakpoint} { @include align-baseline; }
17
+ .align-top\@#{$breakpoint} { @include align-top; }
18
+ .align-middle\@#{$breakpoint} { @include align-middle; }
19
+ .align-bottom\@#{$breakpoint} { @include align-bottom; }
20
+ }
19
21
  }
20
22
  }
@@ -126,168 +126,169 @@ $border-styles: (solid, dashed, dotted, double, none);
126
126
  // -----------------------------------------------
127
127
  // UTILITY CLASSES
128
128
  // -----------------------------------------------
129
+ @if $generate-utility-classes {
130
+ // Basic border classes (all sides)
131
+ .border { @include border(1); }
132
+ .border-0 { @include border(0); }
133
+
134
+ // All sides border width
135
+ @each $width in $border-widths {
136
+ .border-#{$width} { @include border($width); }
137
+ }
129
138
 
130
- // Basic border classes (all sides)
131
- .border { @include border(1); }
132
- .border-0 { @include border(0); }
133
-
134
- // All sides border width
135
- @each $width in $border-widths {
136
- .border-#{$width} { @include border($width); }
137
- }
138
-
139
- // Directional border width
140
- @each $width in $border-widths {
141
- .border-t-#{$width} { @include border-top($width); }
142
- .border-r-#{$width} { @include border-right($width); }
143
- .border-b-#{$width} { @include border-bottom($width); }
144
- .border-l-#{$width} { @include border-left($width); }
145
- }
146
-
147
- // Common shortcuts for single-side borders
148
- .border-t { @include border-top(1); }
149
- .border-r { @include border-right(1); }
150
- .border-b { @include border-bottom(1); }
151
- .border-l { @include border-left(1); }
139
+ // Directional border width
140
+ @each $width in $border-widths {
141
+ .border-t-#{$width} { @include border-top($width); }
142
+ .border-r-#{$width} { @include border-right($width); }
143
+ .border-b-#{$width} { @include border-bottom($width); }
144
+ .border-l-#{$width} { @include border-left($width); }
145
+ }
152
146
 
153
- // Border radius classes
154
- .rounded { @include rounded; } // Default rounded
155
- .square { @include rounded(0); } // Alias for no radius
147
+ // Common shortcuts for single-side borders
148
+ .border-t { @include border-top(1); }
149
+ .border-r { @include border-right(1); }
150
+ .border-b { @include border-bottom(1); }
151
+ .border-l { @include border-left(1); }
156
152
 
157
- @each $name, $value in $border-radii {
158
- .rounded-#{$name} { @include rounded($value); }
159
- }
160
-
161
- // Directional border radius
162
- @each $name, $value in $border-radii {
163
- .rounded-t-#{$name} { @include rounded-t($value); }
164
- .rounded-r-#{$name} { @include rounded-r($value); }
165
- .rounded-b-#{$name} { @include rounded-b($value); }
166
- .rounded-l-#{$name} { @include rounded-l($value); }
167
-
168
- // Individual corners
169
- .rounded-tl-#{$name} { @include rounded-tl($value); }
170
- .rounded-tr-#{$name} { @include rounded-tr($value); }
171
- .rounded-br-#{$name} { @include rounded-br($value); }
172
- .rounded-bl-#{$name} { @include rounded-bl($value); }
173
- }
153
+ // Border radius classes
154
+ .rounded { @include rounded; } // Default rounded
155
+ .square { @include rounded(0); } // Alias for no radius
174
156
 
175
- // Pill shape (alias for full radius)
176
- .pill { @include rounded(9999px); }
157
+ @each $name, $value in $border-radii {
158
+ .rounded-#{$name} { @include rounded($value); }
159
+ }
177
160
 
178
- // Border styles - these override the default solid style if needed
179
- @each $style in $border-styles {
180
- .border-#{$style} { @include border-style($style); }
181
- }
161
+ // Directional border radius
162
+ @each $name, $value in $border-radii {
163
+ .rounded-t-#{$name} { @include rounded-t($value); }
164
+ .rounded-r-#{$name} { @include rounded-r($value); }
165
+ .rounded-b-#{$name} { @include rounded-b($value); }
166
+ .rounded-l-#{$name} { @include rounded-l($value); }
167
+
168
+ // Individual corners
169
+ .rounded-tl-#{$name} { @include rounded-tl($value); }
170
+ .rounded-tr-#{$name} { @include rounded-tr($value); }
171
+ .rounded-br-#{$name} { @include rounded-br($value); }
172
+ .rounded-bl-#{$name} { @include rounded-bl($value); }
173
+ }
182
174
 
183
- // Border colors - these override the default color if needed
184
- .border-default { @include border-color(var(--border)); }
185
- .border-light { @include border-color(var(--border-light-color)); }
186
- .border-dark { @include border-color(var(--border-dark-color)); }
187
- .border-primary { @include border-color(var(--primary)); }
188
- .border-secondary { @include border-color(var(--secondary)); }
189
- .border-success { @include border-color(var(--success)); }
190
- .border-danger { @include border-color(var(--danger)); }
191
- .border-warning { @include border-color(var(--warning)); }
192
- .border-info { @include border-color(var(--info)); }
193
-
194
- // Common combined border utilities (style + color)
195
- .border-primary-solid {
196
- @include border-style(solid);
197
- @include border-color(var(--primary));
198
- }
175
+ // Pill shape (alias for full radius)
176
+ .pill { @include rounded(9999px); }
199
177
 
200
- .border-danger-dashed {
201
- @include border-style(dashed);
202
- @include border-color(var(--danger));
203
- }
178
+ // Border styles - these override the default solid style if needed
179
+ @each $style in $border-styles {
180
+ .border-#{$style} { @include border-style($style); }
181
+ }
204
182
 
205
- // -----------------------------------------------
206
- // HOVER, ACTIVE, AND FOCUS STATES
207
- // -----------------------------------------------
183
+ // Border colors - these override the default color if needed
184
+ .border-default { @include border-color(var(--border)); }
185
+ .border-light { @include border-color(var(--border-light-color)); }
186
+ .border-dark { @include border-color(var(--border-dark-color)); }
187
+ .border-primary { @include border-color(var(--primary)); }
188
+ .border-secondary { @include border-color(var(--secondary)); }
189
+ .border-success { @include border-color(var(--success)); }
190
+ .border-danger { @include border-color(var(--danger)); }
191
+ .border-warning { @include border-color(var(--warning)); }
192
+ .border-info { @include border-color(var(--info)); }
193
+
194
+ // Common combined border utilities (style + color)
195
+ .border-primary-solid {
196
+ @include border-style(solid);
197
+ @include border-color(var(--primary));
198
+ }
208
199
 
209
- // Hover state border classes
210
- @each $width in $border-widths {
211
- .hover\:border-#{$width}:hover { @include border($width); }
212
- }
200
+ .border-danger-dashed {
201
+ @include border-style(dashed);
202
+ @include border-color(var(--danger));
203
+ }
213
204
 
214
- @each $style in $border-styles {
215
- .hover\:border-#{$style}:hover { @include border-style($style); }
216
- }
205
+ // -----------------------------------------------
206
+ // HOVER, ACTIVE, AND FOCUS STATES
207
+ // -----------------------------------------------
217
208
 
218
- // Border colors on hover
219
- .hover\:border-default:hover { @include border-color(var(--border)); }
220
- .hover\:border-light:hover { @include border-color(var(--border-light-color)); }
221
- .hover\:border-dark:hover { @include border-color(var(--border-dark-color)); }
222
- .hover\:border-primary:hover { @include border-color(var(--primary)); }
223
- .hover\:border-secondary:hover { @include border-color(var(--secondary)); }
224
- .hover\:border-success:hover { @include border-color(var(--success)); }
225
- .hover\:border-danger:hover { @include border-color(var(--danger)); }
226
- .hover\:border-warning:hover { @include border-color(var(--warning)); }
227
- .hover\:border-info:hover { @include border-color(var(--info)); }
228
-
229
- // Active state border classes
230
- @each $width in $border-widths {
231
- .active\:border-#{$width}:active { @include border($width); }
232
- }
209
+ // Hover state border classes
210
+ @each $width in $border-widths {
211
+ .hover\:border-#{$width}:hover { @include border($width); }
212
+ }
233
213
 
234
- @each $style in $border-styles {
235
- .active\:border-#{$style}:active { @include border-style($style); }
236
- }
214
+ @each $style in $border-styles {
215
+ .hover\:border-#{$style}:hover { @include border-style($style); }
216
+ }
237
217
 
238
- // Border colors on active state
239
- .active\:border-default:active { @include border-color(var(--border)); }
240
- .active\:border-light:active { @include border-color(var(--border-light-color)); }
241
- .active\:border-dark:active { @include border-color(var(--border-dark-color)); }
242
- .active\:border-primary:active { @include border-color(var(--primary)); }
243
- .active\:border-secondary:active { @include border-color(var(--secondary)); }
244
- .active\:border-success:active { @include border-color(var(--success)); }
245
- .active\:border-danger:active { @include border-color(var(--danger)); }
246
- .active\:border-warning:active { @include border-color(var(--warning)); }
247
- .active\:border-info:active { @include border-color(var(--info)); }
248
-
249
- // Focus state border classes
250
- @each $width in $border-widths {
251
- .focus\:border-#{$width}:focus { @include border($width); }
252
- }
218
+ // Border colors on hover
219
+ .hover\:border-default:hover { @include border-color(var(--border)); }
220
+ .hover\:border-light:hover { @include border-color(var(--border-light-color)); }
221
+ .hover\:border-dark:hover { @include border-color(var(--border-dark-color)); }
222
+ .hover\:border-primary:hover { @include border-color(var(--primary)); }
223
+ .hover\:border-secondary:hover { @include border-color(var(--secondary)); }
224
+ .hover\:border-success:hover { @include border-color(var(--success)); }
225
+ .hover\:border-danger:hover { @include border-color(var(--danger)); }
226
+ .hover\:border-warning:hover { @include border-color(var(--warning)); }
227
+ .hover\:border-info:hover { @include border-color(var(--info)); }
228
+
229
+ // Active state border classes
230
+ @each $width in $border-widths {
231
+ .active\:border-#{$width}:active { @include border($width); }
232
+ }
253
233
 
254
- @each $style in $border-styles {
255
- .focus\:border-#{$style}:focus { @include border-style($style); }
256
- }
234
+ @each $style in $border-styles {
235
+ .active\:border-#{$style}:active { @include border-style($style); }
236
+ }
257
237
 
258
- // Border colors on focus
259
- .focus\:border-default:focus { @include border-color(var(--border)); }
260
- .focus\:border-light:focus { @include border-color(var(--border-light-color)); }
261
- .focus\:border-dark:focus { @include border-color(var(--border-dark-color)); }
262
- .focus\:border-primary:focus { @include border-color(var(--primary)); }
263
- .focus\:border-secondary:focus { @include border-color(var(--secondary)); }
264
- .focus\:border-success:focus { @include border-color(var(--success)); }
265
- .focus\:border-danger:focus { @include border-color(var(--danger)); }
266
- .focus\:border-warning:focus { @include border-color(var(--warning)); }
267
- .focus\:border-info:focus { @include border-color(var(--info)); }
238
+ // Border colors on active state
239
+ .active\:border-default:active { @include border-color(var(--border)); }
240
+ .active\:border-light:active { @include border-color(var(--border-light-color)); }
241
+ .active\:border-dark:active { @include border-color(var(--border-dark-color)); }
242
+ .active\:border-primary:active { @include border-color(var(--primary)); }
243
+ .active\:border-secondary:active { @include border-color(var(--secondary)); }
244
+ .active\:border-success:active { @include border-color(var(--success)); }
245
+ .active\:border-danger:active { @include border-color(var(--danger)); }
246
+ .active\:border-warning:active { @include border-color(var(--warning)); }
247
+ .active\:border-info:active { @include border-color(var(--info)); }
248
+
249
+ // Focus state border classes
250
+ @each $width in $border-widths {
251
+ .focus\:border-#{$width}:focus { @include border($width); }
252
+ }
268
253
 
269
- // -----------------------------------------------
270
- // RESPONSIVE CLASSES
271
- // -----------------------------------------------
254
+ @each $style in $border-styles {
255
+ .focus\:border-#{$style}:focus { @include border-style($style); }
256
+ }
272
257
 
273
- @each $breakpoint, $width in $breakpoints {
274
- @media (min-width: #{$width}) {
275
- // Border width responsive
276
- @each $val in $border-widths {
277
- .border-#{$val}\@#{$breakpoint} { @include border($val); }
258
+ // Border colors on focus
259
+ .focus\:border-default:focus { @include border-color(var(--border)); }
260
+ .focus\:border-light:focus { @include border-color(var(--border-light-color)); }
261
+ .focus\:border-dark:focus { @include border-color(var(--border-dark-color)); }
262
+ .focus\:border-primary:focus { @include border-color(var(--primary)); }
263
+ .focus\:border-secondary:focus { @include border-color(var(--secondary)); }
264
+ .focus\:border-success:focus { @include border-color(var(--success)); }
265
+ .focus\:border-danger:focus { @include border-color(var(--danger)); }
266
+ .focus\:border-warning:focus { @include border-color(var(--warning)); }
267
+ .focus\:border-info:focus { @include border-color(var(--info)); }
268
+
269
+ // -----------------------------------------------
270
+ // RESPONSIVE CLASSES
271
+ // -----------------------------------------------
272
+
273
+ @each $breakpoint, $width in $breakpoints {
274
+ @media (min-width: #{$width}) {
275
+ // Border width responsive
276
+ @each $val in $border-widths {
277
+ .border-#{$val}\@#{$breakpoint} { @include border($val); }
278
+ }
279
+
280
+ // Common shortcuts for responsive
281
+ .border\@#{$breakpoint} { @include border(1); }
282
+ .border-0\@#{$breakpoint} { @include border(0); }
283
+
284
+ // Border radius responsive
285
+ @each $name, $value in $border-radii {
286
+ .rounded-#{$name}\@#{$breakpoint} { @include rounded($value); }
287
+ }
288
+
289
+ .rounded\@#{$breakpoint} { @include rounded; }
290
+ .square\@#{$breakpoint} { @include rounded(0); }
291
+ .pill\@#{$breakpoint} { @include rounded(9999px); }
278
292
  }
279
-
280
- // Common shortcuts for responsive
281
- .border\@#{$breakpoint} { @include border(1); }
282
- .border-0\@#{$breakpoint} { @include border(0); }
283
-
284
- // Border radius responsive
285
- @each $name, $value in $border-radii {
286
- .rounded-#{$name}\@#{$breakpoint} { @include rounded($value); }
287
- }
288
-
289
- .rounded\@#{$breakpoint} { @include rounded; }
290
- .square\@#{$breakpoint} { @include rounded(0); }
291
- .pill\@#{$breakpoint} { @include rounded(9999px); }
292
293
  }
293
294
  }
@@ -81,17 +81,19 @@
81
81
  container-name: $name;
82
82
  }
83
83
 
84
- // Utility classes
85
- .container-inline-size {
86
- container-type: inline-size;
87
- }
84
+ @if $generate-utility-classes {
85
+ // Utility classes
86
+ .container-inline-size {
87
+ container-type: inline-size;
88
+ }
88
89
 
89
- .container-size {
90
- container-type: size;
91
- }
90
+ .container-size {
91
+ container-type: size;
92
+ }
92
93
 
93
- @each $name in ("main", "sidebar", "card", "section") {
94
- .container-#{$name} {
95
- container-name: $name;
94
+ @each $name in ("main", "sidebar", "card", "section") {
95
+ .container-#{$name} {
96
+ container-name: $name;
97
+ }
96
98
  }
97
- }
99
+ }