@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.
Files changed (124) hide show
  1. package/README.md +89 -42
  2. package/css/components/affix.css +12 -12
  3. package/css/components/alerts.css +70 -70
  4. package/css/components/avatar.css +78 -78
  5. package/css/components/badges.css +67 -67
  6. package/css/components/breadcrumbs.css +32 -32
  7. package/css/components/bubble.css +40 -40
  8. package/css/components/button-group.css +2 -2
  9. package/css/components/buttons.css +157 -157
  10. package/css/components/cards.css +79 -79
  11. package/css/components/chips.css +50 -50
  12. package/css/components/code-snippet.css +132 -132
  13. package/css/components/collapsible.css +67 -67
  14. package/css/components/collections.css +68 -68
  15. package/css/components/datepicker.css +54 -54
  16. package/css/components/doc-search.css +96 -103
  17. package/css/components/doc-tabs.css +11 -11
  18. package/css/components/draggable.css +77 -77
  19. package/css/components/dropdown.css +50 -50
  20. package/css/components/expanding-cards.css +1 -1
  21. package/css/components/fab.css +61 -61
  22. package/css/components/flow.css +55 -55
  23. package/css/components/footer.css +62 -62
  24. package/css/components/forms.css +437 -425
  25. package/css/components/image-box.css +50 -54
  26. package/css/components/modals.css +51 -51
  27. package/css/components/music-player.css +150 -150
  28. package/css/components/navbar.css +80 -80
  29. package/css/components/pagination.css +51 -51
  30. package/css/components/preloader.css +19 -19
  31. package/css/components/progress.css +20 -20
  32. package/css/components/rating.css +19 -19
  33. package/css/components/ripple.css +10 -10
  34. package/css/components/sidenav.css +72 -72
  35. package/css/components/skeleton.css +17 -16
  36. package/css/components/spinner.css +33 -33
  37. package/css/components/spotlight.css +33 -33
  38. package/css/components/stepper.css +39 -39
  39. package/css/components/suggest.css +37 -37
  40. package/css/components/tabs.css +60 -60
  41. package/css/components/theme-customizer.css +154 -154
  42. package/css/components/timeline.css +50 -50
  43. package/css/components/timepicker.css +29 -29
  44. package/css/components/toast.css +53 -53
  45. package/css/components/tooltips.css +78 -78
  46. package/css/components/transfer.css +37 -37
  47. package/css/components/tree.css +28 -28
  48. package/css/components/waypoint.css +12 -12
  49. package/css/core/colors.css +640 -640
  50. package/css/core/grid.css +127 -132
  51. package/css/core/helpers.css +349 -349
  52. package/css/core/tokens.css +133 -67
  53. package/css/core/typography.css +105 -103
  54. package/css/effects/morph.css +21 -21
  55. package/css/effects/parallax.css +6 -6
  56. package/css/utilities/color-utilities.css +273 -273
  57. package/css/utilities/media.css +4 -4
  58. package/css/utilities/shadow.css +75 -75
  59. package/css/utilities/table.css +64 -64
  60. package/css/utilities/transitions.css +53 -41
  61. package/css/vanduo.css +14 -35
  62. package/dist/build-info.json +3 -3
  63. package/dist/vanduo.cjs.js +947 -307
  64. package/dist/vanduo.cjs.js.map +3 -3
  65. package/dist/vanduo.cjs.min.js +7 -7
  66. package/dist/vanduo.cjs.min.js.map +3 -3
  67. package/dist/vanduo.css +9650 -9656
  68. package/dist/vanduo.css.map +1 -1
  69. package/dist/vanduo.esm.js +947 -307
  70. package/dist/vanduo.esm.js.map +3 -3
  71. package/dist/vanduo.esm.min.js +7 -7
  72. package/dist/vanduo.esm.min.js.map +3 -3
  73. package/dist/vanduo.js +947 -307
  74. package/dist/vanduo.js.map +3 -3
  75. package/dist/vanduo.min.css +2 -2
  76. package/dist/vanduo.min.css.map +1 -1
  77. package/dist/vanduo.min.js +7 -7
  78. package/dist/vanduo.min.js.map +3 -3
  79. package/js/components/affix.js +4 -4
  80. package/js/components/bubble.js +3 -3
  81. package/js/components/code-snippet.js +129 -5
  82. package/js/components/collapsible.js +2 -3
  83. package/js/components/datepicker.js +2 -2
  84. package/js/components/doc-search.js +69 -11
  85. package/js/components/draggable.js +4 -4
  86. package/js/components/dropdown.js +2 -3
  87. package/js/components/expanding-cards.js +2 -2
  88. package/js/components/flow.js +2 -2
  89. package/js/components/font-switcher.js +23 -13
  90. package/js/components/glass.js +2 -2
  91. package/js/components/grid.js +19 -8
  92. package/js/components/image-box.js +51 -12
  93. package/js/components/lazy-load.js +81 -9
  94. package/js/components/modals.js +28 -12
  95. package/js/components/morph.js +3 -3
  96. package/js/components/music-player.js +13 -13
  97. package/js/components/navbar.js +3 -3
  98. package/js/components/pagination.js +2 -3
  99. package/js/components/parallax.js +9 -10
  100. package/js/components/preloader.js +15 -6
  101. package/js/components/rating.js +2 -2
  102. package/js/components/ripple.js +2 -2
  103. package/js/components/select.js +2 -3
  104. package/js/components/sidenav.js +43 -14
  105. package/js/components/spotlight.js +2 -2
  106. package/js/components/stepper.js +2 -2
  107. package/js/components/suggest.js +9 -3
  108. package/js/components/tabs.js +2 -2
  109. package/js/components/theme-customizer.js +155 -25
  110. package/js/components/theme-switcher.js +27 -16
  111. package/js/components/timeline.js +41 -12
  112. package/js/components/timepicker.js +2 -2
  113. package/js/components/toast.js +1 -1
  114. package/js/components/tooltips.js +4 -4
  115. package/js/components/transfer.js +2 -2
  116. package/js/components/tree.js +2 -2
  117. package/js/components/validate.js +2 -2
  118. package/js/components/vd-hex.js +10 -6
  119. package/js/components/waypoint.js +2 -2
  120. package/js/utils/helpers.js +7 -4
  121. package/js/utils/lifecycle.js +158 -83
  122. package/js/vanduo.js +203 -34
  123. package/package.json +2 -1
  124. package/css/core/vd-aliases.css +0 -60
