@vanduo-oss/framework 1.4.0 → 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 (87) hide show
  1. package/README.md +11 -9
  2. package/css/components/affix.css +11 -11
  3. package/css/components/alerts.css +55 -55
  4. package/css/components/avatar.css +62 -62
  5. package/css/components/badges.css +25 -25
  6. package/css/components/breadcrumbs.css +31 -31
  7. package/css/components/bubble.css +40 -40
  8. package/css/components/button-group.css +2 -2
  9. package/css/components/buttons.css +33 -33
  10. package/css/components/cards.css +76 -76
  11. package/css/components/chips.css +27 -27
  12. package/css/components/code-snippet.css +132 -132
  13. package/css/components/collapsible.css +60 -60
  14. package/css/components/collections.css +58 -58
  15. package/css/components/datepicker.css +52 -52
  16. package/css/components/doc-search.css +63 -63
  17. package/css/components/doc-tabs.css +1 -1
  18. package/css/components/draggable.css +69 -69
  19. package/css/components/dropdown.css +48 -48
  20. package/css/components/fab.css +60 -60
  21. package/css/components/flow.css +55 -55
  22. package/css/components/footer.css +52 -52
  23. package/css/components/forms.css +373 -373
  24. package/css/components/image-box.css +39 -39
  25. package/css/components/modals.css +47 -47
  26. package/css/components/music-player.css +150 -150
  27. package/css/components/navbar.css +71 -71
  28. package/css/components/pagination.css +50 -50
  29. package/css/components/preloader.css +18 -18
  30. package/css/components/progress.css +16 -16
  31. package/css/components/rating.css +18 -18
  32. package/css/components/ripple.css +10 -10
  33. package/css/components/sidenav.css +67 -67
  34. package/css/components/skeleton.css +13 -13
  35. package/css/components/spinner.css +30 -30
  36. package/css/components/spotlight.css +27 -27
  37. package/css/components/stepper.css +36 -36
  38. package/css/components/suggest.css +35 -35
  39. package/css/components/tabs.css +46 -46
  40. package/css/components/theme-customizer.css +73 -73
  41. package/css/components/timeline.css +43 -43
  42. package/css/components/timepicker.css +29 -29
  43. package/css/components/toast.css +27 -27
  44. package/css/components/tooltips.css +77 -77
  45. package/css/components/transfer.css +35 -35
  46. package/css/components/tree.css +25 -25
  47. package/css/components/waypoint.css +12 -12
  48. package/css/core/colors.css +610 -610
  49. package/css/core/grid.css +127 -127
  50. package/css/core/helpers.css +338 -338
  51. package/css/core/tokens.css +69 -81
  52. package/css/core/typography.css +91 -91
  53. package/css/effects/morph.css +17 -17
  54. package/css/effects/parallax.css +6 -6
  55. package/css/utilities/color-utilities.css +273 -273
  56. package/css/utilities/media.css +2 -2
  57. package/css/utilities/shadow.css +75 -75
  58. package/css/utilities/table.css +40 -40
  59. package/css/utilities/transitions.css +38 -38
  60. package/css/vanduo.css +1 -2
  61. package/dist/build-info.json +3 -3
  62. package/dist/vanduo.cjs.js +20 -20
  63. package/dist/vanduo.cjs.js.map +2 -2
  64. package/dist/vanduo.cjs.min.js +4 -4
  65. package/dist/vanduo.cjs.min.js.map +2 -2
  66. package/dist/vanduo.css +4030 -4127
  67. package/dist/vanduo.css.map +1 -1
  68. package/dist/vanduo.esm.js +20 -20
  69. package/dist/vanduo.esm.js.map +2 -2
  70. package/dist/vanduo.esm.min.js +4 -4
  71. package/dist/vanduo.esm.min.js.map +2 -2
  72. package/dist/vanduo.js +20 -20
  73. package/dist/vanduo.js.map +2 -2
  74. package/dist/vanduo.min.css +2 -2
  75. package/dist/vanduo.min.css.map +1 -1
  76. package/dist/vanduo.min.js +4 -4
  77. package/dist/vanduo.min.js.map +2 -2
  78. package/js/components/affix.js +2 -2
  79. package/js/components/image-box.js +2 -2
  80. package/js/components/morph.js +1 -1
  81. package/js/components/music-player.js +11 -11
  82. package/js/components/navbar.js +1 -1
  83. package/js/components/preloader.js +1 -1
  84. package/js/components/theme-customizer.js +4 -4
  85. package/js/components/vd-hex.js +8 -10
  86. package/package.json +1 -1
  87. package/css/core/vd-aliases.css +0 -108
