@vanduo-oss/framework 1.3.8 → 1.4.0

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 (119) hide show
  1. package/README.md +87 -41
  2. package/css/components/affix.css +1 -1
  3. package/css/components/alerts.css +40 -40
  4. package/css/components/avatar.css +33 -33
  5. package/css/components/badges.css +42 -42
  6. package/css/components/breadcrumbs.css +5 -5
  7. package/css/components/bubble.css +4 -4
  8. package/css/components/buttons.css +124 -124
  9. package/css/components/cards.css +10 -10
  10. package/css/components/chips.css +28 -28
  11. package/css/components/code-snippet.css +18 -18
  12. package/css/components/collapsible.css +28 -20
  13. package/css/components/collections.css +21 -21
  14. package/css/components/datepicker.css +13 -13
  15. package/css/components/doc-search.css +46 -53
  16. package/css/components/doc-tabs.css +10 -10
  17. package/css/components/draggable.css +34 -34
  18. package/css/components/dropdown.css +14 -14
  19. package/css/components/expanding-cards.css +1 -1
  20. package/css/components/fab.css +7 -7
  21. package/css/components/flow.css +3 -3
  22. package/css/components/footer.css +26 -26
  23. package/css/components/forms.css +95 -83
  24. package/css/components/image-box.css +13 -17
  25. package/css/components/modals.css +8 -8
  26. package/css/components/music-player.css +26 -26
  27. package/css/components/navbar.css +27 -27
  28. package/css/components/pagination.css +15 -15
  29. package/css/components/preloader.css +10 -10
  30. package/css/components/progress.css +8 -8
  31. package/css/components/rating.css +4 -4
  32. package/css/components/sidenav.css +14 -14
  33. package/css/components/skeleton.css +10 -9
  34. package/css/components/spinner.css +10 -10
  35. package/css/components/spotlight.css +7 -7
  36. package/css/components/stepper.css +13 -13
  37. package/css/components/suggest.css +10 -10
  38. package/css/components/tabs.css +22 -22
  39. package/css/components/theme-customizer.css +87 -87
  40. package/css/components/timeline.css +14 -14
  41. package/css/components/timepicker.css +7 -7
  42. package/css/components/toast.css +31 -31
  43. package/css/components/tooltips.css +11 -11
  44. package/css/components/transfer.css +12 -12
  45. package/css/components/tree.css +9 -9
  46. package/css/components/waypoint.css +3 -3
  47. package/css/core/colors.css +61 -35
  48. package/css/core/grid.css +1 -6
  49. package/css/core/helpers.css +11 -11
  50. package/css/core/tokens.css +114 -36
  51. package/css/core/typography.css +15 -13
  52. package/css/core/vd-aliases.css +100 -52
  53. package/css/effects/morph.css +5 -5
  54. package/css/utilities/media.css +2 -2
  55. package/css/utilities/table.css +34 -34
  56. package/css/utilities/transitions.css +22 -10
  57. package/css/vanduo.css +14 -34
  58. package/dist/build-info.json +3 -3
  59. package/dist/vanduo.cjs.js +935 -294
  60. package/dist/vanduo.cjs.js.map +3 -3
  61. package/dist/vanduo.cjs.min.js +7 -7
  62. package/dist/vanduo.cjs.min.js.map +3 -3
  63. package/dist/vanduo.css +7942 -7824
  64. package/dist/vanduo.css.map +1 -1
  65. package/dist/vanduo.esm.js +935 -294
  66. package/dist/vanduo.esm.js.map +3 -3
  67. package/dist/vanduo.esm.min.js +7 -7
  68. package/dist/vanduo.esm.min.js.map +3 -3
  69. package/dist/vanduo.js +935 -294
  70. package/dist/vanduo.js.map +3 -3
  71. package/dist/vanduo.min.css +2 -2
  72. package/dist/vanduo.min.css.map +1 -1
  73. package/dist/vanduo.min.js +7 -7
  74. package/dist/vanduo.min.js.map +3 -3
  75. package/js/components/affix.js +2 -2
  76. package/js/components/bubble.js +3 -3
  77. package/js/components/code-snippet.js +129 -5
  78. package/js/components/collapsible.js +2 -3
  79. package/js/components/datepicker.js +2 -2
  80. package/js/components/doc-search.js +69 -11
  81. package/js/components/draggable.js +4 -4
  82. package/js/components/dropdown.js +2 -3
  83. package/js/components/expanding-cards.js +2 -2
  84. package/js/components/flow.js +2 -2
  85. package/js/components/font-switcher.js +26 -16
  86. package/js/components/glass.js +2 -2
  87. package/js/components/grid.js +19 -8
  88. package/js/components/image-box.js +49 -10
  89. package/js/components/lazy-load.js +81 -9
  90. package/js/components/modals.js +28 -12
  91. package/js/components/morph.js +2 -2
  92. package/js/components/music-player.js +2 -2
  93. package/js/components/navbar.js +2 -2
  94. package/js/components/pagination.js +2 -3
  95. package/js/components/parallax.js +9 -10
  96. package/js/components/preloader.js +14 -5
  97. package/js/components/rating.js +2 -2
  98. package/js/components/ripple.js +2 -2
  99. package/js/components/select.js +2 -3
  100. package/js/components/sidenav.js +43 -14
  101. package/js/components/spotlight.js +2 -2
  102. package/js/components/stepper.js +2 -2
  103. package/js/components/suggest.js +9 -3
  104. package/js/components/tabs.js +2 -2
  105. package/js/components/theme-customizer.js +154 -23
  106. package/js/components/theme-switcher.js +27 -16
  107. package/js/components/timeline.js +41 -12
  108. package/js/components/timepicker.js +2 -2
  109. package/js/components/toast.js +1 -1
  110. package/js/components/tooltips.js +4 -4
  111. package/js/components/transfer.js +2 -2
  112. package/js/components/tree.js +2 -2
  113. package/js/components/validate.js +2 -2
  114. package/js/components/vd-hex.js +12 -6
  115. package/js/components/waypoint.js +2 -2
  116. package/js/utils/helpers.js +7 -4
  117. package/js/utils/lifecycle.js +158 -83
  118. package/js/vanduo.js +203 -34
  119. package/package.json +3 -4