@@ -5,36 +5,36 @@
5
5
 
6
6
  :root {
7
7
  /* Avatar Sizes (Fibonacci) */
8
- --avatar-size-xs: 1.3125rem; /* 21px - fib */
9
- --avatar-size-sm: 2.125rem; /* 34px - fib */
10
- --avatar-size-md: 3.4375rem; /* 55px - fib */
11
- --avatar-size: 3.4375rem; /* 55px - fib (default / md) */
12
- --avatar-size-lg: 5.5625rem; /* 89px - fib */
13
- --avatar-size-xl: 9rem; /* 144px - fib */
14
- --avatar-size-2xl: 14.5625rem;/* 233px - fib */
8
+ --vd-avatar-size-xs: 1.3125rem; /* 21px - fib */
9
+ --vd-avatar-size-sm: 2.125rem; /* 34px - fib */
10
+ --vd-avatar-size-md: 3.4375rem; /* 55px - fib */
11
+ --vd-avatar-size: 3.4375rem; /* 55px - fib (default / md) */
12
+ --vd-avatar-size-lg: 5.5625rem; /* 89px - fib */
13
+ --vd-avatar-size-xl: 9rem; /* 144px - fib */
14
+ --vd-avatar-size-2xl: 14.5625rem;/* 233px - fib */
15
15
 
16
16
  /* Avatar Colors */
17
- --avatar-bg: var(--color-gray-300);
18
- --avatar-text: var(--color-gray-700);
19
- --avatar-border: var(--color-white);
20
- --avatar-status-online: var(--color-success);
21
- --avatar-status-offline: var(--color-gray-400);
22
- --avatar-status-busy: var(--color-error);
23
- --avatar-status-away: var(--color-warning);
17
+ --vd-avatar-bg: var(--vd-color-gray-300);
18
+ --vd-avatar-text: var(--vd-color-gray-700);
19
+ --vd-avatar-border: var(--vd-color-white);
20
+ --vd-avatar-status-online: var(--vd-color-success);
21
+ --vd-avatar-status-offline: var(--vd-color-gray-400);
22
+ --vd-avatar-status-busy: var(--vd-color-error);
23
+ --vd-avatar-status-away: var(--vd-color-warning);
24
24
  }
25
25
 
26
26
  /* Dark Theme Overrides */
27
27
  [data-theme="dark"] {
28
- --avatar-bg: var(--color-gray-600);
29
- --avatar-text: var(--color-gray-200);
30
- --avatar-border: var(--color-gray-800);
28
+ --vd-avatar-bg: var(--vd-color-gray-600);
29
+ --vd-avatar-text: var(--vd-color-gray-200);
30
+ --vd-avatar-border: var(--vd-color-gray-800);
31
31
  }
32
32
 
