@nuvoui/core 1.2.7 → 1.3.1
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 +3252 -2709
- 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 +3 -3
- package/src/styles/abstracts/_config.scss +36 -8
- package/src/styles/abstracts/_functions.scss +16 -5
- package/src/styles/base/_base.scss +2 -2
- package/src/styles/base/_reset.scss +0 -2
- package/src/styles/build.scss +3 -0
- package/src/styles/layouts/_container.scss +8 -1
- package/src/styles/layouts/_flex.scss +230 -292
- package/src/styles/layouts/_grid.scss +66 -73
- package/src/styles/mixins-map.json +1 -0
- package/src/styles/mixins-map.scss +1 -1
- package/src/styles/themes/_theme.scss +10 -10
- package/src/styles/utilities/_alignment.scss +2 -1
- package/src/styles/utilities/_animations.scss +20 -32
- package/src/styles/utilities/_backdrop-filters.scss +12 -16
- package/src/styles/utilities/_borders.scss +3 -5
- package/src/styles/utilities/_container-queries.scss +17 -21
- package/src/styles/utilities/_cursor.scss +2 -1
- package/src/styles/utilities/_display.scss +18 -39
- package/src/styles/utilities/_helpers.scss +1 -0
- package/src/styles/utilities/_media-queries.scss +3 -5
- package/src/styles/utilities/_opacity.scss +52 -67
- package/src/styles/utilities/_position.scss +104 -132
- package/src/styles/utilities/_shadows.scss +9 -14
- package/src/styles/utilities/_sizing.scss +1 -1
- package/src/styles/utilities/_spacing.scss +143 -205
- package/src/styles/utilities/_tooltips.scss +203 -200
- package/src/styles/utilities/_transforms.scss +32 -13
- package/src/styles/utilities/_transitions.scss +8 -10
- package/src/styles/utilities/_typography.scss +17 -22
- package/src/styles/utilities/_z-index.scss +12 -19
|
@@ -88,10 +88,8 @@ $border-styles: (solid, dashed, dotted, double, none);
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
* @param {String} $val - The border radius value
|
|
94
|
-
*/
|
|
91
|
+
// @description Applies border radius to all corners
|
|
92
|
+
// @param {String} $val - The border radius value
|
|
95
93
|
@mixin rounded($val: null) {
|
|
96
94
|
border-radius: get-rounded-value($val);
|
|
97
95
|
}
|
|
@@ -167,7 +165,7 @@ $border-styles: (solid, dashed, dotted, double, none);
|
|
|
167
165
|
// -----------------------------------------------
|
|
168
166
|
// UTILITY CLASSES
|
|
169
167
|
// -----------------------------------------------
|
|
170
|
-
@if
|
|
168
|
+
@if FN.feature-enabled("borders") {
|
|
171
169
|
// Basic border classes (all sides)
|
|
172
170
|
.border {
|
|
173
171
|
@include border(1);
|
|
@@ -3,23 +3,19 @@
|
|
|
3
3
|
@use "../abstracts/config" as VAR;
|
|
4
4
|
@use "../abstracts/functions" as FN;
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* // Styles for 'md' and up within 'sidebar' container
|
|
18
|
-
* }
|
|
19
|
-
* }
|
|
20
|
-
*/
|
|
6
|
+
// Container Query Mixins
|
|
7
|
+
// Usage:
|
|
8
|
+
// .container {
|
|
9
|
+
// container-type: inline-size;
|
|
10
|
+
// container-name: sidebar;
|
|
11
|
+
// }
|
|
12
|
+
// .item {
|
|
13
|
+
// @include container-up('md', 'sidebar') {
|
|
14
|
+
// // Styles for 'md' and up within 'sidebar' container
|
|
15
|
+
// }
|
|
16
|
+
// }
|
|
21
17
|
|
|
22
|
-
|
|
18
|
+
// /Container Query: Up
|
|
23
19
|
@mixin container-up($breakpoint, $containerName: null) {
|
|
24
20
|
$bp-val: FN.get-breakpoint-value($breakpoint);
|
|
25
21
|
@container #{$containerName} (min-width: #{$bp-val}) {
|
|
@@ -27,7 +23,7 @@
|
|
|
27
23
|
}
|
|
28
24
|
}
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
// /Container Query: Down
|
|
31
27
|
@mixin container-down($breakpoint, $containerName: null) {
|
|
32
28
|
$bp-val: FN.get-breakpoint-value($breakpoint);
|
|
33
29
|
@container #{$containerName} (max-width: (#{ $bp-val } - 0.02px)) {
|
|
@@ -35,7 +31,7 @@
|
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
33
|
|
|
38
|
-
|
|
34
|
+
// /Container Query: Between
|
|
39
35
|
@mixin container-between($lower, $upper, $containerName: null) {
|
|
40
36
|
$min: FN.get-breakpoint-value($lower);
|
|
41
37
|
$max: FN.get-breakpoint-value($upper);
|
|
@@ -44,7 +40,7 @@
|
|
|
44
40
|
}
|
|
45
41
|
}
|
|
46
42
|
|
|
47
|
-
|
|
43
|
+
// /Container Query: Only
|
|
48
44
|
@mixin container-only($breakpoint, $containerName: null) {
|
|
49
45
|
$min: FN.get-breakpoint-value($breakpoint);
|
|
50
46
|
$next-breakpoint: null;
|
|
@@ -66,7 +62,7 @@
|
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
64
|
|
|
69
|
-
|
|
65
|
+
// /Container Query: Query by Size
|
|
70
66
|
@mixin container-query($size, $containerName: null) {
|
|
71
67
|
@container #{$containerName} (min-width: $size) {
|
|
72
68
|
@content;
|
|
@@ -81,7 +77,7 @@
|
|
|
81
77
|
container-name: $name;
|
|
82
78
|
}
|
|
83
79
|
|
|
84
|
-
@if
|
|
80
|
+
@if FN.feature-enabled("container-queries") {
|
|
85
81
|
// Utility classes
|
|
86
82
|
#{VAR.$parent-selector} .container-inline-size {
|
|
87
83
|
container-type: inline-size;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
@use "../abstracts/config" as VAR;
|
|
2
|
+
@use "../abstracts/functions" as FN;
|
|
2
3
|
|
|
3
4
|
@mixin cursor($cursor-value) {
|
|
4
5
|
cursor: #{$cursor-value};
|
|
5
6
|
}
|
|
6
7
|
|
|
7
|
-
@if
|
|
8
|
+
@if FN.feature-enabled("cursors") {
|
|
8
9
|
$cursor-values: ("auto", "pointer", "default", "move", "not-allowed", "wait", "help", "text", "cell", "crosshair", "grabbing", "grab", "zoom-in", "zoom-out", "none", "progress", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "context-menu", "all-scroll");
|
|
9
10
|
|
|
10
11
|
// Generate classes for each cursor value
|
|
@@ -4,73 +4,53 @@
|
|
|
4
4
|
@use "../abstracts/config" as VAR;
|
|
5
5
|
@use "../abstracts/functions" as FN;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*
|
|
16
|
-
* All utilities support responsive variants with @breakpoint suffix:
|
|
17
|
-
* - .hide@md, .block@lg, etc.
|
|
18
|
-
*/
|
|
7
|
+
// Display Utilities
|
|
8
|
+
// Classes:
|
|
9
|
+
// - .hide, .show: Control element visibility
|
|
10
|
+
// - .block, .inline, .inline-block: Basic display modes
|
|
11
|
+
// - .d-tbl, .d-tbl-row, .d-tbl-cell: Table display modes
|
|
12
|
+
// - .overflow-hidden: Control overflow behavior
|
|
13
|
+
// All utilities support responsive variants with @breakpoint suffix:
|
|
14
|
+
// - .hide@md, .block@lg, etc.
|
|
19
15
|
|
|
20
16
|
// Display Mixins
|
|
21
17
|
|
|
22
|
-
|
|
23
|
-
* @description Set display to none.
|
|
24
|
-
*/
|
|
18
|
+
// @description Set display to none.
|
|
25
19
|
@mixin hide {
|
|
26
20
|
display: none;
|
|
27
21
|
}
|
|
28
22
|
|
|
29
|
-
|
|
30
|
-
* @description Set display to block.
|
|
31
|
-
*/
|
|
23
|
+
// @description Set display to block.
|
|
32
24
|
@mixin block {
|
|
33
25
|
display: block;
|
|
34
26
|
}
|
|
35
27
|
|
|
36
|
-
|
|
37
|
-
* @description Set display to inline.
|
|
38
|
-
*/
|
|
28
|
+
// @description Set display to inline.
|
|
39
29
|
@mixin inline {
|
|
40
30
|
display: inline;
|
|
41
31
|
}
|
|
42
32
|
|
|
43
|
-
|
|
44
|
-
* @description Set display to inline-block.
|
|
45
|
-
*/
|
|
33
|
+
// @description Set display to inline-block.
|
|
46
34
|
@mixin inline-block {
|
|
47
35
|
display: inline-block;
|
|
48
36
|
}
|
|
49
37
|
|
|
50
|
-
|
|
51
|
-
* @description Set display to initial original state.
|
|
52
|
-
*/
|
|
38
|
+
// @description Set display to initial original state.
|
|
53
39
|
@mixin show {
|
|
54
|
-
display:
|
|
40
|
+
display: initial;
|
|
55
41
|
}
|
|
56
42
|
|
|
57
|
-
|
|
58
|
-
* @description Set display to table.
|
|
59
|
-
*/
|
|
43
|
+
// @description Set display to table.
|
|
60
44
|
@mixin d-tbl {
|
|
61
45
|
display: table;
|
|
62
46
|
}
|
|
63
47
|
|
|
64
|
-
|
|
65
|
-
* @description Set display to table-row.
|
|
66
|
-
*/
|
|
48
|
+
// @description Set display to table-row.
|
|
67
49
|
@mixin d-tbl-row {
|
|
68
50
|
display: table-row;
|
|
69
51
|
}
|
|
70
52
|
|
|
71
|
-
|
|
72
|
-
* @description Set display to table-cell.
|
|
73
|
-
*/
|
|
53
|
+
// @description Set display to table-cell.
|
|
74
54
|
@mixin d-tbl-cell {
|
|
75
55
|
display: table-cell;
|
|
76
56
|
}
|
|
@@ -119,8 +99,7 @@
|
|
|
119
99
|
overflow-y: auto;
|
|
120
100
|
}
|
|
121
101
|
|
|
122
|
-
@if
|
|
123
|
-
// Base Classes
|
|
102
|
+
@if FN.feature-enabled("displays") {
|
|
124
103
|
#{VAR.$parent-selector} .hide {
|
|
125
104
|
@include hide;
|
|
126
105
|
}
|
|
@@ -8,11 +8,9 @@
|
|
|
8
8
|
@use "../abstracts/config" as VAR;
|
|
9
9
|
@use "../abstracts/functions" as FN;
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* @param {string} $type - The media query type (e.g. 'lg', 'md').
|
|
15
|
-
*/
|
|
11
|
+
// @description Media query mixins.
|
|
12
|
+
// @param {string|number} $breakpoint - The breakpoint value.
|
|
13
|
+
// @param {string} $type - The media query type (e.g. 'lg', 'md').
|
|
16
14
|
@mixin media-up($breakpoint, $debug: null) {
|
|
17
15
|
$blueprint-value: FN.fix-units(FN.get-breakpoint-value($breakpoint, $debug));
|
|
18
16
|
$val: $blueprint-value - 0.01;
|
|
@@ -4,79 +4,64 @@
|
|
|
4
4
|
@use "sass:math";
|
|
5
5
|
@use "sass:meta";
|
|
6
6
|
@use "../abstracts/config" as VAR;
|
|
7
|
+
@use "../abstracts/functions" as FN;
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
* Animation:
|
|
59
|
-
* - transition-opacity: Adds smooth transition when opacity changes
|
|
60
|
-
*
|
|
61
|
-
* @responsive
|
|
62
|
-
* All opacity classes support responsive variants using @breakpoint suffix:
|
|
63
|
-
* - opacity-50@sm: 50% opacity on small screens and up
|
|
64
|
-
* - hover:opacity-100@md: Full opacity on hover for medium screens and up
|
|
65
|
-
*
|
|
66
|
-
* Available breakpoints: xs, sm, md, lg, xl, xxl
|
|
67
|
-
*
|
|
68
|
-
* @customization
|
|
69
|
-
* Opacity values are defined in the $percentages variable
|
|
70
|
-
* Transition timing can be customized via CSS variables
|
|
71
|
-
*
|
|
72
|
-
* @see transitions
|
|
73
|
-
*/
|
|
9
|
+
// @component Opacity
|
|
10
|
+
// @description Controls element transparency with customizable opacity values and interactive states
|
|
11
|
+
// @example
|
|
12
|
+
// <!-- Basic opacity -->
|
|
13
|
+
// <div class="opacity-50">This element has 50% opacity</div>
|
|
14
|
+
// <!-- Responsive opacity -->
|
|
15
|
+
// <div class="opacity-100 opacity-50@md">
|
|
16
|
+
// 100% opacity by default, 50% on medium screens and up
|
|
17
|
+
// </div>
|
|
18
|
+
// <!-- Interactive states -->
|
|
19
|
+
// <div class="opacity-50 hover:opacity-100">
|
|
20
|
+
// 50% opacity, becomes fully visible on hover
|
|
21
|
+
// </div>
|
|
22
|
+
// <button class="opacity-70 focus:opacity-100">
|
|
23
|
+
// 70% opacity, fully visible when focused
|
|
24
|
+
// </button>
|
|
25
|
+
// <div class="opacity-75 active:opacity-100">
|
|
26
|
+
// 75% opacity, fully visible when clicked/active
|
|
27
|
+
// </div>
|
|
28
|
+
// <!-- Group hover effect -->
|
|
29
|
+
// <div class="group">
|
|
30
|
+
// <h3>Parent element with "group" class</h3>
|
|
31
|
+
// <div class="opacity-0 group-hover:opacity-100">
|
|
32
|
+
// Hidden by default, visible when parent is hovered
|
|
33
|
+
// </div>
|
|
34
|
+
// </div>
|
|
35
|
+
// <!-- With transition -->
|
|
36
|
+
// <div class="opacity-50 hover:opacity-100 transition-opacity">
|
|
37
|
+
// Smooth opacity transition on hover
|
|
38
|
+
// </div>
|
|
39
|
+
// @classes
|
|
40
|
+
// Base:
|
|
41
|
+
// - opacity-{value}: Sets element opacity (0-100%)
|
|
42
|
+
// Values: 0, 5, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 100
|
|
43
|
+
// Interactive States:
|
|
44
|
+
// - hover:opacity-{value}: Changes opacity on mouse hover
|
|
45
|
+
// - focus:opacity-{value}: Changes opacity when element receives focus
|
|
46
|
+
// - active:opacity-{value}: Changes opacity when element is active/pressed
|
|
47
|
+
// - group-hover:opacity-{value}: Changes opacity when parent with .group class is hovered
|
|
48
|
+
// Animation:
|
|
49
|
+
// - transition-opacity: Adds smooth transition when opacity changes
|
|
50
|
+
// @responsive
|
|
51
|
+
// All opacity classes support responsive variants using @breakpoint suffix:
|
|
52
|
+
// - opacity-50@sm: 50% opacity on small screens and up
|
|
53
|
+
// - hover:opacity-100@md: Full opacity on hover for medium screens and up
|
|
54
|
+
// Available breakpoints: xs, sm, md, lg, xl, xxl
|
|
55
|
+
// @customization
|
|
56
|
+
// Opacity values are defined in the $percentages variable
|
|
57
|
+
// Transition timing can be customized via CSS variables
|
|
58
|
+
// @see transitions
|
|
74
59
|
|
|
75
60
|
@mixin opacity($value) {
|
|
76
61
|
opacity: calc(#{$value} / 100);
|
|
77
62
|
}
|
|
78
63
|
|
|
79
|
-
@if
|
|
64
|
+
@if FN.feature-enabled("opacity") {
|
|
80
65
|
// Opacity Utilities
|
|
81
66
|
@each $i in VAR.$percentages {
|
|
82
67
|
#{VAR.$parent-selector} .opacity-#{$i},
|