@nuvoui/core 0.3.1 → 1.1.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.
- package/dist/nuvoui.css +1 -0
- package/package.json +14 -7
- package/src/styles/base/_base.scss +26 -2
- package/src/styles/base/_reset.scss +5 -2
- package/src/styles/index.scss +6 -11
- package/src/styles/layouts/_container.scss +1 -0
- package/src/styles/layouts/_flex.scss +26 -7
- package/src/styles/layouts/_grid.scss +6 -8
- package/src/styles/mixins-map.scss +1175 -0
- package/src/styles/themes/_theme.scss +1 -2
- package/src/styles/utilities/_animations.scss +10 -64
- package/src/styles/utilities/_borders.scss +36 -0
- package/src/styles/utilities/_colors.scss +23 -19
- package/src/styles/utilities/_display.scss +13 -15
- package/src/styles/utilities/{_responsive.scss → _media-queries.scss} +16 -53
- package/src/styles/utilities/_opacity.scss +20 -0
- package/src/styles/utilities/_position.scss +49 -40
- package/src/styles/utilities/_shadows.scss +4 -5
- package/src/styles/utilities/_sizing.scss +73 -0
- package/src/styles/utilities/_spacing.scss +76 -63
- package/src/styles/utilities/_tooltips.scss +20 -33
- package/src/styles/utilities/_typography.scss +1 -0
- package/src/styles/utilities/_variables.scss +30 -23
- package/dist/dark.css +0 -1
- package/dist/index.css +0 -1
- package/dist/index.css.map +0 -1
- package/dist/index.html +0 -15
- package/dist/light.css +0 -1
- package/dist/main.css +0 -1
- package/dist/main.js +0 -1
- package/src/js/main.js +0 -1
- package/src/logo.png +0 -0
- package/src/logo.svg +0 -12
- package/src/styles/_global.scss +0 -3
- package/src/styles/components/_alert.scss +0 -0
- package/src/styles/components/_avatar.scss +0 -0
- package/src/styles/components/_badge.scss +0 -0
- package/src/styles/components/_breadcrumb.scss +0 -0
- package/src/styles/components/_button.scss +0 -247
- package/src/styles/components/_calendar.scss +0 -0
- package/src/styles/components/_card.scss +0 -0
- package/src/styles/components/_checkbox.scss +0 -23
- package/src/styles/components/_dropdown.scss +0 -0
- package/src/styles/components/_form.scss +0 -157
- package/src/styles/components/_modal.scss +0 -0
- package/src/styles/components/_navbar.scss +0 -141
- package/src/styles/components/_pagination.scss +0 -0
- package/src/styles/components/_progress.scss +0 -0
- package/src/styles/components/_radio.scss +0 -0
- package/src/styles/components/_sidebar.scss +0 -0
- package/src/styles/components/_table.scss +0 -0
- package/src/styles/components/_tabs.scss +0 -0
- package/src/styles/components/_tooltip.scss +0 -0
- package/src/styles/utilities/_hamburger.scss +0 -74
package/package.json
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuvoui/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "NuvoUI Core SCSS Library",
|
|
5
|
-
"main": "dist/
|
|
5
|
+
"main": "dist/nuvoui.css",
|
|
6
6
|
"module": "src/styles/index.scss",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
9
9
|
"src"
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"build
|
|
15
|
-
"
|
|
12
|
+
"build": "vite build",
|
|
13
|
+
"docs:dev": "vite --config vite.config.docs.mjs",
|
|
14
|
+
"docs:build": "vite build --config vite.config.docs.mjs",
|
|
15
|
+
"docs:preview": "vite preview --config vite.config.docs.mjs",
|
|
16
|
+
"prepare": "node build.js && npm run build",
|
|
16
17
|
"lint": "stylelint \"src/**/*.scss\"",
|
|
17
18
|
"format": "prettier --write \"src/**/*.{scss,js,json}\"",
|
|
18
19
|
"clean": "rimraf dist"
|
|
@@ -44,12 +45,18 @@
|
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"cssnano": "^7.0.6",
|
|
48
|
+
"glob": "^11.0.0",
|
|
47
49
|
"postcss": "^8.4.49",
|
|
48
50
|
"postcss-cli": "^11.0.0",
|
|
49
51
|
"postcss-import": "^16.1.0",
|
|
50
52
|
"postcss-nested": "^7.0.2",
|
|
53
|
+
"prettier": "^3.3.3",
|
|
51
54
|
"sass": "^1.81.0",
|
|
52
|
-
"
|
|
55
|
+
"stylelint": "^16.10.0",
|
|
56
|
+
"stylelint-config-standard-scss": "^13.1.0",
|
|
57
|
+
"vite": "^5.4.11",
|
|
58
|
+
"vite-plugin-html-inject": "^1.1.2",
|
|
59
|
+
"vite-plugin-static-copy": "^2.1.0"
|
|
53
60
|
},
|
|
54
61
|
"peerDependencies": {
|
|
55
62
|
"sass": "^1.x"
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/* Import variables */
|
|
4
4
|
@use '../utilities/variables' as *;
|
|
5
5
|
|
|
6
|
+
:root {
|
|
7
|
+
--font-family-base: system-ui, -apple-system, "BlinkMacSystemFont", 'Segoe UI', "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
// Base typography styles
|
|
7
11
|
html {
|
|
8
12
|
font-size: 16px;
|
|
@@ -66,4 +70,24 @@ a {
|
|
|
66
70
|
&:hover {
|
|
67
71
|
color: var(--link-hover-color);
|
|
68
72
|
}
|
|
69
|
-
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.sr-only {
|
|
76
|
+
position: absolute !important;
|
|
77
|
+
width: 1px !important;
|
|
78
|
+
height: 1px !important;
|
|
79
|
+
padding: 0 !important;
|
|
80
|
+
margin: -1px !important;
|
|
81
|
+
overflow: hidden !important;
|
|
82
|
+
clip: rect(0, 0, 0, 0) !important;
|
|
83
|
+
white-space: nowrap !important;
|
|
84
|
+
border: 0 !important;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.focus\:outline-none:focus {
|
|
88
|
+
outline: none;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.focus\:ring:focus {
|
|
92
|
+
box-shadow: 0 0 0 3px rgb(66 153 225 / 50%);
|
|
93
|
+
}
|
|
@@ -26,7 +26,8 @@ dd {
|
|
|
26
26
|
// Set core body defaults
|
|
27
27
|
body {
|
|
28
28
|
min-height: 100vh;
|
|
29
|
-
|
|
29
|
+
min-height: 100dvh;
|
|
30
|
+
text-rendering: optimizespeed;
|
|
30
31
|
line-height: 1.5;
|
|
31
32
|
-webkit-font-smoothing: antialiased;
|
|
32
33
|
-moz-osx-font-smoothing: grayscale;
|
|
@@ -50,8 +51,9 @@ textarea,
|
|
|
50
51
|
select {
|
|
51
52
|
font: inherit;
|
|
52
53
|
transition: all 0.2s ease-in-out;
|
|
54
|
+
|
|
53
55
|
&:focus {
|
|
54
|
-
box-shadow: inset 0 0 7px
|
|
56
|
+
box-shadow: inset 0 0 7px 0 #60b0cd; /* Change this to your preferred color and width */
|
|
55
57
|
outline: 2px solid #40c1bf; /* Change this to your preferred color and width */
|
|
56
58
|
}
|
|
57
59
|
}
|
|
@@ -74,6 +76,7 @@ ol {
|
|
|
74
76
|
list-style: none;
|
|
75
77
|
margin: 0;
|
|
76
78
|
padding: 0;
|
|
79
|
+
|
|
77
80
|
// Modern properties
|
|
78
81
|
padding-inline-start: 0; // Replaces padding-left
|
|
79
82
|
margin-block: 0; // Replaces margin-top/bottom
|
package/src/styles/index.scss
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/* Forward all modules for external use */
|
|
2
2
|
@forward 'utilities/variables';
|
|
3
|
-
@forward './global';
|
|
4
3
|
|
|
5
4
|
// Base styles
|
|
6
5
|
@forward 'base/reset';
|
|
@@ -8,12 +7,14 @@
|
|
|
8
7
|
|
|
9
8
|
// Utilities
|
|
10
9
|
@forward 'utilities/animations';
|
|
10
|
+
@forward 'utilities/borders';
|
|
11
11
|
@forward 'utilities/colors';
|
|
12
12
|
@forward 'utilities/display';
|
|
13
|
-
@forward 'utilities/
|
|
13
|
+
@forward 'utilities/opacity';
|
|
14
14
|
@forward 'utilities/position';
|
|
15
|
-
@forward 'utilities/
|
|
15
|
+
@forward 'utilities/media-queries';
|
|
16
16
|
@forward 'utilities/shadows';
|
|
17
|
+
@forward 'utilities/sizing';
|
|
17
18
|
@forward 'utilities/spacing';
|
|
18
19
|
@forward 'utilities/typography';
|
|
19
20
|
@forward 'utilities/tooltips';
|
|
@@ -28,10 +29,4 @@
|
|
|
28
29
|
@forward 'themes/dark';
|
|
29
30
|
@forward 'themes/theme';
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
@forward 'components/button';
|
|
33
|
-
@forward 'components/navbar';
|
|
34
|
-
@forward 'components/form';
|
|
35
|
-
|
|
36
|
-
// Local usage
|
|
37
|
-
@use './global' as *;
|
|
32
|
+
@forward './mixins-map';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@use 'sass:math';
|
|
2
2
|
@use '../utilities/variables' as *;
|
|
3
|
+
@use '../utilities/functions' as *;
|
|
3
4
|
|
|
4
5
|
// Flex Container Mixins
|
|
5
6
|
@mixin flex {display: flex;}
|
|
@@ -38,14 +39,18 @@
|
|
|
38
39
|
@mixin self-center {align-self: center;}
|
|
39
40
|
@mixin self-stretch {align-self: stretch;}
|
|
40
41
|
|
|
42
|
+
@mixin shrink {flex-shrink: 1;}
|
|
43
|
+
@mixin shrink-0 {flex-shrink: 0;}
|
|
44
|
+
@mixin shrink-2 {flex-shrink: 2;}
|
|
45
|
+
|
|
41
46
|
// Flex Child Mixins
|
|
42
|
-
@mixin w-full {flex: 0 0 100%;}
|
|
43
|
-
@mixin w-auto {flex: 1 1 auto;}
|
|
47
|
+
@mixin f-w-full {flex: 0 0 100%;}
|
|
48
|
+
@mixin f-w-auto {flex: 1 1 auto;}
|
|
44
49
|
@mixin grow { flex: 1 1 0%; }
|
|
45
50
|
@mixin no-grow { flex: none; }
|
|
46
51
|
|
|
47
52
|
@mixin w-col($size) {
|
|
48
|
-
flex: 0 0 math.percentage(math.div($size, $column-count));
|
|
53
|
+
flex: 0 0 math.percentage(math.div($size, $column-count)) !important;
|
|
49
54
|
}
|
|
50
55
|
|
|
51
56
|
// Base flex container
|
|
@@ -79,10 +84,18 @@
|
|
|
79
84
|
&.items-stretch { align-items: stretch; }
|
|
80
85
|
|
|
81
86
|
// Child flex items (using column count)
|
|
82
|
-
> .w-auto { @include w-auto }
|
|
83
|
-
> .w-full { @include w-full }
|
|
87
|
+
> .w-auto { @include f-w-auto }
|
|
88
|
+
> .w-full { @include f-w-full }
|
|
84
89
|
> .grow { @include grow; }
|
|
85
90
|
> .no-grow { @include no-grow; }
|
|
91
|
+
|
|
92
|
+
> .order-first { order: -1; }
|
|
93
|
+
> .order-last { order: 9999; }
|
|
94
|
+
> .order-none { order: 0; }
|
|
95
|
+
|
|
96
|
+
> .shrink { @include shrink; }
|
|
97
|
+
> .shrink-0 { @include shrink-0; }
|
|
98
|
+
> .shrink-2 { @include shrink-2; }
|
|
86
99
|
@for $i from 1 through $column-count {
|
|
87
100
|
> .w-#{$i} { @include w-col($i) }
|
|
88
101
|
> .order-#{$i} { order: $i; }
|
|
@@ -121,13 +134,19 @@
|
|
|
121
134
|
&.items-stretch\@#{$breakpoint} { align-items: stretch; }
|
|
122
135
|
|
|
123
136
|
// Width (using column count)
|
|
124
|
-
& > .w-auto\@#{$breakpoint} {
|
|
125
|
-
& > .w-full\@#{$breakpoint} {
|
|
137
|
+
& > .w-auto\@#{$breakpoint} { @include f-w-auto; }
|
|
138
|
+
& > .w-full\@#{$breakpoint} { @include f-w-full; }
|
|
126
139
|
& > .grow\@#{$breakpoint} { @include grow; }
|
|
127
140
|
& > .no-grow\@#{$breakpoint} { @include no-grow; }
|
|
141
|
+
& > .order-first\@#{$breakpoint} { order: -1; }
|
|
142
|
+
& > .order-last\@#{$breakpoint} { order: 9999; }
|
|
143
|
+
& > .order-none\@#{$breakpoint} { order: 0; }
|
|
128
144
|
@for $i from 1 through $column-count {
|
|
129
145
|
& > .w-#{$i}\@#{$breakpoint} { @include w-col($i) }
|
|
130
146
|
& > .order-#{$i}\@#{$breakpoint} { order: $i; }
|
|
147
|
+
& > .shrink\@#{$breakpoint} { @include shrink; }
|
|
148
|
+
& > .shrink-0\@#{$breakpoint} { @include shrink-0; }
|
|
149
|
+
& > .shrink-2\@#{$breakpoint} { @include shrink-2; }
|
|
131
150
|
}
|
|
132
151
|
}
|
|
133
152
|
}
|
|
@@ -82,15 +82,13 @@
|
|
|
82
82
|
// Responsive grid columns
|
|
83
83
|
@each $breakpoint, $width in $breakpoints {
|
|
84
84
|
@media (min-width: $width) {
|
|
85
|
-
.grid
|
|
85
|
+
.grid.cols-#{$i}#{$breakpoint} {
|
|
86
86
|
@include grid-cols($i);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
94
92
|
// Generate Column Span Classes with Responsive Variants
|
|
95
93
|
@for $i from 1 through $column-count {
|
|
96
94
|
.col-span-#{$i} {
|
|
@@ -99,7 +97,7 @@
|
|
|
99
97
|
|
|
100
98
|
@each $breakpoint, $width in $breakpoints {
|
|
101
99
|
@media (min-width: $width) {
|
|
102
|
-
|
|
100
|
+
.col-span-#{$i}\@#{$breakpoint} {
|
|
103
101
|
@include col-span($i);
|
|
104
102
|
}
|
|
105
103
|
}
|
|
@@ -108,7 +106,7 @@
|
|
|
108
106
|
|
|
109
107
|
|
|
110
108
|
// Auto-fit/fill Classes
|
|
111
|
-
@each $breakpoint, $width in $
|
|
109
|
+
@each $breakpoint, $width in $breakpoints {
|
|
112
110
|
.grid.auto-fit-#{$breakpoint} { @include grid-auto-fit($width); }
|
|
113
111
|
.grid.auto-fill-#{$breakpoint} { @include grid-auto-fill($width); }
|
|
114
112
|
}
|
|
@@ -133,13 +131,13 @@ $alignments: (
|
|
|
133
131
|
|
|
134
132
|
@each $breakpoint, $width in $breakpoints {
|
|
135
133
|
@media (min-width: $width) {
|
|
136
|
-
|
|
134
|
+
.justify-items-#{$name}\@#{$breakpoint} {
|
|
137
135
|
justify-items: $value;
|
|
138
136
|
}
|
|
139
|
-
|
|
137
|
+
.align-items-#{$name}\@#{$breakpoint} {
|
|
140
138
|
align-items: $value;
|
|
141
139
|
}
|
|
142
|
-
|
|
140
|
+
.place-items-#{$name}\@#{$breakpoint} {
|
|
143
141
|
place-items: $value;
|
|
144
142
|
}
|
|
145
143
|
}
|