@genspectrum/dashboard-components 0.20.0 → 1.0.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.
@@ -325,7 +325,7 @@
325
325
  "type": {
326
326
  "text": "Meta<Required<DateRangeFilterProps>>"
327
327
  },
328
- "default": "{ title: 'Input/DateRangeFilter', component: 'gs-date-range-filter', parameters: withComponentDocs({ actions: { handles: [gsEventNames.dateRangeFilterChanged, gsEventNames.dateRangeOptionChanged, ...previewHandles], }, fetchMock: {}, componentDocs: { opensShadowDom: true, expectsChildren: false, codeExample, }, }), argTypes: { value: { control: { type: 'object' }, }, lapisDateField: { control: { type: 'text' } }, dateRangeOptions: { control: { type: 'object' }, }, earliestDate: { control: { type: 'text' }, }, width: { control: { type: 'text' }, }, placeholder: { control: { type: 'text' }, }, }, args: { dateRangeOptions: [ dateRangeOptionPresets().lastMonth, dateRangeOptionPresets().last3Months, dateRangeOptionPresets().allTimes, { label: '2021', dateFrom: '2021-01-01', dateTo: '2021-12-31' }, customDateRange, ], earliestDate: '1970-01-01', value: dateRangeOptionPresets().lastMonth.label, lapisDateField: 'aDateColumn', width: '100%', placeholder: 'Date range', }, tags: ['autodocs'], }"
328
+ "default": "{ title: 'Input/DateRangeFilter', component: 'gs-date-range-filter', parameters: withComponentDocs({ actions: { handles: [gsEventNames.dateRangeFilterChanged, gsEventNames.dateRangeOptionChanged, ...previewHandles], }, fetchMock: {}, componentDocs: { opensShadowDom: true, expectsChildren: false, codeExample, }, }), argTypes: { value: { control: { type: 'object' }, }, lapisDateField: { control: { type: 'text' } }, dateRangeOptions: { control: { type: 'object' }, }, width: { control: { type: 'text' }, }, placeholder: { control: { type: 'text' }, }, }, args: { dateRangeOptions: [ dateRangeOptionPresets().lastMonth, dateRangeOptionPresets().last3Months, { label: '2021', dateFrom: '2021-01-01', dateTo: '2021-12-31' }, customDateRange, ], value: dateRangeOptionPresets().lastMonth.label, lapisDateField: 'aDateColumn', width: '100%', placeholder: 'Date range', }, tags: ['autodocs'], }"
329
329
  },
330
330
  {
331
331
  "kind": "variable",
@@ -333,7 +333,7 @@
333
333
  "type": {
334
334
  "text": "StoryObj<Required<DateRangeFilterProps>>"
335
335
  },
336
- "default": "{ render: (args) => html` <gs-app lapis=\"${LAPIS_URL}\"> <div class=\"max-w-(--breakpoint-lg)\"> <gs-date-range-filter .dateRangeOptions=${args.dateRangeOptions} .earliestDate=${args.earliestDate} .value=${args.value} .width=${args.width} .lapisDateField=${args.lapisDateField} .placeholder=${args.placeholder} ></gs-date-range-filter> </div> </gs-app>`, }"
336
+ "default": "{ render: (args) => html` <gs-app lapis=\"${LAPIS_URL}\"> <div class=\"max-w-(--breakpoint-lg)\"> <gs-date-range-filter .dateRangeOptions=${args.dateRangeOptions} .value=${args.value} .width=${args.width} .lapisDateField=${args.lapisDateField} .placeholder=${args.placeholder} ></gs-date-range-filter> </div> </gs-app>`, }"
337
337
  },
