@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
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Vanduo Framework v1.
|
|
1
|
+
# Vanduo Framework v1.4.1
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<img src="vanduo-banner.svg" alt="Vanduo Framework Banner" width="100%">
|
|
@@ -10,42 +10,43 @@
|
|
|
10
10
|
<a href="https://github.com/vanduo-oss/framework/blob/main/LICENSE"><img src="https://img.shields.io/github/license/vanduo-oss/framework?style=flat-square&color=64748b" alt="License"></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Vanduo is a lightweight, zero-dependency UI framework built with pure HTML, CSS, and JavaScript. It ships 47+ components, responsive utilities, dark mode support, and a flexible theming system.
|
|
13
|
+
Vanduo is a zero-dependency UI framework built with HTML, CSS, and vanilla JavaScript. It ships a full component bundle, scoped runtime initialization, and a strict canonical `--vd-*` token API.
|
|
16
14
|
|
|
17
15
|
[Browse Docs](https://vanduo.dev/#docs)
|
|
18
16
|
|
|
19
17
|
## Highlights
|
|
20
18
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- Accessibility-focused components and utilities
|
|
19
|
+
- Zero runtime dependencies
|
|
20
|
+
- 47+ components across layout, navigation, overlays, search, and effects
|
|
21
|
+
- Scoped runtime APIs for dynamic DOM work
|
|
22
|
+
- Strict design token API under `--vd-*`
|
|
23
|
+
- Built-in dark, light, and system theming
|
|
24
|
+
- Theme customizer with color, font, and radius controls
|
|
25
|
+
- Playwright-based browser coverage across Chromium, Firefox, and WebKit
|
|
29
26
|
|
|
30
27
|
## Quick Start
|
|
31
28
|
|
|
32
|
-
### CDN
|
|
29
|
+
### CDN
|
|
33
30
|
|
|
34
31
|
```html
|
|
35
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.
|
|
36
|
-
<script src="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.
|
|
37
|
-
<script>
|
|
32
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.4.1/dist/vanduo.min.css">
|
|
33
|
+
<script src="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.4.1/dist/vanduo.min.js"></script>
|
|
34
|
+
<script>
|
|
35
|
+
Vanduo.init();
|
|
36
|
+
</script>
|
|
38
37
|
```
|
|
39
38
|
|
|
40
|
-
### Local
|
|
39
|
+
### Local Dist Files
|
|
41
40
|
|
|
42
41
|
```html
|
|
43
42
|
<link rel="stylesheet" href="dist/vanduo.min.css">
|
|
44
43
|
<script src="dist/vanduo.min.js"></script>
|
|
45
|
-
<script>
|
|
44
|
+
<script>
|
|
45
|
+
Vanduo.init();
|
|
46
|
+
</script>
|
|
46
47
|
```
|
|
47
48
|
|
|
48
|
-
### Package
|
|
49
|
+
### Package Install
|
|
49
50
|
|
|
50
51
|
```bash
|
|
51
52
|
pnpm add @vanduo-oss/framework
|
|
@@ -58,39 +59,85 @@ import { Vanduo } from '@vanduo-oss/framework';
|
|
|
58
59
|
Vanduo.init();
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
##
|
|
62
|
+
## Runtime API
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
Vanduo.init(root);
|
|
66
|
+
Vanduo.initComponents(root);
|
|
67
|
+
Vanduo.reinit('lazyLoad', root);
|
|
68
|
+
Vanduo.destroy(root);
|
|
69
|
+
Vanduo.destroyAll();
|
|
70
|
+
Vanduo.getComponent('docSearch');
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- Omit `root` to target the full document.
|
|
74
|
+
- Pass an `Element` to initialize or destroy only a subtree.
|
|
75
|
+
- Canonical component registry names use `lowerCamelCase`.
|
|
76
|
+
- `LazyLoad` remains available as a compatibility alias for `lazyLoad` in `1.4.x`.
|
|
62
77
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
-
|
|
78
|
+
## Token API
|
|
79
|
+
|
|
80
|
+
Vanduo `1.4.1` treats `--vd-*` as the only shipped custom-property namespace:
|
|
81
|
+
|
|
82
|
+
- Palette: `--vd-red-*`, `--vd-primary-*`, `--vd-gray-*`, and related scales
|
|
83
|
+
- Colors: `--vd-color-*`
|
|
84
|
+
- Backgrounds: `--vd-bg-*`
|
|
85
|
+
- Text: `--vd-text-*`
|
|
86
|
+
- Borders: `--vd-border-*`
|
|
87
|
+
- Shadows: `--vd-shadow-*`
|
|
88
|
+
- Components/effects: `--vd-btn-*`, `--vd-card-*`, `--vd-morph-*`, and related internals
|
|
89
|
+
|
|
90
|
+
Legacy unprefixed token aliases were removed in `1.4.1`; update custom themes and overrides to use the `--vd-*` equivalents.
|
|
91
|
+
|
|
92
|
+
```css
|
|
93
|
+
.cta {
|
|
94
|
+
color: var(--vd-text-inverse);
|
|
95
|
+
background: var(--vd-color-primary);
|
|
96
|
+
border-color: var(--vd-border-color);
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
More detail lives in [TOKENS.md](TOKENS.md).
|
|
101
|
+
|
|
102
|
+
## CSS Bundle Notes
|
|
103
|
+
|
|
104
|
+
- `css/vanduo.css` remains the main framework entrypoint in `1.4.1`.
|
|
105
|
+
- The main bundle still includes framework-wide form defaults for native inputs and textareas.
|
|
106
|
+
- New component styling should prefer `.vd-*` hooks over new raw element selectors.
|
|
68
107
|
|
|
69
108
|
## Project Structure
|
|
70
109
|
|
|
71
110
|
```text
|
|
72
|
-
|
|
73
|
-
├──
|
|
74
|
-
├──
|
|
75
|
-
├──
|
|
76
|
-
├──
|
|
77
|
-
├──
|
|
78
|
-
└──
|
|
111
|
+
framework/
|
|
112
|
+
├── css/ # Foundation, utilities, effects, components
|
|
113
|
+
├── js/ # Runtime, lifecycle, components
|
|
114
|
+
├── dist/ # Built artifacts
|
|
115
|
+
├── tests/ # Playwright fixtures and specs
|
|
116
|
+
├── scripts/ # Build, verification, and inventory scripts
|
|
117
|
+
└── docs/*.md # Release and architecture notes
|
|
79
118
|
```
|
|
80
119
|
|
|
81
|
-
##
|
|
120
|
+
## Development
|
|
82
121
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
122
|
+
```bash
|
|
123
|
+
corepack enable
|
|
124
|
+
pnpm install
|
|
125
|
+
pnpm run lint
|
|
126
|
+
pnpm run build
|
|
127
|
+
pnpm run check:versions
|
|
128
|
+
pnpm test
|
|
129
|
+
pnpm run stats:css
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Release Notes
|
|
133
|
+
|
|
134
|
+
- Architecture notes: [ARCHITECTURE.md](ARCHITECTURE.md)
|
|
135
|
+
- Token model: [TOKENS.md](TOKENS.md)
|
|
136
|
+
- `1.4.1` token migration notes: [changes-v141.md](changes-v141.md)
|
|
137
|
+
- QA strategy: [QA-Automation-Strategy.md](QA-Automation-Strategy.md)
|
|
138
|
+
- Contributor workflow: [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
87
139
|
|
|
88
140
|
## License
|
|
89
141
|
|
|
90
142
|
MIT - see [LICENSE](LICENSE).
|
|
91
143
|
Third-party notices are listed in [THIRD-PARTY-LICENSES](THIRD-PARTY-LICENSES).
|
|
92
|
-
|
|
93
|
-
## Credits
|
|
94
|
-
|
|
95
|
-
- [Open Color](https://yeun.github.io/open-color/) (MIT)
|
|
96
|
-
- [Phosphor Icons](https://phosphoricons.com/) (MIT)
|
package/css/components/affix.css
CHANGED
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
:root {
|
|
8
|
-
--affix-top-offset: 0;
|
|
9
|
-
--affix-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
10
|
-
--affix-transition: box-shadow 0.2s ease, background-color 0.2s ease;
|
|
11
|
-
--affix-z-index: 1020;
|
|
8
|
+
--vd-affix-top-offset: 0;
|
|
9
|
+
--vd-affix-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
10
|
+
--vd-affix-transition: box-shadow 0.2s ease, background-color 0.2s ease;
|
|
11
|
+
--vd-affix-z-index: 1020;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
[data-theme="dark"] {
|
|
15
|
-
--affix-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
15
|
+
--vd-affix-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
@media (prefers-color-scheme: dark) {
|
|
19
19
|
:root:not([data-theme]) {
|
|
20
|
-
--affix-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
20
|
+
--vd-affix-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
.vd-sticky,
|
|
28
28
|
[data-vd-affix] {
|
|
29
29
|
position: sticky;
|
|
30
|
-
top: var(--affix-top-offset);
|
|
31
|
-
transition: var(--affix-transition);
|
|
32
|
-
z-index: calc(var(--affix-z-index) - 1);
|
|
30
|
+
top: var(--vd-affix-top-offset);
|
|
31
|
+
transition: var(--vd-affix-transition);
|
|
32
|
+
z-index: calc(var(--vd-affix-z-index) - 1);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/* ========== Stuck State ========== */
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
.vd-affix.is-stuck,
|
|
38
38
|
.vd-sticky.is-stuck,
|
|
39
39
|
[data-vd-affix].is-stuck {
|
|
40
|
-
z-index: var(--affix-z-index);
|
|
41
|
-
box-shadow: var(--affix-shadow);
|
|
40
|
+
z-index: var(--vd-affix-z-index);
|
|
41
|
+
box-shadow: var(--vd-affix-shadow);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
/* ========== Variants ========== */
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
|
|
50
50
|
.vd-affix-bordered.is-stuck {
|
|
51
51
|
box-shadow: none;
|
|
52
|
-
border-bottom: 1px solid var(--border-color, #dee2e6);
|
|
52
|
+
border-bottom: 1px solid var(--vd-border-color, #dee2e6);
|
|
53
53
|
}
|
|
@@ -5,93 +5,93 @@
|
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
7
|
/* Alert Spacing (Fibonacci: 21px/13px, ratio ~ phi) */
|
|
8
|
-
--alert-padding-x: 1.3125rem; /* 21px - fib */
|
|
9
|
-
--alert-padding-y: 0.8125rem; /* 13px - fib */
|
|
10
|
-
--alert-border-radius: var(--btn-border-radius);
|
|
11
|
-
--alert-border-width: 1px;
|
|
8
|
+
--vd-alert-padding-x: 1.3125rem; /* 21px - fib */
|
|
9
|
+
--vd-alert-padding-y: 0.8125rem; /* 13px - fib */
|
|
10
|
+
--vd-alert-border-radius: var(--vd-btn-border-radius);
|
|
11
|
+
--vd-alert-border-width: 1px;
|
|
12
12
|
|
|
13
13
|
/* Alert Colors */
|
|
14
|
-
--alert-primary-bg: var(--color-primary-alpha-10);
|
|
15
|
-
--alert-primary-border: var(--color-primary);
|
|
16
|
-
--alert-primary-text: var(--color-primary-dark);
|
|
14
|
+
--vd-alert-primary-bg: var(--vd-color-primary-alpha-10);
|
|
15
|
+
--vd-alert-primary-border: var(--vd-color-primary);
|
|
16
|
+
--vd-alert-primary-text: var(--vd-color-primary-dark);
|
|
17
17
|
|
|
18
|
-
--alert-success-bg: var(--color-success-alpha-10);
|
|
19
|
-
--alert-success-border: var(--color-success);
|
|
20
|
-
--alert-success-text: var(--color-success-dark);
|
|
18
|
+
--vd-alert-success-bg: var(--vd-color-success-alpha-10);
|
|
19
|
+
--vd-alert-success-border: var(--vd-color-success);
|
|
20
|
+
--vd-alert-success-text: var(--vd-color-success-dark);
|
|
21
21
|
|
|
22
|
-
--alert-warning-bg: var(--color-warning-alpha-10);
|
|
23
|
-
--alert-warning-border: var(--color-warning);
|
|
24
|
-
--alert-warning-text: var(--color-warning-dark);
|
|
22
|
+
--vd-alert-warning-bg: var(--vd-color-warning-alpha-10);
|
|
23
|
+
--vd-alert-warning-border: var(--vd-color-warning);
|
|
24
|
+
--vd-alert-warning-text: var(--vd-color-warning-dark);
|
|
25
25
|
|
|
26
|
-
--alert-error-bg: var(--color-error-alpha-10);
|
|
27
|
-
--alert-error-border: var(--color-error);
|
|
28
|
-
--alert-error-text: var(--color-error-dark);
|
|
26
|
+
--vd-alert-error-bg: var(--vd-color-error-alpha-10);
|
|
27
|
+
--vd-alert-error-border: var(--vd-color-error);
|
|
28
|
+
--vd-alert-error-text: var(--vd-color-error-dark);
|
|
29
29
|
|
|
30
|
-
--alert-info-bg: var(--color-info-alpha-10);
|
|
31
|
-
--alert-info-border: var(--color-info);
|
|
32
|
-
--alert-info-text: var(--color-info-dark);
|
|
30
|
+
--vd-alert-info-bg: var(--vd-color-info-alpha-10);
|
|
31
|
+
--vd-alert-info-border: var(--vd-color-info);
|
|
32
|
+
--vd-alert-info-text: var(--vd-color-info-dark);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/* Dark Theme Overrides */
|
|
36
36
|
[data-theme="dark"] {
|
|
37
|
-
--alert-primary-text: var(--color-primary-light);
|
|
38
|
-
--alert-success-text: var(--color-success-light);
|
|
39
|
-
--alert-warning-text: var(--color-warning-light);
|
|
40
|
-
--alert-error-text: var(--color-error-light);
|
|
41
|
-
--alert-info-text: var(--color-info-light);
|
|
37
|
+
--vd-alert-primary-text: var(--vd-color-primary-light);
|
|
38
|
+
--vd-alert-success-text: var(--vd-color-success-light);
|
|
39
|
+
--vd-alert-warning-text: var(--vd-color-warning-light);
|
|
40
|
+
--vd-alert-error-text: var(--vd-color-error-light);
|
|
41
|
+
--vd-alert-info-text: var(--vd-color-info-light);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
@media (prefers-color-scheme: dark) {
|
|
45
45
|
:root:not([data-theme]) {
|
|
46
|
-
--alert-primary-text: var(--color-primary-light);
|
|
47
|
-
--alert-success-text: var(--color-success-light);
|
|
48
|
-
--alert-warning-text: var(--color-warning-light);
|
|
49
|
-
--alert-error-text: var(--color-error-light);
|
|
50
|
-
--alert-info-text: var(--color-info-light);
|
|
46
|
+
--vd-alert-primary-text: var(--vd-color-primary-light);
|
|
47
|
+
--vd-alert-success-text: var(--vd-color-success-light);
|
|
48
|
+
--vd-alert-warning-text: var(--vd-color-warning-light);
|
|
49
|
+
--vd-alert-error-text: var(--vd-color-error-light);
|
|
50
|
+
--vd-alert-info-text: var(--vd-color-info-light);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/* Base Alert */
|
|
55
55
|
.vd-alert {
|
|
56
56
|
position: relative;
|
|
57
|
-
padding: var(--alert-padding-y) var(--alert-padding-x);
|
|
57
|
+
padding: var(--vd-alert-padding-y) var(--vd-alert-padding-x);
|
|
58
58
|
margin-bottom: 1rem;
|
|
59
|
-
border: var(--alert-border-width) solid transparent;
|
|
60
|
-
border-radius: var(--alert-border-radius);
|
|
61
|
-
font-size: var(--font-size-base);
|
|
62
|
-
line-height: var(--line-height-normal);
|
|
59
|
+
border: var(--vd-alert-border-width) solid transparent;
|
|
60
|
+
border-radius: var(--vd-alert-border-radius);
|
|
61
|
+
font-size: var(--vd-font-size-base);
|
|
62
|
+
line-height: var(--vd-line-height-normal);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/* Alert Variants */
|
|
66
66
|
.vd-alert-primary {
|
|
67
|
-
background-color: var(--alert-primary-bg);
|
|
68
|
-
border-color: var(--alert-primary-border);
|
|
69
|
-
color: var(--alert-primary-text);
|
|
67
|
+
background-color: var(--vd-alert-primary-bg);
|
|
68
|
+
border-color: var(--vd-alert-primary-border);
|
|
69
|
+
color: var(--vd-alert-primary-text);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.vd-alert-success {
|
|
73
|
-
background-color: var(--alert-success-bg);
|
|
74
|
-
border-color: var(--alert-success-border);
|
|
75
|
-
color: var(--alert-success-text);
|
|
73
|
+
background-color: var(--vd-alert-success-bg);
|
|
74
|
+
border-color: var(--vd-alert-success-border);
|
|
75
|
+
color: var(--vd-alert-success-text);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
.vd-alert-warning {
|
|
79
|
-
background-color: var(--alert-warning-bg);
|
|
80
|
-
border-color: var(--alert-warning-border);
|
|
81
|
-
color: var(--alert-warning-text);
|
|
79
|
+
background-color: var(--vd-alert-warning-bg);
|
|
80
|
+
border-color: var(--vd-alert-warning-border);
|
|
81
|
+
color: var(--vd-alert-warning-text);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
.vd-alert-error,
|
|
85
85
|
.vd-alert-danger {
|
|
86
|
-
background-color: var(--alert-error-bg);
|
|
87
|
-
border-color: var(--alert-error-border);
|
|
88
|
-
color: var(--alert-error-text);
|
|
86
|
+
background-color: var(--vd-alert-error-bg);
|
|
87
|
+
border-color: var(--vd-alert-error-border);
|
|
88
|
+
color: var(--vd-alert-error-text);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
.vd-alert-info {
|
|
92
|
-
background-color: var(--alert-info-bg);
|
|
93
|
-
border-color: var(--alert-info-border);
|
|
94
|
-
color: var(--alert-info-text);
|
|
92
|
+
background-color: var(--vd-alert-info-bg);
|
|
93
|
+
border-color: var(--vd-alert-info-border);
|
|
94
|
+
color: var(--vd-alert-info-text);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/* Alert with Icon */
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
|
|
112
112
|
/* Alert Title */
|
|
113
113
|
.vd-alert-title {
|
|
114
|
-
font-weight: var(--font-weight-semibold);
|
|
114
|
+
font-weight: var(--vd-font-weight-semibold);
|
|
115
115
|
margin-bottom: 0.25rem;
|
|
116
116
|
}
|
|
117
117
|
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
position: absolute;
|
|
130
130
|
top: 0;
|
|
131
131
|
right: 0;
|
|
132
|
-
padding: var(--alert-padding-y) var(--alert-padding-x);
|
|
132
|
+
padding: var(--vd-alert-padding-y) var(--vd-alert-padding-x);
|
|
133
133
|
background: transparent;
|
|
134
134
|
border: none;
|
|
135
135
|
cursor: pointer;
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
/* Alert Link */
|
|
153
153
|
.vd-alert a,
|
|
154
154
|
.vd-alert-link {
|
|
155
|
-
font-weight: var(--font-weight-semibold);
|
|
155
|
+
font-weight: var(--vd-font-weight-semibold);
|
|
156
156
|
color: inherit;
|
|
157
157
|
text-decoration: underline;
|
|
158
158
|
}
|
|
@@ -164,34 +164,34 @@
|
|
|
164
164
|
|
|
165
165
|
/* Solid Variants (filled background) */
|
|
166
166
|
.vd-alert-solid.vd-alert-primary {
|
|
167
|
-
background-color: var(--color-primary);
|
|
168
|
-
border-color: var(--color-primary);
|
|
169
|
-
color: var(--color-white);
|
|
167
|
+
background-color: var(--vd-color-primary);
|
|
168
|
+
border-color: var(--vd-color-primary);
|
|
169
|
+
color: var(--vd-color-white);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
.vd-alert-solid.vd-alert-success {
|
|
173
|
-
background-color: var(--color-success);
|
|
174
|
-
border-color: var(--color-success);
|
|
175
|
-
color: var(--color-white);
|
|
173
|
+
background-color: var(--vd-color-success);
|
|
174
|
+
border-color: var(--vd-color-success);
|
|
175
|
+
color: var(--vd-color-white);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
.vd-alert-solid.vd-alert-warning {
|
|
179
|
-
background-color: var(--color-warning);
|
|
180
|
-
border-color: var(--color-warning);
|
|
181
|
-
color: var(--color-gray-900);
|
|
179
|
+
background-color: var(--vd-color-warning);
|
|
180
|
+
border-color: var(--vd-color-warning);
|
|
181
|
+
color: var(--vd-color-gray-900);
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
.vd-alert-solid.vd-alert-error,
|
|
185
185
|
.vd-alert-solid.vd-alert-danger {
|
|
186
|
-
background-color: var(--color-error);
|
|
187
|
-
border-color: var(--color-error);
|
|
188
|
-
color: var(--color-white);
|
|
186
|
+
background-color: var(--vd-color-error);
|
|
187
|
+
border-color: var(--vd-color-error);
|
|
188
|
+
color: var(--vd-color-white);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
.vd-alert-solid.vd-alert-info {
|
|
192
|
-
background-color: var(--color-info);
|
|
193
|
-
border-color: var(--color-info);
|
|
194
|
-
color: var(--color-white);
|
|
192
|
+
background-color: var(--vd-color-info);
|
|
193
|
+
border-color: var(--vd-color-info);
|
|
194
|
+
color: var(--vd-color-white);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
/* Outline Variants */
|
|
@@ -202,18 +202,18 @@
|
|
|
202
202
|
/* Alert Sizes */
|
|
203
203
|
.vd-alert-sm {
|
|
204
204
|
padding: 0.3125rem 0.5rem; /* 5px 8px - fib pair */
|
|
205
|
-
font-size: var(--font-size-sm);
|
|
205
|
+
font-size: var(--vd-font-size-sm);
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
.vd-alert-lg {
|
|
209
209
|
padding: 1.3125rem 2.125rem; /* 21px 34px - fib pair */
|
|
210
|
-
font-size: var(--font-size-lg);
|
|
210
|
+
font-size: var(--vd-font-size-lg);
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
/* Alert with Border Left Accent */
|
|
214
214
|
.vd-alert-accent {
|
|
215
215
|
border-left-width: 4px;
|
|
216
|
-
border-radius: 0 var(--alert-border-radius) var(--alert-border-radius) 0;
|
|
216
|
+
border-radius: 0 var(--vd-alert-border-radius) var(--vd-alert-border-radius) 0;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
/* Reduced Motion */
|