rsuite 6.0.0-canary-20250620 → 6.0.0-canary-2025062016

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 (51) hide show
  1. package/SegmentedControl/package.json +7 -0
  2. package/SegmentedControl/styles/index.css +157 -0
  3. package/cjs/Grid/utils/styles.d.ts +1 -1
  4. package/cjs/RadioGroup/RadioGroup.d.ts +4 -1
  5. package/cjs/SegmentedControl/Indicator.d.ts +10 -0
  6. package/cjs/SegmentedControl/Indicator.js +22 -0
  7. package/cjs/SegmentedControl/SegmentedControl.d.ts +27 -0
  8. package/cjs/SegmentedControl/SegmentedControl.js +87 -0
  9. package/cjs/SegmentedControl/SegmentedItem.d.ts +16 -0
  10. package/cjs/SegmentedControl/SegmentedItem.js +44 -0
  11. package/cjs/SegmentedControl/hooks/useIndicatorPosition.d.ts +17 -0
  12. package/cjs/SegmentedControl/hooks/useIndicatorPosition.js +55 -0
  13. package/cjs/SegmentedControl/index.d.ts +4 -0
  14. package/cjs/SegmentedControl/index.js +11 -0
  15. package/cjs/Slider/ProgressBar.js +1 -1
  16. package/cjs/index.d.ts +1 -0
  17. package/cjs/index.js +6 -0
  18. package/cjs/internals/Provider/types.d.ts +2 -0
  19. package/cjs/internals/hooks/useElementResize.d.ts +2 -1
  20. package/cjs/internals/hooks/useElementResize.js +50 -7
  21. package/cjs/internals/utils/style-sheet/css.d.ts +1 -1
  22. package/cjs/internals/utils/style-sheet/css.js +1 -1
  23. package/dist/rsuite-no-reset.css +197 -18
  24. package/dist/rsuite-no-reset.min.css +1 -1
  25. package/dist/rsuite.css +197 -18
  26. package/dist/rsuite.js +130 -5
  27. package/dist/rsuite.js.map +1 -1
  28. package/dist/rsuite.min.css +1 -1
  29. package/dist/rsuite.min.js +1 -1
  30. package/dist/rsuite.min.js.map +1 -1
  31. package/esm/Grid/utils/styles.d.ts +1 -1
  32. package/esm/RadioGroup/RadioGroup.d.ts +4 -1
  33. package/esm/SegmentedControl/Indicator.d.ts +10 -0
  34. package/esm/SegmentedControl/Indicator.js +17 -0
  35. package/esm/SegmentedControl/SegmentedControl.d.ts +27 -0
  36. package/esm/SegmentedControl/SegmentedControl.js +81 -0
  37. package/esm/SegmentedControl/SegmentedItem.d.ts +16 -0
  38. package/esm/SegmentedControl/SegmentedItem.js +39 -0
  39. package/esm/SegmentedControl/hooks/useIndicatorPosition.d.ts +17 -0
  40. package/esm/SegmentedControl/hooks/useIndicatorPosition.js +50 -0
  41. package/esm/SegmentedControl/index.d.ts +4 -0
  42. package/esm/SegmentedControl/index.js +8 -0
  43. package/esm/Slider/ProgressBar.js +1 -1
  44. package/esm/index.d.ts +1 -0
  45. package/esm/index.js +1 -0
  46. package/esm/internals/Provider/types.d.ts +2 -0
  47. package/esm/internals/hooks/useElementResize.d.ts +2 -1
  48. package/esm/internals/hooks/useElementResize.js +50 -7
  49. package/esm/internals/utils/style-sheet/css.d.ts +1 -1
  50. package/esm/internals/utils/style-sheet/css.js +1 -1
  51. package/package.json +1 -1
@@ -303,6 +303,19 @@
303
303
  --rs-radio-tile-icon-size:32px;
304
304
  --rs-rate-symbol:var(--rs-gray-600);
305
305
  --rs-rate-color:var(--rs-blue-500);