338
338
  {
339
339
  "kind": "variable",
@@ -341,7 +341,7 @@
341
341
  "type": {
342
342
  "text": "StoryObj<Required<DateRangeFilterProps>>"
343
343
  },
344
- "default": "{ render: (args) => html` <gs-app lapis=\"${LAPIS_URL}\"> <div class=\"max-w-(--breakpoint-lg)\"> <gs-date-range-filter .dateRangeOptions=${args.dateRangeOptions} earliestDate=\"${args.earliestDate}\" value=\"${args.value ?? 'null'}\" width=\"${args.width}\" lapisDateField=\"${args.lapisDateField}\" placeholder=\"${args.placeholder}\" ></gs-date-range-filter> </div> </gs-app>`, play: async ({ canvasElement }) => { await waitFor(async () => { const canvas = await withinShadowRoot(canvasElement, 'gs-date-range-filter'); const placeholderOption = canvas.getByRole('combobox').querySelector('option:checked'); await expect(placeholderOption).toHaveTextContent('Last month'); }); }, argTypes: { value: { control: { type: 'text', }, }, }, }"
344
+ "default": "{ render: (args) => html` <gs-app lapis=\"${LAPIS_URL}\"> <div class=\"max-w-(--breakpoint-lg)\"> <gs-date-range-filter .dateRangeOptions=${args.dateRangeOptions} value=\"${args.value ?? 'null'}\" width=\"${args.width}\" lapisDateField=\"${args.lapisDateField}\" placeholder=\"${args.placeholder}\" ></gs-date-range-filter> </div> </gs-app>`, play: async ({ canvasElement }) => { await waitFor(async () => { const canvas = await withinShadowRoot(canvasElement, 'gs-date-range-filter'); const placeholderOption = canvas.getByRole('combobox').querySelector('option:checked'); await expect(placeholderOption).toHaveTextContent('Last month'); }); }, argTypes: { value: { control: { type: 'text', }, }, }, }"
345
345
  },
346
346
  {
347
347
  "kind": "variable",
@@ -357,7 +357,7 @@
357
357
  "type": {
358
358
  "text": "StoryObj<Required<DateRangeFilterProps>>"
359
359
  },
360
- "default": "{ ...Default, play: async ({ canvasElement, step }) => { const canvas = await withinShadowRoot(canvasElement, 'gs-date-range-filter'); const filterChangedListenerMock = fn(); const optionChangedListenerMock = fn(); await step('Setup event listener mock', () => { canvasElement.addEventListener(gsEventNames.dateRangeFilterChanged, filterChangedListenerMock); canvasElement.addEventListener(gsEventNames.dateRangeOptionChanged, optionChangedListenerMock); }); await step('Expect last 6 months to be selected', async () => { await waitFor(async () => { const placeholderOption = canvas.getByRole('combobox').querySelector('option:checked'); await expect(placeholderOption).toHaveTextContent('Last month'); }); await waitFor(async () => { await expect(dateToPicker(canvas)).toHaveValue(toYYYYMMDD(new Date())); }); }); await step('Expect event to be fired when selecting a different value', async () => { await userEvent.selectOptions(selectField(canvas), 'CustomDateRange'); await userEvent.click(canvas.getByText('CustomDateRange')); await waitFor(async () => { await expect(dateToPicker(canvas)).toHaveValue(customDateRange.dateTo); await expect(filterChangedListenerMock).toHaveBeenCalledWith( expect.objectContaining({ detail: { aDateColumnFrom: customDateRange.dateFrom, aDateColumnTo: customDateRange.dateTo, }, }), ); await expect(optionChangedListenerMock).toHaveBeenCalledWith( expect.objectContaining({ detail: customDateRange.label, }), ); }); }); }, }"
360
+ "default": "{ ...Default, play: async ({ canvasElement, step }) => { const canvas = await withinShadowRoot(canvasElement, 'gs-date-range-filter'); const filterChangedListenerMock = fn(); const optionChangedListenerMock = fn(); await step('Setup event listener mock', () => { canvasElement.addEventListener(gsEventNames.dateRangeFilterChanged, filterChangedListenerMock); canvasElement.addEventListener(gsEventNames.dateRangeOptionChanged, optionChangedListenerMock); }); await step('Expect last 6 months to be selected', async () => { await waitFor(async () => { const placeholderOption = canvas.getByRole('combobox').querySelector('option:checked'); await expect(placeholderOption).toHaveTextContent('Last month'); }); await waitFor(async () => { await expect(dateToPicker(canvas)).toHaveValue(''); }); }); await step('Expect event to be fired when selecting a different value', async () => { await userEvent.selectOptions(selectField(canvas), 'CustomDateRange'); await userEvent.click(canvas.getByText('CustomDateRange')); await waitFor(async () => { await expect(dateToPicker(canvas)).toHaveValue(customDateRange.dateTo); await expect(filterChangedListenerMock).toHaveBeenCalledWith( expect.objectContaining({ detail: { aDateColumnFrom: customDateRange.dateFrom, aDateColumnTo: customDateRange.dateTo, }, }), ); await expect(optionChangedListenerMock).toHaveBeenCalledWith( expect.objectContaining({ detail: customDateRange.label, }), ); }); }); }, }"
361
361
  }