@@ -5,27 +5,27 @@
5
5
 
6
6
  :root {
7
7
  /* Image Box Colors */
8
- --image-box-backdrop-bg: rgba(0, 0, 0, 0.9);
9
- --image-box-backdrop-blur: 8px;
8
+ --vd-image-box-backdrop-bg: rgba(0, 0, 0, 0.9);
9
+ --vd-image-box-backdrop-blur: 8px;
10
10
 
11
11
  /* Image Box Transitions (Fibonacci-inspired timing) */
12
- --image-box-transition-duration: 0.3s;
13
- --image-box-transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
12
+ --vd-image-box-transition-duration: 0.3s;
13
+ --vd-image-box-transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
14
14
 
15
15
  /* Image Box Z-index */
16
- --image-box-z-index: 2000;
16
+ --vd-image-box-z-index: 2000;
17
17
 
18
18
  /* Image Box Padding */
19
- --image-box-padding: 21px;
19
+ --vd-image-box-padding: 21px;
20
20
  /* Fibonacci number */
21
21
 
22
22
  /* Image Box Scale */
23
- --image-box-scale-start: 0.9;
24
- --image-box-scale-end: 1;
23
+ --vd-image-box-scale-start: 0.9;
24
+ --vd-image-box-scale-end: 1;
25
25
 
26
26
  /* Image Box Max Size */
27
- --image-box-max-width: 50vw;
28
- --image-box-max-height: 50vh;
27
+ --vd-image-box-max-width: 50vw;
28
+ --vd-image-box-max-height: 50vh;
29
29
  }
30
30
 
31
31
  /* Broken Image Handling for Triggers */
@@ -34,8 +34,8 @@
34
34
  min-height: 60px;
35
35
  min-width: 60px;
36
36
  cursor: zoom-in;
37
- transition: transform var(--image-box-transition-duration) var(--image-box-transition-easing),
38
- box-shadow var(--image-box-transition-duration) var(--image-box-transition-easing);
37
+ transition: transform var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing),
38
+ box-shadow var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing);
39
39
  }
40
40
 
41
41
  /* Hide broken image alt text and show styled placeholder */
@@ -59,7 +59,7 @@
59
59
 
60
60
  .vd-image-box-trigger:hover {
61
61
  transform: scale(1.02);
62
- box-shadow: var(--shadow-lg);
62
+ box-shadow: var(--vd-shadow-lg);
63
63
  }
64
64
 
65
65
  /* Image Box Backdrop */
@@ -69,18 +69,18 @@
69
69
  left: 0;
70
70
  width: 100vw;
71
71
  height: 100vh;
72
- z-index: var(--image-box-z-index);
73
- background-color: var(--image-box-backdrop-bg);
74
- backdrop-filter: blur(var(--image-box-backdrop-blur));
75
- -webkit-backdrop-filter: blur(var(--image-box-backdrop-blur));
72
+ z-index: var(--vd-image-box-z-index);
73
+ background-color: var(--vd-image-box-backdrop-bg);
74
+ backdrop-filter: blur(var(--vd-image-box-backdrop-blur));
75
+ -webkit-backdrop-filter: blur(var(--vd-image-box-backdrop-blur));
76
76
  opacity: 0;
77
77
  visibility: hidden;
78
- transition: opacity var(--image-box-transition-duration) var(--image-box-transition-easing),
79
- visibility var(--image-box-transition-duration) var(--image-box-transition-easing);
78
+ transition: opacity var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing),
79
+ visibility var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing);
80
80
  display: flex;
81
81
  align-items: center;
82
82
  justify-content: center;
83
- padding: var(--image-box-padding);
83
+ padding: var(--vd-image-box-padding);
84
84
  }
85
85
 
86
86
  .vd-image-box-backdrop.is-visible {
@@ -91,19 +91,19 @@
91
91
  /* Image Box Container */
92
92
  .vd-image-box-container {
93
93
  position: relative;
94
- max-width: var(--image-box-max-width);
95
- max-height: var(--image-box-max-height);
94
+ max-width: var(--vd-image-box-max-width);
95
+ max-height: var(--vd-image-box-max-height);
96
96
  display: flex;
97
97
  align-items: center;
98
98
  justify-content: center;
99
- transform: scale(var(--image-box-scale-start));
99
+ transform: scale(var(--vd-image-box-scale-start));
100
100
  opacity: 0;
101
- transition: transform var(--image-box-transition-duration) var(--image-box-transition-easing),
102
- opacity var(--image-box-transition-duration) var(--image-box-transition-easing);
101
+ transition: transform var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing),
102
+ opacity var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing);
103
103
  }