33
33
  @media (prefers-color-scheme: dark) {
34
34
  :root:not([data-theme]) {
35
- --avatar-bg: var(--color-gray-600);
36
- --avatar-text: var(--color-gray-200);
37
- --avatar-border: var(--color-gray-800);
35
+ --vd-avatar-bg: var(--vd-color-gray-600);
36
+ --vd-avatar-text: var(--vd-color-gray-200);
37
+ --vd-avatar-border: var(--vd-color-gray-800);
38
38
  }
39
39
  }
40
40
 
@@ -44,13 +44,13 @@
44
44
  display: inline-flex;
45
45
  align-items: center;
46
46
  justify-content: center;
47
- width: var(--avatar-size);
48
- height: var(--avatar-size);
47
+ width: var(--vd-avatar-size);
48
+ height: var(--vd-avatar-size);
49
49
  border-radius: 50%;
50
- background-color: var(--avatar-bg);
51
- color: var(--avatar-text);
52
- font-weight: var(--font-weight-medium);
53
- font-size: calc(var(--avatar-size) * 0.4);
50
+ background-color: var(--vd-avatar-bg);
51
+ color: var(--vd-avatar-text);
52
+ font-weight: var(--vd-font-weight-medium);
53
+ font-size: calc(var(--vd-avatar-size) * 0.4);
54
54
  line-height: 1;
55
55
  overflow: hidden;
56
56
  flex-shrink: 0;
@@ -73,44 +73,44 @@
73
73
 
74
74
  /* Avatar Sizes */
75
75
  .vd-avatar-xs {
76
- width: var(--avatar-size-xs);
77
- height: var(--avatar-size-xs);
78
- font-size: calc(var(--avatar-size-xs) * 0.4);
76
+ width: var(--vd-avatar-size-xs);
77
+ height: var(--vd-avatar-size-xs);
78
+ font-size: calc(var(--vd-avatar-size-xs) * 0.4);
79
79
  }
80
80
 
81
81
  .vd-avatar-sm {
82
- width: var(--avatar-size-sm);
83
- height: var(--avatar-size-sm);
84
- font-size: calc(var(--avatar-size-sm) * 0.4);
82
+ width: var(--vd-avatar-size-sm);
83
+ height: var(--vd-avatar-size-sm);
84
+ font-size: calc(var(--vd-avatar-size-sm) * 0.4);
85
85
  }
86
86
 
87
87
  .vd-avatar-md {
88
- width: var(--avatar-size-md);
89
- height: var(--avatar-size-md);
90
- font-size: calc(var(--avatar-size-md) * 0.4);
88
+ width: var(--vd-avatar-size-md);
89
+ height: var(--vd-avatar-size-md);
90
+ font-size: calc(var(--vd-avatar-size-md) * 0.4);
91
91
  }
92
92
 
93
93
  .vd-avatar-lg {
94
- width: var(--avatar-size-lg);
95
- height: var(--avatar-size-lg);
96
- font-size: calc(var(--avatar-size-lg) * 0.4);
94
+ width: var(--vd-avatar-size-lg);
95
+ height: var(--vd-avatar-size-lg);
96
+ font-size: calc(var(--vd-avatar-size-lg) * 0.4);
97
97
  }
98
98
 
99
99
  .vd-avatar-xl {
100
- width: var(--avatar-size-xl);
101
- height: var(--avatar-size-xl);
102
- font-size: calc(var(--avatar-size-xl) * 0.4);
100
+ width: var(--vd-avatar-size-xl);
101
+ height: var(--vd-avatar-size-xl);
102
+ font-size: calc(var(--vd-avatar-size-xl) * 0.4);
103
103
  }
104
104
 
105
105
  .vd-avatar-2xl {
106
- width: var(--avatar-size-2xl);
107
- height: var(--avatar-size-2xl);
108
- font-size: calc(var(--avatar-size-2xl) * 0.4);
106
+ width: var(--vd-avatar-size-2xl);
107
+ height: var(--vd-avatar-size-2xl);
108
+ font-size: calc(var(--vd-avatar-size-2xl) * 0.4);
109
109
  }
110
110
 
111
111
  /* Avatar Shapes */
112
112
  .vd-avatar-rounded {
113
- border-radius: var(--btn-border-radius);
113
+ border-radius: var(--vd-btn-border-radius);
114
114
  }
115
115
 
116
116
  .vd-avatar-square {
@@ -127,8 +127,8 @@
127
127
  min-width: 0.5rem;
128
128
  min-height: 0.5rem;
129
129
  border-radius: 50%;
130
- border: 2px solid var(--avatar-border);
131
- background-color: var(--avatar-status-offline);
130
+ border: 2px solid var(--vd-avatar-border);
131
+ background-color: var(--vd-avatar-status-offline);
132
132
  }
133
133
 
