@cdc/dashboard 4.26.1 → 4.26.3

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 (76) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cdcdashboard-8NmHlKRI.es.js +15 -0
  3. package/dist/cdcdashboard-BPoPzKPz.es.js +6 -0
  4. package/dist/{cdcdashboard-dgT_1dIT.es.js → cdcdashboard-DQ00cQCm.es.js} +1 -20
  5. package/dist/cdcdashboard-jiQQPkty.es.js +6 -0
  6. package/dist/cdcdashboard-vr9HZwRt.es.js +6 -0
  7. package/dist/cdcdashboard.js +80971 -83096
  8. package/examples/custom/css/respiratory.css +1 -1
  9. package/examples/data/data-with-metadata.json +18 -0
  10. package/examples/default.json +492 -132
  11. package/examples/nested-dropdown.json +6985 -0
  12. package/examples/private/abc.json +467 -0
  13. package/examples/private/dash.json +12696 -0
  14. package/examples/private/inline-markup.json +775 -0
  15. package/examples/private/npcr.json +1 -0
  16. package/examples/private/recent-update.json +1456 -0
  17. package/examples/private/test.json +125407 -0
  18. package/examples/private/timeline-data.json +4994 -0
  19. package/examples/private/timeline.json +1708 -0
  20. package/examples/private/toggle.json +10137 -0
  21. package/examples/test-api-filter-reset.json +8 -4
  22. package/examples/tp5-gauges.json +196 -0
  23. package/examples/tp5-test.json +266 -0
  24. package/index.html +1 -29
  25. package/package.json +38 -40
  26. package/src/CdcDashboard.tsx +2 -1
  27. package/src/CdcDashboardComponent.tsx +47 -30
  28. package/src/_stories/Dashboard.DataSetup.stories.tsx +8 -2
  29. package/src/_stories/Dashboard.Pages.stories.tsx +22 -0
  30. package/src/_stories/Dashboard.stories.tsx +4501 -80
  31. package/src/_stories/_mock/dashboard-line-chart-angles.json +1030 -0
  32. package/src/_stories/_mock/tab-simple-filter.json +153 -0
  33. package/src/_stories/_mock/tp5-test.json +267 -0
  34. package/src/components/DashboardFilters/DashboardFilters.tsx +19 -3
  35. package/src/components/DashboardFilters/DashboardFiltersEditor/DashboardFiltersEditor.tsx +10 -4
  36. package/src/components/DashboardFilters/DashboardFiltersEditor/components/APIModal.tsx +1 -1
  37. package/src/components/DashboardFilters/DashboardFiltersEditor/components/FilterEditor.tsx +6 -3
  38. package/src/components/DashboardFilters/DashboardFiltersEditor/components/NestedDropDownDashboard.tsx +13 -8
  39. package/src/components/DashboardFilters/DashboardFiltersWrapper.tsx +8 -8
  40. package/src/components/DashboardFilters/_stories/DashboardFilters.stories.tsx +1 -1
  41. package/src/components/DashboardFilters/dashboardfilter.styles.css +3 -3
  42. package/src/components/DataDesignerModal.tsx +2 -2
  43. package/src/components/Header/Header.tsx +27 -5
  44. package/src/components/Header/index.scss +1 -1
  45. package/src/components/MultiConfigTabs/multiconfigtabs.styles.css +6 -6
  46. package/src/components/Row.tsx +21 -0
  47. package/src/components/Toggle/toggle-style.css +7 -7
  48. package/src/components/VisualizationRow.tsx +42 -29
  49. package/src/components/VisualizationsPanel/VisualizationsPanel.tsx +1 -71
  50. package/src/components/VisualizationsPanel/visualizations-panel-styles.css +2 -2
  51. package/src/components/Widget/Widget.tsx +2 -2
  52. package/src/components/Widget/widget.styles.css +12 -12
  53. package/src/data/initial-state.js +1 -1
  54. package/src/helpers/addValuesToDashboardFilters.ts +17 -11
  55. package/src/helpers/addVisualization.ts +71 -0
  56. package/src/helpers/apiFilterHelpers.ts +28 -32
  57. package/src/helpers/formatConfigBeforeSave.ts +1 -1
  58. package/src/helpers/getVizConfig.ts +13 -3
  59. package/src/helpers/iconHash.tsx +45 -36
  60. package/src/helpers/processDataLegacy.ts +19 -14
  61. package/src/helpers/tests/addValuesToDashboardFilters.test.ts +141 -44
  62. package/src/helpers/tests/addVisualization.test.ts +52 -0
  63. package/src/helpers/tests/apiFilterHelpers.test.ts +523 -420
  64. package/src/helpers/tests/formatConfigBeforeSave.test.ts +81 -1
  65. package/src/scss/editor-panel.scss +1 -1
  66. package/src/scss/main.scss +169 -41
  67. package/src/store/dashboard.reducer.ts +1 -1
  68. package/src/test/CdcDashboard.test.jsx +2 -2
  69. package/src/test/CdcDashboardComponent.test.tsx +74 -0
  70. package/src/types/FilterStyles.ts +2 -1
  71. package/tests/fixtures/dashboard-config-with-metadata.json +89 -0
  72. package/vite.config.js +7 -1
  73. package/dist/cdcdashboard-BnB1QM5d.es.js +0 -361528
  74. package/dist/cdcdashboard-Ct2SB0vL.es.js +0 -231049
  75. package/dist/cdcdashboard-D6CG2-Hb.es.js +0 -39377
  76. package/dist/cdcdashboard-MXgURbdZ.es.js +0 -39194
