@genspectrum/dashboard-components 0.16.2 → 0.16.4

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 (48) hide show
  1. package/custom-elements.json +72 -7
  2. package/dist/assets/mutationOverTimeWorker-CPfQDLe6.js.map +1 -0
  3. package/dist/components.d.ts +60 -21
  4. package/dist/components.js +804 -608
  5. package/dist/components.js.map +1 -1
  6. package/dist/style.css +21 -0
  7. package/dist/util.d.ts +69 -25
  8. package/package.json +5 -2
  9. package/src/preact/MutationAnnotationsContext.spec.tsx +58 -0
  10. package/src/preact/MutationAnnotationsContext.tsx +72 -0
  11. package/src/preact/components/annotated-mutation.stories.tsx +164 -0
  12. package/src/preact/components/annotated-mutation.tsx +84 -0
  13. package/src/preact/components/error-display.tsx +9 -9
  14. package/src/preact/components/info.tsx +6 -13
  15. package/src/preact/components/modal.stories.tsx +7 -19
  16. package/src/preact/components/modal.tsx +35 -4
  17. package/src/preact/mutationComparison/mutation-comparison-table.tsx +14 -1
  18. package/src/preact/mutationComparison/mutation-comparison-venn.tsx +39 -8
  19. package/src/preact/mutationComparison/mutation-comparison.stories.tsx +36 -12
  20. package/src/preact/mutationComparison/mutation-comparison.tsx +2 -0
  21. package/src/preact/mutations/mutations-table.tsx +14 -2
  22. package/src/preact/mutations/mutations.stories.tsx +33 -1
  23. package/src/preact/mutations/mutations.tsx +1 -0
  24. package/src/preact/mutationsOverTime/mutations-over-time-grid.tsx +19 -8
  25. package/src/preact/mutationsOverTime/mutations-over-time.stories.tsx +29 -5
  26. package/src/preact/mutationsOverTime/mutations-over-time.tsx +13 -1
  27. package/src/preact/sequencesByLocation/sequences-by-location-map.tsx +28 -30
  28. package/src/preact/shared/stories/expectMutationAnnotation.ts +13 -0
  29. package/src/preact/wastewater/mutationsOverTime/wastewater-mutations-over-time.tsx +6 -1
  30. package/src/utilEntrypoint.ts +2 -0
  31. package/src/web-components/gs-app.spec-d.ts +10 -0
  32. package/src/web-components/gs-app.stories.ts +24 -6
  33. package/src/web-components/gs-app.ts +17 -0
  34. package/src/web-components/mutation-annotations-context.ts +16 -0
  35. package/src/web-components/visualization/gs-mutation-comparison.stories.ts +18 -1
  36. package/src/web-components/visualization/gs-mutation-comparison.tsx +19 -8
  37. package/src/web-components/visualization/gs-mutations-over-time.stories.ts +19 -1
  38. package/src/web-components/visualization/gs-mutations-over-time.tsx +22 -11
  39. package/src/web-components/visualization/gs-mutations.stories.ts +19 -1
  40. package/src/web-components/visualization/gs-mutations.tsx +20 -9
  41. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.stories.ts +11 -1
  42. package/src/web-components/wastewaterVisualization/gs-wastewater-mutations-over-time.tsx +18 -7
  43. package/standalone-bundle/assets/mutationOverTimeWorker-CERZSdcA.js.map +1 -0
  44. package/standalone-bundle/dashboard-components.js +12555 -11853
  45. package/standalone-bundle/dashboard-components.js.map +1 -1
  46. package/standalone-bundle/style.css +1 -1
  47. package/dist/assets/mutationOverTimeWorker-BL50C-yi.js.map +0 -1
  48. package/standalone-bundle/assets/mutationOverTimeWorker-CFB5-Mdk.js.map +0 -1
