@nuvoui/core 1.1.7 → 1.2.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.
- package/README.md +90 -35
- package/dist/nuvoui.css +28531 -0
- package/dist/nuvoui.css.map +1 -0
- package/dist/nuvoui.min.css +2 -1
- package/dist/nuvoui.min.css.map +1 -0
- package/package.json +48 -27
- package/src/styles/abstracts/_config.scss +157 -0
- package/src/styles/abstracts/_functions.scss +81 -0
- package/src/styles/abstracts/_index.scss +2 -0
- package/src/styles/base/_base.scss +2 -2
- package/src/styles/base/_index.scss +2 -0
- package/src/styles/base/_reset.scss +8 -6
- package/src/styles/index.scss +11 -28
- package/src/styles/layouts/_container.scss +14 -22
- package/src/styles/layouts/_flex.scss +60 -18
- package/src/styles/layouts/_grid.scss +36 -28
- package/src/styles/layouts/_index.scss +3 -0
- package/src/styles/mixins-map.scss +877 -1225
- package/src/styles/themes/_index.scss +1 -0
- package/src/styles/themes/_theme.scss +175 -57
- package/src/styles/utilities/_alignment.scss +20 -0
- package/src/styles/utilities/_animations.scss +65 -61
- package/src/styles/utilities/_borders.scss +280 -16
- package/src/styles/utilities/_colors.scss +68 -49
- package/src/styles/utilities/_container-queries.scss +46 -7
- package/src/styles/utilities/_display.scss +57 -3
- package/src/styles/utilities/_helpers.scss +110 -108
- package/src/styles/utilities/_index.scss +19 -0
- package/src/styles/utilities/_media-queries.scss +54 -19
- package/src/styles/utilities/_opacity.scss +110 -8
- package/src/styles/utilities/_position.scss +177 -71
- package/src/styles/utilities/_shadows.scss +194 -67
- package/src/styles/utilities/_sizing.scss +62 -57
- package/src/styles/utilities/_spacing.scss +331 -64
- package/src/styles/utilities/_tooltips.scss +153 -105
- package/src/styles/utilities/_transitions.scss +152 -0
- package/src/styles/utilities/_typography.scss +113 -89
- package/src/styles/utilities/_functions.scss +0 -84
- package/src/styles/utilities/_variables.scss +0 -98
package/README.md
CHANGED
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
[](https://github.com/NuvoUI/core)
|
|
4
4
|
[](https://github.com/NuvoUI/core)
|
|
5
5
|
[](https://www.npmjs.com/package/@nuvoui/core)
|
|
6
|
-
[](https://discord.gg/nWGsbQKE)
|
|
6
|
+
[](https://discord.gg/nWGsbQKE)
|
|
7
7
|
|
|
8
8
|
## Welcome to NuvoUI 🎉
|
|
9
9
|
|
|
10
10
|
NuvoUI is a modern, human-friendly SCSS framework designed for developers who value simplicity, flexibility, and performance. Whether you're a seasoned CSS wizard or just getting started, NuvoUI makes building responsive, performant, and visually stunning web designs a breeze.
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
## Why Choose NuvoUI?
|
|
14
13
|
|
|
15
14
|
✨ **Natural Language-Like Syntax**
|
|
@@ -21,14 +20,20 @@ Seamlessly integrate NuvoUI into your SCSS pipeline. Write reusable, modular, an
|
|
|
21
20
|
🚀 **Optimized Animations**
|
|
22
21
|
Define animations on the fly. NuvoUI caches animations intelligently, ensuring your code stays DRY (Don't Repeat Yourself).
|
|
23
22
|
|
|
23
|
+
🌓 **Built-in Dark Mode**
|
|
24
|
+
Implement dark mode effortlessly with our built-in theme switching support. Just add `data-theme="dark"` to your HTML element.
|
|
24
25
|
|
|
26
|
+
📱 **Container and Element Queries**
|
|
27
|
+
Build truly component-based designs with container queries alongside traditional media queries.
|
|
25
28
|
|
|
26
29
|
## Key Features
|
|
27
30
|
|
|
28
|
-
- **Dynamic Responsive Design**: Use `@lg`, `@sm`, etc., to generate responsive styles with ease
|
|
29
|
-
- **Flexible Animations**: Create complex animations with simple mixins like `@include NuvoUI.animate-bounce((horizontal: 3%, duration: 25s))
|
|
30
|
-
- **
|
|
31
|
-
- **
|
|
31
|
+
- **Dynamic Responsive Design**: Use `@lg`, `@sm`, etc., to generate responsive styles with ease
|
|
32
|
+
- **Flexible Animations**: Create complex animations with simple mixins like `@include NuvoUI.animate-bounce((horizontal: 3%, duration: 25s))`
|
|
33
|
+
- **Smart Utilities**: Comprehensive set of utilities for spacing, typography, colors, and more
|
|
34
|
+
- **Developer-First Approach**: Built by developers for developers, offering the flexibility to build custom solutions effortlessly
|
|
35
|
+
- **Zero Dependencies**: Lightweight with no external dependencies
|
|
36
|
+
- **Simple Installation**: Get started with a single command via npm
|
|
32
37
|
|
|
33
38
|
---
|
|
34
39
|
|
|
@@ -36,53 +41,83 @@ Define animations on the fly. NuvoUI caches animations intelligently, ensuring y
|
|
|
36
41
|
|
|
37
42
|
To start using NuvoUI, install it via npm or pnpm:
|
|
38
43
|
|
|
39
|
-
```
|
|
40
|
-
npm
|
|
41
|
-
|
|
44
|
+
```css
|
|
45
|
+
npm install @nuvoui/core
|
|
46
|
+
# or
|
|
42
47
|
pnpm install @nuvoui/core
|
|
43
48
|
```
|
|
44
49
|
|
|
50
|
+
## Quick Start
|
|
51
|
+
|
|
52
|
+
### Option 1: Import in SCSS (Recommended)
|
|
53
|
+
|
|
54
|
+
```scss
|
|
55
|
+
// Import with default configuration
|
|
56
|
+
@use '@nuvoui/core' as NuvoUI;
|
|
57
|
+
|
|
58
|
+
// Or customize with your own variables
|
|
59
|
+
@use '@nuvoui/core' as NuvoUI with (
|
|
60
|
+
$primary: #ff6f00,
|
|
61
|
+
$column-count: 12,
|
|
62
|
+
$enable-dark-mode: true,
|
|
63
|
+
// Add more customizations as needed
|
|
64
|
+
);
|
|
65
|
+
```
|
|
66
|
+
### Option 2: Use Pre-compiled CSS
|
|
45
67
|
|
|
68
|
+
<link rel="stylesheet" href="node_modules/@nuvoui/core/dist/nuvoui.min.css">
|
|
46
69
|
|
|
47
70
|
## Usage Examples
|
|
48
71
|
|
|
49
72
|
### Example 1: Intuitive HTML Classes
|
|
50
73
|
|
|
51
74
|
```html
|
|
52
|
-
<div class="
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
">
|
|
57
|
-
Responsive Padding Example
|
|
75
|
+
<div class="flex col gap-4 px-20 px-10@sm px-40@lg rounded-lg bg-primary text-white">
|
|
76
|
+
<h2 class="font-bold text-xl">Responsive Layout Example</h2>
|
|
77
|
+
<p>This container adapts to different screen sizes automatically.</p>
|
|
78
|
+
<button class="btn">Click Me</button>
|
|
58
79
|
</div>
|
|
59
80
|
```
|
|
60
81
|
|
|
61
82
|
### Example 2: Elegant SCSS Mixins
|
|
62
83
|
|
|
63
84
|
```scss
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
85
|
+
.hero-image {
|
|
86
|
+
@include NuvoUI.mx-auto;
|
|
87
|
+
@include NuvoUI.my(40);
|
|
88
|
+
@include NuvoUI.rounded(8);
|
|
89
|
+
@include NuvoUI.shadow-lg;
|
|
90
|
+
|
|
91
|
+
// Add custom animation
|
|
92
|
+
@include NuvoUI.animate-bounce((
|
|
93
|
+
horizontal: 3%,
|
|
94
|
+
duration: 25s,
|
|
95
|
+
));
|
|
96
|
+
|
|
97
|
+
// Responsive behavior
|
|
98
|
+
@include NuvoUI.media-up(lg) {
|
|
99
|
+
@include NuvoUI.max-width(80%);
|
|
100
|
+
}
|
|
71
101
|
}
|
|
72
|
-
```
|
|
73
102
|
|
|
74
|
-
Generated CSS:
|
|
75
|
-
|
|
76
|
-
```css
|
|
77
|
-
img:nth-child(1) {
|
|
103
|
+
// Generated CSS:
|
|
104
|
+
.hero-image {
|
|
78
105
|
margin-left: auto;
|
|
79
106
|
margin-right: auto;
|
|
80
107
|
margin-top: 40px !important;
|
|
81
108
|
margin-bottom: 40px !important;
|
|
82
|
-
|
|
109
|
+
border-radius: 8px;
|
|
110
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
111
|
+
animation: anim-bounce-0p-3per 25s ease-in-out infinite;
|
|
83
112
|
}
|
|
84
113
|
|
|
85
|
-
@
|
|
114
|
+
@media (min-width: 1024px) {
|
|
115
|
+
.hero-image {
|
|
116
|
+
max-width: 80%;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@keyframes anim-bounce-0p-3per {
|
|
86
121
|
0% {
|
|
87
122
|
transform: translateX(-0%) translateY(-3%);
|
|
88
123
|
}
|
|
@@ -95,22 +130,42 @@ img:nth-child(1) {
|
|
|
95
130
|
}
|
|
96
131
|
```
|
|
97
132
|
|
|
133
|
+
### Example 3: Dark Mode Support
|
|
98
134
|
|
|
135
|
+
```html
|
|
136
|
+
<html data-theme="light">
|
|
137
|
+
<head><!-- ... --></head>
|
|
138
|
+
<body>
|
|
139
|
+
<button onclick="document.documentElement.setAttribute('data-theme',
|
|
140
|
+
document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark')">
|
|
141
|
+
Toggle Dark Mode
|
|
142
|
+
</button>
|
|
143
|
+
|
|
144
|
+
<div class="card bg-surface text-on-surface">
|
|
145
|
+
<!-- Content automatically adapts to light/dark mode -->
|
|
146
|
+
</div>
|
|
147
|
+
</body>
|
|
148
|
+
</html>
|
|
149
|
+
```
|
|
99
150
|
|
|
100
|
-
##
|
|
151
|
+
## Documentation
|
|
152
|
+
|
|
153
|
+
For complete documentation and examples, visit [NuvoUI.io](https://nuvoui.io/).
|
|
101
154
|
|
|
102
|
-
|
|
155
|
+
## Join the NuvoUI Community 🌟
|
|
103
156
|
|
|
104
|
-
|
|
105
|
-
- NPM: [NuvoUI Core Package](https://www.npmjs.com/package/@nuvoui/core)
|
|
106
|
-
- DISOCRD: [NuvoUI Discord](https://discord.gg/nWGsbQKE)
|
|
157
|
+
We welcome developers of all levels to contribute, suggest features, or just give us a star ⭐️ on GitHub. Let's build something amazing together!
|
|
107
158
|
|
|
159
|
+
- **GitHub**: [NuvoUI Core](https://github.com/NuvoUI/core)
|
|
160
|
+
- **NPM**: [NuvoUI Core Package](https://www.npmjs.com/package/@nuvoui/core)
|
|
161
|
+
- **Discord**: [NuvoUI Community](https://discord.gg/nWGsbQKE)
|
|
162
|
+
- **Twitter**: [@NuvoUI](https://twitter.com/nuvoui)
|
|
108
163
|
|
|
109
164
|
## License
|
|
110
165
|
|
|
111
|
-
|
|
112
166
|
NuvoUI is open-source and licensed under the [MIT License](https://github.com/NuvoUI/core/blob/main/LICENSE).
|
|
113
167
|
|
|
114
168
|
Feel free to use NuvoUI in your projects—commercial or personal. Just don't forget to give us a shoutout when possible!
|
|
115
169
|
|
|
170
|
+

|
|
116
171
|

|