104
104
 
105
105
  .vd-image-box-backdrop.is-visible .vd-image-box-container {
106
- transform: scale(var(--image-box-scale-end));
106
+ transform: scale(var(--vd-image-box-scale-end));
107
107
  opacity: 1;
108
108
  }
109
109
 
@@ -112,8 +112,8 @@
112
112
  max-width: 100%;
113
113
  max-height: 100%;
114
114
  object-fit: contain;
115
- border-radius: var(--btn-border-radius);
116
- box-shadow: var(--shadow-2xl);
115
+ border-radius: var(--vd-btn-border-radius);
116
+ box-shadow: var(--vd-shadow-2xl);
117
117
  cursor: zoom-out;
118
118
  user-select: none;
119
119
  -webkit-user-drag: none;
@@ -136,9 +136,9 @@
136
136
  display: flex;
137
137
  align-items: center;
138
138
  justify-content: center;
139
- transition: background-color var(--transition-duration-fast) var(--transition-ease),
140
- transform var(--transition-duration-fast) var(--transition-ease);
141
- z-index: calc(var(--image-box-z-index) + 1);
139
+ transition: background-color var(--vd-transition-duration-fast) var(--vd-transition-ease),
140
+ transform var(--vd-transition-duration-fast) var(--vd-transition-ease);
141
+ z-index: calc(var(--vd-image-box-z-index) + 1);
142
142
  opacity: 0;
143
143
  transform: translateY(-10px);
144
144
  }
@@ -168,12 +168,12 @@
168
168
  background: rgba(0, 0, 0, 0.7);
169
169
  color: var(--vd-color-white);
170
170
  padding: 8px 16px;
171
- border-radius: var(--btn-border-radius);
172
- font-size: var(--font-size-sm);
171
+ border-radius: var(--vd-btn-border-radius);
172
+ font-size: var(--vd-font-size-sm);
173
173
  text-align: center;
174
174
  max-width: 80%;
175
175
  opacity: 0;
176
- transition: opacity var(--image-box-transition-duration) var(--image-box-transition-easing);
176
+ transition: opacity var(--vd-image-box-transition-duration) var(--vd-image-box-transition-easing);
177
177
  }
178
178
 
