@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.
Files changed (30) hide show
  1. package/components/Alert/components/Alert.tsx +9 -4
  2. package/components/DataTable/DataTable.tsx +19 -8
  3. package/components/DataTable/components/ExpandCollapse.tsx +1 -1
  4. package/components/DataTable/components/SortIcon/sort-icon.css +15 -0
  5. package/components/DataTable/helpers/boxplotCellMatrix.tsx +6 -2
  6. package/components/DataTable/helpers/getChartCellValue.ts +11 -11
  7. package/components/EditorPanel/DataTableEditor.tsx +29 -23
  8. package/components/EditorPanel/VizFilterEditor/VizFilterEditor.tsx +13 -1
  9. package/components/Filters/Filters.tsx +5 -8
  10. package/components/Footnotes/FootnotesStandAlone.tsx +17 -4
  11. package/components/Layout/components/Visualization/visualizations.scss +1 -1
  12. package/components/Legend/Legend.Gradient.tsx +1 -1
  13. package/components/Loader/Loader.tsx +10 -5
  14. package/components/MultiSelect/MultiSelect.tsx +84 -84
  15. package/components/MultiSelect/multiselect.styles.css +10 -0
  16. package/components/NestedDropdown/NestedDropdown.tsx +21 -18
  17. package/components/NestedDropdown/nesteddropdown.styles.css +11 -0
  18. package/components/Table/components/Row.tsx +1 -1
  19. package/components/inputs/{InputToggle.jsx → InputToggle.tsx} +35 -29
  20. package/dist/cove-main.css +6 -3
  21. package/dist/cove-main.css.map +1 -1
  22. package/helpers/gatherQueryParams.ts +2 -3
  23. package/helpers/queryStringUtils.ts +10 -1
  24. package/helpers/useDataVizClasses.ts +2 -1
  25. package/helpers/ver/versionNeedsUpdate.ts +2 -0
  26. package/helpers/viewports.ts +8 -7
  27. package/package.json +2 -2
  28. package/styles/_global-variables.scss +8 -3
  29. package/styles/_reset.scss +0 -1
  30. 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
- <button type='button' className='close pl-5' aria-label='Close' onClick={() => onDismiss()}>
59
- X
60
- </button>
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.tableData[0])
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 = ['sm', 'xs', 'xxs'].includes(viewport) ? '13px' : `${fontSizes[fontSize]}px`
5
+ const titleFontSize = ['xs', 'xxs'].includes(viewport) ? '13px' : `${fontSizes[fontSize]}px`
6
6
  return (
7
7
  <div
8
8
  style={{ fontSize: titleFontSize }}
@@ -19,3 +19,18 @@
19
19
  top: 0.5rem;
20
20
  }
21
21
  }