@@ -61,7 +61,7 @@ div[data-config-url="/respiratory-viruses/modules/ed-visits-county-file.json"] .
61
61
  position: relative;
62
62
  }
63
63
 
64
- div[data-config-url="/respiratory-viruses/modules/ed-visits-county-file.json"] .dashboard-row:nth-child(4) .cove-component__content {
64
+ div[data-config-url="/respiratory-viruses/modules/ed-visits-county-file.json"] .dashboard-row:nth-child(4) .cove-visualization__body {
65
65
  padding-top: 0;
66
66
  border: 1px solid gray !important;
67
67
  border-top: none !important;
@@ -0,0 +1,18 @@
1
+ {
2
+ "lastUpdated": "January 15, 2026",
3
+ "source": "CDC NREVSS",
4
+ "data": [
5
+ { "Location": "Alaska", "Year": "2019", "Type": "Federal", "Amount": "1377" },
6
+ { "Location": "Alaska", "Year": "2019", "Type": "Local", "Amount": "1613" },
7
+ { "Location": "Alaska", "Year": "2019", "Type": "State", "Amount": "1495" },
8
+ { "Location": "Alaska", "Year": "2020", "Type": "Federal", "Amount": "1377" },
9
+ { "Location": "Alaska", "Year": "2020", "Type": "Local", "Amount": "1613" },
10
+ { "Location": "Alaska", "Year": "2020", "Type": "State", "Amount": "1495" },
11
+ { "Location": "Alabama", "Year": "2019", "Type": "Federal", "Amount": "1375" },
12
+ { "Location": "Alabama", "Year": "2019", "Type": "Local", "Amount": "1611" },
13
+ { "Location": "Alabama", "Year": "2019", "Type": "State", "Amount": "1493" },
14
+ { "Location": "Alabama", "Year": "2020", "Type": "Federal", "Amount": "1375" },
15
+ { "Location": "Alabama", "Year": "2020", "Type": "Local", "Amount": "1611" },
16
+ { "Location": "Alabama", "Year": "2020", "Type": "State", "Amount": "1493" }
17
+ ]
18
+ }
@@ -1,162 +1,522 @@
1
1
  {
2
- "type": "dashboard",
3
- "data": [
4
- {
5
- "name": "Jupiter",
6
- "Radius": "10.97",
7
- "Diameter": "22",
8
- "distance": "0"
9
- },
10
- {
11
- "name": "Saturn",
12
- "Radius": "9.14",
13
- "Diameter": "18",
14
- "distance": "0"
15
- },
16
- {
17
- "name": "Uranus",
18
- "Radius": "3.98",
19
- "Diameter": "8",
20
- "distance": "0"
21
- },
22
- {
23
- "name": "Neptune",
24
- "Radius": "3.86",
25
- "Diameter": "7",
26
- "distance": "0"
27
- },
28
- {
29
- "name": "Earth",
30
- "Radius": "1",
31
- "Diameter": "2",
32
- "distance": "0"
33
- },
34
- {
35
- "name": "Venus",
36
- "Radius": "0.950",
37
- "Diameter": "2",
38
- "distance": "0"
39
- },
40
- {
41
- "name": "Mars",
42
- "Radius": "0.532",
43
- "Diameter": "1",
44
- "distance": "0"
45
- },
46
- {
47
- "name": "Mercury",
48
- "Radius": "0.383",
49
- "Diameter": "0.7",
50
- "distance": "0"
51
- },
52
- {
53
- "name": "Pluto",
54
- "Radius": "0.181",
55
- "Diameter": "0.3",
56
- "distance": "0"
57
- }
58
- ],
59
2
  "dashboard": {
60
- "filters": [
3
+ "theme": "theme-blue",
4
+ "title": "Amount Filtered by Location and Type ",
5
+ "sharedFilters": [
6
+ {
7
+ "values": ["Alabama", "Alaska", "American Samoa", "Arizona", "Arkansas"],
8
+ "columnName": "Location",
9
+ "showDropdown": true,
10
+ "usedBy": ["data-bite1628875468150", "chart1628875631849", "data-bite1628876561387", "data-bite1628877031319"],
11
+ "tier": 1,
12
+ "type": "datafilter",
13
+ "order": "cust",
14
+ "orderedValues": ["Alabama", "Alaska", "American Samoa", "Arizona", "Arkansas"]
15
+ },
61
16
  {
62
- "label": "Filter 1",
63
- "columnName": "filter1"
17
+ "values": ["Federal", "Local", "State"],
18
+ "columnName": "Type",
19
+ "showDropdown": true,
20
+ "usedBy": ["data-bite1628875468150", "chart1628875631849", "data-bite1628876561387", "data-bite1628877031319"],
21
+ "tier": 1
64
22
  }
65
23
  ]
66
24
  },
67
25
  "rows": [
68
- [{ "width": 12, "widget": "chart1" }, {}, {}],
69
- [{ "width": 12, "widget": "map1" }, {}, {}]
70
- ],
71
- "visualizations": {
72
- "chart1": {
73
- "uid": "chart1",
74
- "type": "chart",
75
- "title": "Chart Example",
76
- "visualizationType": "Pie",
77
- "palette": "qualitative-soft",
78
- "filters": [
26
+ {
27
+ "columns": [
79
28
  {
80
- "label": "Filter 2",
81
- "columnName": "filter2"
29
+ "width": 12,
30
+ "widget": "legacySharedFilters"
82
31
  }
83
- ],
84
- "aspectRatio": 1,
32
+ ]
33
+ },
34
+ {
35
+ "columns": [
36
+ {
37
+ "width": 6,
38
+ "widget": "data-bite1628875468150"
39
+ },
40
+ {
41
+ "width": 6,
42
+ "widget": "chart1628875631849"
43
+ },
44
+ {
45
+ "width": null
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "columns": [
51
+ {
52
+ "width": 6,
53
+ "widget": "data-bite1628877031319"
54
+ },
55
+ {
56
+ "width": 6,
57
+ "widget": "data-bite1628876561387"
58
+ },
59
+ {
60
+ "width": null
61
+ }
62
+ ]
63
+ }
64
+ ],
65
+ "visualizations": {
66
+ "data-bite1628875468150": {
67
+ "type": "data-bite",
68
+ "dataBite": "",
69
+ "dataFunction": "Mean (Average)",
70
+ "dataColumn": "Amount",
71
+ "bitePosition": "Left",
72
+ "biteFontSize": 24,
73
+ "fontSize": "medium",
74
+ "biteBody": "<span style=\"font-size: 20px;\">Average Amount 2019-2021</span> <br>Reflects the average of the dashboard level filter selections within the timeframe available in the data. In this case 2019-2021. \n This number is calculated within the Data Bite module.\n",
75
+ "imageData": {
76
+ "display": "none",
77
+ "url": "",
78
+ "alt": "",
79
+ "options": []
80
+ },
85
81
  "dataFormat": {
86
- "roundTo": 1,
87
- "commas": false,
82
+ "roundToPlace": 0,
83
+ "commas": true,
88
84
  "prefix": "",
89
85
  "suffix": ""
90
86
  },
87
+ "biteStyle": "graphic",
88
+ "filters": [],
89
+ "subtext": "Citation for Source ",
90
+ "title": "",
91
+ "theme": "theme-orange",
92
+ "shadow": true,
93
+ "visual": {
94
+ "border": false,
95
+ "accent": false,
96
+ "background": false,
97
+ "hideBackgroundColor": false,
98
+ "borderColorTheme": false
99
+ },
100
+ "general": {
101
+ "isCompactStyle": false
102
+ },
103
+ "imageUrl": "",
104
+ "prefix": "",
105
+ "suffix": "",
106
+ "uid": "data-bite1628875468150",
107
+ "visualizationType": "data-bite",
108
+ "dataKey": "dashboard_aggregate_example_no_add_fullname.csv",
109
+ "version": "4.25.1",
110
+ "migrations": {
111
+ "addColorMigration": true
112
+ }
113
+ },
114
+ "chart1628875631849": {
115
+ "type": "chart",
116
+ "title": "",
117
+ "theme": "theme-blue",
118
+ "fontSize": "large",
119
+ "height": "200",
120
+ "padding": {
121
+ "left": 5,
122
+ "right": 5
123
+ },
91
124
  "yAxis": {
92
- "label": "Insured Rate",
93
- "dataKey": "Insured Rate"
125
+ "size": "80",
126
+ "gridLines": false,
127
+ "label": "Amount",
128
+ "numTicks": "4"
94
129
  },
130
+ "barThickness": 0.35,
95
131
  "xAxis": {
96
- "label": "State",
97
- "dataKey": "state"
98
- },
99
- "legend": {
100
- "hide": false
132
+ "size": "0",
133
+ "tickRotation": 0,
134
+ "dataKey": "Year",
135
+ "label": ""
101
136
  },
102
137
  "table": {
103
138
  "label": "Data Table",
104
- "expanded": false
105
- }
106
- },
107
- "map1": {
108
- "uid": "map1",
109
- "type": "map",
110
- "defaultData": false,
111
- "general": {
112
- "title": "Map Example",
113
- "subtext": "",
114
- "territoriesLabel": "Territories",
115
- "type": "data",
116
- "geoType": "us",
117
- "headerColor": "theme-blue",
118
- "showSidebar": true,
119
- "showTitle": true,
120
- "geoBorderColor": "darkGray",
121
- "showDownloadButton": true,
122
- "expandDataTable": true
139
+ "expanded": false,
140
+ "show": false
123
141
  },
124
- "color": "pinkpurple",
125
- "columns": {
126
- "geo": {
127
- "name": "state",
128
- "label": "Location",
129
- "tooltip": false,
130
- "dataTable": true
131
- },
132
- "primary": {
133
- "name": "Insured Rate",
134
- "label": "Data Label",
135
- "prefix": "",
136
- "suffix": "%",
137
- "dataTable": true,
138
- "tooltip": true
139
- },
140
- "navigate": {
141
- "name": "link",
142
- "tooltip": false,
143
- "dataTable": false
142
+ "legend": {
143
+ "behavior": "isolate",
144
+ "position": "right",
145
+ "hide": true
146
+ },
147
+ "palette": "qualitative-bold",
148
+ "labels": true,
149
+ "dataFormat": {},
150
+ "confidenceKeys": {},
151
+ "uid": "chart1628875631849",
152
+ "visualizationType": "Bar",
153
+ "series": [
154
+ {
155
+ "dataKey": "Amount",
156
+ "type": "Bar"
144
157
  }
158
+ ],
159
+ "dataKey": "dashboard_aggregate_example_no_add_fullname.csv"
160
+ },
161
+ "data-bite1628876561387": {
162
+ "type": "data-bite",
163
+ "dataBite": "",
164
+ "dataFunction": "Max",
165
+ "dataColumn": "Amount",
166
+ "bitePosition": "Right",
167
+ "biteFontSize": "58",
168
+ "fontSize": "medium",
169
+ "imageUrl": "",
170
+ "biteBody": "<span style=\"font-size: 24px;\"> Peak Amount</span> <br>Reflects the maximum point of data within the dashboard level filter selections within the timeframe set in the data. In this case 2019-2021. \nThis number is calculated within the Data Bite module.\n",
171
+ "prefix": "",
172
+ "suffix": "",
173
+ "dataFormat": {
174
+ "roundToPlace": 0,
175
+ "commas": true,
176
+ "prefix": "",
177
+ "suffix": ""
145
178
  },
146
- "legend": {
147
- "numberOfItems": 3,
148
- "position": "side",
149
- "title": "Legend Title",
150
- "description": "Legend Text",
151
- "type": "equalnumber",
152
- "specialClasses": ["N/A"]
179
+ "biteStyle": "title",
180
+ "filters": [],
181
+ "subtext": "Source",
182
+ "title": "",
183
+ "theme": "theme-blue",
184
+ "shadow": true,
185
+ "uid": "data-bite1628876561387",
186
+ "visualizationType": "data-bite",
187
+ "dataKey": "dashboard_aggregate_example_no_add_fullname.csv"
188
+ },
189
+ "data-bite1628877031319": {
190
+ "type": "data-bite",
191
+ "dataBite": "",
192
+ "dataFunction": "Sum",
193
+ "dataColumn": "Amount",
194
+ "bitePosition": "Right",
195
+ "biteFontSize": "58",
196
+ "fontSize": "medium",
197
+ "imageUrl": "",
198
+ "biteBody": "<span style=\"font-size: 24px;\">State Total</span> <br>Reflects the Sum total of the dashboard level filter selections within the timeframe set in the data. In this case 2019-2021. \n This number is calculated within the Data Bite module.\n",
199
+ "prefix": "",
200
+ "suffix": "",
201
+ "dataFormat": {
202
+ "roundToPlace": 0,
203
+ "commas": true,
204
+ "prefix": "",
205
+ "suffix": ""
153
206
  },
207
+ "biteStyle": "title",
154
208
  "filters": [
155
209
  {
156
- "label": "Filter 2",
157
- "columnName": "filter2"
210
+ "id": 1738001923264
211
+ }
212
+ ],
213
+ "subtext": "Source ",
214
+ "title": "",
215
+ "theme": "theme-amber",
216
+ "shadow": true,
217
+ "uid": "data-bite1628877031319",
218
+ "visualizationType": "data-bite",
219
+ "dataKey": "dashboard_aggregate_example_no_add_fullname.csv"
220
+ },
221
+ "legacySharedFilters": {
222
+ "type": "dashboardFilters",
223
+ "visualizationType": "dashboardFilters",
224
+ "sharedFilterIndexes": [0, 1],
225
+ "filterBehavior": "Filter Change",
226
+ "uid": "legacySharedFilters"
227
+ }
228
+ },
229
+ "table": {
230
+ "label": "Data Table",
231
+ "show": true
232
+ },
233
+ "data": [],
234
+ "dataFileName": "",
235
+ "dataFileSourceType": "",
236
+ "type": "dashboard",
237
+ "uuid": 1628875999137,
238
+ "runtime": {},
239
+ "datasets": {
240
+ "dashboard_aggregate_example_no_add_fullname.csv": {
241
+ "data": [
242
+ {
243
+ "Location": "Alaska",
244
+ "Year": "2019",
245
+ "Type": "Federal",
246
+ "Amount": "1377"
247
+ },
248
+ {
249
+ "Location": "Alaska",
250
+ "Year": "2019",
251
+ "Type": "Local",
252
+ "Amount": "1613"
253
+ },
254
+ {
255
+ "Location": "Alaska",
256
+ "Year": "2019",
257
+ "Type": "State",
258
+ "Amount": "1495"
259
+ },
260
+ {
261
+ "Location": "Alaska",
262
+ "Year": "2020",
263
+ "Type": "Federal",
264
+ "Amount": "1377"
265
+ },
266
+ {
267
+ "Location": "Alaska",
268
+ "Year": "2020",
269
+ "Type": "Local",
270
+ "Amount": "1613"
271
+ },
272
+ {
273
+ "Location": "Alaska",
274
+ "Year": "2020",
275
+ "Type": "State",
276
+ "Amount": "1495"
277
+ },
278
+ {
279
+ "Location": "Alaska",
280
+ "Year": "2021",
281
+ "Type": "Federal",
282
+ "Amount": "1436"
283
+ },
284
+ {
285
+ "Location": "Alaska",
286
+ "Year": "2021",
287
+ "Type": "Local",
288
+ "Amount": "1672"
289
+ },
290
+ {
291
+ "Location": "Alaska",
292
+ "Year": "2021",
293
+ "Type": "State",
294
+ "Amount": "1554"
295
+ },
296
+ {
297
+ "Location": "Alabama",
298
+ "Year": "2019",
299
+ "Type": "Federal",
300
+ "Amount": "1375"
301
+ },
302
+ {
303
+ "Location": "Alabama",
304
+ "Year": "2019",
305
+ "Type": "Local",
306
+ "Amount": "1611"
307
+ },
308
+ {
309
+ "Location": "Alabama",
310
+ "Year": "2019",
311
+ "Type": "State",
312
+ "Amount": "1493"
313
+ },
314
+ {
315
+ "Location": "Alabama",
316
+ "Year": "2020",
317
+ "Type": "Federal",
318
+ "Amount": "1375"
319
+ },
320
+ {
321
+ "Location": "Alabama",
322
+ "Year": "2020",
323
+ "Type": "Local",
324
+ "Amount": "1611"
325
+ },
326
+ {
327
+ "Location": "Alabama",
328
+ "Year": "2020",
329
+ "Type": "State",
330
+ "Amount": "1493"
331
+ },
332
+ {
333
+ "Location": "Alabama",
334
+ "Year": "2021",
335
+ "Type": "Federal",
336
+ "Amount": "1434"
337
+ },
338
+ {
339
+ "Location": "Alabama",
340
+ "Year": "2021",
341
+ "Type": "Local",
342
+ "Amount": "1670"
343
+ },
344
+ {
345
+ "Location": "Alabama",
346
+ "Year": "2021",
347
+ "Type": "State",
348
+ "Amount": "1552"
349
+ },
350
+ {
351
+ "Location": "Arkansas",
352
+ "Year": "2019",
353
+ "Type": "Federal",
354
+ "Amount": "1398"
355
+ },
356
+ {
357
+ "Location": "Arkansas",
358
+ "Year": "2019",
359
+ "Type": "Local",
360
+ "Amount": "1634"
361
+ },
362
+ {
363
+ "Location": "Arkansas",
364
+ "Year": "2019",
365
+ "Type": "State",
366
+ "Amount": "1516"
367
+ },
368
+ {
369
+ "Location": "Arkansas",
370
+ "Year": "2020",
371
+ "Type": "Federal",
372
+ "Amount": "1398"
373
+ },
374
+ {
375
+ "Location": "Arkansas",
376
+ "Year": "2020",
377
+ "Type": "Local",
378
+ "Amount": "1634"
379
+ },
380
+ {
381
+ "Location": "Arkansas",
382
+ "Year": "2020",
383
+ "Type": "State",
384
+ "Amount": "1516"
385
+ },
386
+ {
387
+ "Location": "Arkansas",
388
+ "Year": "2021",
389
+ "Type": "Federal",
390
+ "Amount": "1457"
391
+ },
392
+ {
393
+ "Location": "Arkansas",
394
+ "Year": "2021",
395
+ "Type": "Local",
396
+ "Amount": "1693"
397
+ },
398
+ {
399
+ "Location": "Arkansas",
400
+ "Year": "2021",
401
+ "Type": "State",
402
+ "Amount": "1575"
403
+ },
404
+ {
405
+ "Location": "American Samoa",
406
+ "Year": "2019",
407
+ "Type": "Federal",
408
+ "Amount": "1388"
409
+ },
410
+ {
411
+ "Location": "American Samoa",
412
+ "Year": "2019",
413
+ "Type": "Local",
414
+ "Amount": "1624"
415
+ },
416
+ {
417
+ "Location": "American Samoa",
418
+ "Year": "2019",
419
+ "Type": "State",
420
+ "Amount": "1506"
421
+ },
422
+ {
423
+ "Location": "American Samoa",
424
+ "Year": "2020",
425
+ "Type": "Federal",
426
+ "Amount": "1388"
427
+ },
428
+ {
429
+ "Location": "American Samoa",
430
+ "Year": "2020",
431
+ "Type": "Local",
432
+ "Amount": "1624"
433
+ },
434
+ {
435
+ "Location": "American Samoa",
436
+ "Year": "2020",
437
+ "Type": "State",
438
+ "Amount": "1506"
439
+ },
440
+ {
441
+ "Location": "American Samoa",
442
+ "Year": "2021",
443
+ "Type": "Federal",
444
+ "Amount": "1447"
445
+ },
446
+ {
447
+ "Location": "American Samoa",
448
+ "Year": "2021",
449
+ "Type": "Local",
450
+ "Amount": "1683"
451
+ },
452
+ {
453
+ "Location": "American Samoa",
454
+ "Year": "2021",
455
+ "Type": "State",
456
+ "Amount": "1565"
457
+ },
458
+ {
459
+ "Location": "Arizona",
460
+ "Year": "2019",
461
+ "Type": "Federal",
462
+ "Amount": "1401"
463
+ },
464
+ {
465
+ "Location": "Arizona",
466
+ "Year": "2019",
467
+ "Type": "Local",
468
+ "Amount": "1637"
469
+ },
470
+ {
471
+ "Location": "Arizona",
472
+ "Year": "2019",
473
+ "Type": "State",
474
+ "Amount": "1519"
475
+ },
476
+ {
477
+ "Location": "Arizona",
478
+ "Year": "2020",
479
+ "Type": "Federal",
480
+ "Amount": "1401"
481
+ },
482
+ {
483
+ "Location": "Arizona",
484
+ "Year": "2020",
485
+ "Type": "Local",
486
+ "Amount": "1637"
487
+ },
488
+ {
489
+ "Location": "Arizona",
490
+ "Year": "2020",
491
+ "Type": "State",
492
+ "Amount": "1519"
493
+ },
494
+ {
495
+ "Location": "Arizona",
496
+ "Year": "2021",
497
+ "Type": "Federal",
498
+ "Amount": "1460"
499
+ },
500
+ {
501
+ "Location": "Arizona",
502
+ "Year": "2021",
503
+ "Type": "Local",
504
+ "Amount": "1696"
505
+ },
506
+ {
507
+ "Location": "Arizona",
508
+ "Year": "2021",
509
+ "Type": "State",
510
+ "Amount": "1578"
158
511
  }
159
512
  ]
160
513
  }
514
+ },
515
+ "dataUrl": "",
516
+ "dataDescription": {},
517
+ "formattedData": [],
518
+ "version": "4.25.1",
519
+ "migrations": {
520
+ "addColorMigration": true
161
521
  }
162
522
  }