@genspectrum/dashboard-components 0.16.4 → 0.17.1

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 (58) hide show
  1. package/custom-elements.json +130 -74
  2. package/dist/{LineageFilterChangedEvent-COWV-Y0k.js → LineageFilterChangedEvent-DkvWdq_G.js} +2 -2
  3. package/dist/LineageFilterChangedEvent-DkvWdq_G.js.map +1 -0
  4. package/dist/components.d.ts +64 -48
  5. package/dist/components.js +858 -242
  6. package/dist/components.js.map +1 -1
  7. package/dist/style.css +391 -12
  8. package/dist/util.d.ts +23 -25
  9. package/dist/util.js +1 -1
  10. package/package.json +2 -1
  11. package/src/preact/components/clearable-select.stories.tsx +75 -0
  12. package/src/preact/components/clearable-select.tsx +76 -0
  13. package/src/preact/components/downshift-combobox.tsx +9 -7
  14. package/src/preact/dateRangeFilter/computeInitialValues.spec.ts +31 -33
  15. package/src/preact/dateRangeFilter/computeInitialValues.ts +2 -15
  16. package/src/preact/dateRangeFilter/date-picker.tsx +66 -0
  17. package/src/preact/dateRangeFilter/date-range-filter.stories.tsx +69 -31
  18. package/src/preact/dateRangeFilter/date-range-filter.tsx +136 -139
  19. package/src/preact/dateRangeFilter/dateRangeOption.ts +11 -11
  20. package/src/preact/mutationsOverTime/mutations-over-time-grid.tsx +133 -84
  21. package/src/preact/mutationsOverTime/mutations-over-time.stories.tsx +46 -16
  22. package/src/preact/mutationsOverTime/mutations-over-time.tsx +3 -0
  23. package/src/preact/shared/WithClassName/WithClassName.ts +1 -0
  24. package/src/preact/shared/icons/DeleteIcon.tsx +3 -0
  25. package/src/preact/shared/stories/expectOptionSelected.tsx +7 -0
  26. package/src/preact/shared/tanstackTable/pagination.tsx +132 -0
  27. package/src/preact/shared/tanstackTable/tanstackTable.tsx +43 -0
  28. package/src/preact/wastewater/mutationsOverTime/wastewater-mutations-over-time.stories.tsx +2 -1
  29. package/src/preact/wastewater/mutationsOverTime/wastewater-mutations-over-time.tsx +3 -5
  30. package/src/utilEntrypoint.ts +1 -1
  31. package/src/web-components/MutationAnnotations.mdx +33 -0
  32. package/src/web-components/ResizeContainer.mdx +1 -1
  33. package/src/web-components/errorHandling.mdx +1 -1
  34. package/src/web-components/gs-app.ts +2 -2
  35. package/src/web-components/input/gs-date-range-filter.stories.ts +38 -32
  36. package/src/web-components/input/gs-date-range-filter.tsx +8 -2
  37. package/src/web-components/input/gs-lineage-filter.tsx +1 -1
  38. package/src/web-components/input/gs-location-filter.tsx +1 -1
  39. package/src/web-components/input/gs-mutation-filter.tsx +1 -1
  40. package/src/web-components/input/gs-text-filter.tsx +1 -1
  41. package/src/web-components/visualization/gs-aggregate.tsx +2 -2
  42. package/src/web-components/visualization/gs-mutation-comparison.tsx +5 -2
  43. package/src/web-components/visualization/gs-mutations-over-time.spec-d.ts +39 -0
  44. package/src/web-components/visualization/gs-mutations-over-time.stories.ts +4 -0
  45. package/src/web-components/visualization/gs-mutations-over-time.tsx +13 -33
  46. package/src/web-components/visualization/gs-mutations.tsx +5 -2
  47. package/src/web-components/visualization/gs-number-sequences-over-time.tsx +2 -2
  48. package/src/web-components/visualization/gs-prevalence-over-time.tsx +2 -2
  49. package/src/web-components/visualization/gs-relative-growth-advantage.tsx +2 -2
  50. package/src/web-components/visualization/gs-sequences-by-location.tsx +2 -2
  51. package/src/web-components/visualization/gs-statistics.tsx +2 -2
  52. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.spec-d.ts +24 -0
  53. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.stories.ts +3 -3
  54. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.tsx +7 -38
  55. package/standalone-bundle/dashboard-components.js +18384 -16486
  56. package/standalone-bundle/dashboard-components.js.map +1 -1
  57. package/standalone-bundle/style.css +1 -1
  58. package/dist/LineageFilterChangedEvent-COWV-Y0k.js.map +0 -1