134
134
  .vd-avatar.vd-avatar-status-online,
@@ -151,29 +151,29 @@
151
151
  min-width: 0.5rem;
152
152
  min-height: 0.5rem;
153
153
  border-radius: 50%;
154
- border: 2px solid var(--avatar-border);
154
+ border: 2px solid var(--vd-avatar-border);
155
155
  }
156
156
 
157
- .vd-avatar.vd-avatar-status-online::after { background-color: var(--avatar-status-online); }
158
- .vd-avatar.vd-avatar-status-offline::after { background-color: var(--avatar-status-offline); }
159
- .vd-avatar.vd-avatar-status-busy::after { background-color: var(--avatar-status-busy); }
160
- .vd-avatar.vd-avatar-status-away::after { background-color: var(--avatar-status-away); }
157
+ .vd-avatar.vd-avatar-status-online::after { background-color: var(--vd-avatar-status-online); }
158
+ .vd-avatar.vd-avatar-status-offline::after { background-color: var(--vd-avatar-status-offline); }
159
+ .vd-avatar.vd-avatar-status-busy::after { background-color: var(--vd-avatar-status-busy); }
160
+ .vd-avatar.vd-avatar-status-away::after { background-color: var(--vd-avatar-status-away); }
161
161
 
162
162
  /* Avatar with Ring/Border */
163
163
  .vd-avatar-ring {
164
- box-shadow: 0 0 0 3px var(--avatar-border), 0 0 0 5px var(--color-primary);
164
+ box-shadow: 0 0 0 3px var(--vd-avatar-border), 0 0 0 5px var(--vd-color-primary);
165
165
  }
166
166
 
167
167
  .vd-avatar-ring-success {
168
- box-shadow: 0 0 0 3px var(--avatar-border), 0 0 0 5px var(--color-success);
168
+ box-shadow: 0 0 0 3px var(--vd-avatar-border), 0 0 0 5px var(--vd-color-success);
169
169
  }
170
170
 
171
171
  .vd-avatar-ring-warning {
172
- box-shadow: 0 0 0 3px var(--avatar-border), 0 0 0 5px var(--color-warning);
172
+ box-shadow: 0 0 0 3px var(--vd-avatar-border), 0 0 0 5px var(--vd-color-warning);
173
173
  }
174
174
 
175
175
  .vd-avatar-ring-error {
176
- box-shadow: 0 0 0 3px var(--avatar-border), 0 0 0 5px var(--color-error);
176
+ box-shadow: 0 0 0 3px var(--vd-avatar-border), 0 0 0 5px var(--vd-color-error);
177
177
  }
178
178
 
179
179
  /* Avatar Group (stacked avatars) */
@@ -183,7 +183,7 @@
183
183
  }
184
184
 
185
185
  .vd-avatar-group .vd-avatar {
186
- border: 2px solid var(--avatar-border);
186
+ border: 2px solid var(--vd-avatar-border);
187
187
  margin-left: -0.75rem;
188
188
  }
189
189
 
@@ -209,50 +209,50 @@
209
209
  display: inline-flex;
210
210
  align-items: center;
211
211
  justify-content: center;
212
- width: var(--avatar-size);
213
- height: var(--avatar-size);
212
+ width: var(--vd-avatar-size);
213
+ height: var(--vd-avatar-size);
214
214
  border-radius: 50%;
215
- background-color: var(--color-gray-200);
216
- color: var(--text-primary);
217
- font-size: var(--font-size-sm);
218
- font-weight: var(--font-weight-medium);
219
- border: 2px solid var(--avatar-border);
215
+ background-color: var(--vd-color-gray-200);
216
+ color: var(--vd-text-primary);
217
+ font-size: var(--vd-font-size-sm);
218
+ font-weight: var(--vd-font-weight-medium);
219
+ border: 2px solid var(--vd-avatar-border);
220
220
  margin-left: -0.75rem;
221
221
  }
222
222
 
223
223
  [data-theme="dark"] .vd-avatar-group-count {
224
- background-color: var(--color-gray-700);
224
+ background-color: var(--vd-color-gray-700);
225
225
  }
226
226
 
227
227
  /* Color Variants */
228
228
  .vd-avatar-primary {
229
- background-color: var(--color-primary);
230
- color: var(--color-white);
229
+ background-color: var(--vd-color-primary);
230
+ color: var(--vd-color-white);
231
231
  }
232
232
 
233
233
  .vd-avatar-secondary {
234
- background-color: var(--color-secondary);
235
- color: var(--color-white);
234
+ background-color: var(--vd-color-secondary);
235
+ color: var(--vd-color-white);
236
236
  }
237
237
 