306
+ --rs-segmented-control-bg:var(--rs-gray-100);
307
+ --rs-segmented-control-border-color:var(--rs-border-primary);
308
+ --rs-segmented-control-item-active-color:var(--rs-text-primary);
309
+ --rs-segmented-control-item-color:var(--rs-text-secondary);
310
+ --rs-segmented-control-item-disabled-color:var(--rs-gray-400);
311
+ --rs-segmented-control-pill-indicator-bg:var(--rs-gray-0);
312
+ --rs-segmented-control-underline-color:var(--rs-primary-500);
313
+ --rs-slider-bar:var(--rs-gray-100);
314
+ --rs-slider-hover-bar:var(--rs-gray-200);
315
+ --rs-slider-thumb-border:var(--rs-primary-500);
316
+ --rs-slider-thumb-bg:#fff;
317
+ --rs-slider-thumb-hover-shadow:0 0 0 8px rgb(from var(--rs-gray-500) r g b / 25%);
318
+ --rs-slider-progress:var(--rs-primary-500);
306
319
  --rs-toggle-bg:var(--rs-gray-500);
307
320
  --rs-toggle-thumb:#fff;
308
321
  --rs-toggle-loader-ring:rgb(from var(--rs-gray-50) r g b / 30%);
@@ -315,12 +328,6 @@
315
328
  --rs-toggle-checked-hover-bg:var(--rs-primary-600);
316
329
  --rs-toggle-checked-disabled-bg:var(--rs-primary-200);
317
330
  --rs-toggle-checked-disabled-thumb:#fff;
318
- --rs-slider-bar:var(--rs-gray-100);
319
- --rs-slider-hover-bar:var(--rs-gray-200);
320
- --rs-slider-thumb-border:var(--rs-primary-500);
321
- --rs-slider-thumb-bg:#fff;
322
- --rs-slider-thumb-hover-shadow:0 0 0 8px rgb(from var(--rs-gray-500) r g b / 25%);
323
- --rs-slider-progress:var(--rs-primary-500);
324
331
  --rs-uploader-item-bg:var(--rs-gray-300);
325
332
  --rs-uploader-item-hover-bg:var(--rs-gray-50);