package/dist/style.css CHANGED
@@ -1068,16 +1068,22 @@ html {
1068
1068
  --tw-text-opacity: 1;
1069
1069
  }
1070
1070
 
1071
+ .\!table tr.hover:hover,
1072
+ .\!table tr.hover:nth-child(even):hover {
1073
+ --tw-bg-opacity: 1 !important;
1074
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))) !important;
1075
+ }
1076
+
1071
1077
  .table tr.hover:hover,
1072
1078
  .table tr.hover:nth-child(even):hover {
1073
1079
  --tw-bg-opacity: 1;
1074
1080
  background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
1075
1081
  }
1076
1082
 
1077
- .table-zebra tr.hover:hover,
1078
- .table-zebra tr.hover:nth-child(even):hover {
1079
- --tw-bg-opacity: 1;
1080
- background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));
1083
+ .\!table tr.hover:hover,
1084
+ .\!table tr.hover:nth-child(even):hover {
1085
+ --tw-bg-opacity: 1 !important;
1086
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))) !important;
1081
1087
  }
1082
1088
  }
1083
1089
  .btn {
@@ -1278,6 +1284,106 @@ html {
1278
1284
  }
1279
1285
  }
1280
1286
 
1287
+ .btn-outline:hover {
1288
+ --tw-border-opacity: 1;
1289
+ border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));
1290
+ --tw-bg-opacity: 1;
1291
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
1292
+ --tw-text-opacity: 1;
1293
+ color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity)));
1294
+ }
1295
+
1296
+ .btn-outline.btn-primary:hover {
1297
+ --tw-text-opacity: 1;
1298
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
1299
+ }
1300
+
1301
+ @supports (color: color-mix(in oklab, black, black)) {
1302
+
1303
+ .btn-outline.btn-primary:hover {
1304
+ background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
1305
+ border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
1306
+ }
1307
+ }
1308
+
1309
+ .btn-outline.btn-secondary:hover {
1310
+ --tw-text-opacity: 1;
1311
+ color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
1312
+ }
1313
+
1314
+ @supports (color: color-mix(in oklab, black, black)) {
1315
+
1316
+ .btn-outline.btn-secondary:hover {
1317
+ background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
1318
+ border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
1319
+ }
1320
+ }
1321
+
1322
+ .btn-outline.btn-accent:hover {
1323
+ --tw-text-opacity: 1;
1324
+ color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
1325
+ }
1326
+
1327
+ @supports (color: color-mix(in oklab, black, black)) {
1328
+
1329
+ .btn-outline.btn-accent:hover {
1330
+ background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
1331
+ border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
1332
+ }
1333
+ }
1334
+
1335
+ .btn-outline.btn-success:hover {
1336
+ --tw-text-opacity: 1;
1337
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
1338
+ }
1339
+
1340
+ @supports (color: color-mix(in oklab, black, black)) {
1341
+
1342
+ .btn-outline.btn-success:hover {
1343
+ background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
1344
+ border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
1345
+ }
1346
+ }
1347
+
1348
+ .btn-outline.btn-info:hover {
1349
+ --tw-text-opacity: 1;
1350
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
1351
+ }
1352
+
1353
+ @supports (color: color-mix(in oklab, black, black)) {
1354
+
1355
+ .btn-outline.btn-info:hover {
1356
+ background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
1357
+ border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
1358
+ }
1359
+ }
1360
+
1361
+ .btn-outline.btn-warning:hover {
1362
+ --tw-text-opacity: 1;
1363
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
1364
+ }
1365
+
1366
+ @supports (color: color-mix(in oklab, black, black)) {
1367
+
1368
+ .btn-outline.btn-warning:hover {
1369
+ background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
1370
+ border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
1371
+ }
1372
+ }
1373
+
1374
+ .btn-outline.btn-error:hover {
1375
+ --tw-text-opacity: 1;
1376
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
1377
+ }
1378
+
1379
+ @supports (color: color-mix(in oklab, black, black)) {
1380
+
1381
+ .btn-outline.btn-error:hover {
1382
+ background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
1383
+ border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
1384
+ }
1385
+ }
1386
+
1281
1387
  .btn-disabled:hover,
