@sentropic/design-system-react 0.14.0 → 0.16.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 (46) hide show
  1. package/dist/BulletChart.d.ts +17 -0
  2. package/dist/BulletChart.d.ts.map +1 -0
  3. package/dist/BulletChart.js +185 -0
  4. package/dist/BulletChart.js.map +1 -0
  5. package/dist/BumpChart.d.ts +17 -0
  6. package/dist/BumpChart.d.ts.map +1 -0
  7. package/dist/BumpChart.js +142 -0
  8. package/dist/BumpChart.js.map +1 -0
  9. package/dist/CalendarHeatmapChart.d.ts +14 -0
  10. package/dist/CalendarHeatmapChart.d.ts.map +1 -0
  11. package/dist/CalendarHeatmapChart.js +138 -0
  12. package/dist/CalendarHeatmapChart.js.map +1 -0
  13. package/dist/CandlestickChart.d.ts +17 -0
  14. package/dist/CandlestickChart.d.ts.map +1 -0
  15. package/dist/CandlestickChart.js +116 -0
  16. package/dist/CandlestickChart.js.map +1 -0
  17. package/dist/FilterBar.d.ts +3 -0
  18. package/dist/FilterBar.d.ts.map +1 -0
  19. package/dist/FilterBar.js +2 -0
  20. package/dist/FilterBar.js.map +1 -0
  21. package/dist/FilterPill.d.ts +3 -0
  22. package/dist/FilterPill.d.ts.map +1 -0
  23. package/dist/FilterPill.js +2 -0
  24. package/dist/FilterPill.js.map +1 -0
  25. package/dist/MarimekkoChart.d.ts +21 -0
  26. package/dist/MarimekkoChart.d.ts.map +1 -0
  27. package/dist/MarimekkoChart.js +88 -0
  28. package/dist/MarimekkoChart.js.map +1 -0
  29. package/dist/ParallelCoordinatesChart.d.ts +19 -0
  30. package/dist/ParallelCoordinatesChart.d.ts.map +1 -0
  31. package/dist/ParallelCoordinatesChart.js +116 -0
  32. package/dist/ParallelCoordinatesChart.js.map +1 -0
  33. package/dist/SelectionChip.d.ts +3 -0
  34. package/dist/SelectionChip.d.ts.map +1 -0
  35. package/dist/SelectionChip.js +2 -0
  36. package/dist/SelectionChip.js.map +1 -0
  37. package/dist/catalog.d.ts +43 -0
  38. package/dist/catalog.d.ts.map +1 -1
  39. package/dist/catalog.js +59 -0
  40. package/dist/catalog.js.map +1 -1
  41. package/dist/index.d.ts +18 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +9 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/styles.css +825 -0
  46. package/package.json +1 -1
package/dist/styles.css CHANGED
@@ -9433,3 +9433,828 @@
9433
9433
  transition: none;
9434
9434
  }
9435
9435
  }
