@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.
Files changed (54) hide show
  1. package/dist/nuvoui.css +1 -0
  2. package/package.json +14 -7
  3. package/src/styles/base/_base.scss +26 -2
  4. package/src/styles/base/_reset.scss +5 -2
  5. package/src/styles/index.scss +6 -11
  6. package/src/styles/layouts/_container.scss +1 -0
  7. package/src/styles/layouts/_flex.scss +26 -7
  8. package/src/styles/layouts/_grid.scss +6 -8
  9. package/src/styles/mixins-map.scss +1175 -0
  10. package/src/styles/themes/_theme.scss +1 -2
  11. package/src/styles/utilities/_animations.scss +10 -64
  12. package/src/styles/utilities/_borders.scss +36 -0
  13. package/src/styles/utilities/_colors.scss +23 -19
  14. package/src/styles/utilities/_display.scss +13 -15
  15. package/src/styles/utilities/{_responsive.scss → _media-queries.scss} +16 -53
  16. package/src/styles/utilities/_opacity.scss +20 -0
  17. package/src/styles/utilities/_position.scss +49 -40
  18. package/src/styles/utilities/_shadows.scss +4 -5
  19. package/src/styles/utilities/_sizing.scss +73 -0
  20. package/src/styles/utilities/_spacing.scss +76 -63
  21. package/src/styles/utilities/_tooltips.scss +20 -33
  22. package/src/styles/utilities/_typography.scss +1 -0
  23. package/src/styles/utilities/_variables.scss +30 -23
  24. package/dist/dark.css +0 -1
  25. package/dist/index.css +0 -1
  26. package/dist/index.css.map +0 -1
  27. package/dist/index.html +0 -15
  28. package/dist/light.css +0 -1
  29. package/dist/main.css +0 -1
  30. package/dist/main.js +0 -1
  31. package/src/js/main.js +0 -1
  32. package/src/logo.png +0 -0
  33. package/src/logo.svg +0 -12
  34. package/src/styles/_global.scss +0 -3
  35. package/src/styles/components/_alert.scss +0 -0
  36. package/src/styles/components/_avatar.scss +0 -0
  37. package/src/styles/components/_badge.scss +0 -0
  38. package/src/styles/components/_breadcrumb.scss +0 -0
  39. package/src/styles/components/_button.scss +0 -247
  40. package/src/styles/components/_calendar.scss +0 -0
  41. package/src/styles/components/_card.scss +0 -0
  42. package/src/styles/components/_checkbox.scss +0 -23
  43. package/src/styles/components/_dropdown.scss +0 -0
  44. package/src/styles/components/_form.scss +0 -157
  45. package/src/styles/components/_modal.scss +0 -0
  46. package/src/styles/components/_navbar.scss +0 -141
  47. package/src/styles/components/_pagination.scss +0 -0
  48. package/src/styles/components/_progress.scss +0 -0
  49. package/src/styles/components/_radio.scss +0 -0
  50. package/src/styles/components/_sidebar.scss +0 -0
  51. package/src/styles/components/_table.scss +0 -0
  52. package/src/styles/components/_tabs.scss +0 -0
  53. package/src/styles/components/_tooltip.scss +0 -0
  54. 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": "0.3.1",
3
+ "version": "1.1.2",
4
4
  "description": "NuvoUI Core SCSS Library",
5
- "main": "dist/index.css",
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
- "dev": "vite",
13
- "build": "vite build && npm run build:scss",
14
- "build:scss": "sass src/styles/index.scss:dist/index.css --style compressed",
15
- "prepare": "npm run build",
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
- "vite": "^5.4.11"
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
- // Import variables
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
- text-rendering: optimizeSpeed;
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 0px #60b0cd; /* Change this to your preferred color and width */
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
@@ -1,6 +1,5 @@
1
- // Forward all modules for external use
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/hamburger';
13
+ @forward 'utilities/opacity';
14
14
  @forward 'utilities/position';
15
- @forward 'utilities/responsive';
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
- // Components
32
- @forward 'components/button';
33
- @forward 'components/navbar';
34
- @forward 'components/form';
35
-
36
- // Local usage
37
- @use './global' as *;
32
+ @forward './mixins-map';
@@ -12,6 +12,7 @@
12
12
 
13
13
  @mixin container {
14
14
  @include container-base;
15
+
15
16
  & {
16
17
  @each $breakpoint, $width in $container-max-widths {
17
18
  @media (min-width: map.get($breakpoints, $breakpoint)) {
@@ -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} { flex: 1 1 auto; }
125
- & > .w-full\@#{$breakpoint} { flex: 0 0 100%; }
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.#{$breakpoint}\:cols-#{$i} {
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
- .#{$breakpoint}\:col-span-#{$i} {
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 $column-widths {
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
- .#{$breakpoint}\:justify-items-#{$name} {
134
+ .justify-items-#{$name}\@#{$breakpoint} {
137
135
  justify-items: $value;
138
136
  }
139
- .#{$breakpoint}\:align-items-#{$name} {
137
+ .align-items-#{$name}\@#{$breakpoint} {
140
138
  align-items: $value;
141
139
  }
142
- .#{$breakpoint}\:place-items-#{$name} {
140
+ .place-items-#{$name}\@#{$breakpoint} {
143
141
  place-items: $value;
144
142
  }
145
143
  }