1282
1388
  .btn[disabled]:hover,
1283
1389
  .btn:disabled:hover {
@@ -1724,6 +1830,14 @@ input.tab:checked + .tab-content,
1724
1830
  :is(.tab-active, [aria-selected="true"]) + .tab-content {
1725
1831
  display: block;
1726
1832
  }
1833
+ .\!table {
1834
+ position: relative !important;
1835
+ width: 100% !important;
1836
+ border-radius: var(--rounded-box, 1rem) !important;
1837
+ text-align: left !important;
1838
+ font-size: 0.875rem !important;
1839
+ line-height: 1.25rem !important;
1840
+ }
1727
1841
  .table {
1728
1842
  position: relative;
1729
1843
  width: 100%;
@@ -1732,6 +1846,13 @@ input.tab:checked + .tab-content,
1732
1846
  font-size: 0.875rem;
1733
1847
  line-height: 1.25rem;
1734
1848
  }
1849
+ .\!table :where(.table-pin-rows thead tr) {
1850
+ position: sticky !important;
1851
+ top: 0px !important;
1852
+ z-index: 1 !important;
1853
+ --tw-bg-opacity: 1 !important;
1854
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))) !important;
1855
+ }
1735
1856
  .table :where(.table-pin-rows thead tr) {
1736
1857
  position: sticky;
1737
1858
  top: 0px;
@@ -1739,6 +1860,13 @@ input.tab:checked + .tab-content,
1739
1860
  --tw-bg-opacity: 1;
1740
1861
  background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
1741
1862
  }
1863
+ .\!table :where(.table-pin-rows tfoot tr) {
1864
+ position: sticky !important;
1865
+ bottom: 0px !important;
1866
+ z-index: 1 !important;
1867
+ --tw-bg-opacity: 1 !important;
1868
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))) !important;
1869
+ }
1742
1870
  .table :where(.table-pin-rows tfoot tr) {
1743
1871
  position: sticky;
1744
1872
  bottom: 0px;
@@ -1746,6 +1874,13 @@ input.tab:checked + .tab-content,
1746
1874
  --tw-bg-opacity: 1;
1747
1875
  background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
1748
1876
  }
1877
+ .\!table :where(.table-pin-cols tr th) {
1878
+ position: sticky !important;
1879
+ left: 0px !important;
1880
+ right: 0px !important;
1881
+ --tw-bg-opacity: 1 !important;
1882
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))) !important;
1883
+ }
1749
1884
  .table :where(.table-pin-cols tr th) {
1750
1885
  position: sticky;
1751
1886
  left: 0px;
@@ -1819,6 +1954,43 @@ input.tab:checked + .tab-content,
1819
1954
  border-color: var(--btn-color, var(--fallback-b2));
1820
1955
  }
1821
1956
  }
1957
+ @supports (color: color-mix(in oklab, black, black)) {
1958
+
1959
+ .btn-outline.btn-primary.btn-active {
1960
+ background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
1961
+ border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
1962
+ }
1963
+
1964
+ .btn-outline.btn-secondary.btn-active {
1965
+ background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
1966
+ border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
1967
+ }
1968
+
1969
+ .btn-outline.btn-accent.btn-active {
1970
+ background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
1971
+ border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
1972
+ }
1973
+
1974
+ .btn-outline.btn-success.btn-active {
1975
+ background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
1976
+ border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
1977
+ }
1978
+
1979
+ .btn-outline.btn-info.btn-active {
1980
+ background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
1981
+ border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
1982
+ }
1983
+
1984
+ .btn-outline.btn-warning.btn-active {
1985
+ background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
1986
+ border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
1987
+ }
1988
+
1989
+ .btn-outline.btn-error.btn-active {
1990
+ background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
1991
+ border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
1992
+ }
1993
+ }
1822
1994
  .btn:focus-visible {
1823
1995
  outline-style: solid;
1824
1996
  outline-width: 2px;
@@ -1848,6 +2020,79 @@ input.tab:checked + .tab-content,
1848
2020
  border-color: transparent;
1849
2021
  background-color: var(--fallback-bc,oklch(var(--bc)/0.2));
1850
2022
  }
