@genspectrum/dashboard-components 0.17.0 → 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 (23) hide show
  1. package/custom-elements.json +44 -13
  2. package/dist/components.d.ts +18 -14
  3. package/dist/components.js +557 -99
  4. package/dist/components.js.map +1 -1
  5. package/dist/style.css +318 -6
  6. package/dist/util.d.ts +12 -12
  7. package/package.json +2 -1
  8. package/src/preact/mutationsOverTime/mutations-over-time-grid.tsx +133 -84
  9. package/src/preact/mutationsOverTime/mutations-over-time.stories.tsx +46 -16
  10. package/src/preact/mutationsOverTime/mutations-over-time.tsx +3 -0
  11. package/src/preact/shared/tanstackTable/pagination.tsx +132 -0
  12. package/src/preact/shared/tanstackTable/tanstackTable.tsx +43 -0
  13. package/src/preact/wastewater/mutationsOverTime/wastewater-mutations-over-time.stories.tsx +2 -1
  14. package/src/preact/wastewater/mutationsOverTime/wastewater-mutations-over-time.tsx +3 -5
  15. package/src/web-components/visualization/gs-mutations-over-time.spec-d.ts +39 -0
  16. package/src/web-components/visualization/gs-mutations-over-time.stories.ts +4 -0
  17. package/src/web-components/visualization/gs-mutations-over-time.tsx +8 -31
  18. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.spec-d.ts +24 -0
  19. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.stories.ts +3 -3
  20. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.tsx +5 -36
  21. package/standalone-bundle/dashboard-components.js +17733 -15921
  22. package/standalone-bundle/dashboard-components.js.map +1 -1
  23. package/standalone-bundle/style.css +1 -1
package/dist/style.css CHANGED
@@ -1068,11 +1068,23 @@ 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
  }
1082
+
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;
1087
+ }
1076
1088
  }
1077
1089
  .btn {
1078
1090
  display: inline-flex;
@@ -1272,6 +1284,106 @@ html {
1272
1284
  }
1273
1285
  }
1274
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
+
1275
1387
  .btn-disabled:hover,
1276
1388
  .btn[disabled]:hover,
1277
1389
  .btn:disabled:hover {
@@ -1718,6 +1830,14 @@ input.tab:checked + .tab-content,
1718
1830
  :is(.tab-active, [aria-selected="true"]) + .tab-content {
1719
1831
  display: block;
1720
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
+ }
1721
1841
  .table {
1722
1842
  position: relative;
1723
1843
  width: 100%;
@@ -1726,6 +1846,13 @@ input.tab:checked + .tab-content,
1726
1846
  font-size: 0.875rem;
1727
1847
  line-height: 1.25rem;
1728
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
+ }
1729
1856
  .table :where(.table-pin-rows thead tr) {
1730
1857
  position: sticky;
1731
1858
  top: 0px;
@@ -1733,6 +1860,13 @@ input.tab:checked + .tab-content,
1733
1860
  --tw-bg-opacity: 1;
1734
1861
  background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
1735
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
+ }
1736
1870
  .table :where(.table-pin-rows tfoot tr) {
1737
1871
  position: sticky;
1738
1872
  bottom: 0px;
@@ -1740,6 +1874,13 @@ input.tab:checked + .tab-content,
1740
1874
  --tw-bg-opacity: 1;
1741
1875
  background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
1742
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
+ }
1743
1884
  .table :where(.table-pin-cols tr th) {
1744
1885
  position: sticky;
1745
1886
  left: 0px;
@@ -1813,6 +1954,43 @@ input.tab:checked + .tab-content,
1813
1954
  border-color: var(--btn-color, var(--fallback-b2));
1814
1955
  }
1815
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
+ }
1816
1994
  .btn:focus-visible {
1817
1995
  outline-style: solid;
1818
1996
  outline-width: 2px;
@@ -1842,6 +2020,79 @@ input.tab:checked + .tab-content,
1842
2020
  border-color: transparent;
1843
2021
  background-color: var(--fallback-bc,oklch(var(--bc)/0.2));
1844
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
+ }
1845
2096
  .btn.btn-disabled,
1846
2097
  .btn[disabled],
