vanduo-framework 1.1.8-docs-update

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 (196) hide show
  1. package/LICENSE +35 -0
  2. package/README.md +216 -0
  3. package/css/components/alerts.css +224 -0
  4. package/css/components/avatar.css +275 -0
  5. package/css/components/badges.css +230 -0
  6. package/css/components/breadcrumbs.css +146 -0
  7. package/css/components/button-group.css +82 -0
  8. package/css/components/buttons.css +530 -0
  9. package/css/components/cards.css +304 -0
  10. package/css/components/chips.css +259 -0
  11. package/css/components/code-snippet.css +555 -0
  12. package/css/components/collapsible.css +267 -0
  13. package/css/components/collections.css +253 -0
  14. package/css/components/doc-search.css +464 -0
  15. package/css/components/doc-tabs.css +38 -0
  16. package/css/components/draggable.css +317 -0
  17. package/css/components/dropdown.css +266 -0
  18. package/css/components/footer.css +375 -0
  19. package/css/components/forms.css +1774 -0
  20. package/css/components/image-box.css +279 -0
  21. package/css/components/modals.css +285 -0
  22. package/css/components/navbar.css +530 -0
  23. package/css/components/pagination.css +186 -0
  24. package/css/components/preloader.css +340 -0
  25. package/css/components/progress.css +107 -0
  26. package/css/components/sidenav.css +301 -0
  27. package/css/components/skeleton.css +241 -0
  28. package/css/components/spinner.css +144 -0
  29. package/css/components/tabs.css +327 -0
  30. package/css/components/theme-customizer.css +835 -0
  31. package/css/components/toast.css +357 -0
  32. package/css/components/tooltips.css +270 -0
  33. package/css/core/colors.css +1017 -0
  34. package/css/core/fonts.css +266 -0
  35. package/css/core/grid.css +1699 -0
  36. package/css/core/helpers.css +2202 -0
  37. package/css/core/reset.css +128 -0
  38. package/css/core/tokens.css +213 -0
  39. package/css/core/typography.css +405 -0
  40. package/css/core/vd-aliases.css +47 -0
  41. package/css/effects/parallax.css +113 -0
  42. package/css/icons/icons-all.css +23 -0
  43. package/css/icons/icons.css +25 -0
  44. package/css/utilities/media.css +167 -0
  45. package/css/utilities/print.css +111 -0
  46. package/css/utilities/shadow.css +243 -0
  47. package/css/utilities/table.css +381 -0
  48. package/css/utilities/transforms.css +71 -0
  49. package/css/utilities/transitions.css +87 -0
  50. package/css/vanduo.css +80 -0
  51. package/dist/build-info.json +6 -0
  52. package/dist/fonts/fira-sans/fira-sans-bold.woff2 +0 -0
  53. package/dist/fonts/fira-sans/fira-sans-medium.woff2 +0 -0
  54. package/dist/fonts/fira-sans/fira-sans-regular.woff2 +0 -0
  55. package/dist/fonts/ibm-plex/ibm-plex-sans-bold.woff2 +0 -0
  56. package/dist/fonts/ibm-plex/ibm-plex-sans-medium.woff2 +0 -0
  57. package/dist/fonts/ibm-plex/ibm-plex-sans-regular.woff2 +0 -0
  58. package/dist/fonts/inter/inter-bold.woff2 +0 -0
  59. package/dist/fonts/inter/inter-medium.woff2 +0 -0
  60. package/dist/fonts/inter/inter-regular.woff2 +0 -0
  61. package/dist/fonts/inter/inter-semibold.woff2 +0 -0
  62. package/dist/fonts/jetbrains-mono/jetbrains-mono-bold.woff2 +0 -0
  63. package/dist/fonts/jetbrains-mono/jetbrains-mono-regular.woff2 +0 -0
  64. package/dist/fonts/open-sans/open-sans-bold.woff2 +0 -0
  65. package/dist/fonts/open-sans/open-sans-medium.woff2 +0 -0
  66. package/dist/fonts/open-sans/open-sans-regular.woff2 +0 -0
  67. package/dist/fonts/rubik/rubik-bold.woff2 +0 -0
  68. package/dist/fonts/rubik/rubik-medium.woff2 +0 -0
  69. package/dist/fonts/rubik/rubik-regular.woff2 +0 -0
  70. package/dist/fonts/source-sans/source-sans-bold.woff2 +0 -0
  71. package/dist/fonts/source-sans/source-sans-regular.woff2 +0 -0
  72. package/dist/fonts/source-sans/source-sans-semibold.woff2 +0 -0
  73. package/dist/fonts/titillium-web/titillium-web-bold.woff2 +0 -0
  74. package/dist/fonts/titillium-web/titillium-web-regular.woff2 +0 -0
  75. package/dist/fonts/titillium-web/titillium-web-semibold.woff2 +0 -0
  76. package/dist/fonts/ubuntu/ubuntu-bold.woff2 +0 -0
  77. package/dist/fonts/ubuntu/ubuntu-medium.woff2 +0 -0
  78. package/dist/fonts/ubuntu/ubuntu-regular.woff2 +0 -0
  79. package/dist/icons/phosphor/LICENSE +21 -0
  80. package/dist/icons/phosphor/bold/Phosphor-Bold.ttf +0 -0
  81. package/dist/icons/phosphor/bold/Phosphor-Bold.woff +0 -0
  82. package/dist/icons/phosphor/bold/Phosphor-Bold.woff2 +0 -0
  83. package/dist/icons/phosphor/bold/style.css +4627 -0
  84. package/dist/icons/phosphor/duotone/Phosphor-Duotone.ttf +0 -0
  85. package/dist/icons/phosphor/duotone/Phosphor-Duotone.woff +0 -0
  86. package/dist/icons/phosphor/duotone/Phosphor-Duotone.woff2 +0 -0
  87. package/dist/icons/phosphor/duotone/style.css +12115 -0
  88. package/dist/icons/phosphor/fill/Phosphor-Fill.ttf +0 -0
  89. package/dist/icons/phosphor/fill/Phosphor-Fill.woff +0 -0
  90. package/dist/icons/phosphor/fill/Phosphor-Fill.woff2 +0 -0
  91. package/dist/icons/phosphor/fill/style.css +4627 -0
  92. package/dist/icons/phosphor/light/Phosphor-Light.ttf +0 -0
  93. package/dist/icons/phosphor/light/Phosphor-Light.woff +0 -0
  94. package/dist/icons/phosphor/light/Phosphor-Light.woff2 +0 -0
  95. package/dist/icons/phosphor/light/style.css +4627 -0
  96. package/dist/icons/phosphor/regular/Phosphor.ttf +0 -0
  97. package/dist/icons/phosphor/regular/Phosphor.woff +0 -0
  98. package/dist/icons/phosphor/regular/Phosphor.woff2 +0 -0
  99. package/dist/icons/phosphor/regular/style.css +4627 -0
  100. package/dist/icons/phosphor/thin/Phosphor-Thin.ttf +0 -0
  101. package/dist/icons/phosphor/thin/Phosphor-Thin.woff +0 -0
  102. package/dist/icons/phosphor/thin/Phosphor-Thin.woff2 +0 -0
  103. package/dist/icons/phosphor/thin/style.css +4627 -0
  104. package/dist/vanduo.cjs.js +5569 -0
  105. package/dist/vanduo.cjs.js.map +7 -0
  106. package/dist/vanduo.cjs.min.js +48 -0
  107. package/dist/vanduo.cjs.min.js.map +7 -0
  108. package/dist/vanduo.css +60666 -0
  109. package/dist/vanduo.css.map +1 -0
  110. package/dist/vanduo.esm.js +5548 -0
  111. package/dist/vanduo.esm.js.map +7 -0
  112. package/dist/vanduo.esm.min.js +48 -0
  113. package/dist/vanduo.esm.min.js.map +7 -0
  114. package/dist/vanduo.js +5545 -0
  115. package/dist/vanduo.js.map +7 -0
  116. package/dist/vanduo.min.css +2 -0
  117. package/dist/vanduo.min.css.map +1 -0
  118. package/dist/vanduo.min.js +48 -0
  119. package/dist/vanduo.min.js.map +7 -0
  120. package/fonts/fira-sans/fira-sans-bold.woff2 +0 -0
  121. package/fonts/fira-sans/fira-sans-medium.woff2 +0 -0
  122. package/fonts/fira-sans/fira-sans-regular.woff2 +0 -0
  123. package/fonts/ibm-plex/ibm-plex-sans-bold.woff2 +0 -0
  124. package/fonts/ibm-plex/ibm-plex-sans-medium.woff2 +0 -0
  125. package/fonts/ibm-plex/ibm-plex-sans-regular.woff2 +0 -0
  126. package/fonts/inter/inter-bold.woff2 +0 -0
  127. package/fonts/inter/inter-medium.woff2 +0 -0
  128. package/fonts/inter/inter-regular.woff2 +0 -0
  129. package/fonts/inter/inter-semibold.woff2 +0 -0
  130. package/fonts/jetbrains-mono/jetbrains-mono-bold.woff2 +0 -0
  131. package/fonts/jetbrains-mono/jetbrains-mono-regular.woff2 +0 -0
  132. package/fonts/open-sans/open-sans-bold.woff2 +0 -0
  133. package/fonts/open-sans/open-sans-medium.woff2 +0 -0
  134. package/fonts/open-sans/open-sans-regular.woff2 +0 -0
  135. package/fonts/rubik/rubik-bold.woff2 +0 -0
  136. package/fonts/rubik/rubik-medium.woff2 +0 -0
  137. package/fonts/rubik/rubik-regular.woff2 +0 -0
  138. package/fonts/source-sans/source-sans-bold.woff2 +0 -0
  139. package/fonts/source-sans/source-sans-regular.woff2 +0 -0
  140. package/fonts/source-sans/source-sans-semibold.woff2 +0 -0
  141. package/fonts/titillium-web/titillium-web-bold.woff2 +0 -0
  142. package/fonts/titillium-web/titillium-web-regular.woff2 +0 -0
  143. package/fonts/titillium-web/titillium-web-semibold.woff2 +0 -0
  144. package/fonts/ubuntu/ubuntu-bold.woff2 +0 -0
  145. package/fonts/ubuntu/ubuntu-medium.woff2 +0 -0
  146. package/fonts/ubuntu/ubuntu-regular.woff2 +0 -0
  147. package/icons/phosphor/LICENSE +21 -0
  148. package/icons/phosphor/bold/Phosphor-Bold.ttf +0 -0
  149. package/icons/phosphor/bold/Phosphor-Bold.woff +0 -0
  150. package/icons/phosphor/bold/Phosphor-Bold.woff2 +0 -0
  151. package/icons/phosphor/bold/style.css +4627 -0
  152. package/icons/phosphor/duotone/Phosphor-Duotone.ttf +0 -0
  153. package/icons/phosphor/duotone/Phosphor-Duotone.woff +0 -0
  154. package/icons/phosphor/duotone/Phosphor-Duotone.woff2 +0 -0
  155. package/icons/phosphor/duotone/style.css +12115 -0
  156. package/icons/phosphor/fill/Phosphor-Fill.ttf +0 -0
  157. package/icons/phosphor/fill/Phosphor-Fill.woff +0 -0
  158. package/icons/phosphor/fill/Phosphor-Fill.woff2 +0 -0
  159. package/icons/phosphor/fill/style.css +4627 -0
  160. package/icons/phosphor/light/Phosphor-Light.ttf +0 -0
  161. package/icons/phosphor/light/Phosphor-Light.woff +0 -0
  162. package/icons/phosphor/light/Phosphor-Light.woff2 +0 -0
  163. package/icons/phosphor/light/style.css +4627 -0
  164. package/icons/phosphor/regular/Phosphor.ttf +0 -0
  165. package/icons/phosphor/regular/Phosphor.woff +0 -0
  166. package/icons/phosphor/regular/Phosphor.woff2 +0 -0
  167. package/icons/phosphor/regular/style.css +4627 -0
  168. package/icons/phosphor/thin/Phosphor-Thin.ttf +0 -0
  169. package/icons/phosphor/thin/Phosphor-Thin.woff +0 -0
  170. package/icons/phosphor/thin/Phosphor-Thin.woff2 +0 -0
  171. package/icons/phosphor/thin/style.css +4627 -0
  172. package/js/components/code-snippet.js +639 -0
  173. package/js/components/collapsible.js +226 -0
  174. package/js/components/doc-search.js +936 -0
  175. package/js/components/draggable.js +725 -0
  176. package/js/components/dropdown.js +362 -0
  177. package/js/components/font-switcher.js +253 -0
  178. package/js/components/grid.js +279 -0
  179. package/js/components/image-box.js +372 -0
  180. package/js/components/modals.js +367 -0
  181. package/js/components/navbar.js +264 -0
  182. package/js/components/pagination.js +286 -0
  183. package/js/components/parallax.js +216 -0
  184. package/js/components/preloader.js +183 -0
  185. package/js/components/select.js +444 -0
  186. package/js/components/sidenav.js +303 -0
  187. package/js/components/tabs.js +303 -0
  188. package/js/components/theme-customizer.js +784 -0
  189. package/js/components/theme-switcher.js +183 -0
  190. package/js/components/toast.js +343 -0
  191. package/js/components/tooltips.js +306 -0
  192. package/js/index.js +52 -0
  193. package/js/utils/helpers.js +306 -0
  194. package/js/utils/lifecycle.js +135 -0
  195. package/js/vanduo.js +120 -0
  196. package/package.json +78 -0
