@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
@@ -3,59 +3,61 @@
3
3
  * Font system, headings, and text utilities
4
4
  */
5
5
 
6
+ /* stylelint-disable-next-line no-duplicate-selectors -- token families stay grouped by concern. */
6
7
  :root {
7
8
  /* Font Families */
8
- --font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
9
- --font-family-serif: Georgia, "Times New Roman", Times, serif;
10
- --font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
9
+ --vd-font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
10
+ --vd-font-family-serif: Georgia, "Times New Roman", Times, serif;
11
+ --vd-font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
11
12
  }
12
13
 
13
14
  /* Font Switching - Applied via data-font attribute on html element */
14
15
  [data-font="inter"] {
15
- --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
16
+ --vd-font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
16
17
  }
17
18
 
18
19
  [data-font="source-sans"] {
19
- --font-family-sans: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
20
+ --vd-font-family-sans: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
20
21
  }
21
22
 
22
23
  [data-font="fira-sans"] {
23
- --font-family-sans: 'Fira Sans', -apple-system, BlinkMacSystemFont, sans-serif;
24
+ --vd-font-family-sans: 'Fira Sans', -apple-system, BlinkMacSystemFont, sans-serif;
24
25
  }
25
26
 
26
27
  [data-font="ibm-plex"] {
27
- --font-family-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
28
+ --vd-font-family-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
28
29
  }
29
30
 
30
31
  [data-font="jetbrains-mono"] {
31
- --font-family-sans: 'JetBrains Mono', monospace;
32
- --font-family-mono: 'JetBrains Mono', monospace;
32
+ --vd-font-family-sans: 'JetBrains Mono', monospace;
33
+ --vd-font-family-mono: 'JetBrains Mono', monospace;
33
34
  }
34
35
 
35
36
  [data-font="ubuntu"] {
36
- --font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, sans-serif;
37
+ --vd-font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, sans-serif;
37
38
  }
38
39
 
39
40
  [data-font="lato"] {
40
- --font-family-sans: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
41
+ --vd-font-family-sans: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
41
42
  }
42
43
 
43
44
  [data-font="open-sans"] {
44
- --font-family-sans: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
45
+ --vd-font-family-sans: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
45
46
  }
46
47
 
47
48
  [data-font="zen-dots"] {
48
- --font-family-sans: 'Zen Dots', -apple-system, BlinkMacSystemFont, sans-serif;
49
+ --vd-font-family-sans: 'Zen Dots', -apple-system, BlinkMacSystemFont, sans-serif;
49
50
  }
50
51
 
51
52
  [data-font="rubik"] {
52
- --font-family-sans: 'Rubik', -apple-system, BlinkMacSystemFont, sans-serif;
53
+ --vd-font-family-sans: 'Rubik', -apple-system, BlinkMacSystemFont, sans-serif;
53
54
  }
54
55
 
55
56
  [data-font="titillium-web"] {
56
- --font-family-sans: 'Titillium Web', -apple-system, BlinkMacSystemFont, sans-serif;
57
+ --vd-font-family-sans: 'Titillium Web', -apple-system, BlinkMacSystemFont, sans-serif;
57
58
  }
58
59
 