2023
+ .btn-outline {
2024
+ border-color: currentColor;
2025
+ background-color: transparent;
2026
+ --tw-text-opacity: 1;
2027
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
2028
+ --tw-shadow: 0 0 #0000;
2029
+ --tw-shadow-colored: 0 0 #0000;
2030
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
2031
+ }
2032
+ .btn-outline.btn-active {
2033
+ --tw-border-opacity: 1;
2034
+ border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));
2035
+ --tw-bg-opacity: 1;
2036
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
2037
+ --tw-text-opacity: 1;
2038
+ color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity)));
2039
+ }
2040
+ .btn-outline.btn-primary {
2041
+ --tw-text-opacity: 1;
2042
+ color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));
2043
+ }
2044
+ .btn-outline.btn-primary.btn-active {
2045
+ --tw-text-opacity: 1;
2046
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
2047
+ }
2048
+ .btn-outline.btn-secondary {
2049
+ --tw-text-opacity: 1;
2050
+ color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity)));
2051
+ }
2052
+ .btn-outline.btn-secondary.btn-active {
2053
+ --tw-text-opacity: 1;
2054
+ color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
2055
+ }
2056
+ .btn-outline.btn-accent {
2057
+ --tw-text-opacity: 1;
2058
+ color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity)));
2059
+ }
2060
+ .btn-outline.btn-accent.btn-active {
2061
+ --tw-text-opacity: 1;
2062
+ color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
2063
+ }
2064
+ .btn-outline.btn-success {
2065
+ --tw-text-opacity: 1;
2066
+ color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity)));
2067
+ }
2068
+ .btn-outline.btn-success.btn-active {
2069
+ --tw-text-opacity: 1;
2070
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
2071
+ }
2072
+ .btn-outline.btn-info {
2073
+ --tw-text-opacity: 1;
2074
+ color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity)));
2075
+ }
2076
+ .btn-outline.btn-info.btn-active {
2077
+ --tw-text-opacity: 1;
2078
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
2079
+ }
2080
+ .btn-outline.btn-warning {
2081
+ --tw-text-opacity: 1;
2082
+ color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity)));
2083
+ }
2084
+ .btn-outline.btn-warning.btn-active {
2085
+ --tw-text-opacity: 1;
2086
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
2087
+ }
2088
+ .btn-outline.btn-error {
2089
+ --tw-text-opacity: 1;
2090
+ color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));
2091
+ }
2092
+ .btn-outline.btn-error.btn-active {
2093
+ --tw-text-opacity: 1;
2094
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
2095
+ }
1851
2096
  .btn.btn-disabled,
1852
2097
  .btn[disabled],
1853
2098
  .btn:disabled {
@@ -2020,6 +2265,9 @@ input.tab:checked + .tab-content,
2020
2265
  .join > :where(*:not(:first-child)):is(.btn) {
2021
2266
  margin-inline-start: calc(var(--border-btn) * -1);
2022
2267
  }
2268
+ .join-item:focus {
2269
+ isolation: isolate;
2270
+ }
2023
2271
  .link:focus {
2024
2272
  outline: 2px solid transparent;
2025
2273
  outline-offset: 2px;
@@ -2583,9 +2831,19 @@ input.tab:checked + .tab-content,
2583
2831
  .tabs-boxed .tab {
2584
2832
  border-radius: var(--rounded-btn, 0.5rem);
2585
2833
  }
2834
+ .\!table:where([dir="rtl"], [dir="rtl"] *) {
2835
+ text-align: right !important;
2836
+ }
2586
2837
  .table:where([dir="rtl"], [dir="rtl"] *) {
2587
2838
  text-align: right;
2588
2839
  }
2840
+ .\!table :where(th, td) {
2841
+ padding-left: 1rem !important;
2842
+ padding-right: 1rem !important;
2843
+ padding-top: 0.75rem !important;
2844
+ padding-bottom: 0.75rem !important;
2845
+ vertical-align: middle !important;
2846
+ }
2589
2847
  .table :where(th, td) {
2590
2848
  padding-left: 1rem;
2591
2849
  padding-right: 1rem;
@@ -2593,23 +2851,45 @@ input.tab:checked + .tab-content,
2593
2851
  padding-bottom: 0.75rem;
2594
2852
  vertical-align: middle;
2595
2853
  }
2854
+ .\!table tr.active,
2855
+ .\!table tr.active:nth-child(even) {
2856
+ --tw-bg-opacity: 1 !important;
2857
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))) !important;
2858
+ }
2596
2859
  .table tr.active,
