@tempots/beatui 1.2.3 → 1.4.0

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 (27) hide show
  1. package/dist/beatui.css +799 -111
  2. package/dist/beatui.tailwind.css +799 -111
  3. package/dist/deep-merge-Bydz6jLt.cjs +1 -0
  4. package/dist/{deep-merge-DwXDd3iF.js → deep-merge-CzZVsVF-.js} +1 -1
  5. package/dist/{duration-input-CjNZyVkf.cjs → duration-input-BrYLC1js.cjs} +1 -1
  6. package/dist/{duration-input-CnMMvPgT.js → duration-input-CFu6vq-y.js} +1 -1
  7. package/dist/index.cjs.js +4 -4
  8. package/dist/index.es.js +6039 -5257
  9. package/dist/json-schema/index.cjs.js +1 -1
  10. package/dist/json-schema/index.es.js +3 -3
  11. package/dist/json-structure/index.cjs.js +1 -1
  12. package/dist/json-structure/index.es.js +2 -2
  13. package/dist/types/components/data/auto-color-badge.d.ts +60 -0
  14. package/dist/types/components/data/index.d.ts +1 -0
  15. package/dist/types/components/form/input/index.d.ts +1 -1
  16. package/dist/types/components/form/input/range-slider.d.ts +175 -0
  17. package/dist/types/components/media/carousel.d.ts +117 -0
  18. package/dist/types/components/media/index.d.ts +1 -0
  19. package/dist/types/components/navigation/index.d.ts +1 -0
  20. package/dist/types/components/navigation/navigation-progress.d.ts +72 -0
  21. package/dist/types/components/overlay/index.d.ts +1 -0
  22. package/dist/types/components/overlay/onboarding-tour.d.ts +98 -0
  23. package/dist/{widget-customization-D2a6SVP3.js → widget-customization-BAchyOUo.js} +1 -1
  24. package/dist/{widget-customization-CD_NyRQ8.cjs → widget-customization-DELy3SMQ.cjs} +1 -1
  25. package/package.json +1 -1
  26. package/dist/deep-merge-Bjv1NvKj.cjs +0 -1
  27. package/dist/types/components/form/input/advanced-slider.d.ts +0 -143
package/dist/beatui.css CHANGED
@@ -2247,6 +2247,40 @@ a:focus-visible {
2247
2247
  justify-content: center;
2248
2248
  }
2249
2249
 
2250
+ /* AutoColorBadge Component — reuses badge sizing/layout tokens */
2251
+ .bc-auto-color-badge {
2252
+ display: inline-flex;
2253
+ align-items: center;
2254
+ justify-content: center;
2255
+ gap: var(--badge-gap, var(--control-gap-md));
2256
+ border: var(--border-width-default) solid transparent;
2257
+ font-family: var(
2258
+ --font-family-default-ui,
2259
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
2260
+ );
2261
+ font-size: inherit;
2262
+ line-height: var(--line-height-none);
2263
+ border-radius: var(--radius-badge, var(--radius-control, var(--radius-md)));
2264
+ transition:
2265
+ background-color var(--motion-transition-fast) var(--motion-easing-standard),
2266
+ color var(--motion-transition-fast) var(--motion-easing-standard);
2267
+ white-space: nowrap;
2268
+ }
2269
+
2270
+ /* Accessibility adjustments */
2271
+ @media (prefers-contrast: high) {
2272
+ .bc-auto-color-badge {
2273
+ border-width: var(--border-width-medium);
2274
+ border-color: currentColor;
2275
+ }
2276
+ }
2277
+
2278
+ @media (prefers-reduced-motion: reduce) {
2279
+ .bc-auto-color-badge {
2280
+ transition: none;
2281
+ }
2282
+ }
2283
+
2250
2284
  /* Avatar Component */
