@vanduo-oss/framework 1.3.9 → 1.4.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/README.md +89 -42
- package/css/components/affix.css +12 -12
- package/css/components/alerts.css +70 -70
- package/css/components/avatar.css +78 -78
- package/css/components/badges.css +67 -67
- package/css/components/breadcrumbs.css +32 -32
- package/css/components/bubble.css +40 -40
- package/css/components/button-group.css +2 -2
- package/css/components/buttons.css +157 -157
- package/css/components/cards.css +79 -79
- package/css/components/chips.css +50 -50
- package/css/components/code-snippet.css +132 -132
- package/css/components/collapsible.css +67 -67
- package/css/components/collections.css +68 -68
- package/css/components/datepicker.css +54 -54
- package/css/components/doc-search.css +96 -103
- package/css/components/doc-tabs.css +11 -11
- package/css/components/draggable.css +77 -77
- package/css/components/dropdown.css +50 -50
- package/css/components/expanding-cards.css +1 -1
- package/css/components/fab.css +61 -61
- package/css/components/flow.css +55 -55
- package/css/components/footer.css +62 -62
- package/css/components/forms.css +437 -425
- package/css/components/image-box.css +50 -54
- package/css/components/modals.css +51 -51
- package/css/components/music-player.css +150 -150
- package/css/components/navbar.css +80 -80
- package/css/components/pagination.css +51 -51
- package/css/components/preloader.css +19 -19
- package/css/components/progress.css +20 -20
- package/css/components/rating.css +19 -19
- package/css/components/ripple.css +10 -10
- package/css/components/sidenav.css +72 -72
- package/css/components/skeleton.css +17 -16
- package/css/components/spinner.css +33 -33
- package/css/components/spotlight.css +33 -33
- package/css/components/stepper.css +39 -39
- package/css/components/suggest.css +37 -37
- package/css/components/tabs.css +60 -60
- package/css/components/theme-customizer.css +154 -154
- package/css/components/timeline.css +50 -50
- package/css/components/timepicker.css +29 -29
- package/css/components/toast.css +53 -53
- package/css/components/tooltips.css +78 -78
- package/css/components/transfer.css +37 -37
- package/css/components/tree.css +28 -28
- package/css/components/waypoint.css +12 -12
- package/css/core/colors.css +640 -640
- package/css/core/grid.css +127 -132
- package/css/core/helpers.css +349 -349
- package/css/core/tokens.css +133 -67
- package/css/core/typography.css +105 -103
- package/css/effects/morph.css +21 -21
- package/css/effects/parallax.css +6 -6
- package/css/utilities/color-utilities.css +273 -273
- package/css/utilities/media.css +4 -4
- package/css/utilities/shadow.css +75 -75
- package/css/utilities/table.css +64 -64
- package/css/utilities/transitions.css +53 -41
- package/css/vanduo.css +14 -35
- package/dist/build-info.json +3 -3
- package/dist/vanduo.cjs.js +947 -307
- package/dist/vanduo.cjs.js.map +3 -3
- package/dist/vanduo.cjs.min.js +7 -7
- package/dist/vanduo.cjs.min.js.map +3 -3
- package/dist/vanduo.css +9650 -9656
- package/dist/vanduo.css.map +1 -1
- package/dist/vanduo.esm.js +947 -307
- package/dist/vanduo.esm.js.map +3 -3
- package/dist/vanduo.esm.min.js +7 -7
- package/dist/vanduo.esm.min.js.map +3 -3
- package/dist/vanduo.js +947 -307
- package/dist/vanduo.js.map +3 -3
- package/dist/vanduo.min.css +2 -2
- package/dist/vanduo.min.css.map +1 -1
- package/dist/vanduo.min.js +7 -7
- package/dist/vanduo.min.js.map +3 -3
- package/js/components/affix.js +4 -4
- package/js/components/bubble.js +3 -3
- package/js/components/code-snippet.js +129 -5
- package/js/components/collapsible.js +2 -3
- package/js/components/datepicker.js +2 -2
- package/js/components/doc-search.js +69 -11
- package/js/components/draggable.js +4 -4
- package/js/components/dropdown.js +2 -3
- package/js/components/expanding-cards.js +2 -2
- package/js/components/flow.js +2 -2
- package/js/components/font-switcher.js +23 -13
- package/js/components/glass.js +2 -2
- package/js/components/grid.js +19 -8
- package/js/components/image-box.js +51 -12
- package/js/components/lazy-load.js +81 -9
- package/js/components/modals.js +28 -12
- package/js/components/morph.js +3 -3
- package/js/components/music-player.js +13 -13
- package/js/components/navbar.js +3 -3
- package/js/components/pagination.js +2 -3
- package/js/components/parallax.js +9 -10
- package/js/components/preloader.js +15 -6
- package/js/components/rating.js +2 -2
- package/js/components/ripple.js +2 -2
- package/js/components/select.js +2 -3
- package/js/components/sidenav.js +43 -14
- package/js/components/spotlight.js +2 -2
- package/js/components/stepper.js +2 -2
- package/js/components/suggest.js +9 -3
- package/js/components/tabs.js +2 -2
- package/js/components/theme-customizer.js +155 -25
- package/js/components/theme-switcher.js +27 -16
- package/js/components/timeline.js +41 -12
- package/js/components/timepicker.js +2 -2
- package/js/components/toast.js +1 -1
- package/js/components/tooltips.js +4 -4
- package/js/components/transfer.js +2 -2
- package/js/components/tree.js +2 -2
- package/js/components/validate.js +2 -2
- package/js/components/vd-hex.js +10 -6
- package/js/components/waypoint.js +2 -2
- package/js/utils/helpers.js +7 -4
- package/js/utils/lifecycle.js +158 -83
- package/js/vanduo.js +203 -34
- package/package.json +2 -1
- package/css/core/vd-aliases.css +0 -60
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
|
-
--progress-height: 8px;
|
|
8
|
-
--progress-bg: var(--bg-tertiary, #e9ecef);
|
|
9
|
-
--progress-bar-bg: var(--color-primary);
|
|
10
|
-
--progress-border-radius: var(--radius-fib-5, 5px);
|
|
7
|
+
--vd-progress-height: 8px;
|
|
8
|
+
--vd-progress-bg: var(--vd-bg-tertiary, #e9ecef);
|
|
9
|
+
--vd-progress-bar-bg: var(--vd-color-primary);
|
|
10
|
+
--vd-progress-border-radius: var(--vd-radius-fib-5, 5px);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/* Base Progress */
|
|
14
14
|
.vd-progress {
|
|
15
15
|
display: flex;
|
|
16
|
-
height: var(--progress-height);
|
|
16
|
+
height: var(--vd-progress-height);
|
|
17
17
|
overflow: hidden;
|
|
18
|
-
background-color: var(--progress-bg);
|
|
19
|
-
border-radius: var(--progress-border-radius);
|
|
18
|
+
background-color: var(--vd-progress-bg);
|
|
19
|
+
border-radius: var(--vd-progress-border-radius);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
.vd-progress-bar {
|
|
@@ -27,27 +27,27 @@
|
|
|
27
27
|
color: #fff;
|
|
28
28
|
text-align: center;
|
|
29
29
|
white-space: nowrap;
|
|
30
|
-
background-color: var(--progress-bar-bg);
|
|
30
|
+
background-color: var(--vd-progress-bar-bg);
|
|
31
31
|
transition: width 0.4s ease;
|
|
32
|
-
border-radius: var(--progress-border-radius);
|
|
32
|
+
border-radius: var(--vd-progress-border-radius);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/* Variants */
|
|
36
|
-
.vd-progress-bar.vd-progress-success { background-color: var(--color-success); }
|
|
37
|
-
.vd-progress-bar.vd-progress-warning { background-color: var(--color-warning); }
|
|
38
|
-
.vd-progress-bar.vd-progress-error { background-color: var(--color-error); }
|
|
39
|
-
.vd-progress-bar.vd-progress-info { background-color: var(--color-info); }
|
|
36
|
+
.vd-progress-bar.vd-progress-success { background-color: var(--vd-color-success); }
|
|
37
|
+
.vd-progress-bar.vd-progress-warning { background-color: var(--vd-color-warning); }
|
|
38
|
+
.vd-progress-bar.vd-progress-error { background-color: var(--vd-color-error); }
|
|
39
|
+
.vd-progress-bar.vd-progress-info { background-color: var(--vd-color-info); }
|
|
40
40
|
|
|
41
41
|
/* Sizes */
|
|
42
|
-
.vd-progress-xs { --progress-height: 3px; }
|
|
43
|
-
.vd-progress-sm { --progress-height: 5px; }
|
|
44
|
-
.vd-progress-lg { --progress-height: 13px; }
|
|
45
|
-
.vd-progress-xl { --progress-height: 21px; }
|
|
42
|
+
.vd-progress-xs { --vd-progress-height: 3px; }
|
|
43
|
+
.vd-progress-sm { --vd-progress-height: 5px; }
|
|
44
|
+
.vd-progress-lg { --vd-progress-height: 13px; }
|
|
45
|
+
.vd-progress-xl { --vd-progress-height: 21px; }
|
|
46
46
|
|
|
47
47
|
/* Labeled (show text) */
|
|
48
48
|
.vd-progress-xl .vd-progress-bar,
|
|
49
49
|
.vd-progress-lg .vd-progress-bar {
|
|
50
|
-
font-size: var(--font-size-xs, 0.75rem);
|
|
50
|
+
font-size: var(--vd-font-size-xs, 0.75rem);
|
|
51
51
|
line-height: 1;
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -97,11 +97,11 @@
|
|
|
97
97
|
|
|
98
98
|
/* Dark mode */
|
|
99
99
|
[data-theme="dark"] {
|
|
100
|
-
--progress-bg: var(--bg-tertiary, #2d3748);
|
|
100
|
+
--vd-progress-bg: var(--vd-bg-tertiary, #2d3748);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
@media (prefers-color-scheme: dark) {
|
|
104
104
|
:root:not([data-theme]) {
|
|
105
|
-
--progress-bg: var(--bg-tertiary, #2d3748);
|
|
105
|
+
--vd-progress-bg: var(--vd-bg-tertiary, #2d3748);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
@@ -5,24 +5,24 @@
|
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
7
|
/* Rating Colors */
|
|
8
|
-
--rating-active-color: #f59e0b;
|
|
9
|
-
--rating-inactive-color: var(--color-gray-300, #dee2e6);
|
|
10
|
-
--rating-hover-color: #fbbf24;
|
|
8
|
+
--vd-rating-active-color: #f59e0b;
|
|
9
|
+
--vd-rating-inactive-color: var(--vd-color-gray-300, #dee2e6);
|
|
10
|
+
--vd-rating-hover-color: #fbbf24;
|
|
11
11
|
|
|
12
12
|
/* Rating Dimensions (Fibonacci) */
|
|
13
|
-
--rating-size: 1.3125rem; /* 21px - fib */
|
|
14
|
-
--rating-size-sm: 1rem;
|
|
15
|
-
--rating-size-lg: 2.125rem; /* 34px ~ fib */
|
|
16
|
-
--rating-gap: 0.125rem; /* 2px */
|
|
13
|
+
--vd-rating-size: 1.3125rem; /* 21px - fib */
|
|
14
|
+
--vd-rating-size-sm: 1rem;
|
|
15
|
+
--vd-rating-size-lg: 2.125rem; /* 34px ~ fib */
|
|
16
|
+
--vd-rating-gap: 0.125rem; /* 2px */
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
[data-theme="dark"] {
|
|
20
|
-
--rating-inactive-color: var(--color-gray-600, #6c757d);
|
|
20
|
+
--vd-rating-inactive-color: var(--vd-color-gray-600, #6c757d);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
@media (prefers-color-scheme: dark) {
|
|
24
24
|
:root:not([data-theme]) {
|
|
25
|
-
--rating-inactive-color: var(--color-gray-600, #6c757d);
|
|
25
|
+
--vd-rating-inactive-color: var(--vd-color-gray-600, #6c757d);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
.vd-rating {
|
|
32
32
|
display: inline-flex;
|
|
33
33
|
align-items: center;
|
|
34
|
-
gap: var(--rating-gap);
|
|
34
|
+
gap: var(--vd-rating-gap);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
.vd-rating-star {
|
|
38
38
|
display: inline-flex;
|
|
39
39
|
align-items: center;
|
|
40
40
|
justify-content: center;
|
|
41
|
-
font-size: var(--rating-size);
|
|
42
|
-
color: var(--rating-inactive-color);
|
|
41
|
+
font-size: var(--vd-rating-size);
|
|
42
|
+
color: var(--vd-rating-inactive-color);
|
|
43
43
|
cursor: pointer;
|
|
44
44
|
transition: color 0.15s ease, transform 0.15s ease;
|
|
45
45
|
user-select: none;
|
|
@@ -58,17 +58,17 @@
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
.vd-rating-star.is-active {
|
|
61
|
-
color: var(--rating-active-color);
|
|
61
|
+
color: var(--vd-rating-active-color);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
.vd-rating-star.is-hovered {
|
|
65
|
-
color: var(--rating-hover-color);
|
|
65
|
+
color: var(--vd-rating-hover-color);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/* Half-star support */
|
|
69
69
|
.vd-rating-star.is-half {
|
|
70
70
|
position: relative;
|
|
71
|
-
color: var(--rating-inactive-color);
|
|
71
|
+
color: var(--vd-rating-inactive-color);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
.vd-rating-star.is-half::after {
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
top: 0;
|
|
79
79
|
width: 50%;
|
|
80
80
|
overflow: hidden;
|
|
81
|
-
color: var(--rating-active-color);
|
|
81
|
+
color: var(--vd-rating-active-color);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
/* ========== Read-only ========== */
|
|
@@ -95,11 +95,11 @@
|
|
|
95
95
|
/* ========== Sizes ========== */
|
|
96
96
|
|
|
97
97
|
.vd-rating-sm .vd-rating-star {
|
|
98
|
-
font-size: var(--rating-size-sm);
|
|
98
|
+
font-size: var(--vd-rating-size-sm);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
.vd-rating-lg .vd-rating-star {
|
|
102
|
-
font-size: var(--rating-size-lg);
|
|
102
|
+
font-size: var(--vd-rating-size-lg);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
/* ========== Value Display ========== */
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
margin-left: 0.5rem;
|
|
109
109
|
font-size: 0.875rem;
|
|
110
110
|
font-weight: 600;
|
|
111
|
-
color: var(--text-primary, #212529);
|
|
111
|
+
color: var(--vd-text-primary, #212529);
|
|
112
112
|
}
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
|
-
--ripple-color: rgba(255, 255, 255, 0.35);
|
|
8
|
-
--ripple-duration: 0.6s;
|
|
9
|
-
--ripple-timing: cubic-bezier(0, 0, 0.2, 1);
|
|
7
|
+
--vd-ripple-color: rgba(255, 255, 255, 0.35);
|
|
8
|
+
--vd-ripple-duration: 0.6s;
|
|
9
|
+
--vd-ripple-timing: cubic-bezier(0, 0, 0.2, 1);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
[data-theme="dark"] {
|
|
13
|
-
--ripple-color: rgba(255, 255, 255, 0.2);
|
|
13
|
+
--vd-ripple-color: rgba(255, 255, 255, 0.2);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
@media (prefers-color-scheme: dark) {
|
|
17
17
|
:root:not([data-theme]) {
|
|
18
|
-
--ripple-color: rgba(255, 255, 255, 0.2);
|
|
18
|
+
--vd-ripple-color: rgba(255, 255, 255, 0.2);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
.vd-ripple-wave {
|
|
33
33
|
position: absolute;
|
|
34
34
|
border-radius: 50%;
|
|
35
|
-
background: var(--ripple-color);
|
|
35
|
+
background: var(--vd-ripple-color);
|
|
36
36
|
transform: scale(0);
|
|
37
|
-
animation: vd-ripple-expand var(--ripple-duration) var(--ripple-timing) forwards;
|
|
37
|
+
animation: vd-ripple-expand var(--vd-ripple-duration) var(--vd-ripple-timing) forwards;
|
|
38
38
|
pointer-events: none;
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -49,15 +49,15 @@
|
|
|
49
49
|
|
|
50
50
|
.vd-ripple-dark,
|
|
51
51
|
[data-vd-ripple="dark"] {
|
|
52
|
-
--ripple-color: rgba(0, 0, 0, 0.15);
|
|
52
|
+
--vd-ripple-color: rgba(0, 0, 0, 0.15);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.vd-ripple-primary,
|
|
56
56
|
[data-vd-ripple="primary"] {
|
|
57
|
-
--ripple-color: rgba(13, 110, 253, 0.3);
|
|
57
|
+
--vd-ripple-color: rgba(13, 110, 253, 0.3);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
.vd-ripple-light,
|
|
61
61
|
[data-vd-ripple="light"] {
|
|
62
|
-
--ripple-color: rgba(255, 255, 255, 0.5);
|
|
62
|
+
--vd-ripple-color: rgba(255, 255, 255, 0.5);
|
|
63
63
|
}
|
|
@@ -5,42 +5,42 @@
|
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
7
|
/* Sidenav Colors */
|
|
8
|
-
--sidenav-bg: var(--color-white);
|
|
9
|
-
--sidenav-overlay-bg: rgba(0, 0, 0, 0.35);
|
|
10
|
-
--sidenav-border-color: var(--border-color);
|
|
11
|
-
--sidenav-item-bg-hover: var(--bg-secondary);
|
|
12
|
-
--sidenav-item-bg-active: var(--color-primary-alpha-10);
|
|
13
|
-
--sidenav-item-color-active: var(--color-primary);
|
|
8
|
+
--vd-sidenav-bg: var(--vd-color-white);
|
|
9
|
+
--vd-sidenav-overlay-bg: rgba(0, 0, 0, 0.35);
|
|
10
|
+
--vd-sidenav-border-color: var(--vd-border-color);
|
|
11
|
+
--vd-sidenav-item-bg-hover: var(--vd-bg-secondary);
|
|
12
|
+
--vd-sidenav-item-bg-active: var(--vd-color-primary-alpha-10);
|
|
13
|
+
--vd-sidenav-item-color-active: var(--vd-color-primary);
|
|
14
14
|
|
|
15
15
|
/* Sidenav Dimensions (Fibonacci) */
|
|
16
|
-
--sidenav-width: 233px; /* fib */
|
|
17
|
-
--sidenav-width-sm: 233px; /* fib */
|
|
18
|
-
--sidenav-width-lg: 377px; /* fib */
|
|
16
|
+
--vd-sidenav-width: 233px; /* fib */
|
|
17
|
+
--vd-sidenav-width-sm: 233px; /* fib */
|
|
18
|
+
--vd-sidenav-width-lg: 377px; /* fib */
|
|
19
19
|
|
|
20
20
|
/* Sidenav Spacing (Fibonacci) */
|
|
21
|
-
--sidenav-padding-y: 0.8125rem; /* 13px - fib */
|
|
22
|
-
--sidenav-padding-x: 1.3125rem; /* 21px - fib */
|
|
23
|
-
--sidenav-item-padding-y: 0.5rem; /* 8px - fib */
|
|
24
|
-
--sidenav-item-padding-x: 0.8125rem; /* 13px - fib */
|
|
21
|
+
--vd-sidenav-padding-y: 0.8125rem; /* 13px - fib */
|
|
22
|
+
--vd-sidenav-padding-x: 1.3125rem; /* 21px - fib */
|
|
23
|
+
--vd-sidenav-item-padding-y: 0.5rem; /* 8px - fib */
|
|
24
|
+
--vd-sidenav-item-padding-x: 0.8125rem; /* 13px - fib */
|
|
25
25
|
|
|
26
26
|
/* Sidenav Z-index */
|
|
27
|
-
--sidenav-z-index: 1040;
|
|
28
|
-
--sidenav-overlay-z-index: 1030;
|
|
27
|
+
--vd-sidenav-z-index: 1040;
|
|
28
|
+
--vd-sidenav-overlay-z-index: 1030;
|
|
29
29
|
|
|
30
30
|
/* Sidenav Transitions */
|
|
31
|
-
--sidenav-transition: transform var(--transition-duration-slow) var(--transition-ease);
|
|
31
|
+
--vd-sidenav-transition: transform var(--vd-transition-duration-slow) var(--vd-transition-ease);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/* Dark Theme Overrides */
|
|
35
35
|
[data-theme="dark"] {
|
|
36
|
-
--sidenav-bg: var(--bg-secondary);
|
|
37
|
-
--sidenav-item-bg-hover: var(--bg-primary);
|
|
36
|
+
--vd-sidenav-bg: var(--vd-bg-secondary);
|
|
37
|
+
--vd-sidenav-item-bg-hover: var(--vd-bg-primary);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@media (prefers-color-scheme: dark) {
|
|
41
41
|
:root:not([data-theme]) {
|
|
42
|
-
--sidenav-bg: var(--bg-secondary);
|
|
43
|
-
--sidenav-item-bg-hover: var(--bg-primary);
|
|
42
|
+
--vd-sidenav-bg: var(--vd-bg-secondary);
|
|
43
|
+
--vd-sidenav-item-bg-hover: var(--vd-bg-primary);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
position: fixed;
|
|
50
50
|
top: 0;
|
|
51
51
|
left: 0;
|
|
52
|
-
z-index: var(--sidenav-overlay-z-index);
|
|
52
|
+
z-index: var(--vd-sidenav-overlay-z-index);
|
|
53
53
|
width: 100vw;
|
|
54
54
|
height: 100vh;
|
|
55
|
-
background-color: var(--sidenav-overlay-bg);
|
|
55
|
+
background-color: var(--vd-sidenav-overlay-bg);
|
|
56
56
|
opacity: 0;
|
|
57
|
-
transition: opacity var(--transition-duration-base) var(--transition-ease);
|
|
57
|
+
transition: opacity var(--vd-transition-duration-base) var(--vd-transition-ease);
|
|
58
58
|
pointer-events: none;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
position: fixed;
|
|
69
69
|
top: 0;
|
|
70
70
|
left: 0;
|
|
71
|
-
z-index: var(--sidenav-z-index);
|
|
72
|
-
width: var(--sidenav-width);
|
|
71
|
+
z-index: var(--vd-sidenav-z-index);
|
|
72
|
+
width: var(--vd-sidenav-width);
|
|
73
73
|
height: 100vh;
|
|
74
74
|
display: flex;
|
|
75
75
|
flex-direction: column;
|
|
76
|
-
background-color: var(--sidenav-bg);
|
|
77
|
-
box-shadow: var(--shadow-lg);
|
|
76
|
+
background-color: var(--vd-sidenav-bg);
|
|
77
|
+
box-shadow: var(--vd-shadow-lg);
|
|
78
78
|
transform: translateX(-100%);
|
|
79
|
-
transition: var(--sidenav-transition);
|
|
79
|
+
transition: var(--vd-sidenav-transition);
|
|
80
80
|
overflow-y: auto;
|
|
81
81
|
overflow-x: hidden;
|
|
82
82
|
}
|
|
@@ -106,13 +106,13 @@
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
.vd-sidenav-push.is-open ~ * {
|
|
109
|
-
margin-left: var(--sidenav-width);
|
|
110
|
-
transition: margin-left var(--transition-duration-slow) var(--transition-ease);
|
|
109
|
+
margin-left: var(--vd-sidenav-width);
|
|
110
|
+
transition: margin-left var(--vd-transition-duration-slow) var(--vd-transition-ease);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.vd-sidenav-push.vd-sidenav-right.is-open ~ * {
|
|
114
114
|
margin-left: 0;
|
|
115
|
-
margin-right: var(--sidenav-width);
|
|
115
|
+
margin-right: var(--vd-sidenav-width);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
.vd-sidenav-fixed {
|
|
@@ -129,16 +129,16 @@
|
|
|
129
129
|
display: flex;
|
|
130
130
|
align-items: center;
|
|
131
131
|
justify-content: space-between;
|
|
132
|
-
padding: var(--sidenav-padding-y) var(--sidenav-padding-x);
|
|
133
|
-
border-bottom: 1px solid var(--sidenav-border-color);
|
|
132
|
+
padding: var(--vd-sidenav-padding-y) var(--vd-sidenav-padding-x);
|
|
133
|
+
border-bottom: 1px solid var(--vd-sidenav-border-color);
|
|
134
134
|
flex-shrink: 0;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
.vd-sidenav-title {
|
|
138
138
|
margin: 0;
|
|
139
|
-
font-size: var(--font-size-lg);
|
|
140
|
-
font-weight: var(--font-weight-semibold);
|
|
141
|
-
color: var(--text-primary);
|
|
139
|
+
font-size: var(--vd-font-size-lg);
|
|
140
|
+
font-weight: var(--vd-font-weight-semibold);
|
|
141
|
+
color: var(--vd-text-primary);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
.vd-sidenav-close {
|
|
@@ -146,14 +146,14 @@
|
|
|
146
146
|
margin: -0.5rem -0.5rem -0.5rem auto;
|
|
147
147
|
background: transparent;
|
|
148
148
|
border: 0;
|
|
149
|
-
border-radius: var(--btn-border-radius);
|
|
149
|
+
border-radius: var(--vd-btn-border-radius);
|
|
150
150
|
opacity: 0.5;
|
|
151
151
|
cursor: pointer;
|
|
152
152
|
font-size: 1.5rem;
|
|
153
|
-
font-weight: var(--font-weight-bold);
|
|
153
|
+
font-weight: var(--vd-font-weight-bold);
|
|
154
154
|
line-height: 1;
|
|
155
|
-
color: var(--text-secondary);
|
|
156
|
-
transition: var(--transition-opacity);
|
|
155
|
+
color: var(--vd-text-secondary);
|
|
156
|
+
transition: var(--vd-transition-opacity);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
.vd-sidenav-close:hover,
|
|
@@ -165,15 +165,15 @@
|
|
|
165
165
|
/* Sidenav Body */
|
|
166
166
|
.vd-sidenav-body {
|
|
167
167
|
flex: 1 1 auto;
|
|
168
|
-
padding: var(--sidenav-padding-y) 0;
|
|
168
|
+
padding: var(--vd-sidenav-padding-y) 0;
|
|
169
169
|
overflow-y: auto;
|
|
170
170
|
overflow-x: hidden;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
/* Sidenav Footer */
|
|
174
174
|
.vd-sidenav-footer {
|
|
175
|
-
padding: var(--sidenav-padding-y) var(--sidenav-padding-x);
|
|
176
|
-
border-top: 1px solid var(--sidenav-border-color);
|
|
175
|
+
padding: var(--vd-sidenav-padding-y) var(--vd-sidenav-padding-x);
|
|
176
|
+
border-top: 1px solid var(--vd-sidenav-border-color);
|
|
177
177
|
flex-shrink: 0;
|
|
178
178
|
}
|
|
179
179
|
|
|
@@ -186,11 +186,11 @@
|
|
|
186
186
|
|
|
187
187
|
/* Sidenav Section */
|
|
188
188
|
.vd-sidenav-section {
|
|
189
|
-
padding: 0.5rem var(--sidenav-padding-x);
|
|
189
|
+
padding: 0.5rem var(--vd-sidenav-padding-x);
|
|
190
190
|
margin-top: 0.5rem;
|
|
191
|
-
font-size: var(--font-size-xs);
|
|
192
|
-
font-weight: var(--font-weight-semibold);
|
|
193
|
-
color: var(--text-muted);
|
|
191
|
+
font-size: var(--vd-font-size-xs);
|
|
192
|
+
font-weight: var(--vd-font-weight-semibold);
|
|
193
|
+
color: var(--vd-text-muted);
|
|
194
194
|
text-transform: uppercase;
|
|
195
195
|
letter-spacing: 0.05em;
|
|
196
196
|
}
|
|
@@ -207,64 +207,64 @@
|
|
|
207
207
|
.vd-sidenav-link {
|
|
208
208
|
display: flex;
|
|
209
209
|
align-items: center;
|
|
210
|
-
padding: var(--sidenav-item-padding-y) var(--sidenav-item-padding-x);
|
|
211
|
-
font-size: var(--font-size-base);
|
|
212
|
-
font-weight: var(--font-weight-normal);
|
|
213
|
-
line-height: var(--line-height-normal);
|
|
214
|
-
color: var(--text-primary);
|
|
210
|
+
padding: var(--vd-sidenav-item-padding-y) var(--vd-sidenav-item-padding-x);
|
|
211
|
+
font-size: var(--vd-font-size-base);
|
|
212
|
+
font-weight: var(--vd-font-weight-normal);
|
|
213
|
+
line-height: var(--vd-line-height-normal);
|
|
214
|
+
color: var(--vd-text-primary);
|
|
215
215
|
text-decoration: none;
|
|
216
|
-
transition: var(--transition-bg);
|
|
216
|
+
transition: var(--vd-transition-bg);
|
|
217
217
|
cursor: pointer;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
.vd-sidenav-link:hover {
|
|
221
|
-
background-color: var(--sidenav-item-bg-hover);
|
|
222
|
-
color: var(--text-primary);
|
|
221
|
+
background-color: var(--vd-sidenav-item-bg-hover);
|
|
222
|
+
color: var(--vd-text-primary);
|
|
223
223
|
text-decoration: none;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
.vd-sidenav-link:focus {
|
|
227
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
227
|
+
outline: 2px solid var(--vd-input-focus-border-color);
|
|
228
228
|
outline-offset: -2px;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
.vd-sidenav-item.active .vd-sidenav-link {
|
|
232
|
-
background-color: var(--sidenav-item-bg-active);
|
|
233
|
-
color: var(--sidenav-item-color-active);
|
|
234
|
-
font-weight: var(--font-weight-medium);
|
|
232
|
+
background-color: var(--vd-sidenav-item-bg-active);
|
|
233
|
+
color: var(--vd-sidenav-item-color-active);
|
|
234
|
+
font-weight: var(--vd-font-weight-medium);
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
/* Sidenav Divider */
|
|
238
238
|
.vd-sidenav-divider {
|
|
239
239
|
height: 0;
|
|
240
|
-
margin: 0.5rem var(--sidenav-padding-x);
|
|
240
|
+
margin: 0.5rem var(--vd-sidenav-padding-x);
|
|
241
241
|
overflow: hidden;
|
|
242
|
-
border-top: 1px solid var(--sidenav-border-color);
|
|
242
|
+
border-top: 1px solid var(--vd-sidenav-border-color);
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
/* Sidenav Sizes */
|
|
246
246
|
.vd-sidenav-sm {
|
|
247
|
-
width: var(--sidenav-width-sm);
|
|
247
|
+
width: var(--vd-sidenav-width-sm);
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
.vd-sidenav-sm.vd-sidenav-push.is-open ~ * {
|
|
251
|
-
margin-left: var(--sidenav-width-sm);
|
|
251
|
+
margin-left: var(--vd-sidenav-width-sm);
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
.vd-sidenav-sm.vd-sidenav-push.vd-sidenav-right.is-open ~ * {
|
|
255
|
-
margin-right: var(--sidenav-width-sm);
|
|
255
|
+
margin-right: var(--vd-sidenav-width-sm);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
.vd-sidenav-lg {
|
|
259
|
-
width: var(--sidenav-width-lg);
|
|
259
|
+
width: var(--vd-sidenav-width-lg);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
.vd-sidenav-lg.vd-sidenav-push.is-open ~ * {
|
|
263
|
-
margin-left: var(--sidenav-width-lg);
|
|
263
|
+
margin-left: var(--vd-sidenav-width-lg);
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
.vd-sidenav-lg.vd-sidenav-push.vd-sidenav-right.is-open ~ * {
|
|
267
|
-
margin-right: var(--sidenav-width-lg);
|
|
267
|
+
margin-right: var(--vd-sidenav-width-lg);
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
/* ========== Offcanvas Alias ========== */
|
|
@@ -273,15 +273,15 @@
|
|
|
273
273
|
position: fixed;
|
|
274
274
|
top: 0;
|
|
275
275
|
left: 0;
|
|
276
|
-
z-index: var(--sidenav-z-index);
|
|
277
|
-
width: var(--sidenav-width);
|
|
276
|
+
z-index: var(--vd-sidenav-z-index);
|
|
277
|
+
width: var(--vd-sidenav-width);
|
|
278
278
|
height: 100vh;
|
|
279
279
|
display: flex;
|
|
280
280
|
flex-direction: column;
|
|
281
|
-
background-color: var(--sidenav-bg);
|
|
282
|
-
box-shadow: var(--shadow-lg);
|
|
281
|
+
background-color: var(--vd-sidenav-bg);
|
|
282
|
+
box-shadow: var(--vd-shadow-lg);
|
|
283
283
|
transform: translateX(-100%);
|
|
284
|
-
transition: var(--sidenav-transition);
|
|
284
|
+
transition: var(--vd-sidenav-transition);
|
|
285
285
|
overflow-y: auto;
|
|
286
286
|
overflow-x: hidden;
|
|
287
287
|
}
|
|
@@ -5,21 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
7
|
/* Skeleton Colors */
|
|
8
|
-
--skeleton-bg: var(--color-gray-200);
|
|
9
|
-
--skeleton-shimmer: var(--color-gray-100);
|
|
10
|
-
--skeleton-border-radius: var(--btn-border-radius);
|
|
8
|
+
--vd-skeleton-bg: var(--vd-color-gray-200);
|
|
9
|
+
--vd-skeleton-shimmer: var(--vd-color-gray-100);
|
|
10
|
+
--vd-skeleton-border-radius: var(--vd-btn-border-radius);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/* Dark Theme Overrides */
|
|
14
14
|
[data-theme="dark"] {
|
|
15
|
-
--skeleton-bg: var(--color-gray-700);
|
|
16
|
-
--skeleton-shimmer: var(--color-gray-600);
|
|
15
|
+
--vd-skeleton-bg: var(--vd-color-gray-700);
|
|
16
|
+
--vd-skeleton-shimmer: var(--vd-color-gray-600);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
@media (prefers-color-scheme: dark) {
|
|
20
20
|
:root:not([data-theme]) {
|
|
21
|
-
--skeleton-bg: var(--color-gray-700);
|
|
22
|
-
--skeleton-shimmer: var(--color-gray-600);
|
|
21
|
+
--vd-skeleton-bg: var(--vd-color-gray-700);
|
|
22
|
+
--vd-skeleton-shimmer: var(--vd-color-gray-600);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
.vd-skeleton {
|
|
28
28
|
position: relative;
|
|
29
29
|
overflow: hidden;
|
|
30
|
-
background-color: var(--skeleton-bg);
|
|
31
|
-
border-radius: var(--skeleton-border-radius);
|
|
30
|
+
background-color: var(--vd-skeleton-bg);
|
|
31
|
+
border-radius: var(--vd-skeleton-border-radius);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/* Shimmer Animation */
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
background: linear-gradient(
|
|
44
44
|
90deg,
|
|
45
45
|
transparent,
|
|
46
|
-
var(--skeleton-shimmer),
|
|
46
|
+
var(--vd-skeleton-shimmer),
|
|
47
47
|
transparent
|
|
48
48
|
);
|
|
49
49
|
animation: skeleton-shimmer 1.5s infinite;
|
|
@@ -88,12 +88,13 @@
|
|
|
88
88
|
/* Skeleton Circle (for avatars) */
|
|
89
89
|
.vd-skeleton-circle {
|
|
90
90
|
border-radius: 50%;
|
|
91
|
+
width: 3rem;
|
|
92
|
+
height: 3rem;
|
|
91
93
|
}
|
|
92
94
|
|
|
93
95
|
.vd-skeleton-circle-xs { width: 1.5rem; height: 1.5rem; }
|
|
94
96
|
.vd-skeleton-circle-sm { width: 2rem; height: 2rem; }
|
|
95
97
|
.vd-skeleton-circle-md { width: 2.5rem; height: 2.5rem; }
|
|
96
|
-
.vd-skeleton-circle { width: 3rem; height: 3rem; }
|
|
97
98
|
.vd-skeleton-circle-lg { width: 4rem; height: 4rem; }
|
|
98
99
|
.vd-skeleton-circle-xl { width: 5rem; height: 5rem; }
|
|
99
100
|
|
|
@@ -110,7 +111,7 @@
|
|
|
110
111
|
.vd-skeleton-button {
|
|
111
112
|
height: 2.5rem;
|
|
112
113
|
width: 6rem;
|
|
113
|
-
border-radius: var(--btn-border-radius);
|
|
114
|
+
border-radius: var(--vd-btn-border-radius);
|
|
114
115
|
}
|
|
115
116
|
|
|
116
117
|
.vd-skeleton-button-sm {
|
|
@@ -126,15 +127,15 @@
|
|
|
126
127
|
/* Skeleton Card */
|
|
127
128
|
.vd-skeleton-card {
|
|
128
129
|
padding: 1rem;
|
|
129
|
-
border-radius: var(--btn-border-radius);
|
|
130
|
-
border: 1px solid var(--border-color);
|
|
130
|
+
border-radius: var(--vd-btn-border-radius);
|
|
131
|
+
border: 1px solid var(--vd-border-color);
|
|
131
132
|
}
|
|
132
133
|
|
|
133
134
|
/* Skeleton Input */
|
|
134
135
|
.vd-skeleton-input {
|
|
135
136
|
height: 2.5rem;
|
|
136
137
|
width: 100%;
|
|
137
|
-
border-radius: var(--btn-border-radius);
|
|
138
|
+
border-radius: var(--vd-btn-border-radius);
|
|
138
139
|
}
|
|
139
140
|
|
|
140
141
|
/* Skeleton Paragraph (multiple lines) */
|
|
@@ -189,7 +190,7 @@
|
|
|
189
190
|
display: flex;
|
|
190
191
|
gap: 1rem;
|
|
191
192
|
padding: 0.75rem 0;
|
|
192
|
-
border-bottom: 1px solid var(--border-color);
|
|
193
|
+
border-bottom: 1px solid var(--vd-border-color);
|
|
193
194
|
}
|
|
194
195
|
|
|
195
196
|
.vd-skeleton-table-row .vd-skeleton-text {
|