@vanduo-oss/framework 1.3.1 → 1.3.3

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