1847
2098
  .btn:disabled {
@@ -2014,6 +2265,9 @@ input.tab:checked + .tab-content,
2014
2265
  .join > :where(*:not(:first-child)):is(.btn) {
2015
2266
  margin-inline-start: calc(var(--border-btn) * -1);
2016
2267
  }
2268
+ .join-item:focus {
2269
+ isolation: isolate;
2270
+ }
2017
2271
  .link:focus {
2018
2272
  outline: 2px solid transparent;
2019
2273
  outline-offset: 2px;
@@ -2577,9 +2831,19 @@ input.tab:checked + .tab-content,
2577
2831
  .tabs-boxed .tab {
2578
2832
  border-radius: var(--rounded-btn, 0.5rem);
2579
2833
  }
2834
+ .\!table:where([dir="rtl"], [dir="rtl"] *) {
2835
+ text-align: right !important;
2836
+ }
2580
2837
  .table:where([dir="rtl"], [dir="rtl"] *) {
2581
2838
  text-align: right;
2582
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
+ }
2583
2847
  .table :where(th, td) {
2584
2848
  padding-left: 1rem;
2585
2849
  padding-right: 1rem;
@@ -2587,23 +2851,45 @@ input.tab:checked + .tab-content,
2587
2851
  padding-bottom: 0.75rem;
2588
2852
  vertical-align: middle;
2589
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
+ }
2590
2859
  .table tr.active,
2591
2860
  .table tr.active:nth-child(even),
2592
2861
  .table-zebra tbody tr:nth-child(even) {
2593
2862
  --tw-bg-opacity: 1;
2594
2863
  background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
2595
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
+ }
2596
2870
  .table-zebra tr.active,
2597
2871
  .table-zebra tr.active:nth-child(even),
2598
2872
  .table-zebra-zebra tbody tr:nth-child(even) {
2599
2873
  --tw-bg-opacity: 1;
2600
2874
  background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));
2601
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
+ }
2602
2881
  .table :where(thead tr, tbody tr:not(:last-child), tbody tr:first-child:last-child) {
2603
2882
  border-bottom-width: 1px;
2604
2883
  --tw-border-opacity: 1;
2605
2884
  border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
2606
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
+ }
2607
2893
  .table :where(thead, tfoot) {
2608
2894
  white-space: nowrap;
2609
2895
  font-size: 0.75rem;
@@ -2611,6 +2897,11 @@ input.tab:checked + .tab-content,
2611
2897
  font-weight: 700;
2612
2898
  color: var(--fallback-bc,oklch(var(--bc)/0.6));
2613
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
+ }
2614
2905
  .table :where(tfoot) {
2615
2906
  border-top-width: 1px;
2616
2907
  --tw-border-opacity: 1;
@@ -3187,6 +3478,9 @@ input.tab:checked + .tab-content,
3187
3478
  .mt-1 {
3188
3479
  margin-top: 0.25rem;
3189
3480
  }
3481
+ .mt-2 {
3482
+ margin-top: 0.5rem;
3483
+ }
3190
3484
  .mt-4 {
3191
3485
  margin-top: 1rem;
3192
3486
  }
@@ -3202,6 +3496,9 @@ input.tab:checked + .tab-content,
3202
3496
  .inline-flex {
3203
3497
  display: inline-flex;
3204
3498
  }
3499
+ .\!table {
3500
+ display: table !important;
3501
+ }
3205
3502
  .table {
3206
3503
  display: table;
3207
3504
  }
@@ -3257,6 +3554,9 @@ input.tab:checked + .tab-content,
3257
3554
  .min-w-32 {
3258
3555
  min-width: 8rem;
3259
3556
  }
3557
+ .min-w-\[0\.05rem\] {
3558
+ min-width: 0.05rem;
3559
+ }
3260
3560
  .min-w-\[180px\] {
3261
3561
  min-width: 180px;
3262
3562
  }
@@ -3322,6 +3622,9 @@ input.tab:checked + .tab-content,
3322
3622
  .items-center {
3323
3623
  align-items: center;
3324
3624
  }
3625
+ .justify-end {
3626
+ justify-content: flex-end;
3627
+ }
3325
3628
  .justify-center {
3326
3629
  justify-content: center;
3327
3630
  }
@@ -3337,6 +3640,9 @@ input.tab:checked + .tab-content,
3337
3640
  .gap-2 {
3338
3641
  gap: 0.5rem;
3339
3642
  }
3643
+ .gap-4 {
3644
+ gap: 1rem;
3645
+ }
3340
3646
  .gap-y-1 {
3341
3647
  row-gap: 0.25rem;
3342
3648
  }
@@ -3486,9 +3792,6 @@ input.tab:checked + .tab-content,
3486
3792
  padding-top: 0.5rem;
3487
3793
  padding-bottom: 0.5rem;
3488
3794
  }