2597
2860
  .table tr.active:nth-child(even),
2598
2861
  .table-zebra tbody tr:nth-child(even) {
2599
2862
  --tw-bg-opacity: 1;
2600
2863
  background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
2601
2864
  }
2865
+ .\!table tr.active,
2866
+ .\!table tr.active:nth-child(even) {
2867
+ --tw-bg-opacity: 1 !important;
2868
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))) !important;
2869
+ }
2602
2870
  .table-zebra tr.active,
2603
2871
  .table-zebra tr.active:nth-child(even),
2604
2872
  .table-zebra-zebra tbody tr:nth-child(even) {
2605
2873
  --tw-bg-opacity: 1;
2606
2874
  background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));
2607
2875
  }
2876
+ .\!table :where(thead tr, tbody tr:not(:last-child), tbody tr:first-child:last-child) {
2877
+ border-bottom-width: 1px !important;
2878
+ --tw-border-opacity: 1 !important;
2879
+ border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))) !important;
2880
+ }
2608
2881
  .table :where(thead tr, tbody tr:not(:last-child), tbody tr:first-child:last-child) {
2609
2882
  border-bottom-width: 1px;
2610
2883
  --tw-border-opacity: 1;
2611
2884
  border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
2612
2885
  }
2886
+ .\!table :where(thead, tfoot) {
2887
+ white-space: nowrap !important;
2888
+ font-size: 0.75rem !important;
2889
+ line-height: 1rem !important;
2890
+ font-weight: 700 !important;
2891
+ color: var(--fallback-bc,oklch(var(--bc)/0.6)) !important;
2892
+ }
2613
2893
  .table :where(thead, tfoot) {
2614
2894
  white-space: nowrap;
2615
2895
  font-size: 0.75rem;
@@ -2617,6 +2897,11 @@ input.tab:checked + .tab-content,
2617
2897
  font-weight: 700;
2618
2898
  color: var(--fallback-bc,oklch(var(--bc)/0.6));
2619
2899
  }
2900
+ .\!table :where(tfoot) {
2901
+ border-top-width: 1px !important;
2902
+ --tw-border-opacity: 1 !important;
2903
+ border-top-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))) !important;
2904
+ }
2620
2905
  .table :where(tfoot) {
2621
2906
  border-top-width: 1px;
2622
2907
  --tw-border-opacity: 1;
@@ -3098,6 +3383,9 @@ input.tab:checked + .tab-content,
3098
3383
  .right-0 {
3099
3384
  right: 0px;
3100
3385
  }
3386
+ .right-10 {
3387
+ right: 2.5rem;
3388
+ }
3101
3389
  .right-2 {
3102
3390
  right: 0.5rem;
3103
3391
  }
@@ -3190,6 +3478,9 @@ input.tab:checked + .tab-content,
3190
3478
  .mt-1 {
3191
3479
  margin-top: 0.25rem;
3192
3480
  }
3481
+ .mt-2 {
3482
+ margin-top: 0.5rem;
3483
+ }
3193
3484
  .mt-4 {
3194
3485
  margin-top: 1rem;
3195
3486
  }
@@ -3205,6 +3496,9 @@ input.tab:checked + .tab-content,
3205
3496
  .inline-flex {
3206
3497
  display: inline-flex;
3207
3498
  }
3499
+ .\!table {
3500
+ display: table !important;
3501
+ }
3208
3502
  .table {
3209
3503
  display: table;
3210
3504
  }
@@ -3247,9 +3541,6 @@ input.tab:checked + .tab-content,
3247
3541
  .w-\[6rem\] {
3248
3542
  width: 6rem;
3249
3543
  }
3250
- .w-\[7\.5rem\] {
3251
- width: 7.5rem;
3252
- }
3253
3544
  .w-full {
3254
3545
  width: 100%;
3255
3546
  }
@@ -3257,9 +3548,15 @@ input.tab:checked + .tab-content,
3257
3548
  width: -moz-max-content;
3258
3549
  width: max-content;
3259
3550
  }