238
238
  .vd-avatar-success {
239
- background-color: var(--color-success);
240
- color: var(--color-white);
239
+ background-color: var(--vd-color-success);
240
+ color: var(--vd-color-white);
241
241
  }
242
242
 
243
243
  .vd-avatar-warning {
244
- background-color: var(--color-warning);
245
- color: var(--color-gray-900);
244
+ background-color: var(--vd-color-warning);
245
+ color: var(--vd-color-gray-900);
246
246
  }
247
247
 
248
248
  .vd-avatar-error {
249
- background-color: var(--color-error);
250
- color: var(--color-white);
249
+ background-color: var(--vd-color-error);
250
+ color: var(--vd-color-white);
251
251
  }
252
252
 
253
253
  .vd-avatar-info {
254
- background-color: var(--color-info);
255
- color: var(--color-white);
254
+ background-color: var(--vd-color-info);
255
+ color: var(--vd-color-white);
256
256
  }
257
257
 
258
258
  /* Clickable Avatar */
@@ -269,7 +269,7 @@ button.vd-avatar:hover {
269
269
 
270
270
  a.vd-avatar:focus-visible,
271
271
  button.vd-avatar:focus-visible {
272
- outline: 2px solid var(--color-primary);
272
+ outline: 2px solid var(--vd-color-primary);
273
273
  outline-offset: 2px;
274
274
  }
275
275
 
@@ -5,23 +5,23 @@
5
5
 
6
6
  :root {
7
7
  /* Badge Padding (x/y ratio ~ phi) */
8
- --badge-padding-y: 0.3em;
9
- --badge-padding-x: 0.48em; /* 0.48/0.3 = 1.6 ~ phi */
10
- --badge-padding-y-sm: 0.18em;
11
- --badge-padding-x-sm: 0.3em; /* 0.3/0.18 = 1.67 ~ phi */
12
- --badge-padding-y-lg: 0.42em;
13
- --badge-padding-x-lg: 0.65em; /* 0.65/0.42 = 1.55 ~ phi */
8
+ --vd-badge-padding-y: 0.3em;
9
+ --vd-badge-padding-x: 0.48em; /* 0.48/0.3 = 1.6 ~ phi */
10
+ --vd-badge-padding-y-sm: 0.18em;
11
+ --vd-badge-padding-x-sm: 0.3em; /* 0.3/0.18 = 1.67 ~ phi */
12
+ --vd-badge-padding-y-lg: 0.42em;
13
+ --vd-badge-padding-x-lg: 0.65em; /* 0.65/0.42 = 1.55 ~ phi */
14
14
 
15
15
  /* Badge Font */
16
- --badge-font-size: 0.8125em;
17
- --badge-font-size-sm: 0.7em;
18
- --badge-font-size-lg: 0.9375em;
19
- --badge-font-weight: var(--font-weight-semibold);
20
- --badge-line-height: 1;
16
+ --vd-badge-font-size: 0.8125em;
17
+ --vd-badge-font-size-sm: 0.7em;
18
+ --vd-badge-font-size-lg: 0.9375em;
19
+ --vd-badge-font-weight: var(--vd-font-weight-semibold);
20
+ --vd-badge-line-height: 1;
21
21
 
22
22
  /* Badge Border Radius */
23
- --badge-border-radius: var(--btn-border-radius-sm);
24
- --badge-pill-border-radius: 50rem;
23
+ --vd-badge-border-radius: var(--vd-btn-border-radius-sm);
24
+ --vd-badge-pill-border-radius: 50rem;
25
25
  }
26
26
 
27
27
  /* Dark Theme Overrides */
@@ -37,99 +37,99 @@
37
37
 
38
38
  /* Dark Theme - Light badge needs different colors */
39
39
  [data-theme="dark"] .vd-badge-light {
40
- background-color: var(--color-gray-700);
41
- color: var(--color-gray-100);
40
+ background-color: var(--vd-color-gray-700);
41
+ color: var(--vd-color-gray-100);
42
42
  }
43
43
 
44
44
  [data-theme="dark"] .vd-badge-outlined.vd-badge-light {
45
- color: var(--color-gray-300);
46
- border-color: var(--color-gray-500);
45
+ color: var(--vd-color-gray-300);
46
+ border-color: var(--vd-color-gray-500);
47
47
  }
48
48
 
49
49
  @media (prefers-color-scheme: dark) {
50
50
  :root:not([data-theme]) .vd-badge-light {
51
- background-color: var(--color-gray-700);
52
- color: var(--color-gray-100);
51
+ background-color: var(--vd-color-gray-700);
52
+ color: var(--vd-color-gray-100);
53
53
  }
54
54
 
55
55
  :root:not([data-theme]) .vd-badge-outlined.vd-badge-light {
56
- color: var(--color-gray-300);
57
- border-color: var(--color-gray-500);
56
+ color: var(--vd-color-gray-300);
57
+ border-color: var(--vd-color-gray-500);
58
58
  }
59
59
  }
60
60
 
61
61
  /* Base Badge */
62
62
  .vd-badge {
63
63
  display: inline-block;
64
- padding: var(--badge-padding-y) var(--badge-padding-x);
65
- font-size: var(--badge-font-size);
66
- font-weight: var(--badge-font-weight);
67
- line-height: var(--badge-line-height);
68
- color: var(--color-white);
64
+ padding: var(--vd-badge-padding-y) var(--vd-badge-padding-x);
65
+ font-size: var(--vd-badge-font-size);
66
+ font-weight: var(--vd-badge-font-weight);
67
+ line-height: var(--vd-badge-line-height);
68
+ color: var(--vd-color-white);
69
69
  text-align: center;
70
70
  white-space: nowrap;
71
71
  vertical-align: baseline;
72
- border-radius: var(--badge-border-radius);
73
- background-color: var(--color-secondary);
72
+ border-radius: var(--vd-badge-border-radius);
73
+ background-color: var(--vd-color-secondary);
74
74
  }
75
75
 
76
76
  /* Badge Variants */
77
77
  .vd-badge-primary {
78
- background-color: var(--color-primary);
79
- color: var(--color-white);
78
+ background-color: var(--vd-color-primary);
79
+ color: var(--vd-color-white);
80
80
  }
81
81
 
82
82
  .vd-badge-secondary {
83
- background-color: var(--color-secondary);
84
- color: var(--color-white);
83
+ background-color: var(--vd-color-secondary);
84
+ color: var(--vd-color-white);
85
85
  }
86
86
 
87
87
  .vd-badge-success {
88
- background-color: var(--color-success);
89
- color: var(--color-white);
88
+ background-color: var(--vd-color-success);
89
+ color: var(--vd-color-white);
90
90
  }
91
91
 
92
92
  .vd-badge-warning {
93
- background-color: var(--color-warning);
94
- color: var(--color-gray-900);
93
+ background-color: var(--vd-color-warning);
94
+ color: var(--vd-color-gray-900);
95
95
  }
96
96
 
97
97
  .vd-badge-error {
98
- background-color: var(--color-error);
99
- color: var(--color-white);
98
+ background-color: var(--vd-color-error);
99
+ color: var(--vd-color-white);
100
100
  }
101
101
 
102
102
  .vd-badge-info {
103
- background-color: var(--color-info);
104
- color: var(--color-white);
103
+ background-color: var(--vd-color-info);
104
+ color: var(--vd-color-white);
105
105
  }
106
106
 
107
107
  .vd-badge-light {
108
- background-color: var(--color-gray-100);
109
- color: var(--color-gray-900);
108
+ background-color: var(--vd-color-gray-100);
109
+ color: var(--vd-color-gray-900);
110
110
  }
111
111
 
112
112
  .vd-badge-dark {
113
- background-color: var(--color-gray-800);
114
- color: var(--color-white);
113
+ background-color: var(--vd-color-gray-800);
114
+ color: var(--vd-color-white);
115
115
  }
116
116
 
117
117
  /* Badge Sizes */
118
118
  .vd-badge-sm {
119
- padding: var(--badge-padding-y-sm) var(--badge-padding-x-sm);
120
- font-size: var(--badge-font-size-sm);
119
+ padding: var(--vd-badge-padding-y-sm) var(--vd-badge-padding-x-sm);
120
+ font-size: var(--vd-badge-font-size-sm);
121
121
  }
122
122
 
123
123
  .vd-badge-lg {
124
- padding: var(--badge-padding-y-lg) var(--badge-padding-x-lg);
125
- font-size: var(--badge-font-size-lg);
124
+ padding: var(--vd-badge-padding-y-lg) var(--vd-badge-padding-x-lg);
125
+ font-size: var(--vd-badge-font-size-lg);
126
126
  }
127
127
 
128
128
  /* Badge Styles */
129
129
  .vd-badge-pill {
130
- padding-right: var(--badge-padding-x);
131
- padding-left: var(--badge-padding-x);
132
- border-radius: var(--badge-pill-border-radius);
130
+ padding-right: var(--vd-badge-padding-x);
131
+ padding-left: var(--vd-badge-padding-x);
132
+ border-radius: var(--vd-badge-pill-border-radius);
133
133
  }
134
134
 
135
135
  .vd-badge-outlined {
@@ -138,43 +138,43 @@
138
138
  }
139
139
 
140
140
  .vd-badge-outlined.vd-badge-primary {
141
- color: var(--color-primary);
142
- border-color: var(--color-primary);
141
+ color: var(--vd-color-primary);
142
+ border-color: var(--vd-color-primary);
143
143
  }
144
144
 
145
145
  .vd-badge-outlined.vd-badge-secondary {
146
- color: var(--color-secondary);
147
- border-color: var(--color-secondary);
146
+ color: var(--vd-color-secondary);
147
+ border-color: var(--vd-color-secondary);
148
148
  }
149
149
 
150
150
  .vd-badge-outlined.vd-badge-success {
151
- color: var(--color-success);
152
- border-color: var(--color-success);
151
+ color: var(--vd-color-success);
152
+ border-color: var(--vd-color-success);
153
153
  }
154
154
 
155
155
  .vd-badge-outlined.vd-badge-warning {
156
- color: var(--color-warning);
157
- border-color: var(--color-warning);
156
+ color: var(--vd-color-warning);
157
+ border-color: var(--vd-color-warning);
158
158
  }
159
159
 
160
160
  .vd-badge-outlined.vd-badge-error {
161
- color: var(--color-error);
162
- border-color: var(--color-error);
161
+ color: var(--vd-color-error);
162
+ border-color: var(--vd-color-error);
163
163
  }
164
164
 
165
165
  .vd-badge-outlined.vd-badge-info {
166
- color: var(--color-info);
167
- border-color: var(--color-info);
166
+ color: var(--vd-color-info);
167
+ border-color: var(--vd-color-info);
168
168
  }
169
169
 
170
170
  .vd-badge-outlined.vd-badge-light {
171
- color: var(--color-gray-600);
172
- border-color: var(--color-gray-300);
171
+ color: var(--vd-color-gray-600);
172
+ border-color: var(--vd-color-gray-300);
173
173
  }
174
174
 
175
175
  .vd-badge-outlined.vd-badge-dark {
176
- color: var(--color-gray-800);
177
- border-color: var(--color-gray-800);
176
+ color: var(--vd-color-gray-800);
177
+ border-color: var(--vd-color-gray-800);
178
178
  }
179
179
 
180
180
  /* Badge Positioning (for use with buttons, avatars, etc.) */
@@ -5,35 +5,35 @@
5
5
 
6
6
  :root {
7
7
  /* Breadcrumb Spacing (Fibonacci) */
8
- --breadcrumb-padding-y: 0.5rem; /* 8px - fib */
9
- --breadcrumb-padding-x: 0;
10
- --breadcrumb-margin-bottom: 0.8125rem; /* 13px - fib */
8
+ --vd-breadcrumb-padding-y: 0.5rem; /* 8px - fib */
9
+ --vd-breadcrumb-padding-x: 0;
10
+ --vd-breadcrumb-margin-bottom: 0.8125rem; /* 13px - fib */
11
11
 
12
12
  /* Breadcrumb Separator */
13
- --breadcrumb-separator: "/";
14
- --breadcrumb-separator-color: var(--text-muted);
15
- --breadcrumb-separator-padding: 0.5rem; /* 8px - fib */
13
+ --vd-breadcrumb-separator: "/";
14
+ --vd-breadcrumb-separator-color: var(--vd-text-muted);
15
+ --vd-breadcrumb-separator-padding: 0.5rem; /* 8px - fib */
16
16
 
17
17
  /* Breadcrumb Colors */
18
- --breadcrumb-bg: transparent;
19
- --breadcrumb-link-color: var(--color-primary);
20
- --breadcrumb-link-hover-color: var(--color-primary-dark);
21
- --breadcrumb-active-color: var(--text-secondary);
18
+ --vd-breadcrumb-bg: transparent;
19
+ --vd-breadcrumb-link-color: var(--vd-color-primary);
20
+ --vd-breadcrumb-link-hover-color: var(--vd-color-primary-dark);
21
+ --vd-breadcrumb-active-color: var(--vd-text-secondary);
22
22
  }
23
23
 
24
24
  /* Dark Theme Overrides - breadcrumbs use CSS variables that already adapt */
25
- /* No additional overrides needed as --text-secondary and --color-primary update in dark mode */
25
+ /* No additional overrides needed as --vd-text-secondary and --vd-color-primary update in dark mode */
26
26
 
27
27
  /* Base Breadcrumbs */
28
28
  .vd-breadcrumbs,
29
29
  .vd-breadcrumb {
30
30
  display: flex;
31
31
  flex-wrap: wrap;
32
- padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);
33
- margin-bottom: var(--breadcrumb-margin-bottom);
32
+ padding: var(--vd-breadcrumb-padding-y) var(--vd-breadcrumb-padding-x);
33
+ margin-bottom: var(--vd-breadcrumb-margin-bottom);
34
34
  list-style: none;
35
- background-color: var(--breadcrumb-bg);
36
- border-radius: var(--btn-border-radius);
35
+ background-color: var(--vd-breadcrumb-bg);
36
+ border-radius: var(--vd-btn-border-radius);
37
37
  }
