@tempots/beatui 1.2.2 → 1.3.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 (26) hide show
  1. package/dist/beatui.css +1096 -141
  2. package/dist/beatui.tailwind.css +1096 -141
  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 +6359 -5270
  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/form/input/index.d.ts +2 -1
  14. package/dist/types/components/form/input/multi-select.d.ts +98 -0
  15. package/dist/types/components/form/input/range-slider.d.ts +175 -0
  16. package/dist/types/components/media/carousel.d.ts +117 -0
  17. package/dist/types/components/media/index.d.ts +1 -0
  18. package/dist/types/components/navigation/index.d.ts +1 -0
  19. package/dist/types/components/navigation/navigation-progress.d.ts +72 -0
  20. package/dist/types/components/overlay/index.d.ts +1 -0
  21. package/dist/types/components/overlay/onboarding-tour.d.ts +98 -0
  22. package/dist/{widget-customization-D2a6SVP3.js → widget-customization-BAchyOUo.js} +1 -1
  23. package/dist/{widget-customization-CD_NyRQ8.cjs → widget-customization-DELy3SMQ.cjs} +1 -1
  24. package/package.json +1 -1
  25. package/dist/deep-merge-Bjv1NvKj.cjs +0 -1
  26. package/dist/types/components/form/input/advanced-slider.d.ts +0 -143
@@ -2850,6 +2850,228 @@ a:focus-visible {
2850
2850
  --card-bg: var(--bg-elevated);
2851
2851
  }
2852
2852
 