3551
+ .min-w-24 {
3552
+ min-width: 6rem;
3553
+ }
3260
3554
  .min-w-32 {
3261
3555
  min-width: 8rem;
3262
3556
  }
3557
+ .min-w-\[0\.05rem\] {
3558
+ min-width: 0.05rem;
3559
+ }
3263
3560
  .min-w-\[180px\] {
3264
3561
  min-width: 180px;
3265
3562
  }
@@ -3278,6 +3575,10 @@ input.tab:checked + .tab-content,
3278
3575
  .grow {
3279
3576
  flex-grow: 1;
3280
3577
  }
3578
+ .-translate-y-1\/2 {
3579
+ --tw-translate-y: -50%;
3580
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
3581
+ }
3281
3582
  .translate-x-\[-50\%\] {
3282
3583
  --tw-translate-x: -50%;
3283
3584
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -3321,6 +3622,9 @@ input.tab:checked + .tab-content,
3321
3622
  .items-center {
3322
3623
  align-items: center;
3323
3624
  }
3625
+ .justify-end {
3626
+ justify-content: flex-end;
3627
+ }
3324
3628
  .justify-center {
3325
3629
  justify-content: center;
3326
3630
  }
@@ -3336,6 +3640,9 @@ input.tab:checked + .tab-content,
3336
3640
  .gap-2 {
3337
3641
  gap: 0.5rem;
3338
3642
  }
3643
+ .gap-4 {
3644
+ gap: 1rem;
3645
+ }
3339
3646
  .gap-y-1 {
3340
3647
  row-gap: 0.25rem;
3341
3648
  }
@@ -3376,12 +3683,27 @@ input.tab:checked + .tab-content,
3376
3683
  border-bottom-right-radius: 0.375rem;
3377
3684
  border-bottom-left-radius: 0.375rem;
3378
3685
  }
3686
+ .rounded-b-none {
3687
+ border-bottom-right-radius: 0px;
3688
+ border-bottom-left-radius: 0px;
3689
+ }
3690
+ .rounded-t-md {
3691
+ border-top-left-radius: 0.375rem;
3692
+ border-top-right-radius: 0.375rem;
3693
+ }
3694
+ .rounded-t-none {
3695
+ border-top-left-radius: 0px;
3696
+ border-top-right-radius: 0px;
3697
+ }
3379
3698
  .rounded-tr-md {
3380
3699
  border-top-right-radius: 0.375rem;
3381
3700
  }
3382
3701
  .border {
3383
3702
  border-width: 1px;
3384
3703
  }
3704
+ .border-0 {
3705
+ border-width: 0px;
3706
+ }
3385
3707
  .border-2 {
3386
3708
  border-width: 2px;
3387
3709
  }
@@ -3423,6 +3745,9 @@ input.tab:checked + .tab-content,
3423
3745
  --tw-bg-opacity: 1;
3424
3746
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
3425
3747
  }
3748
+ .bg-transparent {
3749
+ background-color: transparent;
3750
+ }
3426
3751
  .bg-white {
3427
3752
  --tw-bg-opacity: 1;
3428
3753
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
@@ -3467,8 +3792,8 @@ input.tab:checked + .tab-content,
3467
3792
  padding-top: 0.5rem;
3468
3793
  padding-bottom: 0.5rem;
3469
3794
  }