362
362
  ],
363
363
  "exports": [
@@ -419,19 +419,9 @@
419
419
  "text": "{ label: string; dateFrom?: string; dateTo?: string }[]"
420
420
  },
421
421
  "default": "[]",
422
- "description": "An array of date range options that the select field should provide.\nThe `label` will be shown to the user, and it will be available as `value`.\nThe dates must be in the format `YYYY-MM-DD`.\n\nIf dateFrom or dateTo is not set, the component will default to the `earliestDate` or the current date.\n\nWe provide some options in `dateRangeOptionPresets` for convenience.",
422
+ "description": "An array of date range options that the select field should provide.\nThe `label` will be shown to the user, and it will be available as `value`.\nThe dates must be in the format `YYYY-MM-DD`.\n\nIf dateFrom or dateTo is not set, the component will leave the corresponding input field empty.\n\nWe provide some options in `dateRangeOptionPresets` for convenience.",
423
423
  "attribute": "dateRangeOptions"
424
424
  },
425
- {
426
- "kind": "field",
427
- "name": "earliestDate",
428
- "type": {
429
- "text": "string"
430
- },
431
- "default": "'1900-01-01'",
432
- "description": "The `dateFrom` value to use in the `allTimes` preset in the format `YYYY-MM-DD`.",
433
- "attribute": "earliestDate"
434
- },
435
425
  {
436
426
  "kind": "field",
437
427
  "name": "value",
@@ -439,7 +429,7 @@
439
429
  "text": "string | { dateFrom?: string; dateTo?: string } | null"
440
430
  },
441
431
  "default": "null",
442
- "description": "The value to use for this date range selector.\n- If it is a string, then it must be a valid label from the `dateRangeOptions`.\n- If it is an object, then it accepts dates in the format `YYYY-MM-DD` for the keys `dateFrom` and `dateTo`.\n Keys that are not set will default to the `earliestDate` or the current date respectively.\n\nThe `detail` of the `gs-date-range-option-changed` event can be used for this attribute,\nif you want to control this component in your JS application.",
432
+ "description": "The value to use for this date range selector.\n- If it is a string, then it must be a valid label from the `dateRangeOptions`.\n- If it is an object, then it accepts dates in the format `YYYY-MM-DD` for the keys `dateFrom` and `dateTo`.\n Keys that are not set will leave the corresponding input field empty.\n\nThe `detail` of the `gs-date-range-option-changed` event can be used for this attribute,\nif you want to control this component in your JS application.",
443
433
  "attribute": "value"
444
434
  },
445
435
  {
@@ -496,25 +486,16 @@
496
486
  "text": "{ label: string; dateFrom?: string; dateTo?: string }[]"
497
487
  },
498
488
  "default": "[]",
499
- "description": "An array of date range options that the select field should provide.\nThe `label` will be shown to the user, and it will be available as `value`.\nThe dates must be in the format `YYYY-MM-DD`.\n\nIf dateFrom or dateTo is not set, the component will default to the `earliestDate` or the current date.\n\nWe provide some options in `dateRangeOptionPresets` for convenience.",
489
+ "description": "An array of date range options that the select field should provide.\nThe `label` will be shown to the user, and it will be available as `value`.\nThe dates must be in the format `YYYY-MM-DD`.\n\nIf dateFrom or dateTo is not set, the component will leave the corresponding input field empty.\n\nWe provide some options in `dateRangeOptionPresets` for convenience.",
500
490
  "fieldName": "dateRangeOptions"
501
491
  },