3489
- .pl-2 {
3490
- padding-left: 0.5rem;
3491
- }
3492
3795
  .pr-14 {
3493
3796
  padding-right: 3.5rem;
3494
3797
  }
@@ -3531,9 +3834,6 @@ input.tab:checked + .tab-content,
3531
3834
  .font-normal {
3532
3835
  font-weight: 400;
3533
3836
  }
3534
- .font-semibold {
3535
- font-weight: 600;
3536
- }
3537
3837
  .leading-5 {
3538
3838
  line-height: 1.25rem;
3539
3839
  }
@@ -3610,6 +3910,12 @@ input.tab:checked + .tab-content,
3610
3910
  .\@container {
3611
3911
  container-type: inline-size;
3612
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
+ }
3613
3919
  .mdi--fullscreen {
3614
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");
3615
3921
  }
@@ -3619,6 +3925,12 @@ input.tab:checked + .tab-content,
3619
3925
  .mdi--reload {
3620
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");
3621
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
+ }
3622
3934
  @media (min-width: 640px) {
3623
3935
 
3624
3936
  .sm\:modal-middle {
package/dist/util.d.ts CHANGED
@@ -970,7 +970,7 @@ declare global {
970
970
 
971
971
  declare global {
972
972
  interface HTMLElementTagNameMap {
973
- 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
973
+ 'gs-mutations-over-time': MutationsOverTimeComponent;
974
974
  }
975
975
  }
976
976
 
@@ -978,7 +978,7 @@ declare global {
978
978
  declare global {
979
979
  namespace JSX {
980
980
  interface IntrinsicElements {
981
- 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
981
+ 'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
982
982
  }
983
983
  }
984
984
  }
@@ -986,7 +986,7 @@ declare global {
986
986
 
987
987
  declare global {
988
988
  interface HTMLElementTagNameMap {
989
- 'gs-mutations-over-time': MutationsOverTimeComponent;
989
+ 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
990
990
  }
991
991
  }
992
992
 
@@ -994,7 +994,7 @@ declare global {
994
994
  declare global {
995
995
  namespace JSX {
996
996
  interface IntrinsicElements {
997
- 'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
997
+ 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
998
998
  }
999
999
  }
1000
1000
  }
@@ -1034,11 +1034,7 @@ declare global {
1034
1034
 
1035
1035
  declare global {
1036
1036
  interface HTMLElementTagNameMap {
1037
- 'gs-date-range-filter': DateRangeFilterComponent;
1038
- }
1039
- interface HTMLElementEventMap {
1040
- 'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
1041
- 'gs-date-range-option-changed': DateRangeOptionChangedEvent;
1037
+ 'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
1042
1038
  }
1043
1039
  }
1044
1040
 
@@ -1046,7 +1042,7 @@ declare global {
1046
1042
  declare global {
1047
1043
  namespace JSX {
1048
1044
  interface IntrinsicElements {
1049
- 'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1045
+ 'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1050
1046
  }
1051
1047
  }
1052
1048
  }
@@ -1054,7 +1050,11 @@ declare global {
1054
1050
 
1055
1051
  declare global {
1056
1052
  interface HTMLElementTagNameMap {
1057
- 'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
1053
+ 'gs-date-range-filter': DateRangeFilterComponent;
1054
+ }
1055
+ interface HTMLElementEventMap {
1056
+ 'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
1057
+ 'gs-date-range-option-changed': DateRangeOptionChangedEvent;
1058
1058
  }
1059
1059
  }
1060
1060
 
@@ -1062,7 +1062,7 @@ declare global {
1062
1062
  declare global {
1063
1063
  namespace JSX {
1064
1064
  interface IntrinsicElements {
1065
- 'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1065
+ 'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1066
1066
  }
1067
1067
  }
1068
1068
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genspectrum/dashboard-components",
3
- "version": "0.17.0",
3
+ "version": "0.17.1",
4
4
  "description": "GenSpectrum web components for building dashboards",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -83,6 +83,7 @@
83
83
  "@lit/context": "^1.1.1",
84
84
  "@lit/reactive-element": "^2.0.4",
85
85
  "@lit/task": "^1.0.0",
86
+ "@tanstack/table-core": "^8.21.2",
86
87
  "chart.js": "^4.4.6",
87
88
  "chartjs-chart-error-bars": "^4.4.0",
88
89
  "chartjs-chart-venn": "^4.3.0",