@@ -10,8 +10,8 @@
10
10
  --customizer-gap: 0.75rem;
11
11
  --customizer-swatch-size: 28px;
12
12
  --customizer-radius-btn-width: 48px;
13
- --customizer-bg: var(--bg-primary);
14
- --customizer-border: var(--border-color);
13
+ --customizer-bg: var(--vd-bg-primary);
14
+ --customizer-border: var(--vd-border-color);
15
15
  --customizer-shadow: var(--shadow-lg);
16
16
  --customizer-z-index: 1050;
17
17
  }
@@ -55,13 +55,13 @@ body > .vd-theme-customizer-panel.is-open {
55
55
  align-items: center;
56
56
  justify-content: space-between;
57
57
  padding: 0.5rem var(--customizer-padding) 0.75rem;
58
- border-bottom: 1px solid var(--border-color);
58
+ border-bottom: 1px solid var(--vd-border-color);
59
59
  }
60
60
 
61
61
  .tc-title {
62
62
  font-size: var(--font-size-base);
63
63
  font-weight: var(--font-weight-semibold);
64
- color: var(--text-primary);
64
+ color: var(--vd-text-primary);
65
65
  margin: 0;
66
66
  }
67
67
 
@@ -71,7 +71,7 @@ body > .vd-theme-customizer-panel.is-open {
71
71
 
72
72
  .tc-footer {
73
73
  padding: 0.75rem var(--customizer-padding) 0.5rem;
74
- border-top: 1px solid var(--border-color);
74
+ border-top: 1px solid var(--vd-border-color);
75
75
  }
76
76
 
77
77
  .tc-section {
@@ -87,7 +87,7 @@ body > .vd-theme-customizer-panel.is-open {
87
87
  margin-bottom: 0.5rem;
88
88
  font-size: var(--font-size-sm);
89
89
  font-weight: var(--font-weight-medium);
90
- color: var(--text-primary);
90
+ color: var(--vd-text-primary);
91
91
  }
92
92
 
93
93
  /* Primary Color Grid */
@@ -114,13 +114,13 @@ body > .vd-theme-customizer-panel.is-open {
114
114
  }
115
115
 
116
116
  .tc-color-swatch:focus-visible {
117
- outline: 2px solid var(--color-primary);
117
+ outline: 2px solid var(--vd-color-primary);
118
118
  outline-offset: 2px;
119
119
  }
120
120
 
121
121
  .tc-color-swatch.is-active {
122
- border-color: var(--text-primary);
123
- box-shadow: 0 0 0 2px var(--bg-primary);
122
+ border-color: var(--vd-text-primary);
123
+ box-shadow: 0 0 0 2px var(--vd-bg-primary);
124
124
  }
125
125
 
126
126
  /* Neutral Color Grid */
@@ -137,7 +137,7 @@ body > .vd-theme-customizer-panel.is-open {
137
137
  gap: 0.25rem;
138
138
  padding: 0.5rem 0.25rem;
139
139
  background: transparent;
140
- border: 1px solid var(--border-color);
140
+ border: 1px solid var(--vd-border-color);
141
141
  border-radius: calc(var(--radius-scale, 0.25) * 0.5rem);
142
142
  cursor: pointer;
143
143
  transition: all 0.15s ease;
@@ -154,22 +154,22 @@ body > .vd-theme-customizer-panel.is-open {
154
154
 
155
155
  .tc-neutral-swatch span {
156
156
  font-size: var(--font-size-xs);
157
- color: var(--text-primary);
157
+ color: var(--vd-text-primary);
158
158
  }
159
159
 
160
160
  .tc-neutral-swatch:hover {
161
- background-color: var(--bg-secondary);
162
- border-color: var(--border-color-dark);
161
+ background-color: var(--vd-bg-secondary);
162
+ border-color: var(--vd-border-color-dark);
163
163
  }
164
164
 
165
165
  .tc-neutral-swatch:focus-visible {
166
- outline: 2px solid var(--color-primary);
166
+ outline: 2px solid var(--vd-color-primary);
167
167
  outline-offset: 1px;
168
168
  }
169
169
 
170
170
  .tc-neutral-swatch.is-active {
171
- background-color: var(--bg-secondary);
172
- border-color: var(--text-primary);
171
+ background-color: var(--vd-bg-secondary);
172
+ border-color: var(--vd-text-primary);
173
173
  }
174
174
 
175
175
  /* Radius Group */
@@ -185,8 +185,8 @@ body > .vd-theme-customizer-panel.is-open {
185
185
  justify-content: center;
186
186
  padding: 0.5rem 0.25rem;
187
187
  background: transparent;
188
- border: 1px solid var(--border-color);
189
- color: var(--text-primary);
188
+ border: 1px solid var(--vd-border-color);
189
+ color: var(--vd-text-primary);
190
190
  font-size: var(--font-size-xs);
191
191
  font-weight: var(--font-weight-medium);
192
192
  cursor: pointer;
@@ -206,20 +206,20 @@ body > .vd-theme-customizer-panel.is-open {
206
206
  }
207
207
 
208
208
  .tc-radius-btn:hover {
209
- background-color: var(--bg-secondary);
209
+ background-color: var(--vd-bg-secondary);
210
210
  z-index: 1;
211
211
  }
212
212
 
213
213
  .tc-radius-btn:focus-visible {
214
- outline: 2px solid var(--color-primary);
214
+ outline: 2px solid var(--vd-color-primary);
215
215
  outline-offset: 1px;
216
216
  z-index: 2;
217
217
  }
218
218
 
219
219
  .tc-radius-btn.is-active {
220
- background-color: var(--bg-dark);
221
- border-color: var(--bg-dark);
222
- color: var(--text-inverse);
220
+ background-color: var(--vd-bg-dark);
221
+ border-color: var(--vd-bg-dark);
222
+ color: var(--vd-text-inverse);
223
223
  z-index: 1;
224
224
  }
225
225
 
@@ -227,23 +227,23 @@ body > .vd-theme-customizer-panel.is-open {
227
227
  .tc-font-select {
228
228
  width: 100%;
229
229
  padding: 0.5rem 0.75rem;
230
- background-color: var(--bg-primary);
231
- border: 1px solid var(--border-color);
230
+ background-color: var(--vd-bg-primary);
231
+ border: 1px solid var(--vd-border-color);
232
232
  border-radius: calc(var(--radius-scale, 0.25) * 0.5rem);
233
- color: var(--text-primary);
233
+ color: var(--vd-text-primary);
234
234
  font-size: var(--font-size-sm);
235
235
  cursor: pointer;
236
236
  transition: border-color 0.15s ease;
237
237
  }
238
238
 
239
239
  .tc-font-select:hover {
240
- border-color: var(--border-color-dark);
240
+ border-color: var(--vd-border-color-dark);
241
241
  }
242
242
 
243
243
  .tc-font-select:focus {
244
244
  outline: none;
245
- border-color: var(--color-primary);
246
- box-shadow: 0 0 0 3px var(--color-primary-alpha-10);
245
+ border-color: var(--vd-color-primary);
246
+ box-shadow: 0 0 0 3px var(--vd-color-primary-alpha-10);
247
247
  }
248
248
 
249
249
  /* Mode Group */
@@ -260,8 +260,8 @@ body > .vd-theme-customizer-panel.is-open {
260
260
  gap: 0.375rem;
261
261
  padding: 0.5rem 0.5rem;
262
262
  background: transparent;
263
- border: 1px solid var(--border-color);
264
- color: var(--text-primary);
263
+ border: 1px solid var(--vd-border-color);
264
+ color: var(--vd-text-primary);
265
265
  font-size: var(--font-size-xs);
266
266
  cursor: pointer;
267
267
  transition: all 0.15s ease;
@@ -280,20 +280,20 @@ body > .vd-theme-customizer-panel.is-open {
280
280
  }
281
281
 
282
282
  .tc-mode-btn:hover {
283
- background-color: var(--bg-secondary);
283
+ background-color: var(--vd-bg-secondary);
284
284
  z-index: 1;
285
285
  }
286
286
 
287
287
  .tc-mode-btn:focus-visible {
288
- outline: 2px solid var(--color-primary);
288
+ outline: 2px solid var(--vd-color-primary);
289
289
  outline-offset: 1px;
290
290
  z-index: 2;
291
291
  }
292
292
 
293
293
  .tc-mode-btn.is-active {
294
- background-color: var(--bg-dark);
295
- border-color: var(--bg-dark);
296
- color: var(--text-inverse);
294
+ background-color: var(--vd-bg-dark);
295
+ border-color: var(--vd-bg-dark);
296
+ color: var(--vd-text-inverse);
297
297
  z-index: 1;
298
298
  }
299
299
 
@@ -319,21 +319,21 @@ body > .vd-theme-customizer-panel.is-open {
319
319
  height: 2.5rem;
320
320
  padding: 0;
321
321
  background: transparent;
322
- border: 1px solid var(--border-color);
322
+ border: 1px solid var(--vd-border-color);
323
323
  border-radius: var(--btn-border-radius);
324
- color: var(--text-primary);
324
+ color: var(--vd-text-primary);
325
325
  cursor: pointer;
326
326
  transition: all 0.2s ease;
327
327
  }
328
328
 
329
329
  .vd-theme-customizer-trigger:hover {
330
- background-color: var(--bg-secondary);
331
- border-color: var(--color-primary);
332
- color: var(--color-primary);
330
+ background-color: var(--vd-bg-secondary);
331
+ border-color: var(--vd-color-primary);
332
+ color: var(--vd-color-primary);
333
333
  }
334
334
 
335
335
  .vd-theme-customizer-trigger:focus-visible {
336
- outline: 2px solid var(--color-primary);
336
+ outline: 2px solid var(--vd-color-primary);
337
337
  outline-offset: 2px;
338
338
  }
339
339
 
@@ -342,9 +342,9 @@ body > .vd-theme-customizer-panel.is-open {
342
342
  }
343
343
 
344
344
  .vd-theme-customizer-trigger[aria-expanded="true"] {
345
- background-color: var(--color-primary-alpha-10);
346
- border-color: var(--color-primary);
347
- color: var(--color-primary);
345
+ background-color: var(--vd-color-primary-alpha-10);
346
+ border-color: var(--vd-color-primary);
347
+ color: var(--vd-color-primary);
348
348
  }
349
349
 
350
350
  /* ==========================================================================
@@ -400,7 +400,7 @@ body > .vd-theme-customizer-panel.is-open {
400
400
  margin-bottom: 0.625rem;
401
401
  font-size: var(--font-size-sm);
402
402
  font-weight: var(--font-weight-medium);
403
- color: var(--text-primary);
403
+ color: var(--vd-text-primary);
404
404
  }
405
405
 
406
406
  .customizer-help {
@@ -412,13 +412,13 @@ body > .vd-theme-customizer-panel.is-open {
412
412
  padding: 0;
413
413
  background: transparent;
414
414
  border: none;
415
- color: var(--text-muted);
415
+ color: var(--vd-text-muted);
416
416
  cursor: help;
417
417
  font-size: 0.75rem;
418
418
  }
419
419
 
420
420
  .customizer-help:hover {
421
- color: var(--text-primary);
421
+ color: var(--vd-text-primary);
422
422
  }
423
423
 
424
424
  /* ==========================================================================
@@ -437,7 +437,7 @@ body > .vd-theme-customizer-panel.is-open {
437
437
  gap: 0.5rem;
438
438
  padding: 0.375rem 0.5rem;
439
439
  background: transparent;
440
- border: 1px solid var(--border-color);
440
+ border: 1px solid var(--vd-border-color);
441
441
  border-radius: var(--btn-border-radius);
442
442
  cursor: pointer;
443
443
  transition: all 0.15s ease;
@@ -445,18 +445,18 @@ body > .vd-theme-customizer-panel.is-open {
445
445
  }
446
446
 
447
447
  .customizer-swatch:hover {
448
- background-color: var(--bg-secondary);
449
- border-color: var(--border-color-dark);
448
+ background-color: var(--vd-bg-secondary);
449
+ border-color: var(--vd-border-color-dark);
450
450
  }
451
451
 
452
452
  .customizer-swatch:focus-visible {
453
- outline: 2px solid var(--color-primary);
453
+ outline: 2px solid var(--vd-color-primary);
454
454
  outline-offset: 1px;
455
455
  }
456
456
 
457
457
  .customizer-swatch.is-active {
458
- background-color: var(--bg-secondary);
459
- border-color: var(--text-primary);
458
+ background-color: var(--vd-bg-secondary);
459
+ border-color: var(--vd-text-primary);
460
460
  }
461
461
 
462
462
  .customizer-swatch-dot {
@@ -470,7 +470,7 @@ body > .vd-theme-customizer-panel.is-open {
470
470
 
471
471
  .customizer-swatch-label {
472
472
  font-size: var(--font-size-xs);
473
- color: var(--text-primary);
473
+ color: var(--vd-text-primary);
474
474
  white-space: nowrap;
475
475
  overflow: hidden;
476
476
  text-overflow: ellipsis;
@@ -512,8 +512,8 @@ body > .vd-theme-customizer-panel.is-open {
512
512
  justify-content: center;
513
513
  padding: 0.5rem 0.25rem;
514
514
  background: transparent;
515
- border: 1px solid var(--border-color);
516
- color: var(--text-primary);
515
+ border: 1px solid var(--vd-border-color);
516
+ color: var(--vd-text-primary);
517
517
  font-size: var(--font-size-xs);
518
518
  font-weight: var(--font-weight-medium);
519
519
  cursor: pointer;
@@ -533,20 +533,20 @@ body > .vd-theme-customizer-panel.is-open {
533
533
  }
534
534
 
535
535
  .customizer-radius-btn:hover {
536
- background-color: var(--bg-secondary);
536
+ background-color: var(--vd-bg-secondary);
537
537
  z-index: 1;
538
538
  }
539
539
 
540
540
  .customizer-radius-btn:focus-visible {
541
- outline: 2px solid var(--color-primary);
541
+ outline: 2px solid var(--vd-color-primary);
542
542
  outline-offset: 1px;
543
543
  z-index: 2;
544
544
  }
545
545
 
546
546
  .customizer-radius-btn.is-active {
547
- background-color: var(--bg-dark);
548
- border-color: var(--bg-dark);
549
- color: var(--text-inverse);
547
+ background-color: var(--vd-bg-dark);
548
+ border-color: var(--vd-bg-dark);
549
+ color: var(--vd-text-inverse);
550
550
  z-index: 1;
551
551
  }
552
552
 
@@ -568,7 +568,7 @@ body > .vd-theme-customizer-panel.is-open {
568
568
  left: 0.625rem;
569
569
  top: 50%;
570
570
  transform: translateY(-50%);
571
- color: var(--text-muted);
571
+ color: var(--vd-text-muted);
572
572
  pointer-events: none;
573
573
  }
574
574
 
@@ -589,8 +589,8 @@ body > .vd-theme-customizer-panel.is-open {
589
589
  gap: 0.375rem;
590
590
  padding: 0.5rem 0.5rem;
591
591
  background: transparent;
592
- border: 1px solid var(--border-color);
593
- color: var(--text-primary);
592
+ border: 1px solid var(--vd-border-color);
593
+ color: var(--vd-text-primary);
594
594
  font-size: var(--font-size-xs);
595
595
  cursor: pointer;
596
596
  transition: all 0.15s ease;
@@ -609,20 +609,20 @@ body > .vd-theme-customizer-panel.is-open {
609
609
  }
610
610
 
611
611
  .customizer-mode-btn:hover {
612
- background-color: var(--bg-secondary);
612
+ background-color: var(--vd-bg-secondary);
613
613
  z-index: 1;
614
614
  }
615
615
 
616
616
  .customizer-mode-btn:focus-visible {
617
- outline: 2px solid var(--color-primary);
617
+ outline: 2px solid var(--vd-color-primary);
618
618
  outline-offset: 1px;
619
619
  z-index: 2;
620
620
  }
621
621
 
622
622
  .customizer-mode-btn.is-active {
623
- background-color: var(--bg-dark);
624
- border-color: var(--bg-dark);
625
- color: var(--text-inverse);
623
+ background-color: var(--vd-bg-dark);
624
+ border-color: var(--vd-bg-dark);
625
+ color: var(--vd-text-inverse);
626
626
  z-index: 1;
627
627
  }
628
628
 
@@ -635,8 +635,8 @@ body > .vd-theme-customizer-panel.is-open {
635
635
  ========================================================================== */
636
636
 
637
637
  [data-theme="dark"] {
638
- --customizer-bg: var(--bg-primary);
639
- --customizer-border: var(--border-color);
638
+ --customizer-bg: var(--vd-bg-primary);
639
+ --customizer-border: var(--vd-border-color);
640
640
  }
641
641
 
642
642
  [data-theme="dark"] .customizer-swatch-dot,
@@ -655,8 +655,8 @@ body > .vd-theme-customizer-panel.is-open {
655
655
 
656
656
  @media (prefers-color-scheme: dark) {
657
657
  :root:not([data-theme]) {
658
- --customizer-bg: var(--bg-primary);
659
- --customizer-border: var(--border-color);
658
+ --customizer-bg: var(--vd-bg-primary);
659
+ --customizer-border: var(--vd-border-color);
660
660
  }
661
661
 
662
662
  :root:not([data-theme]) .customizer-swatch-dot,
@@ -728,14 +728,14 @@ body > .vd-theme-customizer-panel.is-open {
728
728
  height: 2rem;
729
729
  padding: 0;
730
730
  background: transparent;
731
- border: 1px solid var(--border-color);
731
+ border: 1px solid var(--vd-border-color);
732
732
  border-radius: calc(var(--radius-scale, 0.25) * 0.5rem);
733
- color: var(--text-primary);
733
+ color: var(--vd-text-primary);
734
734
  cursor: pointer;
735
735
  }
736
736
 
737
737
  .customizer-mobile-close:hover {
738
- background-color: var(--bg-secondary);
738
+ background-color: var(--vd-bg-secondary);
739
739
  }
740
740
 
741
741
  /* Mobile overlay */
@@ -781,12 +781,12 @@ body > .vd-theme-customizer-panel.is-open {
781
781
  }
782
782
 
783
783
  .vd-theme-customizer-panel::-webkit-scrollbar-thumb {
784
- background-color: var(--border-color);
784
+ background-color: var(--vd-border-color);
785
785
  border-radius: 3px;
786
786
  }
787
787
 
788
788
  .vd-theme-customizer-panel::-webkit-scrollbar-thumb:hover {
789
- background-color: var(--text-muted);
789
+ background-color: var(--vd-text-muted);
790
790
  }
791
791
 
792
792
  /* ==========================================================================
@@ -799,13 +799,13 @@ body > .vd-theme-customizer-panel.is-open {
799
799
  justify-content: space-between;
800
800
  padding-bottom: 0.75rem;
801
801
  margin-bottom: 0.75rem;
802
- border-bottom: 1px solid var(--border-color);
802
+ border-bottom: 1px solid var(--vd-border-color);
803
803
  }
804
804
 
805
805
  .customizer-title {
806
806
  font-size: var(--font-size-base);
807
807
  font-weight: var(--font-weight-semibold);
808
- color: var(--text-primary);
808
+ color: var(--vd-text-primary);
809
809
  margin: 0;
810
810
  }
811
811
 
@@ -815,21 +815,21 @@ body > .vd-theme-customizer-panel.is-open {
815
815
  gap: 0.25rem;
816
816
  padding: 0.25rem 0.5rem;
817
817
  background: transparent;
818
- border: 1px solid var(--border-color);
818
+ border: 1px solid var(--vd-border-color);
819
819
  border-radius: var(--btn-border-radius);
820
- color: var(--text-muted);
820
+ color: var(--vd-text-muted);
821
821
  font-size: var(--font-size-xs);
822
822
  cursor: pointer;
823
823
  transition: all 0.15s ease;
824
824
  }
825
825
 
826
826
  .customizer-reset:hover {
827
- background-color: var(--bg-secondary);
828
- color: var(--text-primary);
829
- border-color: var(--border-color-dark);
827
+ background-color: var(--vd-bg-secondary);
828
+ color: var(--vd-text-primary);
829
+ border-color: var(--vd-border-color-dark);
830
830
  }
831
831
 
832
832
  .customizer-reset:focus-visible {
833
- outline: 2px solid var(--color-primary);
833
+ outline: 2px solid var(--vd-color-primary);
834
834
  outline-offset: 1px;
835
835
  }
@@ -5,11 +5,11 @@
5
5
 
6
6
  :root {
7
7
  /* Timeline Colors */
8
- --timeline-line-color: var(--border-color, #dee2e6);
9
- --timeline-marker-bg: var(--color-primary, #0d6efd);
8
+ --timeline-line-color: var(--vd-border-color, #dee2e6);
9
+ --timeline-marker-bg: var(--vd-color-primary, #0d6efd);
10
10
  --timeline-marker-color: #fff;
11
11
  --timeline-content-bg: var(--card-bg, #fff);
12
- --timeline-content-border: var(--border-color, #dee2e6);
12
+ --timeline-content-border: var(--vd-border-color, #dee2e6);
13
13
 
14
14
  /* Timeline Dimensions (Fibonacci) */
15
15
  --timeline-line-width: 2px;
@@ -21,16 +21,16 @@
21
21
  }
22
22
 
23
23
  [data-theme="dark"] {
24
- --timeline-line-color: var(--color-gray-600, #6c757d);
24
+ --timeline-line-color: var(--vd-color-gray-600, #6c757d);
25
25
  --timeline-content-bg: var(--card-bg, #2d2d44);
26
- --timeline-content-border: var(--border-color, #3d3d5c);
26
+ --timeline-content-border: var(--vd-border-color, #3d3d5c);
27
27
  }
28
28
 
29
29
  @media (prefers-color-scheme: dark) {
30
30
  :root:not([data-theme]) {
31
- --timeline-line-color: var(--color-gray-600, #6c757d);
31
+ --timeline-line-color: var(--vd-color-gray-600, #6c757d);
32
32
  --timeline-content-bg: var(--card-bg, #2d2d44);
33
- --timeline-content-border: var(--border-color, #3d3d5c);
33
+ --timeline-content-border: var(--vd-border-color, #3d3d5c);
34
34
  }
35
35
  }
36
36
 
@@ -108,7 +108,7 @@
108
108
 
109
109
  .vd-timeline-date {
110
110
  font-size: 0.75rem;
111
- color: var(--text-muted, #6c757d);
111
+ color: var(--vd-text-muted, #6c757d);
112
112
  margin-bottom: 0.3125rem;
113
113
  }
114
114
 
@@ -120,18 +120,18 @@
120
120
  /* ========== Color Variants ========== */
121
121
 
122
122
  .vd-timeline-item.vd-timeline-success .vd-timeline-marker {
123
- background: var(--color-success, #198754);
124
- box-shadow: 0 0 0 2px var(--color-success, #198754);
123
+ background: var(--vd-color-success, #198754);
124
+ box-shadow: 0 0 0 2px var(--vd-color-success, #198754);
125
125
  }
126
126
 
127
127
  .vd-timeline-item.vd-timeline-warning .vd-timeline-marker {
128
- background: var(--color-warning, #ffc107);
129
- box-shadow: 0 0 0 2px var(--color-warning, #ffc107);
128
+ background: var(--vd-color-warning, #ffc107);
129
+ box-shadow: 0 0 0 2px var(--vd-color-warning, #ffc107);
130
130
  }
131
131
 
132
132
  .vd-timeline-item.vd-timeline-danger .vd-timeline-marker {
133
- background: var(--color-danger, #dc3545);
134
- box-shadow: 0 0 0 2px var(--color-danger, #dc3545);
133
+ background: var(--vd-color-danger, #dc3545);
134
+ box-shadow: 0 0 0 2px var(--vd-color-danger, #dc3545);
135
135
  }
136
136
 
137
137
  /* ========== Alternating Mode ========== */
@@ -5,10 +5,10 @@
5
5
 
6
6
  :root {
7
7
  --tp-bg: var(--card-bg, #fff);
8
- --tp-border-color: var(--border-color, #dee2e6);
8
+ --tp-border-color: var(--vd-border-color, #dee2e6);
9
9
  --tp-shadow: 0 0.25rem 0.8125rem rgba(0, 0, 0, 0.12);
10
- --tp-item-hover-bg: var(--bg-secondary, #f8f9fa);
11
- --tp-item-selected-bg: var(--color-primary, #0d6efd);
10
+ --tp-item-hover-bg: var(--vd-bg-secondary, #f8f9fa);
11
+ --tp-item-selected-bg: var(--vd-color-primary, #0d6efd);
12
12
  --tp-item-selected-color: #fff;
13
13
  --tp-padding: 0.5rem;
14
14
  --tp-item-padding: 0.3125rem 0.8125rem; /* 5px 13px - fib */
@@ -19,16 +19,16 @@
19
19
 
20
20
  [data-theme="dark"] {
21
21
  --tp-bg: var(--card-bg, #2d2d44);
22
- --tp-border-color: var(--border-color, #3d3d5c);
23
- --tp-item-hover-bg: var(--bg-primary, #1a1a2e);
22
+ --tp-border-color: var(--vd-border-color, #3d3d5c);
23
+ --tp-item-hover-bg: var(--vd-bg-primary, #1a1a2e);
24
24
  --tp-shadow: 0 0.25rem 0.8125rem rgba(0, 0, 0, 0.3);
25
25
  }
26
26
 
27
27
  @media (prefers-color-scheme: dark) {
28
28
  :root:not([data-theme]) {
29
29
  --tp-bg: var(--card-bg, #2d2d44);
30
- --tp-border-color: var(--border-color, #3d3d5c);
31
- --tp-item-hover-bg: var(--bg-primary, #1a1a2e);
30
+ --tp-border-color: var(--vd-border-color, #3d3d5c);
31
+ --tp-item-hover-bg: var(--vd-bg-primary, #1a1a2e);
32
32
  --tp-shadow: 0 0.25rem 0.8125rem rgba(0, 0, 0, 0.3);
33
33
  }
34
34
  }