502
- {
503
- "name": "earliestDate",
504
- "type": {
505
- "text": "string"
506
- },
507
- "default": "'1900-01-01'",
508
- "description": "The `dateFrom` value to use in the `allTimes` preset in the format `YYYY-MM-DD`.",
509
- "fieldName": "earliestDate"
510
- },
511
492
  {
512
493
  "name": "value",
513
494
  "type": {
514
495
  "text": "string | { dateFrom?: string; dateTo?: string } | null"
515
496
  },
516
497
  "default": "null",
517
- "description": "The value to use for this date range selector.\n- If it is a string, then it must be a valid label from the `dateRangeOptions`.\n- If it is an object, then it accepts dates in the format `YYYY-MM-DD` for the keys `dateFrom` and `dateTo`.\n Keys that are not set will default to the `earliestDate` or the current date respectively.\n\nThe `detail` of the `gs-date-range-option-changed` event can be used for this attribute,\nif you want to control this component in your JS application.",
498
+ "description": "The value to use for this date range selector.\n- If it is a string, then it must be a valid label from the `dateRangeOptions`.\n- If it is an object, then it accepts dates in the format `YYYY-MM-DD` for the keys `dateFrom` and `dateTo`.\n Keys that are not set will leave the corresponding input field empty.\n\nThe `detail` of the `gs-date-range-option-changed` event can be used for this attribute,\nif you want to control this component in your JS application.",
518
499
  "fieldName": "value"
519
500
  },
520
501
  {
@@ -49,12 +49,10 @@ const dateRangeOptionSchema = z.object({
49
49
  label: z.string(),
50
50
  /**
51
51
  * The start date of the date range in the format `YYYY-MM-DD`.
52
- * If not set, the date range selector will default to the `earliestDate` property.
53
52
  */
54
53
  dateFrom: z.string().date().optional(),
55
54
  /**
56
55
  * The end date of the date range in the format `YYYY-MM-DD`.
57
- * If not set, the date range selector will default to the current date.
58
56
  */
59
57
  dateTo: z.string().date().optional()
60
58
  });
@@ -117,9 +115,6 @@ const dateRangeOptionPresets = () => {
117
115
  lastYear: {
118
116
  label: "Last year",
119
117
  dateFrom: toYYYYMMDD(lastYear)
120
- },
121
- allTimes: {
122
- label: "All times"
123
118
  }
124
119
  };
125
120
  }
@@ -195,4 +190,4 @@ export {
195
190
  temporalGranularitySchema as t,
196
191
  views as v
197
192
  };