60
+ /* stylelint-disable-next-line no-duplicate-selectors -- type scale tokens stay grouped separately from font-family tokens. */
59
61
  :root {
60
62
 
61
63
  /* Golden Ratio Type Scale (Fluid)
@@ -63,64 +65,64 @@
63
65
  * Mobile scale: ~1.414 (Augmented Fourth)
64
66
  * Desktop scale: 1.618 (Golden Ratio)
65
67
  */
66
- --font-size-xs: 0.625rem;
68
+ --vd-font-size-xs: 0.625rem;
67
69
  /* 10px */
68
- --font-size-sm: 0.8125rem;
70
+ --vd-font-size-sm: 0.8125rem;
69
71
  /* 13px */
70
- --font-size-base: 1rem;
72
+ --vd-font-size-base: 1rem;
71
73
  /* 16px */
72
- --font-size-lg: clamp(1.125rem, 1.08rem + 0.22vw, 1.25rem);
74
+ --vd-font-size-lg: clamp(1.125rem, 1.08rem + 0.22vw, 1.25rem);
73
75
  /* 18px -> 20px */
74
- --font-size-xl: clamp(1.35rem, 1.25rem + 0.5vw, 1.625rem);
76
+ --vd-font-size-xl: clamp(1.35rem, 1.25rem + 0.5vw, 1.625rem);
75
77
  /* 21.6px -> 26px */
76
- --font-size-2xl: clamp(1.62rem, 1.46rem + 0.8vw, 2.0625rem);
78
+ --vd-font-size-2xl: clamp(1.62rem, 1.46rem + 0.8vw, 2.0625rem);
77
79
  /* 26px -> 33px */
78
- --font-size-3xl: clamp(1.94rem, 1.69rem + 1.25vw, 2.625rem);
80
+ --vd-font-size-3xl: clamp(1.94rem, 1.69rem + 1.25vw, 2.625rem);
79
81
  /* 31px -> 42px */
80
- --font-size-4xl: clamp(2.33rem, 1.97rem + 1.8vw, 3.3125rem);
82
+ --vd-font-size-4xl: clamp(2.33rem, 1.97rem + 1.8vw, 3.3125rem);
81
83
  /* 37px -> 53px */
82
- --font-size-5xl: clamp(2.8rem, 2.27rem + 2.65vw, 4.25rem);
84
+ --vd-font-size-5xl: clamp(2.8rem, 2.27rem + 2.65vw, 4.25rem);
83
85
  /* 45px -> 68px */
84
- --font-size-6xl: clamp(3.36rem, 2.63rem + 3.65vw, 5.375rem);
86
+ --vd-font-size-6xl: clamp(3.36rem, 2.63rem + 3.65vw, 5.375rem);
85
87
  /* 54px -> 86px */
86
88
 
87
89
  /* Font Weights */
88
- --font-weight-light: 300;
89
- --font-weight-normal: 400;
90
- --font-weight-medium: 500;
91
- --font-weight-semibold: 600;
92
- --font-weight-bold: 700;
93
- --font-weight-extrabold: 800;
90
+ --vd-font-weight-light: 300;
91
+ --vd-font-weight-normal: 400;
92
+ --vd-font-weight-medium: 500;
93
+ --vd-font-weight-semibold: 600;
94
+ --vd-font-weight-bold: 700;
95
+ --vd-font-weight-extrabold: 800;
94
96
 
95
97
  /* Line Heights (phi-derived) */
96
- --line-height-none: 1;
97
- --line-height-tight: 1.236;
98
+ --vd-line-height-none: 1;
99
+ --vd-line-height-tight: 1.236;
98
100
  /* ~2/phi - for headings */
99
- --line-height-snug: 1.382;
101
+ --vd-line-height-snug: 1.382;
100
102
  /* ~(1+1/phi)/1.17 */
101
- --line-height-normal: 1.5;
103
+ --vd-line-height-normal: 1.5;
102
104
  /* body text standard */
103
- --line-height-relaxed: 1.618;
105
+ --vd-line-height-relaxed: 1.618;
104
106
  /* phi itself */
105
- --line-height-loose: 2;
107
+ --vd-line-height-loose: 2;
106
108
 
107
109
  /* Letter Spacing */
108
- --letter-spacing-tighter: -0.05em;
109
- --letter-spacing-tight: -0.025em;
110
- --letter-spacing-normal: 0;
111
- --letter-spacing-wide: 0.025em;
112
- --letter-spacing-wider: 0.05em;
113
- --letter-spacing-widest: 0.1em;
110
+ --vd-letter-spacing-tighter: -0.05em;
111
+ --vd-letter-spacing-tight: -0.025em;
112
+ --vd-letter-spacing-normal: 0;
113
+ --vd-letter-spacing-wide: 0.025em;
114
+ --vd-letter-spacing-wider: 0.05em;
115
+ --vd-letter-spacing-widest: 0.1em;
114
116
  }
115
117
 
116
118
  /* Base Typography */
117
119
  body {
118
- font-family: var(--font-family-sans);
119
- font-size: var(--font-size-base);
120
- font-weight: var(--font-weight-normal);
121
- line-height: var(--line-height-normal);
122
- color: var(--text-primary);
123
- background-color: var(--bg-primary);
120
+ font-family: var(--vd-font-family-sans);
121
+ font-size: var(--vd-font-size-base);
122
+ font-weight: var(--vd-font-weight-normal);
123
+ line-height: var(--vd-line-height-normal);
124
+ color: var(--vd-text-primary);
125
+ background-color: var(--vd-bg-primary);
124
126
  }