22
+
23
+ @media (max-width: 576px) {
24
+ .sort-icon {
25
+ :is(svg) {
26
+ width: 0.9rem;
27
+ height: 0.9rem;
28
+ }
29
+ .up {
30
+ bottom: 0.3rem;
31
+ }
32
+ .down {
33
+ top: 0.3rem;
34
+ }
35
+ }
36
+ }
@@ -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
- nonOutlierValues: 'Non Outliers',
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.columnOutliers.length > 0 ? plot.columnOutliers.toString() : '-'
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
- let labelValue = rowObj[column] // just raw X axis string
32
+ const labelValue = rowObj[column] // just raw X axis string
33
33
  if (column === config.xAxis?.dataKey) {
34
- // not the prettiest, but helper functions work nicely here.
35
- cellValue =
36
- config.xAxis?.type === 'date'
37
- ? formatDate(
38
- config.table?.dateDisplayFormat || config.xAxis?.dateDisplayFormat,
39
- parseDate(config.xAxis?.dateParseFormat, labelValue)
40
- )
41
- : labelValue
42
- cellValue =
43
- config.xAxis?.type === 'continuous' ? formatNumber(runtimeData[row][column], 'bottom', false, config) : labelValue
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
- <MultiSelect
209
- key={excludedColumns.join('') + 'excluded'}
210
- options={dataColumns.map(c => ({ label: c, value: c }))}
211
- selected={excludedColumns}
212
- fieldName='dataTable'
213
- label='Exclude Columns'
214
- section='columns'
215
- updateField={excludeColumns}
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
- <MultiSelect
327
- key={config.table.pivot?.columnName}
328
- options={groupPivotColumns
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 = { values: [], filterStyle: 'dropdown', id: Date.now() } as 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='text-capitalize font-weight-bold mt-1 mb-0' htmlFor={`filter-${outerIndex}`}>
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
- <p className='filters-section__intro-text'>
506
- {filters?.some(filter => filter.active && filter.columnName) ? filterConstants.introText : ''}{' '}
507
- {visualizationConfig.filterBehavior === 'Apply Button' && filterConstants.applyText}
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> = ({ visualizationKey, config, viewport, isEditor, updateConfig }) => {
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 component={FootnotesStandAlone} visualizationKey={visualizationKey} visualizationConfig={config} updateConfig={updateConfig} type={'Footnotes'} viewport={viewport}>
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
- if (config.dataKey && config.dynamicFootnotes) {
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] }))
@@ -1,6 +1,6 @@
1
1
  .cdc-open-viz-module {
2
2
  .cdc-chart-inner-container .cove-component__content {
3
- padding: 25px 0px !important;
3
+ padding: 25px 15px 25px 0 !important;
4
4
  }
5
5
  &.isEditor {
6
6
  overflow: auto;
@@ -38,7 +38,7 @@ const LegendGradient = ({
38
38
 
39
39
  const numTicks = colors?.length
40
40
 
41
- const longestLabel = labels && labels.length > 0 ? labels.reduce((a, b) => (a.length > b.length ? a : b)) : ''
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='spinner-border text-primary' role='status'>
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[]>(preselectedItems)
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 && selectedItems.length >= limit) return
66
- const newItems = [...selectedItems, option]
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 = selectedItems.filter(item => item.value !== option.value)
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
- {label && (
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
- <div className='wrapper'>
90
- <div
91
- id={multiID}
92
- onClick={() => {
93
- if (!selectedItems.length) {
94
- setExpanded(true)
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
- {selectedItems.length ? (
100
- selectedItems.map(item => (
101
- <div key={item.value} aria-labelledby={label ? multiID + label : undefined}>
102
- {item.label}
103
- <button
104
- aria-label='Remove'
105
- onClick={e => {
106
- e.preventDefault()
107
- handleItemRemove(item)
108
- }}
109
- onKeyUp={e => {
110
- handleItemRemove(item, e)
111
- }}
112
- >
113
- x
114
- </button>
115
- </div>
116
- ))
117
- ) : (
118
- <span className='pl-1 pt-1'>- Select -</span>
119
- )}
120
- <button
121
- aria-label={expanded ? 'Collapse' : 'Expand'}
122
- aria-labelledby={label ? multiID : undefined}
123
- className='expand'
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
- setExpanded(!expanded)
155
+ handleItemSelect(option, e)
127
156
  }}
157
+ onKeyUp={e => handleItemSelect(option, e)}
128
158
  >
129
- <Icon display={'caretDown'} style={{ cursor: 'pointer' }} />
130
- </button>
131
- </div>
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
- <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
- subGroupingActive?: string
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
- subGroupFilterActive !== '' ? `${groupFilterActive} - ${subGroupFilterActive}` : ''
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 className='nested-dropdown-input-container' aria-label='searchInput' role='textbox'>
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={groupFilterActive + subGroupFilterActive}
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 = ['sm', 'xs', 'xxs'].includes(viewport) ? '11px' : `${fontSizes[fontSize]}px`
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
- const InputSlider = ({
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 className={'cove-input__slider' + (size === 'small' ? '--small' : size === 'large' ? '--large' : '') + sliderTypeClass() + (value ? ' active' : '')} onClick={clickHandler}>
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 className='cove-input__slider-track' style={value && activeColor ? { backgroundColor: activeColor } : null} />
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
@@ -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: 768px) {
193
+ @media (max-width: 576px) {
191
194
  :root {
192
- --font-size: 0.9em;
195
+ --font-size: 13px;
193
196
  }
194
197
  }
195
198
  .filters-section__wrapper {
@@ -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;EACE;;AAEA;EACE;;AAIJ;EACE,aAnBO;EAoBP,cApBO;EAqBP;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA,cA3CO;EA4CP,aA5CO;EA6CP;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;ACvFJ;EACE;;AAIJ;EACE;;AAIA;EACE;;AAIJ;EACE;EACA;;AL4DA;EACE;;;AM7EF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;AAEF;AAAA;EACE;EACA;;;ACuCA;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;;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;;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;;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;;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;;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;;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;;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;;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;;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;;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
- const hasLetters = value.match(/[a-zA-Z]/)
9
- if (hasLetters) return false
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 }
@@ -7,3 +7,5 @@ export default function versionNeedsUpdate(previousVersion: string, currentVersi
7
7
  if (currMajor === prevMajor && currMinor === prevMinor && currPatch > prevPatch) return true
8
8
  return false
9
9
  }
10
+
11
+ export const isOlderVersion = versionNeedsUpdate
@@ -1,9 +1,10 @@
1
- function isLegendWrapViewport(currentViewport) {
2
- return ['xs', 'xxs'].includes(currentViewport)
3
- }
1
+ import { ViewportSize } from '@cdc/map/src/types/MapConfig'
4
2
 
5
- function isMobileHeightViewport(currentViewport) {
6
- return ['xs', 'xxs'].includes(currentViewport)
7
- }
3
+ const BREAKPOINTS = ['xxs', 'xs', 'sm', 'md', 'lg']
8
4
 
9
- export { isLegendWrapViewport, isMobileHeightViewport }
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.11",
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": "9ab5ee9b2b0ef7321a66a2104be6ce8899ec3808",
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: 768px) {
94
+ @media (max-width: 576px) {
90
95
  :root {
91
- --font-size: 0.9em;
96
+ --font-size: 13px;
92
97
  }
93
98
  }
@@ -19,7 +19,6 @@
19
19
  }
20
20
  }
21
21
  .cdc-open-viz-module {
22
- span,
23
22
  applet,
24
23
  object,
25
24
  iframe,
@@ -0,0 +1 @@
1
+ export type version = `${number}.${number}.${number}`