@nuvoui/core 1.2.0 → 1.2.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.
@@ -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
  }
@@ -217,13 +219,13 @@
217
219
  .glass-effect {
218
220
  @include COL.backdrop-filter(blur(8px));
219
221
 
220
- background-color: rgb(255 255 255 / 10%);
221
- border: 1px solid rgb(255 255 255 / 20%);
222
+ background-color: rgb(255 255 255 / 10%);
223
+ border: 1px solid rgb(255 255 255 / 20%);
222
224
  }
223
225
 
224
226
  .frosted-glass {
225
227
  @include COL.backdrop-filter(blur(15px));
226
-
227
- background-color: rgb(255 255 255 / 70%);
228
- border: 1px solid rgb(255 255 255 / 80%);
228
+
229
+ background-color: rgb(255 255 255 / 70%);
230
+ border: 1px solid rgb(255 255 255 / 80%);
229
231
  }
@@ -1,20 +1,22 @@
1
1
  @use '../abstracts' as VAR;
2
2
 
3
- @mixin align-baseline { vertical-align: baseline; }
4
- @mixin align-top { vertical-align: top; }
5
- @mixin align-middle { vertical-align: middle; }
6
- @mixin align-bottom { vertical-align: bottom; }
3
+ @mixin align-baseline { & { vertical-align: baseline; } }
4
+ @mixin align-top { & { vertical-align: top; } }
5
+ @mixin align-middle { & { vertical-align: middle; } }
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
  }
@@ -2,6 +2,7 @@
2
2
 
3
3
  @use "sass:map";
4
4
  @use "../abstracts/functions" as *;
5
+ @use "../abstracts" as VAR;
5
6
 
6
7
  $generated-keyframes: ();
7
8
 
@@ -77,8 +78,64 @@ $generated-keyframes: ();
77
78
 
78
79
  @mixin hover-ready {
79
80
  & {
80
- transition-property: color, background-color, border-color, box-shadow, opacity, border-radius;
81
+ transition-property: all;
81
82
  transition-duration: 0.2s;
82
83
  transition-timing-function: ease-in-out;
83
84
  }
84
85
  }
86
+
87
+ @if VAR.$generate-utility-classes {
88
+ .anim__bounce {
89
+ @include animate-bounce((
90
+ vertical: 50%,
91
+ horizontal: 50%,
92
+ duration: 1s,
93
+ timing: ease-in-out,
94
+ iteration: infinite,
95
+ ));
96
+ }
97
+
98
+ .anim__bounce-sm {
99
+ @include animate-bounce((
100
+ vertical: 25%,
101
+ horizontal: 25%,
102
+ duration: 1s,
103
+ timing: ease-in-out,
104
+ iteration: infinite,
105
+ ));
106
+ }
107
+
108
+ .anim__bounce-md {
109
+ @include animate-bounce((
110
+ vertical: 50%,
111
+ horizontal: 50%,
112
+ duration: 1s,
113
+ timing: ease-in-out,
114
+ iteration: infinite,
115
+ ));
116
+ }
117
+
118
+ .anim__bounce-lg {
119
+ @include animate-bounce((
120
+ vertical: 75%,
121
+ horizontal: 75%,
122
+ duration: 1s,
123
+ timing: ease-in-out,
124
+ iteration: infinite,
125
+ ));
126
+ }
127
+
128
+ .anim__bounce-xl {
129
+ @include animate-bounce((
130
+ vertical: 100%,
131
+ horizontal: 100%,
132
+ duration: 1s,
133
+ timing: ease-in-out,
134
+ iteration: infinite,
135
+ ));
136
+ }
137
+
138
+ .hover-ready{
139
+ @include hover-ready;
140
+ }
141
+ }