198
- //# sourceMappingURL=NumberRangeFilterChangedEvent-RqWinxhE.js.map
193
+ //# sourceMappingURL=NumberRangeFilterChangedEvent-B64OQZjX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberRangeFilterChangedEvent-B64OQZjX.js","sources":["../src/utils/gsEventNames.ts","../src/types.ts","../src/preact/dateRangeFilter/dateConversion.ts","../src/preact/dateRangeFilter/dateRangeOption.ts","../src/preact/locationFilter/LocationChangedEvent.ts","../src/preact/textFilter/TextFilterChangedEvent.ts","../src/preact/lineageFilter/LineageFilterChangedEvent.ts","../src/preact/numberRangeFilter/NumberRangeFilterChangedEvent.ts"],"sourcesContent":["export const gsEventNames = {\n error: 'gs-error',\n componentFinishedLoading: 'gs-component-finished-loading',\n dateRangeFilterChanged: 'gs-date-range-filter-changed',\n dateRangeOptionChanged: 'gs-date-range-option-changed',\n mutationFilterChanged: 'gs-mutation-filter-changed',\n lineageFilterChanged: 'gs-lineage-filter-changed',\n locationChanged: 'gs-location-changed',\n textFilterChanged: 'gs-text-filter-changed',\n numberRangeFilterChanged: 'gs-number-range-filter-changed',\n numberRangeValueChanged: 'gs-number-range-value-changed',\n} as const;\n","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 lapisLocationFilterSchema = z.record(z.union([z.string(), z.undefined()]));\nexport type LapisLocationFilter = z.infer<typeof lapisLocationFilterSchema>;\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';\nimport { gsEventNames } from '../../utils/gsEventNames';\n\n/**\n * A date range option that can be used in the `gs-date-range-filter` 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 */\n dateFrom: z.string().date().optional(),\n /**\n * The end date of the date range in the format `YYYY-MM-DD`.\n */\n dateTo: z.string().date().optional(),\n});\n\nexport type DateRangeOption = z.infer<typeof dateRangeOptionSchema>;\n\nexport const dateRangeValueSchema = z\n .union([\n z.string(),\n z.object({\n dateFrom: z.string().date().optional(),\n dateTo: z.string().date().optional(),\n }),\n ])\n .nullable();\n\nexport type DateRangeValue = z.infer<typeof dateRangeValueSchema>;\n\nexport class DateRangeOptionChangedEvent extends CustomEvent<DateRangeValue> {\n constructor(detail: DateRangeValue) {\n super(gsEventNames.dateRangeOptionChanged, {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n\ntype DateRangeOptionPresets = {\n last2Weeks: DateRangeOption;\n lastMonth: DateRangeOption;\n last2Months: DateRangeOption;\n last3Months: DateRangeOption;\n last6Months: DateRangeOption;\n lastYear: DateRangeOption;\n};\n\nlet dateRangeOptionsPresetsCacheDate: string | null = null;\nlet dateRangeOptionPresetsCache: DateRangeOptionPresets | null = null;\n\n/**\n * Presets for the `gs-date-range-filter` component that can be used as `dateRangeOptions`.\n */\nexport const dateRangeOptionPresets = (): DateRangeOptionPresets => {\n const today = new Date();\n const todayString = new Date().toISOString().slice(0, 10);\n\n if (\n dateRangeOptionPresetsCache === null ||\n dateRangeOptionsPresetsCacheDate === null ||\n dateRangeOptionsPresetsCacheDate !== todayString\n ) {\n dateRangeOptionsPresetsCacheDate = todayString;\n\n const twoWeeksAgo = new Date();\n twoWeeksAgo.setDate(today.getDate() - 14);\n\n const lastMonth = new Date(today);\n lastMonth.setMonth(today.getMonth() - 1);\n\n const last2Months = new Date(today);\n last2Months.setMonth(today.getMonth() - 2);\n\n const last3Months = new Date(today);\n last3Months.setMonth(today.getMonth() - 3);\n\n const last6Months = new Date(today);\n last6Months.setMonth(today.getMonth() - 6);\n\n const lastYear = new Date(today);\n lastYear.setFullYear(today.getFullYear() - 1);\n\n dateRangeOptionPresetsCache = {\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 };\n }\n\n return dateRangeOptionPresetsCache;\n};\n","import { type LapisLocationFilter } from '../../types';\nimport { gsEventNames } from '../../utils/gsEventNames';\n\nexport class LocationChangedEvent extends CustomEvent<LapisLocationFilter> {\n constructor(detail: LapisLocationFilter) {\n super(gsEventNames.locationChanged, {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n","import { gsEventNames } from '../../utils/gsEventNames';\n\ntype LapisTextFilter = Record<string, string | undefined>;\n\nexport class TextFilterChangedEvent extends CustomEvent<LapisTextFilter> {\n constructor(detail: LapisTextFilter) {\n super(gsEventNames.textFilterChanged, {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n","import { gsEventNames } from '../../utils/gsEventNames';\n\ntype LapisLineageFilter = Record<string, string | undefined>;\n\nexport class LineageFilterChangedEvent extends CustomEvent<LapisLineageFilter> {\n constructor(detail: LapisLineageFilter) {\n super(gsEventNames.lineageFilterChanged, {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n","import z from 'zod';\n\nimport { gsEventNames } from '../../utils/gsEventNames';\n\nexport type LapisNumberFilter = Record<string, number | undefined>;\n\nexport const numberRangeSchema = z.object({\n min: z.number().optional(),\n max: z.number().optional(),\n});\nexport type NumberRange = z.infer<typeof numberRangeSchema>;\n\nexport class NumberRangeValueChangedEvent extends CustomEvent<NumberRange> {\n constructor(detail: NumberRange) {\n super(gsEventNames.numberRangeValueChanged, {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n\nexport class NumberRangeFilterChangedEvent extends CustomEvent<LapisNumberFilter> {\n constructor(detail: LapisNumberFilter) {\n super(gsEventNames.numberRangeFilterChanged, {\n detail,\n bubbles: true,\n composed: true,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -187,7 +187,7 @@ export declare class DateRangeFilterComponent extends PreactLitAdapter {
187
187
  * The `label` will be shown to the user, and it will be available as `value`.
