@vanduo-oss/framework 1.3.1 → 1.3.2

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.
package/dist/vanduo.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Vanduo v1.3.1 | Built: 2026-03-20T21:48:40.922Z | git:7e73bb8 | development */
1
+ /*! Vanduo v1.3.2 | Built: 2026-04-06T19:04:41.601Z | git:8e08b38 | development */
2
2
  *, :before, :after {
3
3
  box-sizing: border-box;
4
4
  }
@@ -63867,6 +63867,513 @@ input.vd-doc-search-input {
63867
63867
  position: relative;
63868
63868
  }
63869
63869
 
63870
+ :root {
63871
+ --music-player-padding-x: 1.3125rem;
63872
+ --music-player-padding-y: .8125rem;
63873
+ --music-player-padding-x-sm: .8125rem;
63874
+ --music-player-padding-y-sm: .5rem;
63875
+ --music-player-padding-x-lg: 2.125rem;
63876
+ --music-player-padding-y-lg: 1.3125rem;
63877
+ --music-player-gap: .8125rem;
63878
+ --music-player-btn-size: 2.125rem;
63879
+ --music-player-btn-size-sm: 1.625rem;
63880
+ --music-player-btn-size-lg: 2.625rem;
63881
+ --music-player-icon-size: 1.125rem;
63882
+ --music-player-volume-width: clamp(3.25rem, 16vw, 4.5rem);
63883
+ --music-player-volume-width-sm: 3rem;
63884
+ --music-player-volume-width-lg: 5.5rem;
63885
+ --music-player-border-radius: var(--border-radius, .5rem);
63886
+ --music-player-border-width: 1px;
63887
+ --music-player-bg: var(--bg-primary);
63888
+ --music-player-bg-secondary: var(--bg-secondary);
63889
+ --music-player-border: var(--border-color);
63890
+ --music-player-text: var(--text-primary);
63891
+ --music-player-text-muted: var(--text-muted);
63892
+ --music-player-accent: var(--color-primary);
63893
+ --music-player-btn-hover-bg: var(--bg-secondary);
63894
+ --music-player-btn-active-bg: var(--color-primary-alpha-10, rgba(var(--color-primary-rgb, 59,130,246), .1));
63895
+ --music-player-track-bg: var(--border-color);
63896
+ --music-player-track-fill: var(--color-primary);
63897
+ --music-player-playlist-hover: var(--bg-secondary);
63898
+ --music-player-playlist-active-bg: var(--color-primary-alpha-10, rgba(var(--color-primary-rgb, 59,130,246), .1));
63899
+ --music-player-playlist-active-text: var(--color-primary);
63900
+ --music-player-transition: .15s ease;
63901
+ }
63902
+
63903
+ [data-theme="dark"] {
63904
+ --music-player-bg: var(--bg-primary);
63905
+ --music-player-bg-secondary: var(--color-gray-800);
63906
+ --music-player-btn-hover-bg: var(--color-gray-700);
63907
+ --music-player-playlist-hover: var(--color-gray-700);
63908
+ }
63909
+
63910
+ @media (prefers-color-scheme: dark) {
63911
+ :root:not([data-theme]) {
63912
+ --music-player-bg: var(--bg-primary);
63913
+ --music-player-bg-secondary: var(--color-gray-800);
63914
+ --music-player-btn-hover-bg: var(--color-gray-700);
63915
+ --music-player-playlist-hover: var(--color-gray-700);
63916
+ }
63917
+ }
63918
+
63919
+ .vd-music-player {
63920
+ background-color: var(--music-player-bg);
63921
+ border: var(--music-player-border-width) solid var(--music-player-border);
63922
+ border-radius: var(--music-player-border-radius);
63923
+ padding: var(--music-player-padding-y) var(--music-player-padding-x);
63924
+ box-sizing: border-box;
63925
+ flex-direction: column;
63926
+ gap: 0;
63927
+ width: 100%;
63928
+ min-width: 16rem;
63929
+ max-width: 28rem;
63930
+ display: flex;
63931
+ }
63932
+
63933
+ .vd-music-player-info {
63934
+ align-items: center;
63935
+ gap: .625rem;
63936
+ min-height: 1.5rem;
63937
+ margin-bottom: .625rem;
63938
+ display: flex;
63939
+ }
63940
+
63941
+ .vd-music-player-icon {
63942
+ color: var(--music-player-accent);
63943
+ flex-shrink: 0;
63944
+ justify-content: center;
63945
+ align-items: center;
63946
+ width: 1rem;
63947
+ height: 1rem;
63948
+ display: flex;
63949
+ }
63950
+
63951
+ .vd-music-player-track-name {
63952
+ font-size: var(--font-size-sm, .875rem);
63953
+ color: var(--music-player-text);
63954
+ white-space: nowrap;
63955
+ text-overflow: ellipsis;
63956
+ flex: 1;
63957
+ min-width: 0;
63958
+ overflow: hidden;
63959
+ }
63960
+
63961
+ .vd-music-player-track-name.is-idle {
63962
+ color: var(--music-player-text-muted);
63963
+ font-style: italic;
63964
+ }
63965
+
63966
+ .vd-music-player-controls {
63967
+ flex-wrap: wrap;
63968
+ align-items: center;
63969
+ gap: .375rem;
63970
+ display: flex;
63971
+ }
63972
+
63973
+ .vd-music-player-btn {
63974
+ width: var(--music-player-btn-size);
63975
+ height: var(--music-player-btn-size);
63976
+ border-radius: var(--music-player-border-radius);
63977
+ color: var(--music-player-text);
63978
+ cursor: pointer;
63979
+ transition: background-color var(--music-player-transition),
63980
+ color var(--music-player-transition);
63981
+ background: none;
63982
+ border: none;
63983
+ flex-shrink: 0;
63984
+ justify-content: center;
63985
+ align-items: center;
63986
+ padding: 0;
63987
+ display: inline-flex;
63988
+ }
63989
+
63990
+ .vd-music-player-btn:hover:not(:disabled) {
63991
+ background-color: var(--music-player-btn-hover-bg);
63992
+ color: var(--music-player-accent);
63993
+ }
63994
+
63995
+ .vd-music-player-btn:focus-visible {
63996
+ outline: 2px solid var(--music-player-accent);
63997
+ outline-offset: 1px;
63998
+ }
63999
+
64000
+ .vd-music-player-btn:disabled {
64001
+ opacity: .38;
64002
+ cursor: not-allowed;
64003
+ }
64004
+
64005
+ .vd-music-player-btn.is-active {
64006
+ color: var(--music-player-accent);
64007
+ background-color: var(--music-player-btn-active-bg);
64008
+ }
64009
+
64010
+ .vd-music-player-btn-play {
64011
+ width: calc(var(--music-player-btn-size) + .25rem);
64012
+ height: calc(var(--music-player-btn-size) + .25rem);
64013
+ }
64014
+
64015
+ .vd-music-player-btn svg, .vd-music-player-btn i {
64016
+ width: var(--music-player-icon-size);
64017
+ height: var(--music-player-icon-size);
64018
+ font-size: var(--music-player-icon-size);
64019
+ pointer-events: none;
64020
+ }
64021
+
64022
+ .vd-music-player-spacer {
64023
+ flex: 1.5rem;
64024
+ min-width: 0;
64025
+ }
64026
+
64027
+ .vd-music-player-volume {
64028
+ flex: 0 auto;
64029
+ align-items: center;
64030
+ gap: .3125rem;
64031
+ min-width: 0;
64032
+ max-width: 100%;
64033
+ display: flex;
64034
+ }
64035
+
64036
+ .vd-music-player-volume-icon {
64037
+ color: var(--music-player-text-muted);
64038
+ flex-shrink: 0;
64039
+ align-items: center;
64040
+ width: 1rem;
64041
+ height: 1rem;
64042
+ font-size: 1rem;
64043
+ display: flex;
64044
+ }
64045
+
64046
+ .vd-music-player-volume-slider {
64047
+ -webkit-appearance: none;
64048
+ appearance: none;
64049
+ width: var(--music-player-volume-width);
64050
+ background: var(--music-player-track-bg);
64051
+ cursor: pointer;
64052
+ flex: 0 1 var(--music-player-volume-width);
64053
+ border-radius: 9999px;
64054
+ outline: none;
64055
+ min-width: 3.25rem;
64056
+ max-width: 100%;
64057
+ height: 4px;
64058
+ }
64059
+
64060
+ .vd-music-player-volume-slider:focus-visible {
64061
+ outline: 2px solid var(--music-player-accent);
64062
+ outline-offset: 2px;
64063
+ }
64064
+
64065
+ .vd-music-player-volume-slider::-webkit-slider-thumb {
64066
+ -webkit-appearance: none;
64067
+ appearance: none;
64068
+ background: var(--music-player-accent);
64069
+ cursor: pointer;
64070
+ width: .75rem;
64071
+ height: .75rem;
64072
+ transition: transform var(--music-player-transition);
64073
+ border-radius: 50%;
64074
+ }
64075
+
64076
+ .vd-music-player-volume-slider::-webkit-slider-thumb:hover {
64077
+ transform: scale(1.2);
64078
+ }
64079
+
64080
+ .vd-music-player-volume-slider::-moz-range-thumb {
64081
+ background: var(--music-player-accent);
64082
+ cursor: pointer;
64083
+ width: .75rem;
64084
+ height: .75rem;
64085
+ transition: transform var(--music-player-transition);
64086
+ border: none;
64087
+ border-radius: 50%;
64088
+ }
64089
+
64090
+ .vd-music-player-volume-slider::-moz-range-thumb:hover {
64091
+ transform: scale(1.2);
64092
+ }
64093
+
64094
+ .vd-music-player-volume-slider::-moz-range-progress {
64095
+ background: var(--music-player-track-fill);
64096
+ border-radius: 9999px;
64097
+ }
64098
+
64099
+ .vd-music-player-progress {
64100
+ align-items: center;
64101
+ gap: .5rem;
64102
+ margin-top: .625rem;
64103
+ display: none;
64104
+ }
64105
+
64106
+ .vd-music-player.has-progress .vd-music-player-progress {
64107
+ display: flex;
64108
+ }
64109
+
64110
+ .vd-music-player-progress-bar {
64111
+ -webkit-appearance: none;
64112
+ appearance: none;
64113
+ background: var(--music-player-track-bg);
64114
+ cursor: pointer;
64115
+ border-radius: 9999px;
64116
+ outline: none;
64117
+ flex: 1;
64118
+ height: 4px;
64119
+ }
64120
+
64121
+ .vd-music-player-progress-bar:focus-visible {
64122
+ outline: 2px solid var(--music-player-accent);
64123
+ outline-offset: 2px;
64124
+ }
64125
+
64126
+ .vd-music-player-progress-bar::-webkit-slider-thumb {
64127
+ -webkit-appearance: none;
64128
+ appearance: none;
64129
+ background: var(--music-player-accent);
64130
+ cursor: pointer;
64131
+ width: .75rem;
64132
+ height: .75rem;
64133
+ transition: transform var(--music-player-transition);
64134
+ border-radius: 50%;
64135
+ }
64136
+
64137
+ .vd-music-player-progress-bar::-webkit-slider-thumb:hover {
64138
+ transform: scale(1.2);
64139
+ }
64140
+
64141
+ .vd-music-player-progress-bar::-moz-range-thumb {
64142
+ background: var(--music-player-accent);
64143
+ cursor: pointer;
64144
+ width: .75rem;
64145
+ height: .75rem;
64146
+ transition: transform var(--music-player-transition);
64147
+ border: none;
64148
+ border-radius: 50%;
64149
+ }
64150
+
64151
+ .vd-music-player-progress-bar::-moz-range-progress {
64152
+ background: var(--music-player-track-fill);
64153
+ border-radius: 9999px;
64154
+ }
64155
+
64156
+ .vd-music-player-time {
64157
+ color: var(--music-player-text-muted);
64158
+ white-space: nowrap;
64159
+ font-variant-numeric: tabular-nums;
64160
+ text-align: right;
64161
+ flex-shrink: 0;
64162
+ min-width: 2.5rem;
64163
+ font-size: .6875rem;
64164
+ }
64165
+
64166
+ .vd-music-player-time:first-child {
64167
+ text-align: left;
64168
+ }
64169
+
64170
+ .vd-music-player-playlist {
64171
+ border-top: var(--music-player-border-width) solid var(--music-player-border);
64172
+ scrollbar-width: thin;
64173
+ flex-direction: column;
64174
+ max-height: 12rem;
64175
+ margin-top: .625rem;
64176
+ padding-top: .5rem;
64177
+ display: none;
64178
+ overflow-y: auto;
64179
+ }
64180
+
64181
+ .vd-music-player.has-playlist .vd-music-player-playlist.is-open {
64182
+ display: flex;
64183
+ }
64184
+
64185
+ .vd-music-player-playlist-item {
64186
+ border-radius: calc(var(--music-player-border-radius) * .5);
64187
+ cursor: pointer;
64188
+ font-size: var(--font-size-sm, .875rem);
64189
+ color: var(--music-player-text);
64190
+ text-align: left;
64191
+ width: 100%;
64192
+ transition: background-color var(--music-player-transition),
64193
+ color var(--music-player-transition);
64194
+ background: none;
64195
+ border: none;
64196
+ align-items: center;
64197
+ gap: .5rem;
64198
+ padding: .375rem .5rem;
64199
+ display: flex;
64200
+ }
64201
+
64202
+ .vd-music-player-playlist-item:hover {
64203
+ background-color: var(--music-player-playlist-hover);
64204
+ }
64205
+
64206
+ .vd-music-player-playlist-item:focus-visible {
64207
+ outline: 2px solid var(--music-player-accent);
64208
+ outline-offset: 1px;
64209
+ }
64210
+
64211
+ .vd-music-player-playlist-item.is-active {
64212
+ background-color: var(--music-player-playlist-active-bg);
64213
+ color: var(--music-player-playlist-active-text);
64214
+ font-weight: var(--font-weight-medium, 500);
64215
+ }
64216
+
64217
+ .vd-music-player-playlist-num {
64218
+ width: 1.25rem;
64219
+ color: var(--music-player-text-muted);
64220
+ text-align: right;
64221
+ font-variant-numeric: tabular-nums;
64222
+ flex-shrink: 0;
64223
+ font-size: .6875rem;
64224
+ }
64225
+
64226
+ .vd-music-player-playlist-item.is-active .vd-music-player-playlist-num {
64227
+ color: var(--music-player-accent);
64228
+ }
64229
+
64230
+ .vd-music-player-playlist-name {
64231
+ white-space: nowrap;
64232
+ text-overflow: ellipsis;
64233
+ flex: 1;
64234
+ min-width: 0;
64235
+ overflow: hidden;
64236
+ }
64237
+
64238
+ .vd-music-player-compact {
64239
+ flex-direction: row;
64240
+ align-items: center;
64241
+ gap: .5rem;
64242
+ width: auto;
64243
+ min-width: auto;
64244
+ max-width: none;
64245
+ padding: .5rem .8125rem;
64246
+ }
64247
+
64248
+ .vd-music-player-compact .vd-music-player-info {
64249
+ display: none;
64250
+ }
64251
+
64252
+ .vd-music-player-compact .vd-music-player-controls {
64253
+ gap: .125rem;
64254
+ }
64255
+
64256
+ .vd-music-player-inline {
64257
+ padding: .625rem var(--music-player-padding-x);
64258
+ flex-flow: wrap;
64259
+ align-items: center;
64260
+ gap: .625rem;
64261
+ min-width: 0;
64262
+ max-width: none;
64263
+ }
64264
+
64265
+ .vd-music-player-inline .vd-music-player-info {
64266
+ flex: 1;
64267
+ min-width: 8rem;
64268
+ margin-bottom: 0;
64269
+ }
64270
+
64271
+ .vd-music-player-inline .vd-music-player-controls {
64272
+ flex: auto;
64273
+ justify-content: flex-end;
64274
+ min-width: 0;
64275
+ }
64276
+
64277
+ .vd-music-player-inline .vd-music-player-volume {
64278
+ flex: 0 auto;
64279
+ }
64280
+
64281
+ .vd-music-player-inline .vd-music-player-volume-slider {
64282
+ flex-basis: clamp(4rem, 18vw, 5.5rem);
64283
+ width: clamp(4rem, 18vw, 5.5rem);
64284
+ }
64285
+
64286
+ .vd-music-player-inline .vd-music-player-progress {
64287
+ flex-basis: 100%;
64288
+ margin-top: .375rem;
64289
+ }
64290
+
64291
+ .vd-music-player-sm {
64292
+ padding: var(--music-player-padding-y-sm) var(--music-player-padding-x-sm);
64293
+ font-size: var(--font-size-sm, .875rem);
64294
+ }
64295
+
64296
+ .vd-music-player-sm .vd-music-player-btn {
64297
+ width: var(--music-player-btn-size-sm);
64298
+ height: var(--music-player-btn-size-sm);
64299
+ }
64300
+
64301
+ .vd-music-player-sm .vd-music-player-btn-play {
64302
+ width: calc(var(--music-player-btn-size-sm) + .125rem);
64303
+ height: calc(var(--music-player-btn-size-sm) + .125rem);
64304
+ }
64305
+
64306
+ .vd-music-player-sm .vd-music-player-btn svg, .vd-music-player-sm .vd-music-player-btn i {
64307
+ width: .9375rem;
64308
+ height: .9375rem;
64309
+ font-size: .9375rem;
64310
+ }
64311
+
64312
+ .vd-music-player-sm .vd-music-player-volume-slider {
64313
+ width: var(--music-player-volume-width-sm);
64314
+ min-width: var(--music-player-volume-width-sm);
64315
+ flex-basis: var(--music-player-volume-width-sm);
64316
+ }
64317
+
64318
+ .vd-music-player-lg {
64319
+ padding: var(--music-player-padding-y-lg) var(--music-player-padding-x-lg);
64320
+ }
64321
+
64322
+ .vd-music-player-lg .vd-music-player-btn {
64323
+ width: var(--music-player-btn-size-lg);
64324
+ height: var(--music-player-btn-size-lg);
64325
+ }
64326
+
64327
+ .vd-music-player-lg .vd-music-player-btn-play {
64328
+ width: calc(var(--music-player-btn-size-lg) + .25rem);
64329
+ height: calc(var(--music-player-btn-size-lg) + .25rem);
64330
+ }
64331
+
64332
+ .vd-music-player-lg .vd-music-player-btn svg, .vd-music-player-lg .vd-music-player-btn i {
64333
+ width: 1.25rem;
64334
+ height: 1.25rem;
64335
+ font-size: 1.25rem;
64336
+ }
64337
+
64338
+ .vd-music-player-lg .vd-music-player-volume-slider {
64339
+ width: var(--music-player-volume-width-lg);
64340
+ flex-basis: var(--music-player-volume-width-lg);
64341
+ min-width: 4rem;
64342
+ }
64343
+
64344
+ .vd-music-player-neutral {
64345
+ --music-player-accent: var(--text-primary);
64346
+ --music-player-track-fill: var(--text-primary);
64347
+ --music-player-playlist-active-text: var(--text-primary);
64348
+ --music-player-playlist-active-bg: var(--bg-secondary);
64349
+ --music-player-btn-active-bg: var(--bg-secondary);
64350
+ }
64351
+
64352
+ @media (prefers-reduced-motion: reduce) {
64353
+ .vd-music-player-btn, .vd-music-player-volume-slider::-webkit-slider-thumb, .vd-music-player-volume-slider::-moz-range-thumb, .vd-music-player-progress-bar::-webkit-slider-thumb, .vd-music-player-progress-bar::-moz-range-thumb, .vd-music-player-playlist-item {
64354
+ transition: none;
64355
+ }
64356
+ }
64357
+
64358
+ @media (width <= 640px) {
64359
+ .vd-music-player {
64360
+ min-width: 0;
64361
+ max-width: none;
64362
+ }
64363
+
64364
+ .vd-music-player-controls {
64365
+ row-gap: .5rem;
64366
+ }
64367
+
64368
+ .vd-music-player-spacer {
64369
+ display: none;
64370
+ }
64371
+
64372
+ .vd-music-player-volume {
64373
+ margin-left: auto;
64374
+ }
64375
+ }
64376
+
63870
64377
  @media print {
63871
64378
  *, :before, :after {
63872
64379
  color: #000 !important;