2251
2285
  .bc-avatar {
2252
2286
  --avatar-bg: var(--color-base-500);
@@ -3184,6 +3218,228 @@ a:focus-visible {
3184
3218
  --card-bg: var(--bg-elevated);
3185
3219
  }
3186
3220
 
3221
+ /* Carousel Component */
3222
+ .bc-carousel {
3223
+ --carousel-arrow-size: 36px;
3224
+ --carousel-arrow-bg: rgba(255, 255, 255, 0.85);
3225
+ --carousel-arrow-bg-hover: rgba(255, 255, 255, 1);
3226
+ --carousel-arrow-color: var(--color-neutral-800, #1f2937);
3227
+ --carousel-arrow-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
3228
+ --carousel-dot-size: 8px;
3229
+ --carousel-dot-gap: 6px;
3230
+ --carousel-dot-color: var(--color-neutral-300, #d1d5db);
3231
+ --carousel-dot-active-color: var(--color-primary-500, #6366f1);
3232
+ --carousel-radius: var(--radius-lg, 12px);
3233
+ --carousel-peek: 0px;
3234
+
3235
+ position: relative;
3236
+ overflow: hidden;
3237
+ border-radius: var(--carousel-radius);
3238
+ outline: none;
3239
+ }
3240
+
3241
+ .bc-carousel:focus-visible {
3242
+ outline: 2px solid var(--color-primary-500, #6366f1);
3243
+ outline-offset: 2px;
3244
+ }
3245
+
3246
+ /* Viewport */
3247
+ .bc-carousel__viewport {
3248
+ overflow: hidden;
3249
+ width: 100%;
3250
+ cursor: grab;
3251
+ }
3252
+
3253
+ .bc-carousel--dragging .bc-carousel__viewport,
3254
+ .bc-carousel__viewport:active {
3255
+ cursor: grabbing;
3256
+ }
3257
+
3258
+ /* Track */
3259
+ .bc-carousel__track {
3260
+ display: flex;
3261
+ will-change: transform;
3262
+ transition-property: transform;
3263
+ transition-timing-function: var(
3264
+ --motion-easing-standard,
3265
+ cubic-bezier(0.2, 0, 0, 1)
3266
+ );
3267
+ }
3268
+
3269
+ /* Fade transition */
3270
+ .bc-carousel--fade .bc-carousel__track {
3271
+ transition-property: none;
3272
+ }
3273
+
3274
+ .bc-carousel--fade .bc-carousel__slide {
3275
+ transition: opacity var(--motion-transition-slow, 0.4s)
3276
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
3277
+ }
3278
+
3279
+ /* Slides */
3280
+ .bc-carousel__slide {
3281
+ flex-shrink: 0;
3282
+ overflow: hidden;
3283
+ user-select: none;
3284
+ -webkit-user-drag: none;
3285
+ }
3286
+
3287
+ .bc-carousel__slide img {
3288
+ pointer-events: none;
3289
+ -webkit-user-drag: none;
3290
+ }
3291
+
3292
+ /* Navigation arrows */
3293
+ .bc-carousel__arrow {
3294
+ position: absolute;
3295
+ top: 50%;
3296
+ transform: translateY(-50%);
3297
+ z-index: 2;
3298
+ display: flex;
3299
+ align-items: center;
3300
+ justify-content: center;
3301
+ width: var(--carousel-arrow-size);
3302
+ height: var(--carousel-arrow-size);
3303
+ border-radius: 50%;
3304
+ border: none;
3305
+ background: var(--carousel-arrow-bg);
3306
+ color: var(--carousel-arrow-color);
3307
+ box-shadow: var(--carousel-arrow-shadow);
3308
+ cursor: pointer;
3309
+ padding: 0;
3310
+ transition: all
3311
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
3312
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
3313
+ }
3314
+
3315
+ .bc-carousel__arrow:hover:not(:disabled) {
3316
+ background: var(--carousel-arrow-bg-hover);
3317
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
3318
+ transform: translateY(-50%) scale(1.08);
3319
+ }
3320
+
3321
+ .bc-carousel__arrow:active:not(:disabled) {
3322
+ transform: translateY(-50%) scale(0.96);
3323
+ }
3324
+
3325
+ .bc-carousel__arrow .bc-icon {
3326
+ pointer-events: none;
3327
+ }
3328
+
3329
+ .bc-carousel__arrow--prev {
3330
+ left: calc(var(--carousel-peek) + 8px);
3331
+ }
3332
+
3333
+ .bc-carousel__arrow--next {
3334
+ right: calc(var(--carousel-peek) + 8px);
3335
+ }
3336
+
3337
+ /* Disabled arrow state */
3338
+ .bc-carousel__arrow--disabled,
3339
+ .bc-carousel__arrow:disabled {
3340
+ opacity: 0.35;
3341
+ cursor: default;
3342
+ pointer-events: none;
3343
+ }
3344
+
3345
+ /* Dot indicators */
3346
+ .bc-carousel__dots {
3347
+ display: flex;
3348
+ align-items: center;
3349
+ justify-content: center;
3350
+ gap: var(--carousel-dot-gap);
3351
+ padding: 10px 0;
3352
+ }
3353
+
3354
+ .bc-carousel__dot {
3355
+ width: var(--carousel-dot-size);
3356
+ height: var(--carousel-dot-size);
3357
+ border-radius: 50%;
3358
+ border: none;
3359
+ padding: 0;
3360
+ background: var(--carousel-dot-color);
3361
+ cursor: pointer;
3362
+ transition: all
3363
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
3364
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
3365
+ }
3366
+
3367
+ .bc-carousel__dot:hover {
3368
+ background: var(--color-neutral-400, #9ca3af);
3369
+ transform: scale(1.3);
3370
+ }
3371
+
3372
+ .bc-carousel__dot--active {
3373
+ background: var(--carousel-dot-active-color);
3374
+ transform: scale(1.25);
3375
+ }
3376
+
3377
+ .bc-carousel__dot--active:hover {
3378
+ background: var(--carousel-dot-active-color);
3379
+ }
3380
+
3381
+ /* Progress bar indicator */
3382
+ .bc-carousel__progress {
3383
+ height: 3px;
3384
+ background: var(--carousel-dot-color);
3385
+ border-radius: 2px;
3386
+ margin: 10px 16px;
3387
+ overflow: hidden;
3388
+ }
3389
+
3390
+ .bc-carousel__progress-fill {
3391
+ height: 100%;
3392
+ background: var(--carousel-dot-active-color);
3393
+ border-radius: 2px;
3394
+ transition: width
3395
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
3396
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
3397
+ }
3398
+
3399
+ /* Fraction indicator */
3400
+ .bc-carousel__fraction {
3401
+ text-align: center;
3402
+ padding: 8px 0;
3403
+ font-size: 0.875rem;
3404
+ color: var(--color-neutral-500, #6b7280);
3405
+ font-variant-numeric: tabular-nums;
3406
+ }
3407
+
3408
+ /* Dark mode */
3409
+ .dark .bc-carousel {
3410
+ --carousel-arrow-bg: rgba(30, 30, 30, 0.85);
3411
+ --carousel-arrow-bg-hover: rgba(40, 40, 40, 1);
3412
+ --carousel-arrow-color: var(--color-neutral-200, #e5e7eb);
3413
+ --carousel-arrow-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
3414
+ --carousel-dot-color: var(--color-neutral-600, #4b5563);
3415
+ --carousel-dot-active-color: var(--color-primary-400, #818cf8);
3416
+ }
3417
+
3418
+ .dark .bc-carousel__dot:hover {
3419
+ background: var(--color-neutral-500, #6b7280);
3420
+ }
3421
+
3422
+ .dark .bc-carousel__fraction {
3423
+ color: var(--color-neutral-400, #9ca3af);
3424
+ }
3425
+
3426
+ /* Reduced motion */
3427
+ @media (prefers-reduced-motion: reduce) {
3428
+ .bc-carousel__track {
3429
+ transition-duration: 0.01ms !important;
3430
+ }
3431
+
3432
+ .bc-carousel--fade .bc-carousel__slide {
3433
+ transition: none !important;
3434
+ }
3435
+
3436
+ .bc-carousel__arrow,
3437
+ .bc-carousel__dot,
3438
+ .bc-carousel__progress-fill {
3439
+ transition: none !important;
3440
+ }
3441
+ }
3442
+
3187
3443
  /* Center Component */
3188
3444
  .bc-center {
3189
3445
  display: flex;
@@ -3656,20 +3912,10 @@ a:focus-visible {
3656
3912
  .bc-dropdown__display {
3657
3913
  flex: 1;
3658
3914
  text-align: left;
3659
- overflow: hidden;
3660
3915
  text-overflow: ellipsis;
3661
3916
  white-space: nowrap;
3662
3917
  }
3663
3918
 
3664
- /* Arrow indicator */
3665
- .bc-dropdown__arrow {
3666
- display: flex;
3667
- align-items: center;
3668
- justify-content: center;
3669
- flex-shrink: 0;
3670
- margin-inline-start: var(--spacing-xs);
3671
- }
3672
-
3673
3919
  /* Listbox (dropdown) */
3674
3920
  .bc-dropdown__listbox {
3675
3921
  background-color: var(--color-white);
@@ -9230,14 +9476,16 @@ a:focus-visible {
9230
9476
  cursor: pointer;
9231
9477
  }
9232
9478
 
9233
- .bc-multi-select__tags {
9234
- position: relative;
9479
+ /* Placeholder when no items selected */
9480
+ .bc-multi-select__placeholder {
9481
+ color: var(--color-neutral-400);
9235
9482
  }
9236
9483
 
9237
- .bc-multi-select__arrow {
9238
- flex-shrink: 0;
9239
- margin-left: auto;
9240
- opacity: 0.5;
9484
+ .bc-multi-select__badge-container {
9485
+ flex-grow: 1;
9486
+ display: flex;
9487
+ gap: var(--spacing-xs);
9488
+ flex-wrap: wrap;
9241
9489
  }
9242
9490
 
9243
9491
  /* Dropdown panel */
@@ -9417,6 +9665,10 @@ a:focus-visible {
9417
9665
  }
9418
9666
 
9419
9667
  /* Dark mode */
9668
+ .dark .bc-multi-select__placeholder {
9669
+ color: var(--color-neutral-500);
9670
+ }
9671
+
9420
9672
  .dark .bc-multi-select__dropdown {
9421
9673
  background: var(--color-base-800);
9422
9674
  border-color: var(--color-base-600);
@@ -16013,10 +16265,10 @@ span.bc-sidebar-link {
16013
16265
  }
16014
16266
  }
16015
16267
 
16016
- /* Advanced Slider Component */
16017
- .bc-advanced-slider {
16018
- --slider-color: var(--color-primary-500);
16019
- --slider-color-dark: var(--color-primary-600);
16268
+ /* Range Slider Component */
16269
+ .bc-range-slider {
16270
+ --rs-color: var(--color-primary-500);
16271
+ --rs-color-dark: var(--color-primary-600);
16020
16272
 
16021
16273
  position: relative;
16022
16274
  display: flex;
@@ -16027,14 +16279,18 @@ span.bc-sidebar-link {
16027
16279
  user-select: none;
16028
16280
  }
16029
16281
 
16030
- .bc-advanced-slider--disabled {
16282
+ .bc-range-slider--disabled {
16031
16283
  opacity: 0.5;
16032
16284
  pointer-events: none;
16033
16285
  cursor: not-allowed;
16034
16286
  }
16035
16287
 
16288
+ .bc-range-slider--readonly {
16289
+ pointer-events: none;
16290
+ }
16291
+
16036
16292
  /* Track */
16037
- .bc-advanced-slider__track {
16293
+ .bc-range-slider__track {
16038
16294
  position: relative;
16039
16295
  width: 100%;
16040
16296
  background-color: var(--color-gray-200);
@@ -16042,17 +16298,25 @@ span.bc-sidebar-link {
16042
16298
  }
16043
16299
 
16044
16300
  /* Filled portion */
16045
- .bc-advanced-slider__fill {
16301
+ .bc-range-slider__fill {
16046
16302
  position: absolute;
16047
16303
  top: 0;
16048
16304
  height: 100%;
16049
- background-color: var(--slider-color);
16305
+ background-color: var(--rs-color);
16050
16306
  border-radius: var(--radius-full);
16051
16307
  pointer-events: none;
16052
16308
  }
16053
16309
 
16054
- /* Thumb container (for positioning value label + thumb) */
16055
- .bc-advanced-slider__thumb-container {
16310
+ /* Segment overrides */
16311
+ .bc-range-slider__segment {
16312
+ position: absolute;
16313
+ top: 50%;
16314
+ transform: translateY(-50%);
16315
+ border-radius: var(--radius-full);
16316
+ }
16317
+
16318
+ /* Thumb container */
16319
+ .bc-range-slider__thumb-container {
16056
16320
  position: absolute;
16057
16321
  top: 50%;
16058
16322
  transform: translate(-50%, -50%);
@@ -16063,9 +16327,9 @@ span.bc-sidebar-link {
16063
16327
  }
16064
16328
 
16065
16329
  /* Thumb */
16066
- .bc-advanced-slider__thumb {
16330
+ .bc-range-slider__thumb {
16067
16331
  background-color: var(--color-white);
16068
- border: var(--border-width-medium) solid var(--slider-color);
16332
+ border: var(--border-width-medium) solid var(--rs-color);
16069
16333
  border-radius: var(--radius-full);
16070
16334
  cursor: grab;
16071
16335
  box-shadow: var(--shadow-sm);
@@ -16074,23 +16338,23 @@ span.bc-sidebar-link {
16074
16338
  transform var(--motion-transition-fast) var(--motion-easing-standard);
16075
16339
  }
16076
16340
 
16077
- .bc-advanced-slider__thumb:hover {
16341
+ .bc-range-slider__thumb:hover {
16078
16342
  box-shadow: var(--shadow-md);
16079
16343
  transform: scale(1.15);
16080
16344
  }
16081
16345
 
16082
- .bc-advanced-slider__thumb:active {
16346
+ .bc-range-slider__thumb:active {
16083
16347
  cursor: grabbing;
16084
16348
  transform: scale(1.2);
16085
16349
  }
16086
16350
 
16087
- .bc-advanced-slider__thumb:focus-visible {
16351
+ .bc-range-slider__thumb:focus-visible {
16088
16352
  outline: var(--outline-width-focus) solid var(--color-primary-500);
16089
16353
  outline-offset: 2px;
16090
16354
  }
16091
16355
 
16092
- /* Custom thumb wrapper — no default visual styling */
16093
- .bc-advanced-slider__thumb-custom {
16356
+ /* Custom thumb wrapper */
16357
+ .bc-range-slider__thumb-custom {
16094
16358
  cursor: grab;
16095
16359
  display: flex;
16096
16360
  align-items: center;
@@ -16098,20 +16362,20 @@ span.bc-sidebar-link {
16098
16362
  outline: none;
16099
16363
  }
16100
16364
 
16101
- .bc-advanced-slider__thumb-custom:active {
16365
+ .bc-range-slider__thumb-custom:active {
16102
16366
  cursor: grabbing;
16103
16367
  }
16104
16368
 
16105
- .bc-advanced-slider__thumb-custom:focus-visible {
16369
+ .bc-range-slider__thumb-custom:focus-visible {
16106
16370
  outline: var(--outline-width-focus) solid var(--color-primary-500);
16107
16371
  outline-offset: 2px;
16108
16372
  }
16109
16373
 
16110
16374
  /* Value label */
16111
- .bc-advanced-slider__value-label {
16375
+ .bc-range-slider__value-label {
16112
16376
  position: absolute;
16113
16377
  white-space: nowrap;
16114
- background-color: var(--slider-color);
16378
+ background-color: var(--rs-color);
16115
16379
  color: var(--color-white);
16116
16380
  border-radius: var(--radius-sm);
16117
16381
  font-weight: var(--font-weight-semibold);
@@ -16121,7 +16385,7 @@ span.bc-sidebar-link {
16121
16385
  }
16122
16386
 
16123
16387
  /* Ticks container */
16124
- .bc-advanced-slider__ticks {
16388
+ .bc-range-slider__ticks {
16125
16389
  position: absolute;
16126
16390
  top: 0;
16127
16391
  left: 0;
@@ -16131,7 +16395,7 @@ span.bc-sidebar-link {
16131
16395
  }
16132
16396
 
16133
16397
  /* Individual tick */
16134
- .bc-advanced-slider__tick {
16398
+ .bc-range-slider__tick {
16135
16399
  position: absolute;
16136
16400
  top: 50%;
16137
16401
  transform: translateX(-50%);
@@ -16140,7 +16404,7 @@ span.bc-sidebar-link {
16140
16404
  align-items: center;
16141
16405
  }
16142
16406
 
16143
- .bc-advanced-slider__tick::before {
16407
+ .bc-range-slider__tick::before {
16144
16408
  content: '';
16145
16409
  display: block;
16146
16410
  background-color: var(--color-gray-400);
@@ -16148,7 +16412,7 @@ span.bc-sidebar-link {
16148
16412
  }
16149
16413
 
16150
16414
  /* Tick label */
16151
- .bc-advanced-slider__tick-label {
16415
+ .bc-range-slider__tick-label {
16152
16416
  position: absolute;
16153
16417
  white-space: nowrap;
16154
16418
  color: var(--text-muted);
@@ -16157,164 +16421,283 @@ span.bc-sidebar-link {
16157
16421
  /* ── Size variants ── */
16158
16422
 
16159
16423
  /* xs */
16160
- .bc-advanced-slider--size-xs {
16424
+ .bc-range-slider--size-xs {
16161
16425
  padding: var(--spacing-lg) var(--spacing-smh) var(--spacing-md);
16162
16426
  }
16163
- .bc-advanced-slider--size-xs .bc-advanced-slider__track {
16427
+ .bc-range-slider--size-xs .bc-range-slider__track {
16164
16428
  height: var(--spacing-xs);
16165
16429
  }
16166
- .bc-advanced-slider--size-xs .bc-advanced-slider__thumb {
16430
+ .bc-range-slider--size-xs .bc-range-slider__thumb {
16167
16431
  width: calc(var(--spacing-base) * 2.5);
16168
16432
  height: calc(var(--spacing-base) * 2.5);
16169
16433
  }
16170
- .bc-advanced-slider--size-xs .bc-advanced-slider__value-label {
16434
+ .bc-range-slider--size-xs .bc-range-slider__value-label {
16171
16435
  font-size: var(--font-size-2xs);
16172
16436
  padding: var(--spacing-px) var(--spacing-sm);
16173
16437
  bottom: calc(100% + var(--spacing-sm));
16174
16438
  }
16175
- .bc-advanced-slider--size-xs .bc-advanced-slider__tick::before {
16439
+ .bc-range-slider--size-xs .bc-range-slider__tick::before {
16176
16440
  width: var(--spacing-px);
16177
16441
  height: var(--spacing-smh);
16178
16442
  margin-top: var(--spacing-sm);
16179
16443
  }
16180
- .bc-advanced-slider--size-xs .bc-advanced-slider__tick-label {
16444
+ .bc-range-slider--size-xs .bc-range-slider__tick-label {
16181
16445
  top: calc(var(--spacing-base) * 2.5);
16182
16446
  font-size: var(--font-size-2xs);
16183
16447
  }
16184
16448
 
16185
16449
  /* sm */
16186
- .bc-advanced-slider--size-sm {
16450
+ .bc-range-slider--size-sm {
16187
16451
  padding: var(--spacing-xl) var(--spacing-md) var(--spacing-lg);
16188
16452
  }
16189
- .bc-advanced-slider--size-sm .bc-advanced-slider__track {
16453
+ .bc-range-slider--size-sm .bc-range-slider__track {
16190
16454
  height: calc(var(--spacing-base) * 0.75);
16191
16455
  }
16192
- .bc-advanced-slider--size-sm .bc-advanced-slider__thumb {
16456
+ .bc-range-slider--size-sm .bc-range-slider__thumb {
16193
16457
  width: calc(var(--spacing-base) * 3.5);
16194
16458
  height: calc(var(--spacing-base) * 3.5);
16195
16459
  }
16196
- .bc-advanced-slider--size-sm .bc-advanced-slider__value-label {
16460
+ .bc-range-slider--size-sm .bc-range-slider__value-label {
16197
16461
  font-size: var(--font-size-xs);
16198
16462
  padding: var(--spacing-xs) calc(var(--spacing-base) * 1.25);
16199
16463
  bottom: calc(100% + calc(var(--spacing-base) * 1.25));
16200
16464
  }
16201
- .bc-advanced-slider--size-sm .bc-advanced-slider__tick::before {
16465
+ .bc-range-slider--size-sm .bc-range-slider__tick::before {
16202
16466
  width: var(--spacing-px);
16203
16467
  height: var(--spacing-md);
16204
16468
  margin-top: calc(var(--spacing-base) * 1.25);
16205
16469
  }
16206
- .bc-advanced-slider--size-sm .bc-advanced-slider__tick-label {
16470
+ .bc-range-slider--size-sm .bc-range-slider__tick-label {
16207
16471
  top: calc(var(--spacing-base) * 3.5);
16208
16472
  font-size: var(--font-size-2xs);
16209
16473
  }
16210
16474
 
16211
16475
  /* md (default) */
16212
- .bc-advanced-slider--size-md {
16476
+ .bc-range-slider--size-md {
16213
16477
  padding: var(--spacing-2xl) calc(var(--spacing-base) * 2.5) var(--spacing-xl);
16214
16478
  }
16215
- .bc-advanced-slider--size-md .bc-advanced-slider__track {
16479
+ .bc-range-slider--size-md .bc-range-slider__track {
16216
16480
  height: var(--spacing-sm);
16217
16481
  }
16218
- .bc-advanced-slider--size-md .bc-advanced-slider__thumb {
16482
+ .bc-range-slider--size-md .bc-range-slider__thumb {
16219
16483
  width: calc(var(--spacing-base) * 4.5);
16220
16484
  height: calc(var(--spacing-base) * 4.5);
16221
16485
  }
16222
- .bc-advanced-slider--size-md .bc-advanced-slider__value-label {
16486
+ .bc-range-slider--size-md .bc-range-slider__value-label {
16223
16487
  font-size: var(--font-size-sm);
16224
16488
  padding: var(--spacing-xs) var(--spacing-smh);
16225
16489
  bottom: calc(100% + var(--spacing-smh));
16226
16490
  }
16227
- .bc-advanced-slider--size-md .bc-advanced-slider__tick::before {
16491
+ .bc-range-slider--size-md .bc-range-slider__tick::before {
16228
16492
  width: var(--spacing-xs);
16229
16493
  height: calc(var(--spacing-base) * 2.5);
16230
16494
  margin-top: var(--spacing-smh);
16231
16495
  }
16232
- .bc-advanced-slider--size-md .bc-advanced-slider__tick-label {
16496
+ .bc-range-slider--size-md .bc-range-slider__tick-label {
16233
16497
  top: calc(var(--spacing-base) * 4.5);
16234
16498
  font-size: var(--font-size-xs);
16235
16499
  }
16236
16500
 
16237
16501
  /* lg */
16238
- .bc-advanced-slider--size-lg {
16502
+ .bc-range-slider--size-lg {
16239
16503
  padding: var(--spacing-3xl) var(--spacing-mdh) var(--spacing-2xl);
16240
16504
  }
16241
- .bc-advanced-slider--size-lg .bc-advanced-slider__track {
16505
+ .bc-range-slider--size-lg .bc-range-slider__track {
16242
16506
  height: var(--spacing-smh);
16243
16507
  }
16244
- .bc-advanced-slider--size-lg .bc-advanced-slider__thumb {
16508
+ .bc-range-slider--size-lg .bc-range-slider__thumb {
16245
16509
  width: calc(var(--spacing-base) * 5.5);
16246
16510
  height: calc(var(--spacing-base) * 5.5);
16247
16511
  }
16248
- .bc-advanced-slider--size-lg .bc-advanced-slider__value-label {
16512
+ .bc-range-slider--size-lg .bc-range-slider__value-label {
16249
16513
  font-size: var(--font-size-md);
16250
16514
  padding: calc(var(--spacing-base) * 0.75) var(--spacing-md);
16251
16515
  bottom: calc(100% + var(--spacing-md));
16252
16516
  }
16253
- .bc-advanced-slider--size-lg .bc-advanced-slider__tick::before {
16517
+ .bc-range-slider--size-lg .bc-range-slider__tick::before {
16254
16518
  width: var(--spacing-xs);
16255
16519
  height: var(--spacing-mdh);
16256
16520
  margin-top: var(--spacing-md);
16257
16521
  }
16258
- .bc-advanced-slider--size-lg .bc-advanced-slider__tick-label {
16522
+ .bc-range-slider--size-lg .bc-range-slider__tick-label {
16259
16523
  top: calc(var(--spacing-base) * 5.5);
16260
16524
  font-size: var(--font-size-sm);
16261
16525
  }
16262
16526
 
16263
16527
  /* xl */
16264
- .bc-advanced-slider--size-xl {
16528
+ .bc-range-slider--size-xl {
16265
16529
  padding: var(--spacing-4xl) calc(var(--spacing-base) * 3.5) var(--spacing-3xl);
16266
16530
  }
16267
- .bc-advanced-slider--size-xl .bc-advanced-slider__track {
16531
+ .bc-range-slider--size-xl .bc-range-slider__track {
16268
16532
  height: var(--spacing-md);
16269
16533
  }
16270
- .bc-advanced-slider--size-xl .bc-advanced-slider__thumb {
16534
+ .bc-range-slider--size-xl .bc-range-slider__thumb {
16271
16535
  width: calc(var(--spacing-base) * 6.5);
16272
16536
  height: calc(var(--spacing-base) * 6.5);
16273
16537
  }
16274
- .bc-advanced-slider--size-xl .bc-advanced-slider__value-label {
16538
+ .bc-range-slider--size-xl .bc-range-slider__value-label {
16275
16539
  font-size: var(--font-size-lg);
16276
16540
  padding: var(--spacing-sm) calc(var(--spacing-base) * 2.5);
16277
16541
  bottom: calc(100% + calc(var(--spacing-base) * 2.5));
16278
16542
  }
16279
- .bc-advanced-slider--size-xl .bc-advanced-slider__tick::before {
16543
+ .bc-range-slider--size-xl .bc-range-slider__tick::before {
16280
16544
  width: var(--spacing-xs);
16281
16545
  height: calc(var(--spacing-base) * 3.5);
16282
16546
  margin-top: calc(var(--spacing-base) * 2.5);
16283
16547
  }
16284
- .bc-advanced-slider--size-xl .bc-advanced-slider__tick-label {
16548
+ .bc-range-slider--size-xl .bc-range-slider__tick-label {
16285
16549
  top: calc(var(--spacing-base) * 6.5);
16286
16550
  font-size: var(--font-size-md);
16287
16551
  }
16288
16552
 
16553
+ /* ── Vertical orientation ── */
16554
+
16555
+ .bc-range-slider--vertical {
16556
+ width: auto;
16557
+ height: 100%;
16558
+ min-height: 120px;
16559
+ touch-action: none;
16560
+ }
16561
+
16562
+ .bc-range-slider--vertical .bc-range-slider__track {
16563
+ width: auto;
16564
+ flex: 1;
16565
+ min-height: 60px;
16566
+ }
16567
+
16568
+ /* Fill: runs from bottom upward */
16569
+ .bc-range-slider--vertical .bc-range-slider__fill {
16570
+ left: 0;
16571
+ width: 100%;
16572
+ top: auto;
16573
+ bottom: 0;
16574
+ height: auto;
16575
+ }
16576
+
16577
+ /* Segments: vertical positioning, override horizontal transform */
16578
+ .bc-range-slider--vertical .bc-range-slider__segment {
16579
+ left: 0;
16580
+ width: 100%;
16581
+ top: auto;
16582
+ transform: none;
16583
+ }
16584
+
16585
+ /* Thumb container: centered horizontally, positioned via bottom */
16586
+ .bc-range-slider--vertical .bc-range-slider__thumb-container {
16587
+ left: 50%;
16588
+ top: auto;
16589
+ transform: translate(-50%, 50%);
16590
+ }
16591
+
16592
+ /* Value label: to the right of thumb in vertical mode */
16593
+ .bc-range-slider--vertical .bc-range-slider__value-label {
16594
+ bottom: auto;
16595
+ left: calc(100% + var(--spacing-sm));
16596
+ top: 50%;
16597
+ transform: translateY(-50%);
16598
+ }
16599
+
16600
+ /* Ticks: full height */
16601
+ .bc-range-slider--vertical .bc-range-slider__ticks {
16602
+ width: 100%;
16603
+ height: 100%;
16604
+ }
16605
+
16606
+ /* Tick: positioned via bottom, centered vertically */
16607
+ .bc-range-slider--vertical .bc-range-slider__tick {
16608
+ left: 50%;
16609
+ top: auto;
16610
+ transform: translateY(50%);
16611
+ flex-direction: row;
16612
+ }
16613
+
16614
+ .bc-range-slider--vertical .bc-range-slider__tick::before {
16615
+ margin-top: 0;
16616
+ margin-left: var(--spacing-sm);
16617
+ }
16618
+
16619
+ /* Tick label: to the right in vertical mode */
16620
+ .bc-range-slider--vertical .bc-range-slider__tick-label {
16621
+ top: auto;
16622
+ left: calc(100% + var(--spacing-sm));
16623
+ }
16624
+
16625
+ /* Vertical size variants — swap track width/height, adjust padding */
16626
+
16627
+ /* xs vertical */
16628
+ .bc-range-slider--vertical.bc-range-slider--size-xs {
16629
+ padding: var(--spacing-smh) var(--spacing-lg) var(--spacing-smh)
16630
+ var(--spacing-md);
16631
+ }
16632
+ .bc-range-slider--vertical.bc-range-slider--size-xs .bc-range-slider__track {
16633
+ width: var(--spacing-xs);
16634
+ }
16635
+
16636
+ /* sm vertical */
16637
+ .bc-range-slider--vertical.bc-range-slider--size-sm {
16638
+ padding: var(--spacing-md) var(--spacing-xl) var(--spacing-lg)
16639
+ var(--spacing-lg);
16640
+ }
16641
+ .bc-range-slider--vertical.bc-range-slider--size-sm .bc-range-slider__track {
16642
+ width: calc(var(--spacing-base) * 0.75);
16643
+ }
16644
+
16645
+ /* md vertical */
16646
+ .bc-range-slider--vertical.bc-range-slider--size-md {
16647
+ padding: var(--spacing-xl) var(--spacing-2xl) var(--spacing-xl)
16648
+ calc(var(--spacing-base) * 2.5);
16649
+ }
16650
+ .bc-range-slider--vertical.bc-range-slider--size-md .bc-range-slider__track {
16651
+ width: var(--spacing-sm);
16652
+ }
16653
+
16654
+ /* lg vertical */
16655
+ .bc-range-slider--vertical.bc-range-slider--size-lg {
16656
+ padding: var(--spacing-2xl) var(--spacing-3xl) var(--spacing-2xl)
16657
+ var(--spacing-mdh);
16658
+ }
16659
+ .bc-range-slider--vertical.bc-range-slider--size-lg .bc-range-slider__track {
16660
+ width: var(--spacing-smh);
16661
+ }
16662
+
16663
+ /* xl vertical */
16664
+ .bc-range-slider--vertical.bc-range-slider--size-xl {
16665
+ padding: var(--spacing-3xl) var(--spacing-4xl) var(--spacing-3xl)
16666
+ calc(var(--spacing-base) * 3.5);
16667
+ }
16668
+ .bc-range-slider--vertical.bc-range-slider--size-xl .bc-range-slider__track {
16669
+ width: var(--spacing-md);
16670
+ }
16671
+
16289
16672
  /* Dark mode */
16290
- .dark .bc-advanced-slider__track {
16673
+ .dark .bc-range-slider__track {
16291
16674
  background-color: var(--bg-subtle);
16292
16675
  }
16293
16676
 
16294
- .dark .bc-advanced-slider__fill {
16295
- background-color: var(--slider-color-dark);
16677
+ .dark .bc-range-slider__fill {
16678
+ background-color: var(--rs-color-dark);
16296
16679
  }
16297
16680
 
16298
- .dark .bc-advanced-slider__thumb {
16681
+ .dark .bc-range-slider__thumb {
16299
16682
  background-color: var(--text-normal);
16300
- border-color: var(--slider-color-dark);
16683
+ border-color: var(--rs-color-dark);
16301
16684
  }
16302
16685
 
16303
- .dark .bc-advanced-slider__value-label {
16304
- background-color: var(--slider-color-dark);
16686
+ .dark .bc-range-slider__value-label {
16687
+ background-color: var(--rs-color-dark);
16305
16688
  }
16306
16689
 
16307
- .dark .bc-advanced-slider__tick::before {
16690
+ .dark .bc-range-slider__tick::before {
16308
16691
  background-color: var(--color-gray-500);
16309
16692
  }
16310
16693
 
16311
- .dark .bc-advanced-slider__tick-label {
16694
+ .dark .bc-range-slider__tick-label {
16312
16695
  color: var(--text-muted);
16313
16696
  }
16314
16697
 
16315
16698
  /* Reduced motion */
16316
16699
  @media (prefers-reduced-motion: reduce) {
16317
- .bc-advanced-slider__thumb {
16700
+ .bc-range-slider__thumb {
16318
16701
  transition: none;
16319
16702
  }
16320
16703
  }
@@ -16686,6 +17069,341 @@ span.bc-sidebar-link {
16686
17069
  color: var(--text-muted);
16687
17070
  }
16688
17071
 
17072
+ /* NavigationProgress Component - Top/bottom viewport progress bar for navigation/loading */
17073
+
17074
+ .bc-navigation-progress {
17075
+ --nav-progress-fill: var(--color-primary-500);
17076
+ --nav-progress-fill-dark: var(--color-primary-600);
17077
+
17078
+ position: fixed;
17079
+ left: 0;
17080
+ right: 0;
17081
+ height: 3px;
17082
+ z-index: var(--z-index-maximum, 1000);
17083
+ pointer-events: none;
17084
+ overflow: hidden;
17085
+ }
17086
+
17087
+ .bc-navigation-progress--top {
17088
+ top: 0;
17089
+ }
17090
+
17091
+ .bc-navigation-progress--bottom {
17092
+ bottom: 0;
17093
+ }
17094
+
17095
+ /* Progress bar fill */
17096
+ .bc-navigation-progress__bar {
17097
+ position: absolute;
17098
+ top: 0;
17099
+ left: 0;
17100
+ width: 100%;
17101
+ height: 100%;
17102
+ background-color: var(--nav-progress-fill);
17103
+ will-change: transform;
17104
+ }
17105
+
17106
+ .bc-navigation-progress__bar--done {
17107
+ opacity: 0;
17108
+ transition: opacity 0.2s ease;
17109
+ }
17110
+
17111
+ /* Peg - the glowing leading edge */
17112
+ .bc-navigation-progress__peg {
17113
+ position: absolute;
17114
+ right: 0;
17115
+ top: 0;
17116
+ width: 100px;
17117
+ height: 100%;
17118
+ box-shadow:
17119
+ 0 0 10px var(--nav-progress-fill),
17120
+ 0 0 5px var(--nav-progress-fill);
17121
+ opacity: 1;
17122
+ transform: rotate(3deg) translateY(-4px);
17123
+ }
17124
+
17125
+ /* Spinner */
17126
+ .bc-navigation-progress__spinner {
17127
+ position: fixed;
17128
+ top: 15px;
17129
+ right: 15px;
17130
+ z-index: calc(var(--z-index-maximum, 1000) + 1);
17131
+ pointer-events: none;
17132
+ }
17133
+
17134
+ .bc-navigation-progress__spinner--bottom {
17135
+ top: auto;
17136
+ bottom: 15px;
17137
+ }
17138
+
17139
+ .bc-navigation-progress__spinner-icon {
17140
+ width: 18px;
17141
+ height: 18px;
17142
+ border: 2px solid transparent;
17143
+ border-top-color: var(--nav-progress-fill);
17144
+ border-left-color: var(--nav-progress-fill);
17145
+ border-radius: 50%;
17146
+ animation: bc-nav-progress-spin 0.4s linear infinite;
17147
+ }
17148
+
17149
+ @keyframes bc-nav-progress-spin {
17150
+ from {
17151
+ transform: rotate(0deg);
17152
+ }
17153
+ to {
17154
+ transform: rotate(360deg);
17155
+ }
17156
+ }
17157
+
17158
+ /* Dark mode */
17159
+ .dark .bc-navigation-progress__bar {
17160
+ background-color: var(--nav-progress-fill-dark);
17161
+ }
17162
+
17163
+ .dark .bc-navigation-progress__peg {
17164
+ box-shadow:
17165
+ 0 0 10px var(--nav-progress-fill-dark),
17166
+ 0 0 5px var(--nav-progress-fill-dark);
17167
+ }
17168
+
17169
+ .dark .bc-navigation-progress__spinner-icon {
17170
+ border-top-color: var(--nav-progress-fill-dark);
17171
+ border-left-color: var(--nav-progress-fill-dark);
17172
+ }
17173
+
17174
+ /* Accessibility: respect reduced motion preference */
17175
+ @media (prefers-reduced-motion: reduce) {
17176
+ .bc-navigation-progress__bar {
17177
+ transition: none !important;
17178
+ }
17179
+
17180
+ .bc-navigation-progress__bar--done {
17181
+ transition: none;
17182
+ }
17183
+
17184
+ .bc-navigation-progress__spinner-icon {
17185
+ animation: none;
17186
+ }
17187
+ }
17188
+
17189
+ /* High contrast mode */
17190
+ @media (prefers-contrast: high) {
17191
+ .bc-navigation-progress__bar {
17192
+ outline: var(--outline-width-default, 2px) solid currentColor;
17193
+ outline-offset: calc(-1 * var(--outline-width-default, 2px));
17194
+ }
17195
+ }
17196
+
17197
+ /* OnboardingTour Component - Step-by-step guided tour with spotlight overlay */
17198
+
17199
+ .bc-onboarding-tour {
17200
+ position: fixed;
17201
+ inset: 0;
17202
+ z-index: var(--z-index-modal, 600);
17203
+ pointer-events: none;
17204
+ transition: opacity 0.2s
17205
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
17206
+ }
17207
+
17208
+ /* SVG backdrop with spotlight cutout */
17209
+ .bc-onboarding-tour__backdrop {
17210
+ position: fixed;
17211
+ inset: 0;
17212
+ width: 100%;
17213
+ height: 100%;
17214
+ pointer-events: all;
17215
+ cursor: default;
17216
+ }
17217
+
17218
+ .bc-onboarding-tour__backdrop--interactive {
17219
+ pointer-events: none;
17220
+ }
17221
+
17222
+ .bc-onboarding-tour__mask {
17223
+ fill: rgba(0, 0, 0, 0.5);
17224
+ transition: d 0.3s var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
17225
+ }
17226
+
17227
+ /* Tooltip */
17228
+ .bc-onboarding-tour__tooltip {
17229
+ position: fixed;
17230
+ width: 320px;
17231
+ max-width: calc(100vw - 16px);
17232
+ background-color: var(--bg-surface, #fff);
17233
+ border-radius: var(--radius-lg, 12px);
17234
+ box-shadow: var(
17235
+ --shadow-xl,
17236
+ 0 20px 25px -5px rgba(0, 0, 0, 0.1),
17237
+ 0 8px 10px -6px rgba(0, 0, 0, 0.1)
17238
+ );
17239
+ pointer-events: all;
17240
+ z-index: 1;
17241
+ transition:
17242
+ top 0.3s var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
17243
+ left 0.3s var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
17244
+ }
17245
+
17246
+ /* Arrow indicator */
17247
+ .bc-onboarding-tour__arrow {
17248
+ position: absolute;
17249
+ width: 12px;
17250
+ height: 12px;
17251
+ background-color: var(--bg-surface, #fff);
17252
+ transform: rotate(45deg);
17253
+ }
17254
+
17255
+ .bc-onboarding-tour__tooltip--top .bc-onboarding-tour__arrow {
17256
+ bottom: -6px;
17257
+ left: 50%;
17258
+ margin-left: -6px;
17259
+ }
17260
+
17261
+ .bc-onboarding-tour__tooltip--bottom .bc-onboarding-tour__arrow {
17262
+ top: -6px;
17263
+ left: 50%;
17264
+ margin-left: -6px;
17265
+ }
17266
+
17267
+ .bc-onboarding-tour__tooltip--left .bc-onboarding-tour__arrow {
17268
+ right: -6px;
17269
+ top: 50%;
17270
+ margin-top: -6px;
17271
+ }
17272
+
17273
+ .bc-onboarding-tour__tooltip--right .bc-onboarding-tour__arrow {
17274
+ left: -6px;
17275
+ top: 50%;
17276
+ margin-top: -6px;
17277
+ }
17278
+
17279
+ /* Content area */
17280
+ .bc-onboarding-tour__content {
17281
+ padding: var(--spacing-lg, 16px);
17282
+ display: flex;
17283
+ flex-direction: column;
17284
+ gap: var(--spacing-sm, 8px);
17285
+ }
17286
+
17287
+ /* Step indicator */
17288
+ .bc-onboarding-tour__step-indicator {
17289
+ font-family: var(
17290
+ --font-family-default-ui,
17291
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
17292
+ );
17293
+ font-size: var(--font-size-xs, 12px);
17294
+ color: var(--text-muted, #6b7280);
17295
+ font-weight: 500;
17296
+ text-transform: uppercase;
17297
+ letter-spacing: 0.05em;
17298
+ }
17299
+
17300
+ /* Title */
17301
+ .bc-onboarding-tour__title {
17302
+ font-family: var(
17303
+ --font-family-default-ui,
17304
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
17305
+ );
17306
+ font-size: var(--font-size-lg, 18px);
17307
+ font-weight: 600;
17308
+ color: var(--text-default, #111827);
17309
+ margin: 0;
17310
+ line-height: var(--line-height-tight, 1.25);
17311
+ }
17312
+
17313
+ /* Description */
17314
+ .bc-onboarding-tour__description {
17315
+ font-family: var(
17316
+ --font-family-default-ui,
17317
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
17318
+ );
17319
+ font-size: var(--font-size-sm, 14px);
17320
+ color: var(--text-muted, #6b7280);
17321
+ margin: 0;
17322
+ line-height: var(--line-height-normal, 1.5);
17323
+ }
17324
+
17325
+ /* Body (custom content) */
17326
+ .bc-onboarding-tour__body {
17327
+ font-size: var(--font-size-sm, 14px);
17328
+ color: var(--text-default, #111827);
17329
+ }
17330
+
17331
+ /* Navigation */
17332
+ .bc-onboarding-tour__nav {
17333
+ display: flex;
17334
+ align-items: center;
17335
+ justify-content: space-between;
17336
+ margin-top: var(--spacing-sm, 8px);
17337
+ }
17338
+
17339
+ .bc-onboarding-tour__nav-left {
17340
+ display: flex;
17341
+ gap: var(--spacing-sm, 8px);
17342
+ }
17343
+
17344
+ .bc-onboarding-tour__nav-right {
17345
+ display: flex;
17346
+ gap: var(--spacing-sm, 8px);
17347
+ }
17348
+
17349
+ /* Dark mode */
17350
+ .dark .bc-onboarding-tour__mask {
17351
+ fill: rgba(0, 0, 0, 0.7);
17352
+ }
17353
+
17354
+ .dark .bc-onboarding-tour__tooltip {
17355
+ background-color: var(--bg-surface-dark, #1f2937);
17356
+ box-shadow:
17357
+ 0 20px 25px -5px rgba(0, 0, 0, 0.3),
17358
+ 0 8px 10px -6px rgba(0, 0, 0, 0.3);
17359
+ }
17360
+
17361
+ .dark .bc-onboarding-tour__arrow {
17362
+ background-color: var(--bg-surface-dark, #1f2937);
17363
+ }
17364
+
17365
+ .dark .bc-onboarding-tour__title {
17366
+ color: var(--text-default-dark, #f9fafb);
17367
+ }
17368
+
17369
+ .dark .bc-onboarding-tour__description {
17370
+ color: var(--text-muted-dark, #9ca3af);
17371
+ }
17372
+
17373
+ .dark .bc-onboarding-tour__step-indicator {
17374
+ color: var(--text-muted-dark, #9ca3af);
17375
+ }
17376
+
17377
+ .dark .bc-onboarding-tour__body {
17378
+ color: var(--text-default-dark, #f9fafb);
17379
+ }
17380
+
17381
+ /* Accessibility: respect reduced motion preference */
17382
+ @media (prefers-reduced-motion: reduce) {
17383
+ .bc-onboarding-tour {
17384
+ transition: none;
17385
+ }
17386
+
17387
+ .bc-onboarding-tour__mask {
17388
+ transition: none;
17389
+ }
17390
+
17391
+ .bc-onboarding-tour__tooltip {
17392
+ transition: none;
17393
+ }
17394
+ }
17395
+
17396
+ /* High contrast mode */
17397
+ @media (prefers-contrast: high) {
17398
+ .bc-onboarding-tour__tooltip {
17399
+ outline: var(--outline-width-default, 2px) solid currentColor;
17400
+ }
17401
+
17402
+ .bc-onboarding-tour__mask {
17403
+ fill: rgba(0, 0, 0, 0.8);
17404
+ }
17405
+ }
17406
+
16689
17407
  /* Sortable Header */
16690
17408
  .bc-sortable-header {
16691
17409
  cursor: pointer;
@@ -17310,36 +18028,6 @@ th.bc-data-table__header--drag-over {
17310
18028
  background-color: var(--interactive-hover);
17311
18029
  }
17312
18030
 
17313
- /* Tags Filter (inline checkbox list) */
17314
- .bc-column-filter-tags {
17315
- display: flex;
17316
- flex-direction: column;
17317
- gap: var(--spacing-xs);
17318
- }
17319
-
17320
- .bc-column-filter-tags__list {
17321
- display: flex;
17322
- flex-direction: column;
17323
- gap: var(--spacing-2xs);
17324
- max-height: 200px;
17325
- overflow-y: auto;
17326
- }
17327
-
17328
- .bc-column-filter-tags__item {
17329
- display: flex;
17330
- align-items: center;
17331
- gap: var(--spacing-xs);
17332
- padding: var(--spacing-2xs) var(--spacing-xs);
17333
- cursor: pointer;
17334
- border-radius: var(--radius-control-sm);
17335
- font-size: var(--font-size-sm);
17336
- user-select: none;
17337
- }
17338
-
17339
- .bc-column-filter-tags__item:hover {
17340
- background-color: var(--interactive-hover);
17341
- }
17342
-
17343
18031
  /* Reduced motion */
17344
18032
  @media (prefers-reduced-motion: reduce) {
17345
18033
  .bc-sortable-header,