@@ -0,0 +1,405 @@
1
+ /**
2
+ * Vanduo Framework - Typography
3
+ * Font system, headings, and text utilities
4
+ */
5
+
6
+ :root {
7
+ /* Font Families */
8
+ --font-family-sans: -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;
11
+ }
12
+
13
+ /* Font Switching - Applied via data-font attribute on html element */
14
+ [data-font="inter"] {
15
+ --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
16
+ }
17
+
18
+ [data-font="source-sans"] {
19
+ --font-family-sans: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
20
+ }
21
+
22
+ [data-font="fira-sans"] {
23
+ --font-family-sans: 'Fira Sans', -apple-system, BlinkMacSystemFont, sans-serif;
24
+ }
25
+
26
+ [data-font="ibm-plex"] {
27
+ --font-family-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
28
+ }
29
+
30
+ [data-font="jetbrains-mono"] {
31
+ --font-family-sans: 'JetBrains Mono', monospace;
32
+ --font-family-mono: 'JetBrains Mono', monospace;
33
+ }
34
+
35
+ [data-font="ubuntu"] {
36
+ --font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, sans-serif;
37
+ }
38
+
39
+ [data-font="open-sans"] {
40
+ --font-family-sans: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
41
+ }
42
+
43
+ [data-font="rubik"] {
44
+ --font-family-sans: 'Rubik', -apple-system, BlinkMacSystemFont, sans-serif;
45
+ }
46
+
47
+ [data-font="titillium-web"] {
48
+ --font-family-sans: 'Titillium Web', -apple-system, BlinkMacSystemFont, sans-serif;
49
+ }
50
+
51
+ :root {
52
+
53
+ /* Golden Ratio Type Scale (Fluid)
54
+ * Uses clamp() to scale between mobile (min) and desktop (max)
55
+ * Mobile scale: ~1.414 (Augmented Fourth)
56
+ * Desktop scale: 1.618 (Golden Ratio)
57
+ */
58
+ --font-size-xs: 0.625rem;
59
+ /* 10px */
60
+ --font-size-sm: 0.8125rem;
61
+ /* 13px */
62
+ --font-size-base: 1rem;
63
+ /* 16px */
64
+ --font-size-lg: clamp(1.125rem, 1.08rem + 0.22vw, 1.25rem);
65
+ /* 18px -> 20px */
66
+ --font-size-xl: clamp(1.35rem, 1.25rem + 0.5vw, 1.625rem);
67
+ /* 21.6px -> 26px */
68
+ --font-size-2xl: clamp(1.62rem, 1.46rem + 0.8vw, 2.0625rem);
69
+ /* 26px -> 33px */
70
+ --font-size-3xl: clamp(1.94rem, 1.69rem + 1.25vw, 2.625rem);
71
+ /* 31px -> 42px */
72
+ --font-size-4xl: clamp(2.33rem, 1.97rem + 1.8vw, 3.3125rem);
73
+ /* 37px -> 53px */
74
+ --font-size-5xl: clamp(2.8rem, 2.27rem + 2.65vw, 4.25rem);
75
+ /* 45px -> 68px */
76
+ --font-size-6xl: clamp(3.36rem, 2.63rem + 3.65vw, 5.375rem);
77
+ /* 54px -> 86px */
78
+
79
+ /* Font Weights */
80
+ --font-weight-light: 300;
81
+ --font-weight-normal: 400;
82
+ --font-weight-medium: 500;
83
+ --font-weight-semibold: 600;
84
+ --font-weight-bold: 700;
85
+ --font-weight-extrabold: 800;
86
+
87
+ /* Line Heights (phi-derived) */
88
+ --line-height-none: 1;
89
+ --line-height-tight: 1.236;
90
+ /* ~2/phi - for headings */
91
+ --line-height-snug: 1.382;
92
+ /* ~(1+1/phi)/1.17 */
93
+ --line-height-normal: 1.5;
94
+ /* body text standard */
95
+ --line-height-relaxed: 1.618;
96
+ /* phi itself */
97
+ --line-height-loose: 2;
98
+
99
+ /* Letter Spacing */
100
+ --letter-spacing-tighter: -0.05em;
101
+ --letter-spacing-tight: -0.025em;
102
+ --letter-spacing-normal: 0;
103
+ --letter-spacing-wide: 0.025em;
104
+ --letter-spacing-wider: 0.05em;
105
+ --letter-spacing-widest: 0.1em;
106
+ }
107
+
108
+ /* Base Typography */
109
+ body {
110
+ font-family: var(--font-family-sans);
111
+ font-size: var(--font-size-base);
112
+ font-weight: var(--font-weight-normal);
113
+ line-height: var(--line-height-normal);
114
+ color: var(--text-primary);
115
+ background-color: var(--bg-primary);
116
+ }
117
+
118
+ /* Headings */
119
+ h1,
120
+ h2,
121
+ h3,
122
+ h4,
123
+ h5,
124
+ h6 {
125
+ margin-top: 0;
126
+ margin-bottom: 0.5em;
127
+ font-weight: var(--font-weight-bold);
128
+ line-height: var(--line-height-tight);
129
+ color: var(--text-primary);
130
+ }
131
+
132
+ h1 {
133
+ font-size: var(--font-size-4xl);
134
+ }
135
+
136
+ h2 {
137
+ font-size: var(--font-size-3xl);
138
+ }
139
+
140
+ h3 {
141
+ font-size: var(--font-size-2xl);
142
+ }
143
+
144
+ h4 {
145
+ font-size: var(--font-size-xl);
146
+ }
147
+
148
+ h5 {
149
+ font-size: var(--font-size-lg);
150
+ }
151
+
152
+ h6 {
153
+ font-size: var(--font-size-base);
154
+ }
155
+
156
+ /* Paragraphs */
157
+ p {
158
+ margin-top: 0;
159
+ margin-bottom: 1em;
160
+ }
161
+
162
+ /* Links */
163
+ a {
164
+ color: var(--color-primary);
165
+ text-decoration: none;
166
+ transition: color 0.2s ease;
167
+ }
168
+
169
+ a:hover {
170
+ color: var(--color-primary-dark);
171
+ text-decoration: underline;
172
+ }
173
+
174
+ a:focus-visible {
175
+ outline: 2px solid var(--color-primary);
176
+ outline-offset: 2px;
177
+ }
178
+
179
+ /* Lists */
180
+ ul,
181
+ ol {
182
+ margin-top: 0;
183
+ margin-bottom: 1em;
184
+ padding-left: 2em;
185
+ }
186
+
187
+ li {
188
+ margin-bottom: 0.25em;
189
+ }
190
+
191
+ /* Definition Lists */
192
+ dl {
193
+ margin-top: 0;
194
+ margin-bottom: 1em;
195
+ }
196
+
197
+ dt {
198
+ font-weight: var(--font-weight-semibold);
199
+ margin-top: 0.5em;
200
+ }
201
+
202
+ dd {
203
+ margin-left: 1.5em;
204
+ margin-bottom: 0.5em;
205
+ }
206
+
207
+ /* Blockquote */
208
+ blockquote {
209
+ margin: 1em 0;
210
+ padding-left: 0.8125rem;
211
+ /* 13px - fib */
212
+ border-left: 3px solid var(--color-primary);
213
+ /* fib(3) */
214
+ color: var(--text-secondary);
215
+ font-style: italic;
216
+ }
217
+
218
+ /* Code */
219
+ code {
220
+ font-family: var(--font-family-mono);
221
+ font-size: 0.875em;
222
+ background-color: var(--bg-secondary);
223
+ padding: 0.125em 0.1875em;
224
+ /* 2px 3px - fib pair */
225
+ border-radius: var(--radius-fib-3);
226
+ color: var(--color-primary-dark);
227
+ }
228
+
229
+ pre {
230
+ font-family: var(--font-family-mono);
231
+ font-size: 0.875em;
232
+ background-color: var(--bg-secondary);
233
+ padding: 0.8125rem;
234
+ /* 13px - fib */
235
+ border-radius: var(--radius-fib-5);
236
+ overflow-x: auto;
237
+ margin: 1em 0;
238
+ }
239
+
240
+ pre code {
241
+ background-color: transparent;
242
+ padding: 0;
243
+ color: inherit;
244
+ }
245
+
246
+ /* Font Family Utilities */
247
+ .vd-font-sans {
248
+ font-family: var(--font-family-sans);
249
+ }
250
+
251
+ .vd-font-serif {
252
+ font-family: var(--font-family-serif);
253
+ }
254
+
255
+ .vd-font-mono {
256
+ font-family: var(--font-family-mono);
257
+ }
258
+
259
+ /* Font Size Utilities */
260
+ .vd-text-xs {
261
+ font-size: var(--font-size-xs);
262
+ }
263
+
264
+ .vd-text-sm {
265
+ font-size: var(--font-size-sm);
266
+ }
267
+
268
+ .vd-text-base {
269
+ font-size: var(--font-size-base);
270
+ }
271
+
272
+ .vd-text-lg {
273
+ font-size: var(--font-size-lg);
274
+ }
275
+
276
+ .vd-text-xl {
277
+ font-size: var(--font-size-xl);
278
+ }
279
+
280
+ .vd-text-2xl {
281
+ font-size: var(--font-size-2xl);
282
+ }
283
+
284
+ .vd-text-3xl {
285
+ font-size: var(--font-size-3xl);
286
+ }
287
+
288
+ .vd-text-4xl {
289
+ font-size: var(--font-size-4xl);
290
+ }
291
+
292
+ .vd-text-5xl {
293
+ font-size: var(--font-size-5xl);
294
+ }
295
+
296
+ .vd-text-6xl {
297
+ font-size: var(--font-size-6xl);
298
+ }
299
+
300
+ /* Font Weight Utilities */
301
+ .vd-font-light {
302
+ font-weight: var(--font-weight-light);
303
+ }
304
+
305
+ .vd-font-normal {
306
+ font-weight: var(--font-weight-normal);
307
+ }
308
+
309
+ .vd-font-medium {
310
+ font-weight: var(--font-weight-medium);
311
+ }
312
+
313
+ .vd-font-semibold {
314
+ font-weight: var(--font-weight-semibold);
315
+ }
316
+
317
+ .vd-font-bold {
318
+ font-weight: var(--font-weight-bold);
319
+ }
320
+
321
+ .vd-font-extrabold {
322
+ font-weight: var(--font-weight-extrabold);
323
+ }
324
+
325
+ /* Text Alignment: see helpers.css for .vd-text-left, .vd-text-center, .vd-text-right, .vd-text-justify */
326
+
327
+ /* Text Transform Utilities (shorthand aliases — see also .vd-text-uppercase etc. in helpers.css) */
328
+ .uppercase {
329
+ text-transform: uppercase;
330
+ }
331
+
332
+ .lowercase {
333
+ text-transform: lowercase;
334
+ }
335
+
336
+ .capitalize {
337
+ text-transform: capitalize;
338
+ }
339
+
340
+ .normal-case {
341
+ text-transform: none;
342
+ }
343
+
344
+ /* Text Decoration Utilities */
345
+ .underline {
346
+ text-decoration: underline;
347
+ }
348
+
349
+ .line-through {
350
+ text-decoration: line-through;
351
+ }
352
+
353
+ .no-underline {
354
+ text-decoration: none;
355
+ }
356
+
357
+ /* Line Height Utilities */
358
+ .leading-none {
359
+ line-height: var(--line-height-none);
360
+ }
361
+
362
+ .leading-tight {
363
+ line-height: var(--line-height-tight);
364
+ }
365
+
366
+ .leading-snug {
367
+ line-height: var(--line-height-snug);
368
+ }
369
+
370
+ .leading-normal {
371
+ line-height: var(--line-height-normal);
372
+ }
373
+
374
+ .leading-relaxed {
375
+ line-height: var(--line-height-relaxed);
376
+ }
377
+
378
+ .leading-loose {
379
+ line-height: var(--line-height-loose);
380
+ }
381
+
382
+ /* Letter Spacing Utilities */
383
+ .tracking-tighter {
384
+ letter-spacing: var(--letter-spacing-tighter);
385
+ }
386
+
387
+ .tracking-tight {
388
+ letter-spacing: var(--letter-spacing-tight);
389
+ }
390
+
391
+ .tracking-normal {
392
+ letter-spacing: var(--letter-spacing-normal);
393
+ }
394
+
395
+ .tracking-wide {
396
+ letter-spacing: var(--letter-spacing-wide);
397
+ }
398
+
399
+ .tracking-wider {
400
+ letter-spacing: var(--letter-spacing-wider);
401
+ }
402
+
403
+ .tracking-widest {
404
+ letter-spacing: var(--letter-spacing-widest);
405
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Vanduo Framework - Legacy vd-* Token Aliases
3
+ * Maps vd-* custom properties to the current token names.
4
+ */
5
+
6
+ :root {
7
+ /* Colors */
8
+ --vd-color-primary: var(--color-primary);
9
+ --vd-color-secondary: var(--color-secondary);
10
+ --vd-color-success: var(--color-success);
11
+ --vd-color-warning: var(--color-warning);
12
+ --vd-color-error: var(--color-error);
13
+ --vd-color-info: var(--color-info);
14
+ --vd-color-white: var(--color-white);
15
+ --vd-color-black: var(--color-black);
16
+ --vd-color-primary-alpha-10: var(--color-primary-alpha-10);
17
+ --vd-color-primary-alpha-20: var(--color-primary-alpha-20);
18
+
19
+ /* Backgrounds + Text */
20
+ --vd-bg-primary: var(--bg-primary);
21
+ --vd-bg-secondary: var(--bg-secondary);
22
+ --vd-bg-tertiary: var(--bg-tertiary);
23
+ --vd-text-primary: var(--text-primary);
24
+ --vd-text-secondary: var(--text-secondary);
25
+ --vd-text-muted: var(--text-muted);
26
+
27
+ /* Borders */
28
+ --vd-border-color: var(--border-color);
29
+ --vd-border-color-light: var(--border-color-light);
30
+
31
+ /* Shadows */
32
+ --vd-shadow-sm: var(--shadow-sm);
33
+ --vd-shadow-md: var(--shadow-md);
34
+ --vd-shadow-lg: var(--shadow-lg);
35
+
36
+ /* Typography */
37
+ --vd-font-family-base: var(--font-family-sans);
38
+ --vd-font-family-mono: var(--font-family-mono);
39
+ --vd-font-size-xs: var(--font-size-xs);
40
+ --vd-font-size-sm: var(--font-size-sm);
41
+ --vd-font-size-base: var(--font-size-base);
42
+
43
+ /* Radii */
44
+ --vd-btn-border-radius: var(--btn-border-radius);
45
+ --vd-btn-border-radius-sm: var(--btn-border-radius-sm);
46
+ --vd-btn-border-radius-lg: var(--btn-border-radius-lg);
47
+ }
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Vanduo Framework - Parallax Effects
3
+ * Parallax scroll effects
4
+ */
5
+
6
+ :root {
7
+ /* Parallax Settings */
8
+ --parallax-speed-slow: 0.5;
9
+ --parallax-speed-medium: 1;
10
+ --parallax-speed-fast: 1.5;
11
+ }
12
+
13
+ /* Base Parallax Container */
14
+ .vd-parallax {
15
+ position: relative;
16
+ overflow: hidden;
17
+ width: 100%;
18
+ }
19
+
20
+ /* Parallax Layer */
21
+ .vd-parallax-layer {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ width: 100%;
26
+ height: 100%;
27
+ will-change: transform;
28
+ backface-visibility: hidden;
29
+ transform: translateZ(0);
30
+ }
31
+
32
+ /* Parallax Content */
33
+ .vd-parallax-content {
34
+ position: relative;
35
+ z-index: 1;
36
+ }
37
+
38
+ /* Parallax Speed Variants */
39
+ .vd-parallax-slow {
40
+ --parallax-speed: var(--parallax-speed-slow);
41
+ }
42
+
43
+ .vd-parallax-medium {
44
+ --parallax-speed: var(--parallax-speed-medium);
45
+ }
46
+
47
+ .vd-parallax-fast {
48
+ --parallax-speed: var(--parallax-speed-fast);
49
+ }
50
+
51
+ /* Parallax Direction */
52
+ .vd-parallax-horizontal .vd-parallax-layer {
53
+ /* Horizontal parallax will be handled by JS */
54
+ }
55
+
56
+ /* Parallax Image */
57
+ .vd-parallax-image {
58
+ width: 100%;
59
+ height: 100%;
60
+ object-fit: cover;
61
+ will-change: transform;
62
+ }
63
+
64
+ /* Parallax Background */
65
+ .vd-parallax-bg {
66
+ position: absolute;
67
+ top: 0;
68
+ left: 0;
69
+ width: 100%;
70
+ height: 120%; /* Extra height for parallax effect */
71
+ background-size: cover;
72
+ background-position: center;
73
+ background-repeat: no-repeat;
74
+ will-change: transform;
75
+ }
76
+
77
+ /* Parallax Container Heights (Fibonacci) */
78
+ .vd-parallax-sm {
79
+ min-height: 377px; /* fib */
80
+ }
81
+
82
+ .vd-parallax-md {
83
+ min-height: 610px; /* fib */
84
+ }
85
+
86
+ .vd-parallax-lg {
87
+ min-height: 987px; /* fib */
88
+ }
89
+
90
+ .vd-parallax-full {
91
+ min-height: 100vh;
92
+ }
93
+
94
+ /* Reduced Motion Support */
95
+ @media (prefers-reduced-motion: reduce) {
96
+ .vd-parallax-layer,
97
+ .vd-parallax-bg,
98
+ .vd-parallax-image {
99
+ transform: none !important;
100
+ will-change: auto;
101
+ }
102
+ }
103
+
104
+ /* Mobile Optimization (disable parallax on small screens) */
105
+ @media (max-width: 767.98px) {
106
+ .vd-parallax-disable-mobile .vd-parallax-layer,
107
+ .vd-parallax-disable-mobile .vd-parallax-bg,
108
+ .vd-parallax-disable-mobile .vd-parallax-image {
109
+ transform: none !important;
110
+ will-change: auto;
111
+ }
112
+ }
113
+
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Vanduo Icons - All Phosphor Weights
3
+ *
4
+ * WARNING: This imports ~3MB of font assets. Only use if you need all weights.
5
+ * For most projects, use icons.css (regular + fill) instead.
6
+ *
7
+ * Available weights:
8
+ * <i class="ph ph-heart"></i> - Regular
9
+ * <i class="ph-fill ph-heart"></i> - Fill
10
+ * <i class="ph-bold ph-heart"></i> - Bold
11
+ * <i class="ph-light ph-heart"></i> - Light
12
+ * <i class="ph-thin ph-heart"></i> - Thin
13
+ * <i class="ph-duotone ph-heart"></i> - Duotone
14
+ *
15
+ * Full icon list: https://phosphoricons.com
16
+ */
17
+
18
+ @import url('../../icons/phosphor/regular/style.css');
19
+ @import url('../../icons/phosphor/fill/style.css');
20
+ @import url('../../icons/phosphor/bold/style.css');
21
+ @import url('../../icons/phosphor/light/style.css');
22
+ @import url('../../icons/phosphor/thin/style.css');
23
+ @import url('../../icons/phosphor/duotone/style.css');
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Vanduo Icons - Phosphor Integration
3
+ * Default weights: regular + fill
4
+ *
5
+ * For other weights, import directly from:
6
+ * - icons/phosphor/bold/style.css
7
+ * - icons/phosphor/light/style.css
8
+ * - icons/phosphor/thin/style.css
9
+ * - icons/phosphor/duotone/style.css
10
+ *
11
+ * Or use icons-all.css to import all weights (larger file size).
12
+ *
13
+ * Usage:
14
+ * <i class="ph ph-heart"></i> - Regular weight
15
+ * <i class="ph-fill ph-star"></i> - Fill weight
16
+ *
17
+ * Icons can be styled with CSS:
18
+ * font-size: 24px; - Size
19
+ * color: red; - Color
20
+ *
21
+ * Full icon list: https://phosphoricons.com
22
+ */
23
+
24
+ @import url('../../icons/phosphor/regular/style.css');
25
+ @import url('../../icons/phosphor/fill/style.css');