@nuvoui/core 1.4.1 → 1.4.3
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.
- package/README.md +76 -61
- package/dist/nuvoui.css +9 -7
- package/dist/nuvoui.css.map +1 -1
- package/dist/nuvoui.min.css +1 -1
- package/dist/nuvoui.min.css.map +1 -1
- package/package.json +1 -1
- package/src/styles/base/_base.scss +1 -0
- package/src/styles/config/_colors.scss +10 -0
- package/src/styles/config/_shadows.scss +42 -1
- package/src/styles/utilities/_position.scss +18 -7
- package/src/styles/utilities/_shadows.scss +7 -45
- package/src/styles/utilities/_spacing.scss +1 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# NuvoUI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A utility-first CSS framework built with modern SCSS, providing atomic classes and mixins for rapid UI development.
|
|
4
4
|
|
|
5
5
|
[](https://github.com/NuvoUI/core)
|
|
6
6
|
[](https://github.com/NuvoUI/core)
|
|
@@ -8,9 +8,53 @@ _Human-readable SCSS for modern devs. Discover NuvoUI_
|
|
|
8
8
|
[](https://discord.gg/dhxxKTK5Zx)
|
|
9
9
|
[](https://x.com/NuvoUI)
|
|
10
10
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
NuvoUI is
|
|
11
|
+
## What is NuvoUI?
|
|
12
|
+
|
|
13
|
+
NuvoUI is a comprehensive CSS framework that combines the flexibility of utility classes with the power of SCSS mixins. It offers a complete design system with responsive breakpoints, semantic theming, and advanced layout capabilities designed for developers who want to build responsive, beautiful websites without unnecessary complexity.
|
|
14
|
+
|
|
15
|
+
## Key Features
|
|
16
|
+
|
|
17
|
+
### Utility-First Architecture
|
|
18
|
+
- **Atomic Classes**: Single-purpose classes like `bg-primary`, `p-4`, `flex`
|
|
19
|
+
- **SCSS Mixins**: Use utilities in SCSS via `@include apply(bg(primary), p(4), flex)`
|
|
20
|
+
- **Responsive Modifiers**: Breakpoint-specific classes with `@breakpoint` syntax
|
|
21
|
+
- **State Modifiers**: Interactive states with `hover:`, `focus:`, `active:` prefixes
|
|
22
|
+
|
|
23
|
+
### Advanced Theming System
|
|
24
|
+
- **CSS Custom Properties**: Dynamic theming with CSS variables
|
|
25
|
+
- **Semantic Tokens**: Brand colors (primary, secondary) and contextual colors (success, danger, warning, info)
|
|
26
|
+
- **Automatic Color Scales**: Generate complete color palettes from base colors
|
|
27
|
+
- **Contrast Calculation**: Automatic text color based on background contrast ratios
|
|
28
|
+
- **Dark Mode Support**: Built-in theme switching capabilities
|
|
29
|
+
|
|
30
|
+
### Comprehensive Layout System
|
|
31
|
+
- **CSS Grid Utilities**: Complete grid system with areas, spans, and responsive variants
|
|
32
|
+
- **Flexbox System**: Full flexbox implementation with alignment and distribution controls
|
|
33
|
+
- **Container Queries**: Modern responsive design with element-based breakpoints
|
|
34
|
+
- **Modern Layout Tools**: CSS Subgrid, aspect ratios, and intrinsic sizing
|
|
35
|
+
|
|
36
|
+
### Typography & Content
|
|
37
|
+
- **Fluid Typography**: Responsive font sizes with configurable scales
|
|
38
|
+
- **Advanced Text Handling**: Truncation (single and multi-line), overflow control, text transforms
|
|
39
|
+
- **Letter Spacing**: Granular tracking controls
|
|
40
|
+
- **Line Height**: Semantic leading classes for optimal readability
|
|
41
|
+
|
|
42
|
+
### Visual Enhancement
|
|
43
|
+
- **Elevation System**: Consistent shadow scales with z-index management
|
|
44
|
+
- **Border System**: Comprehensive border utilities with radius, styles, and colors
|
|
45
|
+
- **Transform System**: CSS transforms using CSS variables for better performance
|
|
46
|
+
- **Transition System**: Smooth animations with configurable timing and easing
|
|
47
|
+
|
|
48
|
+
### Interactive Components
|
|
49
|
+
- **Tooltip System**: Lightweight tooltips with positioning and sizing options
|
|
50
|
+
- **State Management**: Comprehensive hover, focus, and active state handling
|
|
51
|
+
- **Backdrop Utilities**: Modern backdrop filters and effects
|
|
52
|
+
|
|
53
|
+
### Developer Experience
|
|
54
|
+
- **Build System**: Automated utility generation from configuration
|
|
55
|
+
- **Configuration**: Extensive customization through SCSS variables
|
|
56
|
+
- **Documentation**: Interactive examples with live previews
|
|
57
|
+
- **Atomic Structure**: BEM-compatible component architecture
|
|
14
58
|
|
|
15
59
|
## ✨ Why Choose NuvoUI?
|
|
16
60
|
|
|
@@ -58,7 +102,27 @@ yarn add @nuvoui/core
|
|
|
58
102
|
<link rel="stylesheet" href="node_modules/@nuvoui/core/dist/nuvoui.min.css">
|
|
59
103
|
```
|
|
60
104
|
|
|
61
|
-
##
|
|
105
|
+
## Architecture
|
|
106
|
+
|
|
107
|
+
### Configuration-Driven
|
|
108
|
+
All utilities are generated from SCSS configuration maps:
|
|
109
|
+
```scss
|
|
110
|
+
$spacing: (0, 0.25rem, 0.5rem, 1rem, 1.5rem, 2rem, 3rem, 4rem, 6rem, 8rem);
|
|
111
|
+
$colors: (primary: #3b82f6, secondary: #6b7280, success: #10b981);
|
|
112
|
+
$breakpoints: (sm: 576px, md: 768px, lg: 992px, xl: 1200px);
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Modern CSS Features
|
|
116
|
+
- CSS Custom Properties for dynamic theming
|
|
117
|
+
- CSS Grid and Flexbox for layout
|
|
118
|
+
- Container Queries for responsive design
|
|
119
|
+
- CSS Transforms and Filters
|
|
120
|
+
- Modern color functions (oklch, color-mix)
|
|
121
|
+
|
|
122
|
+
### Framework Agnostic
|
|
123
|
+
Works with any frontend framework or vanilla HTML/CSS. No JavaScript dependencies.
|
|
124
|
+
|
|
125
|
+
## Core Features Examples
|
|
62
126
|
|
|
63
127
|
### 🎨 Beautiful Color System
|
|
64
128
|
|
|
@@ -73,7 +137,6 @@ NuvoUI includes a comprehensive color system with semantic color variables and a
|
|
|
73
137
|
|
|
74
138
|
Build complex layouts with ease using our grid and flexbox utilities.
|
|
75
139
|
|
|
76
|
-
|
|
77
140
|
```html
|
|
78
141
|
<!-- Responsive grid with auto placement -->
|
|
79
142
|
<div class="grid cols-12 gap-4">
|
|
@@ -88,22 +151,8 @@ Build complex layouts with ease using our grid and flexbox utilities.
|
|
|
88
151
|
</div>
|
|
89
152
|
```
|
|
90
153
|
|
|
91
|
-
###
|
|
92
|
-
```scss
|
|
93
|
-
.floating-element {
|
|
94
|
-
@include NuvoUI.animate-float((
|
|
95
|
-
distance: 10px,
|
|
96
|
-
duration: 3s,
|
|
97
|
-
direction: vertical
|
|
98
|
-
));
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
154
|
### 🌓 Simple Dark Mode
|
|
103
155
|
|
|
104
|
-
|
|
105
|
-
### Example 2: Elegant SCSS Mixins
|
|
106
|
-
|
|
107
156
|
```html
|
|
108
157
|
<html data-theme="dark">
|
|
109
158
|
<!-- Your content will use dark theme colors -->
|
|
@@ -119,56 +168,22 @@ Toggle with a simple script:
|
|
|
119
168
|
</button>
|
|
120
169
|
```
|
|
121
170
|
|
|
122
|
-
|
|
171
|
+
### Elegant SCSS Mixins
|
|
123
172
|
|
|
124
173
|
```scss
|
|
125
174
|
.hero-image {
|
|
126
|
-
@include
|
|
127
|
-
@include NuvoUI.my(40);
|
|
128
|
-
@include NuvoUI.rounded(8);
|
|
129
|
-
@include NuvoUI.shadow-lg;
|
|
130
|
-
|
|
131
|
-
// Add custom animation
|
|
132
|
-
@include NuvoUI.animate-bounce((
|
|
133
|
-
horizontal: 3%,
|
|
134
|
-
duration: 25s,
|
|
135
|
-
));
|
|
175
|
+
@include apply(mx(auto), my(40), rounded(8), shadow(lg));
|
|
136
176
|
|
|
137
177
|
// Responsive behavior
|
|
138
|
-
@include
|
|
139
|
-
@include
|
|
178
|
+
@include media-up(lg) {
|
|
179
|
+
@include apply(max-w(80%));
|
|
140
180
|
}
|
|
141
181
|
}
|
|
182
|
+
```
|
|
142
183
|
|
|
143
|
-
|
|
144
|
-
.hero-image {
|
|
145
|
-
margin-left: auto;
|
|
146
|
-
margin-right: auto;
|
|
147
|
-
margin-top: 40px !important;
|
|
148
|
-
margin-bottom: 40px !important;
|
|
149
|
-
border-radius: 8px;
|
|
150
|
-
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
151
|
-
animation: anim-bounce-0p-3per 25s ease-in-out infinite;
|
|
152
|
-
}
|
|
184
|
+
## Browser Support
|
|
153
185
|
|
|
154
|
-
|
|
155
|
-
.hero-image {
|
|
156
|
-
max-width: 80%;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
@keyframes anim-bounce-0p-3per {
|
|
161
|
-
0% {
|
|
162
|
-
transform: translateX(-0%) translateY(-3%);
|
|
163
|
-
}
|
|
164
|
-
50% {
|
|
165
|
-
transform: translateX(0%) translateY(3%);
|
|
166
|
-
}
|
|
167
|
-
100% {
|
|
168
|
-
transform: translateX(-0%) translateY(-3%);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
```
|
|
186
|
+
Modern browsers supporting CSS Grid, Custom Properties, and modern CSS features. IE11+ with appropriate polyfills for legacy support.
|
|
172
187
|
|
|
173
188
|
|
|
174
189
|
## Documentation
|
package/dist/nuvoui.css
CHANGED
|
@@ -226,6 +226,7 @@ button:not([class*=bg-]):hover {
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
input[type=text],
|
|
229
|
+
input[type=tel],
|
|
229
230
|
input[type=email],
|
|
230
231
|
input[type=password],
|
|
231
232
|
input[type=number],
|
|
@@ -239,6 +240,7 @@ textarea {
|
|
|
239
240
|
transition: border 0.2s ease-in-out;
|
|
240
241
|
}
|
|
241
242
|
input[type=text]:focus,
|
|
243
|
+
input[type=tel]:focus,
|
|
242
244
|
input[type=email]:focus,
|
|
243
245
|
input[type=password]:focus,
|
|
244
246
|
input[type=number]:focus,
|
|
@@ -32723,7 +32725,7 @@ code {
|
|
|
32723
32725
|
}
|
|
32724
32726
|
|
|
32725
32727
|
.left-0 {
|
|
32726
|
-
left:
|
|
32728
|
+
left: 0rem;
|
|
32727
32729
|
}
|
|
32728
32730
|
|
|
32729
32731
|
.top-1 {
|
|
@@ -33106,7 +33108,7 @@ code {
|
|
|
33106
33108
|
bottom: 0rem;
|
|
33107
33109
|
}
|
|
33108
33110
|
.left-0\@xs {
|
|
33109
|
-
left:
|
|
33111
|
+
left: 0rem;
|
|
33110
33112
|
}
|
|
33111
33113
|
.top-1\@xs {
|
|
33112
33114
|
top: 0.25rem;
|
|
@@ -33421,7 +33423,7 @@ code {
|
|
|
33421
33423
|
bottom: 0rem;
|
|
33422
33424
|
}
|
|
33423
33425
|
.left-0\@sm {
|
|
33424
|
-
left:
|
|
33426
|
+
left: 0rem;
|
|
33425
33427
|
}
|
|
33426
33428
|
.top-1\@sm {
|
|
33427
33429
|
top: 0.25rem;
|
|
@@ -33736,7 +33738,7 @@ code {
|
|
|
33736
33738
|
bottom: 0rem;
|
|
33737
33739
|
}
|
|
33738
33740
|
.left-0\@md {
|
|
33739
|
-
left:
|
|
33741
|
+
left: 0rem;
|
|
33740
33742
|
}
|
|
33741
33743
|
.top-1\@md {
|
|
33742
33744
|
top: 0.25rem;
|
|
@@ -34051,7 +34053,7 @@ code {
|
|
|
34051
34053
|
bottom: 0rem;
|
|
34052
34054
|
}
|
|
34053
34055
|
.left-0\@lg {
|
|
34054
|
-
left:
|
|
34056
|
+
left: 0rem;
|
|
34055
34057
|
}
|
|
34056
34058
|
.top-1\@lg {
|
|
34057
34059
|
top: 0.25rem;
|
|
@@ -34366,7 +34368,7 @@ code {
|
|
|
34366
34368
|
bottom: 0rem;
|
|
34367
34369
|
}
|
|
34368
34370
|
.left-0\@xl {
|
|
34369
|
-
left:
|
|
34371
|
+
left: 0rem;
|
|
34370
34372
|
}
|
|
34371
34373
|
.top-1\@xl {
|
|
34372
34374
|
top: 0.25rem;
|
|
@@ -34681,7 +34683,7 @@ code {
|
|
|
34681
34683
|
bottom: 0rem;
|
|
34682
34684
|
}
|
|
34683
34685
|
.left-0\@2xl {
|
|
34684
|
-
left:
|
|
34686
|
+
left: 0rem;
|
|
34685
34687
|
}
|
|
34686
34688
|
.top-1\@2xl {
|
|
34687
34689
|
top: 0.25rem;
|