@vanduo-oss/framework 1.4.6 → 1.5.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.
package/dist/vanduo.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Vanduo v1.4.6 | Built: 2026-06-13T10:32:26.875Z | git:82019ff | development */
1
+ /*! Vanduo v1.5.1 | Built: 2026-06-20T15:00:18.257Z | git:baf8178 | development */
2
2
  *, :before, :after {
3
3
  box-sizing: border-box;
4
4
  }
@@ -3216,6 +3216,441 @@ pre code {
3216
3216
  }
3217
3217
  }
3218
3218
 
3219
+ .vd-box {
3220
+ --vd-box-pad: 0;
3221
+ --vd-box-radius: 0;
3222
+ padding: var(--vd-box-pad);
3223
+ border-radius: var(--vd-box-radius);
3224
+ display: block;
3225
+ }
3226
+
3227
+ .vd-box[data-pad="0"] {
3228
+ --vd-box-pad: 0;
3229
+ }
3230
+
3231
+ .vd-box[data-pad="fib-1"] {
3232
+ --vd-box-pad: var(--vd-space-fib-1);
3233
+ }
3234
+
3235
+ .vd-box[data-pad="fib-2"] {
3236
+ --vd-box-pad: var(--vd-space-fib-2);
3237
+ }
3238
+
3239
+ .vd-box[data-pad="fib-3"] {
3240
+ --vd-box-pad: var(--vd-space-fib-3);
3241
+ }
3242
+
3243
+ .vd-box[data-pad="fib-5"] {
3244
+ --vd-box-pad: var(--vd-space-fib-5);
3245
+ }
3246
+
3247
+ .vd-box[data-pad="fib-8"] {
3248
+ --vd-box-pad: var(--vd-space-fib-8);
3249
+ }
3250
+
3251
+ .vd-box[data-pad="fib-13"] {
3252
+ --vd-box-pad: var(--vd-space-fib-13);
3253
+ }
3254
+
3255
+ .vd-box[data-pad="fib-21"] {
3256
+ --vd-box-pad: var(--vd-space-fib-21);
3257
+ }
3258
+
3259
+ .vd-box[data-pad="fib-34"] {
3260
+ --vd-box-pad: var(--vd-space-fib-34);
3261
+ }
3262
+
3263
+ .vd-box[data-pad="fib-55"] {
3264
+ --vd-box-pad: var(--vd-space-fib-55);
3265
+ }
3266
+
3267
+ .vd-box[data-bg="primary"] {
3268
+ background-color: var(--vd-bg-primary);
3269
+ }
3270
+
3271
+ .vd-box[data-bg="secondary"] {
3272
+ background-color: var(--vd-bg-secondary);
3273
+ }
3274
+
3275
+ .vd-box[data-bg="tertiary"] {
3276
+ background-color: var(--vd-bg-tertiary);
3277
+ }
3278
+
3279
+ .vd-box[data-bg="dark"] {
3280
+ background-color: var(--vd-bg-dark);
3281
+ }
3282
+
3283
+ .vd-box[data-bg="darker"] {
3284
+ background-color: var(--vd-bg-darker);
3285
+ }
3286
+
3287
+ .vd-box[data-round="none"] {
3288
+ --vd-box-radius: 0;
3289
+ }
3290
+
3291
+ .vd-box[data-round="sm"] {
3292
+ --vd-box-radius: var(--vd-radius-fib-2);
3293
+ }
3294
+
3295
+ .vd-box[data-round="md"] {
3296
+ --vd-box-radius: var(--vd-radius-fib-5);
3297
+ }
3298
+
3299
+ .vd-box[data-round="lg"] {
3300
+ --vd-box-radius: var(--vd-radius-fib-8);
3301
+ }
3302
+
3303
+ .vd-box[data-round="xl"] {
3304
+ --vd-box-radius: var(--vd-radius-fib-13);
3305
+ }
3306
+
3307
+ .vd-box[data-round="2xl"] {
3308
+ --vd-box-radius: var(--vd-radius-fib-21);
3309
+ }
3310
+
3311
+ .vd-box[data-round="full"] {
3312
+ --vd-box-radius: 9999px;
3313
+ }
3314
+
3315
+ .vd-box[data-border] {
3316
+ border: 1px solid var(--vd-border-color);
3317
+ }
3318
+
3319
+ .vd-stack {
3320
+ --vd-stack-gap: 0;
3321
+ gap: var(--vd-stack-gap);
3322
+ flex-direction: column;
3323
+ display: flex;
3324
+ }
3325
+
3326
+ .vd-stack[data-gap="0"] {
3327
+ --vd-stack-gap: 0;
3328
+ }
3329
+
3330
+ .vd-stack[data-gap="fib-1"] {
3331
+ --vd-stack-gap: var(--vd-space-fib-1);
3332
+ }
3333
+
3334
+ .vd-stack[data-gap="fib-2"] {
3335
+ --vd-stack-gap: var(--vd-space-fib-2);
3336
+ }
3337
+
3338
+ .vd-stack[data-gap="fib-3"] {
3339
+ --vd-stack-gap: var(--vd-space-fib-3);
3340
+ }
3341
+
3342
+ .vd-stack[data-gap="fib-5"] {
3343
+ --vd-stack-gap: var(--vd-space-fib-5);
3344
+ }
3345
+
3346
+ .vd-stack[data-gap="fib-8"] {
3347
+ --vd-stack-gap: var(--vd-space-fib-8);
3348
+ }
3349
+
3350
+ .vd-stack[data-gap="fib-13"] {
3351
+ --vd-stack-gap: var(--vd-space-fib-13);
3352
+ }
3353
+
3354
+ .vd-stack[data-gap="fib-21"] {
3355
+ --vd-stack-gap: var(--vd-space-fib-21);
3356
+ }
3357
+
3358
+ .vd-stack[data-gap="fib-34"] {
3359
+ --vd-stack-gap: var(--vd-space-fib-34);
3360
+ }
3361
+
3362
+ .vd-stack[data-gap="fib-55"] {
3363
+ --vd-stack-gap: var(--vd-space-fib-55);
3364
+ }
3365
+
3366
+ .vd-stack[data-align="start"] {
3367
+ align-items: flex-start;
3368
+ }
3369
+
3370
+ .vd-stack[data-align="center"] {
3371
+ align-items: center;
3372
+ }
3373
+
3374
+ .vd-stack[data-align="end"] {
3375
+ align-items: flex-end;
3376
+ }
3377
+
3378
+ .vd-stack[data-align="stretch"] {
3379
+ align-items: stretch;
3380
+ }
3381
+
3382
+ .vd-inline {
3383
+ --vd-inline-gap: 0;
3384
+ align-items: center;
3385
+ gap: var(--vd-inline-gap);
3386
+ flex-flow: wrap;
3387
+ display: flex;
3388
+ }
3389
+
3390
+ .vd-inline[data-gap="0"] {
3391
+ --vd-inline-gap: 0;
3392
+ }
3393
+
3394
+ .vd-inline[data-gap="fib-1"] {
3395
+ --vd-inline-gap: var(--vd-space-fib-1);
3396
+ }
3397
+
3398
+ .vd-inline[data-gap="fib-2"] {
3399
+ --vd-inline-gap: var(--vd-space-fib-2);
3400
+ }
3401
+
3402
+ .vd-inline[data-gap="fib-3"] {
3403
+ --vd-inline-gap: var(--vd-space-fib-3);
3404
+ }
3405
+
3406
+ .vd-inline[data-gap="fib-5"] {
3407
+ --vd-inline-gap: var(--vd-space-fib-5);
3408
+ }
3409
+
3410
+ .vd-inline[data-gap="fib-8"] {
3411
+ --vd-inline-gap: var(--vd-space-fib-8);
3412
+ }
3413
+
3414
+ .vd-inline[data-gap="fib-13"] {
3415
+ --vd-inline-gap: var(--vd-space-fib-13);
3416
+ }
3417
+
3418
+ .vd-inline[data-gap="fib-21"] {
3419
+ --vd-inline-gap: var(--vd-space-fib-21);
3420
+ }
3421
+
3422
+ .vd-inline[data-gap="fib-34"] {
3423
+ --vd-inline-gap: var(--vd-space-fib-34);
3424
+ }
3425
+
3426
+ .vd-inline[data-gap="fib-55"] {
3427
+ --vd-inline-gap: var(--vd-space-fib-55);
3428
+ }
3429
+
3430
+ .vd-inline[data-align="start"] {
3431
+ align-items: flex-start;
3432
+ }
3433
+
3434
+ .vd-inline[data-align="center"] {
3435
+ align-items: center;
3436
+ }
3437
+
3438
+ .vd-inline[data-align="end"] {
3439
+ align-items: flex-end;
3440
+ }
3441
+
3442
+ .vd-inline[data-align="baseline"] {
3443
+ align-items: baseline;
3444
+ }
3445
+
3446
+ .vd-inline[data-align="stretch"] {
3447
+ align-items: stretch;
3448
+ }
3449
+
3450
+ .vd-inline[data-justify="start"] {
3451
+ justify-content: flex-start;
3452
+ }
3453
+
3454
+ .vd-inline[data-justify="center"] {
3455
+ justify-content: center;
3456
+ }
3457
+
3458
+ .vd-inline[data-justify="end"] {
3459
+ justify-content: flex-end;
3460
+ }
3461
+
3462
+ .vd-inline[data-justify="between"] {
3463
+ justify-content: space-between;
3464
+ }
3465
+
3466
+ .vd-inline[data-justify="around"] {
3467
+ justify-content: space-around;
3468
+ }
3469
+
3470
+ .vd-inline[data-justify="evenly"] {
3471
+ justify-content: space-evenly;
3472
+ }
3473
+
3474
+ .vd-inline[data-wrap="nowrap"] {
3475
+ flex-wrap: nowrap;
3476
+ }
3477
+
3478
+ .vd-center {
3479
+ --vd-center-max: none;
3480
+ max-width: var(--vd-center-max);
3481
+ margin-inline: auto;
3482
+ display: block;
3483
+ }
3484
+
3485
+ .vd-center[data-max="fib-377"] {
3486
+ --vd-center-max: 377px;
3487
+ }
3488
+
3489
+ .vd-center[data-max="fib-610"] {
3490
+ --vd-center-max: 610px;
3491
+ }
3492
+
3493
+ .vd-center[data-max="fib-987"] {
3494
+ --vd-center-max: 987px;
3495
+ }
3496
+
3497
+ .vd-center[data-axis="both"] {
3498
+ justify-content: center;
3499
+ align-items: center;
3500
+ display: flex;
3501
+ }
3502
+
3503
+ .vd-center[data-axis="horizontal"] {
3504
+ justify-content: center;
3505
+ display: flex;
3506
+ }
3507
+
3508
+ .vd-center[data-axis="vertical"] {
3509
+ align-items: center;
3510
+ display: flex;
3511
+ }
3512
+
3513
+ .vd-frame {
3514
+ --vd-frame-ratio: 1.618;
3515
+ aspect-ratio: var(--vd-frame-ratio);
3516
+ display: block;
3517
+ overflow: hidden;
3518
+ }
3519
+
3520
+ .vd-frame > img, .vd-frame > video, .vd-frame > canvas, .vd-frame > svg, .vd-frame > iframe {
3521
+ object-fit: cover;
3522
+ width: 100%;
3523
+ height: 100%;
3524
+ display: block;
3525
+ }
3526
+
3527
+ .vd-frame[data-ratio="golden"] {
3528
+ --vd-frame-ratio: 1.618;
3529
+ }
3530
+
3531
+ .vd-frame[data-ratio="golden-portrait"] {
3532
+ --vd-frame-ratio: .618;
3533
+ }
3534
+
3535
+ .vd-frame[data-ratio="square"] {
3536
+ --vd-frame-ratio: 1;
3537
+ }
3538
+
3539
+ .vd-frame[data-ratio="16-9"] {
3540
+ --vd-frame-ratio: 1.7778;
3541
+ }
3542
+
3543
+ .vd-frame[data-ratio="4-3"] {
3544
+ --vd-frame-ratio: 1.3333;
3545
+ }
3546
+
3547
+ .vd-frame[data-ratio="3-2"] {
3548
+ --vd-frame-ratio: 1.5;
3549
+ }
3550
+
3551
+ .vd-frame[data-ratio="21-9"] {
3552
+ --vd-frame-ratio: 2.3333;
3553
+ }
3554
+
3555
+ .vd-cover {
3556
+ --vd-cover-min: 100vh;
3557
+ --vd-cover-gap: 0;
3558
+ justify-content: center;
3559
+ gap: var(--vd-cover-gap);
3560
+ min-height: var(--vd-cover-min);
3561
+ flex-direction: column;
3562
+ display: flex;
3563
+ }
3564
+
3565
+ .vd-cover[data-min="screen"] {
3566
+ --vd-cover-min: 100vh;
3567
+ }
3568
+
3569
+ .vd-cover[data-min="half"] {
3570
+ --vd-cover-min: 50vh;
3571
+ }
3572
+
3573
+ .vd-cover[data-min="fib-610"] {
3574
+ --vd-cover-min: 610px;
3575
+ }
3576
+
3577
+ .vd-cover[data-min="fib-987"] {
3578
+ --vd-cover-min: 987px;
3579
+ }
3580
+
3581
+ .vd-cover[data-gap="fib-3"] {
3582
+ --vd-cover-gap: var(--vd-space-fib-3);
3583
+ }
3584
+
3585
+ .vd-cover[data-gap="fib-5"] {
3586
+ --vd-cover-gap: var(--vd-space-fib-5);
3587
+ }
3588
+
3589
+ .vd-cover[data-gap="fib-8"] {
3590
+ --vd-cover-gap: var(--vd-space-fib-8);
3591
+ }
3592
+
3593
+ .vd-cover[data-gap="fib-13"] {
3594
+ --vd-cover-gap: var(--vd-space-fib-13);
3595
+ }
3596
+
3597
+ .vd-cover[data-gap="fib-21"] {
3598
+ --vd-cover-gap: var(--vd-space-fib-21);
3599
+ }
3600
+
3601
+ .vd-cover[data-gap="fib-34"] {
3602
+ --vd-cover-gap: var(--vd-space-fib-34);
3603
+ }
3604
+
3605
+ .vd-switcher {
3606
+ --vd-switcher-threshold: 610px;
3607
+ --vd-switcher-gap: 0;
3608
+ gap: var(--vd-switcher-gap);
3609
+ flex-wrap: wrap;
3610
+ display: flex;
3611
+ }
3612
+
3613
+ .vd-switcher > * {
3614
+ flex-grow: 1;
3615
+ flex-basis: calc((var(--vd-switcher-threshold) - 100%) * 999);
3616
+ }
3617
+
3618
+ .vd-switcher[data-threshold="fib-377"] {
3619
+ --vd-switcher-threshold: 377px;
3620
+ }
3621
+
3622
+ .vd-switcher[data-threshold="fib-610"] {
3623
+ --vd-switcher-threshold: 610px;
3624
+ }
3625
+
3626
+ .vd-switcher[data-threshold="fib-987"] {
3627
+ --vd-switcher-threshold: 987px;
3628
+ }
3629
+
3630
+ .vd-switcher[data-gap="fib-3"] {
3631
+ --vd-switcher-gap: var(--vd-space-fib-3);
3632
+ }
3633
+
3634
+ .vd-switcher[data-gap="fib-5"] {
3635
+ --vd-switcher-gap: var(--vd-space-fib-5);
3636
+ }
3637
+
3638
+ .vd-switcher[data-gap="fib-8"] {
3639
+ --vd-switcher-gap: var(--vd-space-fib-8);
3640
+ }
3641
+
3642
+ .vd-switcher[data-gap="fib-13"] {
3643
+ --vd-switcher-gap: var(--vd-space-fib-13);
3644
+ }
3645
+
3646
+ .vd-switcher[data-gap="fib-21"] {
3647
+ --vd-switcher-gap: var(--vd-space-fib-21);
3648
+ }
3649
+
3650
+ .vd-switcher[data-gap="fib-34"] {
3651
+ --vd-switcher-gap: var(--vd-space-fib-34);
3652
+ }
3653
+
3219
3654
  :root {
3220
3655
  --vd-phi: 1.618;
3221
3656
  --vd-phi-inverse: .618;
@@ -21591,7 +22026,8 @@ a.vd-card:active {
21591
22026
  cursor: pointer;
21592
22027
  background: var(--vd-expanding-card-bg, var(--vd-expanding-card-bg-default, #e6e9ed));
21593
22028
  background-position: center;
21594
- background-size: auto 120%;
22029
+ background-repeat: no-repeat;
22030
+ background-size: cover;
21595
22031
  border-radius: 30px;
21596
22032
  flex-grow: 1;
21597
22033
  min-width: 60px;
@@ -21626,7 +22062,6 @@ a.vd-card:active {
21626
22062
  }
21627
22063
 
21628
22064
  .vd-expanding-card.is-active {
21629
- background-size: auto 100%;
21630
22065
  border-radius: 40px;
21631
22066
  flex-grow: 10000;
21632
22067
  max-width: 600px;
@@ -21721,43 +22156,98 @@ a.vd-card:active {
21721
22156
  transition-delay: .1s;
21722
22157
  }
21723
22158
 
21724
- @media screen and (width <= 718px) {
22159
+ @media screen and (width <= 767.98px) {
21725
22160
  .vd-expanding-cards {
21726
- min-width: 520px;
22161
+ --vd-expanding-card-mobile-stripe: 56px;
22162
+ --vd-expanding-card-mobile-active: clamp(200px, 55vw, 280px);
22163
+ --vd-expanding-card-mobile-gap: 8px;
22164
+ width: 100%;
22165
+ min-width: 0;
22166
+ max-width: 100%;
22167
+ height: min(72vh,
22168
+ calc(var(--vd-expanding-card-mobile-active) +
22169
+ 5 * (var(--vd-expanding-card-mobile-stripe) + var(--vd-expanding-card-mobile-gap))));
22170
+ align-items: stretch;
22171
+ gap: var(--vd-expanding-card-mobile-gap);
22172
+ flex-direction: column;
22173
+ overflow: hidden;
21727
22174
  }
21728
22175
 
21729
- .vd-expanding-card:nth-child(5) {
21730
- display: none;
22176
+ .vd-expanding-card {
22177
+ flex: 1 1 var(--vd-expanding-card-mobile-stripe);
22178
+ width: 100%;
22179
+ min-width: 0;
22180
+ min-height: var(--vd-expanding-card-mobile-stripe);
22181
+ margin: 0;
22182
+ transition: flex .5s cubic-bezier(.05, .61, .41, .95), min-height .5s cubic-bezier(.05, .61, .41, .95), border-radius .5s cubic-bezier(.05, .61, .41, .95), margin .5s cubic-bezier(.05, .61, .41, .95);
21731
22183
  }
21732
- }
21733
22184
 
21734
- @media screen and (width <= 638px) {
21735
- .vd-expanding-cards {
21736
- min-width: 440px;
22185
+ .vd-expanding-card.is-active {
22186
+ flex: 10000 1 var(--vd-expanding-card-mobile-active);
22187
+ min-height: var(--vd-expanding-card-mobile-active);
22188
+ border-radius: 32px;
22189
+ max-width: none;
21737
22190
  }
21738
22191
 
21739
- .vd-expanding-card:nth-child(4) {
21740
- display: none;
22192
+ .vd-expanding-card:not(.is-active) {
22193
+ flex: 1 1 var(--vd-expanding-card-mobile-stripe);
22194
+ min-height: var(--vd-expanding-card-mobile-stripe);
22195
+ border-radius: 28px;
21741
22196
  }
21742
- }
21743
22197
 
21744
- @media screen and (width <= 558px) {
21745
- .vd-expanding-cards {
21746
- min-width: 360px;
22198
+ .vd-expanding-card.is-active .vd-expanding-card-shadow {
22199
+ box-shadow: inset 0 -120px 120px -120px #000, inset 0 -120px 120px -100px #000;
21747
22200
  }
21748
22201
 
21749
- .vd-expanding-card:nth-child(3) {
21750
- display: none;
22202
+ .vd-expanding-card:not(.is-active) .vd-expanding-card-shadow {
22203
+ height: 100%;
22204
+ bottom: 0;
22205
+ box-shadow: inset 0 0 80px #00000059;
21751
22206
  }
21752
- }
21753
22207
 
21754
- @media screen and (width <= 478px) {
21755
- .vd-expanding-cards {
21756
- min-width: 280px;
22208
+ .vd-expanding-card.is-active .vd-expanding-card-label {
22209
+ align-items: flex-end;
22210
+ top: auto;
22211
+ bottom: 20px;
22212
+ left: 20px;
22213
+ transform: none;
21757
22214
  }
21758
22215
 
21759
- .vd-expanding-card:nth-child(2) {
21760
- display: none;
22216
+ .vd-expanding-card:not(.is-active) .vd-expanding-card-label {
22217
+ align-items: center;
22218
+ height: 40px;
22219
+ inset: auto auto 8px 12px;
22220
+ transform: none;
22221
+ }
22222
+
22223
+ .vd-expanding-card:not(.is-active) .vd-expanding-card-info {
22224
+ white-space: nowrap;
22225
+ text-overflow: ellipsis;
22226
+ flex: 1;
22227
+ min-width: 0;
22228
+ overflow: hidden;
22229
+ }
22230
+
22231
+ .vd-expanding-card:not(.is-active) .vd-expanding-card-info > div {
22232
+ opacity: 1;
22233
+ left: 0;
22234
+ }
22235
+
22236
+ .vd-expanding-card:not(.is-active) .vd-expanding-card-subtitle {
22237
+ opacity: 0;
22238
+ max-height: 0;
22239
+ overflow: hidden;
22240
+ }
22241
+
22242
+ .vd-expanding-card.is-active .vd-expanding-card-subtitle {
22243
+ opacity: 1;
22244
+ max-height: 2em;
22245
+ }
22246
+
22247
+ .vd-expanding-card:not(.is-active) .vd-expanding-card-title {
22248
+ text-overflow: ellipsis;
22249
+ font-size: 1rem;
22250
+ overflow: hidden;
21761
22251
  }
21762
22252
  }
21763
22253