@scalewing/react 1.37.0 → 1.39.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 (117) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +91 -1
  3. package/dist/accessible-name.d.ts +13 -0
  4. package/dist/accessible-name.js +1 -0
  5. package/dist/chart-axis.d.ts +61 -0
  6. package/dist/chart-axis.js +83 -0
  7. package/dist/chart-dates.d.ts +6 -0
  8. package/dist/chart-dates.js +15 -0
  9. package/dist/chart-metrics.d.ts +40 -0
  10. package/dist/chart-metrics.js +48 -0
  11. package/dist/chart-scale.d.ts +48 -0
  12. package/dist/chart-scale.js +116 -0
  13. package/dist/chart-table-rows.d.ts +8 -0
  14. package/dist/chart-table-rows.js +1 -0
  15. package/dist/column-chart-bars.d.ts +38 -0
  16. package/dist/column-chart-bars.js +82 -0
  17. package/dist/column-chart-callouts.d.ts +48 -0
  18. package/dist/column-chart-callouts.js +54 -0
  19. package/dist/column-chart-input.d.ts +40 -0
  20. package/dist/column-chart-input.js +60 -0
  21. package/dist/column-chart-layout.d.ts +63 -0
  22. package/dist/column-chart-layout.js +97 -0
  23. package/dist/components/BarChart.d.ts +1 -1
  24. package/dist/components/BarChart.js +1 -1
  25. package/dist/components/ChartLegend.d.ts +38 -0
  26. package/dist/components/ChartLegend.js +32 -0
  27. package/dist/components/ColumnChart.d.ts +72 -0
  28. package/dist/components/ColumnChart.js +71 -0
  29. package/dist/components/DataBar.d.ts +48 -0
  30. package/dist/components/DataBar.js +28 -0
  31. package/dist/components/LineChart.d.ts +83 -0
  32. package/dist/components/LineChart.js +77 -0
  33. package/dist/components/Pagination.d.ts +34 -0
  34. package/dist/components/Pagination.js +27 -0
  35. package/dist/components/ScrollRegion.d.ts +9 -5
  36. package/dist/components/ScrollRegion.js +8 -6
  37. package/dist/components/SectionNav.d.ts +2 -8
  38. package/dist/components/SegmentedControl.d.ts +2 -8
  39. package/dist/components/Table.d.ts +48 -4
  40. package/dist/components/Table.js +9 -3
  41. package/dist/components/Tabs.d.ts +2 -9
  42. package/dist/components/chart/ChartTable.d.ts +16 -0
  43. package/dist/components/chart/ChartTable.js +12 -0
  44. package/dist/components/chart/ChartValueAxis.d.ts +14 -0
  45. package/dist/components/chart/ChartValueAxis.js +11 -0
  46. package/dist/components/chart/use-chart-width.d.ts +8 -0
  47. package/dist/components/chart/use-chart-width.js +34 -0
  48. package/dist/components/column-chart/ChartCalloutList.d.ts +16 -0
  49. package/dist/components/column-chart/ChartCalloutList.js +13 -0
  50. package/dist/components/column-chart/ColumnChartDrawing.d.ts +17 -0
  51. package/dist/components/column-chart/ColumnChartDrawing.js +18 -0
  52. package/dist/components/line-chart/LineChartDrawing.d.ts +17 -0
  53. package/dist/components/line-chart/LineChartDrawing.js +16 -0
  54. package/dist/components/table/TableRow.d.ts +8 -2
  55. package/dist/components/table/TableRow.js +1 -1
  56. package/dist/components/table/table-max-height.d.ts +20 -0
  57. package/dist/components/table/table-max-height.js +23 -0
  58. package/dist/components/use-scroll-overflow.d.ts +10 -8
  59. package/dist/components/use-scroll-overflow.js +23 -10
  60. package/dist/css/chart-marks.d.ts +10 -0
  61. package/dist/css/chart-marks.js +15 -0
  62. package/dist/css/chart-tones.d.ts +68 -0
  63. package/dist/css/chart-tones.js +130 -0
  64. package/dist/css/chevron.d.ts +6 -3
  65. package/dist/css/chevron.js +9 -4
  66. package/dist/css/{css-chart.d.ts → css-bar-chart.d.ts} +2 -2
  67. package/dist/css/{css-chart.js → css-bar-chart.js} +2 -2
  68. package/dist/css/css-chart-legend.d.ts +5 -0
  69. package/dist/css/css-chart-legend.js +102 -0
  70. package/dist/css/css-chart-plot.d.ts +2 -0
  71. package/dist/css/css-chart-plot.js +170 -0
  72. package/dist/css/css-components.js +20 -2
  73. package/dist/css/css-data-bar.d.ts +11 -0
  74. package/dist/css/css-data-bar.js +91 -0
  75. package/dist/css/css-line-chart.d.ts +2 -0
  76. package/dist/css/css-line-chart.js +31 -0
  77. package/dist/css/css-pagination.d.ts +2 -0
  78. package/dist/css/css-pagination.js +63 -0
  79. package/dist/css/css-scroll-region.d.ts +1 -0
  80. package/dist/css/css-scroll-region.js +10 -5
  81. package/dist/css/css-table-bounded-edges.d.ts +1 -0
  82. package/dist/css/css-table-bounded-edges.js +132 -0
  83. package/dist/css/css-table-bounded.d.ts +2 -0
  84. package/dist/css/css-table-bounded.js +73 -0
  85. package/dist/css/css-table-ledger.d.ts +5 -2
  86. package/dist/css/css-table-ledger.js +5 -2
  87. package/dist/css/css-table-metrics.d.ts +14 -0
  88. package/dist/css/css-table-metrics.js +13 -0
  89. package/dist/css/css-table-sort.js +2 -1
  90. package/dist/css/css-table-total-row.d.ts +2 -0
  91. package/dist/css/css-table-total-row.js +29 -0
  92. package/dist/css/css-table.js +14 -3
  93. package/dist/css/stylesheet.js +14 -2
  94. package/dist/data-bar-geometry.d.ts +24 -0
  95. package/dist/data-bar-geometry.js +41 -0
  96. package/dist/index.d.ts +6 -1
  97. package/dist/index.js +5 -0
  98. package/dist/is-one-of.d.ts +5 -0
  99. package/dist/is-one-of.js +7 -0
  100. package/dist/line-chart-input.d.ts +39 -0
  101. package/dist/line-chart-input.js +70 -0
  102. package/dist/line-chart-layout.d.ts +68 -0
  103. package/dist/line-chart-layout.js +99 -0
  104. package/dist/line-chart-markers.d.ts +29 -0
  105. package/dist/line-chart-markers.js +57 -0
  106. package/dist/line-chart-path.d.ts +18 -0
  107. package/dist/line-chart-path.js +33 -0
  108. package/dist/line-chart-points.d.ts +6 -0
  109. package/dist/line-chart-points.js +8 -0
  110. package/dist/line-chart-table.d.ts +15 -0
  111. package/dist/line-chart-table.js +29 -0
  112. package/dist/pagination-pages.d.ts +13 -0
  113. package/dist/pagination-pages.js +22 -0
  114. package/dist/scroll-overflow.d.ts +12 -0
  115. package/dist/scroll-overflow.js +31 -7
  116. package/dist/styles.css +442 -0
  117. package/package.json +1 -1