9436
+
9437
+ /* ── BulletChart (lot-3) ── */
9438
+ .st-bulletChart {
9439
+ color: var(--st-semantic-text-secondary);
9440
+ display: block;
9441
+ font-family: inherit;
9442
+ position: relative;
9443
+ width: 100%;
9444
+ }
9445
+
9446
+ .st-bulletChart svg {
9447
+ display: block;
9448
+ overflow: visible;
9449
+ }
9450
+
9451
+ .st-bulletChart__visual {
9452
+ display: block;
9453
+ }
9454
+
9455
+ .st-bulletChart__axis {
9456
+ stroke: var(--st-semantic-border-subtle);
9457
+ stroke-width: 1;
9458
+ }
9459
+
9460
+ .st-bulletChart__baseline {
9461
+ stroke: var(--st-semantic-border-subtle);
9462
+ stroke-width: 1.5;
9463
+ }
9464
+
9465
+ .st-bulletChart__grid {
9466
+ stroke: var(--st-semantic-border-subtle);
9467
+ stroke-dasharray: 2 3;
9468
+ stroke-width: 1;
9469
+ opacity: 0.6;
9470
+ }
9471
+
9472
+ .st-bulletChart__range {
9473
+ fill: var(--st-semantic-data-category1);
9474
+ }
9475
+
9476
+ .st-bulletChart__bar {
9477
+ cursor: pointer;
9478
+ fill: var(--st-semantic-text-secondary);
9479
+ transition: opacity 120ms ease;
9480
+ }
9481
+
9482
+ .st-bulletChart__bar:hover {
9483
+ opacity: 0.75;
9484
+ }
9485
+
9486
+ @media (prefers-reduced-motion: reduce) {
9487
+ .st-bulletChart__bar {
9488
+ transition: none;
9489
+ }
9490
+ }
9491
+
9492
+ .st-bulletChart__target {
9493
+ stroke: var(--st-semantic-text-primary, currentColor);
9494
+ stroke-width: 2.5;
9495
+ }
9496
+
9497
+ .st-bulletChart__tickLabel,
9498
+ .st-bulletChart__categoryLabel {
9499
+ fill: var(--st-semantic-text-secondary);
9500
+ font-size: 0.6875rem;
9501
+ }
9502
+
9503
+ .st-bulletChart__tooltip {
9504
+ background: var(--st-semantic-surface-inverse);
9505
+ border-radius: var(--st-radius-sm, 0.25rem);
9506
+ color: var(--st-semantic-text-inverse);
9507
+ display: inline-flex;
9508
+ flex-direction: column;
9509
+ font-size: 0.75rem;
9510
+ gap: 0.125rem;
9511
+ line-height: 1.2;
9512
+ padding: 0.375rem 0.5rem;
9513
+ pointer-events: none;
9514
+ position: absolute;
9515
+ transform: translate(-50%, calc(-100% - 8px));
9516
+ white-space: nowrap;
9517
+ z-index: 1;
9518
+ }
9519
+
9520
+ .st-bulletChart__tooltipLabel {
9521
+ font-weight: 600;
9522
+ }
9523
+
9524
+ .st-bulletChart__tooltipValue {
9525
+ opacity: 0.85;
9526
+ }
9527
+
9528
+ /* ── MarimekkoChart (lot-3) ── */
9529
+ .st-marimekkoChart {
9530
+ color: var(--st-semantic-text-secondary);
9531
+ display: block;
9532
+ font-family: inherit;
9533
+ position: relative;
9534
+ width: 100%;
9535
+ }
9536
+
9537
+ .st-marimekkoChart svg {
9538
+ display: block;
9539
+ overflow: visible;
9540
+ }
9541
+
9542
+ .st-marimekkoChart__visual {
9543
+ display: block;
9544
+ }
9545
+
9546
+ .st-marimekkoChart__axis {
9547
+ stroke: var(--st-semantic-border-subtle);
9548
+ stroke-width: 1;
9549
+ }
9550
+
9551
+ .st-marimekkoChart__cell {
9552
+ cursor: pointer;
9553
+ stroke: var(--st-semantic-surface-default, Canvas);
9554
+ stroke-width: 1;
9555
+ transition: opacity 120ms ease;
9556
+ }
9557
+
9558
+ .st-marimekkoChart__cell--dim {
9559
+ opacity: 0.4;
9560
+ }
9561
+
9562
+ @media (prefers-reduced-motion: reduce) {
9563
+ .st-marimekkoChart__cell {
9564
+ transition: none;
9565
+ }
9566
+ }
9567
+
9568
+ .st-marimekkoChart__cell--category1 { fill: var(--st-semantic-data-category1); }
9569
+ .st-marimekkoChart__cell--category2 { fill: var(--st-semantic-data-category2); }
9570
+ .st-marimekkoChart__cell--category3 { fill: var(--st-semantic-data-category3); }
9571
+ .st-marimekkoChart__cell--category4 { fill: var(--st-semantic-data-category4); }
9572
+ .st-marimekkoChart__cell--category5 { fill: var(--st-semantic-data-category5); }
9573
+ .st-marimekkoChart__cell--category6 { fill: var(--st-semantic-data-category6); }
9574
+ .st-marimekkoChart__cell--category7 { fill: var(--st-semantic-data-category7); }
9575
+ .st-marimekkoChart__cell--category8 { fill: var(--st-semantic-data-category8); }
9576
+
9577
+ .st-marimekkoChart__cellLabel {
9578
+ font-size: 0.625rem;
9579
+ pointer-events: none;
9580
+ }
9581
+
9582
+ .st-marimekkoChart__catLabel {
9583
+ fill: var(--st-semantic-text-secondary);
9584
+ font-size: 0.6875rem;
9585
+ }
9586
+
9587
+ .st-marimekkoChart__tooltip {
9588
+ background: var(--st-semantic-surface-inverse);
9589
+ border-radius: var(--st-radius-sm, 0.25rem);
9590
+ color: var(--st-semantic-text-inverse);
9591
+ display: inline-flex;
9592
+ flex-direction: column;
9593
+ font-size: 0.75rem;
9594
+ gap: 0.125rem;
9595
+ line-height: 1.2;
9596
+ padding: 0.375rem 0.5rem;
9597
+ pointer-events: none;
9598
+ position: absolute;
9599
+ transform: translate(-50%, calc(-100% - 8px));
9600
+ white-space: nowrap;
9601
+ z-index: 1;
9602
+ }
9603
+
9604
+ .st-marimekkoChart__tooltipLabel {
9605
+ font-weight: 600;
9606
+ }
9607
+
9608
+ .st-marimekkoChart__tooltipValue {
9609
+ opacity: 0.85;
9610
+ }
9611
+
9612
+ /* ── CandlestickChart (lot-3) ── */
9613
+ .st-candlestickChart {
9614
+ color: var(--st-semantic-text-secondary);
9615
+ display: block;
9616
+ font-family: inherit;
9617
+ position: relative;
9618
+ width: 100%;
9619
+ }
9620
+
9621
+ .st-candlestickChart svg {
9622
+ display: block;
9623
+ overflow: visible;
9624
+ }
9625
+
9626
+ .st-candlestickChart__visual {
9627
+ display: block;
9628
+ }
9629
+
9630
+ .st-candlestickChart__axis {
9631
+ stroke: var(--st-semantic-border-subtle);
9632
+ stroke-width: 1;
9633
+ }
9634
+
9635
+ .st-candlestickChart__grid {
9636
+ stroke: var(--st-semantic-border-subtle);
9637
+ stroke-dasharray: 2 3;
9638
+ stroke-width: 1;
9639
+ opacity: 0.7;
9640
+ }
9641
+
9642
+ .st-candlestickChart__wick {
9643
+ stroke-width: 1.5;
9644
+ }
9645
+
9646
+ .st-candlestickChart__wick--up {
9647
+ stroke: var(--st-semantic-feedback-success);
9648
+ }
9649
+
9650
+ .st-candlestickChart__wick--down {
9651
+ stroke: var(--st-semantic-feedback-error);
9652
+ }
9653
+
9654
+ .st-candlestickChart__body {
9655
+ cursor: pointer;
9656
+ transition: opacity 120ms ease;
9657
+ }
9658
+
9659
+ .st-candlestickChart__body--dim {
9660
+ opacity: 0.4;
9661
+ }
9662
+
9663
+ .st-candlestickChart__body--up {
9664
+ fill: var(--st-semantic-feedback-success);
9665
+ }
9666
+
9667
+ .st-candlestickChart__body--down {
9668
+ fill: var(--st-semantic-feedback-error);
9669
+ }
9670
+
9671
+ @media (prefers-reduced-motion: reduce) {
9672
+ .st-candlestickChart__body {
9673
+ transition: none;
9674
+ }
9675
+ }
9676
+
9677
+ .st-candlestickChart__tickLabel,
9678
+ .st-candlestickChart__categoryLabel {
9679
+ fill: var(--st-semantic-text-secondary);
9680
+ font-size: 0.6875rem;
9681
+ }
9682
+
9683
+ .st-candlestickChart__tooltip {
9684
+ background: var(--st-semantic-surface-inverse);
9685
+ border-radius: var(--st-radius-sm, 0.25rem);
9686
+ color: var(--st-semantic-text-inverse);
9687
+ display: inline-flex;
9688
+ flex-direction: column;
9689
+ font-size: 0.75rem;
9690
+ gap: 0.125rem;
9691
+ line-height: 1.2;
9692
+ padding: 0.375rem 0.5rem;
9693
+ pointer-events: none;
9694
+ position: absolute;
9695
+ transform: translate(-50%, calc(-100% - 8px));
9696
+ white-space: nowrap;
9697
+ z-index: 1;
9698
+ }
9699
+
9700
+ .st-candlestickChart__tooltipLabel {
9701
+ font-weight: 600;
9702
+ }
9703
+
9704
+ .st-candlestickChart__tooltipValue {
9705
+ opacity: 0.85;
9706
+ }
9707
+
9708
+ /* ── CalendarHeatmapChart (lot-3) ── */
9709
+ .st-calendarHeatmapChart {
9710
+ color: var(--st-semantic-text-secondary);
9711
+ display: block;
9712
+ font-family: inherit;
9713
+ position: relative;
9714
+ width: 100%;
9715
+ }
9716
+
9717
+ .st-calendarHeatmapChart svg {
9718
+ display: block;
9719
+ overflow: visible;
9720
+ }
9721
+
9722
+ .st-calendarHeatmapChart__visual {
9723
+ display: block;
9724
+ }
9725
+
9726
+ .st-calendarHeatmapChart__dayLabel,
9727
+ .st-calendarHeatmapChart__monthLabel {
9728
+ fill: var(--st-semantic-text-secondary);
9729
+ font-size: 0.5625rem;
9730
+ }
9731
+
9732
+ .st-calendarHeatmapChart__cell {
9733
+ cursor: pointer;
9734
+ stroke: var(--st-semantic-surface-default, Canvas);
9735
+ stroke-width: 1;
9736
+ transition: opacity 120ms ease;
9737
+ }
9738
+
9739
+ .st-calendarHeatmapChart__cell--empty {
9740
+ fill: var(--st-semantic-border-subtle);
9741
+ opacity: 0.25;
9742
+ }
9743
+
9744
+ .st-calendarHeatmapChart__cell--dim {
9745
+ opacity: 0.3;
9746
+ }
9747
+
9748
+ @media (prefers-reduced-motion: reduce) {
9749
+ .st-calendarHeatmapChart__cell {
9750
+ transition: none;
9751
+ }
9752
+ }
9753
+
9754
+ .st-calendarHeatmapChart__cell--category1 { fill: var(--st-semantic-data-category1); }
9755
+ .st-calendarHeatmapChart__cell--category2 { fill: var(--st-semantic-data-category2); }
9756
+ .st-calendarHeatmapChart__cell--category3 { fill: var(--st-semantic-data-category3); }
9757
+ .st-calendarHeatmapChart__cell--category4 { fill: var(--st-semantic-data-category4); }
9758
+ .st-calendarHeatmapChart__cell--category5 { fill: var(--st-semantic-data-category5); }
9759
+ .st-calendarHeatmapChart__cell--category6 { fill: var(--st-semantic-data-category6); }
9760
+ .st-calendarHeatmapChart__cell--category7 { fill: var(--st-semantic-data-category7); }
9761
+ .st-calendarHeatmapChart__cell--category8 { fill: var(--st-semantic-data-category8); }
9762
+
9763
+ .st-calendarHeatmapChart__tooltip {
9764
+ background: var(--st-semantic-surface-inverse);
9765
+ border-radius: var(--st-radius-sm, 0.25rem);
9766
+ color: var(--st-semantic-text-inverse);
9767
+ display: inline-flex;
9768
+ flex-direction: column;
9769
+ font-size: 0.75rem;
9770
+ gap: 0.125rem;
9771
+ line-height: 1.2;
9772
+ padding: 0.375rem 0.5rem;
9773
+ pointer-events: none;
9774
+ position: absolute;
9775
+ transform: translate(-50%, calc(-100% - 8px));
9776
+ white-space: nowrap;
9777
+ z-index: 1;
9778
+ }
9779
+
9780
+ .st-calendarHeatmapChart__tooltipLabel {
9781
+ font-weight: 600;
9782
+ }
9783
+
9784
+ .st-calendarHeatmapChart__tooltipValue {
9785
+ opacity: 0.85;
9786
+ }
9787
+
9788
+ /* ── ParallelCoordinatesChart (lot-3) ── */
9789
+ .st-parallelCoordinatesChart {
9790
+ color: var(--st-semantic-text-secondary);
9791
+ display: block;
9792
+ font-family: inherit;
9793
+ position: relative;
9794
+ width: 100%;
9795
+ }
9796
+
9797
+ .st-parallelCoordinatesChart svg {
9798
+ display: block;
9799
+ overflow: visible;
9800
+ }
9801
+
9802
+ .st-parallelCoordinatesChart__visual {
9803
+ display: block;
9804
+ }
9805
+
9806
+ .st-parallelCoordinatesChart__axis {
9807
+ stroke: var(--st-semantic-border-subtle);
9808
+ stroke-width: 1.5;
9809
+ }
9810
+
9811
+ .st-parallelCoordinatesChart__axisLabel {
9812
+ fill: var(--st-semantic-text-secondary);
9813
+ font-size: 0.6875rem;
9814
+ font-weight: 600;
9815
+ }
9816
+
9817
+ .st-parallelCoordinatesChart__tickLabel {
9818
+ fill: var(--st-semantic-text-secondary);
9819
+ font-size: 0.5625rem;
9820
+ }
9821
+
9822
+ .st-parallelCoordinatesChart__line {
9823
+ cursor: pointer;
9824
+ stroke-width: 1.5;
9825
+ stroke-opacity: 0.65;
9826
+ transition: stroke-opacity 120ms ease, stroke-width 120ms ease;
9827
+ }
9828
+
9829
+ .st-parallelCoordinatesChart__line--dim {
9830
+ stroke-opacity: 0.12;
9831
+ }
9832
+
9833
+ .st-parallelCoordinatesChart__line--active {
9834
+ stroke-opacity: 1;
9835
+ stroke-width: 2.5;
9836
+ }
9837
+
9838
+ @media (prefers-reduced-motion: reduce) {
9839
+ .st-parallelCoordinatesChart__line {
9840
+ transition: none;
9841
+ }
9842
+ }
9843
+
9844
+ .st-parallelCoordinatesChart__line--category1 { stroke: var(--st-semantic-data-category1); }
9845
+ .st-parallelCoordinatesChart__line--category2 { stroke: var(--st-semantic-data-category2); }
9846
+ .st-parallelCoordinatesChart__line--category3 { stroke: var(--st-semantic-data-category3); }
9847
+ .st-parallelCoordinatesChart__line--category4 { stroke: var(--st-semantic-data-category4); }
9848
+ .st-parallelCoordinatesChart__line--category5 { stroke: var(--st-semantic-data-category5); }
9849
+ .st-parallelCoordinatesChart__line--category6 { stroke: var(--st-semantic-data-category6); }
9850
+ .st-parallelCoordinatesChart__line--category7 { stroke: var(--st-semantic-data-category7); }
9851
+ .st-parallelCoordinatesChart__line--category8 { stroke: var(--st-semantic-data-category8); }
9852
+
9853
+ /* ── BumpChart (lot-3) ── */
9854
+ .st-bumpChart {
9855
+ color: var(--st-semantic-text-secondary);
9856
+ display: block;
9857
+ font-family: inherit;
9858
+ position: relative;
9859
+ width: 100%;
9860
+ }
9861
+
9862
+ .st-bumpChart svg {
9863
+ display: block;
9864
+ overflow: visible;
9865
+ }
9866
+
9867
+ .st-bumpChart__visual {
9868
+ display: block;
9869
+ }
9870
+
9871
+ .st-bumpChart__grid {
9872
+ stroke: var(--st-semantic-border-subtle);
9873
+ stroke-dasharray: 2 3;
9874
+ stroke-width: 1;
9875
+ opacity: 0.5;
9876
+ }
9877
+
9878
+ .st-bumpChart__rankLabel,
9879
+ .st-bumpChart__catLabel,
9880
+ .st-bumpChart__seriesLabel {
9881
+ fill: var(--st-semantic-text-secondary);
9882
+ font-size: 0.6875rem;
9883
+ }
9884
+
9885
+ .st-bumpChart__line {
9886
+ cursor: pointer;
9887
+ stroke-width: 2;
9888
+ stroke-opacity: 0.7;
9889
+ transition: stroke-opacity 120ms ease, stroke-width 120ms ease;
9890
+ }
9891
+
9892
+ .st-bumpChart__line--dim {
9893
+ stroke-opacity: 0.12;
9894
+ }
9895
+
9896
+ .st-bumpChart__line--active {
9897
+ stroke-opacity: 1;
9898
+ stroke-width: 3;
9899
+ }
9900
+
9901
+ @media (prefers-reduced-motion: reduce) {
9902
+ .st-bumpChart__line {
9903
+ transition: none;
9904
+ }
9905
+ }
9906
+
9907
+ .st-bumpChart__dot {
9908
+ cursor: pointer;
9909
+ stroke: var(--st-semantic-surface-default, Canvas);
9910
+ stroke-width: 1.5;
9911
+ transition: r 120ms ease;
9912
+ }
9913
+
9914
+ .st-bumpChart__dot--dim {
9915
+ opacity: 0.15;
9916
+ }
9917
+
9918
+ @media (prefers-reduced-motion: reduce) {
9919
+ .st-bumpChart__dot {
9920
+ transition: none;
9921
+ }
9922
+ }
9923
+
9924
+ .st-bumpChart__line--category1 { stroke: var(--st-semantic-data-category1); }
9925
+ .st-bumpChart__line--category2 { stroke: var(--st-semantic-data-category2); }
9926
+ .st-bumpChart__line--category3 { stroke: var(--st-semantic-data-category3); }
9927
+ .st-bumpChart__line--category4 { stroke: var(--st-semantic-data-category4); }
9928
+ .st-bumpChart__line--category5 { stroke: var(--st-semantic-data-category5); }
9929
+ .st-bumpChart__line--category6 { stroke: var(--st-semantic-data-category6); }
9930
+ .st-bumpChart__line--category7 { stroke: var(--st-semantic-data-category7); }
9931
+ .st-bumpChart__line--category8 { stroke: var(--st-semantic-data-category8); }
9932
+
9933
+ .st-bumpChart__dot--category1 { fill: var(--st-semantic-data-category1); }
9934
+ .st-bumpChart__dot--category2 { fill: var(--st-semantic-data-category2); }
9935
+ .st-bumpChart__dot--category3 { fill: var(--st-semantic-data-category3); }
9936
+ .st-bumpChart__dot--category4 { fill: var(--st-semantic-data-category4); }
9937
+ .st-bumpChart__dot--category5 { fill: var(--st-semantic-data-category5); }
9938
+ .st-bumpChart__dot--category6 { fill: var(--st-semantic-data-category6); }
9939
+ .st-bumpChart__dot--category7 { fill: var(--st-semantic-data-category7); }
9940
+ .st-bumpChart__dot--category8 { fill: var(--st-semantic-data-category8); }
9941
+
9942
+ /* ---------------------------------------------------------------------------
9943
+ FilterPill
9944
+ --------------------------------------------------------------------------- */
9945
+
9946
+ .st-filterPill {
9947
+ align-items: center;
9948
+ border-radius: var(--st-radius-pill, 999px);
9949
+ display: inline-flex;
9950
+ font-size: 0.8125rem;
9951
+ font-weight: 500;
9952
+ gap: 0;
9953
+ line-height: 1;
9954
+ transition:
9955
+ background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
9956
+ color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
9957
+ user-select: none;
9958
+ }
9959
+
9960
+ .st-filterPill--neutral {
9961
+ background: var(--st-semantic-surface-subtle, #f8fafc);
9962
+ color: var(--st-semantic-text-secondary, #475569);
9963
+ border: 1px solid var(--st-semantic-border-interactive, #cbd5e1);
9964
+ }
9965
+
9966
+ .st-filterPill--success {
9967
+ background: color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 12%, white);
9968
+ color: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
9969
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 40%, white);
9970
+ }
9971
+
9972
+ .st-filterPill--warning {
9973
+ background: color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 12%, white);
9974
+ color: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
9975
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 40%, white);
9976
+ }
9977
+
9978
+ .st-filterPill--error {
9979
+ background: color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 12%, white);
9980
+ color: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
9981
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 40%, white);
9982
+ }
9983
+
9984
+ .st-filterPill--info {
9985
+ background: color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 12%, white);
9986
+ color: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
9987
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 40%, white);
9988
+ }
9989
+
9990
+ .st-filterPill--neutral.st-filterPill--active {
9991
+ background: var(--st-component-filterPill-activeBackground, color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 12%, white));
9992
+ color: var(--st-component-filterPill-activeText, color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 78%, black));
9993
+ border-color: color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 50%, white);
9994
+ }
9995
+
9996
+ .st-filterPill--success.st-filterPill--active {
9997
+ background: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
9998
+ color: white;
9999
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10000
+ }
10001
+
10002
+ .st-filterPill--warning.st-filterPill--active {
10003
+ background: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10004
+ color: white;
10005
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10006
+ }
10007
+
10008
+ .st-filterPill--error.st-filterPill--active {
10009
+ background: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10010
+ color: white;
10011
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10012
+ }
10013
+
10014
+ .st-filterPill--info.st-filterPill--active {
10015
+ background: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10016
+ color: white;
10017
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10018
+ }
10019
+
10020
+ @supports not (color: color-mix(in oklch, red, blue)) {
10021
+ .st-filterPill--neutral.st-filterPill--active {
10022
+ background: var(--st-component-filterPill-activeBackground, var(--st-semantic-surface-subtle, #eef2ff));
10023
+ color: var(--st-component-filterPill-activeText, var(--st-semantic-action-primary, #1d4ed8));
10024
+ }
10025
+ .st-filterPill--success.st-filterPill--active { background: var(--st-semantic-feedback-success, #16a34a); color: white; }
10026
+ .st-filterPill--warning.st-filterPill--active { background: var(--st-semantic-feedback-warning, #d97706); color: white; }
10027
+ .st-filterPill--error.st-filterPill--active { background: var(--st-semantic-feedback-error, #dc2626); color: white; }
10028
+ .st-filterPill--info.st-filterPill--active { background: var(--st-semantic-feedback-info, #2563eb); color: white; }
10029
+ }
10030
+
10031
+ .st-filterPill--disabled {
10032
+ cursor: var(--st-cursor-disabled, not-allowed);
10033
+ opacity: 0.55;
10034
+ }
10035
+
10036
+ .st-filterPill__body {
10037
+ align-items: center;
10038
+ background: transparent;
10039
+ border: 0;
10040
+ border-radius: var(--st-radius-pill, 999px) 0 0 var(--st-radius-pill, 999px);
10041
+ color: inherit;
10042
+ cursor: var(--st-cursor-interactive, pointer);
10043
+ display: inline-flex;
10044
+ font: inherit;
10045
+ gap: var(--st-spacing-1, 0.25rem);
10046
+ line-height: 1;
10047
+ padding: 0.3125rem var(--st-spacing-1, 0.25rem) 0.3125rem var(--st-spacing-2, 0.5rem);
10048
+ transition:
10049
+ background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10050
+ color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10051
+ }
10052
+
10053
+ .st-filterPill__body--static {
10054
+ cursor: default;
10055
+ padding: 0.3125rem var(--st-spacing-2, 0.5rem);
10056
+ border-radius: var(--st-radius-pill, 999px);
10057
+ }
10058
+
10059
+ .st-filterPill:has(.st-filterPill__remove) .st-filterPill__body--static {
10060
+ border-radius: var(--st-radius-pill, 999px) 0 0 var(--st-radius-pill, 999px);
10061
+ padding-right: var(--st-spacing-1, 0.25rem);
10062
+ }
10063
+
10064
+ .st-filterPill__body:not(:disabled):hover { opacity: 0.88; }
10065
+
10066
+ .st-filterPill__body:focus-visible {
10067
+ outline: 2px solid var(--st-semantic-border-interactive, var(--st-semantic-action-primary, #2563eb));
10068
+ outline-offset: 2px;
10069
+ border-radius: var(--st-radius-pill, 999px);
10070
+ z-index: 1;
10071
+ position: relative;
10072
+ }
10073
+
10074
+ .st-filterPill__body:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10075
+
10076
+ .st-filterPill__operator {
10077
+ color: var(--st-semantic-text-muted, #64748b);
10078
+ font-size: 0.75em;
10079
+ font-style: italic;
10080
+ margin-inline: 0.125rem;
10081
+ }
10082
+
10083
+ .st-filterPill__value {
10084
+ max-width: 12rem;
10085
+ overflow: hidden;
10086
+ text-overflow: ellipsis;
10087
+ white-space: nowrap;
10088
+ }
10089
+
10090
+ .st-filterPill__remove {
10091
+ align-items: center;
10092
+ background: transparent;
10093
+ border: 0;
10094
+ border-radius: 0 var(--st-radius-pill, 999px) var(--st-radius-pill, 999px) 0;
10095
+ color: inherit;
10096
+ cursor: pointer;
10097
+ display: inline-flex;
10098
+ font: inherit;
10099
+ height: 100%;
10100
+ justify-content: center;
10101
+ line-height: 1;
10102
+ padding: 0.3125rem var(--st-spacing-2, 0.5rem) 0.3125rem var(--st-spacing-1, 0.25rem);
10103
+ transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10104
+ min-width: 1.75rem;
10105
+ }
10106
+
10107
+ .st-filterPill__remove:hover:not(:disabled) {
10108
+ background: color-mix(in srgb, currentColor 12%, transparent);
10109
+ }
10110
+
10111
+ .st-filterPill__remove:focus-visible {
10112
+ outline: 2px solid currentColor;
10113
+ outline-offset: 1px;
10114
+ border-radius: var(--st-radius-pill, 999px);
10115
+ z-index: 1;
10116
+ position: relative;
10117
+ }
10118
+
10119
+ .st-filterPill__remove:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10120
+
10121
+ @media (prefers-reduced-motion: reduce) {
10122
+ .st-filterPill,
10123
+ .st-filterPill__body,
10124
+ .st-filterPill__remove { transition: none; }
10125
+ }
10126
+
10127
+ /* ---------------------------------------------------------------------------
10128
+ FilterBar
10129
+ --------------------------------------------------------------------------- */
10130
+
10131
+ .st-filterBar {
10132
+ align-items: flex-start;
10133
+ display: flex;
10134
+ flex-wrap: wrap;
10135
+ gap: var(--st-spacing-2, 0.5rem);
10136
+ }
10137
+
10138
+ .st-filterBar__pills {
10139
+ align-items: center;
10140
+ display: flex;
10141
+ flex: 1 1 auto;
10142
+ flex-wrap: wrap;
10143
+ gap: var(--st-spacing-2, 0.5rem);
10144
+ }
10145
+
10146
+ .st-filterBar__clearAll {
10147
+ align-items: center;
10148
+ background: transparent;
10149
+ border: 0;
10150
+ border-radius: var(--st-radius-md, 0.375rem);
10151
+ color: var(--st-semantic-text-link, #2563eb);
10152
+ cursor: var(--st-cursor-interactive, pointer);
10153
+ display: inline-flex;
10154
+ font: inherit;
10155
+ font-size: 0.8125rem;
10156
+ gap: var(--st-spacing-1, 0.25rem);
10157
+ padding: 0.3125rem var(--st-spacing-2, 0.5rem);
10158
+ transition:
10159
+ background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10160
+ color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10161
+ white-space: nowrap;
10162
+ }
10163
+
10164
+ .st-filterBar__clearAll:hover {
10165
+ background: var(--st-semantic-surface-subtle, #f8fafc);
10166
+ color: var(--st-semantic-action-primaryHover, #1d4ed8);
10167
+ }
10168
+
10169
+ .st-filterBar__clearAll:focus-visible {
10170
+ outline: 2px solid var(--st-semantic-border-interactive, #2563eb);
10171
+ outline-offset: 2px;
10172
+ }
10173
+
10174
+ @media (prefers-reduced-motion: reduce) {
10175
+ .st-filterBar__clearAll { transition: none; }
10176
+ }
10177
+
10178
+ /* ---------------------------------------------------------------------------
10179
+ SelectionChip
10180
+ --------------------------------------------------------------------------- */
10181
+
10182
+ .st-selectionChip {
10183
+ align-items: center;
10184
+ border-radius: var(--st-radius-pill, 999px);
10185
+ display: inline-flex;
10186
+ font-size: 0.75rem;
10187
+ font-weight: 600;
10188
+ gap: var(--st-spacing-1, 0.25rem);
10189
+ line-height: 1;
10190
+ padding: 0.25rem var(--st-spacing-2, 0.5rem);
10191
+ }
10192
+
10193
+ .st-selectionChip--neutral {
10194
+ background: var(--st-semantic-surface-subtle, #f8fafc);
10195
+ color: var(--st-semantic-text-secondary, #475569);
10196
+ }
10197
+
10198
+ .st-selectionChip--success {
10199
+ background: color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 14%, white);
10200
+ color: var(--st-semantic-feedback-success, #16a34a);
10201
+ }
10202
+
10203
+ .st-selectionChip--warning {
10204
+ background: color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 14%, white);
10205
+ color: var(--st-semantic-feedback-warning, #d97706);
10206
+ }
10207
+
10208
+ .st-selectionChip--error {
10209
+ background: color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 14%, white);
10210
+ color: var(--st-semantic-feedback-error, #dc2626);
10211
+ }
10212
+
10213
+ .st-selectionChip--info {
10214
+ background: color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 14%, white);
10215
+ color: var(--st-semantic-feedback-info, #2563eb);
10216
+ }
10217
+
10218
+ .st-selectionChip--disabled {
10219
+ cursor: var(--st-cursor-disabled, not-allowed);
10220
+ opacity: 0.55;
10221
+ }
10222
+
10223
+ .st-selectionChip__count {
10224
+ color: inherit;
10225
+ opacity: 0.75;
10226
+ }
10227
+
10228
+ .st-selectionChip__clear {
10229
+ align-items: center;
10230
+ background: transparent;
10231
+ border: 0;
10232
+ border-radius: 50%;
10233
+ color: inherit;
10234
+ cursor: pointer;
10235
+ display: inline-flex;
10236
+ font: inherit;
10237
+ font-size: 1em;
10238
+ height: 1.25em;
10239
+ justify-content: center;
10240
+ line-height: 1;
10241
+ margin-inline-start: 0.0625rem;
10242
+ padding: 0;
10243
+ transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10244
+ width: 1.25em;
10245
+ }
10246
+
10247
+ .st-selectionChip__clear:hover:not(:disabled) {
10248
+ background: var(--st-semantic-surface-subtle, #f1f5f9);
10249
+ }
10250
+
10251
+ .st-selectionChip__clear:focus-visible {
10252
+ outline: 2px solid currentColor;
10253
+ outline-offset: 1px;
10254
+ }
10255
+
10256
+ .st-selectionChip__clear:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10257
+
10258
+ @media (prefers-reduced-motion: reduce) {
10259
+ .st-selectionChip__clear { transition: none; }
10260
+ }