38
38
 
39
39
  /* Breadcrumb Item */
@@ -43,34 +43,34 @@
43
43
  }
44
44
 
45
45
  .vd-breadcrumb-item + .vd-breadcrumb-item {
46
- padding-left: var(--breadcrumb-separator-padding);
46
+ padding-left: var(--vd-breadcrumb-separator-padding);
47
47
  }
48
48
 
49
49
  .vd-breadcrumb-item + .vd-breadcrumb-item::before {
50
- content: var(--breadcrumb-separator);
50
+ content: var(--vd-breadcrumb-separator);
51
51
  display: inline-block;
52
- padding-right: var(--breadcrumb-separator-padding);
53
- color: var(--breadcrumb-separator-color);
54
- font-weight: var(--font-weight-normal);
52
+ padding-right: var(--vd-breadcrumb-separator-padding);
53
+ color: var(--vd-breadcrumb-separator-color);
54
+ font-weight: var(--vd-font-weight-normal);
55
55
  }
56
56
 
57
57
  /* Breadcrumb Link */
58
58
  .vd-breadcrumb-link,
59
59
  .vd-breadcrumb-item > a {
60
- color: var(--breadcrumb-link-color);
60
+ color: var(--vd-breadcrumb-link-color);
61
61
  text-decoration: none;
62
62
  transition: color 0.2s ease;
63
63
  }