package/dist/styles.css CHANGED
@@ -1833,6 +1833,15 @@ body {
1833
1833
  .sw-table-row-sub > th[scope='row']::after { border-color: CanvasText; }
1834
1834
  }
1835
1835
 
1836
+ .sw-table .sw-table-row-total > :is(th, td) {
1837
+ border-top: 2px solid var(--sw-color-border);
1838
+ font-weight: 600;
1839
+ }
1840
+
1841
+ @media (forced-colors: active) {
1842
+ .sw-table .sw-table-row-total > :is(th, td) { border-top-color: CanvasText; }
1843
+ }
1844
+
1836
1845
  .sw-table tfoot :is(th, td) {
1837
1846
  font-weight: 600;
1838
1847
  position: relative;
@@ -1868,6 +1877,121 @@ body {
1868
1877
  overflow: visible;
1869
1878
  }
1870
1879
 
1880
+ .sw-table-bounded {
1881
+ --sw-table-cell-pad: var(--sw-space-2);
1882
+ --sw-table-head-block: 0px;
1883
+ --sw-table-foot-rows: 0;
1884
+ max-height: calc((var(--sw-table-max-rows) + var(--sw-table-foot-rows)) * (25px + 2 * var(--sw-table-cell-pad) + 1px) + var(--sw-table-head-block));
1885
+ }
1886
+
1887
+ .sw-table-bounded:has(> .sw-table-compact) {
1888
+ --sw-table-cell-pad: var(--sw-space-1);
1889
+ }
1890
+
1891
+ .sw-table-bounded:has(> .sw-table > thead) {
1892
+ --sw-table-head-block: calc(18px + 2 * var(--sw-table-cell-pad));
1893
+ }
1894
+
1895
+ .sw-table-bounded:has(> .sw-table > thead .sw-table-sort) {
1896
+ --sw-table-head-block: calc(max(18px, var(--sw-control-xs-min-height)) + 2 * var(--sw-table-cell-pad));
1897
+ }
1898
+
1899
+ @media (pointer: coarse) {
1900
+ .sw-table-bounded:has(> .sw-table > thead .sw-table-sort) {
1901
+ --sw-table-head-block: calc(max(18px, var(--sw-control-md-min-height)) + 2 * var(--sw-table-cell-pad));
1902
+ }
1903
+ }
1904
+
1905
+ .sw-table-bounded:has(> .sw-table > tfoot) {
1906
+ --sw-table-foot-rows: 1;
1907
+ }
1908
+
1909
+ @media print {
1910
+ .sw-table-bounded { max-height: none; }
1911
+ }
1912
+
1913
+ .sw-table-bounded.sw-scroll-more-top > .sw-table-sticky > thead > tr:last-child > :is(th, td)::before {
1914
+ background: linear-gradient(to bottom, color-mix(in srgb, var(--sw-color-text) 28%, transparent), transparent);
1915
+ border-bottom: 0;
1916
+ border-top: 1px solid var(--sw-color-border);
1917
+ box-sizing: border-box;
1918
+ height: var(--sw-space-5);
1919
+ inset-block-end: auto;
1920
+ inset-block-start: calc(100% - 1px);
1921
+ }
1922
+
1923
+ .sw-table-bounded.sw-scroll-more-bottom > .sw-table > .sw-table-footer-sticky > tr:first-child > :is(th, td)::before {
1924
+ background: linear-gradient(to top, color-mix(in srgb, var(--sw-color-text) 28%, transparent), transparent);
1925
+ border-bottom: 2px solid var(--sw-color-border);
1926
+ border-top: 0;
1927
+ box-sizing: border-box;
1928
+ height: var(--sw-space-5);
1929
+ inset-block-end: calc(100% - 1px);
1930
+ inset-block-start: auto;
1931
+ }
1932
+
1933
+ .sw-table-bounded.sw-scroll-more-top:not(:has(> .sw-table > thead)),
1934
+ .sw-table-bounded.sw-scroll-more-bottom:not(:has(> .sw-table > .sw-table-footer-sticky)) {
1935
+ background-repeat: no-repeat;
1936
+ background-size: 100% var(--sw-space-5);
1937
+ }
1938
+
1939
+ .sw-table-bounded.sw-scroll-more-top:not(:has(> .sw-table > thead)) {
1940
+ background-image: linear-gradient(to bottom, color-mix(in srgb, var(--sw-color-text) 28%, transparent), transparent);
1941
+ background-position: top;
1942
+ }
1943
+
1944
+ .sw-table-bounded.sw-scroll-more-bottom:not(:has(> .sw-table > .sw-table-footer-sticky)) {
1945
+ background-image: linear-gradient(to top, color-mix(in srgb, var(--sw-color-text) 28%, transparent), transparent);
1946
+ background-position: bottom;
1947
+ }
1948
+
1949
+ .sw-table-bounded.sw-scroll-more-top.sw-scroll-more-bottom:not(:has(> .sw-table > thead)):not(:has(> .sw-table > .sw-table-footer-sticky)) {
1950
+ background-image: linear-gradient(to bottom, color-mix(in srgb, var(--sw-color-text) 28%, transparent), transparent), linear-gradient(to top, color-mix(in srgb, var(--sw-color-text) 28%, transparent), transparent);
1951
+ background-position: top, bottom;
1952
+ }
1953
+
1954
+ @media (forced-colors: active) {
1955
+ .sw-table-bounded.sw-scroll-more-top > .sw-table-sticky > thead > tr:last-child > :is(th, td)::before,
1956
+ .sw-table-bounded.sw-scroll-more-bottom > .sw-table > .sw-table-footer-sticky > tr:first-child > :is(th, td)::before { background: none; border-color: CanvasText; }
1957
+ .sw-table-bounded.sw-scroll-more-top:not(:has(> .sw-table > thead)),
1958
+ .sw-table-bounded.sw-scroll-more-bottom:not(:has(> .sw-table > .sw-table-footer-sticky)),
1959
+ .sw-table-bounded.sw-scroll-more-top.sw-scroll-more-bottom:not(:has(> .sw-table > thead)):not(:has(> .sw-table > .sw-table-footer-sticky)) { background-image: none; }
1960
+ }
1961
+
1962
+ .sw-table-bounded:focus-visible > .sw-table-sticky > thead > tr > :is(th, td),
1963
+ .sw-table-bounded:focus-visible > .sw-table > .sw-table-footer-sticky > tr > :is(th, td) {
1964
+ box-shadow: var(--sw-table-ring-block, 0 0 transparent), var(--sw-table-ring-start, 0 0 transparent), var(--sw-table-ring-end, 0 0 transparent);
1965
+ }
1966
+
1967
+ .sw-table-bounded:focus-visible > .sw-table-sticky > thead > tr:first-child > :is(th, td) {
1968
+ --sw-table-ring-block: inset 0 var(--sw-focus-ring-width) 0 0 var(--sw-color-accent);
1969
+ }
1970
+
1971
+ .sw-table-bounded:focus-visible > .sw-table > .sw-table-footer-sticky > tr:last-child > :is(th, td) {
1972
+ --sw-table-ring-block: inset 0 calc(-1 * var(--sw-focus-ring-width)) 0 0 var(--sw-color-accent);
1973
+ }
1974
+
1975
+ .sw-table-bounded:focus-visible > .sw-table-sticky > thead > tr > :first-child,
1976
+ .sw-table-bounded:focus-visible > .sw-table > .sw-table-footer-sticky > tr > :first-child {
1977
+ --sw-table-ring-start: inset var(--sw-focus-ring-width) 0 0 0 var(--sw-color-accent);
1978
+ }
1979
+
1980
+ .sw-table-bounded:focus-visible > .sw-table-sticky > thead > tr > :last-child,
1981
+ .sw-table-bounded:focus-visible > .sw-table > .sw-table-footer-sticky > tr > :last-child {
1982
+ --sw-table-ring-end: inset calc(-1 * var(--sw-focus-ring-width)) 0 0 0 var(--sw-color-accent);
1983
+ }
1984
+
1985
+ .sw-table-bounded:focus-visible > .sw-table-sticky > thead > tr > :first-child:dir(rtl),
1986
+ .sw-table-bounded:focus-visible > .sw-table > .sw-table-footer-sticky > tr > :first-child:dir(rtl) {
1987
+ --sw-table-ring-start: inset calc(-1 * var(--sw-focus-ring-width)) 0 0 0 var(--sw-color-accent);
1988
+ }
1989
+
1990
+ .sw-table-bounded:focus-visible > .sw-table-sticky > thead > tr > :last-child:dir(rtl),
1991
+ .sw-table-bounded:focus-visible > .sw-table > .sw-table-footer-sticky > tr > :last-child:dir(rtl) {
1992
+ --sw-table-ring-end: inset var(--sw-focus-ring-width) 0 0 0 var(--sw-color-accent);
1993
+ }
1994
+
1871
1995
  .sw-table-row-press {
1872
1996
  cursor: pointer;
1873
1997
  }
@@ -2405,6 +2529,324 @@ body {
2405
2529
  .sw-bar-chart-fill { background: CanvasText; }
2406
2530
  }
2407
2531
 
2532
+ .sw-data-bar {
2533
+ display: block;
2534
+ height: var(--sw-space-4);
2535
+ min-width: var(--sw-space-6);
2536
+ position: relative;
2537
+ width: 100%;
2538
+ }
2539
+
2540
+ .sw-data-bar-fill {
2541
+ border-radius: calc(var(--sw-radius-sm) / 2);
2542
+ inset-block: 0;
2543
+ inset-inline-start: calc(var(--sw-data-bar-start, 0) * 100%);
2544
+ position: absolute;
2545
+ width: calc(var(--sw-data-bar-size, 0) * 100%);
2546
+ }
2547
+
2548
+ .sw-data-bar-neutral > .sw-data-bar-fill { background: color-mix(in srgb, var(--sw-color-muted) 65%, var(--sw-color-surface)); }
2549
+ .sw-data-bar-success > .sw-data-bar-fill { background: color-mix(in srgb, var(--sw-color-success) 55%, var(--sw-color-surface)); }
2550
+ .sw-data-bar-muted > .sw-data-bar-fill { background: color-mix(in srgb, var(--sw-color-muted) 35%, var(--sw-color-surface)); }
2551
+ .sw-data-bar-strong > .sw-data-bar-fill { background: color-mix(in srgb, var(--sw-color-text) 85%, var(--sw-color-surface)); }
2552
+ .sw-data-bar-accent > .sw-data-bar-fill { background: var(--sw-color-accent); }
2553
+ .sw-data-bar-danger > .sw-data-bar-fill { background: color-mix(in srgb, var(--sw-color-danger) 40%, var(--sw-color-surface)); }
2554
+
2555
+ .sw-data-bar-diverging::before {
2556
+ background: var(--sw-color-border);
2557
+ content: '';
2558
+ inset-block: calc(-1 * var(--sw-space-1));
2559
+ inset-inline-start: calc(var(--sw-data-bar-zero, 0) * 100%);
2560
+ /* Centred on zero, mirrored right to left. */
2561
+ margin-inline-start: -0.5px;
2562
+ position: absolute;
2563
+ width: 1px;
2564
+ }
2565
+
2566
+ .sw-data-bar-zero-start > .sw-data-bar-fill {
2567
+ border-end-start-radius: 0;
2568
+ border-start-start-radius: 0;
2569
+ }
2570
+
2571
+ .sw-data-bar-zero-end > .sw-data-bar-fill {
2572
+ border-end-end-radius: 0;
2573
+ border-start-end-radius: 0;
2574
+ }
2575
+
2576
+ @media (forced-colors: active) {
2577
+ .sw-data-bar > .sw-data-bar-fill,
2578
+ .sw-data-bar-diverging::before { background: CanvasText; }
2579
+ }
2580
+
2581
+ .sw-chart-tone-green { --sw-chart-fill: color-mix(in srgb, var(--sw-categorical-green) 72%, var(--sw-color-surface)); --sw-chart-ink: color-mix(in srgb, var(--sw-categorical-green) 30%, var(--sw-color-text)); }
2582
+ .sw-chart-tone-blue { --sw-chart-fill: color-mix(in srgb, var(--sw-categorical-blue) 72%, var(--sw-color-surface)); --sw-chart-ink: color-mix(in srgb, var(--sw-categorical-blue) 30%, var(--sw-color-text)); }
2583
+ .sw-chart-tone-orange { --sw-chart-fill: color-mix(in srgb, var(--sw-categorical-orange) 72%, var(--sw-color-surface)); --sw-chart-ink: color-mix(in srgb, var(--sw-categorical-orange) 30%, var(--sw-color-text)); }
2584
+ .sw-chart-tone-purple { --sw-chart-fill: color-mix(in srgb, var(--sw-categorical-purple) 72%, var(--sw-color-surface)); --sw-chart-ink: color-mix(in srgb, var(--sw-categorical-purple) 30%, var(--sw-color-text)); }
2585
+ .sw-chart-tone-teal { --sw-chart-fill: color-mix(in srgb, var(--sw-categorical-teal) 72%, var(--sw-color-surface)); --sw-chart-ink: color-mix(in srgb, var(--sw-categorical-teal) 30%, var(--sw-color-text)); }
2586
+ .sw-chart-tone-rose { --sw-chart-fill: color-mix(in srgb, var(--sw-categorical-rose) 72%, var(--sw-color-surface)); --sw-chart-ink: color-mix(in srgb, var(--sw-categorical-rose) 30%, var(--sw-color-text)); }
2587
+ .sw-chart-tone-neutral { --sw-chart-fill: color-mix(in srgb, var(--sw-color-muted) 65%, var(--sw-color-surface)); --sw-chart-stroke: var(--sw-color-muted); --sw-chart-ink: var(--sw-color-muted); }
2588
+ .sw-chart-tone-success { --sw-chart-fill: color-mix(in srgb, var(--sw-color-success) 55%, var(--sw-color-surface)); --sw-chart-stroke: var(--sw-color-success); --sw-chart-ink: color-mix(in srgb, var(--sw-color-success) 50%, var(--sw-color-text)); }
2589
+ .sw-chart-tone-muted { --sw-chart-fill: color-mix(in srgb, var(--sw-color-muted) 35%, var(--sw-color-surface)); }
2590
+ .sw-chart-tone-strong { --sw-chart-fill: color-mix(in srgb, var(--sw-color-text) 85%, var(--sw-color-surface)); }
2591
+ .sw-chart-tone-accent { --sw-chart-fill: var(--sw-color-accent); --sw-chart-stroke: var(--sw-color-accent); --sw-chart-ink: color-mix(in srgb, var(--sw-color-accent) 50%, var(--sw-color-text)); }
2592
+ .sw-chart-tone-danger { --sw-chart-fill: color-mix(in srgb, var(--sw-color-danger) 40%, var(--sw-color-surface)); --sw-chart-stroke: var(--sw-color-danger); --sw-chart-ink: color-mix(in srgb, var(--sw-color-danger) 50%, var(--sw-color-text)); }
2593
+ .sw-chart-tone-warning { --sw-chart-stroke: var(--sw-color-warning); --sw-chart-ink: color-mix(in srgb, var(--sw-color-warning) 50%, var(--sw-color-text)); }
2594
+
2595
+ .sw-chart-legend {
2596
+ color: var(--sw-color-text);
2597
+ column-gap: var(--sw-space-5);
2598
+ display: flex;
2599
+ flex-wrap: wrap;
2600
+ font-family: var(--sw-font-sans);
2601
+ font-size: 13px;
2602
+ font-weight: 400;
2603
+ letter-spacing: -0.08px;
2604
+ line-height: 18px;
2605
+ list-style: none;
2606
+ margin: 0;
2607
+ padding: 0;
2608
+ row-gap: var(--sw-space-2);
2609
+ }
2610
+
2611
+ .sw-chart-legend-item {
2612
+ align-items: flex-start;
2613
+ display: inline-flex;
2614
+ gap: var(--sw-space-2);
2615
+ min-width: 0;
2616
+ }
2617
+
2618
+ .sw-chart-legend-swatch {
2619
+ display: block;
2620
+ flex: none;
2621
+ /* Centred on the first line of the words, however many lines they wrap to. */
2622
+ margin-block-start: calc((18px - var(--sw-space-3)) / 2);
2623
+ }
2624
+
2625
+ .sw-chart-legend-line {
2626
+ margin-block-start: calc((18px - 2px) / 2);
2627
+ }
2628
+
2629
+ .sw-chart-legend-bar {
2630
+ background: var(--sw-chart-fill);
2631
+ border-radius: calc(var(--sw-radius-sm) / 4);
2632
+ height: var(--sw-space-3);
2633
+ width: var(--sw-space-3);
2634
+ }
2635
+
2636
+ .sw-chart-legend-line {
2637
+ background: var(--sw-chart-stroke);
2638
+ border-radius: var(--sw-radius-pill);
2639
+ height: 2px;
2640
+ width: var(--sw-space-4);
2641
+ }
2642
+
2643
+ .sw-chart-legend-marker {
2644
+ background: var(--sw-chart-stroke);
2645
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
2646
+ height: var(--sw-space-3);
2647
+ width: var(--sw-space-3);
2648
+ }
2649
+
2650
+ .sw-chart-legend-box {
2651
+ border: 1px dashed var(--sw-chart-stroke);
2652
+ border-radius: calc(var(--sw-radius-sm) / 2);
2653
+ box-sizing: border-box;
2654
+ height: var(--sw-space-3);
2655
+ width: var(--sw-space-4);
2656
+ }
2657
+
2658
+ @media (forced-colors: active) {
2659
+ .sw-chart-legend-bar,
2660
+ .sw-chart-legend-line,
2661
+ .sw-chart-legend-marker { background: CanvasText; }
2662
+ .sw-chart-legend-box { border-color: CanvasText; }
2663
+ }
2664
+
2665
+ .sw-chart {
2666
+ display: grid;
2667
+ gap: var(--sw-space-2);
2668
+ min-width: 0;
2669
+ }
2670
+
2671
+ .sw-chart-svg {
2672
+ display: block;
2673
+ font-family: var(--sw-font-sans);
2674
+ font-size: 13px;
2675
+ height: auto;
2676
+ letter-spacing: -0.08px;
2677
+ max-width: 100%;
2678
+ overflow: visible;
2679
+ width: 100%;
2680
+ }
2681
+
2682
+ .sw-chart-tick,
2683
+ .sw-chart-category {
2684
+ fill: var(--sw-color-muted);
2685
+ font-variant-numeric: tabular-nums;
2686
+ }
2687
+
2688
+ .sw-chart-tick-line { fill: var(--sw-chart-ink); }
2689
+
2690
+ .sw-chart-grid {
2691
+ stroke: var(--sw-color-border);
2692
+ stroke-width: 1;
2693
+ }
2694
+
2695
+ .sw-chart-zero {
2696
+ stroke: var(--sw-color-muted);
2697
+ stroke-width: 1;
2698
+ }
2699
+
2700
+ .sw-chart-highlight {
2701
+ fill: none;
2702
+ stroke: var(--sw-chart-stroke);
2703
+ stroke-dasharray: 3 3;
2704
+ stroke-width: 1;
2705
+ }
2706
+
2707
+ .sw-chart-line {
2708
+ fill: none;
2709
+ stroke: var(--sw-chart-stroke);
2710
+ stroke-linecap: round;
2711
+ stroke-linejoin: round;
2712
+ stroke-width: 2;
2713
+ }
2714
+
2715
+ .sw-chart-dot { fill: var(--sw-chart-stroke); }
2716
+
2717
+ .sw-chart-end-label {
2718
+ fill: var(--sw-chart-ink);
2719
+ font-variant-numeric: tabular-nums;
2720
+ font-weight: 600;
2721
+ }
2722
+
2723
+ .sw-chart-leader {
2724
+ stroke: var(--sw-chart-ink, var(--sw-color-text));
2725
+ stroke-dasharray: 2 2;
2726
+ stroke-width: 1;
2727
+ }
2728
+
2729
+ .sw-chart-callout-text {
2730
+ fill: var(--sw-chart-ink, var(--sw-color-text));
2731
+ font-weight: 600;
2732
+ }
2733
+
2734
+ .sw-chart-column { fill: var(--sw-chart-fill); }
2735
+
2736
+ .sw-chart-callouts {
2737
+ display: grid;
2738
+ font-family: var(--sw-font-sans);
2739
+ font-size: 13px;
2740
+ gap: var(--sw-space-1);
2741
+ letter-spacing: -0.08px;
2742
+ line-height: 18px;
2743
+ list-style: none;
2744
+ margin: 0;
2745
+ padding: 0;
2746
+ }
2747
+
2748
+ .sw-chart-callout {
2749
+ align-items: flex-start;
2750
+ color: var(--sw-chart-ink, var(--sw-color-text));
2751
+ display: flex;
2752
+ font-weight: 600;
2753
+ gap: var(--sw-space-2);
2754
+ }
2755
+
2756
+ .sw-chart-callout-dot {
2757
+ background: var(--sw-chart-fill, currentColor);
2758
+ border-radius: var(--sw-radius-pill);
2759
+ flex: none;
2760
+ height: var(--sw-space-2);
2761
+ margin-block-start: calc((18px - var(--sw-space-2)) / 2);
2762
+ width: var(--sw-space-2);
2763
+ }
2764
+
2765
+ @media (forced-colors: active) {
2766
+ .sw-chart-column { fill: CanvasText; stroke: Canvas; }
2767
+ .sw-chart-grid { stroke: GrayText; }
2768
+ .sw-chart-zero,
2769
+ .sw-chart-highlight,
2770
+ .sw-chart-leader { stroke: CanvasText; }
2771
+ .sw-chart-line { stroke: Highlight; }
2772
+ .sw-chart-dot,
2773
+ .sw-chart-end-label { fill: Highlight; }
2774
+ .sw-chart-tick,
2775
+ .sw-chart-category,
2776
+ .sw-chart-callout-text { fill: CanvasText; }
2777
+ .sw-chart-callout { color: CanvasText; }
2778
+ .sw-chart-callout-dot { background: CanvasText; }
2779
+ }
2780
+
2781
+ .sw-chart-area {
2782
+ fill: color-mix(in srgb, var(--sw-chart-stroke) 12%, transparent);
2783
+ }
2784
+
2785
+ .sw-chart-marker { fill: var(--sw-chart-stroke); }
2786
+
2787
+ .sw-chart-marker-label {
2788
+ fill: var(--sw-chart-ink);
2789
+ font-variant-numeric: tabular-nums;
2790
+ font-weight: 600;
2791
+ }
2792
+
2793
+ @media (forced-colors: active) {
2794
+ .sw-chart-area { fill: none; }
2795
+ .sw-chart-marker,
2796
+ .sw-chart-marker-label { fill: CanvasText; }
2797
+ }
2798
+
2799
+ .sw-pagination {
2800
+ align-items: center;
2801
+ display: flex;
2802
+ flex-wrap: wrap;
2803
+ gap: var(--sw-space-2) var(--sw-space-3);
2804
+ }
2805
+
2806
+ .sw-pagination-range {
2807
+ color: var(--sw-color-muted);
2808
+ font-family: var(--sw-font-sans);
2809
+ font-size: 13px;
2810
+ font-variant-numeric: tabular-nums;
2811
+ letter-spacing: -0.08px;
2812
+ line-height: 18px;
2813
+ }
2814
+
2815
+ .sw-pagination-steps {
2816
+ display: flex;
2817
+ gap: var(--sw-space-2);
2818
+ margin-inline-start: auto;
2819
+ }
2820
+
2821
+ .sw-button.sw-pagination-step {
2822
+ flex: none;
2823
+ padding-inline: 0;
2824
+ }
2825
+
2826
+ .sw-button-xs.sw-pagination-step { min-width: var(--sw-control-xs-min-height); }
2827
+ .sw-button-sm.sw-pagination-step { min-width: var(--sw-control-sm-min-height); }
2828
+ .sw-button-md.sw-pagination-step { min-width: var(--sw-control-md-min-height); }
2829
+
2830
+ @media (pointer: coarse) {
2831
+ .sw-button.sw-pagination-step {
2832
+ min-height: var(--sw-control-md-min-height);
2833
+ min-width: var(--sw-control-md-min-height);
2834
+ }
2835
+ }
2836
+
2837
+ .sw-pagination-glyph {
2838
+ border-bottom: 2px solid currentColor;
2839
+ border-right: 2px solid currentColor;
2840
+ box-sizing: border-box;
2841
+ height: var(--sw-space-2);
2842
+ width: var(--sw-space-2);
2843
+ display: block;
2844
+ }
2845
+
2846
+ .sw-pagination-glyph-previous { transform: translateX(25%) rotate(135deg); }
2847
+ .sw-pagination-glyph-next { transform: translateX(-25%) rotate(-45deg); }
2848
+ .sw-pagination-glyph:dir(rtl) { scale: -1 1; }
2849
+
2408
2850
  .sw-app-header {
2409
2851
  background: var(--sw-glass-fill);
2410
2852
  border: 1px solid var(--sw-glass-border);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scalewing/react",
3
- "version": "1.37.0",
3
+ "version": "1.39.0",
4
4
  "description": "Scalewing DOM components and package-owned CSS utilities.",
5
5
  "type": "module",
6
6
  "license": "MIT",