179
179
  .vd-image-box-backdrop.is-visible .vd-image-box-caption {
@@ -184,7 +184,7 @@
184
184
  /* Body scroll lock when Image Box is open */
185
185
  .body-image-box-open {
186
186
  overflow: hidden;
187
- padding-right: var(--scrollbar-width, 0);
187
+ padding-right: var(--vd-scrollbar-width, 0);
188
188
  }
189
189
 
190
190
  /* Reduced Motion Support */
@@ -206,9 +206,9 @@
206
206
  /* Mobile Adjustments */
207
207
  @media (max-width: 767.98px) {
208
208
  :root {
209
- --image-box-padding: 13px;
210
- --image-box-max-width: 90vw;
211
- --image-box-max-height: 80vh;
209
+ --vd-image-box-padding: 13px;
210
+ --vd-image-box-max-width: 90vw;
211
+ --vd-image-box-max-height: 80vh;
212
212
  }
213
213
 
214
214
  .vd-image-box-close {
@@ -242,7 +242,7 @@
242
242
  outline: 3px solid var(--vd-color-primary);
243
243
  outline-offset: 2px;
244
244
  transform: scale(1.05);
245
- box-shadow: var(--shadow-lg);
245
+ box-shadow: var(--vd-shadow-lg);
246
246
  }
247
247
 
248
248
  /* Keyboard focus for gallery thumbnails */
@@ -5,39 +5,39 @@
5
5
 
6
6
  :root {
7
7
  /* Modal Colors */
8
- --modal-bg: var(--vd-color-white);
9
- --modal-backdrop-bg: rgba(0, 0, 0, 0.5);
10
- --modal-border-color: var(--vd-border-color);
8
+ --vd-modal-bg: var(--vd-color-white);
9
+ --vd-modal-backdrop-bg: rgba(0, 0, 0, 0.5);
10
+ --vd-modal-border-color: var(--vd-border-color);
11
11
 
12
12
  /* Modal Spacing (Fibonacci: 21px) */
13
- --modal-padding: 1.3125rem;
14
- --modal-header-padding: 1.3125rem;
15
- --modal-body-padding: 1.3125rem;
16
- --modal-footer-padding: 1.3125rem;
13
+ --vd-modal-padding: 1.3125rem;
14
+ --vd-modal-header-padding: 1.3125rem;
15
+ --vd-modal-body-padding: 1.3125rem;
16
+ --vd-modal-footer-padding: 1.3125rem;
17
17
 
18
18
  /* Modal Sizes (all Fibonacci numbers) */
19
- --modal-width-sm: 233px; /* fib(13) */
20
- --modal-width: 377px; /* fib(14) */
21
- --modal-width-lg: 610px; /* fib(15) */
22
- --modal-width-xl: 987px; /* fib(16) */
19
+ --vd-modal-width-sm: 233px; /* fib(13) */
20
+ --vd-modal-width: 377px; /* fib(14) */
21
+ --vd-modal-width-lg: 610px; /* fib(15) */
22
+ --vd-modal-width-xl: 987px; /* fib(16) */
23
23
 
24
24
  /* Modal Z-index */
25
- --modal-z-index: 1050;
26
- --modal-backdrop-z-index: 1040;
25
+ --vd-modal-z-index: 1050;
26
+ --vd-modal-backdrop-z-index: 1040;
27
27
 
28
28
  /* Modal Transitions */
29
- --modal-transition: opacity var(--transition-duration-base) var(--transition-ease);
30
- --modal-dialog-transition: transform var(--transition-duration-base) var(--transition-ease);
29
+ --vd-modal-transition: opacity var(--vd-transition-duration-base) var(--vd-transition-ease);
30
+ --vd-modal-dialog-transition: transform var(--vd-transition-duration-base) var(--vd-transition-ease);
31
31
  }
32
32
 
33
33
  /* Dark Theme Overrides */
34
34
  [data-theme="dark"] {
35
- --modal-bg: var(--vd-bg-secondary);
35
+ --vd-modal-bg: var(--vd-bg-secondary);
36
36
  }
37
37
 
38
38
  @media (prefers-color-scheme: dark) {
39
39
  :root:not([data-theme]) {
40
- --modal-bg: var(--vd-bg-secondary);
40
+ --vd-modal-bg: var(--vd-bg-secondary);
41
41
  }
42
42
  }
43
43
 
@@ -46,12 +46,12 @@
46
46
  position: fixed;
47
47
  top: 0;
48
48
  left: 0;
49
- z-index: var(--modal-backdrop-z-index);
49
+ z-index: var(--vd-modal-backdrop-z-index);
50
50
  width: 100vw;
51
51
  height: 100vh;
52
- background-color: var(--modal-backdrop-bg);
52
+ background-color: var(--vd-modal-backdrop-bg);
53
53
  opacity: 0;
54
- transition: var(--modal-transition);
54
+ transition: var(--vd-modal-transition);
55
55
  pointer-events: none;
56
56
  }
57
57
 
@@ -70,7 +70,7 @@
70
70
  position: fixed;
71
71
  top: 0;
72
72
  left: 0;
73
- z-index: var(--modal-z-index);
73
+ z-index: var(--vd-modal-z-index);
74
74
  display: none;
75
75
  width: 100%;
76
76
  height: 100%;
@@ -78,7 +78,7 @@
78
78
  overflow-y: auto;
79
79
  outline: 0;
80
80
  opacity: 0;
81
- transition: var(--modal-transition);
81
+ transition: var(--vd-modal-transition);
82
82
  }
83
83
 
84
84
  .vd-modal.is-open {
@@ -93,10 +93,10 @@
93
93
  position: relative;
94
94
  width: auto;
95
95
  margin: 1.75rem auto;
96
- max-width: var(--modal-width);
96
+ max-width: var(--vd-modal-width);
97
97
  pointer-events: none;
98
98
  transform: scale(0.95);
99
- transition: var(--modal-dialog-transition);
99
+ transition: var(--vd-modal-dialog-transition);
100
100
  z-index: 1060;
101
101
  }
102
102
 
@@ -111,11 +111,11 @@
111
111
  flex-direction: column;
112
112
  width: 100%;
113
113
  pointer-events: auto;
114
- background-color: var(--modal-bg);
114
+ background-color: var(--vd-modal-bg);
115
115
  background-clip: padding-box;
116
- border: 1px solid var(--modal-border-color);
117
- border-radius: var(--btn-border-radius-lg);
118
- box-shadow: var(--shadow-2xl);
116
+ border: 1px solid var(--vd-modal-border-color);
117
+ border-radius: var(--vd-btn-border-radius-lg);
118
+ box-shadow: var(--vd-shadow-2xl);
119
119
  outline: 0;