@@ -97,6 +97,7 @@ export declare class AggregateComponent extends PreactLitAdapterWithGridJsStyles
97
97
  * It makes use of the [Lit Context](https://lit.dev/docs/data/context/) to
98
98
  * - provide the URL to the LAPIS instance to all its children
99
99
  * - fetch the reference genomes from LAPIS and provide it to all its children
100
+ * - distribute the mutation annotations config to its children
100
101
  *
101
102
  * This will show an error message if the reference genome cannot be fetched
102
103
  * (e.g., due to an invalid LAPIS URL).
@@ -112,6 +113,18 @@ export declare class AppComponent extends LitElement {
112
113
  * The URL of the LAPIS instance that all children of this component will use.
113
114
  */
114
115
  lapis: string;
116
+ /**
117
+ * Supply lists of mutations that are especially relevant for the current organism.
118
+ * Whenever other components display mutations, matching mutations will be highlighted by appending the `symbol`.
119
+ * On hover, a tooltip with the `name` and `description` will be shown.
120
+ */
121
+ mutationAnnotations: {
122
+ name: string;
123
+ description: string;
124
+ symbol: string;
125
+ nucleotideMutations: string[];
126
+ aminoAcidMutations: string[];
127
+ }[];
115
128
  /* Excluded from this release type: referenceGenome */
116
129
  /* Excluded from this release type: updateReferenceGenome */
117
130
  render(): TemplateResult<1> | undefined;
@@ -332,6 +345,28 @@ export declare class LocationFilterComponent extends PreactLitAdapter {
332
345
  render(): JSX_2.Element;
333
346
  }
334
347
 
348
+ declare type MutationAnnotations = default_2.infer<typeof mutationAnnotationsSchema>;
349
+
350
+ declare const mutationAnnotationsSchema: default_2.ZodArray<default_2.ZodObject<{
351
+ name: default_2.ZodString;
352
+ description: default_2.ZodString;
353
+ symbol: default_2.ZodString;
354
+ nucleotideMutations: default_2.ZodArray<default_2.ZodString, "many">;
355
+ aminoAcidMutations: default_2.ZodArray<default_2.ZodString, "many">;
356
+ }, "strip", default_2.ZodTypeAny, {
357
+ symbol: string;
358
+ name: string;
359
+ description: string;
360
+ nucleotideMutations: string[];
361
+ aminoAcidMutations: string[];
362
+ }, {
363
+ symbol: string;
364
+ name: string;
365
+ description: string;
366
+ nucleotideMutations: string[];
367
+ aminoAcidMutations: string[];
368
+ }>, "many">;
369
+
335
370
  /**
336
371
  * ## Context
337
372
  *
@@ -402,6 +437,7 @@ export declare class MutationComparisonComponent extends PreactLitAdapterWithGri
402
437
  * Set to `false` to disable pagination. Set to `true` to enable pagination with a default limit (10).
403
438
  */
404
439
  pageSize: boolean | number;
440
+ /* Excluded from this release type: mutationAnnotations */
405
441
  render(): JSX_2.Element;
406
442
  }
407
443
 
@@ -567,6 +603,7 @@ export declare class MutationsComponent extends PreactLitAdapterWithGridJsStyles
567
603
  * Set to `false` to disable pagination. Set to `true` to enable pagination with a default limit (10).
568
604
  */
569
605
  pageSize: boolean | number;
606
+ /* Excluded from this release type: mutationAnnotations */
570
607
  render(): JSX_2.Element;
571
608
  }
572
609
 
@@ -654,6 +691,7 @@ export declare class MutationsOverTimeComponent extends PreactLitAdapterWithGrid
654
691
  min: number;
655
692
  max: number;
656
693
  };
694
+ /* Excluded from this release type: mutationAnnotations */
657
695
  render(): JSX_2.Element;
658
696
  }
659
697
 
@@ -1328,6 +1366,7 @@ export declare class WastewaterMutationsOverTimeComponent extends PreactLitAdapt
1328
1366
  * The maximum number of grid rows to display.
1329
1367
  */
1330
1368
  maxNumberOfGridRows: number;
1369
+ /* Excluded from this release type: mutationAnnotations */
1331
1370
  render(): JSX_2.Element;
1332
1371
  }
1333
1372
 