2853
+ /* Carousel Component */
2854
+ .bc-carousel {
2855
+ --carousel-arrow-size: 36px;
2856
+ --carousel-arrow-bg: rgba(255, 255, 255, 0.85);
2857
+ --carousel-arrow-bg-hover: rgba(255, 255, 255, 1);
2858
+ --carousel-arrow-color: var(--color-neutral-800, #1f2937);
2859
+ --carousel-arrow-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
2860
+ --carousel-dot-size: 8px;
2861
+ --carousel-dot-gap: 6px;
2862
+ --carousel-dot-color: var(--color-neutral-300, #d1d5db);
2863
+ --carousel-dot-active-color: var(--color-primary-500, #6366f1);
2864
+ --carousel-radius: var(--radius-lg, 12px);
2865
+ --carousel-peek: 0px;
2866
+
2867
+ position: relative;
2868
+ overflow: hidden;
2869
+ border-radius: var(--carousel-radius);
2870
+ outline: none;
2871
+ }
2872
+
2873
+ .bc-carousel:focus-visible {
2874
+ outline: 2px solid var(--color-primary-500, #6366f1);
2875
+ outline-offset: 2px;
2876
+ }
2877
+
2878
+ /* Viewport */
2879
+ .bc-carousel__viewport {
2880
+ overflow: hidden;
2881
+ width: 100%;
2882
+ cursor: grab;
2883
+ }
2884
+
2885
+ .bc-carousel--dragging .bc-carousel__viewport,
2886
+ .bc-carousel__viewport:active {
2887
+ cursor: grabbing;
2888
+ }
2889
+
2890
+ /* Track */
2891
+ .bc-carousel__track {
2892
+ display: flex;
2893
+ will-change: transform;
2894
+ transition-property: transform;
2895
+ transition-timing-function: var(
2896
+ --motion-easing-standard,
2897
+ cubic-bezier(0.2, 0, 0, 1)
2898
+ );
2899
+ }
2900
+
2901
+ /* Fade transition */
2902
+ .bc-carousel--fade .bc-carousel__track {
2903
+ transition-property: none;
2904
+ }
2905
+
2906
+ .bc-carousel--fade .bc-carousel__slide {
2907
+ transition: opacity var(--motion-transition-slow, 0.4s)
2908
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
2909
+ }
2910
+
2911
+ /* Slides */
2912
+ .bc-carousel__slide {
2913
+ flex-shrink: 0;
2914
+ overflow: hidden;
2915
+ user-select: none;
2916
+ -webkit-user-drag: none;
2917
+ }
2918
+
2919
+ .bc-carousel__slide img {
2920
+ pointer-events: none;
2921
+ -webkit-user-drag: none;
2922
+ }
2923
+
2924
+ /* Navigation arrows */
2925
+ .bc-carousel__arrow {
2926
+ position: absolute;
2927
+ top: 50%;
2928
+ transform: translateY(-50%);
2929
+ z-index: 2;
2930
+ display: flex;
2931
+ align-items: center;
2932
+ justify-content: center;
2933
+ width: var(--carousel-arrow-size);
2934
+ height: var(--carousel-arrow-size);
2935
+ border-radius: 50%;
2936
+ border: none;
2937
+ background: var(--carousel-arrow-bg);
2938
+ color: var(--carousel-arrow-color);
2939
+ box-shadow: var(--carousel-arrow-shadow);
2940
+ cursor: pointer;
2941
+ padding: 0;
2942
+ transition: all
2943
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
2944
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
2945
+ }
2946
+
2947
+ .bc-carousel__arrow:hover:not(:disabled) {
2948
+ background: var(--carousel-arrow-bg-hover);
2949
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
2950
+ transform: translateY(-50%) scale(1.08);
2951
+ }
2952
+
2953
+ .bc-carousel__arrow:active:not(:disabled) {
2954
+ transform: translateY(-50%) scale(0.96);
2955
+ }
2956
+
2957
+ .bc-carousel__arrow .bc-icon {
2958
+ pointer-events: none;
2959
+ }
2960
+
2961
+ .bc-carousel__arrow--prev {
2962
+ left: calc(var(--carousel-peek) + 8px);
2963
+ }
2964
+
2965
+ .bc-carousel__arrow--next {
2966
+ right: calc(var(--carousel-peek) + 8px);
2967
+ }
2968
+
2969
+ /* Disabled arrow state */
2970
+ .bc-carousel__arrow--disabled,
2971
+ .bc-carousel__arrow:disabled {
2972
+ opacity: 0.35;
2973
+ cursor: default;
2974
+ pointer-events: none;
2975
+ }
2976
+
2977
+ /* Dot indicators */
2978
+ .bc-carousel__dots {
2979
+ display: flex;
2980
+ align-items: center;
2981
+ justify-content: center;
2982
+ gap: var(--carousel-dot-gap);
2983
+ padding: 10px 0;
2984
+ }
2985
+
2986
+ .bc-carousel__dot {
2987
+ width: var(--carousel-dot-size);
2988
+ height: var(--carousel-dot-size);
2989
+ border-radius: 50%;
2990
+ border: none;
2991
+ padding: 0;
2992
+ background: var(--carousel-dot-color);
2993
+ cursor: pointer;
2994
+ transition: all
2995
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
2996
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
2997
+ }
2998
+
2999
+ .bc-carousel__dot:hover {
3000
+ background: var(--color-neutral-400, #9ca3af);
3001
+ transform: scale(1.3);
3002
+ }
3003
+
3004
+ .bc-carousel__dot--active {
3005
+ background: var(--carousel-dot-active-color);
3006
+ transform: scale(1.25);
3007
+ }
3008
+
3009
+ .bc-carousel__dot--active:hover {
3010
+ background: var(--carousel-dot-active-color);
3011
+ }
3012
+
3013
+ /* Progress bar indicator */
3014
+ .bc-carousel__progress {
3015
+ height: 3px;
3016
+ background: var(--carousel-dot-color);
3017
+ border-radius: 2px;
3018
+ margin: 10px 16px;
3019
+ overflow: hidden;
3020
+ }
3021
+
3022
+ .bc-carousel__progress-fill {
3023
+ height: 100%;
3024
+ background: var(--carousel-dot-active-color);
3025
+ border-radius: 2px;
3026
+ transition: width
3027
+ var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
3028
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
3029
+ }
3030
+
3031
+ /* Fraction indicator */
3032
+ .bc-carousel__fraction {
3033
+ text-align: center;
3034
+ padding: 8px 0;
3035
+ font-size: 0.875rem;
3036
+ color: var(--color-neutral-500, #6b7280);
3037
+ font-variant-numeric: tabular-nums;
3038
+ }
3039
+
3040
+ /* Dark mode */
3041
+ .dark .bc-carousel {
3042
+ --carousel-arrow-bg: rgba(30, 30, 30, 0.85);
3043
+ --carousel-arrow-bg-hover: rgba(40, 40, 40, 1);
3044
+ --carousel-arrow-color: var(--color-neutral-200, #e5e7eb);
3045
+ --carousel-arrow-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
3046
+ --carousel-dot-color: var(--color-neutral-600, #4b5563);
3047
+ --carousel-dot-active-color: var(--color-primary-400, #818cf8);
3048
+ }
3049
+
3050
+ .dark .bc-carousel__dot:hover {
3051
+ background: var(--color-neutral-500, #6b7280);
3052
+ }
3053
+
3054
+ .dark .bc-carousel__fraction {
3055
+ color: var(--color-neutral-400, #9ca3af);
3056
+ }
3057
+
3058
+ /* Reduced motion */
3059
+ @media (prefers-reduced-motion: reduce) {
3060
+ .bc-carousel__track {
3061
+ transition-duration: 0.01ms !important;
3062
+ }
3063
+
3064
+ .bc-carousel--fade .bc-carousel__slide {
3065
+ transition: none !important;
3066
+ }
3067
+
3068
+ .bc-carousel__arrow,
3069
+ .bc-carousel__dot,
3070
+ .bc-carousel__progress-fill {
3071
+ transition: none !important;
3072
+ }
3073
+ }
3074
+
2853
3075
  /* Center Component */
2854
3076
  .bc-center {
2855
3077
  display: flex;
@@ -3322,20 +3544,10 @@ a:focus-visible {
3322
3544
  .bc-dropdown__display {
3323
3545
  flex: 1;
3324
3546
  text-align: left;
3325
- overflow: hidden;
3326
3547
  text-overflow: ellipsis;
3327
3548
  white-space: nowrap;
3328
3549
  }
3329
3550
 
3330
- /* Arrow indicator */
3331
- .bc-dropdown__arrow {
3332
- display: flex;
3333
- align-items: center;
3334
- justify-content: center;
3335
- flex-shrink: 0;
3336
- margin-inline-start: var(--spacing-xs);
3337
- }
3338
-
3339
3551
  /* Listbox (dropdown) */
3340
3552
  .bc-dropdown__listbox {
3341
3553
  background-color: var(--color-white);
@@ -8890,101 +9102,378 @@ a:focus-visible {
8890
9102
  }
8891
9103
  }
8892
9104
 
8893
- /* Modal Component */
8894
- .bc-modal {
8895
- z-index: var(--z-index-modal);
8896
- width: 100%;
9105
+ /* MultiSelect Component */
9106
+
9107
+ .bc-multi-select {
9108
+ cursor: pointer;
9109
+ }
9110
+
9111
+ /* Placeholder when no items selected */
9112
+ .bc-multi-select__placeholder {
9113
+ color: var(--color-neutral-400);
9114
+ }
9115
+
9116
+ .bc-multi-select__badge-container {
9117
+ flex-grow: 1;
9118
+ display: flex;
9119
+ gap: var(--spacing-xs);
9120
+ flex-wrap: wrap;
9121
+ }
9122
+
9123
+ /* Dropdown panel */
9124
+ .bc-multi-select__dropdown {
8897
9125
  display: flex;
8898
9126
  flex-direction: column;
8899
- border-radius: var(--radius-overlay, var(--radius-lg));
8900
- box-shadow: var(--shadow-overlay, var(--shadow-xl));
8901
- background-color: var(--color-base-100);
8902
- border: var(--border-width-thick) solid var(--color-base-300);
9127
+ max-height: 320px;
8903
9128
  overflow: hidden;
8904
- transition: all var(--motion-transition-overlay) var(--motion-easing-emphasis);
9129
+ background: var(--color-white);
9130
+ border: var(--border-width-thin) solid var(--color-base-300);
9131
+ border-radius: var(--radius-md, 5px);
9132
+ box-shadow: var(--shadow-md);
8905
9133
  }
8906
9134
 
8907
- /* Modal anchored to body (default) */
8908
- .bc-modal--container-body {
8909
- position: fixed;
8910
- max-height: 90vh;
8911
- max-width: 90vw;
9135
+ /* Search input */
9136
+ .bc-multi-select__search {
9137
+ width: 100%;
9138
+ background: transparent;
9139
+ border: none;
9140
+ outline: none;
9141
+ font: inherit;
9142
+ color: inherit;
9143
+ padding: var(--spacing-sm) var(--spacing-md);
9144
+ margin: 0;
9145
+ background-color: var(--color-gray-50);
9146
+ border-bottom: var(--border-width-thin) solid var(--color-gray-300);
8912
9147
  }
8913
9148
 
8914
- /* Modal anchored to element container */
8915
- .bc-modal--container-element {
8916
- position: absolute;
8917
- max-height: 90%;
8918
- max-width: 90%;
9149
+ .bc-multi-select__search::placeholder {
9150
+ color: var(--color-base-400);
8919
9151
  }
8920
9152
 
8921
- /* Modal positioning - Center (default) */
8922
- .bc-modal--position-center.bc-modal--container-body {
8923
- top: 50%;
8924
- left: 50%;
8925
- transform: translate(-50%, -50%);
9153
+ /* Actions bar */
9154
+ .bc-multi-select__actions {
9155
+ display: flex;
9156
+ align-items: center;
9157
+ gap: var(--spacing-sm);
9158
+ padding: var(--spacing-xs) var(--spacing-md);
9159
+ border-bottom: var(--border-width-thin) solid var(--color-base-200);
9160
+ font-size: var(--font-size-xs);
8926
9161
  }
8927
9162
 
8928
- .bc-modal--position-center.bc-modal--container-element {
8929
- top: 50%;
8930
- left: 50%;
8931
- transform: translate(-50%, -50%);
9163
+ .bc-multi-select__action {
9164
+ background: none;
9165
+ border: none;
9166
+ cursor: pointer;
9167
+ color: var(--color-primary-600);
9168
+ font-size: inherit;
9169
+ font-family: inherit;
9170
+ padding: var(--spacing-xs) var(--spacing-xs);
9171
+ border-radius: var(--radius-sm, 3px);
9172
+ transition: background-color 120ms ease;
8932
9173
  }
8933
9174
 
8934
- /* Modal positioning - Top */
8935
- .bc-modal--position-top.bc-modal--container-body {
8936
- top: var(--spacing-2xl);
8937
- left: 50%;
8938
- transform: translateX(-50%);
9175
+ .bc-multi-select__action:hover {
9176
+ background-color: var(--color-primary-50);
8939
9177
  }
8940
9178
 
8941
- .bc-modal--position-top.bc-modal--container-element {
8942
- top: 5%;
8943
- left: 50%;
8944
- transform: translateX(-50%);
9179
+ .bc-multi-select__action-sep {
9180
+ color: var(--color-base-300);
8945
9181
  }
8946
9182
 
8947
- /* Modal positioning - Bottom */
8948
- .bc-modal--position-bottom.bc-modal--container-body {
8949
- bottom: var(--spacing-2xl);
8950
- left: 50%;
8951
- transform: translateX(-50%);
9183
+ /* Loading */
9184
+ .bc-multi-select__loading {
9185
+ padding: var(--spacing-md);
9186
+ text-align: center;
9187
+ font-size: var(--font-size-sm);
9188
+ color: var(--color-base-500);
8952
9189
  }
8953
9190
 
8954
- .bc-modal--position-bottom.bc-modal--container-element {
8955
- bottom: 5%;
8956
- left: 50%;
8957
- transform: translateX(-50%);
9191
+ /* Listbox */
9192
+ .bc-multi-select__listbox {
9193
+ overflow-y: auto;
9194
+ flex: 1;
9195
+ padding: var(--spacing-xs) 0;
8958
9196
  }
8959
9197
 
8960
- /* Modal positioning - Left */
8961
- .bc-modal--position-left.bc-modal--container-body {
8962
- top: 50%;
8963
- left: var(--spacing-2xl);
8964
- transform: translateY(-50%);
9198
+ /* Empty state */
9199
+ .bc-multi-select__empty {
9200
+ padding: var(--spacing-md);
9201
+ text-align: center;
9202
+ font-size: var(--font-size-sm);
9203
+ color: var(--color-base-400);
8965
9204
  }
8966
9205
 
8967
- .bc-modal--position-left.bc-modal--container-element {
8968
- top: 50%;
8969
- left: 5%;
8970
- transform: translateY(-50%);
9206
+ /* Option item */
9207
+ .bc-multi-select__option {
9208
+ display: flex;
9209
+ align-items: center;
9210
+ gap: var(--spacing-sm);
9211
+ padding: var(--spacing-sm) var(--spacing-md);
9212
+ cursor: pointer;
9213
+ font-size: var(--font-size-sm);
9214
+ color: var(--color-base-700);
9215
+ transition: background-color 100ms ease;
9216
+ user-select: none;
8971
9217
  }
8972
9218
 
8973
- /* Modal positioning - Right */
8974
- .bc-modal--position-right.bc-modal--container-body {
8975
- top: 50%;
8976
- right: var(--spacing-2xl);
8977
- transform: translateY(-50%);
9219
+ .bc-multi-select__option:hover {
9220
+ background-color: var(--color-base-50);
8978
9221
  }
8979
9222
 
8980
- .bc-modal--position-right.bc-modal--container-element {
8981
- top: 50%;
8982
- right: 5%;
8983
- transform: translateY(-50%);
9223
+ .bc-multi-select__option--focused {
9224
+ background-color: var(--color-primary-50);
8984
9225
  }
8985
9226
 
8986
- /* Modal positioning - Top Left */
8987
- .bc-modal--position-top-start.bc-modal--container-body {
9227
+ .bc-multi-select__option--selected {
9228
+ color: var(--color-primary-700);
9229
+ font-weight: var(--font-weight-medium, 500);
9230
+ }
9231
+
9232
+ .bc-multi-select__option--grouped {
9233
+ padding-left: calc(var(--spacing-md) + var(--spacing-md));
9234
+ }
9235
+
9236
+ .bc-multi-select__option[aria-disabled='true'] {
9237
+ opacity: 0.4;
9238
+ cursor: not-allowed;
9239
+ }
9240
+
9241
+ /* Check icon container */
9242
+ .bc-multi-select__option-check {
9243
+ display: flex;
9244
+ align-items: center;
9245
+ justify-content: center;
9246
+ width: 16px;
9247
+ height: 16px;
9248
+ flex-shrink: 0;
9249
+ border: var(--border-width-thin) solid var(--color-base-300);
9250
+ border-radius: var(--radius-xs, 2px);
9251
+ background: var(--color-white);
9252
+ transition:
9253
+ border-color 100ms ease,
9254
+ background-color 100ms ease;
9255
+ }
9256
+
9257
+ .bc-multi-select__option--selected .bc-multi-select__option-check {
9258
+ border-color: var(--color-primary-500);
9259
+ background-color: var(--color-primary-50);
9260
+ }
9261
+
9262
+ .bc-multi-select__option-label {
9263
+ flex: 1;
9264
+ overflow: hidden;
9265
+ text-overflow: ellipsis;
9266
+ white-space: nowrap;
9267
+ }
9268
+
9269
+ /* Group */
9270
+ .bc-multi-select__group {
9271
+ padding: var(--spacing-xs) 0;
9272
+ }
9273
+
9274
+ .bc-multi-select__group-label {
9275
+ padding: var(--spacing-xs) var(--spacing-md);
9276
+ font-size: var(--font-size-xs);
9277
+ font-weight: var(--font-weight-semibold, 600);
9278
+ color: var(--color-base-500);
9279
+ text-transform: uppercase;
9280
+ letter-spacing: 0.03em;
9281
+ }
9282
+
9283
+ /* Separator */
9284
+ .bc-multi-select__separator {
9285
+ height: 0;
9286
+ margin: var(--spacing-xs) var(--spacing-md);
9287
+ border-top: var(--border-width-thin) solid var(--color-base-200);
9288
+ }
9289
+
9290
+ /* Footer count */
9291
+ .bc-multi-select__footer {
9292
+ padding: var(--spacing-xs) var(--spacing-md);
9293
+ border-top: var(--border-width-thin) solid var(--color-base-200);
9294
+ font-size: var(--font-size-xs);
9295
+ color: var(--color-base-500);
9296
+ text-align: right;
9297
+ }
9298
+
9299
+ /* Dark mode */
9300
+ .dark .bc-multi-select__placeholder {
9301
+ color: var(--color-neutral-500);
9302
+ }
9303
+
9304
+ .dark .bc-multi-select__dropdown {
9305
+ background: var(--color-base-800);
9306
+ border-color: var(--color-base-600);
9307
+ }
9308
+
9309
+ .dark .bc-multi-select__search {
9310
+ background-color: var(--color-base-700);
9311
+ border-bottom-color: var(--color-base-600);
9312
+ color: var(--color-base-100);
9313
+ }
9314
+
9315
+ .dark .bc-multi-select__search::placeholder {
9316
+ color: var(--color-base-400);
9317
+ }
9318
+
9319
+ .dark .bc-multi-select__actions {
9320
+ border-bottom-color: var(--color-base-600);
9321
+ }
9322
+
9323
+ .dark .bc-multi-select__action {
9324
+ color: var(--color-primary-400);
9325
+ }
9326
+
9327
+ .dark .bc-multi-select__action:hover {
9328
+ background-color: var(--color-base-700);
9329
+ }
9330
+
9331
+ .dark .bc-multi-select__action-sep {
9332
+ color: var(--color-base-600);
9333
+ }
9334
+
9335
+ .dark .bc-multi-select__option {
9336
+ color: var(--color-base-200);
9337
+ }
9338
+
9339
+ .dark .bc-multi-select__option:hover {
9340
+ background-color: var(--color-base-700);
9341
+ }
9342
+
9343
+ .dark .bc-multi-select__option--focused {
9344
+ background-color: var(--color-base-700);
9345
+ }
9346
+
9347
+ .dark .bc-multi-select__option--selected {
9348
+ color: var(--color-primary-300);
9349
+ }
9350
+
9351
+ .dark .bc-multi-select__option-check {
9352
+ border-color: var(--color-base-500);
9353
+ background: var(--color-base-700);
9354
+ }
9355
+
9356
+ .dark .bc-multi-select__option--selected .bc-multi-select__option-check {
9357
+ border-color: var(--color-primary-400);
9358
+ background-color: var(--color-primary-900);
9359
+ }
9360
+
9361
+ .dark .bc-multi-select__group-label {
9362
+ color: var(--color-base-400);
9363
+ }
9364
+
9365
+ .dark .bc-multi-select__separator {
9366
+ border-top-color: var(--color-base-600);
9367
+ }
9368
+
9369
+ .dark .bc-multi-select__empty {
9370
+ color: var(--color-base-500);
9371
+ }
9372
+
9373
+ .dark .bc-multi-select__loading {
9374
+ color: var(--color-base-400);
9375
+ }
9376
+
9377
+ .dark .bc-multi-select__footer {
9378
+ border-top-color: var(--color-base-600);
9379
+ color: var(--color-base-400);
9380
+ }
9381
+
9382
+ /* Modal Component */
9383
+ .bc-modal {
9384
+ z-index: var(--z-index-modal);
9385
+ width: 100%;
9386
+ display: flex;
9387
+ flex-direction: column;
9388
+ border-radius: var(--radius-overlay, var(--radius-lg));
9389
+ box-shadow: var(--shadow-overlay, var(--shadow-xl));
9390
+ background-color: var(--color-base-100);
9391
+ border: var(--border-width-thick) solid var(--color-base-300);
9392
+ overflow: hidden;
9393
+ transition: all var(--motion-transition-overlay) var(--motion-easing-emphasis);
9394
+ }
9395
+
9396
+ /* Modal anchored to body (default) */
9397
+ .bc-modal--container-body {
9398
+ position: fixed;
9399
+ max-height: 90vh;
9400
+ max-width: 90vw;
9401
+ }
9402
+
9403
+ /* Modal anchored to element container */
9404
+ .bc-modal--container-element {
9405
+ position: absolute;
9406
+ max-height: 90%;
9407
+ max-width: 90%;
9408
+ }
9409
+
9410
+ /* Modal positioning - Center (default) */
9411
+ .bc-modal--position-center.bc-modal--container-body {
9412
+ top: 50%;
9413
+ left: 50%;
9414
+ transform: translate(-50%, -50%);
9415
+ }
9416
+
9417
+ .bc-modal--position-center.bc-modal--container-element {
9418
+ top: 50%;
9419
+ left: 50%;
9420
+ transform: translate(-50%, -50%);
9421
+ }
9422
+
9423
+ /* Modal positioning - Top */
9424
+ .bc-modal--position-top.bc-modal--container-body {
9425
+ top: var(--spacing-2xl);
9426
+ left: 50%;
9427
+ transform: translateX(-50%);
9428
+ }
9429
+
9430
+ .bc-modal--position-top.bc-modal--container-element {
9431
+ top: 5%;
9432
+ left: 50%;
9433
+ transform: translateX(-50%);
9434
+ }
9435
+
9436
+ /* Modal positioning - Bottom */
9437
+ .bc-modal--position-bottom.bc-modal--container-body {
9438
+ bottom: var(--spacing-2xl);
9439
+ left: 50%;
9440
+ transform: translateX(-50%);
9441
+ }
9442
+
9443
+ .bc-modal--position-bottom.bc-modal--container-element {
9444
+ bottom: 5%;
9445
+ left: 50%;
9446
+ transform: translateX(-50%);
9447
+ }
9448
+
9449
+ /* Modal positioning - Left */
9450
+ .bc-modal--position-left.bc-modal--container-body {
9451
+ top: 50%;
9452
+ left: var(--spacing-2xl);
9453
+ transform: translateY(-50%);
9454
+ }
9455
+
9456
+ .bc-modal--position-left.bc-modal--container-element {
9457
+ top: 50%;
9458
+ left: 5%;
9459
+ transform: translateY(-50%);
9460
+ }
9461
+
9462
+ /* Modal positioning - Right */
9463
+ .bc-modal--position-right.bc-modal--container-body {
9464
+ top: 50%;
9465
+ right: var(--spacing-2xl);
9466
+ transform: translateY(-50%);
9467
+ }
9468
+
9469
+ .bc-modal--position-right.bc-modal--container-element {
9470
+ top: 50%;
9471
+ right: 5%;
9472
+ transform: translateY(-50%);
9473
+ }
9474
+
9475
+ /* Modal positioning - Top Left */
9476
+ .bc-modal--position-top-start.bc-modal--container-body {
8988
9477
  top: var(--spacing-2xl);
8989
9478
  left: var(--spacing-2xl);
8990
9479
  }
@@ -15408,10 +15897,10 @@ span.bc-sidebar-link {
15408
15897
  }
15409
15898
  }
15410
15899
 
15411
- /* Advanced Slider Component */
15412
- .bc-advanced-slider {
15413
- --slider-color: var(--color-primary-500);
15414
- --slider-color-dark: var(--color-primary-600);
15900
+ /* Range Slider Component */
15901
+ .bc-range-slider {
15902
+ --rs-color: var(--color-primary-500);
15903
+ --rs-color-dark: var(--color-primary-600);
15415
15904
 
15416
15905
  position: relative;
15417
15906
  display: flex;
@@ -15422,14 +15911,18 @@ span.bc-sidebar-link {
15422
15911
  user-select: none;
15423
15912
  }
15424
15913
 
15425
- .bc-advanced-slider--disabled {
15914
+ .bc-range-slider--disabled {
15426
15915
  opacity: 0.5;
15427
15916
  pointer-events: none;
15428
15917
  cursor: not-allowed;
15429
15918
  }
15430
15919
 
15920
+ .bc-range-slider--readonly {
15921
+ pointer-events: none;
15922
+ }
15923
+
15431
15924
  /* Track */
15432
- .bc-advanced-slider__track {
15925
+ .bc-range-slider__track {
15433
15926
  position: relative;
15434
15927
  width: 100%;
15435
15928
  background-color: var(--color-gray-200);
@@ -15437,17 +15930,25 @@ span.bc-sidebar-link {
15437
15930
  }
15438
15931
 
15439
15932
  /* Filled portion */
15440
- .bc-advanced-slider__fill {
15933
+ .bc-range-slider__fill {
15441
15934
  position: absolute;
15442
15935
  top: 0;
15443
15936
  height: 100%;
15444
- background-color: var(--slider-color);
15937
+ background-color: var(--rs-color);
15445
15938
  border-radius: var(--radius-full);
15446
15939
  pointer-events: none;
15447
15940
  }
15448
15941
 
15449
- /* Thumb container (for positioning value label + thumb) */
15450
- .bc-advanced-slider__thumb-container {
15942
+ /* Segment overrides */
15943
+ .bc-range-slider__segment {
15944
+ position: absolute;
15945
+ top: 50%;
15946
+ transform: translateY(-50%);
15947
+ border-radius: var(--radius-full);
15948
+ }
15949
+
15950
+ /* Thumb container */
15951
+ .bc-range-slider__thumb-container {
15451
15952
  position: absolute;
15452
15953
  top: 50%;
15453
15954
  transform: translate(-50%, -50%);
@@ -15458,9 +15959,9 @@ span.bc-sidebar-link {
15458
15959
  }
15459
15960
 
15460
15961
  /* Thumb */
15461
- .bc-advanced-slider__thumb {
15962
+ .bc-range-slider__thumb {
15462
15963
  background-color: var(--color-white);
15463
- border: var(--border-width-medium) solid var(--slider-color);
15964
+ border: var(--border-width-medium) solid var(--rs-color);
15464
15965
  border-radius: var(--radius-full);
15465
15966
  cursor: grab;
15466
15967
  box-shadow: var(--shadow-sm);
@@ -15469,23 +15970,23 @@ span.bc-sidebar-link {
15469
15970
  transform var(--motion-transition-fast) var(--motion-easing-standard);
15470
15971
  }
15471
15972
 
15472
- .bc-advanced-slider__thumb:hover {
15973
+ .bc-range-slider__thumb:hover {
15473
15974
  box-shadow: var(--shadow-md);
15474
15975
  transform: scale(1.15);
15475
15976
  }
15476
15977
 
15477
- .bc-advanced-slider__thumb:active {
15978
+ .bc-range-slider__thumb:active {
15478
15979
  cursor: grabbing;
15479
15980
  transform: scale(1.2);
15480
15981
  }
15481
15982
 
15482
- .bc-advanced-slider__thumb:focus-visible {
15983
+ .bc-range-slider__thumb:focus-visible {
15483
15984
  outline: var(--outline-width-focus) solid var(--color-primary-500);
15484
15985
  outline-offset: 2px;
15485
15986
  }
15486
15987
 
15487
- /* Custom thumb wrapper — no default visual styling */
15488
- .bc-advanced-slider__thumb-custom {
15988
+ /* Custom thumb wrapper */
15989
+ .bc-range-slider__thumb-custom {
15489
15990
  cursor: grab;
15490
15991
  display: flex;
15491
15992
  align-items: center;
@@ -15493,20 +15994,20 @@ span.bc-sidebar-link {
15493
15994
  outline: none;
15494
15995
  }
15495
15996
 
15496
- .bc-advanced-slider__thumb-custom:active {
15997
+ .bc-range-slider__thumb-custom:active {
15497
15998
  cursor: grabbing;
15498
15999
  }
15499
16000
 
15500
- .bc-advanced-slider__thumb-custom:focus-visible {
16001
+ .bc-range-slider__thumb-custom:focus-visible {
15501
16002
  outline: var(--outline-width-focus) solid var(--color-primary-500);
15502
16003
  outline-offset: 2px;
15503
16004
  }
15504
16005
 
15505
16006
  /* Value label */
15506
- .bc-advanced-slider__value-label {
16007
+ .bc-range-slider__value-label {
15507
16008
  position: absolute;
15508
16009
  white-space: nowrap;
15509
- background-color: var(--slider-color);
16010
+ background-color: var(--rs-color);
15510
16011
  color: var(--color-white);
15511
16012
  border-radius: var(--radius-sm);
15512
16013
  font-weight: var(--font-weight-semibold);
@@ -15516,7 +16017,7 @@ span.bc-sidebar-link {
15516
16017
  }
15517
16018
 
15518
16019
  /* Ticks container */
15519
- .bc-advanced-slider__ticks {
16020
+ .bc-range-slider__ticks {
15520
16021
  position: absolute;
15521
16022
  top: 0;
15522
16023
  left: 0;
@@ -15526,7 +16027,7 @@ span.bc-sidebar-link {
15526
16027
  }
15527
16028
 
15528
16029
  /* Individual tick */
15529
- .bc-advanced-slider__tick {
16030
+ .bc-range-slider__tick {
15530
16031
  position: absolute;
15531
16032
  top: 50%;
15532
16033
  transform: translateX(-50%);
@@ -15535,7 +16036,7 @@ span.bc-sidebar-link {
15535
16036
  align-items: center;
15536
16037
  }
15537
16038
 
15538
- .bc-advanced-slider__tick::before {
16039
+ .bc-range-slider__tick::before {
15539
16040
  content: '';
15540
16041
  display: block;
15541
16042
  background-color: var(--color-gray-400);
@@ -15543,7 +16044,7 @@ span.bc-sidebar-link {
15543
16044
  }
15544
16045
 
15545
16046
  /* Tick label */
15546
- .bc-advanced-slider__tick-label {
16047
+ .bc-range-slider__tick-label {
15547
16048
  position: absolute;
15548
16049
  white-space: nowrap;
15549
16050
  color: var(--text-muted);
@@ -15552,164 +16053,283 @@ span.bc-sidebar-link {
15552
16053
  /* ── Size variants ── */
15553
16054
 
15554
16055
  /* xs */
15555
- .bc-advanced-slider--size-xs {
16056
+ .bc-range-slider--size-xs {
15556
16057
  padding: var(--spacing-lg) var(--spacing-smh) var(--spacing-md);
15557
16058
  }
15558
- .bc-advanced-slider--size-xs .bc-advanced-slider__track {
16059
+ .bc-range-slider--size-xs .bc-range-slider__track {
15559
16060
  height: var(--spacing-xs);
15560
16061
  }
15561
- .bc-advanced-slider--size-xs .bc-advanced-slider__thumb {
16062
+ .bc-range-slider--size-xs .bc-range-slider__thumb {
15562
16063
  width: calc(var(--spacing-base) * 2.5);
15563
16064
  height: calc(var(--spacing-base) * 2.5);
15564
16065
  }
15565
- .bc-advanced-slider--size-xs .bc-advanced-slider__value-label {
16066
+ .bc-range-slider--size-xs .bc-range-slider__value-label {
15566
16067
  font-size: var(--font-size-2xs);
15567
16068
  padding: var(--spacing-px) var(--spacing-sm);
15568
16069
  bottom: calc(100% + var(--spacing-sm));
15569
16070
  }
15570
- .bc-advanced-slider--size-xs .bc-advanced-slider__tick::before {
16071
+ .bc-range-slider--size-xs .bc-range-slider__tick::before {
15571
16072
  width: var(--spacing-px);
15572
16073
  height: var(--spacing-smh);
15573
16074
  margin-top: var(--spacing-sm);
15574
16075
  }
15575
- .bc-advanced-slider--size-xs .bc-advanced-slider__tick-label {
16076
+ .bc-range-slider--size-xs .bc-range-slider__tick-label {
15576
16077
  top: calc(var(--spacing-base) * 2.5);
15577
16078
  font-size: var(--font-size-2xs);
15578
16079
  }
15579
16080
 
15580
16081
  /* sm */
15581
- .bc-advanced-slider--size-sm {
16082
+ .bc-range-slider--size-sm {
15582
16083
  padding: var(--spacing-xl) var(--spacing-md) var(--spacing-lg);
15583
16084
  }
15584
- .bc-advanced-slider--size-sm .bc-advanced-slider__track {
16085
+ .bc-range-slider--size-sm .bc-range-slider__track {
15585
16086
  height: calc(var(--spacing-base) * 0.75);
15586
16087
  }
15587
- .bc-advanced-slider--size-sm .bc-advanced-slider__thumb {
16088
+ .bc-range-slider--size-sm .bc-range-slider__thumb {
15588
16089
  width: calc(var(--spacing-base) * 3.5);
15589
16090
  height: calc(var(--spacing-base) * 3.5);
15590
16091
  }
15591
- .bc-advanced-slider--size-sm .bc-advanced-slider__value-label {
16092
+ .bc-range-slider--size-sm .bc-range-slider__value-label {
15592
16093
  font-size: var(--font-size-xs);
15593
16094
  padding: var(--spacing-xs) calc(var(--spacing-base) * 1.25);
15594
16095
  bottom: calc(100% + calc(var(--spacing-base) * 1.25));
15595
16096
  }
15596
- .bc-advanced-slider--size-sm .bc-advanced-slider__tick::before {
16097
+ .bc-range-slider--size-sm .bc-range-slider__tick::before {
15597
16098
  width: var(--spacing-px);
15598
16099
  height: var(--spacing-md);
15599
16100
  margin-top: calc(var(--spacing-base) * 1.25);
15600
16101
  }
15601
- .bc-advanced-slider--size-sm .bc-advanced-slider__tick-label {
16102
+ .bc-range-slider--size-sm .bc-range-slider__tick-label {
15602
16103
  top: calc(var(--spacing-base) * 3.5);
15603
16104
  font-size: var(--font-size-2xs);
15604
16105
  }
15605
16106
 
15606
16107
  /* md (default) */
15607
- .bc-advanced-slider--size-md {
16108
+ .bc-range-slider--size-md {
15608
16109
  padding: var(--spacing-2xl) calc(var(--spacing-base) * 2.5) var(--spacing-xl);
15609
16110
  }
15610
- .bc-advanced-slider--size-md .bc-advanced-slider__track {
16111
+ .bc-range-slider--size-md .bc-range-slider__track {
15611
16112
  height: var(--spacing-sm);
15612
16113
  }
15613
- .bc-advanced-slider--size-md .bc-advanced-slider__thumb {
16114
+ .bc-range-slider--size-md .bc-range-slider__thumb {
15614
16115
  width: calc(var(--spacing-base) * 4.5);
15615
16116
  height: calc(var(--spacing-base) * 4.5);
15616
16117
  }
15617
- .bc-advanced-slider--size-md .bc-advanced-slider__value-label {
16118
+ .bc-range-slider--size-md .bc-range-slider__value-label {
15618
16119
  font-size: var(--font-size-sm);
15619
16120
  padding: var(--spacing-xs) var(--spacing-smh);
15620
16121
  bottom: calc(100% + var(--spacing-smh));
15621
16122
  }
15622
- .bc-advanced-slider--size-md .bc-advanced-slider__tick::before {
16123
+ .bc-range-slider--size-md .bc-range-slider__tick::before {
15623
16124
  width: var(--spacing-xs);
15624
16125
  height: calc(var(--spacing-base) * 2.5);
15625
16126
  margin-top: var(--spacing-smh);
15626
16127
  }
15627
- .bc-advanced-slider--size-md .bc-advanced-slider__tick-label {
16128
+ .bc-range-slider--size-md .bc-range-slider__tick-label {
15628
16129
  top: calc(var(--spacing-base) * 4.5);
15629
16130
  font-size: var(--font-size-xs);
15630
16131
  }
15631
16132
 
15632
16133
  /* lg */
15633
- .bc-advanced-slider--size-lg {
16134
+ .bc-range-slider--size-lg {
15634
16135
  padding: var(--spacing-3xl) var(--spacing-mdh) var(--spacing-2xl);
15635
16136
  }
15636
- .bc-advanced-slider--size-lg .bc-advanced-slider__track {
16137
+ .bc-range-slider--size-lg .bc-range-slider__track {
15637
16138
  height: var(--spacing-smh);
15638
16139
  }
15639
- .bc-advanced-slider--size-lg .bc-advanced-slider__thumb {
16140
+ .bc-range-slider--size-lg .bc-range-slider__thumb {
15640
16141
  width: calc(var(--spacing-base) * 5.5);
15641
16142
  height: calc(var(--spacing-base) * 5.5);
15642
16143
  }
15643
- .bc-advanced-slider--size-lg .bc-advanced-slider__value-label {
16144
+ .bc-range-slider--size-lg .bc-range-slider__value-label {
15644
16145
  font-size: var(--font-size-md);
15645
16146
  padding: calc(var(--spacing-base) * 0.75) var(--spacing-md);
15646
16147
  bottom: calc(100% + var(--spacing-md));
15647
16148
  }
15648
- .bc-advanced-slider--size-lg .bc-advanced-slider__tick::before {
16149
+ .bc-range-slider--size-lg .bc-range-slider__tick::before {
15649
16150
  width: var(--spacing-xs);
15650
16151
  height: var(--spacing-mdh);
15651
16152
  margin-top: var(--spacing-md);
15652
16153
  }
15653
- .bc-advanced-slider--size-lg .bc-advanced-slider__tick-label {
16154
+ .bc-range-slider--size-lg .bc-range-slider__tick-label {
15654
16155
  top: calc(var(--spacing-base) * 5.5);
15655
16156
  font-size: var(--font-size-sm);
15656
16157
  }
15657
16158
 
15658
16159
  /* xl */
15659
- .bc-advanced-slider--size-xl {
16160
+ .bc-range-slider--size-xl {
15660
16161
  padding: var(--spacing-4xl) calc(var(--spacing-base) * 3.5) var(--spacing-3xl);
15661
16162
  }
15662
- .bc-advanced-slider--size-xl .bc-advanced-slider__track {
16163
+ .bc-range-slider--size-xl .bc-range-slider__track {
15663
16164
  height: var(--spacing-md);
15664
16165
  }
15665
- .bc-advanced-slider--size-xl .bc-advanced-slider__thumb {
16166
+ .bc-range-slider--size-xl .bc-range-slider__thumb {
15666
16167
  width: calc(var(--spacing-base) * 6.5);
15667
16168
  height: calc(var(--spacing-base) * 6.5);
15668
16169
  }
15669
- .bc-advanced-slider--size-xl .bc-advanced-slider__value-label {
16170
+ .bc-range-slider--size-xl .bc-range-slider__value-label {
15670
16171
  font-size: var(--font-size-lg);
15671
16172
  padding: var(--spacing-sm) calc(var(--spacing-base) * 2.5);
15672
16173
  bottom: calc(100% + calc(var(--spacing-base) * 2.5));
15673
16174
  }
15674
- .bc-advanced-slider--size-xl .bc-advanced-slider__tick::before {
16175
+ .bc-range-slider--size-xl .bc-range-slider__tick::before {
15675
16176
  width: var(--spacing-xs);
15676
16177
  height: calc(var(--spacing-base) * 3.5);
15677
16178
  margin-top: calc(var(--spacing-base) * 2.5);
15678
16179
  }
15679
- .bc-advanced-slider--size-xl .bc-advanced-slider__tick-label {
16180
+ .bc-range-slider--size-xl .bc-range-slider__tick-label {
15680
16181
  top: calc(var(--spacing-base) * 6.5);
15681
16182
  font-size: var(--font-size-md);
15682
16183
  }
15683
16184
 
16185
+ /* ── Vertical orientation ── */
16186
+
16187
+ .bc-range-slider--vertical {
16188
+ width: auto;
16189
+ height: 100%;
16190
+ min-height: 120px;
16191
+ touch-action: none;
16192
+ }
16193
+
16194
+ .bc-range-slider--vertical .bc-range-slider__track {
16195
+ width: auto;
16196
+ flex: 1;
16197
+ min-height: 60px;
16198
+ }
16199
+
16200
+ /* Fill: runs from bottom upward */
16201
+ .bc-range-slider--vertical .bc-range-slider__fill {
16202
+ left: 0;
16203
+ width: 100%;
16204
+ top: auto;
16205
+ bottom: 0;
16206
+ height: auto;
16207
+ }
16208
+
16209
+ /* Segments: vertical positioning, override horizontal transform */
16210
+ .bc-range-slider--vertical .bc-range-slider__segment {
16211
+ left: 0;
16212
+ width: 100%;
16213
+ top: auto;
16214
+ transform: none;
16215
+ }
16216
+
16217
+ /* Thumb container: centered horizontally, positioned via bottom */
16218
+ .bc-range-slider--vertical .bc-range-slider__thumb-container {
16219
+ left: 50%;
16220
+ top: auto;
16221
+ transform: translate(-50%, 50%);
16222
+ }
16223
+
16224
+ /* Value label: to the right of thumb in vertical mode */
16225
+ .bc-range-slider--vertical .bc-range-slider__value-label {
16226
+ bottom: auto;
16227
+ left: calc(100% + var(--spacing-sm));
16228
+ top: 50%;
16229
+ transform: translateY(-50%);
16230
+ }
16231
+
16232
+ /* Ticks: full height */
16233
+ .bc-range-slider--vertical .bc-range-slider__ticks {
16234
+ width: 100%;
16235
+ height: 100%;
16236
+ }
16237
+
16238
+ /* Tick: positioned via bottom, centered vertically */
16239
+ .bc-range-slider--vertical .bc-range-slider__tick {
16240
+ left: 50%;
16241
+ top: auto;
16242
+ transform: translateY(50%);
16243
+ flex-direction: row;
16244
+ }
16245
+
16246
+ .bc-range-slider--vertical .bc-range-slider__tick::before {
16247
+ margin-top: 0;
16248
+ margin-left: var(--spacing-sm);
16249
+ }
16250
+
16251
+ /* Tick label: to the right in vertical mode */
16252
+ .bc-range-slider--vertical .bc-range-slider__tick-label {
16253
+ top: auto;
16254
+ left: calc(100% + var(--spacing-sm));
16255
+ }
16256
+
16257
+ /* Vertical size variants — swap track width/height, adjust padding */
16258
+
16259
+ /* xs vertical */
16260
+ .bc-range-slider--vertical.bc-range-slider--size-xs {
16261
+ padding: var(--spacing-smh) var(--spacing-lg) var(--spacing-smh)
16262
+ var(--spacing-md);
16263
+ }
16264
+ .bc-range-slider--vertical.bc-range-slider--size-xs .bc-range-slider__track {
16265
+ width: var(--spacing-xs);
16266
+ }
16267
+
16268
+ /* sm vertical */
16269
+ .bc-range-slider--vertical.bc-range-slider--size-sm {
16270
+ padding: var(--spacing-md) var(--spacing-xl) var(--spacing-lg)
16271
+ var(--spacing-lg);
16272
+ }
16273
+ .bc-range-slider--vertical.bc-range-slider--size-sm .bc-range-slider__track {
16274
+ width: calc(var(--spacing-base) * 0.75);
16275
+ }
16276
+
16277
+ /* md vertical */
16278
+ .bc-range-slider--vertical.bc-range-slider--size-md {
16279
+ padding: var(--spacing-xl) var(--spacing-2xl) var(--spacing-xl)
16280
+ calc(var(--spacing-base) * 2.5);
16281
+ }
16282
+ .bc-range-slider--vertical.bc-range-slider--size-md .bc-range-slider__track {
16283
+ width: var(--spacing-sm);
16284
+ }
16285
+
16286
+ /* lg vertical */
16287
+ .bc-range-slider--vertical.bc-range-slider--size-lg {
16288
+ padding: var(--spacing-2xl) var(--spacing-3xl) var(--spacing-2xl)
16289
+ var(--spacing-mdh);
16290
+ }
16291
+ .bc-range-slider--vertical.bc-range-slider--size-lg .bc-range-slider__track {
16292
+ width: var(--spacing-smh);
16293
+ }
16294
+
16295
+ /* xl vertical */
16296
+ .bc-range-slider--vertical.bc-range-slider--size-xl {
16297
+ padding: var(--spacing-3xl) var(--spacing-4xl) var(--spacing-3xl)
16298
+ calc(var(--spacing-base) * 3.5);
16299
+ }
16300
+ .bc-range-slider--vertical.bc-range-slider--size-xl .bc-range-slider__track {
16301
+ width: var(--spacing-md);
16302
+ }
16303
+
15684
16304
  /* Dark mode */
15685
- .dark .bc-advanced-slider__track {
16305
+ .dark .bc-range-slider__track {
15686
16306
  background-color: var(--bg-subtle);
15687
16307
  }
15688
16308
 
15689
- .dark .bc-advanced-slider__fill {
15690
- background-color: var(--slider-color-dark);
16309
+ .dark .bc-range-slider__fill {
16310
+ background-color: var(--rs-color-dark);
15691
16311
  }
15692
16312
 
15693
- .dark .bc-advanced-slider__thumb {
16313
+ .dark .bc-range-slider__thumb {
15694
16314
  background-color: var(--text-normal);
15695
- border-color: var(--slider-color-dark);
16315
+ border-color: var(--rs-color-dark);
15696
16316
  }
15697
16317
 
15698
- .dark .bc-advanced-slider__value-label {
15699
- background-color: var(--slider-color-dark);
16318
+ .dark .bc-range-slider__value-label {
16319
+ background-color: var(--rs-color-dark);
15700
16320
  }
15701
16321
 
15702
- .dark .bc-advanced-slider__tick::before {
16322
+ .dark .bc-range-slider__tick::before {
15703
16323
  background-color: var(--color-gray-500);
15704
16324
  }
15705
16325
 
15706
- .dark .bc-advanced-slider__tick-label {
16326
+ .dark .bc-range-slider__tick-label {
15707
16327
  color: var(--text-muted);
15708
16328
  }
15709
16329
 
15710
16330
  /* Reduced motion */
15711
16331
  @media (prefers-reduced-motion: reduce) {
15712
- .bc-advanced-slider__thumb {
16332
+ .bc-range-slider__thumb {
15713
16333
  transition: none;
15714
16334
  }
15715
16335
  }
@@ -16081,6 +16701,341 @@ span.bc-sidebar-link {
16081
16701
  color: var(--text-muted);
16082
16702
  }
16083
16703
 
16704
+ /* NavigationProgress Component - Top/bottom viewport progress bar for navigation/loading */
16705
+
16706
+ .bc-navigation-progress {
16707
+ --nav-progress-fill: var(--color-primary-500);
16708
+ --nav-progress-fill-dark: var(--color-primary-600);
16709
+
16710
+ position: fixed;
16711
+ left: 0;
16712
+ right: 0;
16713
+ height: 3px;
16714
+ z-index: var(--z-index-maximum, 1000);
16715
+ pointer-events: none;
16716
+ overflow: hidden;
16717
+ }
16718
+
16719
+ .bc-navigation-progress--top {
16720
+ top: 0;
16721
+ }
16722
+
16723
+ .bc-navigation-progress--bottom {
16724
+ bottom: 0;
16725
+ }
16726
+
16727
+ /* Progress bar fill */
16728
+ .bc-navigation-progress__bar {
16729
+ position: absolute;
16730
+ top: 0;
16731
+ left: 0;
16732
+ width: 100%;
16733
+ height: 100%;
16734
+ background-color: var(--nav-progress-fill);
16735
+ will-change: transform;
16736
+ }
16737
+
16738
+ .bc-navigation-progress__bar--done {
16739
+ opacity: 0;
16740
+ transition: opacity 0.2s ease;
16741
+ }
16742
+
16743
+ /* Peg - the glowing leading edge */
16744
+ .bc-navigation-progress__peg {
16745
+ position: absolute;
16746
+ right: 0;
16747
+ top: 0;
16748
+ width: 100px;
16749
+ height: 100%;
16750
+ box-shadow:
16751
+ 0 0 10px var(--nav-progress-fill),
16752
+ 0 0 5px var(--nav-progress-fill);
16753
+ opacity: 1;
16754
+ transform: rotate(3deg) translateY(-4px);
16755
+ }
16756
+
16757
+ /* Spinner */
16758
+ .bc-navigation-progress__spinner {
16759
+ position: fixed;
16760
+ top: 15px;
16761
+ right: 15px;
16762
+ z-index: calc(var(--z-index-maximum, 1000) + 1);
16763
+ pointer-events: none;
16764
+ }
16765
+
16766
+ .bc-navigation-progress__spinner--bottom {
16767
+ top: auto;
16768
+ bottom: 15px;
16769
+ }
16770
+
16771
+ .bc-navigation-progress__spinner-icon {
16772
+ width: 18px;
16773
+ height: 18px;
16774
+ border: 2px solid transparent;
16775
+ border-top-color: var(--nav-progress-fill);
16776
+ border-left-color: var(--nav-progress-fill);
16777
+ border-radius: 50%;
16778
+ animation: bc-nav-progress-spin 0.4s linear infinite;
16779
+ }
16780
+
16781
+ @keyframes bc-nav-progress-spin {
16782
+ from {
16783
+ transform: rotate(0deg);
16784
+ }
16785
+ to {
16786
+ transform: rotate(360deg);
16787
+ }
16788
+ }
16789
+
16790
+ /* Dark mode */
16791
+ .dark .bc-navigation-progress__bar {
16792
+ background-color: var(--nav-progress-fill-dark);
16793
+ }
16794
+
16795
+ .dark .bc-navigation-progress__peg {
16796
+ box-shadow:
16797
+ 0 0 10px var(--nav-progress-fill-dark),
16798
+ 0 0 5px var(--nav-progress-fill-dark);
16799
+ }
16800
+
16801
+ .dark .bc-navigation-progress__spinner-icon {
16802
+ border-top-color: var(--nav-progress-fill-dark);
16803
+ border-left-color: var(--nav-progress-fill-dark);
16804
+ }
16805
+
16806
+ /* Accessibility: respect reduced motion preference */
16807
+ @media (prefers-reduced-motion: reduce) {
16808
+ .bc-navigation-progress__bar {
16809
+ transition: none !important;
16810
+ }
16811
+
16812
+ .bc-navigation-progress__bar--done {
16813
+ transition: none;
16814
+ }
16815
+
16816
+ .bc-navigation-progress__spinner-icon {
16817
+ animation: none;
16818
+ }
16819
+ }
16820
+
16821
+ /* High contrast mode */
16822
+ @media (prefers-contrast: high) {
16823
+ .bc-navigation-progress__bar {
16824
+ outline: var(--outline-width-default, 2px) solid currentColor;
16825
+ outline-offset: calc(-1 * var(--outline-width-default, 2px));
16826
+ }
16827
+ }
16828
+
16829
+ /* OnboardingTour Component - Step-by-step guided tour with spotlight overlay */
16830
+
16831
+ .bc-onboarding-tour {
16832
+ position: fixed;
16833
+ inset: 0;
16834
+ z-index: var(--z-index-modal, 600);
16835
+ pointer-events: none;
16836
+ transition: opacity 0.2s
16837
+ var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
16838
+ }
16839
+
16840
+ /* SVG backdrop with spotlight cutout */
16841
+ .bc-onboarding-tour__backdrop {
16842
+ position: fixed;
16843
+ inset: 0;
16844
+ width: 100%;
16845
+ height: 100%;
16846
+ pointer-events: all;
16847
+ cursor: default;
16848
+ }
16849
+
16850
+ .bc-onboarding-tour__backdrop--interactive {
16851
+ pointer-events: none;
16852
+ }
16853
+
16854
+ .bc-onboarding-tour__mask {
16855
+ fill: rgba(0, 0, 0, 0.5);
16856
+ transition: d 0.3s var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
16857
+ }
16858
+
16859
+ /* Tooltip */
16860
+ .bc-onboarding-tour__tooltip {
16861
+ position: fixed;
16862
+ width: 320px;
16863
+ max-width: calc(100vw - 16px);
16864
+ background-color: var(--bg-surface, #fff);
16865
+ border-radius: var(--radius-lg, 12px);
16866
+ box-shadow: var(
16867
+ --shadow-xl,
16868
+ 0 20px 25px -5px rgba(0, 0, 0, 0.1),
16869
+ 0 8px 10px -6px rgba(0, 0, 0, 0.1)
16870
+ );
16871
+ pointer-events: all;
16872
+ z-index: 1;
16873
+ transition:
16874
+ top 0.3s var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),
16875
+ left 0.3s var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
16876
+ }
16877
+
16878
+ /* Arrow indicator */
16879
+ .bc-onboarding-tour__arrow {
16880
+ position: absolute;
16881
+ width: 12px;
16882
+ height: 12px;
16883
+ background-color: var(--bg-surface, #fff);
16884
+ transform: rotate(45deg);
16885
+ }
16886
+
16887
+ .bc-onboarding-tour__tooltip--top .bc-onboarding-tour__arrow {
16888
+ bottom: -6px;
16889
+ left: 50%;
16890
+ margin-left: -6px;
16891
+ }
16892
+
16893
+ .bc-onboarding-tour__tooltip--bottom .bc-onboarding-tour__arrow {
16894
+ top: -6px;
16895
+ left: 50%;
16896
+ margin-left: -6px;
16897
+ }
16898
+
16899
+ .bc-onboarding-tour__tooltip--left .bc-onboarding-tour__arrow {
16900
+ right: -6px;
16901
+ top: 50%;
16902
+ margin-top: -6px;
16903
+ }
16904
+
16905
+ .bc-onboarding-tour__tooltip--right .bc-onboarding-tour__arrow {
16906
+ left: -6px;
16907
+ top: 50%;
16908
+ margin-top: -6px;
16909
+ }
16910
+
16911
+ /* Content area */
16912
+ .bc-onboarding-tour__content {
16913
+ padding: var(--spacing-lg, 16px);
16914
+ display: flex;
16915
+ flex-direction: column;
16916
+ gap: var(--spacing-sm, 8px);
16917
+ }
16918
+
16919
+ /* Step indicator */
16920
+ .bc-onboarding-tour__step-indicator {
16921
+ font-family: var(
16922
+ --font-family-default-ui,
16923
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
16924
+ );
16925
+ font-size: var(--font-size-xs, 12px);
16926
+ color: var(--text-muted, #6b7280);
16927
+ font-weight: 500;
16928
+ text-transform: uppercase;
16929
+ letter-spacing: 0.05em;
16930
+ }
16931
+
16932
+ /* Title */
16933
+ .bc-onboarding-tour__title {
16934
+ font-family: var(
16935
+ --font-family-default-ui,
16936
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
16937
+ );
16938
+ font-size: var(--font-size-lg, 18px);
16939
+ font-weight: 600;
16940
+ color: var(--text-default, #111827);
16941
+ margin: 0;
16942
+ line-height: var(--line-height-tight, 1.25);
16943
+ }
16944
+
16945
+ /* Description */
16946
+ .bc-onboarding-tour__description {
16947
+ font-family: var(
16948
+ --font-family-default-ui,
16949
+ var(--font-ui, var(--font-body, var(--font-family-sans)))
16950
+ );
16951
+ font-size: var(--font-size-sm, 14px);
16952
+ color: var(--text-muted, #6b7280);
16953
+ margin: 0;
16954
+ line-height: var(--line-height-normal, 1.5);
16955
+ }
16956
+
16957
+ /* Body (custom content) */
16958
+ .bc-onboarding-tour__body {
16959
+ font-size: var(--font-size-sm, 14px);
16960
+ color: var(--text-default, #111827);
16961
+ }
16962
+
16963
+ /* Navigation */
16964
+ .bc-onboarding-tour__nav {
16965
+ display: flex;
16966
+ align-items: center;
16967
+ justify-content: space-between;
16968
+ margin-top: var(--spacing-sm, 8px);
16969
+ }
16970
+
16971
+ .bc-onboarding-tour__nav-left {
16972
+ display: flex;
16973
+ gap: var(--spacing-sm, 8px);
16974
+ }
16975
+
16976
+ .bc-onboarding-tour__nav-right {
16977
+ display: flex;
16978
+ gap: var(--spacing-sm, 8px);
16979
+ }
16980
+
16981
+ /* Dark mode */
16982
+ .dark .bc-onboarding-tour__mask {
16983
+ fill: rgba(0, 0, 0, 0.7);
16984
+ }
16985
+
16986
+ .dark .bc-onboarding-tour__tooltip {
16987
+ background-color: var(--bg-surface-dark, #1f2937);
16988
+ box-shadow:
16989
+ 0 20px 25px -5px rgba(0, 0, 0, 0.3),
16990
+ 0 8px 10px -6px rgba(0, 0, 0, 0.3);
16991
+ }
16992
+
16993
+ .dark .bc-onboarding-tour__arrow {
16994
+ background-color: var(--bg-surface-dark, #1f2937);
16995
+ }
16996
+
16997
+ .dark .bc-onboarding-tour__title {
16998
+ color: var(--text-default-dark, #f9fafb);
16999
+ }
17000
+
17001
+ .dark .bc-onboarding-tour__description {
17002
+ color: var(--text-muted-dark, #9ca3af);
17003
+ }
17004
+
17005
+ .dark .bc-onboarding-tour__step-indicator {
17006
+ color: var(--text-muted-dark, #9ca3af);
17007
+ }
17008
+
17009
+ .dark .bc-onboarding-tour__body {
17010
+ color: var(--text-default-dark, #f9fafb);
17011
+ }
17012
+
17013
+ /* Accessibility: respect reduced motion preference */
17014
+ @media (prefers-reduced-motion: reduce) {
17015
+ .bc-onboarding-tour {
17016
+ transition: none;
17017
+ }
17018
+
17019
+ .bc-onboarding-tour__mask {
17020
+ transition: none;
17021
+ }
17022
+
17023
+ .bc-onboarding-tour__tooltip {
17024
+ transition: none;
17025
+ }
17026
+ }
17027
+
17028
+ /* High contrast mode */
17029
+ @media (prefers-contrast: high) {
17030
+ .bc-onboarding-tour__tooltip {
17031
+ outline: var(--outline-width-default, 2px) solid currentColor;
17032
+ }
17033
+
17034
+ .bc-onboarding-tour__mask {
17035
+ fill: rgba(0, 0, 0, 0.8);
17036
+ }
17037
+ }
17038
+
16084
17039
  /* Sortable Header */
16085
17040
  .bc-sortable-header {
16086
17041
  cursor: pointer;