326
333
  --rs-uploader-overlay-bg:rgb(from #fff r g b / 80%);
@@ -693,6 +700,19 @@
693
700
  --rs-radio-tile-checked-disabled-color:var(--rs-primary-900);
694
701
  --rs-rate-symbol:var(--rs-gray-600);
695
702
  --rs-rate-color:var(--rs-yellow-500);
703
+ --rs-segmented-control-bg:var(--rs-gray-700);
704
+ --rs-segmented-control-border-color:var(--rs-border-primary);
705
+ --rs-segmented-control-item-active-color:var(--rs-text-primary);
706
+ --rs-segmented-control-item-color:var(--rs-text-secondary);
707
+ --rs-segmented-control-item-disabled-color:var(--rs-gray-500);
708
+ --rs-segmented-control-pill-indicator-bg:var(--rs-gray-800);
709
+ --rs-segmented-control-underline-color:var(--rs-primary-500);
710
+ --rs-slider-bar:var(--rs-gray-600);
711
+ --rs-slider-hover-bar:var(--rs-gray-600);
712
+ --rs-slider-thumb-border:var(--rs-primary-500);
713
+ --rs-slider-thumb-bg:var(--rs-gray-700);
714
+ --rs-slider-thumb-hover-shadow:0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
715
+ --rs-slider-progress:var(--rs-primary-500);
696
716
  --rs-toggle-bg:var(--rs-gray-500);
697
717
  --rs-toggle-thumb:#fff;
698
718
  --rs-toggle-hover-bg:var(--rs-gray-300);
@@ -703,12 +723,6 @@
703
723
  --rs-toggle-checked-hover-bg:var(--rs-primary-600);
704
724
  --rs-toggle-checked-disabled-bg:var(--rs-primary-900);
705
725
  --rs-toggle-checked-disabled-thumb:var(--rs-gray-300);
706
- --rs-slider-bar:var(--rs-gray-600);
707
- --rs-slider-hover-bar:var(--rs-gray-600);
708
- --rs-slider-thumb-border:var(--rs-primary-500);
709
- --rs-slider-thumb-bg:var(--rs-gray-700);
710
- --rs-slider-thumb-hover-shadow:0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
711
- --rs-slider-progress:var(--rs-primary-500);
712
726
  --rs-uploader-item-bg:var(--rs-gray-300);
713
727
  --rs-uploader-item-hover-bg:var(--rs-gray-600);
714
728
  --rs-uploader-overlay-bg:rgb(from var(--rs-gray-600) r g b / 80%);
@@ -1081,6 +1095,19 @@
1081
1095
  --rs-radio-tile-checked-disabled-color:var(--rs-primary-900);
1082
1096
  --rs-rate-symbol:var(--rs-gray-100);
1083
1097
  --rs-rate-color:var(--rs-primary-500);
1098
+ --rs-segmented-control-bg:var(--rs-gray-700);
1099
+ --rs-segmented-control-border-color:var(--rs-gray-600);
1100
+ --rs-segmented-control-item-active-color:var(--rs-text-primary);
1101
+ --rs-segmented-control-item-color:var(--rs-text-secondary);
1102
+ --rs-segmented-control-item-disabled-color:var(--rs-gray-500);
1103
+ --rs-segmented-control-pill-indicator-bg:var(--rs-gray-800);
1104
+ --rs-segmented-control-underline-color:var(--rs-primary-500);
1105
+ --rs-slider-bar:var(--rs-gray-600);
1106
+ --rs-slider-hover-bar:var(--rs-gray-600);
1107
+ --rs-slider-thumb-border:var(--rs-primary-500);
1108
+ --rs-slider-thumb-bg:var(--rs-gray-700);
1109
+ --rs-slider-thumb-hover-shadow:0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
1110
+ --rs-slider-progress:var(--rs-primary-500);
1084
1111
  --rs-toggle-bg:var(--rs-gray-800);
1085
1112
  --rs-toggle-thumb:var(--rs-gray-100);
1086
1113
  --rs-toggle-hover-bg:var(--rs-gray-800);
@@ -1091,12 +1118,6 @@
1091
1118
  --rs-toggle-checked-hover-bg:var(--rs-primary-400);
1092
1119
  --rs-toggle-checked-disabled-bg:var(--rs-primary-900);
1093
1120
  --rs-toggle-checked-disabled-thumb:var(--rs-gray-800);
1094
- --rs-slider-bar:var(--rs-gray-600);
1095
- --rs-slider-hover-bar:var(--rs-gray-600);
1096
- --rs-slider-thumb-border:var(--rs-primary-500);
1097
- --rs-slider-thumb-bg:var(--rs-gray-700);
1098
- --rs-slider-thumb-hover-shadow:0 0 0 8px rgb(from var(--rs-primary-500) r g b / 25%);
1099
- --rs-slider-progress:var(--rs-primary-500);
1100
1121
  --rs-uploader-item-bg:var(--rs-gray-300);
1101
1122
  --rs-uploader-item-hover-bg:var(--rs-gray-800);
1102
1123
  --rs-uploader-item-hover-text:var(--rs-primary-500);
@@ -12403,6 +12424,164 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before{
12403
12424
  --rs-rate-color:var(--rs-info-500);
12404
12425
  }
12405
12426
 
12427
+ :root{
12428
+ --rs-segmented-control-spacing:calc(var(--rs-spacing) * 1);
12429
+ --rs-segmented-control-border-radius:var(--rs-radius-md);
12430
+ --rs-segmented-control-border-width:1px;
12431
+ --rs-segmented-control-padding:calc(var(--rs-spacing) * 0.5);
12432
+ --rs-segmented-control-height:36px;
12433
+ --rs-segmented-control-height-xs:24px;
12434
+ --rs-segmented-control-height-sm:30px;
12435
+ --rs-segmented-control-height-lg:42px;
12436
+ --rs-segmented-control-height-xl:48px;
12437
+ --rs-segmented-control-item-padding-y:calc(var(--rs-spacing) * 1);
12438
+ --rs-segmented-control-item-padding-y-xs:calc(var(--rs-spacing) * 0.5);
12439
+ --rs-segmented-control-item-padding-y-sm:calc(var(--rs-spacing) * 0.75);
12440
+ --rs-segmented-control-item-padding-y-lg:calc(var(--rs-spacing) * 1.25);
12441
+ --rs-segmented-control-item-padding-y-xl:calc(var(--rs-spacing) * 1.5);
12442
+ --rs-segmented-control-item-padding-x:calc(var(--rs-spacing) * 2);
12443
+ --rs-segmented-control-item-padding-x-xs:calc(var(--rs-spacing) * 1.5);
12444
+ --rs-segmented-control-item-padding-x-sm:calc(var(--rs-spacing) * 1.75);
12445
+ --rs-segmented-control-item-padding-x-lg:calc(var(--rs-spacing) * 2.25);
12446
+ --rs-segmented-control-item-padding-x-xl:calc(var(--rs-spacing) * 2.5);
12447
+ --rs-segmented-control-font-size:var(--rs-font-size-sm);
12448
+ --rs-segmented-control-font-size-xs:var(--rs-font-size-extra-small);
12449
+ --rs-segmented-control-font-size-sm:var(--rs-font-size-sm);
12450
+ --rs-segmented-control-font-size-lg:var(--rs-font-size-base);
12451
+ --rs-segmented-control-font-size-xl:var(--rs-font-size-large);
12452
+ --rs-segmented-control-indicator-transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
12453
+ --rs-segmented-control-indicator-border-radius:calc(var(--rs-radius-md) - 2px);
12454
+ --rs-segmented-control-indicator-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
12455
+ --rs-segmented-control-underline-height:2px;
12456
+ --rs-segmented-control-pill-indicator-height:calc(var(--rs-segmented-control-height) - 8px);
12457
+ --rs-segmented-control-pill-indicator-border-radius:var(--rs-radius-md);
12458
+ --rs-segmented-control-pill-indicator-shadow:var(--rs-shadow-sm);
12459
+ }
12460
+
12461
+ .rs-segmented-control{
12462
+ display:inline-flex;
12463
+ position:relative;
12464
+ align-items:center;
12465
+ height:var(--rs-segmented-control-height);
12466
+ border-style:solid;
12467
+ border-width:var(--rs-segmented-control-border-width);
12468
+ border-color:var(--rs-segmented-control-border-color);
12469
+ border-radius:var(--rs-segmented-control-border-radius);
12470
+ padding:var(--rs-segmented-control-padding);
12471
+ gap:var(--rs-segmented-control-spacing);
12472
+ background-color:var(--rs-segmented-control-bg);
12473
+ box-sizing:border-box;
12474
+ font-size:var(--rs-segmented-control-font-size);
12475
+ }
12476
+ .rs-segmented-control:where([data-size=xs]){
12477
+ --rs-segmented-control-height:var(--rs-segmented-control-height-xs);
12478
+ --rs-segmented-control-item-padding-y:var(--rs-segmented-control-item-padding-y-xs);
12479
+ --rs-segmented-control-item-padding-x:var(--rs-segmented-control-item-padding-x-xs);
12480
+ --rs-segmented-control-font-size:var(--rs-segmented-control-font-size-xs);
12481
+ }
12482
+ .rs-segmented-control:where([data-size=sm]){
12483
+ --rs-segmented-control-height:var(--rs-segmented-control-height-sm);
12484
+ --rs-segmented-control-item-padding-y:var(--rs-segmented-control-item-padding-y-sm);
12485
+ --rs-segmented-control-item-padding-x:var(--rs-segmented-control-item-padding-x-sm);
12486
+ --rs-segmented-control-font-size:var(--rs-segmented-control-font-size-sm);
12487
+ }
12488
+ .rs-segmented-control:where([data-size=lg]){
12489
+ --rs-segmented-control-height:var(--rs-segmented-control-height-lg);
12490
+ --rs-segmented-control-item-padding-y:var(--rs-segmented-control-item-padding-y-lg);
12491
+ --rs-segmented-control-item-padding-x:var(--rs-segmented-control-item-padding-x-lg);
12492
+ --rs-segmented-control-font-size:var(--rs-segmented-control-font-size-lg);
12493
+ }
12494
+ .rs-segmented-control:where([data-size=xl]){
12495
+ --rs-segmented-control-height:var(--rs-segmented-control-height-xl);
12496
+ --rs-segmented-control-item-padding-y:var(--rs-segmented-control-item-padding-y-xl);
12497
+ --rs-segmented-control-item-padding-x:var(--rs-segmented-control-item-padding-x-xl);
12498
+ --rs-segmented-control-font-size:var(--rs-segmented-control-font-size-xl);
12499
+ }
12500
+ .rs-segmented-control[data-block=true]{
12501
+ display:flex;
12502
+ width:100%;
12503
+ }
12504
+ .rs-segmented-control[data-block=true] .rs-segmented-control-item{
12505
+ flex:1 1 0%;
12506
+ min-width:0;
12507
+ text-align:center;
12508
+ white-space:nowrap;
12509
+ overflow:hidden;
12510
+ text-overflow:ellipsis;
12511
+ }
12512
+ .rs-segmented-control:empty{
12513
+ display:none;
12514
+ }
12515
+ .rs-segmented-control .rs-segmented-control-item{
12516
+ position:relative;
12517
+ z-index:1;
12518
+ display:flex;
12519
+ align-items:center;
12520
+ justify-content:center;
12521
+ height:100%;
12522
+ padding-inline:var(--rs-segmented-control-item-padding-x);
12523
+ padding-block:var(--rs-segmented-control-item-padding-y);
12524
+ border-radius:var(--rs-segmented-control-indicator-border-radius);
12525
+ cursor:pointer;
12526
+ -webkit-user-select:none;
12527
+ -moz-user-select:none;
12528
+ user-select:none;
12529
+ transition:color 0.2s ease;
12530
+ color:var(--rs-segmented-control-item-color);
12531
+ }
12532
+ .rs-segmented-control .rs-segmented-control-item[data-active]{
12533
+ color:var(--rs-segmented-control-item-active-color);
12534
+ }
12535
+ .rs-segmented-control .rs-segmented-control-item[data-disabled]{
12536
+ opacity:0.5;
12537
+ cursor:not-allowed;
12538
+ }
12539
+ .rs-segmented-control .rs-segmented-control-item .rs-segmented-control-radio{
12540
+ position:absolute;
12541
+ opacity:0;
12542
+ width:0;
12543
+ height:0;
12544
+ margin:0;
12545
+ padding:0;
12546
+ }
12547
+ .rs-segmented-control .rs-segmented-control-item .rs-segmented-control-label{
12548
+ font-size:var(--rs-font-size-sm);
12549
+ line-height:var(--rs-line-height-sm);
12550
+ }
12551
+ .rs-segmented-control .rs-segmented-control-indicator{
12552
+ position:absolute;
12553
+ z-index:0;
12554
+ transition:var(--rs-segmented-control-indicator-transition);
12555
+ box-shadow:var(--rs-segmented-control-indicator-shadow);
12556
+ }
12557
+ [data-theme=high-contrast] .rs-segmented-control .rs-segmented-control-indicator, .rs-theme-high-contrast .rs-segmented-control .rs-segmented-control-indicator{
12558
+ transition:none;
12559
+ }
12560
+ .rs-segmented-control:where([data-indicator=pill]) .rs-segmented-control-indicator{
12561
+ background-color:var(--rs-segmented-control-pill-indicator-bg);
12562
+ border-radius:var(--rs-segmented-control-pill-indicator-border-radius);
12563
+ box-shadow:var(--rs-segmented-control-pill-indicator-shadow);
12564
+ height:var(--rs-segmented-control-pill-indicator-height);
12565
+ }
12566
+ .rs-segmented-control:where([data-indicator=underline]){
12567
+ padding-block:0;
12568
+ padding-inline:var(--rs-segmented-control-border-radius);
12569
+ background-color:transparent;
12570
+ }
12571
+ .rs-segmented-control:where([data-indicator=underline]) .rs-segmented-control-item{
12572
+ padding-bottom:calc(var(--rs-segmented-control-item-padding-y) + var(--rs-segmented-control-underline-height));
12573
+ border-radius:0;
12574
+ position:relative;
12575
+ z-index:1;
12576
+ }
12577
+ .rs-segmented-control:where([data-indicator=underline]) .rs-segmented-control-indicator{
12578
+ bottom:-1px;
12579
+ height:var(--rs-segmented-control-underline-height);
12580
+ background-color:var(--rs-segmented-control-underline-color);
12581
+ border-radius:var(--rs-radius-none);
12582
+ box-shadow:none;
12583
+ }
12584
+
12406
12585
  .rs-sidenav{
12407
12586
  --rs-sidenav-width:52px;
12408
12587
  --rs-sidenav-item-font-size:var(--rs-font-size-sm);