@@ -1423,7 +1462,7 @@ declare global {
1423
1462
 
1424
1463
  declare global {
1425
1464
  interface HTMLElementTagNameMap {
1426
- 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
1465
+ 'gs-aggregate': AggregateComponent;
1427
1466
  }
1428
1467
  }
1429
1468
 
@@ -1431,7 +1470,7 @@ declare global {
1431
1470
  declare global {
1432
1471
  namespace JSX {
1433
1472
  interface IntrinsicElements {
1434
- 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1473
+ 'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1435
1474
  }
1436
1475
  }
1437
1476
  }
@@ -1439,7 +1478,7 @@ declare global {
1439
1478
 
1440
1479
  declare global {
1441
1480
  interface HTMLElementTagNameMap {
1442
- 'gs-aggregate': AggregateComponent;
1481
+ 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
1443
1482
  }
1444
1483
  }
1445
1484
 
@@ -1447,7 +1486,7 @@ declare global {
1447
1486
  declare global {
1448
1487
  namespace JSX {
1449
1488
  interface IntrinsicElements {
1450
- 'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1489
+ 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1451
1490
  }
1452
1491
  }
1453
1492
  }
@@ -1503,10 +1542,11 @@ declare global {
1503
1542
 
1504
1543
  declare global {
1505
1544
  interface HTMLElementTagNameMap {
1506
- 'gs-location-filter': LocationFilterComponent;
1545
+ 'gs-date-range-filter': DateRangeFilterComponent;
1507
1546
  }
1508
1547
  interface HTMLElementEventMap {
1509
- 'gs-location-changed': LocationChangedEvent;
1548
+ 'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
1549
+ 'gs-date-range-option-changed': DateRangeOptionChangedEvent;
1510
1550
  }
1511
1551
  }
1512
1552
 
@@ -1514,7 +1554,7 @@ declare global {
1514
1554
  declare global {
1515
1555
  namespace JSX {
1516
1556
  interface IntrinsicElements {
1517
- 'gs-location-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1557
+ 'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1518
1558
  }
1519
1559
  }
1520
1560
  }
@@ -1522,11 +1562,7 @@ declare global {
1522
1562
 
1523
1563
  declare global {
1524
1564
  interface HTMLElementTagNameMap {
1525
- 'gs-date-range-filter': DateRangeFilterComponent;
1526
- }
1527
- interface HTMLElementEventMap {
1528
- 'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
1529
- 'gs-date-range-option-changed': DateRangeOptionChangedEvent;
1565
+ 'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
1530
1566
  }
1531
1567
  }
1532
1568
 
@@ -1534,7 +1570,7 @@ declare global {
1534
1570
  declare global {
1535
1571
  namespace JSX {
1536
1572
  interface IntrinsicElements {
1537
- 'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1573
+ 'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1538
1574
  }
1539
1575
  }
1540
1576
  }
@@ -1542,10 +1578,10 @@ declare global {
1542
1578
 
1543
1579
  declare global {
1544
1580
  interface HTMLElementTagNameMap {
1545
- 'gs-text-filter': TextFilterComponent;
1581
+ 'gs-location-filter': LocationFilterComponent;
1546
1582
  }
1547
1583
  interface HTMLElementEventMap {
1548
- 'gs-text-filter-changed': TextFilterChangedEvent;
1584
+ 'gs-location-changed': LocationChangedEvent;
1549
1585
  }
1550
1586
  }
1551
1587
 
@@ -1553,7 +1589,7 @@ declare global {
1553
1589
  declare global {
1554
1590
  namespace JSX {
1555
1591
  interface IntrinsicElements {
1556
- 'gs-text-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1592
+ 'gs-location-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1557
1593
  }
1558
1594
  }
1559
1595
  }
@@ -1561,10 +1597,10 @@ declare global {
1561
1597
 
1562
1598
  declare global {
1563
1599
  interface HTMLElementTagNameMap {
1564
- 'gs-mutation-filter': MutationFilterComponent;
1600
+ 'gs-text-filter': TextFilterComponent;
1565
1601
  }
1566
1602
  interface HTMLElementEventMap {
1567
- 'gs-mutation-filter-changed': CustomEvent<MutationsFilter>;
1603
+ 'gs-text-filter-changed': TextFilterChangedEvent;
1568
1604
  }
1569
1605
  }
1570
1606
 
@@ -1572,7 +1608,7 @@ declare global {
1572
1608
  declare global {
1573
1609
  namespace JSX {
1574
1610
  interface IntrinsicElements {
1575
- 'gs-mutation-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1611
+ 'gs-text-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1576
1612
  }
1577
1613
  }
1578
1614
  }
@@ -1599,7 +1635,10 @@ declare global {
1599
1635
 
1600
1636
  declare global {
1601
1637
  interface HTMLElementTagNameMap {
1602
- 'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
1638
+ 'gs-mutation-filter': MutationFilterComponent;
1639
+ }
1640
+ interface HTMLElementEventMap {
1641
+ 'gs-mutation-filter-changed': CustomEvent<MutationsFilter>;
1603
1642
  }
1604
1643
  }
1605
1644
 
@@ -1607,7 +1646,7 @@ declare global {
1607
1646
  declare global {
1608
1647
  namespace JSX {
1609
1648
  interface IntrinsicElements {
1610
- 'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1649
+ 'gs-mutation-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1611
1650
  }
1612
1651
  }
1613
1652
  }