125
127
 
126
128
  /* Headings */
@@ -132,33 +134,33 @@ h5,
132
134
  h6 {
133
135
  margin-top: 0;
134
136
  margin-bottom: 0.5em;
135
- font-weight: var(--font-weight-bold);
136
- line-height: var(--line-height-tight);
137
- color: var(--text-primary);
137
+ font-weight: var(--vd-font-weight-bold);
138
+ line-height: var(--vd-line-height-tight);
139
+ color: var(--vd-text-primary);
138
140
  }
139
141
 
140
142
  h1 {
141
- font-size: var(--font-size-4xl);
143
+ font-size: var(--vd-font-size-4xl);
142
144
  }
143
145
 
144
146
  h2 {
145
- font-size: var(--font-size-3xl);
147
+ font-size: var(--vd-font-size-3xl);
146
148
  }
147
149
 
148
150
  h3 {
149
- font-size: var(--font-size-2xl);
151
+ font-size: var(--vd-font-size-2xl);
150
152
  }
151
153
 
152
154
  h4 {
153
- font-size: var(--font-size-xl);
155
+ font-size: var(--vd-font-size-xl);
154
156
  }
155
157
 
156
158
  h5 {
157
- font-size: var(--font-size-lg);
159
+ font-size: var(--vd-font-size-lg);
158
160
  }
159
161
 
160
162
  h6 {
161
- font-size: var(--font-size-base);
163
+ font-size: var(--vd-font-size-base);
162
164
  }
163
165
 
164
166
  /* Paragraphs */