120
120
  }
121
121
 
@@ -132,17 +132,17 @@
132
132
  display: flex;
133
133
  align-items: flex-start;
134
134
  justify-content: space-between;
135
- padding: var(--modal-header-padding);
136
- border-bottom: 1px solid var(--modal-border-color);
137
- border-top-left-radius: calc(var(--btn-border-radius-lg) - 1px);
138
- border-top-right-radius: calc(var(--btn-border-radius-lg) - 1px);
135
+ padding: var(--vd-modal-header-padding);
136
+ border-bottom: 1px solid var(--vd-modal-border-color);
137
+ border-top-left-radius: calc(var(--vd-btn-border-radius-lg) - 1px);
138
+ border-top-right-radius: calc(var(--vd-btn-border-radius-lg) - 1px);
139
139
  }
140
140
 
141
141
  .vd-modal-title {
142
142
  margin-bottom: 0;
143
- line-height: var(--line-height-normal);
144
- font-size: var(--font-size-xl);
145
- font-weight: var(--font-weight-semibold);
143
+ line-height: var(--vd-line-height-normal);
144
+ font-size: var(--vd-font-size-xl);
145
+ font-weight: var(--vd-font-weight-semibold);
146
146
  color: var(--vd-text-primary);
147
147
  }
148
148
 
@@ -152,15 +152,15 @@
152
152
  margin: -0.5rem -0.5rem -0.5rem auto;
153
153
  background: transparent;
154
154
  border: 0;
155
- border-radius: var(--btn-border-radius);
155
+ border-radius: var(--vd-btn-border-radius);
156
156
  opacity: 0.5;
157
157
  cursor: pointer;
158
158
  font-size: 1.5rem;
159
- font-weight: var(--font-weight-bold);
159
+ font-weight: var(--vd-font-weight-bold);
160
160
  line-height: 1;
161
161
  color: var(--vd-text-secondary);
162
162
  text-shadow: 0 1px 0 var(--vd-color-white);
163
- transition: var(--transition-opacity);
163
+ transition: var(--vd-transition-opacity);
164
164
  user-select: none;
165
165
  }
166
166
 
@@ -173,7 +173,7 @@
173
173
  }
174
174
 
175
175
  .vd-modal-close:focus {
176
- outline: 2px solid var(--input-focus-border-color);
176
+ outline: 2px solid var(--vd-input-focus-border-color);
177
177
  outline-offset: 2px;
178
178
  }
179
179
 
@@ -181,7 +181,7 @@
181
181
  .vd-modal-body {
182
182
  position: relative;
183
183
  flex: 1 1 auto;
184
- padding: var(--modal-body-padding);
184
+ padding: var(--vd-modal-body-padding);
185
185
  }
186
186
 
187
187
  /* Modal Footer */
@@ -190,10 +190,10 @@
190
190
  flex-wrap: wrap;
191
191
  align-items: center;
192
192
  justify-content: flex-end;
193
- padding: var(--modal-footer-padding);
194
- border-top: 1px solid var(--modal-border-color);
195
- border-bottom-left-radius: calc(var(--btn-border-radius-lg) - 1px);
196
- border-bottom-right-radius: calc(var(--btn-border-radius-lg) - 1px);
193
+ padding: var(--vd-modal-footer-padding);
194
+ border-top: 1px solid var(--vd-modal-border-color);
195
+ border-bottom-left-radius: calc(var(--vd-btn-border-radius-lg) - 1px);
196
+ border-bottom-right-radius: calc(var(--vd-btn-border-radius-lg) - 1px);
197
197
  gap: 0.5rem;
198
198
  }
199
199
 
@@ -203,15 +203,15 @@
203
203
 
204
204
  /* Modal Sizes */
205
205
  .vd-modal-sm .vd-modal-dialog {
206
- max-width: var(--modal-width-sm);
206
+ max-width: var(--vd-modal-width-sm);
207
207
  }
208
208
 
209
209
  .vd-modal-lg .vd-modal-dialog {
210
- max-width: var(--modal-width-lg);
210
+ max-width: var(--vd-modal-width-lg);
211
211
  }
212
212
 
213
213
  .vd-modal-xl .vd-modal-dialog {
214
- max-width: var(--modal-width-xl);
214
+ max-width: var(--vd-modal-width-xl);
215
215
  }
216
216
 
217
217
  .vd-modal-fullscreen .vd-modal-dialog {