@cdc/core 4.24.11 → 4.24.12
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/components/Alert/components/Alert.tsx +9 -4
- package/components/DataTable/DataTable.tsx +19 -8
- package/components/DataTable/components/ExpandCollapse.tsx +1 -1
- package/components/DataTable/components/SortIcon/sort-icon.css +15 -0
- package/components/DataTable/helpers/boxplotCellMatrix.tsx +6 -2
- package/components/DataTable/helpers/getChartCellValue.ts +11 -11
- package/components/EditorPanel/DataTableEditor.tsx +29 -23
- package/components/EditorPanel/VizFilterEditor/VizFilterEditor.tsx +13 -1
- package/components/Filters/Filters.tsx +5 -8
- package/components/Footnotes/FootnotesStandAlone.tsx +17 -4
- package/components/Layout/components/Visualization/visualizations.scss +1 -1
- package/components/Legend/Legend.Gradient.tsx +1 -1
- package/components/Loader/Loader.tsx +10 -5
- package/components/MultiSelect/MultiSelect.tsx +84 -84
- package/components/MultiSelect/multiselect.styles.css +10 -0
- package/components/NestedDropdown/NestedDropdown.tsx +21 -18
- package/components/NestedDropdown/nesteddropdown.styles.css +11 -0
- package/components/Table/components/Row.tsx +1 -1
- package/components/inputs/{InputToggle.jsx → InputToggle.tsx} +35 -29
- package/dist/cove-main.css +6 -3
- package/dist/cove-main.css.map +1 -1
- package/helpers/gatherQueryParams.ts +2 -3
- package/helpers/queryStringUtils.ts +10 -1
- package/helpers/useDataVizClasses.ts +2 -1
- package/helpers/ver/versionNeedsUpdate.ts +2 -0
- package/helpers/viewports.ts +8 -7
- package/package.json +2 -2
- package/styles/_global-variables.scss +8 -3
- package/styles/_reset.scss +0 -1
- package/types/Version.ts +1 -0
|
@@ -20,6 +20,8 @@ type AlertProps = {
|
|
|
20
20
|
autoDismiss?: boolean
|
|
21
21
|
// set seconds until autoDismiss, default is 5 seconds
|
|
22
22
|
secondsBeforeDismiss?: number
|
|
23
|
+
// provide option for non dismissable alert
|
|
24
|
+
showCloseButton?: boolean
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
const Alert: React.FC<AlertProps> = ({
|
|
@@ -29,7 +31,8 @@ const Alert: React.FC<AlertProps> = ({
|
|
|
29
31
|
heading,
|
|
30
32
|
onDismiss,
|
|
31
33
|
autoDismiss,
|
|
32
|
-
secondsBeforeDismiss = 5
|
|
34
|
+
secondsBeforeDismiss = 5,
|
|
35
|
+
showCloseButton = true
|
|
33
36
|
}) => {
|
|
34
37
|
// sanitize the text for setting dangerouslySetInnerHTML
|
|
35
38
|
|
|
@@ -55,9 +58,11 @@ const Alert: React.FC<AlertProps> = ({
|
|
|
55
58
|
{type === 'info' && <Icon display='info' size={iconSize} />}
|
|
56
59
|
<span dangerouslySetInnerHTML={sanitizedData()} />
|
|
57
60
|
</div>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
{showCloseButton && (
|
|
62
|
+
<button type='button' className='close pl-5' aria-label='Close' onClick={() => onDismiss()}>
|
|
63
|
+
X
|
|
64
|
+
</button>
|
|
65
|
+
)}
|
|
61
66
|
</div>
|
|
62
67
|
)
|
|
63
68
|
}
|
|
@@ -202,7 +202,7 @@ const DataTable = (props: DataTableProps) => {
|
|
|
202
202
|
: config.visualizationType === 'Pie'
|
|
203
203
|
? [config.yAxis.dataKey]
|
|
204
204
|
: config.visualizationType === 'Box Plot'
|
|
205
|
-
? Object.entries(config.boxplot.
|
|
205
|
+
? config?.boxplot?.plots?.[0] ? Object.entries(config.boxplot.plots[0]) : []
|
|
206
206
|
: config.runtime?.seriesKeys),
|
|
207
207
|
[config.runtime?.seriesKeys]) // eslint-disable-line
|
|
208
208
|
|
|
@@ -244,17 +244,28 @@ const DataTable = (props: DataTableProps) => {
|
|
|
244
244
|
</MediaControls.Section>
|
|
245
245
|
)
|
|
246
246
|
}
|
|
247
|
+
const getClassNames = (): string => {
|
|
248
|
+
const classes = ['data-table-container']
|
|
249
|
+
const isBrushActive = config?.brush?.active && config.legend?.position !== 'bottom'
|
|
250
|
+
|
|
251
|
+
if (isBrushActive) {
|
|
252
|
+
classes.push('brush-active')
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
classes.push(viewport)
|
|
256
|
+
|
|
257
|
+
const downloadLinkClass = !config.table.showDownloadLinkBelow ? 'download-link-above' : ''
|
|
258
|
+
if (downloadLinkClass) {
|
|
259
|
+
classes.push(downloadLinkClass)
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return classes.join(' ')
|
|
263
|
+
}
|
|
247
264
|
|
|
248
265
|
return (
|
|
249
266
|
<ErrorBoundary component='DataTable'>
|
|
250
267
|
{!config.table.showDownloadLinkBelow && <TableMediaControls />}
|
|
251
|
-
<section
|
|
252
|
-
id={tabbingId.replace('#', '')}
|
|
253
|
-
className={`data-table-container ${viewport} ${
|
|
254
|
-
!config.table.showDownloadLinkBelow ? 'download-link-above' : ''
|
|
255
|
-
}`}
|
|
256
|
-
aria-label={accessibilityLabel}
|
|
257
|
-
>
|
|
268
|
+
<section id={tabbingId.replace('#', '')} className={getClassNames()} aria-label={accessibilityLabel}>
|
|
258
269
|
<SkipTo skipId={skipId} skipMessage='Skip Data Table' />
|
|
259
270
|
{config.table.collapsible !== false && (
|
|
260
271
|
<ExpandCollapse
|
|
@@ -2,7 +2,7 @@ import Icon from '../../ui/Icon'
|
|
|
2
2
|
import { fontSizes } from '../../../helpers/cove/fontSettings'
|
|
3
3
|
|
|
4
4
|
const ExpandCollapse = ({ expanded, setExpanded, tableTitle, fontSize, viewport }) => {
|
|
5
|
-
const titleFontSize = ['
|
|
5
|
+
const titleFontSize = ['xs', 'xxs'].includes(viewport) ? '13px' : `${fontSizes[fontSize]}px`
|
|
6
6
|
return (
|
|
7
7
|
<div
|
|
8
8
|
style={{ fontSize: titleFontSize }}
|
|
@@ -18,7 +18,7 @@ const boxplotCellMatrix = ({ rows, config }): CellMatrix => {
|
|
|
18
18
|
values: labels.values,
|
|
19
19
|
columnCount: labels.count,
|
|
20
20
|
columnSd: 'Standard Deviation',
|
|
21
|
-
|
|
21
|
+
columnNonOutliers: 'Non Outliers',
|
|
22
22
|
columnLowerBounds: labels.lowerBounds,
|
|
23
23
|
columnUpperBounds: labels.upperBounds
|
|
24
24
|
}
|
|
@@ -36,8 +36,12 @@ const boxplotCellMatrix = ({ rows, config }): CellMatrix => {
|
|
|
36
36
|
if (Number(rowid) === 5) return plot.columnCount
|
|
37
37
|
if (Number(rowid) === 6) return plot.columnSd
|
|
38
38
|
if (Number(rowid) === 7) return plot.columnMean
|
|
39
|
-
if (Number(rowid) === 8) return plot.
|
|
39
|
+
if (Number(rowid) === 8) return plot.columnIqr
|
|
40
40
|
if (Number(rowid) === 9) return plot.values.length > 0 ? plot.values.toString() : '-'
|
|
41
|
+
if (Number(rowid) === 10) return plot.columnLowerBounds
|
|
42
|
+
if (Number(rowid) === 11) return plot.columnUpperBounds
|
|
43
|
+
if (Number(rowid) === 12) return plot.columnOutliers.length > 0 ? plot.columnOutliers.toString() : '-'
|
|
44
|
+
if (Number(rowid) === 13) return plot.columnNonOutliers.length > 0 ? plot.columnNonOutliers.toString() : '-'
|
|
41
45
|
return <p>-</p>
|
|
42
46
|
}
|
|
43
47
|
// get list of data keys for each row
|
|
@@ -29,18 +29,18 @@ export const getChartCellValue = (row: string, column: string, config: TableConf
|
|
|
29
29
|
|
|
30
30
|
const rowObj = runtimeData[row]
|
|
31
31
|
let cellValue // placeholder for formatting below
|
|
32
|
-
|
|
32
|
+
const labelValue = rowObj[column] // just raw X axis string
|
|
33
33
|
if (column === config.xAxis?.dataKey) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
const { type, dateDisplayFormat, dateParseFormat } = config.xAxis || {}
|
|
35
|
+
const dateFormat = config.table?.dateDisplayFormat || dateDisplayFormat
|
|
36
|
+
|
|
37
|
+
if (type === 'date' || type === 'date-time') {
|
|
38
|
+
cellValue = formatDate(dateFormat, parseDate(dateParseFormat, labelValue))
|
|
39
|
+
} else if (type === 'continuous') {
|
|
40
|
+
cellValue = formatNumber(runtimeData[row][column], 'bottom', false, config)
|
|
41
|
+
} else {
|
|
42
|
+
cellValue = labelValue
|
|
43
|
+
}
|
|
44
44
|
} else {
|
|
45
45
|
let resolvedAxis = 'left'
|
|
46
46
|
let leftAxisItems = config.series ? config.series.filter(item => item?.axis === 'Left') : []
|
|
@@ -205,15 +205,18 @@ const DataTableEditor: React.FC<DataTableProps> = ({ config, updateField, isDash
|
|
|
205
205
|
/>
|
|
206
206
|
)}
|
|
207
207
|
{config?.visualizationType !== 'Sankey' && (
|
|
208
|
-
<
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
208
|
+
<label>
|
|
209
|
+
<span className='edit-label column-heading mt-1'>Exclude Columns </span>
|
|
210
|
+
<MultiSelect
|
|
211
|
+
key={excludedColumns.join('') + 'excluded'}
|
|
212
|
+
options={dataColumns.map(c => ({ label: c, value: c }))}
|
|
213
|
+
selected={excludedColumns}
|
|
214
|
+
label={'Exclude Columns'}
|
|
215
|
+
fieldName='dataTable'
|
|
216
|
+
section='columns'
|
|
217
|
+
updateField={excludeColumns}
|
|
218
|
+
/>
|
|
219
|
+
</label>
|
|
217
220
|
)}
|
|
218
221
|
<CheckBox
|
|
219
222
|
value={config.table.collapsible}
|
|
@@ -323,18 +326,9 @@ const DataTableEditor: React.FC<DataTableProps> = ({ config, updateField, isDash
|
|
|
323
326
|
updateField={updateField}
|
|
324
327
|
/>
|
|
325
328
|
{config.table.pivot?.columnName && (
|
|
326
|
-
<
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
.filter(col => col !== config.table.pivot?.columnName && col !== config.table.groupBy)
|
|
330
|
-
.map(c => ({ label: c, value: c }))}
|
|
331
|
-
selected={config.table.pivot?.valueColumns}
|
|
332
|
-
label='Pivot Value Column(s) '
|
|
333
|
-
section='table'
|
|
334
|
-
subsection='pivot'
|
|
335
|
-
fieldName='valueColumns'
|
|
336
|
-
updateField={updateField}
|
|
337
|
-
tooltip={
|
|
329
|
+
<label>
|
|
330
|
+
<span className='edit-label column-heading mt-1'>
|
|
331
|
+
Pivot Value Column(s)
|
|
338
332
|
<Tooltip style={{ textTransform: 'none' }}>
|
|
339
333
|
<Tooltip.Target>
|
|
340
334
|
<Icon display='question' style={{ marginLeft: '0.5rem' }} />
|
|
@@ -343,8 +337,20 @@ const DataTableEditor: React.FC<DataTableProps> = ({ config, updateField, isDash
|
|
|
343
337
|
<p>The column(s) whos values will be pivoted under the column selected as the Filter.</p>
|
|
344
338
|
</Tooltip.Content>
|
|
345
339
|
</Tooltip>
|
|
346
|
-
|
|
347
|
-
|
|
340
|
+
</span>
|
|
341
|
+
<MultiSelect
|
|
342
|
+
key={config.table.pivot?.columnName}
|
|
343
|
+
options={groupPivotColumns
|
|
344
|
+
.filter(col => col !== config.table.pivot?.columnName && col !== config.table.groupBy)
|
|
345
|
+
.map(c => ({ label: c, value: c }))}
|
|
346
|
+
selected={config.table.pivot?.valueColumns}
|
|
347
|
+
label='Pivot Value Column(s) '
|
|
348
|
+
section='table'
|
|
349
|
+
subsection='pivot'
|
|
350
|
+
fieldName='valueColumns'
|
|
351
|
+
updateField={updateField}
|
|
352
|
+
/>
|
|
353
|
+
</label>
|
|
348
354
|
)}
|
|
349
355
|
</>
|
|
350
356
|
)
|
|
@@ -67,7 +67,12 @@ const VizFilterEditor: React.FC<VizFilterProps> = ({ config, updateField, rawDat
|
|
|
67
67
|
|
|
68
68
|
const addNewFilter = () => {
|
|
69
69
|
const filters = config.filters ? [...config.filters] : []
|
|
70
|
-
const newVizFilter: VizFilter = {
|
|
70
|
+
const newVizFilter: VizFilter = {
|
|
71
|
+
values: [],
|
|
72
|
+
filterStyle: 'dropdown',
|
|
73
|
+
id: Date.now(),
|
|
74
|
+
showDropdown: true
|
|
75
|
+
} as VizFilter
|
|
71
76
|
filters.push(newVizFilter)
|
|
72
77
|
updateField(null, null, 'filters', filters)
|
|
73
78
|
}
|
|
@@ -125,6 +130,13 @@ const VizFilterEditor: React.FC<VizFilterProps> = ({ config, updateField, rawDat
|
|
|
125
130
|
</Tooltip>
|
|
126
131
|
}
|
|
127
132
|
/>
|
|
133
|
+
<TextField
|
|
134
|
+
type='textarea'
|
|
135
|
+
label='Filter intro text'
|
|
136
|
+
value={config.filterIntro}
|
|
137
|
+
updateField={updateField}
|
|
138
|
+
fieldName='filterIntro'
|
|
139
|
+
/>
|
|
128
140
|
<br />
|
|
129
141
|
<ul className='filters-list'>
|
|
130
142
|
{/* Whether filters should apply onChange or Apply Button */}
|
|
@@ -249,9 +249,7 @@ export const useFilters = props => {
|
|
|
249
249
|
|
|
250
250
|
const filterConstants = {
|
|
251
251
|
buttonText: 'Apply Filters',
|
|
252
|
-
resetText: 'Reset All'
|
|
253
|
-
introText: `Make a selection from the filters to change the visualization information.`,
|
|
254
|
-
applyText: 'Select the apply button to update the visualization information.'
|
|
252
|
+
resetText: 'Reset All'
|
|
255
253
|
}
|
|
256
254
|
|
|
257
255
|
// prettier-ignore
|
|
@@ -448,7 +446,7 @@ const Filters = (props: FilterProps) => {
|
|
|
448
446
|
<div className={classList.join(' ')} key={outerIndex}>
|
|
449
447
|
<>
|
|
450
448
|
{label && (
|
|
451
|
-
<label className='
|
|
449
|
+
<label className='font-weight-bold mt-1 mb-0' htmlFor={`filter-${outerIndex}`}>
|
|
452
450
|
{label}
|
|
453
451
|
</label>
|
|
454
452
|
)}
|
|
@@ -502,10 +500,9 @@ const Filters = (props: FilterProps) => {
|
|
|
502
500
|
|
|
503
501
|
return (
|
|
504
502
|
<section className={getClasses().join(' ')}>
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
</p>
|
|
503
|
+
{visualizationConfig.filterIntro && (
|
|
504
|
+
<p className='filters-section__intro-text'>{visualizationConfig.filterIntro}</p>
|
|
505
|
+
)}
|
|
509
506
|
<div className='d-flex flex-wrap w-100 filters-section__wrapper'>
|
|
510
507
|
{' '}
|
|
511
508
|
<>
|
|
@@ -15,20 +15,33 @@ type StandAloneProps = {
|
|
|
15
15
|
viewport?: ViewPort
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
const FootnotesStandAlone: React.FC<StandAloneProps> = ({
|
|
18
|
+
const FootnotesStandAlone: React.FC<StandAloneProps> = ({
|
|
19
|
+
visualizationKey,
|
|
20
|
+
config,
|
|
21
|
+
viewport,
|
|
22
|
+
isEditor,
|
|
23
|
+
updateConfig
|
|
24
|
+
}) => {
|
|
19
25
|
const updateField = updateFieldFactory<Footnote[]>(config, updateConfig)
|
|
20
26
|
if (isEditor)
|
|
21
27
|
return (
|
|
22
|
-
<EditorWrapper
|
|
28
|
+
<EditorWrapper
|
|
29
|
+
component={FootnotesStandAlone}
|
|
30
|
+
visualizationKey={visualizationKey}
|
|
31
|
+
visualizationConfig={config}
|
|
32
|
+
updateConfig={updateConfig}
|
|
33
|
+
type={'Footnotes'}
|
|
34
|
+
viewport={viewport}
|
|
35
|
+
>
|
|
23
36
|
<FootnotesEditor key={visualizationKey} config={config} updateField={updateField} />
|
|
24
37
|
</EditorWrapper>
|
|
25
38
|
)
|
|
26
39
|
|
|
27
40
|
// get the api footnotes from the config
|
|
28
41
|
const apiFootnotes = useMemo(() => {
|
|
29
|
-
|
|
42
|
+
const configData = config.formattedData || config.data
|
|
43
|
+
if (configData && config.dataKey && config.dynamicFootnotes) {
|
|
30
44
|
const { symbolColumn, textColumn, orderColumn } = config.dynamicFootnotes
|
|
31
|
-
const configData = config.formattedData || config.data
|
|
32
45
|
const _data = configData.map(row => _.pick(row, [symbolColumn, textColumn, orderColumn]))
|
|
33
46
|
_data.sort((a, b) => a[orderColumn] - b[orderColumn])
|
|
34
47
|
return _data.map(row => ({ symbol: row[symbolColumn], text: row[textColumn] }))
|
|
@@ -38,7 +38,7 @@ const LegendGradient = ({
|
|
|
38
38
|
|
|
39
39
|
const numTicks = colors?.length
|
|
40
40
|
|
|
41
|
-
const longestLabel = labels
|
|
41
|
+
const longestLabel = (labels || []).reduce((a: string, b) => (a.length > String(b).length ? a : b), '')
|
|
42
42
|
const boxHeight = 20
|
|
43
43
|
let height = 50
|
|
44
44
|
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import React, { useEffect, useRef } from 'react'
|
|
2
2
|
import './loader.styles.css'
|
|
3
3
|
|
|
4
|
+
// these coorespond to bootstrap classes
|
|
5
|
+
// https://getbootstrap.com/docs/4.2/components/spinners/
|
|
6
|
+
type SpinnerType = 'text-primary' | 'text-secondary'
|
|
7
|
+
|
|
4
8
|
type LoaderProps = {
|
|
5
9
|
fullScreen?: boolean
|
|
10
|
+
spinnerType?: SpinnerType
|
|
6
11
|
}
|
|
7
12
|
|
|
8
|
-
const Spinner = () => (
|
|
9
|
-
<div className=
|
|
13
|
+
const Spinner = ({ spinnerType }: { spinnerType: SpinnerType }) => (
|
|
14
|
+
<div className={`spinner-border ${spinnerType}`} role='status'>
|
|
10
15
|
<span className='sr-only'>Loading...</span>
|
|
11
16
|
</div>
|
|
12
17
|
)
|
|
13
18
|
|
|
14
|
-
const Loader: React.FC<LoaderProps> = ({ fullScreen = false }) => {
|
|
19
|
+
const Loader: React.FC<LoaderProps> = ({ fullScreen = false, spinnerType }) => {
|
|
15
20
|
const backgroundRef = useRef(null)
|
|
16
21
|
|
|
17
22
|
useEffect(() => {
|
|
@@ -23,10 +28,10 @@ const Loader: React.FC<LoaderProps> = ({ fullScreen = false }) => {
|
|
|
23
28
|
|
|
24
29
|
return fullScreen ? (
|
|
25
30
|
<div ref={backgroundRef} className='cove-loader fullscreen'>
|
|
26
|
-
<Spinner />
|
|
31
|
+
<Spinner spinnerType={spinnerType || 'text-primary'} />
|
|
27
32
|
</div>
|
|
28
33
|
) : (
|
|
29
|
-
<Spinner />
|
|
34
|
+
<Spinner spinnerType={spinnerType || 'text-primary'} />
|
|
30
35
|
)
|
|
31
36
|
}
|
|
32
37
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import React, { useEffect, useRef, useState } from 'react'
|
|
1
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react'
|
|
2
2
|
import Tooltip from '../ui/Tooltip'
|
|
3
3
|
import Icon from '../ui/Icon'
|
|
4
4
|
|
|
5
5
|
import './multiselect.styles.css'
|
|
6
6
|
import { UpdateFieldFunc } from '../../types/UpdateFieldFunc'
|
|
7
|
+
import Loader from '../Loader'
|
|
7
8
|
|
|
8
9
|
interface Option {
|
|
9
10
|
value: string | number
|
|
@@ -20,6 +21,7 @@ interface MultiSelectProps {
|
|
|
20
21
|
selected?: (string | number)[]
|
|
21
22
|
limit?: number
|
|
22
23
|
tooltip?: React.ReactNode
|
|
24
|
+
loading?: boolean
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
const MultiSelect: React.FC<MultiSelectProps> = ({
|
|
@@ -31,10 +33,12 @@ const MultiSelect: React.FC<MultiSelectProps> = ({
|
|
|
31
33
|
updateField,
|
|
32
34
|
selected = [],
|
|
33
35
|
limit,
|
|
34
|
-
tooltip
|
|
36
|
+
tooltip,
|
|
37
|
+
loading
|
|
35
38
|
}) => {
|
|
36
|
-
const preselectedItems = options.filter(opt => selected.includes(opt.value)).slice(0, limit)
|
|
37
|
-
const [selectedItems, setSelectedItems] = useState<Option[]>(
|
|
39
|
+
const preselectedItems = useMemo(() => options.filter(opt => selected.includes(opt.value)).slice(0, limit), [options])
|
|
40
|
+
const [selectedItems, setSelectedItems] = useState<Option[]>()
|
|
41
|
+
const items = selectedItems || preselectedItems
|
|
38
42
|
const [expanded, setExpanded] = useState(false)
|
|
39
43
|
const multiSelectRef = useRef(null)
|
|
40
44
|
|
|
@@ -62,105 +66,101 @@ const MultiSelect: React.FC<MultiSelectProps> = ({
|
|
|
62
66
|
|
|
63
67
|
const handleItemSelect = (option: Option, e = null) => {
|
|
64
68
|
if (e && e.type === 'keyup' && e.key !== 'Enter') return
|
|
65
|
-
if (limit &&
|
|
66
|
-
const newItems = [...
|
|
69
|
+
if (limit && items?.length >= limit) return
|
|
70
|
+
const newItems = [...items, option]
|
|
67
71
|
setSelectedItems(newItems)
|
|
68
72
|
update(newItems)
|
|
69
73
|
}
|
|
70
74
|
|
|
71
75
|
const handleItemRemove = (option: Option, e = null) => {
|
|
72
76
|
if (e && e.type === 'keyup' && e.key !== 'Enter') return
|
|
73
|
-
const newItems =
|
|
77
|
+
const newItems = items.filter(item => item.value !== option.value)
|
|
74
78
|
setSelectedItems(newItems)
|
|
75
79
|
update(newItems)
|
|
76
80
|
}
|
|
77
81
|
|
|
78
82
|
const multiID = 'multiSelect_' + label
|
|
79
83
|
return (
|
|
80
|
-
|
|
81
|
-
{
|
|
82
|
-
<label className='text-capitalize font-weight-bold' id={multiID + label} htmlFor={multiID}>
|
|
83
|
-
{label}
|
|
84
|
-
</label>
|
|
85
|
-
)}
|
|
86
|
-
<div ref={multiSelectRef} className='cove-multiselect'>
|
|
87
|
-
{tooltip && tooltip}
|
|
84
|
+
<div ref={multiSelectRef} className='cove-multiselect'>
|
|
85
|
+
{tooltip && tooltip}
|
|
88
86
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
<div className='wrapper'>
|
|
88
|
+
<div
|
|
89
|
+
id={multiID}
|
|
90
|
+
onClick={() => {
|
|
91
|
+
if (!items.length && !loading) {
|
|
92
|
+
setExpanded(true)
|
|
93
|
+
}
|
|
94
|
+
}}
|
|
95
|
+
className='selected'
|
|
96
|
+
aria-disabled={loading}
|
|
97
|
+
>
|
|
98
|
+
{items.length ? (
|
|
99
|
+
items.map(item => (
|
|
100
|
+
<div key={item.value} aria-labelledby={label ? multiID + label : undefined}>
|
|
101
|
+
{item.label}
|
|
102
|
+
<button
|
|
103
|
+
aria-label='Remove'
|
|
104
|
+
onClick={e => {
|
|
105
|
+
e.preventDefault()
|
|
106
|
+
handleItemRemove(item)
|
|
107
|
+
}}
|
|
108
|
+
onKeyUp={e => {
|
|
109
|
+
handleItemRemove(item, e)
|
|
110
|
+
}}
|
|
111
|
+
>
|
|
112
|
+
x
|
|
113
|
+
</button>
|
|
114
|
+
</div>
|
|
115
|
+
))
|
|
116
|
+
) : (
|
|
117
|
+
<span className='pl-1 pt-1'>{loading ? 'Loading...' : '- Select -'}</span>
|
|
118
|
+
)}
|
|
119
|
+
<button
|
|
120
|
+
aria-label={expanded ? 'Collapse' : 'Expand'}
|
|
121
|
+
aria-labelledby={label ? multiID : undefined}
|
|
122
|
+
className='expand'
|
|
123
|
+
onClick={e => {
|
|
124
|
+
e.preventDefault()
|
|
125
|
+
setExpanded(!expanded)
|
|
96
126
|
}}
|
|
97
|
-
className='selected'
|
|
98
127
|
>
|
|
99
|
-
{
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
128
|
+
<Icon display={'caretDown'} style={{ cursor: 'pointer' }} />
|
|
129
|
+
</button>
|
|
130
|
+
</div>
|
|
131
|
+
{loading && <Loader spinnerType={'text-secondary'} />}
|
|
132
|
+
{!!limit && (
|
|
133
|
+
<Tooltip style={{ textTransform: 'none' }}>
|
|
134
|
+
<Tooltip.Target>
|
|
135
|
+
<Icon display='question' style={{ marginLeft: '0.5rem' }} />
|
|
136
|
+
</Tooltip.Target>
|
|
137
|
+
<Tooltip.Content>
|
|
138
|
+
<p>Select up to {limit} items</p>
|
|
139
|
+
</Tooltip.Content>
|
|
140
|
+
</Tooltip>
|
|
141
|
+
)}
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<ul className={'dropdown' + (expanded ? '' : ' d-none')}>
|
|
145
|
+
{options
|
|
146
|
+
.filter(option => !items.find(item => item.value === option.value))
|
|
147
|
+
.map(option => (
|
|
148
|
+
<li
|
|
149
|
+
className='cove-multiselect-li'
|
|
150
|
+
key={option.value}
|
|
151
|
+
role='option'
|
|
152
|
+
tabIndex={0}
|
|
124
153
|
onClick={e => {
|
|
125
154
|
e.preventDefault()
|
|
126
|
-
|
|
155
|
+
handleItemSelect(option, e)
|
|
127
156
|
}}
|
|
157
|
+
onKeyUp={e => handleItemSelect(option, e)}
|
|
128
158
|
>
|
|
129
|
-
|
|
130
|
-
</
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
<Tooltip.Target>
|
|
135
|
-
<Icon display='question' style={{ marginLeft: '0.5rem' }} />
|
|
136
|
-
</Tooltip.Target>
|
|
137
|
-
<Tooltip.Content>
|
|
138
|
-
<p>Select up to {limit} items</p>
|
|
139
|
-
</Tooltip.Content>
|
|
140
|
-
</Tooltip>
|
|
141
|
-
)}
|
|
142
|
-
</div>
|
|
143
|
-
<ul className={'dropdown' + (expanded ? '' : ' d-none')}>
|
|
144
|
-
{options
|
|
145
|
-
.filter(option => !selectedItems.find(item => item.value === option.value))
|
|
146
|
-
.map(option => (
|
|
147
|
-
<li
|
|
148
|
-
className='cove-multiselect-li'
|
|
149
|
-
key={option.value}
|
|
150
|
-
role='option'
|
|
151
|
-
tabIndex={0}
|
|
152
|
-
onClick={e => {
|
|
153
|
-
e.preventDefault()
|
|
154
|
-
handleItemSelect(option, e)
|
|
155
|
-
}}
|
|
156
|
-
onKeyUp={e => handleItemSelect(option, e)}
|
|
157
|
-
>
|
|
158
|
-
{option.label}
|
|
159
|
-
</li>
|
|
160
|
-
))}
|
|
161
|
-
</ul>
|
|
162
|
-
</div>
|
|
163
|
-
</>
|
|
159
|
+
{option.label}
|
|
160
|
+
</li>
|
|
161
|
+
))}
|
|
162
|
+
</ul>
|
|
163
|
+
</div>
|
|
164
164
|
)
|
|
165
165
|
}
|
|
166
166
|
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
display: inline-flex;
|
|
7
7
|
align-items: center;
|
|
8
8
|
.selected {
|
|
9
|
+
&[aria-disabled='true'] {
|
|
10
|
+
background: var(--lightestGray);
|
|
11
|
+
}
|
|
9
12
|
border: 1px solid var(--lightGray);
|
|
10
13
|
padding: 7px;
|
|
11
14
|
min-width: 200px;
|
|
@@ -41,6 +44,9 @@
|
|
|
41
44
|
margin-bottom: 0;
|
|
42
45
|
}
|
|
43
46
|
}
|
|
47
|
+
.spinner-border {
|
|
48
|
+
right: 20% !important;
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
.dropdown {
|
|
46
52
|
background: white;
|
|
@@ -65,3 +71,7 @@
|
|
|
65
71
|
}
|
|
66
72
|
}
|
|
67
73
|
}
|
|
74
|
+
|
|
75
|
+
.accordion__panel .cove-multiselect .dropdown {
|
|
76
|
+
position: relative;
|
|
77
|
+
}
|
|
@@ -2,6 +2,7 @@ import { useState, useEffect, useRef, useMemo, useId } from 'react'
|
|
|
2
2
|
import './nesteddropdown.styles.css'
|
|
3
3
|
import Icon from '@cdc/core/components/ui/Icon'
|
|
4
4
|
import { filterSearchTerm, NestedOptions, ValueTextPair } from './nestedDropdownHelpers'
|
|
5
|
+
import Loader from '../Loader'
|
|
5
6
|
|
|
6
7
|
const Options: React.FC<{
|
|
7
8
|
subOptions: ValueTextPair[]
|
|
@@ -106,12 +107,10 @@ type NestedDropdownProps = {
|
|
|
106
107
|
activeGroup: string
|
|
107
108
|
activeSubGroup?: string
|
|
108
109
|
filterIndex: number
|
|
109
|
-
isEditor?: boolean
|
|
110
|
-
isUrlFilter?: boolean
|
|
111
110
|
listLabel: string
|
|
112
111
|
handleSelectedItems: ([group, subgroup]: [string, string]) => void
|
|
113
112
|
options: NestedOptions
|
|
114
|
-
|
|
113
|
+
loading?: boolean
|
|
115
114
|
}
|
|
116
115
|
|
|
117
116
|
const NestedDropdown: React.FC<NestedDropdownProps> = ({
|
|
@@ -120,16 +119,18 @@ const NestedDropdown: React.FC<NestedDropdownProps> = ({
|
|
|
120
119
|
activeSubGroup,
|
|
121
120
|
filterIndex,
|
|
122
121
|
listLabel,
|
|
123
|
-
handleSelectedItems
|
|
122
|
+
handleSelectedItems,
|
|
123
|
+
loading
|
|
124
124
|
}) => {
|
|
125
125
|
const dropdownId = useId()
|
|
126
|
-
const groupFilterActive = activeGroup
|
|
127
|
-
const subGroupFilterActive = activeSubGroup || ''
|
|
128
126
|
|
|
129
127
|
const [userSearchTerm, setUserSearchTerm] = useState('')
|
|
130
|
-
const [inputValue, setInputValue] = useState(
|
|
131
|
-
|
|
132
|
-
)
|
|
128
|
+
const [inputValue, setInputValue] = useState('')
|
|
129
|
+
|
|
130
|
+
const initialInputValue = useMemo(() => {
|
|
131
|
+
// value from props
|
|
132
|
+
return activeSubGroup ? `${activeGroup} - ${activeSubGroup}` : ''
|
|
133
|
+
}, [activeSubGroup])
|
|
133
134
|
const [inputHasFocus, setInputHasFocus] = useState(false)
|
|
134
135
|
const [isListOpened, setIsListOpened] = useState(false)
|
|
135
136
|
|
|
@@ -245,17 +246,17 @@ const NestedDropdown: React.FC<NestedDropdownProps> = ({
|
|
|
245
246
|
|
|
246
247
|
return (
|
|
247
248
|
<>
|
|
248
|
-
{listLabel && (
|
|
249
|
-
<label className='text-capitalize font-weight-bold' htmlFor={dropdownId}>
|
|
250
|
-
{listLabel}
|
|
251
|
-
</label>
|
|
252
|
-
)}
|
|
253
249
|
<div
|
|
254
250
|
id={dropdownId}
|
|
255
251
|
className={`nested-dropdown nested-dropdown-${filterIndex} ${isListOpened ? 'open-filter' : ''}`}
|
|
256
252
|
onKeyUp={handleKeyUp}
|
|
257
253
|
>
|
|
258
|
-
<div
|
|
254
|
+
<div
|
|
255
|
+
className={`nested-dropdown-input-container${loading || !options.length ? ' disabled' : ''}`}
|
|
256
|
+
aria-label='searchInput'
|
|
257
|
+
aria-disabled={loading}
|
|
258
|
+
role='textbox'
|
|
259
|
+
>
|
|
259
260
|
<input
|
|
260
261
|
id={`nested-dropdown-${filterIndex}`}
|
|
261
262
|
className='search-input'
|
|
@@ -264,9 +265,10 @@ const NestedDropdown: React.FC<NestedDropdownProps> = ({
|
|
|
264
265
|
aria-haspopup='true'
|
|
265
266
|
aria-hidden='false'
|
|
266
267
|
tabIndex={0}
|
|
267
|
-
value={inputValue}
|
|
268
|
+
value={inputValue || initialInputValue}
|
|
268
269
|
onChange={handleSearchTermChange}
|
|
269
|
-
placeholder={'- Select -'}
|
|
270
|
+
placeholder={loading ? 'Loading...' : '- Select -'}
|
|
271
|
+
disabled={loading || !options.length}
|
|
270
272
|
onClick={() => {
|
|
271
273
|
if (inputHasFocus) setIsListOpened(!isListOpened)
|
|
272
274
|
}}
|
|
@@ -277,6 +279,7 @@ const NestedDropdown: React.FC<NestedDropdownProps> = ({
|
|
|
277
279
|
<Icon display='caretDown' />
|
|
278
280
|
</span>
|
|
279
281
|
</div>
|
|
282
|
+
{loading && <Loader spinnerType={'text-secondary'} />}
|
|
280
283
|
<ul
|
|
281
284
|
role='tree'
|
|
282
285
|
key={listLabel}
|
|
@@ -299,7 +302,7 @@ const NestedDropdown: React.FC<NestedDropdownProps> = ({
|
|
|
299
302
|
handleSubGroupSelect={subGroupValue => {
|
|
300
303
|
chooseSelectedSubGroup(groupValue, subGroupValue)
|
|
301
304
|
}}
|
|
302
|
-
userSelectedLabel={
|
|
305
|
+
userSelectedLabel={activeGroup + activeSubGroup}
|
|
303
306
|
userSearchTerm={userSearchTerm}
|
|
304
307
|
/>
|
|
305
308
|
)
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
display: inline-block;
|
|
17
17
|
width: 100%;
|
|
18
18
|
padding: 0;
|
|
19
|
+
&::placeholder {
|
|
20
|
+
color: var(--darkGray);
|
|
21
|
+
}
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
.main-nested-dropdown-container,
|
|
@@ -56,6 +59,14 @@
|
|
|
56
59
|
right: 1px;
|
|
57
60
|
float: right;
|
|
58
61
|
}
|
|
62
|
+
|
|
63
|
+
&.disabled {
|
|
64
|
+
background-color: var(--lightestGray);
|
|
65
|
+
& > :is(input) {
|
|
66
|
+
color: var(--darkGray);
|
|
67
|
+
background-color: var(--lightestGray);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
59
70
|
}
|
|
60
71
|
|
|
61
72
|
& .main-nested-dropdown-container {
|
|
@@ -19,7 +19,7 @@ const Row: FC<RowProps> = props => {
|
|
|
19
19
|
const whiteSpace = wrapColumns ? 'unset' : 'nowrap'
|
|
20
20
|
const minWidth = cellMinWidth + 'px'
|
|
21
21
|
const fontSizes = { small: 16, medium: 18, large: 20 }
|
|
22
|
-
const cellFontSize = ['
|
|
22
|
+
const cellFontSize = ['xs', 'xxs'].includes(viewport) ? '12px' : `${fontSizes[fontSize]}px`
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
25
|
<tr>
|
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react'
|
|
2
|
-
import PropTypes from 'prop-types'
|
|
3
2
|
|
|
4
3
|
import '../../styles/v2/components/input/index.scss'
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
type InputSliderProps = {
|
|
6
|
+
/** Add label to the input field */
|
|
7
|
+
label: string
|
|
8
|
+
/** Select the preferred display style of the slider */
|
|
9
|
+
sliderType?: 'flat' | 'block' | 'pill' | '3d'
|
|
10
|
+
/** Select the preferred size of the slider */
|
|
11
|
+
size?: 'small' | 'medium' | 'large'
|
|
12
|
+
/** Select the preferred color for the slider when active */
|
|
13
|
+
activeColor?: string
|
|
14
|
+
/** Parent key value of nested target config option */
|
|
15
|
+
section?: string
|
|
16
|
+
/** Child key value of nested target config option */
|
|
17
|
+
subsection?: string
|
|
18
|
+
/** Key value of targeted config option */
|
|
19
|
+
fieldName?: string
|
|
20
|
+
/** Prop drill down of the updateField function */
|
|
21
|
+
updateField?: Function
|
|
22
|
+
/** Current value of the input, usually the current config option value */
|
|
23
|
+
value: boolean
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const InputSlider: React.FC<InputSliderProps> = ({
|
|
7
27
|
label,
|
|
8
28
|
sliderType = 'flat',
|
|
9
29
|
size = 'medium',
|
|
@@ -60,38 +80,24 @@ const InputSlider = ({
|
|
|
60
80
|
return (
|
|
61
81
|
<div className='input-group'>
|
|
62
82
|
{label && <label>{label}</label>}
|
|
63
|
-
<div
|
|
83
|
+
<div
|
|
84
|
+
className={
|
|
85
|
+
'cove-input__slider' +
|
|
86
|
+
(size === 'small' ? '--small' : size === 'large' ? '--large' : '') +
|
|
87
|
+
sliderTypeClass() +
|
|
88
|
+
(value ? ' active' : '')
|
|
89
|
+
}
|
|
90
|
+
onClick={clickHandler}
|
|
91
|
+
>
|
|
64
92
|
<div className='cove-input__slider-button' />
|
|
65
|
-
<div
|
|
93
|
+
<div
|
|
94
|
+
className='cove-input__slider-track'
|
|
95
|
+
style={value && activeColor ? { backgroundColor: activeColor } : null}
|
|
96
|
+
/>
|
|
66
97
|
<input className='cove-input--hidden' type='checkbox' name={name()} checked={value || false} readOnly />
|
|
67
98
|
</div>
|
|
68
99
|
</div>
|
|
69
100
|
)
|
|
70
101
|
}
|
|
71
102
|
|
|
72
|
-
InputSlider.propTypes = {
|
|
73
|
-
/** Add label to the input field */
|
|
74
|
-
label: PropTypes.string,
|
|
75
|
-
/** Select the preferred display style of the slider */
|
|
76
|
-
sliderType: PropTypes.oneOf(['flat', 'block', 'pill', '3d']),
|
|
77
|
-
/** Select the preferred size of the slider */
|
|
78
|
-
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
|
79
|
-
/** Select the preferred color for the slider when active */
|
|
80
|
-
activeColor: PropTypes.string,
|
|
81
|
-
/** Parent key value of nested target config option
|
|
82
|
-
*
|
|
83
|
-
* (optional)*/
|
|
84
|
-
section: PropTypes.string,
|
|
85
|
-
/** Child key value of nested target config option
|
|
86
|
-
*
|
|
87
|
-
* (optional, requires `section` value)*/
|
|
88
|
-
subsection: PropTypes.string,
|
|
89
|
-
/** Key value of targeted config option */
|
|
90
|
-
fieldName: PropTypes.string,
|
|
91
|
-
/** Prop drill down of the updateField function */
|
|
92
|
-
updateField: PropTypes.func,
|
|
93
|
-
/** Current value of the input, usually the current config option value */
|
|
94
|
-
stateValue: PropTypes.object
|
|
95
|
-
}
|
|
96
|
-
|
|
97
103
|
export default InputSlider
|
package/dist/cove-main.css
CHANGED
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
outline: none !important;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
.cdc-open-viz-module span,
|
|
20
19
|
.cdc-open-viz-module applet,
|
|
21
20
|
.cdc-open-viz-module object,
|
|
22
21
|
.cdc-open-viz-module iframe,
|
|
@@ -174,6 +173,10 @@
|
|
|
174
173
|
--amber-secondary: #ffd54f;
|
|
175
174
|
--amber-tertiary: #ffecb3;
|
|
176
175
|
--amber-quaternary: #fff7e1;
|
|
176
|
+
--cool-gray-90: #1c1d1f;
|
|
177
|
+
--cool-gray-50: #71767a;
|
|
178
|
+
--cool-gray-30: #a9aeb1;
|
|
179
|
+
--cool-gray-10: #dfe1e2;
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
:root {
|
|
@@ -187,9 +190,9 @@
|
|
|
187
190
|
--font-size: 17px;
|
|
188
191
|
}
|
|
189
192
|
|
|
190
|
-
@media (max-width:
|
|
193
|
+
@media (max-width: 576px) {
|
|
191
194
|
:root {
|
|
192
|
-
--font-size:
|
|
195
|
+
--font-size: 13px;
|
|
193
196
|
}
|
|
194
197
|
}
|
|
195
198
|
.filters-section__wrapper {
|
package/dist/cove-main.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../styles/_reset.scss","../styles/_global-variables.scss","../styles/filters.scss","../styles/base.scss","../styles/_variables.scss","../styles/_global.scss","../styles/_button-section.scss","../styles/_series-list.scss","../styles/_typography.scss","../styles/heading-colors.scss","../styles/v2/themes/_color-definitions.scss","../styles/v2/components/ui/tooltip.scss","../styles/v2/utils/_align.scss","../styles/v2/utils/_animations.scss","../styles/v2/utils/_grid.scss","../styles/v2/utils/_spacers.scss","../styles/v2/main.scss","../styles/v2/base/_general.scss","../styles/v2/base/_heading.scss","../styles/v2/base/_file-selector.scss","../styles/v2/layout/_alert.scss","../styles/v2/layout/_component.scss","../styles/v2/layout/_progression.scss","../styles/v2/utils/_mixins.scss","../styles/v2/layout/_tooltip.scss","../styles/v2/utils/_breakpoints.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAEE;;AAGF;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAqEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;AAEE;AAAA;EAEA;AAEA;AAAA;EAEA;AAEA;AAAA;EAEA;AAEA;AAAA;EAEA;;AAGF;AACE;EACA;;AAGF;AACE;AAAA;EAEA;;;AC7DF;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAON;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;ACzFF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;;AACA;EACE;;;AAOJ;EACE;;AAIA;EACE;EACA;;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;;AC7CN;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA,OCnEU;EDoEV;EACA;EAcA;EACA;EACA;;AAhDE;EAkCA;;AEvEJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EAIA;EACA;;AAJA;EAHF;IAII;;;AAIF;EACE;;AAKF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGJ;EACE,kBDlEE;ECmEF;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAGJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA,YD/HG;ECgIH;EACA;EACA;EACA;;AAEF;EACE,YDrIW;ECsIX;EACA;;AAEF;EACE;;AAEF;EACE;EACA,OD/IG;ECgJH;;AACA;EACE;;AAGJ;EACE;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE,kBD/KK;ECgLL,cDhLK;;ACiLL;EACE;EACA;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;;AChMF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;EACA;EAUA;;AATA;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAMF;EACE;EACA;;AAEF;EACE;;ACzCJ;EAEE;EACA;;AAIS;EACP,YAHO;;;AAMA;EACP,eAPO;;;AAUT;EACE;;AAEA;EACE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AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AASI;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;;AAUF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;;AC9KR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOA;AAAA;EACE;;AAKA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGE;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;;AAGE;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;;AChJJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACJN;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AC1BJ;EACE;EACA;;;AA5BE;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAQF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAeJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;ACXF;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AA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AGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AO7KR;EACE;EACA;EACA;EACA;EACA;EACA,OP6KU;EO5KV;EACA;;AAEA;EACE;EACA;EACA;EACA,OPyKS;;AOtKX;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AC9BJ;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AClBF;EACE;EACA;EACA;EACA,OTqLW;ESpLX;EACA;EACA;EACA;;AAEA;EACE,kBT4KW;;ASzKb;EACE;EACA,OTsKG;ESrKH;;AHRF;AAAA;EAEE;;AAWF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AIxDJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AClCJ;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE,YXyKW;;AWrKf;EACE;;AClBF;ECAE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDRA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AEzER;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA,OAhBmB;EAiBnB,kBAlBgB;EAmBhB;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAMJ;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;ACxFA;ETqBA","file":"cove-main.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../styles/_reset.scss","../styles/_global-variables.scss","../styles/filters.scss","../styles/base.scss","../styles/_variables.scss","../styles/_global.scss","../styles/_button-section.scss","../styles/_series-list.scss","../styles/_typography.scss","../styles/heading-colors.scss","../styles/v2/themes/_color-definitions.scss","../styles/v2/components/ui/tooltip.scss","../styles/v2/utils/_align.scss","../styles/v2/utils/_animations.scss","../styles/v2/utils/_grid.scss","../styles/v2/utils/_spacers.scss","../styles/v2/main.scss","../styles/v2/base/_general.scss","../styles/v2/base/_heading.scss","../styles/v2/base/_file-selector.scss","../styles/v2/layout/_alert.scss","../styles/v2/layout/_component.scss","../styles/v2/layout/_progression.scss","../styles/v2/utils/_mixins.scss","../styles/v2/layout/_tooltip.scss","../styles/v2/utils/_breakpoints.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAEE;;AAGF;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAoEE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;AAEE;AAAA;EAEA;AAEA;AAAA;EAEA;AAEA;AAAA;EAEA;AAEA;AAAA;EAEA;;AAGF;AACE;EACA;;AAGF;AACE;AAAA;EAEA;;;ACvDF;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAON;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AC9FF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;;AACA;EACE;;;AAOJ;EACE;;AAIA;EACE;EACA;;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;;AC7CN;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA,OCnEU;EDoEV;EACA;EAcA;EACA;EACA;;AAhDE;EAkCA;;AEvEJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EAIA;EACA;;AAJA;EAHF;IAII;;;AAIF;EACE;;AAKF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAGJ;EACE,kBDlEE;ECmEF;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAGJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA,YD/HG;ECgIH;EACA;EACA;EACA;;AAEF;EACE,YDrIW;ECsIX;EACA;;AAEF;EACE;;AAEF;EACE;EACA,OD/IG;ECgJH;;AACA;EACE;;AAGJ;EACE;EACA;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE,kBD/KK;ECgLL,cDhLK;;ACiLL;EACE;EACA;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;;AChMF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;AAKJ;EACE;EACA;EACA;EAUA;;AATA;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAMF;EACE;EACA;;AAEF;EACE;;ACzCJ;EAEE;EACA;;AAIS;EACP,YAHO;;;AAMA;EACP,eAPO;;;AAUT;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CE;;AA3CJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AASI;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAKJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;;AAUF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;;AC9KR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOA;AAAA;EACE;;AAKA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAKJ;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAGE;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;;AAIJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;;AAGE;EACE;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;;AChJJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACJN;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AC1BJ;EACE;EACA;;;AA5BE;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAQF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAeJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAyBJ;EAnCE;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAVF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;ACXF;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;EAAA;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;;AAFJ;EAEI;;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A;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AAvCF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEF;EACE;;AAKF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAEF;EACE;;AO7KR;EACE;EACA;EACA;EACA;EACA;EACA,OP6KU;EO5KV;EACA;;AAEA;EACE;EACA;EACA;EACA,OPyKS;;AOtKX;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AC9BJ;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AClBF;EACE;EACA;EACA;EACA,OTqLW;ESpLX;EACA;EACA;EACA;;AAEA;EACE,kBT4KW;;ASzKb;EACE;EACA,OTsKG;ESrKH;;AHRF;AAAA;EAEE;;AAWF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AIxDJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AClCJ;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE,YXyKW;;AWrKf;EACE;;AClBF;ECAE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDRA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AEzER;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA,OAhBmB;EAiBnB,kBAlBgB;EAmBhB;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAMJ;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;ACxFA;ETqBA","file":"cove-main.css"}
|
|
@@ -5,9 +5,8 @@ const strip = (paramVal: string) => {
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
const isNumber = (value: string) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return !isNaN(parseInt(value))
|
|
8
|
+
// matches int and float and negative numbers
|
|
9
|
+
return String(value).match(/^[-]?[0-9\.]+$/)
|
|
11
10
|
}
|
|
12
11
|
|
|
13
12
|
export const gatherQueryParams = (baseEndpoint: string, params: { key: string; value: string }[]) => {
|
|
@@ -16,11 +16,20 @@ export function getQueryStringFilterValue(filter) {
|
|
|
16
16
|
export function getQueryParams() {
|
|
17
17
|
const queryParams = {}
|
|
18
18
|
for (const [key, value] of Array.from(new URLSearchParams(window.location.search).entries())) {
|
|
19
|
-
queryParams[key] = value
|
|
19
|
+
if (!queryParams[key]) queryParams[key] = value
|
|
20
|
+
else {
|
|
21
|
+
// for multiple values of the same key in the query string
|
|
22
|
+
if (Array.isArray(queryParams[key])) queryParams[key].push(value)
|
|
23
|
+
else queryParams[key] = [queryParams[key], value]
|
|
24
|
+
}
|
|
20
25
|
}
|
|
21
26
|
return queryParams
|
|
22
27
|
}
|
|
23
28
|
|
|
29
|
+
export function getQueryParam(param) {
|
|
30
|
+
return getQueryParams()[param]
|
|
31
|
+
}
|
|
32
|
+
|
|
24
33
|
export function updateQueryString(queryParams) {
|
|
25
34
|
const updateUrl = `${window.location.origin}${window.location.pathname}?${Object.keys(queryParams)
|
|
26
35
|
.map(queryParam => `${queryParam}=${encodeURIComponent(queryParams[queryParam])}`)
|
|
@@ -85,7 +85,8 @@ export default function useDataVizClasses(config, viewport = null) {
|
|
|
85
85
|
li: ['single-legend-item', 'legend-container__li'],
|
|
86
86
|
title: ['legend-container__title'],
|
|
87
87
|
description: ['legend-container__description'],
|
|
88
|
-
div: [legend?.position === 'bottom' && legend?.singleRow ? 'shape-container single-row' : 'shape-container']
|
|
88
|
+
div: [legend?.position === 'bottom' && legend?.singleRow ? 'shape-container single-row' : 'shape-container'],
|
|
89
|
+
resetButton: ['legend-container__reset-button']
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
return { innerContainerClasses, contentClasses, lineDatapointClass, sparkLineStyles, legendClasses }
|
package/helpers/viewports.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
return ['xs', 'xxs'].includes(currentViewport)
|
|
3
|
-
}
|
|
1
|
+
import { ViewportSize } from '@cdc/map/src/types/MapConfig'
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
return ['xs', 'xxs'].includes(currentViewport)
|
|
7
|
-
}
|
|
3
|
+
const BREAKPOINTS = ['xxs', 'xs', 'sm', 'md', 'lg']
|
|
8
4
|
|
|
9
|
-
export
|
|
5
|
+
export const isBelowBreakpoint = (breakpoint: ViewportSize, currentViewport: ViewportSize) =>
|
|
6
|
+
BREAKPOINTS.indexOf(currentViewport) < BREAKPOINTS.indexOf(breakpoint)
|
|
7
|
+
|
|
8
|
+
export const isLegendWrapViewport = currentViewport => isBelowBreakpoint('sm', currentViewport)
|
|
9
|
+
|
|
10
|
+
export const isMobileHeightViewport = currentViewport => isBelowBreakpoint('sm', currentViewport)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdc/core",
|
|
3
|
-
"version": "4.24.
|
|
3
|
+
"version": "4.24.12",
|
|
4
4
|
"description": "Core components, styles, hooks, and helpers, for the CDC Open Visualization project",
|
|
5
5
|
"moduleName": "CdcCore",
|
|
6
6
|
"main": "dist/cdccore",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"react": "^18.2.0",
|
|
35
35
|
"react-dom": "^18.2.0"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "347414f1da4b0e9bf2f22a7b59335deccf0b2d9c",
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"sass": "^1.79.4"
|
|
40
40
|
}
|
|
@@ -62,7 +62,12 @@ $colors: (
|
|
|
62
62
|
'amber-primary': #fbab18,
|
|
63
63
|
'amber-secondary': #ffd54f,
|
|
64
64
|
'amber-tertiary': #ffecb3,
|
|
65
|
-
'amber-quaternary': #fff7e1
|
|
65
|
+
'amber-quaternary': #fff7e1,
|
|
66
|
+
|
|
67
|
+
'cool-gray-90': #1c1d1f,
|
|
68
|
+
'cool-gray-50': #71767a,
|
|
69
|
+
'cool-gray-30': #a9aeb1,
|
|
70
|
+
'cool-gray-10': #dfe1e2
|
|
66
71
|
);
|
|
67
72
|
|
|
68
73
|
@mixin theme() {
|
|
@@ -86,8 +91,8 @@ $colors: (
|
|
|
86
91
|
--font-size: 17px;
|
|
87
92
|
}
|
|
88
93
|
|
|
89
|
-
@media (max-width:
|
|
94
|
+
@media (max-width: 576px) {
|
|
90
95
|
:root {
|
|
91
|
-
--font-size:
|
|
96
|
+
--font-size: 13px;
|
|
92
97
|
}
|
|
93
98
|
}
|
package/styles/_reset.scss
CHANGED
package/types/Version.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type version = `${number}.${number}.${number}`
|