@genspectrum/dashboard-components 0.11.7 → 0.12.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.
- package/custom-elements.json +12 -12
- package/dist/{dateRangeOption-Bh2p78z0.js → LocationChangedEvent-CORvQvXv.js} +11 -1
- package/dist/LocationChangedEvent-CORvQvXv.js.map +1 -0
- package/dist/components.d.ts +45 -51
- package/dist/components.js +3880 -613
- package/dist/components.js.map +1 -1
- package/dist/style.css +151 -4
- package/dist/util.d.ts +50 -44
- package/dist/util.js +2 -1
- package/package.json +2 -1
- package/src/preact/components/csv-download-button.tsx +2 -2
- package/src/preact/downshift_types.d.ts +3 -0
- package/src/preact/locationFilter/LocationChangedEvent.ts +11 -0
- package/src/preact/locationFilter/fetchAutocompletionList.spec.ts +5 -5
- package/src/preact/locationFilter/fetchAutocompletionList.ts +9 -2
- package/src/preact/locationFilter/location-filter.stories.tsx +94 -10
- package/src/preact/locationFilter/location-filter.tsx +183 -62
- package/src/preact/mutationFilter/mutation-filter-info.tsx +73 -10
- package/src/utilEntrypoint.ts +2 -0
- package/src/web-components/input/gs-location-filter.stories.ts +34 -29
- package/src/web-components/input/gs-location-filter.tsx +6 -13
- package/standalone-bundle/dashboard-components.js +10956 -8607
- package/standalone-bundle/dashboard-components.js.map +1 -1
- package/standalone-bundle/style.css +1 -1
- package/dist/dateRangeOption-Bh2p78z0.js.map +0 -1
package/custom-elements.json
CHANGED
|
@@ -714,7 +714,7 @@
|
|
|
714
714
|
"type": {
|
|
715
715
|
"text": "Meta"
|
|
716
716
|
},
|
|
717
|
-
"default": "{ title: 'Input/Location filter', component: 'gs-location-filter', parameters: withComponentDocs({ actions: { handles: ['gs-location-changed', ...previewHandles], }, componentDocs: { opensShadowDom: true, expectsChildren: false, codeExample, }, }), argTypes: { fields: { control: { type: 'object', }, },
|
|
717
|
+
"default": "{ title: 'Input/Location filter', component: 'gs-location-filter', parameters: withComponentDocs({ actions: { handles: ['gs-location-changed', ...previewHandles], }, componentDocs: { opensShadowDom: true, expectsChildren: false, codeExample, }, }), argTypes: { fields: { control: { type: 'object', }, }, value: { control: { type: 'object', }, }, width: { control: { type: 'text', }, }, placeholderText: { control: { type: 'text', }, }, }, tags: ['autodocs'], }"
|
|
718
718
|
},
|
|
719
719
|
{
|
|
720
720
|
"kind": "variable",
|
|
@@ -722,7 +722,7 @@
|
|
|
722
722
|
"type": {
|
|
723
723
|
"text": "StoryObj<LocationFilterProps>"
|
|
724
724
|
},
|
|
725
|
-
"default": "{ ...Template, parameters: { fetchMock: { mocks: [ { matcher: aggregatedEndpointMatcher, response: { status: 200, body: data, }, }, ], }, }, play: async ({ canvasElement }) => { const canvas = await withinShadowRoot(canvasElement, 'gs-location-filter'); await waitFor(() => { return expect(canvas.
|
|
725
|
+
"default": "{ ...Template, parameters: { fetchMock: { mocks: [ { matcher: aggregatedEndpointMatcher, response: { status: 200, body: data, }, }, ], }, }, play: async ({ canvasElement }) => { const canvas = await withinShadowRoot(canvasElement, 'gs-location-filter'); await waitFor(() => { return expect(canvas.getByPlaceholderText('Enter a location')).toBeVisible(); }); }, }"
|
|
726
726
|
},
|
|
727
727
|
{
|
|
728
728
|
"kind": "variable",
|
|
@@ -746,7 +746,7 @@
|
|
|
746
746
|
"type": {
|
|
747
747
|
"text": "StoryObj<LocationFilterProps>"
|
|
748
748
|
},
|
|
749
|
-
"default": "{ ...Template, parameters: { fetchMock: { mocks: [ { matcher: aggregatedEndpointMatcher, response: { status: 200, body: data, }, }, ], }, }, play: async ({ canvasElement, step }) => { const canvas = await withinShadowRoot(canvasElement, 'gs-location-filter'); const inputField = () => canvas.getByRole('combobox'); const listenerMock = fn(); await step('Setup event listener mock', async () => { canvasElement.addEventListener('gs-location-changed', listenerMock); }); await step('wait until data is loaded', async () => { await waitFor(() => { return expect(inputField()).toBeEnabled(); }); }); await step('Input invalid location', async () => { await userEvent.type(inputField(), 'Not / A / Location'); await expect(listenerMock).not.toHaveBeenCalled(); }); await step('Empty input', async () => { await userEvent.type(inputField(), '{backspace>18/}'); await expect(listenerMock.mock.calls.at(-1)![0].detail).toStrictEqual({ region: undefined, country: undefined, division: undefined, location: undefined, }); }); await step('Select Asia', async () => { await userEvent.type(inputField(), 'Asia'); await expect(listenerMock.mock.calls.at(-1)![0].detail).toStrictEqual({ region: 'Asia', country: undefined, division: undefined, location: undefined, }); }); await step('Select Asia / Bangladesh / Rajshahi / Chapainawabgonj', async () => { await userEvent.type(inputField(), ' / Bangladesh / Rajshahi / Chapainawabgonj'); await
|
|
749
|
+
"default": "{ ...Template, parameters: { fetchMock: { mocks: [ { matcher: aggregatedEndpointMatcher, response: { status: 200, body: data, }, }, ], }, }, play: async ({ canvasElement, step }) => { const canvas = await withinShadowRoot(canvasElement, 'gs-location-filter'); const inputField = () => canvas.getByRole('combobox'); const listenerMock = fn(); await step('Setup event listener mock', async () => { canvasElement.addEventListener('gs-location-changed', listenerMock); }); await step('wait until data is loaded', async () => { await waitFor(() => { return expect(inputField()).toBeEnabled(); }); }); await step('Input invalid location', async () => { await userEvent.type(inputField(), 'Not / A / Location'); await expect(listenerMock).not.toHaveBeenCalled(); }); await step('Empty input', async () => { await userEvent.type(inputField(), '{backspace>18/}'); await userEvent.click(canvas.getByLabelText('toggle menu')); await waitFor(() => { return expect(listenerMock.mock.calls.at(-1)![0].detail).toStrictEqual({ region: undefined, country: undefined, division: undefined, location: undefined, }); }); }); await step('Select Asia', async () => { await userEvent.type(inputField(), 'Asia'); await userEvent.click(canvas.getByRole('option', { name: 'Asia Asia' })); await waitFor(() => { return expect(listenerMock.mock.calls.at(-1)![0].detail).toStrictEqual({ region: 'Asia', country: undefined, division: undefined, location: undefined, }); }); }); await step('Select Asia / Bangladesh / Rajshahi / Chapainawabgonj', async () => { await userEvent.type(inputField(), ' / Bangladesh / Rajshahi / Chapainawabgonj'); await userEvent.click(canvas.getByText('Asia / Bangladesh / Rajshahi / Chapainawabgonj')); await waitFor(() => { return expect(listenerMock.mock.calls.at(-1)![0].detail).toStrictEqual({ region: 'Asia', country: 'Bangladesh', division: 'Rajshahi', location: 'Chapainawabgonj', }); }); }); }, }"
|
|
750
750
|
}
|
|
751
751
|
],
|
|
752
752
|
"exports": [
|
|
@@ -798,18 +798,18 @@
|
|
|
798
798
|
"declarations": [
|
|
799
799
|
{
|
|
800
800
|
"kind": "class",
|
|
801
|
-
"description": "## Context\n\nThis component provides an input field to specify filters for locations.\n\nIt expects a list of fields that form a strict hierarchical order, such as continent, country, and city.\nThe component retrieves a list of all possible values for these fields from the Lapis instance.\nThis list is then utilized to display autocomplete suggestions and to validate the input
|
|
801
|
+
"description": "## Context\n\nThis component provides an input field to specify filters for locations.\n\nIt expects a list of fields that form a strict hierarchical order, such as continent, country, and city.\nThe component retrieves a list of all possible values for these fields from the Lapis instance.\nThis list is then utilized to display autocomplete suggestions and to validate the input.",
|
|
802
802
|
"name": "LocationFilterComponent",
|
|
803
803
|
"members": [
|
|
804
804
|
{
|
|
805
805
|
"kind": "field",
|
|
806
|
-
"name": "
|
|
806
|
+
"name": "value",
|
|
807
807
|
"type": {
|
|
808
|
-
"text": "string | undefined"
|
|
808
|
+
"text": "Record<string, string | null | undefined> | undefined"
|
|
809
809
|
},
|
|
810
810
|
"default": "undefined",
|
|
811
|
-
"description": "The initial value to use for this location filter
|
|
812
|
-
"attribute": "
|
|
811
|
+
"description": "The initial value to use for this location filter.",
|
|
812
|
+
"attribute": "value"
|
|
813
813
|
},
|
|
814
814
|
{
|
|
815
815
|
"kind": "field",
|
|
@@ -853,13 +853,13 @@
|
|
|
853
853
|
],
|
|
854
854
|
"attributes": [
|
|
855
855
|
{
|
|
856
|
-
"name": "
|
|
856
|
+
"name": "value",
|
|
857
857
|
"type": {
|
|
858
|
-
"text": "string | undefined"
|
|
858
|
+
"text": "Record<string, string | null | undefined> | undefined"
|
|
859
859
|
},
|
|
860
860
|
"default": "undefined",
|
|
861
|
-
"description": "The initial value to use for this location filter
|
|
862
|
-
"fieldName": "
|
|
861
|
+
"description": "The initial value to use for this location filter.",
|
|
862
|
+
"fieldName": "value"
|
|
863
863
|
},
|
|
864
864
|
{
|
|
865
865
|
"name": "fields",
|
|
@@ -96,8 +96,18 @@ const dateRangeOptionPresets = {
|
|
|
96
96
|
label: "All times"
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
|
+
class LocationChangedEvent extends CustomEvent {
|
|
100
|
+
constructor(detail) {
|
|
101
|
+
super("gs-location-changed", {
|
|
102
|
+
detail,
|
|
103
|
+
bubbles: true,
|
|
104
|
+
composed: true
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
99
108
|
export {
|
|
100
109
|
DateRangeOptionChangedEvent as D,
|
|
110
|
+
LocationChangedEvent as L,
|
|
101
111
|
dateRangeOptionSchema as a,
|
|
102
112
|
toYYYYMMDD as b,
|
|
103
113
|
dateRangeOptionPresets as d,
|
|
@@ -108,4 +118,4 @@ export {
|
|
|
108
118
|
temporalGranularitySchema as t,
|
|
109
119
|
views as v
|
|
110
120
|
};
|
|
111
|
-
//# sourceMappingURL=
|
|
121
|
+
//# sourceMappingURL=LocationChangedEvent-CORvQvXv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationChangedEvent-CORvQvXv.js","sources":["../src/types.ts","../src/preact/dateRangeSelector/dateConversion.ts","../src/preact/dateRangeSelector/dateRangeOption.ts","../src/preact/locationFilter/LocationChangedEvent.ts"],"sourcesContent":["import z from 'zod';\n\nimport {\n type Deletion,\n type DeletionClass,\n type Insertion,\n type InsertionClass,\n type Substitution,\n type SubstitutionClass,\n} from './utils/mutations';\n\nexport const mutationsFilterSchema = z.object({\n nucleotideMutations: z.array(z.string()),\n aminoAcidMutations: z.array(z.string()),\n nucleotideInsertions: z.array(z.string()),\n aminoAcidInsertions: z.array(z.string()),\n});\nexport type MutationsFilter = z.infer<typeof mutationsFilterSchema>;\n\nexport const lapisFilterSchema = z\n .record(z.union([z.string(), z.array(z.string()), z.number(), z.null(), z.boolean(), z.undefined()]))\n .and(mutationsFilterSchema.partial());\nexport type LapisFilter = z.infer<typeof lapisFilterSchema>;\n\nexport const namedLapisFilterSchema = z.object({\n lapisFilter: lapisFilterSchema,\n displayName: z.string(),\n});\nexport type NamedLapisFilter = z.infer<typeof namedLapisFilterSchema>;\n\nexport const temporalGranularitySchema = z.union([\n z.literal('day'),\n z.literal('week'),\n z.literal('month'),\n z.literal('year'),\n]);\nexport type TemporalGranularity = z.infer<typeof temporalGranularitySchema>;\n\nexport const sequenceTypeSchema = z.union([z.literal('nucleotide'), z.literal('amino acid')]);\nexport type SequenceType = z.infer<typeof sequenceTypeSchema>;\n\nexport type SubstitutionOrDeletion = 'substitution' | 'deletion';\n\nexport type MutationType = SubstitutionOrDeletion | 'insertion';\n\nexport type SubstitutionEntry<T extends Substitution = SubstitutionClass> = {\n type: 'substitution';\n mutation: T;\n count: number;\n proportion: number;\n};\n\nexport type DeletionEntry<T extends Deletion = DeletionClass> = {\n type: 'deletion';\n mutation: T;\n count: number;\n proportion: number;\n};\n\nexport type InsertionEntry<T extends Insertion = InsertionClass> = { type: 'insertion'; mutation: T; count: number };\n\nexport type SubstitutionOrDeletionEntry<\n S extends Substitution = SubstitutionClass,\n D extends Deletion = DeletionClass,\n> = SubstitutionEntry<S> | DeletionEntry<D>;\n\nexport type MutationEntry = SubstitutionEntry | DeletionEntry | InsertionEntry;\n\nexport const views = {\n table: 'table',\n venn: 'venn',\n grid: 'grid',\n insertions: 'insertions',\n bar: 'bar',\n line: 'line',\n bubble: 'bubble',\n map: 'map',\n} as const;\n","export const toYYYYMMDD = (date: Date) => {\n const options: Intl.DateTimeFormatOptions = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return date.toLocaleDateString('en-CA', options);\n};\n","import z from 'zod';\n\nimport { toYYYYMMDD } from './dateConversion';\n\n/**\n * A date range option that can be used in the `gs-date-range-selector` component.\n */\nexport const dateRangeOptionSchema = z.object({\n /** The label of the date range option that will be shown to the user */\n label: z.string(),\n /**\n * The start date of the date range in the format `YYYY-MM-DD`.\n * If not set, the date range selector will default to the `earliestDate` property.\n */\n dateFrom: z.string().date().optional(),\n /**\n * The end date of the date range in the format `YYYY-MM-DD`.\n * If not set, the date range selector will default to the current date.\n */\n dateTo: z.string().date().optional(),\n});\n\nexport type DateRangeOption = z.infer<typeof dateRangeOptionSchema>;\n\nexport type DateRangeSelectOption = string | { dateFrom: string; dateTo: string };\n\nexport class DateRangeOptionChangedEvent extends CustomEvent<DateRangeSelectOption> {\n constructor(detail: DateRangeSelectOption) {\n super('gs-date-range-option-changed', {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n\nconst today = new Date();\n\nconst twoWeeksAgo = new Date();\ntwoWeeksAgo.setDate(today.getDate() - 14);\n\nconst lastMonth = new Date(today);\nlastMonth.setMonth(today.getMonth() - 1);\n\nconst last2Months = new Date(today);\nlast2Months.setMonth(today.getMonth() - 2);\n\nconst last3Months = new Date(today);\nlast3Months.setMonth(today.getMonth() - 3);\n\nconst last6Months = new Date(today);\nlast6Months.setMonth(today.getMonth() - 6);\n\nconst lastYear = new Date(today);\nlastYear.setFullYear(today.getFullYear() - 1);\n\n/**\n * Presets for the `gs-date-range-selector` component that can be used as `dateRangeOptions`.\n */\nexport const dateRangeOptionPresets = {\n last2Weeks: {\n label: 'Last 2 weeks',\n dateFrom: toYYYYMMDD(twoWeeksAgo),\n },\n lastMonth: {\n label: 'Last month',\n dateFrom: toYYYYMMDD(lastMonth),\n },\n last2Months: {\n label: 'Last 2 months',\n dateFrom: toYYYYMMDD(last2Months),\n },\n last3Months: {\n label: 'Last 3 months',\n dateFrom: toYYYYMMDD(last3Months),\n },\n last6Months: {\n label: 'Last 6 months',\n dateFrom: toYYYYMMDD(last6Months),\n },\n lastYear: {\n label: 'Last year',\n dateFrom: toYYYYMMDD(lastYear),\n },\n allTimes: {\n label: 'All times',\n },\n} satisfies Record<string, DateRangeOption>;\n","export type LapisLocationFilter = Record<string, string | null | undefined>;\n\nexport class LocationChangedEvent extends CustomEvent<LapisLocationFilter> {\n constructor(detail: LapisLocationFilter) {\n super('gs-location-changed', {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/components.d.ts
CHANGED
|
@@ -278,11 +278,6 @@ export declare class LineageFilterComponent extends PreactLitAdapter {
|
|
|
278
278
|
* The component retrieves a list of all possible values for these fields from the Lapis instance.
|
|
279
279
|
* This list is then utilized to display autocomplete suggestions and to validate the input.
|
|
280
280
|
*
|
|
281
|
-
* Given `fields` are `['field1', 'field2', ..., 'fieldN']`,
|
|
282
|
-
* then valid values for the location filter must be in the form `valueForField1 / valueForField2 / ... / valueForFieldK`,
|
|
283
|
-
* where `1 <= K <= N`.
|
|
284
|
-
* Values for the fields `i > K` are considered `undefined`.
|
|
285
|
-
*
|
|
286
281
|
* @fires {CustomEvent<Record<string, string>>} gs-location-changed
|
|
287
282
|
* Fired when a value from the datalist is selected or when a valid value is typed into the field.
|
|
288
283
|
* The `details` of this event contain an object with all `fields` as keys
|
|
@@ -300,9 +295,8 @@ export declare class LineageFilterComponent extends PreactLitAdapter {
|
|
|
300
295
|
export declare class LocationFilterComponent extends PreactLitAdapter {
|
|
301
296
|
/**
|
|
302
297
|
* The initial value to use for this location filter.
|
|
303
|
-
* Must be of the form `valueForField1 / valueForField2 / ... / valueForFieldN`.
|
|
304
298
|
*/
|
|
305
|
-
|
|
299
|
+
value: Record<string, string | null | undefined> | undefined;
|
|
306
300
|
/**
|
|
307
301
|
* Required.
|
|
308
302
|
*
|
|
@@ -1269,7 +1263,10 @@ declare global {
|
|
|
1269
1263
|
|
|
1270
1264
|
declare global {
|
|
1271
1265
|
interface HTMLElementTagNameMap {
|
|
1272
|
-
'gs-
|
|
1266
|
+
'gs-location-filter': LocationFilterComponent;
|
|
1267
|
+
}
|
|
1268
|
+
interface HTMLElementEventMap {
|
|
1269
|
+
'gs-location-changed': LocationChangedEvent;
|
|
1273
1270
|
}
|
|
1274
1271
|
}
|
|
1275
1272
|
|
|
@@ -1277,7 +1274,7 @@ declare global {
|
|
|
1277
1274
|
declare global {
|
|
1278
1275
|
namespace JSX {
|
|
1279
1276
|
interface IntrinsicElements {
|
|
1280
|
-
'gs-
|
|
1277
|
+
'gs-location-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1281
1278
|
}
|
|
1282
1279
|
}
|
|
1283
1280
|
}
|
|
@@ -1285,7 +1282,11 @@ declare global {
|
|
|
1285
1282
|
|
|
1286
1283
|
declare global {
|
|
1287
1284
|
interface HTMLElementTagNameMap {
|
|
1288
|
-
'gs-
|
|
1285
|
+
'gs-date-range-selector': DateRangeSelectorComponent;
|
|
1286
|
+
}
|
|
1287
|
+
interface HTMLElementEventMap {
|
|
1288
|
+
'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
|
|
1289
|
+
'gs-date-range-option-changed': DateRangeOptionChangedEvent;
|
|
1289
1290
|
}
|
|
1290
1291
|
}
|
|
1291
1292
|
|
|
@@ -1293,7 +1294,7 @@ declare global {
|
|
|
1293
1294
|
declare global {
|
|
1294
1295
|
namespace JSX {
|
|
1295
1296
|
interface IntrinsicElements {
|
|
1296
|
-
'gs-
|
|
1297
|
+
'gs-date-range-selector': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1297
1298
|
}
|
|
1298
1299
|
}
|
|
1299
1300
|
}
|
|
@@ -1301,7 +1302,10 @@ declare global {
|
|
|
1301
1302
|
|
|
1302
1303
|
declare global {
|
|
1303
1304
|
interface HTMLElementTagNameMap {
|
|
1304
|
-
'gs-
|
|
1305
|
+
'gs-text-input': TextInputComponent;
|
|
1306
|
+
}
|
|
1307
|
+
interface HTMLElementEventMap {
|
|
1308
|
+
'gs-text-input-changed': CustomEvent<Record<string, string>>;
|
|
1305
1309
|
}
|
|
1306
1310
|
}
|
|
1307
1311
|
|
|
@@ -1309,7 +1313,7 @@ declare global {
|
|
|
1309
1313
|
declare global {
|
|
1310
1314
|
namespace JSX {
|
|
1311
1315
|
interface IntrinsicElements {
|
|
1312
|
-
'gs-
|
|
1316
|
+
'gs-text-input': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1313
1317
|
}
|
|
1314
1318
|
}
|
|
1315
1319
|
}
|
|
@@ -1317,7 +1321,10 @@ declare global {
|
|
|
1317
1321
|
|
|
1318
1322
|
declare global {
|
|
1319
1323
|
interface HTMLElementTagNameMap {
|
|
1320
|
-
'gs-
|
|
1324
|
+
'gs-mutation-filter': MutationFilterComponent;
|
|
1325
|
+
}
|
|
1326
|
+
interface HTMLElementEventMap {
|
|
1327
|
+
'gs-mutation-filter-changed': CustomEvent<MutationsFilter>;
|
|
1321
1328
|
}
|
|
1322
1329
|
}
|
|
1323
1330
|
|
|
@@ -1325,7 +1332,7 @@ declare global {
|
|
|
1325
1332
|
declare global {
|
|
1326
1333
|
namespace JSX {
|
|
1327
1334
|
interface IntrinsicElements {
|
|
1328
|
-
'gs-
|
|
1335
|
+
'gs-mutation-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1329
1336
|
}
|
|
1330
1337
|
}
|
|
1331
1338
|
}
|
|
@@ -1333,7 +1340,10 @@ declare global {
|
|
|
1333
1340
|
|
|
1334
1341
|
declare global {
|
|
1335
1342
|
interface HTMLElementTagNameMap {
|
|
1336
|
-
'gs-
|
|
1343
|
+
'gs-lineage-filter': LineageFilterComponent;
|
|
1344
|
+
}
|
|
1345
|
+
interface HTMLElementEventMap {
|
|
1346
|
+
'gs-lineage-filter-changed': CustomEvent<Record<string, string>>;
|
|
1337
1347
|
}
|
|
1338
1348
|
}
|
|
1339
1349
|
|
|
@@ -1341,7 +1351,7 @@ declare global {
|
|
|
1341
1351
|
declare global {
|
|
1342
1352
|
namespace JSX {
|
|
1343
1353
|
interface IntrinsicElements {
|
|
1344
|
-
'gs-
|
|
1354
|
+
'gs-lineage-filter': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1345
1355
|
}
|
|
1346
1356
|
}
|
|
1347
1357
|
}
|
|
@@ -1349,7 +1359,7 @@ declare global {
|
|
|
1349
1359
|
|
|
1350
1360
|
declare global {
|
|
1351
1361
|
interface HTMLElementTagNameMap {
|
|
1352
|
-
'gs-
|
|
1362
|
+
'gs-mutation-comparison-component': MutationComparisonComponent;
|
|
1353
1363
|
}
|
|
1354
1364
|
}
|
|
1355
1365
|
|
|
@@ -1357,7 +1367,7 @@ declare global {
|
|
|
1357
1367
|
declare global {
|
|
1358
1368
|
namespace JSX {
|
|
1359
1369
|
interface IntrinsicElements {
|
|
1360
|
-
'gs-
|
|
1370
|
+
'gs-mutation-comparison-component': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1361
1371
|
}
|
|
1362
1372
|
}
|
|
1363
1373
|
}
|
|
@@ -1365,7 +1375,7 @@ declare global {
|
|
|
1365
1375
|
|
|
1366
1376
|
declare global {
|
|
1367
1377
|
interface HTMLElementTagNameMap {
|
|
1368
|
-
'gs-
|
|
1378
|
+
'gs-mutations-component': MutationsComponent;
|
|
1369
1379
|
}
|
|
1370
1380
|
}
|
|
1371
1381
|
|
|
@@ -1373,7 +1383,7 @@ declare global {
|
|
|
1373
1383
|
declare global {
|
|
1374
1384
|
namespace JSX {
|
|
1375
1385
|
interface IntrinsicElements {
|
|
1376
|
-
'gs-
|
|
1386
|
+
'gs-mutations-component': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1377
1387
|
}
|
|
1378
1388
|
}
|
|
1379
1389
|
}
|
|
@@ -1381,7 +1391,7 @@ declare global {
|
|
|
1381
1391
|
|
|
1382
1392
|
declare global {
|
|
1383
1393
|
interface HTMLElementTagNameMap {
|
|
1384
|
-
'gs-
|
|
1394
|
+
'gs-prevalence-over-time': PrevalenceOverTimeComponent;
|
|
1385
1395
|
}
|
|
1386
1396
|
}
|
|
1387
1397
|
|
|
@@ -1389,7 +1399,7 @@ declare global {
|
|
|
1389
1399
|
declare global {
|
|
1390
1400
|
namespace JSX {
|
|
1391
1401
|
interface IntrinsicElements {
|
|
1392
|
-
'gs-
|
|
1402
|
+
'gs-prevalence-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1393
1403
|
}
|
|
1394
1404
|
}
|
|
1395
1405
|
}
|
|
@@ -1397,7 +1407,7 @@ declare global {
|
|
|
1397
1407
|
|
|
1398
1408
|
declare global {
|
|
1399
1409
|
interface HTMLElementTagNameMap {
|
|
1400
|
-
'gs-
|
|
1410
|
+
'gs-relative-growth-advantage': RelativeGrowthAdvantageComponent;
|
|
1401
1411
|
}
|
|
1402
1412
|
}
|
|
1403
1413
|
|
|
@@ -1405,7 +1415,7 @@ declare global {
|
|
|
1405
1415
|
declare global {
|
|
1406
1416
|
namespace JSX {
|
|
1407
1417
|
interface IntrinsicElements {
|
|
1408
|
-
'gs-
|
|
1418
|
+
'gs-relative-growth-advantage': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1409
1419
|
}
|
|
1410
1420
|
}
|
|
1411
1421
|
}
|
|
@@ -1413,10 +1423,7 @@ declare global {
|
|
|
1413
1423
|
|
|
1414
1424
|
declare global {
|
|
1415
1425
|
interface HTMLElementTagNameMap {
|
|
1416
|
-
'gs-
|
|
1417
|
-
}
|
|
1418
|
-
interface HTMLElementEventMap {
|
|
1419
|
-
'gs-text-input-changed': CustomEvent<Record<string, string>>;
|
|
1426
|
+
'gs-aggregate': AggregateComponent;
|
|
1420
1427
|
}
|
|
1421
1428
|
}
|
|
1422
1429
|
|
|
@@ -1424,7 +1431,7 @@ declare global {
|
|
|
1424
1431
|
declare global {
|
|
1425
1432
|
namespace JSX {
|
|
1426
1433
|
interface IntrinsicElements {
|
|
1427
|
-
'gs-
|
|
1434
|
+
'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1428
1435
|
}
|
|
1429
1436
|
}
|
|
1430
1437
|
}
|
|
@@ -1432,11 +1439,7 @@ declare global {
|
|
|
1432
1439
|
|
|
1433
1440
|
declare global {
|
|
1434
1441
|
interface HTMLElementTagNameMap {
|
|
1435
|
-
'gs-
|
|
1436
|
-
}
|
|
1437
|
-
interface HTMLElementEventMap {
|
|
1438
|
-
'gs-date-range-filter-changed': CustomEvent<Record<string, string>>;
|
|
1439
|
-
'gs-date-range-option-changed': DateRangeOptionChangedEvent;
|
|
1442
|
+
'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
|
|
1440
1443
|
}
|
|
1441
1444
|
}
|
|
1442
1445
|
|
|
@@ -1444,7 +1447,7 @@ declare global {
|
|
|
1444
1447
|
declare global {
|
|
1445
1448
|
namespace JSX {
|
|
1446
1449
|
interface IntrinsicElements {
|
|
1447
|
-
'gs-
|
|
1450
|
+
'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1448
1451
|
}
|
|
1449
1452
|
}
|
|
1450
1453
|
}
|
|
@@ -1452,10 +1455,7 @@ declare global {
|
|
|
1452
1455
|
|
|
1453
1456
|
declare global {
|
|
1454
1457
|
interface HTMLElementTagNameMap {
|
|
1455
|
-
'gs-
|
|
1456
|
-
}
|
|
1457
|
-
interface HTMLElementEventMap {
|
|
1458
|
-
'gs-location-changed': CustomEvent<Record<string, string>>;
|
|
1458
|
+
'gs-mutations-over-time': MutationsOverTimeComponent;
|
|
1459
1459
|
}
|
|
1460
1460
|
}
|
|
1461
1461
|
|
|
@@ -1463,7 +1463,7 @@ declare global {
|
|
|
1463
1463
|
declare global {
|
|
1464
1464
|
namespace JSX {
|
|
1465
1465
|
interface IntrinsicElements {
|
|
1466
|
-
'gs-
|
|
1466
|
+
'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1467
1467
|
}
|
|
1468
1468
|
}
|
|
1469
1469
|
}
|
|
@@ -1471,10 +1471,7 @@ declare global {
|
|
|
1471
1471
|
|
|
1472
1472
|
declare global {
|
|
1473
1473
|
interface HTMLElementTagNameMap {
|
|
1474
|
-
'gs-
|
|
1475
|
-
}
|
|
1476
|
-
interface HTMLElementEventMap {
|
|
1477
|
-
'gs-mutation-filter-changed': CustomEvent<MutationsFilter>;
|
|
1474
|
+
'gs-sequences-by-location': SequencesByLocationComponent;
|
|
1478
1475
|
}
|
|
1479
1476
|
}
|
|
1480
1477
|
|
|
@@ -1482,7 +1479,7 @@ declare global {
|
|
|
1482
1479
|
declare global {
|
|
1483
1480
|
namespace JSX {
|
|
1484
1481
|
interface IntrinsicElements {
|
|
1485
|
-
'gs-
|
|
1482
|
+
'gs-sequences-by-location': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1486
1483
|
}
|
|
1487
1484
|
}
|
|
1488
1485
|
}
|
|
@@ -1490,10 +1487,7 @@ declare global {
|
|
|
1490
1487
|
|
|
1491
1488
|
declare global {
|
|
1492
1489
|
interface HTMLElementTagNameMap {
|
|
1493
|
-
'gs-
|
|
1494
|
-
}
|
|
1495
|
-
interface HTMLElementEventMap {
|
|
1496
|
-
'gs-lineage-filter-changed': CustomEvent<Record<string, string>>;
|
|
1490
|
+
'gs-statistics': StatisticsComponent;
|
|
1497
1491
|
}
|
|
1498
1492
|
}
|
|
1499
1493
|
|
|
@@ -1501,7 +1495,7 @@ declare global {
|
|
|
1501
1495
|
declare global {
|
|
1502
1496
|
namespace JSX {
|
|
1503
1497
|
interface IntrinsicElements {
|
|
1504
|
-
'gs-
|
|
1498
|
+
'gs-statistics': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
|
|
1505
1499
|
}
|
|
1506
1500
|
}
|
|
1507
1501
|
}
|