3470
- .pl-2 {
3471
- padding-left: 0.5rem;
3795
+ .pr-14 {
3796
+ padding-right: 3.5rem;
3472
3797
  }
3473
3798
  .text-center {
3474
3799
  text-align: center;
@@ -3509,9 +3834,6 @@ input.tab:checked + .tab-content,
3509
3834
  .font-normal {
3510
3835
  font-weight: 400;
3511
3836
  }
3512
- .font-semibold {
3513
- font-weight: 600;
3514
- }
3515
3837
  .leading-5 {
3516
3838
  line-height: 1.25rem;
3517
3839
  }
@@ -3588,6 +3910,12 @@ input.tab:checked + .tab-content,
3588
3910
  .\@container {
3589
3911
  container-type: inline-size;
3590
3912
  }
3913
+ .mdi--chevron-left {
3914
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6z'/%3E%3C/svg%3E");
3915
+ }
3916
+ .mdi--chevron-right {
3917
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6z'/%3E%3C/svg%3E");
3918
+ }
3591
3919
  .mdi--fullscreen {
3592
3920
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5 5h5v2H7v3H5zm9 0h5v5h-2V7h-3zm3 9h2v5h-5v-2h3zm-7 3v2H5v-5h2v3z'/%3E%3C/svg%3E");
3593
3921
  }
@@ -3597,6 +3925,12 @@ input.tab:checked + .tab-content,
3597
3925
  .mdi--reload {
3598
3926
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M2 12a9 9 0 0 0 9 9c2.39 0 4.68-.94 6.4-2.6l-1.5-1.5A6.7 6.7 0 0 1 11 19c-6.24 0-9.36-7.54-4.95-11.95S18 5.77 18 12h-3l4 4h.1l3.9-4h-3a9 9 0 0 0-18 0'/%3E%3C/svg%3E");
3599
3927
  }
3928
+ .mdi--chevron-left-first {
3929
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6l6 6zM6 6h2v12H6z'/%3E%3C/svg%3E");
3930
+ }
3931
+ .mdi--chevron-right-last {
3932
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6l-6-6zM16 6h2v12h-2z'/%3E%3C/svg%3E");
3933
+ }
3600
3934
  @media (min-width: 640px) {
3601
3935
 
3602
3936
  .sm\:modal-middle {
@@ -3668,6 +4002,51 @@ input.tab:checked + .tab-content,
3668
4002
  visibility: visible;
3669
4003
  }
3670
4004
  }
4005
+ @container (min-width: 14rem) {
4006
+
4007
+ .\@4xs\:flex-row {
4008
+ flex-direction: row;
4009
+ }
4010
+
4011
+ .\@4xs\:rounded-l-none {
4012
+ border-top-left-radius: 0px;
4013
+ border-bottom-left-radius: 0px;
4014
+ }
4015
+
4016
+ .\@4xs\:rounded-bl-md {
4017
+ border-bottom-left-radius: 0.375rem;
4018
+ }
4019
+
4020
+ .\@4xs\:rounded-tr-none {
4021
+ border-top-right-radius: 0px;
4022
+ }
4023
+ }
4024
+ @container (min-width: 28rem) {
4025
+
4026
+ .\@md\:flex-row {
4027
+ flex-direction: row;
4028
+ }
4029
+
4030
+ .\@md\:rounded-l-md {
4031
+ border-top-left-radius: 0.375rem;
4032
+ border-bottom-left-radius: 0.375rem;
4033
+ }
4034
+
4035
+ .\@md\:rounded-l-none {
4036
+ border-top-left-radius: 0px;
4037
+ border-bottom-left-radius: 0px;
4038
+ }
4039
+
4040
+ .\@md\:rounded-r-md {
4041
+ border-top-right-radius: 0.375rem;
4042
+ border-bottom-right-radius: 0.375rem;
4043
+ }
4044
+
4045
+ .\@md\:rounded-r-none {
4046
+ border-top-right-radius: 0px;
4047
+ border-bottom-right-radius: 0px;
4048
+ }
4049
+ }
3671
4050
  @media (min-width: 640px) {
3672
4051
 
3673
4052
  .sm\:max-w-5xl {