@@ -169,18 +171,18 @@ p {
169
171
 
170
172
  /* Links */
171
173
  a {
172
- color: var(--color-primary);
174
+ color: var(--vd-color-primary);
173
175
  text-decoration: none;
174
176
  transition: color 0.2s ease;
175
177
  }
176
178
 
177
179
  a:hover {
178
- color: var(--color-primary-dark);
180
+ color: var(--vd-color-primary-dark);
179
181
  text-decoration: underline;
180
182
  }
181
183
 
182
184
  a:focus-visible {
183
- outline: 2px solid var(--color-primary);
185
+ outline: 2px solid var(--vd-color-primary);
184
186
  outline-offset: 2px;
185
187
  }
186
188
 
@@ -203,7 +205,7 @@ dl {
203
205
  }
204
206
 
205
207
  dt {
206
- font-weight: var(--font-weight-semibold);
208
+ font-weight: var(--vd-font-weight-semibold);
207
209
  margin-top: 0.5em;
208
210
  }
209
211
 
@@ -217,30 +219,30 @@ blockquote {
217
219
  margin: 1em 0;
218
220
  padding-left: 0.8125rem;
219
221
  /* 13px - fib */
220
- border-left: 3px solid var(--color-primary);
222
+ border-left: 3px solid var(--vd-color-primary);
221
223
  /* fib(3) */
222
- color: var(--text-secondary);
224
+ color: var(--vd-text-secondary);
223
225
  font-style: italic;
224
226
  }
225
227
 
226
228
  /* Code */
227
229
  code {
228
- font-family: var(--font-family-mono);
230
+ font-family: var(--vd-font-family-mono);
229
231
  font-size: 0.875em;
230
- background-color: var(--bg-secondary);
232
+ background-color: var(--vd-bg-secondary);
231
233
  padding: 0.125em 0.1875em;
232
234
  /* 2px 3px - fib pair */
233
- border-radius: var(--radius-fib-3);
234
- color: var(--color-primary-dark);
235
+ border-radius: var(--vd-radius-fib-3);
236
+ color: var(--vd-color-primary-dark);
235
237
  }
236
238
 
237
239
  pre {
238
- font-family: var(--font-family-mono);
240
+ font-family: var(--vd-font-family-mono);
239
241
  font-size: 0.875em;
240
- background-color: var(--bg-secondary);
242
+ background-color: var(--vd-bg-secondary);
241
243
  padding: 0.8125rem;
242
244
  /* 13px - fib */
243
- border-radius: var(--radius-fib-5);
245
+ border-radius: var(--vd-radius-fib-5);
244
246
  overflow-x: auto;
245
247
  margin: 1em 0;
246
248
  }
@@ -253,77 +255,77 @@ pre code {
253
255
 
254
256
  /* Font Family Utilities */
255
257
  .vd-font-sans {
256
- font-family: var(--font-family-sans);
258
+ font-family: var(--vd-font-family-sans);
257
259
  }
258
260
 
259
261
  .vd-font-serif {
260
- font-family: var(--font-family-serif);
262
+ font-family: var(--vd-font-family-serif);
261
263
  }
262
264
 
263
265
  .vd-font-mono {
264
- font-family: var(--font-family-mono);
266
+ font-family: var(--vd-font-family-mono);
265
267
  }
266
268
 
267
269
  /* Font Size Utilities */
268
270
  .vd-text-xs {
269
- font-size: var(--font-size-xs);
271
+ font-size: var(--vd-font-size-xs);
270
272
  }
271
273
 
272
274
  .vd-text-sm {
273
- font-size: var(--font-size-sm);
275
+ font-size: var(--vd-font-size-sm);
274
276
  }
275
277
 
276
278
  .vd-text-base {
277
- font-size: var(--font-size-base);
279
+ font-size: var(--vd-font-size-base);
278
280
  }
279
281
 
280
282
  .vd-text-lg {
281
- font-size: var(--font-size-lg);
283
+ font-size: var(--vd-font-size-lg);
282
284
  }
283
285
 
284
286
  .vd-text-xl {
285
- font-size: var(--font-size-xl);
287
+ font-size: var(--vd-font-size-xl);
286
288
  }
287
289
 
288
290
  .vd-text-2xl {
289
- font-size: var(--font-size-2xl);
291
+ font-size: var(--vd-font-size-2xl);
290
292
  }
291
293
 
292
294
  .vd-text-3xl {
293
- font-size: var(--font-size-3xl);
295
+ font-size: var(--vd-font-size-3xl);
294
296
  }
295
297
 
296
298
  .vd-text-4xl {
297
- font-size: var(--font-size-4xl);
299
+ font-size: var(--vd-font-size-4xl);
298
300
  }
299
301
 
300
302
  .vd-text-5xl {
301
- font-size: var(--font-size-5xl);
303
+ font-size: var(--vd-font-size-5xl);
302
304
  }
303
305
 
304
306
  .vd-text-6xl {
305
- font-size: var(--font-size-6xl);
307
+ font-size: var(--vd-font-size-6xl);
306
308
  }
307
309
 
308
310
  /* Font Weight Utilities */
309
311
  .vd-font-light {
310
- font-weight: var(--font-weight-light);
312
+ font-weight: var(--vd-font-weight-light);
311
313
  }
312
314
 
313
315
  .vd-font-normal {
314
- font-weight: var(--font-weight-normal);
316
+ font-weight: var(--vd-font-weight-normal);
315
317
  }
316
318
 
317
319
  .vd-font-medium {
318
- font-weight: var(--font-weight-medium);
320
+ font-weight: var(--vd-font-weight-medium);
319
321
  }
320
322
 
321
323
  .vd-font-semibold {
322
- font-weight: var(--font-weight-semibold);
324
+ font-weight: var(--vd-font-weight-semibold);
323
325
  }
324
326
 
325
327
  .vd-font-bold {
326
- font-weight: var(--font-weight-bold);
328
+ font-weight: var(--vd-font-weight-bold);
327
329
  }
328
330
 
329
331
  .vd-text-italic {
@@ -331,7 +333,7 @@ pre code {
331
333
  }
332
334
 
333
335
  .vd-font-extrabold {
334
- font-weight: var(--font-weight-extrabold);
336
+ font-weight: var(--vd-font-weight-extrabold);
335
337
  }
336
338
 
337
339
  /* Text Alignment: see helpers.css for .vd-text-left, .vd-text-center, .vd-text-right, .vd-text-justify */
@@ -368,50 +370,50 @@ pre code {
368
370
 
369
371
  /* Line Height Utilities */
370
372
  .leading-none {
371
- line-height: var(--line-height-none);
373
+ line-height: var(--vd-line-height-none);
372
374
  }
373
375
 
374
376
  .leading-tight {
375
- line-height: var(--line-height-tight);
377
+ line-height: var(--vd-line-height-tight);
376
378
  }
377
379
 
378
380
  .leading-snug {
379
- line-height: var(--line-height-snug);
381
+ line-height: var(--vd-line-height-snug);
380
382
  }
381
383
 
382
384
  .leading-normal {
383
- line-height: var(--line-height-normal);
385
+ line-height: var(--vd-line-height-normal);
384
386
  }
385
387
 
386
388
  .leading-relaxed {
387
- line-height: var(--line-height-relaxed);
389
+ line-height: var(--vd-line-height-relaxed);
388
390
  }
389
391
 
390
392
  .leading-loose {
391
- line-height: var(--line-height-loose);
393
+ line-height: var(--vd-line-height-loose);
392
394
  }
393
395
 
394
396
  /* Letter Spacing Utilities */
395
397
  .tracking-tighter {
396
- letter-spacing: var(--letter-spacing-tighter);
398
+ letter-spacing: var(--vd-letter-spacing-tighter);
397
399
  }
398
400
 
399
401
  .tracking-tight {
400
- letter-spacing: var(--letter-spacing-tight);
402
+ letter-spacing: var(--vd-letter-spacing-tight);
401
403
  }
402
404
 
403
405
  .tracking-normal {
404
- letter-spacing: var(--letter-spacing-normal);
406
+ letter-spacing: var(--vd-letter-spacing-normal);
405
407
  }
406
408
 
407
409
  .tracking-wide {
408
- letter-spacing: var(--letter-spacing-wide);
410
+ letter-spacing: var(--vd-letter-spacing-wide);
409
411
  }
410
412
 
411
413
  .tracking-wider {
412
- letter-spacing: var(--letter-spacing-wider);
414
+ letter-spacing: var(--vd-letter-spacing-wider);
413
415
  }
414
416
 
415
417
  .tracking-widest {
416
- letter-spacing: var(--letter-spacing-widest);
417
- }
418
+ letter-spacing: var(--vd-letter-spacing-widest);
419
+ }
@@ -12,10 +12,10 @@
12
12
  */
13
13
 
14
14
  :root {
15
- --morph-duration: 0.75s;
16
- --morph-easing: cubic-bezier(0.2, 0.8, 0.35, 1);
17
- --morph-blur-peak: 11px;
18
- --morph-wave-color: var(--color-primary, #3b82f6);
15
+ --vd-morph-duration: 0.75s;
16
+ --vd-morph-easing: cubic-bezier(0.2, 0.8, 0.35, 1);
17
+ --vd-morph-blur-peak: 11px;
18
+ --vd-morph-wave-color: var(--vd-color-primary, #3b82f6);
19
19
  }
20
20
 
21
21
  /* ========== Base ========== */
@@ -42,10 +42,10 @@
42
42
  color-mix(in srgb, #fff 30%, transparent) 0%,
43
43
  transparent 30%),
44
44
  radial-gradient(circle at 50% 50%,
45
- color-mix(in srgb, var(--morph-wave-color) 96%, #a8d8ff) 0%,
46
- color-mix(in srgb, var(--morph-wave-color) 82%, #7ec8ff) 35%,
47
- color-mix(in srgb, var(--morph-wave-color) 70%, #5ba4f5) 65%,
48
- color-mix(in srgb, var(--morph-wave-color) 90%, #4478f0) 100%);
45
+ color-mix(in srgb, var(--vd-morph-wave-color) 96%, #a8d8ff) 0%,
46
+ color-mix(in srgb, var(--vd-morph-wave-color) 82%, #7ec8ff) 35%,
47
+ color-mix(in srgb, var(--vd-morph-wave-color) 70%, #5ba4f5) 65%,
48
+ color-mix(in srgb, var(--vd-morph-wave-color) 90%, #4478f0) 100%);
49
49
  pointer-events: none;
50
50
  opacity: 0;
51
51
  transform: translate(-50%, -50%);
@@ -53,7 +53,7 @@
53
53
  }
54
54
 
55
55
  .vd-morph.is-morphing .vd-morph-wave {
56
- animation: vd-morph-expand var(--morph-duration) var(--morph-easing) forwards;
56
+ animation: vd-morph-expand var(--vd-morph-duration) var(--vd-morph-easing) forwards;
57
57
  }
58
58
 
59
59
  .vd-morph.is-morphing .vd-morph-wave::after {
@@ -66,12 +66,12 @@
66
66
  border-radius: 50%;
67
67
  background:
68
68
  radial-gradient(circle at 50% 50%,
69
- color-mix(in srgb, var(--morph-wave-color) 70%, #b0e0ff) 0%,
70
- color-mix(in srgb, var(--morph-wave-color) 50%, #88c0ff) 45%,
69
+ color-mix(in srgb, var(--vd-morph-wave-color) 70%, #b0e0ff) 0%,
70
+ color-mix(in srgb, var(--vd-morph-wave-color) 50%, #88c0ff) 45%,
71
71
  transparent 80%);
72
72
  transform: translate(-50%, -50%);
73
73
  opacity: 0;
74
- animation: vd-morph-expand2 var(--morph-duration) var(--morph-easing) 0.08s forwards;
74
+ animation: vd-morph-expand2 var(--vd-morph-duration) var(--vd-morph-easing) 0.08s forwards;
75
75
  }
76
76
 
77
77
  @keyframes vd-morph-expand {
@@ -79,7 +79,7 @@
79
79
  width: 0;
80
80
  height: 0;
81
81
  opacity: 0;
82
- filter: blur(0px) saturate(2);
82
+ filter: blur(0) saturate(2);
83
83
  }
84
84
  6% {
85
85
  opacity: 1;
@@ -93,7 +93,7 @@
93
93
  width: 360%;
94
94
  height: 360%;
95
95
  opacity: 0.6;
96
- filter: blur(var(--morph-blur-peak)) saturate(1.3);
96
+ filter: blur(var(--vd-morph-blur-peak)) saturate(1.3);
97
97
  }
98
98
  100% {
99
99
  width: 360%;
@@ -108,7 +108,7 @@
108
108
  width: 0;
109
109
  height: 0;
110
110
  opacity: 0;
111
- filter: blur(0px);
111
+ filter: blur(0);
112
112
  }
113
113
  10% {
114
114
  opacity: 0.7;
@@ -187,7 +187,7 @@
187
187
  .vd-morph-current {
188
188
  opacity: 1;
189
189
  transform: scale(1) translateY(0);
190
- filter: blur(0px);
190
+ filter: blur(0);
191
191
  z-index: 2;
192
192
  transition:
193
193
  opacity 0.28s cubic-bezier(0.4, 0, 0.6, 1),
@@ -217,7 +217,7 @@
217
217
  .vd-morph.is-morphing .vd-morph-next {
218
218
  opacity: 1;
219
219
  transform: scale(1) translateY(0);
220
- filter: blur(0px);
220
+ filter: blur(0);
221
221
  transition-duration: 0.3s;
222
222
  transition-delay: 0.25s;
223
223
  }
@@ -225,13 +225,13 @@
225
225
  /* ========== Size Variants ========== */
226
226
 
227
227
  .vd-morph-sm {
228
- --morph-duration: 0.5s;
229
- --morph-blur-peak: 7px;
228
+ --vd-morph-duration: 0.5s;
229
+ --vd-morph-blur-peak: 7px;
230
230
  }
231
231
 
232
232
  .vd-morph-lg {
233
- --morph-duration: 1s;
234
- --morph-blur-peak: 16px;
233
+ --vd-morph-duration: 1s;
234
+ --vd-morph-blur-peak: 16px;
235
235
  }
236
236
 
237
237
  /* ========== Accessibility ========== */
@@ -5,9 +5,9 @@
5
5
 
6
6
  :root {
7
7
  /* Parallax Settings */
8
- --parallax-speed-slow: 0.5;
9
- --parallax-speed-medium: 1;
10
- --parallax-speed-fast: 1.5;
8
+ --vd-parallax-speed-slow: 0.5;
9
+ --vd-parallax-speed-medium: 1;
10
+ --vd-parallax-speed-fast: 1.5;
11
11
  }
12
12
 
13
13
  /* Base Parallax Container */
@@ -37,15 +37,15 @@
37
37
 
38
38
  /* Parallax Speed Variants */
39
39
  .vd-parallax-slow {
40
- --parallax-speed: var(--parallax-speed-slow);
40
+ --vd-parallax-speed: var(--vd-parallax-speed-slow);
41
41
  }
42
42
 
43
43
  .vd-parallax-medium {
44
- --parallax-speed: var(--parallax-speed-medium);
44
+ --vd-parallax-speed: var(--vd-parallax-speed-medium);
45
45
  }
46
46
 
47
47
  .vd-parallax-fast {
48
- --parallax-speed: var(--parallax-speed-fast);
48
+ --vd-parallax-speed: var(--vd-parallax-speed-fast);
49
49
  }
50
50
 
51
51
  /* Parallax Direction */