64
64
 
65
65
  .vd-breadcrumb-link:hover,
66
66
  .vd-breadcrumb-item > a:hover {
67
- color: var(--breadcrumb-link-hover-color);
67
+ color: var(--vd-breadcrumb-link-hover-color);
68
68
  text-decoration: underline;
69
69
  }
70
70
 
71
71
  .vd-breadcrumb-link:focus,
72
72
  .vd-breadcrumb-item > a:focus {
73
- outline: 2px solid var(--color-primary);
73
+ outline: 2px solid var(--vd-color-primary);
74
74
  outline-offset: 2px;
75
75
  border-radius: 0.25rem;
76
76
  }
@@ -78,12 +78,12 @@
78
78
  /* Active/Current Breadcrumb Item */
79
79
  .vd-breadcrumb-item.active,
80
80
  .vd-breadcrumb-current {
81
- color: var(--breadcrumb-active-color);
81
+ color: var(--vd-breadcrumb-active-color);
82
82
  }
83
83
 
84
84
  .vd-breadcrumb-item.active > a,
85
85
  .vd-breadcrumb-current > a {
86
- color: var(--breadcrumb-active-color);
86
+ color: var(--vd-breadcrumb-active-color);
87
87
  pointer-events: none;
88
88
  cursor: default;
89
89
  }
