@genspectrum/dashboard-components 0.19.6 → 0.19.8
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.
- package/README.md +24 -8
- package/custom-elements.json +4 -4
- package/dist/{LineageFilterChangedEvent-Cqa8Frcf.js → NumberRangeFilterChangedEvent-RZ8haPHq.js} +30 -5
- package/dist/NumberRangeFilterChangedEvent-RZ8haPHq.js.map +1 -0
- package/dist/assets/mutationOverTimeWorker-CBXsEsiT.js.map +1 -0
- package/dist/components.d.ts +35 -35
- package/dist/components.js +150 -66
- package/dist/components.js.map +1 -1
- package/dist/util.d.ts +43 -33
- package/dist/util.js +3 -1
- package/package.json +1 -1
- package/src/lapisApi/LineageDefinition.ts +9 -0
- package/src/lapisApi/lapisApi.ts +27 -0
- package/src/preact/lineageFilter/__mockData__/lineageDefinition.json +38118 -0
- package/src/preact/lineageFilter/fetchLineageAutocompleteList.spec.ts +264 -6
- package/src/preact/lineageFilter/fetchLineageAutocompleteList.ts +104 -7
- package/src/preact/lineageFilter/lineage-filter.stories.tsx +13 -1
- package/src/preact/lineageFilter/lineage-filter.tsx +21 -11
- package/src/preact/numberRangeFilter/NumberRangeFilterChangedEvent.ts +1 -1
- package/src/utilEntrypoint.ts +6 -1
- package/src/web-components/input/gs-lineage-filter.stories.ts +13 -1
- package/src/web-components/input/gs-number-range-filter.tsx +2 -2
- package/standalone-bundle/assets/mutationOverTimeWorker-CN4SJC7C.js.map +1 -0
- package/standalone-bundle/dashboard-components.js +2584 -2493
- package/standalone-bundle/dashboard-components.js.map +1 -1
- package/dist/LineageFilterChangedEvent-Cqa8Frcf.js.map +0 -1
- package/dist/assets/mutationOverTimeWorker-DQGh08AS.js.map +0 -1
- package/standalone-bundle/assets/mutationOverTimeWorker-DAf2_NiP.js.map +0 -1
package/dist/util.d.ts
CHANGED
|
@@ -187,6 +187,8 @@ declare type LapisLocationFilter = default_2.infer<typeof lapisLocationFilterSch
|
|
|
187
187
|
|
|
188
188
|
declare const lapisLocationFilterSchema: default_2.ZodRecord<default_2.ZodString, default_2.ZodUnion<[default_2.ZodString, default_2.ZodUndefined]>>;
|
|
189
189
|
|
|
190
|
+
export declare type LapisNumberFilter = Record<string, number | undefined>;
|
|
191
|
+
|
|
190
192
|
declare type LapisTextFilter = Record<string, string | undefined>;
|
|
191
193
|
|
|
192
194
|
export declare class LineageFilterChangedEvent extends CustomEvent<LapisLineageFilter> {
|
|
@@ -489,6 +491,10 @@ declare const namedLapisFilterSchema: default_2.ZodObject<{
|
|
|
489
491
|
|
|
490
492
|
export declare type NumberRange = default_2.infer<typeof numberRangeSchema>;
|
|
491
493
|
|
|
494
|
+
export declare class NumberRangeFilterChangedEvent extends CustomEvent<LapisNumberFilter> {
|
|
495
|
+
constructor(detail: LapisNumberFilter);
|
|
496
|
+
}
|
|
497
|
+
|
|
492
498
|
declare const numberRangeSchema: default_2.ZodObject<{
|
|
493
499
|
min: default_2.ZodOptional<default_2.ZodNumber>;
|
|
494
500
|
max: default_2.ZodOptional<default_2.ZodNumber>;
|
|
@@ -500,6 +506,10 @@ declare const numberRangeSchema: default_2.ZodObject<{
|
|
|
500
506
|
max?: number | undefined;
|
|
501
507
|
}>;
|
|
502
508
|
|
|
509
|
+
export declare class NumberRangeValueChangedEvent extends CustomEvent<NumberRange> {
|
|
510
|
+
constructor(detail: NumberRange);
|
|
511
|
+
}
|
|
512
|
+
|
|
503
513
|
export declare type NumberSequencesOverTimeProps = default_2.infer<typeof numberSequencesOverTimePropsSchema>;
|
|
504
514
|
|
|
505
515
|
declare const numberSequencesOverTimePropsSchema: default_2.ZodObject<{
|
|
@@ -944,7 +954,7 @@ declare global {
|
|
|
944
954
|
|
|
945
955
|
declare global {
|
|
946
956
|
interface HTMLElementTagNameMap {
|
|
947
|
-
'gs-
|
|
957
|
+
'gs-mutation-comparison-component': MutationComparisonComponent;
|
|
948
958
|
}
|
|
949
959
|
}
|
|
950
960
|
|
|
@@ -952,7 +962,7 @@ declare global {
|
|
|
952
962
|
declare global {
|
|
953
963
|
namespace JSX {
|
|
954
964
|
interface IntrinsicElements {
|
|
955
|
-
'gs-
|
|
965
|
+
'gs-mutation-comparison-component': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
956
966
|
}
|
|
957
967
|
}
|
|
958
968
|
}
|
|
@@ -960,7 +970,7 @@ declare global {
|
|
|
960
970
|
|
|
961
971
|
declare global {
|
|
962
972
|
interface HTMLElementTagNameMap {
|
|
963
|
-
'gs-
|
|
973
|
+
'gs-mutations-component': MutationsComponent;
|
|
964
974
|
}
|
|
965
975
|
}
|
|
966
976
|
|
|
@@ -968,7 +978,7 @@ declare global {
|
|
|
968
978
|
declare global {
|
|
969
979
|
namespace JSX {
|
|
970
980
|
interface IntrinsicElements {
|
|
971
|
-
'gs-
|
|
981
|
+
'gs-mutations-component': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
972
982
|
}
|
|
973
983
|
}
|
|
974
984
|
}
|
|
@@ -1008,7 +1018,7 @@ declare global {
|
|
|
1008
1018
|
|
|
1009
1019
|
declare global {
|
|
1010
1020
|
interface HTMLElementTagNameMap {
|
|
1011
|
-
'gs-
|
|
1021
|
+
'gs-aggregate': AggregateComponent;
|
|
1012
1022
|
}
|
|
1013
1023
|
}
|
|
1014
1024
|
|
|
@@ -1016,7 +1026,7 @@ declare global {
|
|
|
1016
1026
|
declare global {
|
|
1017
1027
|
namespace JSX {
|
|
1018
1028
|
interface IntrinsicElements {
|
|
1019
|
-
'gs-
|
|
1029
|
+
'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1020
1030
|
}
|
|
1021
1031
|
}
|
|
1022
1032
|
}
|
|
@@ -1024,7 +1034,7 @@ declare global {
|
|
|
1024
1034
|
|
|
1025
1035
|
declare global {
|
|
1026
1036
|
interface HTMLElementTagNameMap {
|
|
1027
|
-
'gs-
|
|
1037
|
+
'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
|
|
1028
1038
|
}
|
|
1029
1039
|
}
|
|
1030
1040
|
|
|
@@ -1032,7 +1042,7 @@ declare global {
|
|
|
1032
1042
|
declare global {
|
|
1033
1043
|
namespace JSX {
|
|
1034
1044
|
interface IntrinsicElements {
|
|
1035
|
-
'gs-
|
|
1045
|
+
'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1036
1046
|
}
|
|
1037
1047
|
}
|
|
1038
1048
|
}
|
|
@@ -1072,7 +1082,11 @@ declare global {
|
|
|
1072
1082
|
|
|
1073
1083
|
declare global {
|
|
1074
1084
|
interface HTMLElementTagNameMap {
|
|
1075
|
-
'gs-
|
|
1085
|
+
'gs-date-range-filter': DateRangeFilterComponent;
|
|
1086
|
+
}
|
|
1087
|
+
interface HTMLElementEventMap {
|
|
1088
|
+
[gsEventNames.dateRangeFilterChanged]: CustomEvent<Record<string, string>>;
|
|
1089
|
+
[gsEventNames.dateRangeOptionChanged]: DateRangeOptionChangedEvent;
|
|
1076
1090
|
}
|
|
1077
1091
|
}
|
|
1078
1092
|
|
|
@@ -1080,7 +1094,7 @@ declare global {
|
|
|
1080
1094
|
declare global {
|
|
1081
1095
|
namespace JSX {
|
|
1082
1096
|
interface IntrinsicElements {
|
|
1083
|
-
'gs-
|
|
1097
|
+
'gs-date-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1084
1098
|
}
|
|
1085
1099
|
}
|
|
1086
1100
|
}
|
|
@@ -1088,7 +1102,10 @@ declare global {
|
|
|
1088
1102
|
|
|
1089
1103
|
declare global {
|
|
1090
1104
|
interface HTMLElementTagNameMap {
|
|
1091
|
-
'gs-
|
|
1105
|
+
'gs-location-filter': LocationFilterComponent;
|
|
1106
|
+
}
|
|
1107
|
+
interface HTMLElementEventMap {
|
|
1108
|
+
[gsEventNames.locationChanged]: LocationChangedEvent;
|
|
1092
1109
|
}
|
|
1093
1110
|
}
|
|
1094
1111
|
|
|
@@ -1096,7 +1113,7 @@ declare global {
|
|
|
1096
1113
|
declare global {
|
|
1097
1114
|
namespace JSX {
|
|
1098
1115
|
interface IntrinsicElements {
|
|
1099
|
-
'gs-
|
|
1116
|
+
'gs-location-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1100
1117
|
}
|
|
1101
1118
|
}
|
|
1102
1119
|
}
|
|
@@ -1104,11 +1121,7 @@ declare global {
|
|
|
1104
1121
|
|
|
1105
1122
|
declare global {
|
|
1106
1123
|
interface HTMLElementTagNameMap {
|
|
1107
|
-
'gs-
|
|
1108
|
-
}
|
|
1109
|
-
interface HTMLElementEventMap {
|
|
1110
|
-
[gsEventNames.dateRangeFilterChanged]: CustomEvent<Record<string, string>>;
|
|
1111
|
-
[gsEventNames.dateRangeOptionChanged]: DateRangeOptionChangedEvent;
|
|
1124
|
+
'gs-statistics': StatisticsComponent;
|
|
1112
1125
|
}
|
|
1113
1126
|
}
|
|
1114
1127
|
|
|
@@ -1116,7 +1129,7 @@ declare global {
|
|
|
1116
1129
|
declare global {
|
|
1117
1130
|
namespace JSX {
|
|
1118
1131
|
interface IntrinsicElements {
|
|
1119
|
-
'gs-
|
|
1132
|
+
'gs-statistics': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1120
1133
|
}
|
|
1121
1134
|
}
|
|
1122
1135
|
}
|
|
@@ -1124,10 +1137,10 @@ declare global {
|
|
|
1124
1137
|
|
|
1125
1138
|
declare global {
|
|
1126
1139
|
interface HTMLElementTagNameMap {
|
|
1127
|
-
'gs-
|
|
1140
|
+
'gs-text-filter': TextFilterComponent;
|
|
1128
1141
|
}
|
|
1129
1142
|
interface HTMLElementEventMap {
|
|
1130
|
-
[gsEventNames.
|
|
1143
|
+
[gsEventNames.textFilterChanged]: TextFilterChangedEvent;
|
|
1131
1144
|
}
|
|
1132
1145
|
}
|
|
1133
1146
|
|
|
@@ -1135,7 +1148,7 @@ declare global {
|
|
|
1135
1148
|
declare global {
|
|
1136
1149
|
namespace JSX {
|
|
1137
1150
|
interface IntrinsicElements {
|
|
1138
|
-
'gs-
|
|
1151
|
+
'gs-text-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1139
1152
|
}
|
|
1140
1153
|
}
|
|
1141
1154
|
}
|
|
@@ -1143,10 +1156,10 @@ declare global {
|
|
|
1143
1156
|
|
|
1144
1157
|
declare global {
|
|
1145
1158
|
interface HTMLElementTagNameMap {
|
|
1146
|
-
'gs-
|
|
1159
|
+
'gs-lineage-filter': LineageFilterComponent;
|
|
1147
1160
|
}
|
|
1148
1161
|
interface HTMLElementEventMap {
|
|
1149
|
-
[gsEventNames.
|
|
1162
|
+
[gsEventNames.lineageFilterChanged]: LineageFilterChangedEvent;
|
|
1150
1163
|
}
|
|
1151
1164
|
}
|
|
1152
1165
|
|
|
@@ -1154,7 +1167,7 @@ declare global {
|
|
|
1154
1167
|
declare global {
|
|
1155
1168
|
namespace JSX {
|
|
1156
1169
|
interface IntrinsicElements {
|
|
1157
|
-
'gs-
|
|
1170
|
+
'gs-lineage-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1158
1171
|
}
|
|
1159
1172
|
}
|
|
1160
1173
|
}
|
|
@@ -1181,10 +1194,11 @@ declare global {
|
|
|
1181
1194
|
|
|
1182
1195
|
declare global {
|
|
1183
1196
|
interface HTMLElementTagNameMap {
|
|
1184
|
-
'gs-
|
|
1197
|
+
'gs-number-range-filter': NumberRangeFilterComponent;
|
|
1185
1198
|
}
|
|
1186
1199
|
interface HTMLElementEventMap {
|
|
1187
|
-
[gsEventNames.
|
|
1200
|
+
[gsEventNames.numberRangeFilterChanged]: NumberRangeFilterChangedEvent;
|
|
1201
|
+
[gsEventNames.numberRangeValueChanged]: NumberRangeValueChangedEvent;
|
|
1188
1202
|
}
|
|
1189
1203
|
}
|
|
1190
1204
|
|
|
@@ -1192,7 +1206,7 @@ declare global {
|
|
|
1192
1206
|
declare global {
|
|
1193
1207
|
namespace JSX {
|
|
1194
1208
|
interface IntrinsicElements {
|
|
1195
|
-
'gs-
|
|
1209
|
+
'gs-number-range-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1196
1210
|
}
|
|
1197
1211
|
}
|
|
1198
1212
|
}
|
|
@@ -1200,11 +1214,7 @@ declare global {
|
|
|
1200
1214
|
|
|
1201
1215
|
declare global {
|
|
1202
1216
|
interface HTMLElementTagNameMap {
|
|
1203
|
-
'gs-
|
|
1204
|
-
}
|
|
1205
|
-
interface HTMLElementEventMap {
|
|
1206
|
-
[gsEventNames.numberRangeFilterChanged]: NumberRangeFilterChangedEvent;
|
|
1207
|
-
[gsEventNames.numberRangeValueChanged]: NumberRangeValueChangedEvent;
|
|
1217
|
+
'gs-wastewater-mutations-over-time': WastewaterMutationsOverTimeComponent;
|
|
1208
1218
|
}
|
|
1209
1219
|
}
|
|
1210
1220
|
|
|
@@ -1212,7 +1222,7 @@ declare global {
|
|
|
1212
1222
|
declare global {
|
|
1213
1223
|
namespace JSX {
|
|
1214
1224
|
interface IntrinsicElements {
|
|
1215
|
-
'gs-
|
|
1225
|
+
'gs-wastewater-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1216
1226
|
}
|
|
1217
1227
|
}
|
|
1218
1228
|
}
|
package/dist/util.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { D, a, L, T, d, g, v } from "./
|
|
1
|
+
import { D, a, L, N, b, T, d, g, v } from "./NumberRangeFilterChangedEvent-RZ8haPHq.js";
|
|
2
2
|
export {
|
|
3
3
|
D as DateRangeOptionChangedEvent,
|
|
4
4
|
a as LineageFilterChangedEvent,
|
|
5
5
|
L as LocationChangedEvent,
|
|
6
|
+
N as NumberRangeFilterChangedEvent,
|
|
7
|
+
b as NumberRangeValueChangedEvent,
|
|
6
8
|
T as TextFilterChangedEvent,
|
|
7
9
|
d as dateRangeOptionPresets,
|
|
8
10
|
g as gsEventNames,
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
|
|
3
|
+
const lineage = z.object({
|
|
4
|
+
parents: z.array(z.string()).optional(),
|
|
5
|
+
aliases: z.array(z.string()),
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export const lineageDefinitionResponseSchema = z.record(lineage);
|
|
9
|
+
export type LineageDefinitionResponse = z.infer<typeof lineageDefinitionResponseSchema>;
|
package/src/lapisApi/lapisApi.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
type ProblemDetail,
|
|
12
12
|
} from './lapisTypes';
|
|
13
13
|
import { type SequenceType } from '../types';
|
|
14
|
+
import { lineageDefinitionResponseSchema } from './LineageDefinition';
|
|
14
15
|
|
|
15
16
|
export class UnknownLapisError extends Error {
|
|
16
17
|
constructor(
|
|
@@ -127,6 +128,30 @@ export async function fetchReferenceGenome(lapisUrl: string, signal?: AbortSigna
|
|
|
127
128
|
return referenceGenomeResponse.parse(await response.json());
|
|
128
129
|
}
|
|
129
130
|
|
|
131
|
+
export async function fetchLineageDefinition({
|
|
132
|
+
lapisUrl,
|
|
133
|
+
lapisField,
|
|
134
|
+
signal,
|
|
135
|
+
}: {
|
|
136
|
+
lapisUrl: string;
|
|
137
|
+
lapisField: string;
|
|
138
|
+
signal?: AbortSignal;
|
|
139
|
+
}) {
|
|
140
|
+
const response = await callLapis(
|
|
141
|
+
lineageDefinitionEndpoint(lapisUrl, lapisField),
|
|
142
|
+
{
|
|
143
|
+
method: 'GET',
|
|
144
|
+
headers: {
|
|
145
|
+
'Content-Type': 'application/json',
|
|
146
|
+
},
|
|
147
|
+
signal,
|
|
148
|
+
},
|
|
149
|
+
`${lapisField} lineage definition`,
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
return lineageDefinitionResponseSchema.parse(await response.json());
|
|
153
|
+
}
|
|
154
|
+
|
|
130
155
|
async function callLapis(
|
|
131
156
|
input: Parameters<typeof fetch>[0],
|
|
132
157
|
init: Parameters<typeof fetch>[1],
|
|
@@ -191,3 +216,5 @@ export const substitutionsOrDeletionsEndpoint = (lapisUrl: string, sequenceType:
|
|
|
191
216
|
: `${lapisUrl}/sample/nucleotideMutations`;
|
|
192
217
|
};
|
|
193
218
|
export const referenceGenomeEndpoint = (lapisUrl: string) => `${lapisUrl}/sample/referenceGenome`;
|
|
219
|
+
export const lineageDefinitionEndpoint = (lapisUrl: string, lapisField: string) =>
|
|
220
|
+
`${lapisUrl}/sample/lineageDefinition/${lapisField}`;
|