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