@cdc/map 4.25.5-1 → 4.25.6-1
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/.idea/map.iml +12 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/LICENSE +201 -0
- package/dist/cdcmap.js +19455 -18752
- package/examples/private/m.json +427 -0
- package/index.html +33 -32
- package/package.json +7 -13
- package/src/CdcMap.tsx +10 -2
- package/src/CdcMapComponent.tsx +23 -9
- package/src/_stories/CdcMap.Table.stories.tsx +19 -0
- package/src/_stories/CdcMap.stories.tsx +8 -0
- package/src/_stories/_mock/default-patterns.json +8 -5
- package/src/_stories/_mock/legend-bins.json +428 -0
- package/src/components/EditorPanel/components/EditorPanel.tsx +120 -76
- package/src/components/Legend/components/index.scss +56 -11
- package/src/components/UsaMap/components/UsaMap.SingleState.tsx +16 -18
- package/src/helpers/addUIDs.ts +1 -2
- package/src/helpers/formatLegendLocation.ts +3 -2
- package/src/helpers/generateRuntimeData.ts +6 -2
- package/src/helpers/generateRuntimeLegend.ts +88 -59
- package/src/helpers/getStatePicked.ts +8 -0
package/src/CdcMapComponent.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Vendor
|
|
2
|
-
import React, { useEffect, useRef, useId, useReducer, useContext } from 'react'
|
|
2
|
+
import React, { useEffect, useRef, useId, useReducer, useContext, useMemo } from 'react'
|
|
3
3
|
import 'whatwg-fetch'
|
|
4
4
|
import { Tooltip as ReactTooltip } from 'react-tooltip'
|
|
5
5
|
import Papa from 'papaparse'
|
|
@@ -14,9 +14,11 @@ import MediaControls from '@cdc/core/components/MediaControls'
|
|
|
14
14
|
import SkipTo from '@cdc/core/components/elements/SkipTo'
|
|
15
15
|
import Title from '@cdc/core/components/ui/Title'
|
|
16
16
|
import Waiting from '@cdc/core/components/Waiting'
|
|
17
|
+
import FootnotesStandAlone from '@cdc/core/components/Footnotes/FootnotesStandAlone'
|
|
17
18
|
|
|
18
19
|
// types
|
|
19
20
|
import { type MapConfig } from './types/MapConfig'
|
|
21
|
+
import { Datasets } from '@cdc/core/types/DataSet'
|
|
20
22
|
|
|
21
23
|
// Sass
|
|
22
24
|
import './scss/main.scss'
|
|
@@ -29,6 +31,7 @@ import { isSolrCsv, isSolrJson } from '@cdc/core/helpers/isSolr'
|
|
|
29
31
|
import { publish } from '@cdc/core/helpers/events'
|
|
30
32
|
import { generateRuntimeFilters } from './helpers/generateRuntimeFilters'
|
|
31
33
|
import { type MapReducerType, MapState } from './store/map.reducer'
|
|
34
|
+
import { addValuesToFilters } from '@cdc/core/helpers/addValuesToFilters'
|
|
32
35
|
|
|
33
36
|
// Map Helpers
|
|
34
37
|
import {
|
|
@@ -75,6 +78,7 @@ type CdcMapComponent = {
|
|
|
75
78
|
navigationHandler: Function
|
|
76
79
|
setSharedFilter: Function
|
|
77
80
|
setSharedFilterValue: Function
|
|
81
|
+
datasets?: Datasets
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
@@ -86,8 +90,9 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
86
90
|
setSharedFilter,
|
|
87
91
|
setSharedFilterValue,
|
|
88
92
|
link,
|
|
93
|
+
setConfig: setParentConfig,
|
|
89
94
|
loadConfig,
|
|
90
|
-
|
|
95
|
+
datasets
|
|
91
96
|
}) => {
|
|
92
97
|
const initialState = getInitialState(configObj)
|
|
93
98
|
|
|
@@ -144,7 +149,13 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
144
149
|
}
|
|
145
150
|
|
|
146
151
|
const _setRuntimeData = (data: any) => {
|
|
147
|
-
|
|
152
|
+
const _newFilters = addValuesToFilters(data, [])
|
|
153
|
+
setConfig({ ...config, filters: _newFilters })
|
|
154
|
+
if (config) {
|
|
155
|
+
setRuntimeData(data)
|
|
156
|
+
} else {
|
|
157
|
+
setRuntimeFilters(data)
|
|
158
|
+
}
|
|
148
159
|
}
|
|
149
160
|
const transform = new DataTransform()
|
|
150
161
|
|
|
@@ -157,7 +168,7 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
157
168
|
const tooltipRef = useRef(null)
|
|
158
169
|
|
|
159
170
|
// IDs
|
|
160
|
-
const imageId =
|
|
171
|
+
const imageId = useMemo(() => `download-id-${Math.random().toString(36).substr(2, 9)}`, [])
|
|
161
172
|
const legendId = useId()
|
|
162
173
|
const mapId = useId()
|
|
163
174
|
const tooltipId = 'test'
|
|
@@ -273,6 +284,7 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
273
284
|
primary: config.columns.primary.name,
|
|
274
285
|
mapPosition: config.mapPosition,
|
|
275
286
|
map: config.map,
|
|
287
|
+
table: config.table,
|
|
276
288
|
...runtimeFilters
|
|
277
289
|
})
|
|
278
290
|
|
|
@@ -283,7 +295,8 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
283
295
|
{ ...config, data: configObj.data },
|
|
284
296
|
filters || runtimeFilters,
|
|
285
297
|
hashData,
|
|
286
|
-
isCategoryLegend
|
|
298
|
+
isCategoryLegend,
|
|
299
|
+
config.table.showNonGeoData
|
|
287
300
|
)
|
|
288
301
|
setRuntimeData(newRuntimeData)
|
|
289
302
|
} else {
|
|
@@ -402,7 +415,7 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
402
415
|
imageId={imageId}
|
|
403
416
|
showEditorPanel={config.showEditorPanel}
|
|
404
417
|
>
|
|
405
|
-
{isEditor && <EditorPanel />}
|
|
418
|
+
{isEditor && <EditorPanel datasets={datasets} />}
|
|
406
419
|
<Layout.Responsive isEditor={isEditor}>
|
|
407
420
|
{requiredColumns?.length > 0 && (
|
|
408
421
|
<Waiting requiredColumns={requiredColumns} className={displayPanel ? `waiting` : `waiting collapsed`} />
|
|
@@ -428,7 +441,7 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
428
441
|
config={config}
|
|
429
442
|
setConfig={setConfig}
|
|
430
443
|
filteredData={runtimeFilters}
|
|
431
|
-
|
|
444
|
+
setFilters={_setRuntimeData}
|
|
432
445
|
dimensions={dimensions}
|
|
433
446
|
standaloneMap={!config}
|
|
434
447
|
/>
|
|
@@ -463,8 +476,8 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
463
476
|
/* logo is handled in UsaMap.State when applicable */
|
|
464
477
|
// prettier-ignore
|
|
465
478
|
'data' === general.type && logo && ('us' !== geoType || 'us-geocode' === general.type) && (
|
|
466
|
-
|
|
467
|
-
|
|
479
|
+
<img src={logo} alt='' className='map-logo' style={{ maxWidth: '50px' }} />
|
|
480
|
+
)
|
|
468
481
|
}
|
|
469
482
|
</>
|
|
470
483
|
)}
|
|
@@ -584,6 +597,7 @@ const CdcMapComponent: React.FC<CdcMapComponent> = ({
|
|
|
584
597
|
display: 'none' // can't use d-none here
|
|
585
598
|
}}
|
|
586
599
|
></div>
|
|
600
|
+
<FootnotesStandAlone config={config.footnotes} filters={config.filters?.filter(f => f.filterFootnotes)} />
|
|
587
601
|
</Layout.Responsive>
|
|
588
602
|
</Layout.VisualizationWrapper>
|
|
589
603
|
</MapDispatchContext.Provider>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react'
|
|
2
|
+
import CdcMapComponent from '../CdcMapComponent'
|
|
3
|
+
import defaultPatterns from './_mock/default-patterns.json'
|
|
4
|
+
import { editConfigKeys } from '@cdc/chart/src/helpers/configHelpers'
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof CdcMapComponent> = {
|
|
7
|
+
title: 'Components/Templates/Map/Table',
|
|
8
|
+
component: CdcMapComponent
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
type Story = StoryObj<typeof CdcMapComponent>
|
|
12
|
+
|
|
13
|
+
export const Show_Non_Geo_Data: Story = {
|
|
14
|
+
args: {
|
|
15
|
+
config: editConfigKeys(defaultPatterns, [{ path: ['table', 'showNonGeoData'], value: true }])
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default meta
|
|
@@ -4,6 +4,7 @@ import EqualNumberOptInExample from './_mock/DEV-7286.json'
|
|
|
4
4
|
import SingleStateWithFilters from './_mock/DEV-8942.json'
|
|
5
5
|
import exampleCityState from './_mock/example-city-state.json'
|
|
6
6
|
import { editConfigKeys } from '@cdc/chart/src/helpers/configHelpers'
|
|
7
|
+
import exampleLegendBins from './_mock/legend-bins.json'
|
|
7
8
|
|
|
8
9
|
const meta: Meta<typeof CdcMap> = {
|
|
9
10
|
title: 'Components/Templates/Map',
|
|
@@ -156,4 +157,11 @@ export const Custom_Color_Distributions_With_Update_Needed: Story = {
|
|
|
156
157
|
}
|
|
157
158
|
}
|
|
158
159
|
|
|
160
|
+
export const Legend_Bins: Story = {
|
|
161
|
+
args: {
|
|
162
|
+
config: exampleLegendBins,
|
|
163
|
+
isEditor: true
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
159
167
|
export default meta
|
|
@@ -146,10 +146,7 @@
|
|
|
146
146
|
"additionalCityStyles": []
|
|
147
147
|
},
|
|
148
148
|
"mapPosition": {
|
|
149
|
-
"coordinates": [
|
|
150
|
-
0,
|
|
151
|
-
30
|
|
152
|
-
],
|
|
149
|
+
"coordinates": [0, 30],
|
|
153
150
|
"zoom": 1
|
|
154
151
|
},
|
|
155
152
|
"map": {
|
|
@@ -193,6 +190,12 @@
|
|
|
193
190
|
},
|
|
194
191
|
"usingWidgetLoader": true,
|
|
195
192
|
"data": [
|
|
193
|
+
{
|
|
194
|
+
"STATE": "Non-Geo Data",
|
|
195
|
+
"Rate": 1000,
|
|
196
|
+
"Location": "Home",
|
|
197
|
+
"URL": "https://www.cdc.gov/"
|
|
198
|
+
},
|
|
196
199
|
{
|
|
197
200
|
"STATE": "AL",
|
|
198
201
|
"Rate": 1000,
|
|
@@ -862,4 +865,4 @@
|
|
|
862
865
|
],
|
|
863
866
|
"filterStyle": "Filter Changes",
|
|
864
867
|
"version": "4.24.11"
|
|
865
|
-
}
|
|
868
|
+
}
|
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
{
|
|
2
|
+
"general": {
|
|
3
|
+
"geoType": "us",
|
|
4
|
+
"geoBorderColor": "darkGray",
|
|
5
|
+
"showTitle": false,
|
|
6
|
+
"showSidebar": true,
|
|
7
|
+
"showDownloadButton": false,
|
|
8
|
+
"showDownloadMediaButton": false,
|
|
9
|
+
"displayAsHex": true,
|
|
10
|
+
"displayStateLabels": false,
|
|
11
|
+
"territoriesLabel": "Territories",
|
|
12
|
+
"language": "en",
|
|
13
|
+
"hasRegions": false,
|
|
14
|
+
"expandDataTable": false,
|
|
15
|
+
"fullBorder": false,
|
|
16
|
+
"type": "data",
|
|
17
|
+
"palette": {
|
|
18
|
+
"isReversed": true
|
|
19
|
+
},
|
|
20
|
+
"geoLabelOverride": "",
|
|
21
|
+
"convertFipsCodes": true,
|
|
22
|
+
"allowMapZoom": true,
|
|
23
|
+
"hideGeoColumnInTooltip": false,
|
|
24
|
+
"hidePrimaryColumnInTooltip": false,
|
|
25
|
+
"superTitle": "",
|
|
26
|
+
"equalNumberOptIn": true,
|
|
27
|
+
"navigationTarget": "_self",
|
|
28
|
+
"noStateFoundMessage": "Map Unavailable",
|
|
29
|
+
"annotationDropdownText": "Annotations",
|
|
30
|
+
"headerColor": "theme-blue",
|
|
31
|
+
"title": "",
|
|
32
|
+
"territoriesAlwaysShow": false,
|
|
33
|
+
"statePicked": {
|
|
34
|
+
"fipsCode": "01",
|
|
35
|
+
"stateName": "Alabama"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"type": "map",
|
|
39
|
+
"customColors": [
|
|
40
|
+
"red",
|
|
41
|
+
"#edf8fb",
|
|
42
|
+
"yellow",
|
|
43
|
+
"#b3cde3",
|
|
44
|
+
"green",
|
|
45
|
+
"#8c96c6",
|
|
46
|
+
"#8856a7",
|
|
47
|
+
"#810f7c",
|
|
48
|
+
"pink"
|
|
49
|
+
],
|
|
50
|
+
"columns": {
|
|
51
|
+
"geo": {
|
|
52
|
+
"name": "state",
|
|
53
|
+
"label": "Location",
|
|
54
|
+
"tooltip": false,
|
|
55
|
+
"dataTable": true
|
|
56
|
+
},
|
|
57
|
+
"primary": {
|
|
58
|
+
"dataTable": true,
|
|
59
|
+
"tooltip": true,
|
|
60
|
+
"prefix": "",
|
|
61
|
+
"suffix": "%",
|
|
62
|
+
"name": "value",
|
|
63
|
+
"label": "",
|
|
64
|
+
"roundToPlace": 1
|
|
65
|
+
},
|
|
66
|
+
"navigate": {
|
|
67
|
+
"name": ""
|
|
68
|
+
},
|
|
69
|
+
"latitude": {
|
|
70
|
+
"name": ""
|
|
71
|
+
},
|
|
72
|
+
"longitude": {
|
|
73
|
+
"name": ""
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"legend": {
|
|
77
|
+
"descriptions": {},
|
|
78
|
+
"specialClasses": [
|
|
79
|
+
{
|
|
80
|
+
"key": "value",
|
|
81
|
+
"value": "",
|
|
82
|
+
"label": "No data"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"unified": false,
|
|
86
|
+
"singleColumn": false,
|
|
87
|
+
"dynamicDescription": false,
|
|
88
|
+
"type": "equalnumber",
|
|
89
|
+
"numberOfItems": 5,
|
|
90
|
+
"position": "side",
|
|
91
|
+
"title": "Legend",
|
|
92
|
+
"singleRow": false,
|
|
93
|
+
"verticalSorted": false,
|
|
94
|
+
"showSpecialClassesLast": true,
|
|
95
|
+
"categoryValuesOrder": [
|
|
96
|
+
"No",
|
|
97
|
+
"Yes"
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
"filters": [],
|
|
101
|
+
"table": {
|
|
102
|
+
"wrapColumns": false,
|
|
103
|
+
"label": "Data Table",
|
|
104
|
+
"expanded": false,
|
|
105
|
+
"limitHeight": false,
|
|
106
|
+
"height": "",
|
|
107
|
+
"caption": "",
|
|
108
|
+
"showDownloadUrl": false,
|
|
109
|
+
"showDataTableLink": false,
|
|
110
|
+
"showFullGeoNameInCSV": false,
|
|
111
|
+
"forceDisplay": false,
|
|
112
|
+
"download": true,
|
|
113
|
+
"indexLabel": "",
|
|
114
|
+
"showDownloadLinkBelow": true,
|
|
115
|
+
"cellMinWidth": "0"
|
|
116
|
+
},
|
|
117
|
+
"tooltips": {
|
|
118
|
+
"appearanceType": "hover",
|
|
119
|
+
"linkLabel": "Learn More",
|
|
120
|
+
"capitalizeLabels": true,
|
|
121
|
+
"opacity": 90
|
|
122
|
+
},
|
|
123
|
+
"visual": {
|
|
124
|
+
"minBubbleSize": 1,
|
|
125
|
+
"maxBubbleSize": 20,
|
|
126
|
+
"extraBubbleBorder": false,
|
|
127
|
+
"cityStyle": "circle",
|
|
128
|
+
"cityStyleLabel": "",
|
|
129
|
+
"showBubbleZeros": false,
|
|
130
|
+
"additionalCityStyles": [],
|
|
131
|
+
"geoCodeCircleSize": 8
|
|
132
|
+
},
|
|
133
|
+
"mapPosition": {
|
|
134
|
+
"coordinates": [
|
|
135
|
+
0,
|
|
136
|
+
30
|
|
137
|
+
],
|
|
138
|
+
"zoom": 1
|
|
139
|
+
},
|
|
140
|
+
"map": {
|
|
141
|
+
"layers": [],
|
|
142
|
+
"patterns": []
|
|
143
|
+
},
|
|
144
|
+
"filterBehavior": "Filter Change",
|
|
145
|
+
"dataTable": {
|
|
146
|
+
"title": "Data Table",
|
|
147
|
+
"forceDisplay": true,
|
|
148
|
+
"caption": "Lorem Ipsum - Text added to Data Table Caption",
|
|
149
|
+
"limitHeight": true,
|
|
150
|
+
"height": "100"
|
|
151
|
+
},
|
|
152
|
+
"orientation": null,
|
|
153
|
+
"visualizationSubType": null,
|
|
154
|
+
"validated": "4.24.3",
|
|
155
|
+
"version": "4.24.12",
|
|
156
|
+
"data": [
|
|
157
|
+
{
|
|
158
|
+
"state": "New Mexico",
|
|
159
|
+
"stratification": "Total",
|
|
160
|
+
"value": 80.2
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"state": "Pennsylvania",
|
|
164
|
+
"stratification": "Total",
|
|
165
|
+
"value": 29.8
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"state": "Alabama",
|
|
169
|
+
"stratification": "Total",
|
|
170
|
+
"value": 18.2
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"state": "Connecticut",
|
|
174
|
+
"stratification": "Total",
|
|
175
|
+
"value": 53.5
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"state": "Massachusetts",
|
|
179
|
+
"stratification": "Total",
|
|
180
|
+
"value": 36.6
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"state": "Rhode Island",
|
|
184
|
+
"stratification": "Total",
|
|
185
|
+
"value": 95.9
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"state": "Tennessee",
|
|
189
|
+
"stratification": "Total",
|
|
190
|
+
"value": 14.8
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"state": "Hawaii",
|
|
194
|
+
"stratification": "Total",
|
|
195
|
+
"value": 12.1
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"state": "Kentucky",
|
|
199
|
+
"stratification": "Total",
|
|
200
|
+
"value": 15.4
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"state": "Alaska",
|
|
204
|
+
"stratification": "Total",
|
|
205
|
+
"value": 20.8
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"state": "Michigan",
|
|
209
|
+
"stratification": "Total",
|
|
210
|
+
"value": 32.9
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"state": "North Dakota",
|
|
214
|
+
"stratification": "Total",
|
|
215
|
+
"value": 12
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"state": "Iowa",
|
|
219
|
+
"stratification": "Total",
|
|
220
|
+
"value": 8.8
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"state": "Nebraska",
|
|
224
|
+
"stratification": "Total",
|
|
225
|
+
"value": 14.7
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"state": "West Virginia",
|
|
229
|
+
"stratification": "Total",
|
|
230
|
+
"value": 20.4
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"state": "Ohio",
|
|
234
|
+
"stratification": "Total",
|
|
235
|
+
"value": 23
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"state": "Montana",
|
|
239
|
+
"stratification": "Total",
|
|
240
|
+
"value": 40.2
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"state": "Vermont",
|
|
244
|
+
"stratification": "Total",
|
|
245
|
+
"value": 11.1
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"state": "Oregon",
|
|
249
|
+
"stratification": "Total",
|
|
250
|
+
"value": 17.5
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"state": "Florida",
|
|
254
|
+
"stratification": "Total",
|
|
255
|
+
"value": 31.5
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"state": "California",
|
|
259
|
+
"stratification": "Total",
|
|
260
|
+
"value": 40.9
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"state": "Colorado",
|
|
264
|
+
"stratification": "Total",
|
|
265
|
+
"value": 35.1
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"state": "Arizona",
|
|
269
|
+
"stratification": "Total",
|
|
270
|
+
"value": 6.4
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"state": "Georgia",
|
|
274
|
+
"stratification": "Total",
|
|
275
|
+
"value": 32.6
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"state": "Virgin Islands",
|
|
279
|
+
"stratification": "Total",
|
|
280
|
+
"value": 0
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"state": "Puerto Rico",
|
|
284
|
+
"stratification": "Total",
|
|
285
|
+
"value": 0.8
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"state": "New Jersey",
|
|
289
|
+
"stratification": "Total",
|
|
290
|
+
"value": 28.4
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"state": "Wisconsin",
|
|
294
|
+
"stratification": "Total",
|
|
295
|
+
"value": 21.1
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"state": "Idaho",
|
|
299
|
+
"stratification": "Total",
|
|
300
|
+
"value": 9.8
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"state": "Missouri",
|
|
304
|
+
"stratification": "Total",
|
|
305
|
+
"value": 20.8
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"state": "Mississippi",
|
|
309
|
+
"stratification": "Total",
|
|
310
|
+
"value": 65.4
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"state": "New York",
|
|
314
|
+
"stratification": "Total",
|
|
315
|
+
"value": 35.1
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"state": "South Dakota",
|
|
319
|
+
"stratification": "Total",
|
|
320
|
+
"value": 4.6
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"state": "Nevada",
|
|
324
|
+
"stratification": "Total",
|
|
325
|
+
"value": 13.8
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"state": "Washington",
|
|
329
|
+
"stratification": "Total",
|
|
330
|
+
"value": 22.6
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"state": "Indiana",
|
|
334
|
+
"stratification": "Total",
|
|
335
|
+
"value": 32.1
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"state": "Oklahoma",
|
|
339
|
+
"stratification": "Total",
|
|
340
|
+
"value": 31.3
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"state": "Maine",
|
|
344
|
+
"stratification": "Total",
|
|
345
|
+
"value": 16.9
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"state": "Maryland",
|
|
349
|
+
"stratification": "Total",
|
|
350
|
+
"value": 23.5
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"state": "Arkansas",
|
|
354
|
+
"stratification": "Total",
|
|
355
|
+
"value": 31.9
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"state": "Wyoming",
|
|
359
|
+
"stratification": "Total",
|
|
360
|
+
"value": 2.3
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"state": "New Hampshire",
|
|
364
|
+
"stratification": "Total",
|
|
365
|
+
"value": 51.7
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"state": "Texas",
|
|
369
|
+
"stratification": "Total",
|
|
370
|
+
"value": 16.9
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"state": "Guam",
|
|
374
|
+
"stratification": "Total",
|
|
375
|
+
"value": 0
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"state": "Delaware",
|
|
379
|
+
"stratification": "Total",
|
|
380
|
+
"value": 83.4
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"state": "Utah",
|
|
384
|
+
"stratification": "Total",
|
|
385
|
+
"value": 10
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"state": "North Carolina",
|
|
389
|
+
"stratification": "Total",
|
|
390
|
+
"value": 35.7
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"state": "South Carolina",
|
|
394
|
+
"stratification": "Total",
|
|
395
|
+
"value": 47.5
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"state": "District of Columbia",
|
|
399
|
+
"stratification": "Total",
|
|
400
|
+
"value": 48.2
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"state": "Louisiana",
|
|
404
|
+
"stratification": "Total",
|
|
405
|
+
"value": 56.8
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"state": "Kansas",
|
|
409
|
+
"stratification": "Total",
|
|
410
|
+
"value": 52.9
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"state": "Illinois",
|
|
414
|
+
"stratification": "Total",
|
|
415
|
+
"value": 25.8
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"state": "Virginia",
|
|
419
|
+
"stratification": "Total",
|
|
420
|
+
"value": 13.8
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"state": "Minnesota",
|
|
424
|
+
"stratification": "Total",
|
|
425
|
+
"value": 22
|
|
426
|
+
}
|
|
427
|
+
]
|
|
428
|
+
}
|