@@ -123,24 +123,24 @@
123
123
 
124
124
  /* Breadcrumb Sizes */
125
125
  .vd-breadcrumb-sm {
126
- font-size: var(--font-size-sm);
127
- padding: calc(var(--breadcrumb-padding-y) * 0.75) var(--breadcrumb-padding-x);
126
+ font-size: var(--vd-font-size-sm);
127
+ padding: calc(var(--vd-breadcrumb-padding-y) * 0.75) var(--vd-breadcrumb-padding-x);
128
128
  }
129
129
 
130
130
  .vd-breadcrumb-lg {
131
- font-size: var(--font-size-lg);
132
- padding: calc(var(--breadcrumb-padding-y) * 1.25) var(--breadcrumb-padding-x);
131
+ font-size: var(--vd-font-size-lg);
132
+ padding: calc(var(--vd-breadcrumb-padding-y) * 1.25) var(--vd-breadcrumb-padding-x);
133
133
  }
134
134
 
135
135
  /* Responsive Behavior */
136
136
  @media (max-width: 575.98px) {
137
137
  .vd-breadcrumb-item {
138
- font-size: var(--font-size-sm);
138
+ font-size: var(--vd-font-size-sm);
139
139
  }
140
140
 
141
141
  .vd-breadcrumb-item + .vd-breadcrumb-item::before {
142
- padding-right: calc(var(--breadcrumb-separator-padding) * 0.75);
143
- padding-left: calc(var(--breadcrumb-separator-padding) * 0.75);
142
+ padding-right: calc(var(--vd-breadcrumb-separator-padding) * 0.75);
143
+ padding-left: calc(var(--vd-breadcrumb-separator-padding) * 0.75);
144
144
  }
145
145
  }
146
146