188
188
  * The dates must be in the format `YYYY-MM-DD`.
189
189
  *
190
- * If dateFrom or dateTo is not set, the component will default to the `earliestDate` or the current date.
190
+ * If dateFrom or dateTo is not set, the component will leave the corresponding input field empty.
191
191
  *
192
192
  * We provide some options in `dateRangeOptionPresets` for convenience.
193
193
  */
@@ -196,15 +196,11 @@ export declare class DateRangeFilterComponent extends PreactLitAdapter {
196
196
  dateFrom?: string;
197
197
  dateTo?: string;
198
198
  }[];
199
- /**
200
- * The `dateFrom` value to use in the `allTimes` preset in the format `YYYY-MM-DD`.
201
- */
202
- earliestDate: string;
203
199
  /**
204
200
  * The value to use for this date range selector.
205
201
  * - If it is a string, then it must be a valid label from the `dateRangeOptions`.
206
202
  * - If it is an object, then it accepts dates in the format `YYYY-MM-DD` for the keys `dateFrom` and `dateTo`.
207
- * Keys that are not set will default to the `earliestDate` or the current date respectively.
203
+ * Keys that are not set will leave the corresponding input field empty.
208
204
  *
209
205
  * The `detail` of the `gs-date-range-option-changed` event can be used for this attribute,
210
206
  * if you want to control this component in your JS application.
@@ -1647,7 +1643,7 @@ declare global {
1647
1643
 
1648
1644
  declare global {
1649
1645
  interface HTMLElementTagNameMap {
1650
- 'gs-aggregate': AggregateComponent;
1646
+ 'gs-relative-growth-advantage': RelativeGrowthAdvantageComponent;
1651
1647
  }
1652
1648
  }
1653
1649
 
@@ -1655,7 +1651,7 @@ declare global {
1655
1651
  declare global {
1656
1652
  namespace JSX {
1657
1653
  interface IntrinsicElements {
1658
- 'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1654
+ 'gs-relative-growth-advantage': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1659
1655
  }
1660
1656
  }
1661
1657
  }
@@ -1663,7 +1659,7 @@ declare global {
1663
1659
 
1664
1660
  declare global {
1665
1661
  interface HTMLElementTagNameMap {
1666
- 'gs-relative-growth-advantage': RelativeGrowthAdvantageComponent;
1662
+ 'gs-aggregate': AggregateComponent;
1667
1663
  }
1668
1664
  }
1669
1665
 
@@ -1671,7 +1667,7 @@ declare global {
1671
1667
  declare global {
1672
1668
  namespace JSX {
1673
1669
  interface IntrinsicElements {
1674
- 'gs-relative-growth-advantage': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1670
+ 'gs-aggregate': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1675
1671
  }
1676
1672
  }
1677
1673
  }
@@ -1679,7 +1675,7 @@ declare global {
1679
1675
 
1680
1676
  declare global {
1681
1677
  interface HTMLElementTagNameMap {
1682
- 'gs-mutations-over-time': MutationsOverTimeComponent;
1678
+ 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
1683
1679
  }
1684
1680
  }
1685
1681
 
@@ -1687,7 +1683,7 @@ declare global {
1687
1683
  declare global {
1688
1684
  namespace JSX {
1689
1685
  interface IntrinsicElements {
1690
- 'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1686
+ 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1691
1687
  }
1692
1688
  }
1693
1689
  }
@@ -1695,7 +1691,7 @@ declare global {
1695
1691
 
1696
1692
  declare global {
1697
1693
  interface HTMLElementTagNameMap {
1698
- 'gs-number-sequences-over-time': NumberSequencesOverTimeComponent;
1694
+ 'gs-mutations-over-time': MutationsOverTimeComponent;
1699
1695
  }
1700
1696
  }
1701
1697
 
@@ -1703,7 +1699,7 @@ declare global {
1703
1699
  declare global {
1704
1700
  namespace JSX {
1705
1701
  interface IntrinsicElements {
1706
- 'gs-number-sequences-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1702
+ 'gs-mutations-over-time': DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>;
1707
1703
  }
1708
1704
  }
1709
1705
  }